From 3e8f1404984af127890b16191ffe612a4e1cbab3 Mon Sep 17 00:00:00 2001 From: Hayden Redacted <91229275+haydenredacted@users.noreply.github.com> Date: Wed, 25 Mar 2026 06:39:55 -0700 Subject: [PATCH] Adds a New Lavaland Ruin: The Comfy Cabin (#31624) * initial commit * this shouldn't always spawn * warriorstar suggestion * suggestion pt 2 --- .../lavaland_surface_wooden_cabin.dmm | 648 ++++++++++++++++++ .../lavaland_surface_wooden_cabin.jsonc | 5 + .../templates/lavaland_map_templates.dm | 7 + config/example/config.toml | 1 + 4 files changed, 661 insertions(+) create mode 100644 _maps/map_files/RandomRuins/LavaRuins/lavaland_surface_wooden_cabin.dmm create mode 100644 _maps/map_files/RandomRuins/LavaRuins/lavaland_surface_wooden_cabin.jsonc diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_wooden_cabin.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_wooden_cabin.dmm new file mode 100644 index 00000000000..b6167b1ef4b --- /dev/null +++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_wooden_cabin.dmm @@ -0,0 +1,648 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/unexplored) +"b" = ( +/obj/structure/stone_tile/surrounding/cracked, +/obj/structure/lightable/torch/lava_bridge, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/unexplored) +"c" = ( +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile{ + dir = 1 + }, +/obj/item/flashlight/lantern, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered) +"d" = ( +/obj/structure/stone_tile/block{ + dir = 4 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/unexplored) +"e" = ( +/obj/structure/stone_tile/slab, +/obj/structure/shelf/wood, +/obj/item/flashlight/flare, +/obj/item/pickaxe/bone, +/obj/item/mining_scanner, +/obj/effect/spawner/random/common_ore, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered) +"f" = ( +/mob/living/basic/mining/goliath, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/unexplored) +"g" = ( +/obj/structure/stone_tile/block{ + dir = 8 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/unexplored) +"h" = ( +/obj/structure/stone_tile{ + dir = 4 + }, +/obj/structure/stone_tile{ + dir = 8 + }, +/obj/structure/stone_tile, +/obj/structure/closet/crate/necropolis, +/obj/effect/spawner/random/common_ore, +/obj/effect/spawner/random/common_ore, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered) +"i" = ( +/obj/structure/barricade/wooden/crude, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered) +"j" = ( +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered) +"l" = ( +/obj/structure/stone_tile/slab, +/obj/structure/bed/dirty, +/obj/item/bedsheet, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered) +"m" = ( +/obj/structure/stone_tile/block{ + dir = 1 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/unexplored) +"n" = ( +/turf/template_noop, +/area/template_noop) +"p" = ( +/obj/structure/lightable/bonfire/lit, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/unexplored) +"q" = ( +/obj/structure/chair/stool/wood{ + pixel_x = 5 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered) +"r" = ( +/obj/item/reagent_containers/glass/bucket/wooden, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/unexplored) +"s" = ( +/obj/structure/stone_tile/block, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/unexplored) +"t" = ( +/obj/structure/chair/stool/wood, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/unexplored) +"u" = ( +/turf/simulated/wall/mineral/wood, +/area/ruin/unpowered) +"x" = ( +/obj/machinery/hydroponics/soil, +/obj/item/seeds/tower, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/unexplored) +"z" = ( +/obj/structure/grave, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/unexplored) +"B" = ( +/obj/structure/stone_tile, +/obj/structure/stone_tile{ + dir = 8 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered) +"C" = ( +/obj/structure/stone_tile/slab, +/obj/structure/table/wood, +/obj/item/clothing/suit/hooded/bone_light{ + pixel_x = -4; + pixel_y = -3 + }, +/obj/item/stack/sheet/bone{ + pixel_x = 12; + pixel_y = 7 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered) +"D" = ( +/obj/structure/stone_tile/surrounding, +/obj/structure/lightable/torch/lava_bridge, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/unexplored) +"E" = ( +/obj/structure/stone_tile/slab/cracked, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/unexplored) +"I" = ( +/obj/structure/lightable/torch/lava_bridge, +/obj/structure/stone_tile/surrounding, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/unexplored) +"K" = ( +/turf/simulated/floor/lava/mapping_lava, +/area/lavaland/surface/outdoors/unexplored) +"L" = ( +/obj/structure/stone_tile/block/cracked, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/unexplored) +"M" = ( +/mob/living/basic/mining/hivelord/legion, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/ruin/unpowered) +"N" = ( +/obj/machinery/hydroponics/soil, +/obj/item/seeds/glowshroom, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/unexplored) +"O" = ( +/obj/structure/stone_tile/slab, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/unexplored) +"Q" = ( +/obj/effect/mob_spawn/human/corpse/random_species/miner, +/turf/simulated/floor/lava/mapping_lava, +/area/lavaland/surface/outdoors/unexplored) +"R" = ( +/obj/item/clothing/shoes/workboots/mining, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/unexplored) +"S" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 8 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/unexplored) +"T" = ( +/obj/structure/stone_tile/block/cracked{ + dir = 1 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/unexplored) +"V" = ( +/obj/structure/stone_tile/slab/cracked, +/obj/structure/stone_tile/slab/cracked, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/unexplored) +"W" = ( +/obj/item/cultivator/rake, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/unexplored) +"Y" = ( +/obj/structure/stone_tile/surrounding/burnt, +/obj/structure/lightable/torch/lava_bridge, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/unexplored) +"Z" = ( +/turf/simulated/mineral/volcanic/lava_land_surface, +/area/lavaland/surface/outdoors/unexplored) + +(1,1,1) = {" +n +n +n +n +n +n +n +n +n +n +n +n +a +a +n +n +n +n +n +n +"} +(2,1,1) = {" +n +n +n +n +n +n +n +n +n +n +n +a +a +a +n +n +n +n +n +n +"} +(3,1,1) = {" +n +n +n +n +n +n +n +Z +Z +n +a +a +a +a +a +Y +n +n +n +n +"} +(4,1,1) = {" +n +n +n +n +n +Z +Z +Z +Z +a +a +K +K +a +a +a +a +n +n +n +"} +(5,1,1) = {" +n +n +n +n +Z +Z +Z +Z +a +a +K +K +K +K +a +S +a +n +n +n +"} +(6,1,1) = {" +n +n +n +Z +Z +Z +Z +a +a +a +K +K +K +K +K +O +a +a +n +n +"} +(7,1,1) = {" +n +n +n +Z +Z +f +a +a +a +K +K +K +Q +K +K +a +O +L +n +n +"} +(8,1,1) = {" +n +n +Z +Z +a +a +a +a +a +a +K +K +R +K +a +S +E +a +a +n +"} +(9,1,1) = {" +n +Z +Z +Z +D +a +a +a +a +K +K +a +a +a +a +E +O +a +a +n +"} +(10,1,1) = {" +n +Z +Z +Z +a +a +a +a +a +a +a +a +a +g +E +E +s +a +a +a +"} +(11,1,1) = {" +n +Z +Z +a +a +a +a +a +a +a +a +a +O +E +s +a +a +a +f +a +"} +(12,1,1) = {" +n +Z +a +a +a +r +u +u +u +u +u +a +E +s +z +a +a +a +n +n +"} +(13,1,1) = {" +n +n +a +a +W +N +u +l +j +e +u +E +E +O +a +b +a +a +n +n +"} +(14,1,1) = {" +n +n +S +a +a +x +u +B +M +j +i +a +m +E +L +a +a +a +n +n +"} +(15,1,1) = {" +n +a +O +S +a +N +u +h +q +c +u +a +m +E +s +a +t +a +Z +Z +"} +(16,1,1) = {" +a +T +O +O +a +a +u +u +C +u +u +a +a +E +L +t +p +Z +Z +Z +"} +(17,1,1) = {" +n +a +T +E +L +a +a +u +u +u +a +m +O +O +n +a +Z +Z +Z +Z +"} +(18,1,1) = {" +n +I +a +a +O +E +a +a +a +a +g +E +V +n +n +Z +Z +Z +Z +Z +"} +(19,1,1) = {" +n +n +a +a +T +E +O +g +g +E +E +d +n +n +n +Z +Z +Z +Z +Z +"} +(20,1,1) = {" +n +n +n +n +n +d +d +E +E +d +a +n +n +n +n +Z +Z +n +Z +n +"} diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_wooden_cabin.jsonc b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_wooden_cabin.jsonc new file mode 100644 index 00000000000..f6d038f12c9 --- /dev/null +++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_wooden_cabin.jsonc @@ -0,0 +1,5 @@ +[ + { + "type": "RandomOrientation" + } +] diff --git a/code/datums/mapping/templates/lavaland_map_templates.dm b/code/datums/mapping/templates/lavaland_map_templates.dm index 1dd3b60b94f..42779a5dd05 100644 --- a/code/datums/mapping/templates/lavaland_map_templates.dm +++ b/code/datums/mapping/templates/lavaland_map_templates.dm @@ -278,6 +278,13 @@ description = "A humble self-sustaining lab that was set up to study the Necropolis' activities on Lavaland that soon got overrun by the thing it was researching." allow_duplicates = FALSE +/datum/map_template/ruin/lavaland/comfy_cabin + id = "basalt_lab" + suffix = "lavaland_surface_wooden_cabin.dmm" + name = "Comfy Cabin" + description = "A small wooden cabin that was once lived in by a hermit who is now nowhere to be found." + allow_duplicates = FALSE + // MARK: Bridges /datum/map_template/ruin/lavaland/zlvl_bridge diff --git a/config/example/config.toml b/config/example/config.toml index 2623049bb8c..f0a6d691058 100644 --- a/config/example/config.toml +++ b/config/example/config.toml @@ -779,6 +779,7 @@ active_lava_ruins = [ "_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_survivalpod.dmm", "_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_ufo_crash.dmm", "_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_watcher_grave.dmm", + "_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_wooden_cabin.dmm", "_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_xeno_nest.dmm", "_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_basalt_lab.dmm", ]