From c1376e08f843cf1f33d38f1db63037e452b2a900 Mon Sep 17 00:00:00 2001
From: Adri
Date: Wed, 27 Jul 2022 22:32:40 +0200
Subject: [PATCH] Adds a lavaland and a space ruin, adds a "nest" structure
(#18508)
* Adds goliath/grub lavaland ruin
* Adds syndicate drug lab ruin
* Fixes nest.dm issues
* Fixes APC init
Co-authored-by: AffectedArc07 <25063394+AffectedArc07@users.noreply.github.com>
* Satisfies linter
* Addresses AA review
* Addresses Farie and AA reviews
* Missed a \the
* Adds comments
* Made the warning message stand out more
* Removes redundant initial desc
* Moves APC vars out of init
Co-authored-by: AffectedArc07 <25063394+AffectedArc07@users.noreply.github.com>
* Replaces plating with airless plating
Co-authored-by: AffectedArc07 <25063394+AffectedArc07@users.noreply.github.com>
---
.../lavaland_surface_monster_nest.dmm | 189 ++
.../SpaceRuins/syndicatedruglab.dmm | 1579 +++++++++++++++++
code/datums/ruins/lavaland.dm | 8 +
code/datums/ruins/space.dm | 8 +
code/game/area/areas/depot-areas.dm | 1 +
code/game/area/areas/ruins/space.dm | 8 +
code/game/machinery/vending.dm | 26 +
code/game/objects/items/devices/flashlight.dm | 3 +
code/game/objects/structures/nest.dm | 71 +
.../kitchen_machinery/smartfridge.dm | 21 +
code/modules/paperwork/paper.dm | 8 +
code/modules/power/apc.dm | 10 +
config/example/config.toml | 2 +
paradise.dme | 1 +
14 files changed, 1935 insertions(+)
create mode 100644 _maps/map_files/RandomRuins/LavaRuins/lavaland_surface_monster_nest.dmm
create mode 100644 _maps/map_files/RandomRuins/SpaceRuins/syndicatedruglab.dmm
create mode 100644 code/game/objects/structures/nest.dm
diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_monster_nest.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_monster_nest.dmm
new file mode 100644
index 00000000000..d1b00e4775a
--- /dev/null
+++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_monster_nest.dmm
@@ -0,0 +1,189 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"a" = (
+/turf/simulated/mineral/random/volcanic,
+/area/template_noop)
+"d" = (
+/obj/effect/decal/remains/human,
+/obj/effect/mapping_helpers/no_lava,
+/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
+/area/lavaland/surface/outdoors)
+"m" = (
+/turf/simulated/floor/plating/lava/smooth/lava_land_surface,
+/area/lavaland/surface/outdoors)
+"r" = (
+/obj/effect/mapping_helpers/no_lava,
+/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
+/area/lavaland/surface/outdoors)
+"u" = (
+/obj/item/stack/sheet/bone,
+/obj/effect/mapping_helpers/no_lava,
+/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
+/area/lavaland/surface/outdoors)
+"w" = (
+/obj/effect/mapping_helpers/no_lava,
+/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
+/area/template_noop)
+"E" = (
+/obj/structure/flora/ash/cacti,
+/obj/effect/mapping_helpers/no_lava,
+/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
+/area/lavaland/surface/outdoors)
+"V" = (
+/obj/structure/flora/ash/leaf_shroom,
+/obj/effect/mapping_helpers/no_lava,
+/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
+/area/lavaland/surface/outdoors)
+"W" = (
+/obj/effect/baseturf_helper/lava_land/surface,
+/obj/effect/mapping_helpers/no_lava,
+/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
+/area/lavaland/surface/outdoors)
+"X" = (
+/turf/simulated/mineral/random/volcanic,
+/area/lavaland/surface/outdoors)
+"Z" = (
+/obj/structure/nest/lavaland,
+/obj/effect/mapping_helpers/no_lava,
+/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
+/area/lavaland/surface/outdoors)
+
+(1,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+w
+a
+a
+a
+a
+"}
+(2,1,1) = {"
+a
+a
+X
+X
+X
+X
+X
+r
+X
+X
+X
+a
+"}
+(3,1,1) = {"
+a
+a
+X
+X
+r
+u
+r
+r
+X
+X
+X
+a
+"}
+(4,1,1) = {"
+a
+a
+X
+X
+r
+r
+Z
+r
+V
+r
+X
+a
+"}
+(5,1,1) = {"
+a
+a
+X
+E
+r
+X
+W
+d
+r
+r
+r
+w
+"}
+(6,1,1) = {"
+a
+a
+X
+Z
+u
+X
+r
+m
+m
+r
+X
+a
+"}
+(7,1,1) = {"
+a
+a
+X
+X
+X
+X
+r
+m
+m
+Z
+X
+a
+"}
+(8,1,1) = {"
+a
+a
+X
+X
+X
+X
+r
+r
+r
+E
+X
+a
+"}
+(9,1,1) = {"
+a
+a
+X
+X
+X
+X
+X
+X
+X
+X
+X
+a
+"}
+(10,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
diff --git a/_maps/map_files/RandomRuins/SpaceRuins/syndicatedruglab.dmm b/_maps/map_files/RandomRuins/SpaceRuins/syndicatedruglab.dmm
new file mode 100644
index 00000000000..3654ce55791
--- /dev/null
+++ b/_maps/map_files/RandomRuins/SpaceRuins/syndicatedruglab.dmm
@@ -0,0 +1,1579 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"cq" = (
+/obj/structure/table,
+/turf/simulated/floor/pod/dark,
+/area/ruin/space/syndicate_druglab)
+"dL" = (
+/obj/structure/reagent_dispensers/watertank/high,
+/turf/simulated/floor/pod/dark,
+/area/ruin/space/syndicate_druglab)
+"en" = (
+/obj/machinery/vending/hydronutrients/syndicate_druglab,
+/turf/simulated/floor/pod/dark,
+/area/ruin/space/syndicate_druglab)
+"fb" = (
+/obj/machinery/power/port_gen/pacman,
+/turf/simulated/floor/plating,
+/area/ruin/space/syndicate_druglab)
+"fW" = (
+/obj/structure/fans/tiny,
+/obj/machinery/door/poddoor{
+ density = 0;
+ icon_state = "open";
+ id_tag = "syndicatedruglab";
+ name = "Syndicate Drug Lab";
+ opacity = 0
+ },
+/turf/simulated/floor/plating,
+/area/ruin/space/syndicate_druglab)
+"gI" = (
+/turf/simulated/floor/plating,
+/area/ruin/space/syndicate_druglab)
+"gU" = (
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/simulated/floor/pod/dark,
+/area/ruin/space/syndicate_druglab)
+"hJ" = (
+/obj/structure/closet/crate/secure/plasma,
+/obj/item/stack/sheet/mineral/plasma{
+ amount = 30
+ },
+/turf/simulated/floor/plating,
+/area/ruin/space/syndicate_druglab)
+"ig" = (
+/obj/structure/bed,
+/obj/item/bedsheet/syndie,
+/obj/item/clothing/ears/headphones,
+/turf/simulated/floor/carpet/black,
+/area/ruin/space/syndicate_druglab)
+"jE" = (
+/obj/item/reagent_containers/glass/beaker/large,
+/turf/simulated/floor/pod/dark,
+/area/ruin/space/syndicate_druglab)
+"kG" = (
+/obj/machinery/door/airlock/survival_pod/glass{
+ name = "Hydroponics"
+ },
+/turf/simulated/floor/pod/dark,
+/area/ruin/space/syndicate_druglab)
+"mA" = (
+/obj/machinery/power/apc/syndicate/off{
+ pixel_x = 24;
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/ruin/space/syndicate_druglab)
+"mO" = (
+/obj/machinery/floodlight,
+/turf/simulated/floor/pod/dark,
+/area/ruin/space/syndicate_druglab)
+"nc" = (
+/obj/structure/table,
+/obj/item/reagent_containers/glass/beaker/large{
+ pixel_x = -7;
+ pixel_y = 4
+ },
+/obj/machinery/reagentgrinder,
+/turf/simulated/floor/pod/dark,
+/area/ruin/space/syndicate_druglab)
+"nj" = (
+/obj/item/paper/crumpled,
+/turf/simulated/floor/plating/asteroid/airless,
+/area/ruin/space/syndicate_druglab/asteroid)
+"nP" = (
+/obj/machinery/hydroponics/constructable,
+/turf/simulated/floor/pod/dark,
+/area/ruin/space/syndicate_druglab)
+"oi" = (
+/obj/item/trash/syndi_cakes,
+/obj/item/trash/plate,
+/turf/simulated/floor/plating/asteroid/airless,
+/area/ruin/space/syndicate_druglab/asteroid)
+"os" = (
+/turf/simulated/floor/pod/dark,
+/area/ruin/space/syndicate_druglab)
+"pI" = (
+/obj/structure/table/wood,
+/obj/item/circuitboard/chem_master{
+ pixel_y = 9;
+ pixel_x = 4
+ },
+/obj/item/paper/syndicate_druglab,
+/obj/item/pen,
+/obj/item/flashlight/lamp/green/off{
+ pixel_y = 12;
+ pixel_x = -6
+ },
+/turf/simulated/floor/carpet/black,
+/area/ruin/space/syndicate_druglab)
+"qa" = (
+/obj/item/stock_parts/matter_bin/adv,
+/turf/simulated/floor/pod/dark,
+/area/ruin/space/syndicate_druglab)
+"qf" = (
+/obj/item/trash/waffles,
+/obj/item/trash/tray,
+/obj/item/trash/syndi_cakes,
+/obj/item/trash/plate,
+/turf/simulated/floor/plating/asteroid/airless,
+/area/ruin/space/syndicate_druglab/asteroid)
+"qD" = (
+/obj/item/circuitboard/biogenerator,
+/obj/item/stock_parts/manipulator/nano,
+/turf/simulated/floor/pod/dark,
+/area/ruin/space/syndicate_druglab)
+"rn" = (
+/obj/effect/decal/warning_stripes/east,
+/obj/structure/disposalpipe/segment,
+/obj/structure/closet/walllocker/emerglocker/west,
+/turf/simulated/floor/plating,
+/area/ruin/space/syndicate_druglab)
+"rJ" = (
+/obj/machinery/door/airlock/survival_pod/glass{
+ name = "Bedroom"
+ },
+/turf/simulated/floor/pod/dark,
+/area/ruin/space/syndicate_druglab)
+"sb" = (
+/turf/template_noop,
+/area/ruin/space/syndicate_druglab/asteroid)
+"sD" = (
+/obj/structure/closet/crate/hydroponics,
+/obj/item/queen_bee/bought,
+/obj/item/clothing/suit/hooded/bee_costume,
+/obj/item/clothing/mask/face/bee,
+/obj/item/wrench,
+/obj/item/honey_frame,
+/obj/item/honey_frame,
+/obj/item/honey_frame,
+/turf/simulated/floor/pod/dark,
+/area/ruin/space/syndicate_druglab)
+"te" = (
+/obj/effect/decal/warning_stripes/east,
+/obj/structure/disposalpipe/segment,
+/turf/simulated/floor/plating,
+/area/ruin/space/syndicate_druglab)
+"tf" = (
+/obj/machinery/disposal,
+/obj/structure/disposalpipe/trunk{
+ dir = 4
+ },
+/turf/simulated/floor/pod/dark,
+/area/ruin/space/syndicate_druglab)
+"tL" = (
+/obj/item/reagent_containers/glass/bucket,
+/turf/simulated/floor/pod/dark,
+/area/ruin/space/syndicate_druglab)
+"ue" = (
+/obj/structure/nest/carppuppy,
+/turf/simulated/floor/plating/asteroid/airless,
+/area/ruin/space/syndicate_druglab/asteroid)
+"uC" = (
+/obj/structure/beebox/unwrenched,
+/turf/simulated/floor/pod/dark,
+/area/ruin/space/syndicate_druglab)
+"vz" = (
+/obj/effect/decal/warning_stripes/northeastcorner,
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/simulated/floor/plating,
+/area/ruin/space/syndicate_druglab)
+"vZ" = (
+/turf/simulated/mineral,
+/area/ruin/space/syndicate_druglab/asteroid)
+"wh" = (
+/turf/simulated/floor/carpet/black,
+/area/ruin/space/syndicate_druglab)
+"wD" = (
+/obj/structure/disposalpipe/segment,
+/obj/machinery/light_switch{
+ dir = 8;
+ name = "east bump";
+ pixel_x = 24
+ },
+/turf/simulated/floor/plating,
+/area/ruin/space/syndicate_druglab)
+"xF" = (
+/turf/simulated/floor/plating/asteroid/airless,
+/area/ruin/space/syndicate_druglab/asteroid)
+"xO" = (
+/obj/machinery/smartfridge/food/syndicate_druglab,
+/turf/simulated/floor/pod/dark,
+/area/ruin/space/syndicate_druglab)
+"ym" = (
+/obj/effect/decal/warning_stripes/east,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/simulated/floor/plating,
+/area/ruin/space/syndicate_druglab)
+"yI" = (
+/turf/simulated/mineral/random/high_chance,
+/area/ruin/space/syndicate_druglab/asteroid)
+"yV" = (
+/obj/machinery/constructable_frame/machine_frame,
+/turf/simulated/floor/pod/dark,
+/area/ruin/space/syndicate_druglab)
+"AE" = (
+/obj/structure/reagent_dispensers/fueltank,
+/turf/simulated/floor/plating,
+/area/ruin/space/syndicate_druglab)
+"AI" = (
+/obj/effect/decal/warning_stripes/southwestcorner,
+/obj/machinery/door_control{
+ id = "syndicatedruglab";
+ name = "Syndicate Drug Lab Hangar";
+ pixel_x = 24;
+ pixel_y = 4;
+ req_access_txt = null
+ },
+/turf/simulated/floor/plating,
+/area/ruin/space/syndicate_druglab)
+"BD" = (
+/obj/structure/table,
+/obj/machinery/kitchen_machine/microwave,
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/simulated/floor/pod/dark,
+/area/ruin/space/syndicate_druglab)
+"Dj" = (
+/obj/effect/decal/cleanable/blood/oil,
+/obj/effect/decal/remains/robot,
+/turf/simulated/floor/plating/airless,
+/area/ruin/space/syndicate_druglab/asteroid)
+"DG" = (
+/obj/structure/disposalpipe/trunk{
+ dir = 4
+ },
+/obj/structure/disposaloutlet,
+/turf/simulated/floor/plating,
+/area/ruin/space/syndicate_druglab)
+"Fq" = (
+/obj/structure/closet/cabinet,
+/obj/item/soap/syndie,
+/turf/simulated/floor/carpet/black,
+/area/ruin/space/syndicate_druglab)
+"Fx" = (
+/obj/effect/spawner/window/shuttle/survival_pod,
+/turf/simulated/floor/pod/dark,
+/area/ruin/space/syndicate_druglab)
+"Fz" = (
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/structure/closet/emcloset,
+/turf/simulated/floor/plating,
+/area/ruin/space/syndicate_druglab)
+"FE" = (
+/obj/structure/disposalpipe/segment,
+/obj/machinery/door/airlock/survival_pod{
+ name = "Syndicate Drug Lab"
+ },
+/turf/simulated/floor/plating,
+/area/ruin/space/syndicate_druglab)
+"Gm" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/ruin/space/syndicate_druglab)
+"Hj" = (
+/obj/machinery/hydroponics/constructable,
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/simulated/floor/pod/dark,
+/area/ruin/space/syndicate_druglab)
+"HP" = (
+/obj/item/paper/syndicate_druglab/delivery,
+/turf/simulated/floor/pod/dark,
+/area/ruin/space/syndicate_druglab)
+"HR" = (
+/obj/structure/chair{
+ dir = 1
+ },
+/turf/simulated/floor/pod/dark,
+/area/ruin/space/syndicate_druglab)
+"Im" = (
+/obj/machinery/constructable_frame/machine_frame,
+/obj/item/stock_parts/manipulator/nano,
+/turf/simulated/floor/pod/dark,
+/area/ruin/space/syndicate_druglab)
+"II" = (
+/obj/effect/decal/warning_stripes/south,
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/simulated/floor/plating,
+/area/ruin/space/syndicate_druglab)
+"JP" = (
+/obj/structure/table,
+/obj/item/reagent_containers/food/drinks/drinkingglass{
+ pixel_x = -5;
+ pixel_y = 7
+ },
+/obj/item/trash/plate,
+/turf/simulated/floor/pod/dark,
+/area/ruin/space/syndicate_druglab)
+"KI" = (
+/obj/effect/decal/warning_stripes/south,
+/turf/simulated/floor/plating,
+/area/ruin/space/syndicate_druglab)
+"LQ" = (
+/obj/effect/decal/warning_stripes/southeastcorner,
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/simulated/floor/plating,
+/area/ruin/space/syndicate_druglab)
+"Nr" = (
+/turf/simulated/wall/mineral/titanium/survival,
+/area/ruin/space/syndicate_druglab)
+"Ou" = (
+/obj/effect/decal/warning_stripes/northwestcorner,
+/turf/simulated/floor/plating,
+/area/ruin/space/syndicate_druglab)
+"Oy" = (
+/obj/effect/decal/warning_stripes/north,
+/turf/simulated/floor/plating,
+/area/ruin/space/syndicate_druglab)
+"Oz" = (
+/obj/effect/decal/warning_stripes/west,
+/obj/effect/decal/cleanable/blood/oil,
+/turf/simulated/floor/plating,
+/area/ruin/space/syndicate_druglab)
+"Pd" = (
+/obj/machinery/hydroponics/constructable,
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/simulated/floor/pod/dark,
+/area/ruin/space/syndicate_druglab)
+"Pl" = (
+/obj/structure/disposalpipe/segment,
+/turf/simulated/floor/plating,
+/area/ruin/space/syndicate_druglab)
+"QL" = (
+/obj/machinery/porta_turret/syndicate/assault_pod,
+/turf/simulated/floor/plating/airless,
+/area/ruin/space/syndicate_druglab/asteroid)
+"Rk" = (
+/obj/machinery/seed_extractor,
+/turf/simulated/floor/pod/dark,
+/area/ruin/space/syndicate_druglab)
+"RS" = (
+/turf/template_noop,
+/area/template_noop)
+"SG" = (
+/obj/structure/disposalpipe/segment,
+/obj/machinery/door/airlock/survival_pod{
+ name = "Syndicate Drug Lab"
+ },
+/turf/simulated/floor/pod/dark,
+/area/ruin/space/syndicate_druglab)
+"Tz" = (
+/obj/structure/chair/office/dark{
+ dir = 8
+ },
+/turf/simulated/floor/carpet/black,
+/area/ruin/space/syndicate_druglab)
+"TJ" = (
+/obj/effect/decal/warning_stripes/south,
+/obj/effect/decal/cleanable/blood/oil/streak,
+/turf/simulated/floor/plating,
+/area/ruin/space/syndicate_druglab)
+"Ue" = (
+/obj/machinery/vending/hydroseeds/syndicate_druglab,
+/turf/simulated/floor/pod/dark,
+/area/ruin/space/syndicate_druglab)
+"US" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/simulated/wall/mineral/titanium/survival,
+/area/ruin/space/syndicate_druglab)
+"VC" = (
+/obj/machinery/smartfridge,
+/turf/simulated/floor/pod/dark,
+/area/ruin/space/syndicate_druglab)
+"Wd" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/simulated/mineral,
+/area/ruin/space/syndicate_druglab)
+"Xz" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/ruin/space/syndicate_druglab)
+"Yw" = (
+/obj/effect/decal/warning_stripes/west,
+/turf/simulated/floor/plating,
+/area/ruin/space/syndicate_druglab)
+
+(1,1,1) = {"
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+"}
+(2,1,1) = {"
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+"}
+(3,1,1) = {"
+RS
+RS
+sb
+sb
+vZ
+vZ
+sb
+sb
+sb
+sb
+sb
+sb
+sb
+vZ
+sb
+sb
+vZ
+vZ
+vZ
+sb
+sb
+sb
+sb
+sb
+sb
+yI
+yI
+sb
+sb
+sb
+sb
+RS
+RS
+"}
+(4,1,1) = {"
+RS
+RS
+sb
+vZ
+vZ
+sb
+sb
+sb
+vZ
+sb
+sb
+vZ
+vZ
+vZ
+vZ
+vZ
+vZ
+vZ
+sb
+sb
+sb
+vZ
+vZ
+sb
+sb
+sb
+yI
+yI
+sb
+sb
+sb
+RS
+RS
+"}
+(5,1,1) = {"
+RS
+RS
+sb
+vZ
+vZ
+sb
+sb
+vZ
+sb
+sb
+sb
+xF
+xF
+xF
+xF
+vZ
+xF
+vZ
+vZ
+vZ
+vZ
+vZ
+vZ
+vZ
+sb
+sb
+sb
+sb
+sb
+sb
+sb
+RS
+RS
+"}
+(6,1,1) = {"
+RS
+RS
+sb
+sb
+sb
+sb
+sb
+sb
+sb
+xF
+xF
+xF
+vZ
+vZ
+xF
+xF
+xF
+xF
+xF
+vZ
+xF
+xF
+vZ
+vZ
+sb
+sb
+sb
+sb
+sb
+vZ
+vZ
+RS
+RS
+"}
+(7,1,1) = {"
+RS
+RS
+sb
+sb
+sb
+sb
+sb
+sb
+xF
+xF
+vZ
+vZ
+vZ
+xF
+xF
+xF
+xF
+vZ
+xF
+xF
+xF
+vZ
+vZ
+sb
+sb
+sb
+sb
+sb
+sb
+vZ
+vZ
+RS
+RS
+"}
+(8,1,1) = {"
+RS
+RS
+sb
+sb
+vZ
+xF
+vZ
+vZ
+vZ
+vZ
+vZ
+vZ
+vZ
+vZ
+xF
+QL
+xF
+vZ
+vZ
+vZ
+xF
+xF
+xF
+xF
+sb
+sb
+sb
+sb
+sb
+sb
+sb
+RS
+RS
+"}
+(9,1,1) = {"
+RS
+RS
+sb
+vZ
+vZ
+vZ
+vZ
+vZ
+vZ
+vZ
+vZ
+xF
+vZ
+vZ
+xF
+xF
+xF
+xF
+vZ
+vZ
+vZ
+vZ
+vZ
+vZ
+vZ
+vZ
+vZ
+sb
+sb
+sb
+sb
+RS
+RS
+"}
+(10,1,1) = {"
+RS
+RS
+sb
+vZ
+yI
+vZ
+vZ
+vZ
+vZ
+vZ
+xF
+xF
+xF
+vZ
+vZ
+vZ
+vZ
+vZ
+vZ
+vZ
+vZ
+vZ
+vZ
+vZ
+vZ
+yI
+vZ
+sb
+vZ
+sb
+sb
+RS
+RS
+"}
+(11,1,1) = {"
+RS
+RS
+sb
+sb
+yI
+yI
+vZ
+vZ
+xF
+Nr
+Nr
+Nr
+Nr
+Nr
+Nr
+Nr
+Nr
+Nr
+vZ
+vZ
+vZ
+vZ
+xF
+vZ
+vZ
+yI
+yI
+sb
+sb
+sb
+vZ
+RS
+RS
+"}
+(12,1,1) = {"
+RS
+RS
+vZ
+sb
+yI
+yI
+vZ
+vZ
+xF
+Nr
+uC
+sD
+nP
+Hj
+nP
+nP
+dL
+Nr
+vZ
+vZ
+vZ
+xF
+xF
+ue
+vZ
+vZ
+vZ
+sb
+sb
+sb
+sb
+RS
+RS
+"}
+(13,1,1) = {"
+RS
+RS
+sb
+sb
+vZ
+vZ
+vZ
+xF
+xF
+Nr
+nP
+HP
+os
+os
+os
+tL
+os
+Nr
+Nr
+vZ
+xF
+ue
+xF
+xF
+xF
+vZ
+vZ
+xF
+sb
+sb
+sb
+RS
+RS
+"}
+(14,1,1) = {"
+RS
+RS
+sb
+xF
+vZ
+vZ
+vZ
+xF
+xF
+Nr
+nP
+qD
+VC
+Im
+nc
+os
+os
+en
+Nr
+vZ
+xF
+DG
+qf
+nj
+oi
+xF
+xF
+xF
+xF
+sb
+sb
+RS
+RS
+"}
+(15,1,1) = {"
+RS
+RS
+vZ
+xF
+xF
+vZ
+vZ
+vZ
+vZ
+Nr
+nP
+os
+yV
+Rk
+cq
+os
+os
+Ue
+Nr
+vZ
+vZ
+Gm
+ue
+xF
+vZ
+vZ
+vZ
+xF
+xF
+xF
+sb
+RS
+RS
+"}
+(16,1,1) = {"
+RS
+RS
+vZ
+xF
+xF
+xF
+xF
+vZ
+vZ
+Nr
+nP
+qa
+tL
+os
+os
+jE
+tL
+Nr
+Nr
+vZ
+vZ
+Wd
+vZ
+vZ
+vZ
+vZ
+vZ
+vZ
+vZ
+xF
+vZ
+RS
+RS
+"}
+(17,1,1) = {"
+RS
+RS
+vZ
+xF
+xF
+QL
+xF
+vZ
+vZ
+Nr
+mO
+os
+nP
+Pd
+nP
+nP
+dL
+Nr
+vZ
+vZ
+vZ
+Wd
+vZ
+vZ
+vZ
+vZ
+vZ
+xF
+xF
+xF
+vZ
+RS
+RS
+"}
+(18,1,1) = {"
+RS
+RS
+vZ
+xF
+xF
+xF
+xF
+vZ
+Nr
+Nr
+Fx
+kG
+Fx
+Nr
+Nr
+Nr
+Nr
+Nr
+Nr
+Nr
+Nr
+US
+Nr
+vZ
+vZ
+xF
+xF
+xF
+vZ
+vZ
+vZ
+RS
+RS
+"}
+(19,1,1) = {"
+RS
+RS
+vZ
+xF
+vZ
+xF
+xF
+vZ
+Nr
+xO
+os
+os
+tf
+Nr
+Fz
+Nr
+gI
+LQ
+rn
+ym
+te
+vz
+Nr
+vZ
+xF
+xF
+xF
+xF
+xF
+vZ
+vZ
+RS
+RS
+"}
+(20,1,1) = {"
+RS
+RS
+sb
+xF
+vZ
+vZ
+vZ
+vZ
+Nr
+BD
+os
+os
+gU
+SG
+wD
+FE
+Pl
+II
+gI
+gI
+gI
+Oy
+Nr
+vZ
+xF
+QL
+xF
+xF
+vZ
+vZ
+vZ
+RS
+RS
+"}
+(21,1,1) = {"
+RS
+RS
+vZ
+xF
+xF
+xF
+vZ
+vZ
+Nr
+JP
+HR
+os
+os
+Nr
+Nr
+Nr
+gI
+TJ
+gI
+gI
+gI
+Oy
+Nr
+vZ
+xF
+xF
+xF
+xF
+xF
+yI
+sb
+RS
+RS
+"}
+(22,1,1) = {"
+RS
+RS
+vZ
+vZ
+xF
+xF
+vZ
+vZ
+Nr
+Nr
+Fx
+rJ
+Fx
+Nr
+AE
+gI
+gI
+KI
+gI
+gI
+gI
+Oy
+Nr
+vZ
+vZ
+xF
+xF
+xF
+xF
+yI
+sb
+RS
+RS
+"}
+(23,1,1) = {"
+RS
+RS
+sb
+yI
+yI
+xF
+vZ
+vZ
+xF
+Nr
+Fq
+wh
+pI
+Nr
+fb
+gI
+gI
+KI
+gI
+gI
+gI
+Oy
+Nr
+vZ
+vZ
+vZ
+xF
+vZ
+xF
+yI
+sb
+RS
+RS
+"}
+(24,1,1) = {"
+RS
+RS
+sb
+sb
+xF
+xF
+vZ
+vZ
+xF
+Nr
+ig
+wh
+Tz
+Nr
+hJ
+Xz
+mA
+AI
+Oz
+Yw
+Yw
+Ou
+Nr
+vZ
+vZ
+vZ
+vZ
+vZ
+xF
+sb
+vZ
+RS
+RS
+"}
+(25,1,1) = {"
+RS
+RS
+sb
+sb
+xF
+vZ
+vZ
+vZ
+xF
+Nr
+Nr
+Nr
+Nr
+Nr
+Nr
+Nr
+Nr
+Nr
+fW
+fW
+fW
+Nr
+Nr
+vZ
+vZ
+vZ
+vZ
+xF
+xF
+sb
+vZ
+RS
+RS
+"}
+(26,1,1) = {"
+RS
+RS
+sb
+sb
+vZ
+vZ
+vZ
+vZ
+vZ
+vZ
+vZ
+vZ
+vZ
+vZ
+vZ
+xF
+xF
+xF
+xF
+xF
+xF
+xF
+xF
+xF
+vZ
+vZ
+vZ
+xF
+sb
+sb
+sb
+RS
+RS
+"}
+(27,1,1) = {"
+RS
+RS
+sb
+sb
+vZ
+vZ
+vZ
+yI
+yI
+vZ
+vZ
+vZ
+vZ
+vZ
+vZ
+xF
+QL
+xF
+xF
+xF
+xF
+xF
+Dj
+xF
+vZ
+vZ
+vZ
+sb
+sb
+sb
+sb
+RS
+RS
+"}
+(28,1,1) = {"
+RS
+RS
+sb
+sb
+vZ
+vZ
+vZ
+yI
+yI
+yI
+vZ
+yI
+yI
+vZ
+vZ
+xF
+xF
+xF
+xF
+xF
+xF
+xF
+xF
+xF
+vZ
+yI
+yI
+sb
+vZ
+sb
+sb
+RS
+RS
+"}
+(29,1,1) = {"
+RS
+RS
+sb
+sb
+vZ
+vZ
+vZ
+vZ
+vZ
+vZ
+vZ
+yI
+vZ
+vZ
+vZ
+xF
+xF
+vZ
+xF
+xF
+xF
+vZ
+xF
+xF
+vZ
+yI
+yI
+sb
+sb
+sb
+sb
+RS
+RS
+"}
+(30,1,1) = {"
+RS
+RS
+sb
+sb
+sb
+sb
+sb
+sb
+sb
+sb
+sb
+sb
+sb
+sb
+sb
+vZ
+vZ
+vZ
+xF
+xF
+xF
+vZ
+vZ
+vZ
+sb
+sb
+sb
+sb
+sb
+sb
+sb
+RS
+RS
+"}
+(31,1,1) = {"
+RS
+RS
+sb
+sb
+sb
+sb
+sb
+sb
+sb
+sb
+sb
+sb
+sb
+sb
+sb
+sb
+sb
+sb
+xF
+xF
+xF
+sb
+sb
+sb
+sb
+sb
+sb
+sb
+sb
+sb
+sb
+RS
+RS
+"}
+(32,1,1) = {"
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+"}
+(33,1,1) = {"
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+RS
+"}
diff --git a/code/datums/ruins/lavaland.dm b/code/datums/ruins/lavaland.dm
index 4dd2a53f64f..66181ae282c 100644
--- a/code/datums/ruins/lavaland.dm
+++ b/code/datums/ruins/lavaland.dm
@@ -213,3 +213,11 @@
description = "Mystery to be solved."
suffix = "lavaland_surface_puzzle.dmm"
cost = 5
+
+/datum/map_template/ruin/lavaland/monster_nest
+ name = "Monster Nest"
+ id = "monsternest"
+ description = "A cave of several tunnels, housing the local fauna deep underground."
+ suffix = "lavaland_surface_monster_nest.dmm"
+ allow_duplicates = FALSE
+ cost = 5
diff --git a/code/datums/ruins/space.dm b/code/datums/ruins/space.dm
index 2a4e43821ac..c1788091428 100644
--- a/code/datums/ruins/space.dm
+++ b/code/datums/ruins/space.dm
@@ -218,6 +218,14 @@
name = "Drug Lab"
description = "An old abandoned \"Chemistry\" site, which has a strong aura of amphetamines around it."
+/datum/map_template/ruin/space/syndicatedruglab
+ id = "syndicatedruglab"
+ suffix = "syndicatedruglab.dmm"
+ name = "Suspicious Station"
+ description = "A syndicate drug laboratory hidden on an asteroid. It is strangely well-protected."
+ allow_duplicates = FALSE
+ cost = 3
+
/datum/map_template/ruin/space/syndiedepot
id = "syndiedepot"
suffix = "syndiedepot.dmm"
diff --git a/code/game/area/areas/depot-areas.dm b/code/game/area/areas/depot-areas.dm
index 8b9790d2d7e..c43a2651bc1 100644
--- a/code/game/area/areas/depot-areas.dm
+++ b/code/game/area/areas/depot-areas.dm
@@ -474,6 +474,7 @@
continue
moblist += M
return moblist
+
/area/syndicate_depot/outer
name = "Suspicious Asteroid"
icon_state = "green"
diff --git a/code/game/area/areas/ruins/space.dm b/code/game/area/areas/ruins/space.dm
index d4c387847f3..342d2a9214e 100644
--- a/code/game/area/areas/ruins/space.dm
+++ b/code/game/area/areas/ruins/space.dm
@@ -137,3 +137,11 @@
name = "Derelict EVA Storage"
icon_state = "eva"
+/area/ruin/space/syndicate_druglab
+ name = "Suspicious Station"
+ icon_state = "red"
+
+/area/ruin/space/syndicate_druglab/asteroid
+ name = "Suspicious Asteroid"
+ icon_state = "dark"
+ requires_power = FALSE
diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm
index df9e4bdaeb8..943f241c892 100644
--- a/code/game/machinery/vending.dm
+++ b/code/game/machinery/vending.dm
@@ -1299,6 +1299,20 @@
contraband = list(/obj/item/reagent_containers/glass/bottle/ammonia = 10,/obj/item/reagent_containers/glass/bottle/diethylamine = 5)
refill_canister = /obj/item/vending_refill/hydronutrients
+/obj/machinery/vending/hydronutrients/syndicate_druglab
+ products = list(/obj/item/reagent_containers/glass/bottle/nutrient/ez = 12,
+ /obj/item/reagent_containers/glass/bottle/nutrient/l4z = 2,
+ /obj/item/reagent_containers/glass/bottle/nutrient/rh = 3,
+ /obj/item/reagent_containers/spray/pestspray = 7,
+ /obj/item/reagent_containers/syringe = 11,
+ /obj/item/storage/bag/plants = 2,
+ /obj/item/cultivator = 3,
+ /obj/item/shovel/spade = 2,
+ /obj/item/plant_analyzer = 2,
+ /obj/item/reagent_containers/glass/bottle/ammonia = 6,
+ /obj/item/reagent_containers/glass/bottle/diethylamine = 8)
+ contraband = list()
+
/obj/machinery/vending/hydroseeds
name = "\improper MegaSeed Servitor"
desc = "When you need seeds fast!"
@@ -1362,6 +1376,18 @@
premium = list(/obj/item/reagent_containers/spray/waterflower = 1)
refill_canister = /obj/item/vending_refill/hydroseeds
+/obj/machinery/vending/hydroseeds/syndicate_druglab
+ products = list(/obj/item/seeds/ambrosia/deus = 2,
+ /obj/item/seeds/cannabis = 2,
+ /obj/item/seeds/coffee = 3,
+ /obj/item/seeds/liberty = 2,
+ /obj/item/seeds/cannabis/rainbow = 1,
+ /obj/item/seeds/reishi = 2,
+ /obj/item/seeds/tobacco = 1)
+ contraband = list()
+ premium = list()
+ refill_canister = null
+
/obj/machinery/vending/magivend
name = "\improper MagiVend"
desc = "A magic vending machine."
diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm
index 5744418df9c..067a16a4bce 100644
--- a/code/game/objects/items/devices/flashlight.dm
+++ b/code/game/objects/items/devices/flashlight.dm
@@ -133,6 +133,9 @@
icon_state = "lampgreen"
item_state = "lampgreen"
+/obj/item/flashlight/lamp/green/off
+ on = FALSE
+
/obj/item/flashlight/lamp/verb/toggle_light()
set name = "Toggle light"
set category = "Object"
diff --git a/code/game/objects/structures/nest.dm b/code/game/objects/structures/nest.dm
new file mode 100644
index 00000000000..bfd5a6ef6b3
--- /dev/null
+++ b/code/game/objects/structures/nest.dm
@@ -0,0 +1,71 @@
+// Nests spawn mobs and objects when crossed by players.
+
+// Once a nest is triggered, it picks a mob from 'spawn_mob_options', then
+// looks around in 'spawn_trigger_distance' distance and activates all nests
+// in that area. After a few seconds, the selected mob spawns from every
+// triggered nest, alongside with some items dictated by 'spawn_byproduct'.
+// Once spawned, the nests become inactive by the 'spawn_is_triggered' variable
+// becoming TRUE.
+
+/obj/structure/nest
+ name = "tunnel"
+ desc = "A twisted, dark passage to the underground."
+ icon = 'icons/mob/nest.dmi'
+ icon_state = "hole"
+
+ move_resist = INFINITY
+ anchored = TRUE
+ density = FALSE
+
+ var/faction = list("hostile") // If you spawn auto-attacking mobs, make sure that their faction and the nest's is the same
+ var/spawn_byproduct = list(/obj/item/stack/ore/glass, /obj/item/stack/ore/iron) // When mobs spawn, these items also spawn on top of the tunnel
+ var/spawn_byproduct_max = 3 // Maximum number of item spawns
+ var/spawn_is_triggered = FALSE // This is set to TRUE once the nest is triggered, preventing multiple triggers; set it to FALSE to re-activate it
+ var/spawn_max = 2 // Maximum number of mob spawns
+ var/spawn_mob_options = list(/mob/living/simple_animal/crab) // The nest picks one mob type of this list and spawns them
+ var/spawn_trigger_distance = 7 // The triggered nest will look this many tiles around itself to find other triggerable nests
+
+/obj/structure/nest/examine(mob/user)
+ . = ..()
+ if(!spawn_is_triggered)
+ . += "You can hear a cacophony of growling snores from within."
+
+/obj/structure/nest/attack_animal(mob/living/simple_animal/M)
+ if(faction_check(faction, M.faction, FALSE) && !M.client)
+ return
+ ..()
+
+/obj/structure/nest/Crossed(atom/movable/AM)
+ if(spawn_is_triggered)
+ return
+ if(!isliving(AM))
+ return
+ var/mob/living/L = AM
+ if(!L.mind)
+ return
+
+ try_spawn(L)
+
+/obj/structure/nest/proc/try_spawn(mob/living/L)
+ var/chosen_mob = pick(spawn_mob_options)
+
+ to_chat(L, "As you stumble across \the [name], you can hear ominous rumbling from beneath your feet!")
+ playsound(src, 'sound/effects/break_stone.ogg', 50, 1)
+ for(var/obj/structure/nest/N in range(spawn_trigger_distance, src))
+ N.spawn_is_triggered = TRUE
+ addtimer(CALLBACK(N, /obj/structure/nest/.proc/spawn_mob, chosen_mob), rand(2, 5) SECONDS)
+
+/obj/structure/nest/proc/spawn_mob(mob/M)
+ var/byproduct = pick(spawn_byproduct)
+ new byproduct(get_turf(src), rand(1, spawn_byproduct_max))
+
+ for(var/i in 1 to spawn_max)
+ var/mob/spawned_mob = new M(get_turf(src))
+ visible_message("\A [spawned_mob.name] crawls out of \the [name]!")
+
+/obj/structure/nest/lavaland
+ spawn_mob_options = list(/mob/living/simple_animal/hostile/asteroid/goliath/beast, /mob/living/simple_animal/hostile/asteroid/goldgrub)
+
+/obj/structure/nest/carppuppy
+ spawn_mob_options = list(/mob/living/simple_animal/hostile/carp, /mob/living/simple_animal/pet/dog/corgi/puppy/void)
+ spawn_trigger_distance = 3
diff --git a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm
index c635b0eac4d..1e671393142 100644
--- a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm
+++ b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm
@@ -401,6 +401,27 @@
playsound(loc, 'sound/effects/sparks4.ogg', 60, TRUE)
emagged = TRUE
+/obj/machinery/smartfridge/food
+ name = "\improper Food Storage"
+ desc = "A fridge for storing and keeping your food cold."
+
+/obj/machinery/smartfridge/food/Initialize(mapload)
+ . = ..()
+ accepted_items_typecache = typecacheof(list(
+ /obj/item/kitchen,
+ /obj/item/reagent_containers/food))
+
+// Syndicate Druglab Ruin
+/obj/machinery/smartfridge/food/syndicate_druglab
+ starting_items = list(
+ /obj/item/reagent_containers/food/snacks/boiledrice = 2,
+ /obj/item/reagent_containers/food/snacks/macncheese = 1,
+ /obj/item/reagent_containers/food/snacks/syndicake = 3,
+ /obj/item/reagent_containers/food/snacks/beans = 4,
+ /obj/item/reagent_containers/glass/beaker/waterbottle/large = 7,
+ /obj/item/reagent_containers/food/drinks/bottle/kahlua = 1,
+ /obj/item/reagent_containers/food/drinks/bottle/orangejuice = 2)
+
/**
* # Seed Storage
*
diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm
index 01ff88ee915..801e430ebe2 100644
--- a/code/modules/paperwork/paper.dm
+++ b/code/modules/paperwork/paper.dm
@@ -657,6 +657,14 @@
info = ""
footer = "
Failure to adhere appropriately to orders that may be contained herein is in violation of Space Law, and punishments may be administered appropriately upon return to Central Command.
The recipient(s) of this memorandum acknowledge by reading it that they are liable for any and all damages to crew or station that may arise from ignoring suggestions or advice given herein.
"
+/obj/item/paper/syndicate_druglab
+ name = "paper - 'Excerpt from a Diary'"
+ info = "3 January
New year, new me! Since I botched my last job, the boss has \"re-assigned\" me to this hellhole. \"A little gardening will help with calming down, so you can focus on your work better next time!\" I don't fucking need to calm down. How the hell was I supposed to know that plasmamen catch on fire by PURELY EXISTING??? What kind of evolutionary bullshit is this?
And why did we start hiring living fireballs and putTING THEM INTO OUR ATMOSPHERICS DEPARTMENT?!??!!
Fine. I might really need some calming down.
Glory to the Syndicate.
...
24 March
This asteroid sucks. I thought growing drugs and taking some will be fun, but it's not. I can't really get high or else these shitty plants die instantly. I brought some music albums with me but I'm getting tired of them. I might pick up singing, but I'm worried I'd shatter the windows with it.
The next shipment is due tomorrow. I hope the delivery guy has some new stuff for me.
Glory to the Syndicate.
...
22 November
I thought by now I served my time, but management probably just forgot about me and I'm stuck here for another year. I miss my family. I doubt I can go home for Christmas.
Man, when did I become such a softy?
Yesterday, I realized that the hangar is echoing. If I yell loud enough, my voice bounces back. It's almost like having someone talk to me.
Glory to the Syndicate.
...
09 April
I think the disposal system is not working properly, I keep hearing weird noises from the other side. Well, the boss didn't issue me any EVA gear, so whatever or whoever is there can fuck themselves. I hope it won't crawl up the pipes.
Glory to the Syndicate.
...
25 December
I don't have anything interesting or witty to write today. I tried to grow a pine tree-shaped reishi, but failed. Of course I failed. I fail at everything.
Merry Christmas to... me. I guess.
Glory to the... eh... whatever...
...
16 March
Piece of shit machine broke down. I tried to take apart the biogenerator to cannibalize its parts, but I tore its cables in the process. Delivery guy is coming tomorrow and I am NOT trusting him with getting new parts again. Everything George brought so far keeps breaking. I will be back in a few weeks.
It will be nice to meet some new people after four years...
Note to self: do NOT forget to close the hangar doors!!
Glory to the Syndicate.
"
+
+/obj/item/paper/syndicate_druglab/delivery
+ name = "paper - 'Delivery Note'"
+ info = "Hey sweetie! The boss wants you to have some friends. I couldn't get you a real suit, but I found this in a cosplay shop! The bees surely won't see through your IMPECCABLE disguise!
xoxo,
george ♥
- What the fuck. I'm airlocking him tomorrow."
+
/obj/item/paper/evilfax
name = "Centcomm Reply"
info = ""
diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm
index 80d9afd5cc5..c9e7c340687 100644
--- a/code/modules/power/apc.dm
+++ b/code/modules/power/apc.dm
@@ -146,6 +146,16 @@
req_access = list(ACCESS_SYNDICATE)
report_power_alarm = FALSE
+/obj/machinery/power/apc/syndicate/off
+ environ = 0
+ equipment = 0
+ lighting = 0
+ operating = 0
+
+/obj/machinery/power/apc/syndicate/off/Initialize(mapload)
+ . = ..()
+ cell.charge = 0
+
/obj/item/apc_electronics
name = "power control module"
desc = "Heavy-duty switching circuits for power control."
diff --git a/config/example/config.toml b/config/example/config.toml
index e90d1df7abb..7c4a9047c90 100644
--- a/config/example/config.toml
+++ b/config/example/config.toml
@@ -651,6 +651,7 @@ active_space_ruins = [
"_maps/map_files/RandomRuins/SpaceRuins/clownmime.dmm",
"_maps/map_files/RandomRuins/SpaceRuins/dj.dmm",
"_maps/map_files/RandomRuins/SpaceRuins/druglab.dmm",
+ "_maps/map_files/RandomRuins/SpaceRuins/syndicatedruglab.dmm",
"_maps/map_files/RandomRuins/SpaceRuins/syndiedepot.dmm",
"_maps/map_files/RandomRuins/SpaceRuins/syndie_space_base.dmm",
"_maps/map_files/RandomRuins/SpaceRuins/ussp_tele.dmm",
@@ -700,6 +701,7 @@ active_lava_ruins = [
"_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_cultaltar.dmm",
"_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_dead_ratvar.dmm",
"_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_fountain_hall.dmm",
+ "_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_monster_nest.dmm",
"_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_pizzaparty.dmm",
"_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_puzzle.dmm",
"_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_random_ripley.dmm",
diff --git a/paradise.dme b/paradise.dme
index 30d9408c329..b467d6d4796 100644
--- a/paradise.dme
+++ b/paradise.dme
@@ -1100,6 +1100,7 @@
#include "code\game\objects\structures\misc.dm"
#include "code\game\objects\structures\mop_bucket.dm"
#include "code\game\objects\structures\morgue.dm"
+#include "code\game\objects\structures\nest.dm"
#include "code\game\objects\structures\noticeboard.dm"
#include "code\game\objects\structures\plasticflaps.dm"
#include "code\game\objects\structures\railings.dm"