diff --git a/aurorastation.dme b/aurorastation.dme
index ac337b17caa..4805c647dd8 100644
--- a/aurorastation.dme
+++ b/aurorastation.dme
@@ -926,6 +926,7 @@
#include "code\game\objects\structures\noticeboard.dm"
#include "code\game\objects\structures\plasticflaps.dm"
#include "code\game\objects\structures\safe.dm"
+#include "code\game\objects\structures\sarcophagus.dm"
#include "code\game\objects\structures\shotgun_rack.dm"
#include "code\game\objects\structures\signs.dm"
#include "code\game\objects\structures\simple_doors.dm"
diff --git a/code/game/objects/items/stacks/tiles/tile_types.dm b/code/game/objects/items/stacks/tiles/tile_types.dm
index 5555425c778..c943f5b0b9f 100644
--- a/code/game/objects/items/stacks/tiles/tile_types.dm
+++ b/code/game/objects/items/stacks/tiles/tile_types.dm
@@ -109,6 +109,36 @@
icon_state = "tile_freezer"
matter = list("plastic" = 937.5)
+/obj/item/stack/tile/silver
+ name = "silver floor tile"
+ singular_name = "silver floor tile"
+ icon_state = "tile_silver"
+ matter = list("silver" = 937.5)
+
+/obj/item/stack/tile/gold
+ name = "golden floor tile"
+ singular_name = "golden floor tile"
+ icon_state = "tile_gold"
+ matter = list("gold" = 937.5)
+
+/obj/item/stack/tile/uranium
+ name = "uranium floor tile"
+ singular_name = "uranium floor tile"
+ icon_state = "tile_uranium"
+ matter = list("uranium" = 937.5)
+
+/obj/item/stack/tile/phoron
+ name = "phoron floor tile"
+ singular_name = "phoron floor tile"
+ icon_state = "tile_plasma"
+ matter = list("phoron" = 937.5)
+
+/obj/item/stack/tile/diamond
+ name = "diamond floor tile"
+ singular_name = "diamond floor tile"
+ icon_state = "tile_diamond"
+ matter = list("diamond" = 937.5)
+
/*
* Cyborg modules
*/
diff --git a/code/game/objects/structures/sarcophagus.dm b/code/game/objects/structures/sarcophagus.dm
new file mode 100644
index 00000000000..b88444db37e
--- /dev/null
+++ b/code/game/objects/structures/sarcophagus.dm
@@ -0,0 +1,78 @@
+/obj/structure/sarcophagus
+ name = "sarcophagus"
+ desc = "A sealed ancient sarcophagus."
+ icon = 'icons/obj/sarcophagus.dmi'
+ icon_state = "sarcophagus"
+ density = 1
+ anchored = 0
+ var/open = FALSE
+
+/obj/structure/sarcophagus/examine(mob/user)
+ ..()
+ if(!open)
+ to_chat(user, "\The [src]'s lid is closed shut.")
+ else
+ to_chat(user, "\The [src]'s lid is open.")
+
+/obj/structure/sarcophagus/Initialize()
+ . = ..()
+ if(prob(25))
+ desc = "Don't open it."
+
+/obj/structure/sarcophagus/update_icon()
+ if(open)
+ icon_state = "sarcophagus_open"
+ else
+ icon_state = initial(icon_state)
+
+/obj/structure/sarcophagus/ex_act(severity)
+ switch(severity)
+ if(1.0)
+ qdel(src)
+ if(2.0)
+ if(prob(50))
+ qdel(src)
+ if(3.0)
+ if(prob(25))
+ open()
+ return
+
+/obj/structure/sarcophagus/attackby(obj/item/I as obj, mob/user as mob)
+ if(open)
+ return
+ if(istype(I, /obj/item/sarcophagus_key))
+ to_chat(usr, "You slide \the [I] inside an opening in \the [src].")
+ open()
+
+/obj/structure/sarcophagus/proc/open()
+ playsound((get_turf(src)), 'sound/effects/stonedoor_openclose.ogg', 100, 1)
+ open = TRUE
+ update_icon()
+
+ if(prob(25))
+ explosion(get_turf(src), 2, 3, 4, 4)
+ qdel(src)
+ return
+
+ var/outcomes = pick("remains", "xenoarch", "highvalue", "supermatter", "artifact", "beyond")
+ switch(outcomes)
+ if("remains")
+ new /obj/effect/decal/remains/xeno (get_turf(src))
+ if("xenoarch")
+ new /obj/item/weapon/archaeological_find (get_turf(src))
+ if("highvalue")
+ new /obj/random/highvalue (get_turf(src))
+ if("supermatter")
+ new /obj/machinery/power/supermatter/shard (get_turf(src))
+ if("artifact")
+ new /obj/machinery/artifact (get_turf(src))
+ if("beyond")
+ new /obj/machinery/from_beyond (get_turf(src))
+ return
+
+/obj/item/sarcophagus_key
+ name = "ancient key"
+ desc = "An archaic key, probably not used to open any airlock on station."
+ icon = 'icons/obj/xenoarchaeology.dmi'
+ icon_state = "unknown1"
+ w_class = 2
\ No newline at end of file
diff --git a/code/game/turfs/flooring/flooring.dm b/code/game/turfs/flooring/flooring.dm
index 9ba5e611dc5..e137649ab2f 100644
--- a/code/game/turfs/flooring/flooring.dm
+++ b/code/game/turfs/flooring/flooring.dm
@@ -197,10 +197,52 @@ var/list/flooring_types
/decl/flooring/reinforced/ramp/bottom
icon_base = "rampbot"
-
+
/decl/flooring/diona
name = "biomass"
- desc = "a mass of small intertwined aliens forming a floor... Creepy."
+ desc = "A mass of small intertwined aliens forming a floor... Creepy."
icon = 'icons/turf/floors.dmi'
icon_base = "diona"
flags = TURF_ACID_IMMUNE | TURF_REMOVE_SHOVEL
+
+//material turfs
+
+/decl/flooring/silver
+ name = "silver floor"
+ desc = "A fancy floor with silver plating."
+ icon = 'icons/turf/flooring/tiles.dmi'
+ icon_base = "silver"
+ flags = TURF_REMOVE_CROWBAR | TURF_CAN_BREAK
+ build_type = /obj/item/stack/tile/silver
+
+/decl/flooring/gold
+ name = "golden floor"
+ desc = "A fancy floor with golden plating."
+ icon = 'icons/turf/flooring/tiles.dmi'
+ icon_base = "gold"
+ flags = TURF_REMOVE_CROWBAR | TURF_CAN_BREAK
+ build_type = /obj/item/stack/tile/gold
+
+/decl/flooring/uranium
+ name = "uranium floor"
+ desc = "An unsafe floor with uranium plating."
+ icon = 'icons/turf/flooring/tiles.dmi'
+ icon_base = "uranium"
+ flags = TURF_REMOVE_CROWBAR | TURF_CAN_BREAK
+ build_type = /obj/item/stack/tile/uranium
+
+/decl/flooring/phoron
+ name = "phoron floor"
+ desc = "A flammable floor with phoron plating."
+ icon = 'icons/turf/flooring/tiles.dmi'
+ icon_base = "plasma"
+ flags = TURF_REMOVE_CROWBAR | TURF_CAN_BREAK
+ build_type = /obj/item/stack/tile/phoron
+
+/decl/flooring/diamond
+ name = "diamond floor"
+ desc = "An expensive floor with diamond plating."
+ icon = 'icons/turf/flooring/tiles.dmi'
+ icon_base = "diamond"
+ flags = TURF_REMOVE_CROWBAR | TURF_CAN_BREAK
+ build_type = /obj/item/stack/tile/diamond
\ No newline at end of file
diff --git a/code/game/turfs/flooring/flooring_premade.dm b/code/game/turfs/flooring/flooring_premade.dm
index 4e597caeb90..7ef73194ab3 100644
--- a/code/game/turfs/flooring/flooring_premade.dm
+++ b/code/game/turfs/flooring/flooring_premade.dm
@@ -228,3 +228,33 @@
baseturf = /turf/space
/turf/simulated/floor/light
+
+/turf/simulated/floor/silver
+ name = "silver floor"
+ icon = 'icons/turf/flooring/tiles.dmi'
+ icon_state = "silver"
+ initial_flooring = /decl/flooring/silver
+
+/turf/simulated/floor/gold
+ name = "golden floor"
+ icon = 'icons/turf/flooring/tiles.dmi'
+ icon_state = "gold"
+ initial_flooring = /decl/flooring/gold
+
+/turf/simulated/floor/uranium
+ name = "uranium floor"
+ icon = 'icons/turf/flooring/tiles.dmi'
+ icon_state = "uranium"
+ initial_flooring =/decl/flooring/uranium
+
+/turf/simulated/floor/phoron
+ name = "phoron floor"
+ icon = 'icons/turf/flooring/tiles.dmi'
+ icon_state = "plasma"
+ initial_flooring = /decl/flooring/phoron
+
+/turf/simulated/floor/diamond
+ name = "diamond floor"
+ icon = 'icons/turf/flooring/tiles.dmi'
+ icon_state = "diamond"
+ initial_flooring = /decl/flooring/diamond
\ No newline at end of file
diff --git a/code/modules/materials/material_recipes.dm b/code/modules/materials/material_recipes.dm
index 2a4a3fc50dd..5a19117ba95 100644
--- a/code/modules/materials/material_recipes.dm
+++ b/code/modules/materials/material_recipes.dm
@@ -162,3 +162,23 @@
..()
recipes += new/datum/stack_recipe("monkey mask", /obj/item/clothing/mask/gas/monkeymask)
recipes += new/datum/stack_recipe("monkey suit", /obj/item/clothing/suit/monkeysuit, 2)
+
+/material/silver/generate_recipes()
+ ..()
+ recipes += new/datum/stack_recipe("silver floor tile", /obj/item/stack/tile/silver, 1, 4, 20)
+
+/material/gold/generate_recipes()
+ ..()
+ recipes += new/datum/stack_recipe("golden floor tile", /obj/item/stack/tile/gold, 1, 4, 20)
+
+/material/uranium/generate_recipes()
+ ..()
+ recipes += new/datum/stack_recipe("uranium floor tile", /obj/item/stack/tile/uranium, 1, 4, 20)
+
+/material/phoron/generate_recipes()
+ ..()
+ recipes += new/datum/stack_recipe("phoron floor tile", /turf/simulated/floor/phoron, 1, 4, 20)
+
+/material/diamond/generate_recipes()
+ ..()
+ recipes += new/datum/stack_recipe("diamond floor tile", /turf/simulated/floor/diamond, 1, 4, 20)
\ No newline at end of file
diff --git a/code/modules/mob/living/simple_animal/constructs/soulstone.dm b/code/modules/mob/living/simple_animal/constructs/soulstone.dm
index 03ee0f84fbb..6ee8aeff0fe 100644
--- a/code/modules/mob/living/simple_animal/constructs/soulstone.dm
+++ b/code/modules/mob/living/simple_animal/constructs/soulstone.dm
@@ -2,7 +2,7 @@
return
/obj/item/device/soulstone
- name = "Soul Stone Shard"
+ name = "soul stone shard"
icon = 'icons/obj/wizard.dmi'
icon_state = "soulstone"
item_state = "electronic"
diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/cavern.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/cavern.dm
index 9641658736c..d641cb8c09c 100644
--- a/code/modules/mob/living/simple_animal/hostile/retaliate/cavern.dm
+++ b/code/modules/mob/living/simple_animal/hostile/retaliate/cavern.dm
@@ -64,3 +64,108 @@
var/mob/living/carbon/human/M = target
var/shock_damage = rand(10,20)
M.electrocute_act(shock_damage)
+
+/mob/living/simple_animal/hostile/retaliate/minedrone
+ name = "mining rover"
+ desc = "A dilapidated mining rover, with the faded colors of the Sol Alliance. It looks more than a little lost."
+ icon = 'icons/mob/cavern.dmi'
+ icon_state = "sadrone"
+ icon_living = "sadrone"
+ icon_dead = "sadrone_dead"
+ move_to_delay = 5
+ health = 60
+ maxHealth = 60
+ harm_intent_damage = 5
+ ranged = 1
+ melee_damage_lower = 0
+ melee_damage_upper = 0
+ attacktext = "barrels into"
+ attack_sound = 'sound/weapons/punch1.ogg'
+ a_intent = I_HURT
+ speak_emote = list("chirps","buzzes","whirrs")
+ emote_hear = list("chirps cheerfully","buzzes","whirrs","hums placidly","chirps","hums")
+ projectiletype = /obj/item/projectile/beam/plasmacutter
+ projectilesound = 'sound/weapons/plasma_cutter.ogg'
+ destroy_surroundings = 1
+ min_oxy = 0
+ max_oxy = 0
+ min_tox = 0
+ max_tox = 0
+ min_co2 = 0
+ max_co2 = 0
+ min_n2 = 0
+ max_n2 = 0
+ minbodytemp = 0
+ light_range = 10
+ light_wedge = LIGHT_WIDE
+ see_in_dark = 8
+
+ faction = "sol"
+
+ var/list/loot = list()
+ var/ore_message = 0
+ var/target_ore
+
+/mob/living/simple_animal/hostile/retaliate/minedrone/Initialize()
+ . = ..()
+ var/i = rand(1,6)
+ while(i)
+ loot += pick(/obj/item/weapon/ore/silver, /obj/item/weapon/ore/gold, /obj/item/weapon/ore/uranium, /obj/item/weapon/ore/diamond)
+ i--
+
+/mob/living/simple_animal/hostile/retaliate/minedrone/Life()
+ ..()
+ FindOre()
+
+/mob/living/simple_animal/hostile/retaliate/minedrone/proc/FindOre()
+ if(!enemies.len)
+ setClickCooldown(attack_delay)
+ if(!target_ore in ListTargets(10))
+ target_ore = null
+ for(var/obj/item/weapon/ore/O in oview(1,src))
+ O.forceMove(src)
+ loot += O
+ if(target_ore == O)
+ target_ore = null
+ if(!ore_message)
+ ore_message = 1
+ if(ore_message)
+ visible_message("\The [src] collects the ore into a metallic hopper.")
+ ore_message = 0
+ for(var/obj/item/weapon/ore/O in oview(7,src))
+ target_ore = O
+ break
+ if(target_ore)
+ walk_to(src, target_ore, 1, move_to_delay)
+ else
+ for(var/turf/simulated/mineral/M in orange(7,src))
+ if(M.mineral)
+ rapid = 1
+ OpenFire(M)
+ rapid = 0
+ break
+
+/mob/living/simple_animal/hostile/retaliate/minedrone/death()
+ ..(null,"is smashed into pieces!")
+ var/T = get_turf(src)
+ new /obj/effect/gibspawner/robot(T)
+ spark(T, 3, alldirs)
+ for(var/obj/item/weapon/ore/O in loot)
+ O.forceMove(src.loc)
+ qdel(src)
+
+/mob/living/simple_animal/hostile/retaliate/minedrone/adjustToxLoss(var/damage)
+ return
+
+/mob/living/simple_animal/hostile/retaliate/minedrone/adjustOxyLoss(var/damage)
+ return
+
+/mob/living/simple_animal/hostile/retaliate/minedrone/adjustCloneLoss(var/damage)
+ return
+
+/mob/living/simple_animal/hostile/retaliate/minedrone/adjustHalLoss(var/damage)
+ return
+
+/mob/living/simple_animal/hostile/retaliate/minedrone/fall_impact()
+ visible_message("\The [src] bounces harmlessly on its inflated wheels.")
+ return FALSE
\ No newline at end of file
diff --git a/code/modules/research/xenoarchaeology/finds/finds.dm b/code/modules/research/xenoarchaeology/finds/finds.dm
index 11d20fa3afa..aebe9b4343d 100644
--- a/code/modules/research/xenoarchaeology/finds/finds.dm
+++ b/code/modules/research/xenoarchaeology/finds/finds.dm
@@ -88,7 +88,7 @@
if(new_item_type)
find_type = new_item_type
else
- find_type = rand(1,35) //update this when you add new find types
+ find_type = rand(1,36) //update this when you add new find types
var/item_type = "object"
icon_state = "unknown[rand(1,4)]"
@@ -489,6 +489,9 @@
new_item = new /obj/item/clothing/mask/gas/poltergeist(src.loc)
else
new_item = new /obj/item/clothing/mask/gas(src.loc)
+ if(36)
+ new_item = new /obj/item/sarcophagus_key(src.loc)
+
var/decorations = ""
if(apply_material_decorations)
source_material = pick("cordite","quadrinium",DEFAULT_WALL_MATERIAL,"titanium","aluminium","ferritic-alloy","plasteel","duranium")
@@ -531,7 +534,7 @@
desc += engravings
if(apply_prefix)
- name = "[pick("Strange","Ancient","Alien","")] [item_type]"
+ name = "[pick("strange","ancient","alien")] [item_type]"
else
name = item_type
diff --git a/html/changelogs/alberyk-dungeon.yml b/html/changelogs/alberyk-dungeon.yml
new file mode 100644
index 00000000000..6234100796e
--- /dev/null
+++ b/html/changelogs/alberyk-dungeon.yml
@@ -0,0 +1,7 @@
+author: Alberyk
+
+delete-after: True
+
+changes:
+ - rscadd: "Added some random asteroid dungeons."
+ - rscadd: "You can now build floors using some materials, such as silver, gold and diamond."
diff --git a/icons/obj/items.dmi b/icons/obj/items.dmi
index daf7a543706..5287b7f2c6b 100644
Binary files a/icons/obj/items.dmi and b/icons/obj/items.dmi differ
diff --git a/icons/obj/sarcophagus.dmi b/icons/obj/sarcophagus.dmi
new file mode 100644
index 00000000000..a2367c5f916
Binary files /dev/null and b/icons/obj/sarcophagus.dmi differ
diff --git a/icons/turf/flooring/tiles.dmi b/icons/turf/flooring/tiles.dmi
index e94c78f6b72..12fdc3ef09f 100644
Binary files a/icons/turf/flooring/tiles.dmi and b/icons/turf/flooring/tiles.dmi differ
diff --git a/maps/_common/areas/special.dm b/maps/_common/areas/special.dm
index 8ad04594e80..564f18e0db1 100644
--- a/maps/_common/areas/special.dm
+++ b/maps/_common/areas/special.dm
@@ -257,54 +257,16 @@
luminosity = 1
dynamic_lighting = 0
requires_power = 0
-// var/sound/mysound = null
no_light_control = 1
- var/iter = 0
-/* //todo: make this don't suck
-/area/beach/New()
- ..()
- var/sound/S = new/sound()
- mysound = S
- S.file = 'sound/ambience/shore.ogg'
- S.repeat = 1
- S.wait = 0
- S.channel = 123
- S.volume = 100
- S.priority = 255
- S.status = SOUND_UPDATE
- process()
+//dungeon areas
-/area/beach/Entered(atom/movable/Obj,atom/OldLoc)
- if(ismob(Obj))
- var/mob/M = Obj
- if(M.client)
- mysound.status = SOUND_UPDATE
- sound_to(M, mysound)
+/area/crashed_ship
+ name = "\improper Derelict Ship"
+ icon_state = "yellow"
+ flags = RAD_SHIELDED | SPAWN_ROOF
-/area/beach/Exited(atom/movable/Obj)
- if(ismob(Obj))
- var/mob/M = Obj
- if(M.client)
- mysound.status = SOUND_PAUSED | SOUND_UPDATE
- sound_to(M, mysound)
-
-/area/beach/proc/process()
- set background = 1
-
- var/sound/S = null
- var/sound_delay = 0
- if(prob(25))
- S = sound(file=pick('sound/ambience/seag1.ogg','sound/ambience/seag2.ogg','sound/ambience/seag3.ogg'), volume=100)
- sound_delay = rand(0, 50)
-
- for(var/mob/living/carbon/human/H in src)
- if(H.client)
- mysound.status = SOUND_UPDATE
- to_chat(H, mysound)
- if(S)
- spawn(sound_delay)
- sound_to(H, S)
-
- spawn(60) .()
-*/
+/area/tomb
+ name = "\improper Burial Chamber"
+ icon_state = "yellow"
+ flags = SPAWN_ROOF
\ No newline at end of file
diff --git a/maps/dungeon_spawns/bluespace_leak.dmm b/maps/dungeon_spawns/bluespace_leak.dmm
new file mode 100644
index 00000000000..57927404d77
--- /dev/null
+++ b/maps/dungeon_spawns/bluespace_leak.dmm
@@ -0,0 +1,1145 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"a" = (
+/turf/unsimulated/chasm_mask,
+/area/mine/unexplored)
+"b" = (
+/turf/unsimulated/wall/supermatter/no_spread,
+/area/mine/unexplored)
+"c" = (
+/turf/simulated/wall/rusty,
+/area/mine/unexplored)
+"d" = (
+/turf/simulated/floor/tiled/airless,
+/area/mine/unexplored)
+"e" = (
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 1
+ },
+/turf/simulated/floor/tiled/airless,
+/area/mine/unexplored)
+"f" = (
+/obj/random/junk,
+/turf/simulated/floor/tiled/airless,
+/area/mine/unexplored)
+"g" = (
+/obj/effect/decal/cleanable/dirt,
+/turf/simulated/floor/tiled/airless,
+/area/mine/unexplored)
+"h" = (
+/obj/item/bluespace_crystal,
+/turf/simulated/floor/tiled/airless,
+/area/mine/unexplored)
+"i" = (
+/obj/machinery/artifact,
+/turf/simulated/floor/tiled/airless,
+/area/mine/unexplored)
+"j" = (
+/obj/machinery/door/airlock/hatch,
+/turf/simulated/floor/tiled/airless,
+/area/mine/unexplored)
+"k" = (
+/obj/machinery/light{
+ dir = 4;
+ icon_state = "tube1";
+ pixel_x = 0
+ },
+/turf/simulated/floor/tiled/airless,
+/area/mine/unexplored)
+"l" = (
+/obj/machinery/light{
+ dir = 8;
+ icon_state = "tube1";
+ pixel_y = 0
+ },
+/turf/simulated/floor/tiled/airless,
+/area/mine/unexplored)
+
+(1,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(2,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(3,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(4,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(5,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(6,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+b
+b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(7,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+b
+b
+b
+b
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(8,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+c
+c
+c
+c
+c
+j
+c
+c
+c
+c
+b
+b
+b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(9,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+c
+d
+f
+g
+g
+d
+c
+g
+l
+d
+c
+b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(10,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+c
+d
+d
+d
+g
+g
+c
+g
+b
+h
+c
+b
+b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(11,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+c
+e
+d
+d
+b
+d
+c
+g
+b
+g
+c
+b
+b
+b
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(12,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+b
+b
+b
+b
+g
+d
+b
+g
+c
+d
+b
+b
+b
+b
+b
+b
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(13,1,1) = {"
+a
+a
+a
+a
+a
+a
+b
+b
+b
+b
+b
+d
+d
+b
+b
+b
+b
+b
+b
+b
+c
+b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(14,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+b
+b
+b
+c
+d
+g
+d
+d
+g
+b
+g
+d
+g
+c
+b
+b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(15,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+b
+b
+b
+c
+d
+d
+h
+g
+b
+b
+d
+g
+f
+c
+b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(16,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+b
+b
+c
+d
+c
+c
+b
+b
+b
+b
+b
+d
+c
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(17,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+b
+b
+c
+f
+d
+d
+g
+b
+b
+g
+d
+d
+c
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(18,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+c
+d
+d
+g
+i
+b
+g
+c
+c
+c
+b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(19,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+c
+d
+d
+d
+b
+b
+b
+c
+d
+b
+b
+b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(20,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(21,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+c
+d
+b
+d
+b
+b
+b
+b
+d
+g
+c
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(22,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+b
+b
+b
+d
+d
+d
+b
+b
+g
+g
+c
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(23,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+b
+b
+b
+g
+f
+d
+b
+d
+h
+c
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(24,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+d
+b
+d
+h
+d
+k
+c
+g
+f
+c
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(25,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+b
+b
+b
+b
+c
+c
+c
+c
+c
+c
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(26,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+a
+a
+b
+b
+b
+b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(27,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+a
+a
+b
+b
+b
+b
+b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(28,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+b
+b
+a
+a
+a
+a
+b
+b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(29,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+b
+b
+a
+a
+a
+b
+b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(30,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(31,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(32,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
diff --git a/maps/dungeon_spawns/carp_nest.dmm b/maps/dungeon_spawns/carp_nest.dmm
new file mode 100644
index 00000000000..8efb1c0f888
--- /dev/null
+++ b/maps/dungeon_spawns/carp_nest.dmm
@@ -0,0 +1,1161 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"a" = (
+/turf/unsimulated/chasm_mask,
+/area/mine/unexplored)
+"b" = (
+/turf/simulated/floor/asteroid/ash/rocky,
+/area/mine/unexplored)
+"c" = (
+/turf/simulated/mineral,
+/area/mine/unexplored)
+"d" = (
+/obj/random/junk,
+/turf/simulated/floor/asteroid/ash/rocky,
+/area/mine/unexplored)
+"e" = (
+/mob/living/simple_animal/hostile/carp,
+/turf/simulated/floor/asteroid/ash/rocky,
+/area/mine/unexplored)
+"f" = (
+/obj/random/coin,
+/turf/simulated/floor/asteroid/ash/rocky,
+/area/mine/unexplored)
+"g" = (
+/obj/random/loot,
+/turf/simulated/floor/asteroid/ash/rocky,
+/area/mine/unexplored)
+"h" = (
+/obj/structure/closet/crate/secure/loot,
+/turf/simulated/floor/asteroid/ash/rocky,
+/area/mine/unexplored)
+"i" = (
+/obj/random/powercell,
+/turf/simulated/floor/asteroid/ash/rocky,
+/area/mine/unexplored)
+"j" = (
+/obj/item/device/flashlight/lantern{
+ on = 1
+ },
+/turf/simulated/floor/asteroid/ash/rocky,
+/area/mine/unexplored)
+"k" = (
+/obj/item/clothing/head/helmet/space/void/mining,
+/turf/simulated/floor/asteroid/ash/rocky,
+/area/mine/unexplored)
+"l" = (
+/turf/simulated/mineral/random/high_chance,
+/area/mine/unexplored)
+"m" = (
+/obj/effect/decal/cleanable/blood/splatter,
+/obj/effect/decal/remains,
+/turf/simulated/floor/asteroid/ash/rocky,
+/area/mine/unexplored)
+"n" = (
+/obj/item/weapon/pickaxe/gold,
+/turf/simulated/floor/asteroid/ash/rocky,
+/area/mine/unexplored)
+"o" = (
+/obj/random/medical,
+/turf/simulated/floor/asteroid/ash/rocky,
+/area/mine/unexplored)
+"p" = (
+/obj/random/plushie,
+/turf/simulated/floor/asteroid/ash/rocky,
+/area/mine/unexplored)
+"q" = (
+/obj/effect/decal/remains/mouse,
+/turf/simulated/floor/asteroid/ash/rocky,
+/area/mine/unexplored)
+"r" = (
+/obj/random/spacecash,
+/turf/simulated/floor/asteroid/ash/rocky,
+/area/mine/unexplored)
+
+(1,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(2,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(3,1,1) = {"
+a
+a
+a
+a
+c
+c
+c
+c
+c
+c
+c
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(4,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+c
+c
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(5,1,1) = {"
+a
+a
+a
+b
+b
+b
+b
+b
+b
+b
+b
+c
+c
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(6,1,1) = {"
+a
+a
+a
+b
+a
+a
+a
+a
+a
+a
+b
+b
+c
+c
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+c
+c
+c
+c
+c
+c
+c
+a
+"}
+(7,1,1) = {"
+a
+a
+a
+b
+a
+c
+c
+c
+c
+c
+a
+b
+b
+c
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+c
+e
+b
+b
+b
+r
+c
+a
+"}
+(8,1,1) = {"
+a
+a
+a
+b
+a
+a
+a
+a
+a
+c
+a
+b
+g
+c
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+c
+b
+h
+b
+e
+b
+c
+c
+"}
+(9,1,1) = {"
+b
+b
+b
+d
+b
+b
+b
+b
+b
+c
+a
+a
+b
+c
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+c
+d
+b
+q
+b
+b
+b
+b
+"}
+(10,1,1) = {"
+a
+a
+c
+c
+c
+c
+c
+a
+b
+c
+a
+a
+b
+c
+a
+a
+a
+a
+a
+a
+a
+c
+c
+c
+c
+b
+c
+c
+c
+c
+c
+a
+"}
+(11,1,1) = {"
+a
+a
+a
+b
+b
+e
+c
+a
+b
+b
+b
+b
+b
+c
+a
+c
+c
+c
+c
+a
+a
+c
+a
+b
+a
+b
+a
+b
+b
+b
+a
+a
+"}
+(12,1,1) = {"
+a
+a
+b
+b
+c
+c
+c
+c
+c
+c
+b
+a
+a
+c
+a
+c
+a
+a
+a
+a
+a
+c
+a
+b
+b
+b
+b
+b
+c
+b
+c
+a
+"}
+(13,1,1) = {"
+a
+a
+b
+c
+c
+a
+a
+a
+a
+c
+b
+a
+c
+c
+c
+c
+c
+c
+c
+c
+a
+c
+a
+b
+a
+a
+a
+a
+a
+b
+c
+a
+"}
+(14,1,1) = {"
+a
+a
+b
+c
+a
+b
+b
+b
+b
+c
+b
+b
+b
+b
+b
+b
+l
+l
+l
+c
+c
+c
+a
+b
+c
+c
+c
+c
+a
+b
+c
+a
+"}
+(15,1,1) = {"
+a
+a
+b
+c
+a
+b
+a
+c
+b
+c
+c
+c
+c
+c
+e
+k
+b
+b
+e
+c
+c
+b
+b
+b
+c
+b
+c
+a
+a
+b
+b
+a
+"}
+(16,1,1) = {"
+a
+a
+b
+c
+a
+b
+b
+c
+b
+a
+a
+a
+c
+c
+b
+b
+m
+b
+n
+b
+b
+b
+a
+a
+c
+e
+c
+c
+a
+a
+b
+a
+"}
+(17,1,1) = {"
+b
+b
+b
+b
+b
+b
+g
+c
+b
+b
+b
+b
+c
+b
+j
+b
+b
+h
+b
+c
+c
+c
+c
+c
+c
+b
+b
+c
+a
+a
+b
+b
+"}
+(18,1,1) = {"
+b
+a
+a
+a
+a
+b
+e
+c
+a
+a
+a
+b
+b
+b
+c
+b
+e
+b
+d
+a
+a
+a
+a
+c
+p
+b
+d
+c
+a
+a
+a
+b
+"}
+(19,1,1) = {"
+b
+b
+b
+a
+a
+b
+h
+c
+a
+a
+a
+a
+c
+c
+c
+c
+c
+c
+c
+a
+a
+a
+a
+c
+b
+b
+b
+c
+c
+a
+a
+b
+"}
+(20,1,1) = {"
+a
+a
+b
+c
+c
+c
+c
+c
+c
+c
+c
+c
+c
+b
+b
+b
+a
+a
+a
+a
+a
+a
+a
+c
+b
+b
+e
+h
+c
+a
+a
+b
+"}
+(21,1,1) = {"
+a
+a
+b
+b
+b
+e
+c
+a
+i
+e
+c
+h
+b
+b
+b
+d
+a
+a
+a
+a
+a
+a
+a
+c
+b
+c
+c
+c
+c
+c
+a
+b
+"}
+(22,1,1) = {"
+a
+a
+a
+a
+a
+b
+c
+a
+c
+c
+c
+b
+b
+b
+e
+a
+a
+a
+a
+a
+a
+a
+a
+c
+b
+b
+b
+b
+a
+c
+a
+b
+"}
+(23,1,1) = {"
+a
+a
+a
+a
+a
+b
+c
+a
+a
+a
+c
+c
+c
+c
+c
+c
+c
+c
+c
+a
+c
+c
+c
+c
+b
+a
+a
+b
+b
+c
+a
+b
+"}
+(24,1,1) = {"
+a
+a
+a
+a
+a
+f
+c
+a
+a
+a
+c
+a
+a
+a
+a
+a
+a
+a
+c
+a
+c
+h
+e
+c
+b
+c
+c
+c
+b
+c
+a
+b
+"}
+(25,1,1) = {"
+a
+c
+c
+c
+c
+c
+c
+a
+a
+a
+c
+a
+a
+a
+a
+a
+a
+a
+c
+a
+c
+b
+b
+b
+b
+a
+a
+a
+b
+b
+b
+b
+"}
+(26,1,1) = {"
+a
+a
+a
+a
+a
+a
+c
+a
+a
+a
+c
+a
+a
+a
+a
+a
+a
+a
+c
+a
+c
+o
+b
+b
+b
+a
+a
+a
+a
+a
+a
+a
+"}
+(27,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+c
+a
+a
+a
+a
+a
+a
+a
+c
+a
+c
+b
+b
+b
+d
+a
+c
+c
+c
+c
+c
+c
+"}
+(28,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+c
+a
+c
+b
+e
+b
+b
+a
+c
+a
+a
+a
+a
+a
+"}
+(29,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+c
+c
+c
+c
+c
+c
+c
+a
+a
+a
+a
+a
+"}
+(30,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(31,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(32,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
diff --git a/maps/dungeon_spawns/mining_field.dmm b/maps/dungeon_spawns/mining_field.dmm
new file mode 100644
index 00000000000..22234a3d99a
--- /dev/null
+++ b/maps/dungeon_spawns/mining_field.dmm
@@ -0,0 +1,1226 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"a" = (
+/turf/unsimulated/chasm_mask,
+/area/mine/unexplored)
+"b" = (
+/turf/simulated/mineral,
+/area/mine/unexplored)
+"c" = (
+/obj/random/spacecash,
+/turf/simulated/floor/asteroid/ash/rocky,
+/area/mine/unexplored)
+"d" = (
+/turf/simulated/floor/asteroid/ash/rocky,
+/area/mine/unexplored)
+"e" = (
+/obj/item/weapon/ore/phoron,
+/turf/simulated/floor/asteroid/ash/rocky,
+/area/mine/unexplored)
+"f" = (
+/obj/item/weapon/ore,
+/turf/simulated/floor/asteroid/ash/rocky,
+/area/mine/unexplored)
+"g" = (
+/mob/living/simple_animal/hostile/retaliate/minedrone,
+/turf/simulated/floor/asteroid/ash/rocky,
+/area/mine/unexplored)
+"h" = (
+/obj/structure/table/rack,
+/obj/item/clothing/suit/space/void/mining,
+/obj/item/clothing/head/helmet/space/void/mining,
+/turf/simulated/floor/airless/ceiling,
+/area/mine/unexplored)
+"i" = (
+/obj/structure/table/rack,
+/obj/item/weapon/pickaxe/jackhammer,
+/turf/simulated/floor/airless/ceiling,
+/area/mine/unexplored)
+"j" = (
+/obj/random/custom_ka,
+/obj/structure/table/rack,
+/turf/simulated/floor/airless/ceiling,
+/area/mine/unexplored)
+"k" = (
+/obj/structure/ore_box,
+/turf/simulated/floor/airless/ceiling,
+/area/mine/unexplored)
+"l" = (
+/obj/structure/table/rack,
+/obj/random/firstaid,
+/turf/simulated/floor/airless/ceiling,
+/area/mine/unexplored)
+"m" = (
+/obj/structure/table/rack,
+/obj/random/backpack,
+/turf/simulated/floor/airless/ceiling,
+/area/mine/unexplored)
+"n" = (
+/obj/random/junk,
+/turf/simulated/floor/asteroid/ash/rocky,
+/area/mine/unexplored)
+"o" = (
+/obj/machinery/floodlight{
+ on = 1
+ },
+/turf/simulated/floor/asteroid/ash/rocky,
+/area/mine/unexplored)
+"p" = (
+/obj/item/weapon/ore/iron,
+/turf/simulated/floor/asteroid/ash/rocky,
+/area/mine/unexplored)
+"q" = (
+/obj/structure/ore_box,
+/turf/simulated/floor/asteroid/ash/rocky,
+/area/mine/unexplored)
+"r" = (
+/mob/living/silicon/robot/drone/mining,
+/turf/simulated/floor/asteroid/ash/rocky,
+/area/mine/unexplored)
+"s" = (
+/turf/simulated/floor/airless/ceiling,
+/area/mine/unexplored)
+"t" = (
+/obj/item/weapon/ore/hydrogen,
+/turf/simulated/floor/asteroid/ash/rocky,
+/area/mine/unexplored)
+"u" = (
+/obj/structure/table/standard,
+/obj/random/toolbox,
+/turf/simulated/floor/airless/ceiling,
+/area/mine/unexplored)
+"v" = (
+/obj/mecha/working/ripley/mining,
+/obj/machinery/mech_recharger,
+/turf/simulated/floor/airless/ceiling,
+/area/mine/unexplored)
+"w" = (
+/obj/structure/table/rack,
+/obj/random/tech_supply,
+/turf/simulated/floor/airless/ceiling,
+/area/mine/unexplored)
+"x" = (
+/obj/structure/closet/crate,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/diamond,
+/obj/item/weapon/ore/diamond,
+/turf/simulated/floor/asteroid/ash/rocky,
+/area/mine/unexplored)
+"y" = (
+/obj/item/weapon/ore/uranium,
+/turf/simulated/floor/asteroid/ash/rocky,
+/area/mine/unexplored)
+"z" = (
+/obj/structure/closet/crate/secure/loot,
+/turf/simulated/floor/airless/ceiling,
+/area/mine/unexplored)
+"A" = (
+/obj/structure/closet/excavation,
+/turf/simulated/floor/airless/ceiling,
+/area/mine/unexplored)
+"B" = (
+/obj/structure/closet/toolcloset,
+/turf/simulated/floor/airless/ceiling,
+/area/mine/unexplored)
+"C" = (
+/obj/item/weapon/ore/osmium,
+/turf/simulated/floor/asteroid/ash/rocky,
+/area/mine/unexplored)
+"D" = (
+/obj/item/weapon/storage/bag/ore,
+/turf/simulated/floor/asteroid/ash/rocky,
+/area/mine/unexplored)
+"E" = (
+/obj/structure/closet/crate,
+/obj/item/weapon/ore/strangerock,
+/turf/simulated/floor/asteroid/ash/rocky,
+/area/mine/unexplored)
+
+(1,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(2,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(3,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(4,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(5,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+a
+a
+a
+a
+a
+a
+"}
+(6,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+b
+b
+b
+b
+b
+b
+a
+a
+a
+a
+a
+a
+"}
+(7,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+b
+q
+d
+d
+d
+b
+b
+a
+a
+a
+a
+a
+a
+"}
+(8,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+b
+q
+d
+C
+d
+E
+b
+a
+a
+a
+a
+a
+a
+"}
+(9,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+x
+d
+d
+d
+f
+d
+b
+a
+a
+a
+a
+a
+a
+"}
+(10,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+b
+b
+b
+b
+b
+b
+b
+d
+d
+d
+d
+d
+g
+b
+a
+a
+a
+a
+a
+a
+"}
+(11,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+d
+d
+d
+g
+b
+d
+f
+d
+d
+d
+n
+d
+f
+b
+a
+a
+a
+a
+a
+a
+"}
+(12,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+b
+d
+d
+d
+d
+d
+d
+d
+y
+d
+f
+d
+d
+d
+b
+b
+a
+a
+a
+a
+a
+"}
+(13,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+h
+f
+d
+r
+d
+d
+n
+d
+d
+d
+d
+d
+D
+b
+b
+b
+a
+a
+a
+a
+a
+"}
+(14,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+i
+d
+n
+d
+d
+d
+d
+d
+d
+d
+d
+d
+b
+b
+b
+b
+a
+a
+a
+a
+a
+"}
+(15,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+j
+d
+d
+d
+s
+u
+s
+d
+d
+d
+d
+d
+b
+b
+b
+a
+a
+a
+a
+a
+a
+"}
+(16,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+k
+d
+o
+d
+s
+v
+s
+d
+d
+d
+d
+b
+b
+b
+a
+a
+a
+a
+a
+a
+a
+"}
+(17,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+b
+d
+d
+d
+s
+w
+s
+d
+d
+d
+b
+b
+b
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(18,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+b
+d
+d
+d
+d
+d
+d
+d
+d
+d
+d
+b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(19,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+b
+d
+p
+d
+g
+d
+d
+d
+d
+d
+n
+b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(20,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+d
+d
+d
+d
+d
+d
+d
+f
+d
+d
+d
+b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(21,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+d
+e
+d
+d
+d
+d
+d
+d
+d
+d
+z
+b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(22,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+b
+d
+d
+d
+d
+f
+d
+d
+d
+d
+z
+b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(23,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+d
+f
+d
+d
+d
+p
+d
+d
+d
+A
+b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(24,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+b
+b
+d
+d
+d
+d
+d
+d
+d
+d
+g
+B
+b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(25,1,1) = {"
+a
+a
+a
+a
+a
+a
+b
+b
+b
+b
+d
+d
+d
+d
+d
+t
+d
+d
+d
+d
+d
+b
+b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(26,1,1) = {"
+a
+a
+a
+a
+a
+a
+b
+c
+f
+d
+d
+d
+d
+d
+d
+f
+d
+d
+b
+d
+b
+b
+b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(27,1,1) = {"
+a
+a
+a
+a
+a
+a
+b
+d
+d
+d
+e
+d
+d
+d
+d
+d
+d
+b
+b
+b
+b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(28,1,1) = {"
+a
+a
+a
+a
+a
+a
+b
+d
+d
+g
+d
+d
+f
+d
+d
+d
+d
+b
+b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(29,1,1) = {"
+a
+a
+a
+a
+a
+a
+b
+e
+d
+d
+d
+l
+m
+q
+q
+b
+b
+b
+b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(30,1,1) = {"
+a
+a
+a
+a
+a
+a
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(31,1,1) = {"
+a
+a
+a
+a
+a
+a
+b
+b
+b
+a
+a
+b
+b
+b
+b
+b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(32,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
diff --git a/maps/dungeon_spawns/shuttle_unique.dmm b/maps/dungeon_spawns/shuttle_unique.dmm
new file mode 100644
index 00000000000..aec936c74cf
--- /dev/null
+++ b/maps/dungeon_spawns/shuttle_unique.dmm
@@ -0,0 +1,1634 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"aa" = (
+/turf/unsimulated/chasm_mask,
+/area/mine/unexplored)
+"ab" = (
+/turf/simulated/floor/asteroid/ash/rocky,
+/turf/simulated/shuttle/wall/dark{
+ dir = 8;
+ icon_state = "diagonalWall3"
+ },
+/area/crashed_ship)
+"ac" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced,
+/obj/structure/window/reinforced{
+ icon_state = "rwindow";
+ dir = 8
+ },
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/obj/structure/window/reinforced{
+ icon_state = "rwindow";
+ dir = 1
+ },
+/turf/simulated/floor/holofloor/tiled/dark,
+/area/crashed_ship)
+"ad" = (
+/turf/simulated/floor/asteroid/ash/rocky,
+/turf/simulated/shuttle/wall/dark{
+ dir = 6;
+ icon_state = "diagonalWall3"
+ },
+/area/crashed_ship)
+"ae" = (
+/turf/simulated/wall/voxshuttle,
+/area/crashed_ship)
+"af" = (
+/obj/structure/computerframe,
+/turf/simulated/floor/tiled/dark,
+/area/crashed_ship)
+"ag" = (
+/obj/structure/bed/chair/office/bridge{
+ icon_state = "bridge";
+ dir = 1
+ },
+/obj/machinery/button/remote/blast_door{
+ id = "crashed";
+ pixel_x = 32
+ },
+/turf/simulated/floor/tiled/dark,
+/area/crashed_ship)
+"ah" = (
+/obj/machinery/recharger/wallcharger{
+ pixel_x = -32;
+ pixel_y = 2
+ },
+/obj/structure/table/reinforced,
+/obj/random/loot,
+/turf/simulated/floor/tiled/dark,
+/area/crashed_ship)
+"ai" = (
+/turf/simulated/floor/tiled/dark,
+/area/crashed_ship)
+"aj" = (
+/obj/machinery/recharger/wallcharger{
+ pixel_x = 32;
+ pixel_y = 2
+ },
+/obj/structure/table/reinforced,
+/obj/item/device/binoculars,
+/turf/simulated/floor/tiled/dark,
+/area/crashed_ship)
+"ak" = (
+/obj/structure/table/reinforced,
+/obj/item/weapon/gun/energy/retro,
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/dark,
+/area/crashed_ship)
+"al" = (
+/obj/structure/table/reinforced,
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/random/coin,
+/turf/simulated/floor/tiled/dark,
+/area/crashed_ship)
+"am" = (
+/obj/machinery/door/airlock/hatch,
+/turf/simulated/floor/holofloor/tiled/dark,
+/area/crashed_ship)
+"an" = (
+/obj/structure/bed/chair{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/dark,
+/area/crashed_ship)
+"ao" = (
+/obj/structure/bed/chair{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/dark,
+/area/crashed_ship)
+"ap" = (
+/obj/machinery/suit_storage_unit/standard_unit,
+/turf/simulated/floor/tiled/dark,
+/area/crashed_ship)
+"aq" = (
+/obj/structure/bed/chair{
+ dir = 4
+ },
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/dark,
+/area/crashed_ship)
+"ar" = (
+/obj/structure/bed/chair{
+ dir = 8
+ },
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/dark,
+/area/crashed_ship)
+"as" = (
+/obj/machinery/door/airlock/hatch{
+ icon_state = "door_locked";
+ id_tag = "engine_access_hatch";
+ locked = 1;
+ req_access = list(11)
+ },
+/turf/simulated/floor/tiled/dark,
+/area/crashed_ship)
+"at" = (
+/obj/machinery/door/airlock/hatch{
+ icon_state = "door_locked";
+ id_tag = "engine_access_hatch";
+ locked = 1;
+ req_access = list(11)
+ },
+/turf/simulated/floor/holofloor/tiled/dark,
+/area/crashed_ship)
+"au" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/dark,
+/area/crashed_ship)
+"av" = (
+/obj/structure/closet/secure_closet/medical_wall{
+ pixel_x = -32;
+ pixel_y = 0;
+ req_access = list(150)
+ },
+/obj/item/stack/medical/splint,
+/obj/item/stack/medical/ointment,
+/obj/item/stack/medical/ointment,
+/obj/item/stack/medical/bruise_pack,
+/obj/item/stack/medical/bruise_pack,
+/obj/item/stack/medical/bruise_pack,
+/turf/simulated/floor/tiled/dark,
+/area/crashed_ship)
+"aw" = (
+/obj/structure/closet/walllocker/emerglocker/east,
+/turf/simulated/floor/tiled/dark,
+/area/crashed_ship)
+"ax" = (
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/dark,
+/area/crashed_ship)
+"ay" = (
+/obj/structure/dispenser/oxygen,
+/turf/simulated/floor/tiled/dark,
+/area/crashed_ship)
+"az" = (
+/obj/machinery/door/airlock/hatch,
+/turf/simulated/floor/tiled/dark,
+/area/crashed_ship)
+"aA" = (
+/obj/structure/table/rack,
+/obj/item/clothing/suit/space/syndicate/black,
+/obj/item/clothing/head/helmet/space/syndicate/black,
+/turf/simulated/floor/tiled/dark,
+/area/crashed_ship)
+"aB" = (
+/obj/structure/closet/crate/freezer/rations,
+/turf/simulated/floor/tiled/dark,
+/area/crashed_ship)
+"aC" = (
+/obj/machinery/light/small,
+/obj/structure/table/rack,
+/obj/random/belt,
+/turf/simulated/floor/tiled/dark,
+/area/crashed_ship)
+"aD" = (
+/obj/machinery/recharge_station,
+/turf/simulated/floor/tiled/dark,
+/area/crashed_ship)
+"aE" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/dark,
+/area/crashed_ship)
+"aF" = (
+/obj/effect/floor_decal/corner/green{
+ icon_state = "corner_white";
+ dir = 9
+ },
+/obj/effect/floor_decal/corner/green{
+ icon_state = "corner_white";
+ dir = 5
+ },
+/turf/simulated/floor/tiled/white,
+/area/crashed_ship)
+"aG" = (
+/obj/machinery/sleeper,
+/turf/simulated/floor/tiled/white,
+/area/crashed_ship)
+"aH" = (
+/obj/effect/floor_decal/corner/green{
+ icon_state = "corner_white";
+ dir = 6
+ },
+/obj/effect/floor_decal/corner/green{
+ icon_state = "corner_white";
+ dir = 5
+ },
+/obj/machinery/iv_drip,
+/turf/simulated/floor/tiled/white,
+/area/crashed_ship)
+"aI" = (
+/obj/structure/table/standard,
+/obj/item/robot_parts/chest/hephaestus,
+/turf/simulated/floor/tiled/dark,
+/area/crashed_ship)
+"aJ" = (
+/obj/effect/floor_decal/corner/green{
+ icon_state = "corner_white";
+ dir = 9
+ },
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 8
+ },
+/turf/simulated/floor/tiled/white,
+/area/crashed_ship)
+"aK" = (
+/turf/simulated/floor/tiled/white,
+/area/crashed_ship)
+"aL" = (
+/obj/effect/floor_decal/corner/green{
+ icon_state = "corner_white";
+ dir = 4
+ },
+/turf/simulated/floor/tiled/white,
+/area/crashed_ship)
+"aM" = (
+/obj/structure/table/standard,
+/obj/random/firstaid,
+/turf/simulated/floor/tiled/white,
+/area/crashed_ship)
+"aN" = (
+/obj/machinery/light{
+ dir = 1;
+ icon_state = "tube1"
+ },
+/turf/simulated/floor/tiled/dark,
+/area/crashed_ship)
+"aO" = (
+/obj/structure/table/rack,
+/obj/random/backpack,
+/turf/simulated/floor/tiled/dark,
+/area/crashed_ship)
+"aP" = (
+/obj/structure/table/standard,
+/obj/item/mecha_parts/part/phazon_head,
+/turf/simulated/floor/tiled/dark,
+/area/crashed_ship)
+"aQ" = (
+/obj/effect/floor_decal/corner/green{
+ icon_state = "corner_white";
+ dir = 9
+ },
+/turf/simulated/floor/tiled/white,
+/area/crashed_ship)
+"aR" = (
+/obj/structure/table/standard,
+/obj/random/medical,
+/obj/machinery/light{
+ dir = 4;
+ icon_state = "tube1"
+ },
+/turf/simulated/floor/tiled/white,
+/area/crashed_ship)
+"aS" = (
+/obj/structure/table/rack,
+/obj/machinery/light/small{
+ dir = 1
+ },
+/obj/item/stack/material/phoron{
+ amount = 25
+ },
+/turf/simulated/floor/tiled/dark,
+/area/crashed_ship)
+"aT" = (
+/obj/machinery/power/apc{
+ coverlocked = 0;
+ dir = 1;
+ environ = 0;
+ equipment = 0;
+ is_critical = 0;
+ lighting = 0;
+ locked = 0;
+ name = "north bump";
+ pixel_x = 0;
+ pixel_y = 24
+ },
+/turf/simulated/floor/tiled/dark,
+/area/crashed_ship)
+"aU" = (
+/obj/machinery/cryopod{
+ icon_state = "body_scanner_0";
+ dir = 4
+ },
+/turf/simulated/floor/tiled/dark,
+/area/crashed_ship)
+"aV" = (
+/obj/effect/floor_decal/corner/green{
+ icon_state = "corner_white";
+ dir = 6
+ },
+/turf/simulated/floor/tiled/white,
+/area/crashed_ship)
+"aW" = (
+/obj/machinery/power/smes/buildable,
+/turf/simulated/floor/tiled/dark,
+/area/crashed_ship)
+"aX" = (
+/obj/structure/table/rack,
+/obj/item/weapon/storage/toolbox/electrical,
+/obj/machinery/light/small,
+/turf/simulated/floor/tiled/dark,
+/area/crashed_ship)
+"aY" = (
+/obj/structure/table/rack,
+/obj/item/weapon/storage/toolbox/syndicate,
+/turf/simulated/floor/tiled/dark,
+/area/crashed_ship)
+"aZ" = (
+/obj/effect/decal/mecha_wreckage/ripley,
+/obj/machinery/mech_recharger,
+/turf/simulated/floor/tiled/dark,
+/area/crashed_ship)
+"ba" = (
+/obj/machinery/mech_recharger,
+/turf/simulated/floor/tiled/dark,
+/area/crashed_ship)
+"bb" = (
+/obj/structure/closet/crate/loot,
+/turf/simulated/floor/tiled/dark,
+/area/crashed_ship)
+"bc" = (
+/obj/machinery/light/small,
+/turf/simulated/floor/tiled/dark,
+/area/crashed_ship)
+"bd" = (
+/obj/machinery/bodyscanner{
+ icon_state = "body_scanner_0";
+ dir = 4
+ },
+/obj/effect/floor_decal/corner/green{
+ icon_state = "corner_white";
+ dir = 9
+ },
+/turf/simulated/floor/tiled/white,
+/area/crashed_ship)
+"be" = (
+/obj/machinery/body_scanconsole{
+ icon_state = "body_scannerconsole";
+ dir = 8
+ },
+/obj/effect/floor_decal/corner/green{
+ icon_state = "corner_white";
+ dir = 10
+ },
+/turf/simulated/floor/tiled/white,
+/area/crashed_ship)
+"bf" = (
+/obj/effect/floor_decal/corner/green{
+ icon_state = "corner_white";
+ dir = 10
+ },
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 2
+ },
+/turf/simulated/floor/tiled/white,
+/area/crashed_ship)
+"bg" = (
+/obj/effect/floor_decal/industrial/hatch/red,
+/obj/structure/closet/secure_closet/medical_wall{
+ name = "blood locker";
+ pixel_x = 32;
+ pixel_y = 0
+ },
+/obj/item/weapon/reagent_containers/blood/ripped,
+/turf/simulated/floor/tiled/white,
+/area/crashed_ship)
+"bh" = (
+/obj/machinery/power/rtg/advanced,
+/turf/simulated/floor/tiled/dark,
+/area/crashed_ship)
+"bi" = (
+/obj/structure/table/rack,
+/obj/item/clothing/head/helmet,
+/turf/simulated/floor/tiled/dark,
+/area/crashed_ship)
+"bj" = (
+/obj/structure/closet/secure_closet/guncabinet,
+/turf/simulated/floor/tiled/dark,
+/area/crashed_ship)
+"bk" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/obj/structure/table/rack,
+/obj/item/clothing/suit/storage/vest/heavy,
+/turf/simulated/floor/tiled/dark,
+/area/crashed_ship)
+"bl" = (
+/obj/structure/closet/secure_closet/guncabinet,
+/obj/random/projectile,
+/turf/simulated/floor/tiled/dark,
+/area/crashed_ship)
+"bm" = (
+/obj/structure/closet/crate/secure/gear,
+/obj/item/weapon/anomaly_core,
+/turf/simulated/floor/tiled/dark,
+/area/crashed_ship)
+"bn" = (
+/obj/structure/closet/excavation,
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/dark,
+/area/crashed_ship)
+"bo" = (
+/obj/structure/closet/toolcloset,
+/turf/simulated/floor/tiled/dark,
+/area/crashed_ship)
+"bp" = (
+/obj/structure/closet/crate/large,
+/obj/item/weapon/archaeological_find,
+/turf/simulated/floor/tiled/dark,
+/area/crashed_ship)
+"bq" = (
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 2
+ },
+/turf/simulated/floor/tiled/dark,
+/area/crashed_ship)
+"br" = (
+/obj/machinery/door/airlock/hatch,
+/obj/machinery/door/blast/regular{
+ id = "crashed"
+ },
+/turf/simulated/floor/tiled/dark,
+/area/crashed_ship)
+"bs" = (
+/obj/machinery/power/rtg/advanced,
+/obj/machinery/light/small,
+/turf/simulated/floor/tiled/dark,
+/area/crashed_ship)
+"bt" = (
+/turf/simulated/floor/asteroid/ash/rocky,
+/turf/simulated/shuttle/wall/dark{
+ icon_state = "diagonalWall3"
+ },
+/area/crashed_ship)
+"bu" = (
+/turf/simulated/floor/asteroid/ash/rocky,
+/turf/simulated/shuttle/wall/dark{
+ dir = 4;
+ icon_state = "diagonalWall3"
+ },
+/area/crashed_ship)
+"bv" = (
+/obj/structure/closet/secure_closet/guncabinet,
+/obj/random/energy,
+/turf/simulated/floor/tiled/dark,
+/area/crashed_ship)
+"bw" = (
+/obj/structure/table/rack,
+/turf/simulated/floor/tiled/dark,
+/area/crashed_ship)
+"bx" = (
+/obj/machinery/porta_turret/xray{
+ emagged = 1
+ },
+/turf/simulated/floor/tiled/dark,
+/area/crashed_ship)
+"by" = (
+/obj/structure/table/rack,
+/obj/item/weapon/melee/baton,
+/turf/simulated/floor/tiled/dark,
+/area/crashed_ship)
+"bz" = (
+/obj/machinery/artifact,
+/obj/machinery/artifact_scanpad,
+/turf/simulated/floor/tiled/dark,
+/area/crashed_ship)
+"bA" = (
+/obj/machinery/artifact_analyser,
+/turf/simulated/floor/tiled/dark,
+/area/crashed_ship)
+"bB" = (
+/obj/structure/shuttle/engine/heater,
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/dark,
+/area/crashed_ship)
+"bC" = (
+/obj/structure/shuttle/engine/propulsion{
+ icon_state = "propulsion_l"
+ },
+/turf/unsimulated/chasm_mask,
+/area/crashed_ship)
+"bD" = (
+/obj/structure/shuttle/engine/propulsion,
+/turf/unsimulated/chasm_mask,
+/area/crashed_ship)
+"bE" = (
+/obj/structure/shuttle/engine/propulsion{
+ icon_state = "propulsion_r"
+ },
+/turf/unsimulated/chasm_mask,
+/area/crashed_ship)
+
+(1,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(2,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(3,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(4,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(5,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ae
+ae
+ae
+ae
+ae
+ae
+bt
+aa
+aa
+aa
+aa
+aa
+"}
+(6,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ae
+ae
+aU
+aU
+aU
+aU
+ae
+ae
+aa
+aa
+aa
+aa
+aa
+"}
+(7,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ae
+aN
+ai
+ai
+ai
+ai
+bq
+ae
+aa
+aa
+aa
+aa
+aa
+"}
+(8,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ae
+aO
+ai
+ai
+ai
+ai
+ai
+ae
+bt
+aa
+aa
+aa
+aa
+"}
+(9,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ae
+ae
+ae
+am
+ae
+ae
+ae
+br
+ae
+ae
+bt
+aa
+aa
+aa
+"}
+(10,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ae
+ae
+aI
+aP
+ai
+aX
+ae
+bi
+ai
+bc
+ae
+ae
+aa
+aa
+aa
+"}
+(11,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ae
+as
+as
+ae
+ae
+ae
+aD
+ai
+ai
+ai
+aY
+ae
+bj
+ai
+ai
+bv
+ae
+aa
+aa
+aa
+"}
+(12,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ae
+ae
+ai
+ai
+ay
+aA
+ae
+aD
+ai
+ai
+ai
+aZ
+ae
+bk
+ai
+ai
+bw
+ae
+aa
+aa
+aa
+"}
+(13,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ae
+ae
+ap
+ai
+au
+ai
+ai
+am
+ai
+au
+ai
+ai
+ba
+ae
+bl
+ai
+ai
+bx
+ae
+aa
+aa
+aa
+"}
+(14,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+ab
+ae
+ae
+ae
+ae
+ae
+ae
+ae
+ae
+ae
+az
+ae
+ae
+ae
+ae
+az
+ae
+ae
+ae
+ae
+ae
+br
+ae
+ae
+bt
+aa
+aa
+"}
+(15,1,1) = {"
+aa
+aa
+aa
+aa
+ab
+ae
+ae
+ah
+ak
+af
+ae
+an
+aq
+an
+av
+ai
+aB
+ae
+ai
+ai
+ai
+ai
+bb
+ae
+ai
+ai
+ai
+ai
+bB
+bC
+aa
+aa
+"}
+(16,1,1) = {"
+aa
+aa
+aa
+aa
+ac
+af
+ag
+ai
+ai
+ai
+am
+ai
+ai
+ai
+ai
+ai
+aC
+ae
+aE
+ai
+ai
+ai
+bc
+ae
+aE
+ai
+ai
+ai
+bB
+bD
+aa
+aa
+"}
+(17,1,1) = {"
+aa
+aa
+aa
+aa
+ad
+ae
+ae
+aj
+al
+af
+ae
+ao
+ar
+ao
+aw
+ai
+aB
+ae
+ai
+ai
+ai
+ai
+bb
+ae
+ai
+ai
+ai
+ai
+bB
+bE
+aa
+aa
+"}
+(18,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+ad
+ae
+ae
+ae
+ae
+ae
+ae
+ae
+ae
+ae
+az
+ae
+ae
+ae
+ae
+az
+ae
+ae
+ae
+ae
+ae
+br
+ae
+ae
+bu
+aa
+aa
+"}
+(19,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ad
+ae
+ae
+ap
+ai
+ax
+ai
+ai
+az
+aF
+aJ
+aQ
+aQ
+bd
+ae
+bm
+ai
+ai
+by
+ae
+aa
+aa
+aa
+"}
+(20,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ad
+ae
+ae
+ai
+ai
+ay
+aA
+ae
+aG
+aK
+aK
+aK
+be
+ae
+bn
+ai
+ai
+bz
+ae
+aa
+aa
+aa
+"}
+(21,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ad
+ae
+at
+at
+ae
+ae
+ae
+aH
+aL
+aK
+aK
+bf
+ae
+bo
+ai
+ai
+bA
+ae
+aa
+aa
+aa
+"}
+(22,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ad
+ae
+ae
+aM
+aR
+aV
+bg
+ae
+bp
+ai
+bc
+ae
+ae
+aa
+aa
+aa
+"}
+(23,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ad
+ae
+ae
+ae
+az
+ae
+ae
+ae
+br
+ae
+ae
+bu
+aa
+aa
+aa
+"}
+(24,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ad
+ae
+aS
+ai
+ai
+ai
+ai
+ai
+ae
+bu
+aa
+aa
+aa
+aa
+"}
+(25,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ae
+aT
+ai
+ai
+ai
+ai
+bs
+ae
+aa
+aa
+aa
+aa
+aa
+"}
+(26,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ae
+ae
+aW
+bh
+bh
+bh
+ae
+ae
+aa
+aa
+aa
+aa
+aa
+"}
+(27,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ad
+ae
+ae
+ae
+ae
+ae
+ae
+bu
+aa
+aa
+aa
+aa
+aa
+"}
+(28,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(29,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(30,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(31,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(32,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
diff --git a/maps/dungeon_spawns/tomb_unique.dmm b/maps/dungeon_spawns/tomb_unique.dmm
new file mode 100644
index 00000000000..0447c492abb
--- /dev/null
+++ b/maps/dungeon_spawns/tomb_unique.dmm
@@ -0,0 +1,1109 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"a" = (
+/turf/unsimulated/chasm_mask,
+/area/mine/unexplored)
+"b" = (
+/turf/simulated/wall/sandstone,
+/area/tomb)
+"c" = (
+/turf/simulated/floor/tiled/dark,
+/area/tomb)
+"d" = (
+/turf/simulated/floor/silver,
+/area/tomb)
+"e" = (
+/turf/simulated/floor/gold,
+/area/tomb)
+"f" = (
+/obj/structure/sarcophagus,
+/turf/simulated/floor/gold,
+/area/tomb)
+
+(1,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(2,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(3,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(4,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(5,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(6,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(7,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(8,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(9,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(10,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(11,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(12,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+c
+c
+c
+c
+c
+c
+c
+c
+c
+b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(13,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+c
+c
+c
+c
+c
+c
+c
+c
+c
+b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(14,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+c
+c
+d
+d
+d
+d
+d
+c
+c
+b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(15,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+c
+c
+d
+e
+d
+e
+d
+c
+c
+b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(16,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+c
+c
+d
+d
+f
+d
+d
+c
+c
+b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(17,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+c
+c
+d
+e
+d
+e
+d
+c
+c
+b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(18,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+c
+c
+d
+d
+d
+d
+d
+c
+c
+b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(19,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+c
+c
+c
+c
+c
+c
+c
+c
+c
+b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(20,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+c
+c
+c
+c
+c
+c
+c
+c
+c
+b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(21,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(22,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(23,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(24,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(25,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(26,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(27,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(28,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(29,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(30,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(31,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(32,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}