diff --git a/_maps/RandomRuins/SpaceRuins/corporate_mining.dmm b/_maps/RandomRuins/SpaceRuins/corporate_mining.dmm
index 10f841b29619..42000bba1dd9 100644
--- a/_maps/RandomRuins/SpaceRuins/corporate_mining.dmm
+++ b/_maps/RandomRuins/SpaceRuins/corporate_mining.dmm
@@ -641,7 +641,7 @@
/area/ruin/space)
"ov" = (
/obj/structure/table/wood/poker,
-/obj/effect/holodeck_effect/cards,
+/obj/item/toy/cards/deck,
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
dir = 10
},
diff --git a/_maps/templates/holodeck_animeschool.dmm b/_maps/templates/holodeck_animeschool.dmm
deleted file mode 100644
index 05c9b1ad3d54..000000000000
--- a/_maps/templates/holodeck_animeschool.dmm
+++ /dev/null
@@ -1,177 +0,0 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
-"a" = (
-/turf/open/floor/holofloor,
-/area/template_noop)
-"j" = (
-/obj/structure/chair{
- dir = 1
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"n" = (
-/obj/structure/table,
-/obj/item/paper,
-/obj/item/pen,
-/obj/item/clothing/under/costume/schoolgirl,
-/obj/item/toy/katana,
-/turf/open/floor/holofloor,
-/area/template_noop)
-"s" = (
-/obj/structure/table/wood,
-/obj/item/toy/crayon/white,
-/turf/open/floor/holofloor,
-/area/template_noop)
-"x" = (
-/obj/structure/table,
-/obj/item/paper,
-/obj/item/pen,
-/obj/item/clothing/under/costume/schoolgirl/orange,
-/turf/open/floor/holofloor,
-/area/template_noop)
-"E" = (
-/obj/structure/table/wood,
-/obj/item/reagent_containers/food/snacks/grown/apple,
-/turf/open/floor/holofloor,
-/area/template_noop)
-"H" = (
-/obj/structure/table,
-/obj/item/paper,
-/obj/item/pen,
-/obj/item/clothing/under/costume/schoolgirl,
-/turf/open/floor/holofloor,
-/area/template_noop)
-"R" = (
-/obj/structure/chair{
- pixel_y = -2
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"S" = (
-/obj/structure/table,
-/obj/item/paper,
-/obj/item/pen,
-/obj/item/clothing/under/costume/schoolgirl/green,
-/turf/open/floor/holofloor,
-/area/template_noop)
-"T" = (
-/obj/structure/table,
-/obj/item/paper,
-/obj/item/pen,
-/obj/item/clothing/under/costume/schoolgirl/red,
-/turf/open/floor/holofloor,
-/area/template_noop)
-"Y" = (
-/obj/structure/table/wood,
-/obj/item/folder,
-/obj/item/melee/classic_baton/telescopic,
-/turf/open/floor/holofloor,
-/area/template_noop)
-
-(1,1,1) = {"
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-"}
-(2,1,1) = {"
-a
-a
-a
-S
-j
-n
-j
-H
-j
-a
-"}
-(3,1,1) = {"
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-"}
-(4,1,1) = {"
-a
-Y
-a
-H
-j
-x
-j
-T
-j
-a
-"}
-(5,1,1) = {"
-R
-s
-a
-a
-a
-a
-a
-a
-a
-a
-"}
-(6,1,1) = {"
-a
-E
-a
-S
-j
-T
-j
-H
-j
-a
-"}
-(7,1,1) = {"
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-"}
-(8,1,1) = {"
-a
-a
-a
-S
-j
-S
-j
-x
-j
-a
-"}
-(9,1,1) = {"
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-"}
diff --git a/_maps/templates/holodeck_anthophillia.dmm b/_maps/templates/holodeck_anthophillia.dmm
deleted file mode 100644
index c50ff32ebced..000000000000
--- a/_maps/templates/holodeck_anthophillia.dmm
+++ /dev/null
@@ -1,130 +0,0 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
-"a" = (
-/obj/effect/holodeck_effect/mobspawner/bee,
-/turf/open/floor/holofloor/asteroid,
-/area/template_noop)
-"v" = (
-/obj/effect/holodeck_effect/mobspawner/bee,
-/obj/effect/decal/remains/human,
-/obj/item/clothing/suit/beekeeper_suit,
-/turf/open/floor/holofloor/asteroid,
-/area/template_noop)
-"U" = (
-/obj/effect/holodeck_effect/mobspawner/bee,
-/obj/item/clothing/head/beekeeper_head,
-/turf/open/floor/holofloor/asteroid,
-/area/template_noop)
-"W" = (
-/obj/effect/holodeck_effect/mobspawner/bee,
-/obj/item/melee/flyswatter,
-/turf/open/floor/holofloor/asteroid,
-/area/template_noop)
-
-(1,1,1) = {"
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-"}
-(2,1,1) = {"
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-"}
-(3,1,1) = {"
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-"}
-(4,1,1) = {"
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-"}
-(5,1,1) = {"
-a
-a
-a
-a
-U
-v
-a
-a
-a
-a
-"}
-(6,1,1) = {"
-a
-a
-a
-a
-a
-W
-a
-a
-a
-a
-"}
-(7,1,1) = {"
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-"}
-(8,1,1) = {"
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-"}
-(9,1,1) = {"
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-"}
diff --git a/_maps/templates/holodeck_basketball.dmm b/_maps/templates/holodeck_basketball.dmm
deleted file mode 100644
index 31bd5f081354..000000000000
--- a/_maps/templates/holodeck_basketball.dmm
+++ /dev/null
@@ -1,389 +0,0 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
-"a" = (
-/obj/structure/table,
-/turf/open/floor/holofloor,
-/area/template_noop)
-"b" = (
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 8
- },
-/obj/effect/turf_decal/corner/opaque/green,
-/obj/structure/holohoop{
- dir = 1;
- layer = 4.1
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"c" = (
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 8
- },
-/obj/effect/turf_decal/corner/opaque/green,
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 4
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"e" = (
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 8
- },
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 1
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"f" = (
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 8
- },
-/obj/effect/turf_decal/corner/opaque/green,
-/turf/open/floor/holofloor,
-/area/template_noop)
-"h" = (
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 8
- },
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 4
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"i" = (
-/obj/effect/turf_decal/corner/opaque/red,
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 4
- },
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 1
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"j" = (
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 8
- },
-/obj/effect/turf_decal/corner/opaque/red,
-/turf/open/floor/holofloor,
-/area/template_noop)
-"k" = (
-/obj/structure/holohoop{
- layer = 3.9
- },
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 4
- },
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 1
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"l" = (
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 4
- },
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 1
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"m" = (
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 4
- },
-/obj/effect/turf_decal/corner/opaque/red,
-/turf/open/floor/holofloor,
-/area/template_noop)
-"n" = (
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 4
- },
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 8
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"q" = (
-/obj/structure/table,
-/obj/item/storage/box/cups,
-/turf/open/floor/holofloor,
-/area/template_noop)
-"r" = (
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 8
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"s" = (
-/obj/structure/chair{
- dir = 4
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"u" = (
-/obj/effect/turf_decal/corner/opaque/red,
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 4
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"w" = (
-/turf/open/floor/holofloor,
-/area/template_noop)
-"x" = (
-/obj/effect/turf_decal/corner/opaque/red,
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 8
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"y" = (
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 8
- },
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 4
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"B" = (
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 8
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"E" = (
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 8
- },
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 4
- },
-/obj/effect/turf_decal/corner/opaque/green,
-/turf/open/floor/holofloor,
-/area/template_noop)
-"F" = (
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 8
- },
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/green,
-/turf/open/floor/holofloor,
-/area/template_noop)
-"J" = (
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 4
- },
-/obj/item/toy/beach_ball/holoball,
-/turf/open/floor/holofloor,
-/area/template_noop)
-"L" = (
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 8
- },
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 1
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"M" = (
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 4
- },
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/red,
-/turf/open/floor/holofloor,
-/area/template_noop)
-"R" = (
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 4
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"T" = (
-/obj/structure/chair{
- dir = 8
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"U" = (
-/obj/effect/turf_decal/corner/opaque/red,
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 4
- },
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 8
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"V" = (
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 4
- },
-/obj/effect/turf_decal/corner/opaque/green,
-/turf/open/floor/holofloor,
-/area/template_noop)
-"W" = (
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 4
- },
-/obj/effect/turf_decal/corner/opaque/green,
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 1
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"Y" = (
-/obj/effect/turf_decal/corner/opaque/green,
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 8
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"Z" = (
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 8
- },
-/obj/effect/turf_decal/corner/opaque/green,
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 1
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-
-(1,1,1) = {"
-a
-s
-s
-w
-s
-s
-w
-s
-s
-a
-"}
-(2,1,1) = {"
-q
-s
-s
-w
-s
-s
-w
-s
-s
-q
-"}
-(3,1,1) = {"
-y
-r
-r
-r
-j
-h
-e
-e
-e
-F
-"}
-(4,1,1) = {"
-n
-L
-l
-w
-x
-R
-w
-Y
-B
-Z
-"}
-(5,1,1) = {"
-k
-w
-l
-w
-x
-J
-w
-f
-w
-b
-"}
-(6,1,1) = {"
-M
-m
-l
-w
-x
-R
-w
-f
-V
-c
-"}
-(7,1,1) = {"
-i
-u
-u
-u
-U
-W
-V
-V
-V
-E
-"}
-(8,1,1) = {"
-q
-T
-T
-w
-T
-T
-w
-T
-T
-q
-"}
-(9,1,1) = {"
-a
-T
-T
-w
-T
-T
-w
-T
-T
-a
-"}
diff --git a/_maps/templates/holodeck_beach.dmm b/_maps/templates/holodeck_beach.dmm
deleted file mode 100644
index f410142ea646..000000000000
--- a/_maps/templates/holodeck_beach.dmm
+++ /dev/null
@@ -1,173 +0,0 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
-"a" = (
-/turf/open/floor/holofloor/beach/water,
-/area/template_noop)
-"f" = (
-/obj/item/shovel/spade,
-/turf/open/floor/holofloor/beach/coast_t,
-/area/template_noop)
-"g" = (
-/obj/item/toy/beach_ball,
-/turf/open/floor/holofloor/beach,
-/area/template_noop)
-"h" = (
-/obj/item/clothing/under/color/rainbow,
-/obj/item/clothing/glasses/sunglasses,
-/turf/open/floor/holofloor/beach,
-/area/template_noop)
-"k" = (
-/turf/open/floor/holofloor/beach/coast_b,
-/area/template_noop)
-"q" = (
-/obj/item/reagent_containers/glass/bucket,
-/turf/open/floor/holofloor/beach/coast_t,
-/area/template_noop)
-"t" = (
-/turf/open/floor/holofloor/carpet,
-/area/template_noop)
-"H" = (
-/obj/effect/holodeck_effect/mobspawner/monkey,
-/turf/open/floor/holofloor/beach,
-/area/template_noop)
-"J" = (
-/turf/open/floor/holofloor/beach/coast_t,
-/area/template_noop)
-"M" = (
-/obj/item/toy/seashell,
-/turf/open/floor/holofloor/beach,
-/area/template_noop)
-"Q" = (
-/mob/living/simple_animal/crab{
- name = "Jon"
- },
-/turf/open/floor/holofloor/beach/coast_t,
-/area/template_noop)
-"R" = (
-/turf/open/floor/holofloor/beach,
-/area/template_noop)
-"S" = (
-/obj/structure/fluff/beach_umbrella/cap,
-/turf/open/floor/holofloor/beach,
-/area/template_noop)
-"T" = (
-/obj/effect/overlay/palmtree_l,
-/obj/effect/overlay/coconut,
-/turf/open/floor/holofloor/beach,
-/area/template_noop)
-"W" = (
-/obj/structure/flora/ausbushes/sparsegrass,
-/turf/open/floor/holofloor/beach,
-/area/template_noop)
-"X" = (
-/obj/effect/overlay/palmtree_r,
-/turf/open/floor/holofloor/beach,
-/area/template_noop)
-
-(1,1,1) = {"
-R
-R
-R
-R
-R
-R
-R
-J
-k
-a
-"}
-(2,1,1) = {"
-R
-R
-R
-X
-R
-S
-R
-Q
-k
-a
-"}
-(3,1,1) = {"
-X
-H
-R
-R
-R
-t
-t
-J
-k
-a
-"}
-(4,1,1) = {"
-R
-R
-R
-R
-h
-R
-R
-J
-k
-a
-"}
-(5,1,1) = {"
-R
-R
-W
-R
-R
-t
-t
-J
-k
-a
-"}
-(6,1,1) = {"
-R
-R
-R
-R
-X
-g
-R
-q
-k
-a
-"}
-(7,1,1) = {"
-R
-T
-H
-R
-R
-R
-R
-f
-k
-a
-"}
-(8,1,1) = {"
-W
-R
-R
-R
-H
-R
-M
-J
-k
-a
-"}
-(9,1,1) = {"
-R
-R
-R
-R
-R
-R
-R
-J
-k
-a
-"}
diff --git a/_maps/templates/holodeck_burntest.dmm b/_maps/templates/holodeck_burntest.dmm
deleted file mode 100644
index 4c7affa23f62..000000000000
--- a/_maps/templates/holodeck_burntest.dmm
+++ /dev/null
@@ -1,117 +0,0 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
-"a" = (
-/turf/open/floor/holofloor/plating/burnmix,
-/area/template_noop)
-"l" = (
-/obj/effect/holodeck_effect/sparks,
-/turf/open/floor/holofloor/plating/burnmix,
-/area/template_noop)
-
-(1,1,1) = {"
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-"}
-(2,1,1) = {"
-a
-a
-a
-a
-l
-l
-a
-a
-a
-a
-"}
-(3,1,1) = {"
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-"}
-(4,1,1) = {"
-a
-l
-a
-a
-a
-a
-a
-a
-l
-a
-"}
-(5,1,1) = {"
-a
-a
-a
-l
-a
-a
-l
-a
-a
-a
-"}
-(6,1,1) = {"
-a
-l
-a
-a
-a
-a
-a
-a
-l
-a
-"}
-(7,1,1) = {"
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-"}
-(8,1,1) = {"
-a
-a
-a
-a
-l
-l
-a
-a
-a
-a
-"}
-(9,1,1) = {"
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-"}
diff --git a/_maps/templates/holodeck_chapelcourt.dmm b/_maps/templates/holodeck_chapelcourt.dmm
deleted file mode 100644
index 7edf26e85929..000000000000
--- a/_maps/templates/holodeck_chapelcourt.dmm
+++ /dev/null
@@ -1,465 +0,0 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
-"a" = (
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 4
- },
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 8
- },
-/obj/structure/closet/secure_closet/courtroom,
-/turf/open/floor/holofloor/dark,
-/area/template_noop)
-"b" = (
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 4
- },
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 8
- },
-/obj/structure/table/wood,
-/obj/item/reagent_containers/food/snacks/grown/harebell,
-/obj/item/reagent_containers/food/snacks/grown/harebell,
-/obj/item/reagent_containers/food/snacks/grown/harebell,
-/obj/item/reagent_containers/food/snacks/grown/harebell,
-/obj/item/reagent_containers/food/snacks/grown/harebell,
-/turf/open/floor/holofloor/dark,
-/area/template_noop)
-"c" = (
-/obj/structure/chair{
- dir = 1
- },
-/turf/open/floor/holofloor/chapel/bottom_left,
-/area/template_noop)
-"d" = (
-/obj/structure/table/wood/fancy,
-/obj/item/clothing/suit/chaplainsuit/nun,
-/obj/item/clothing/head/nun_hood,
-/obj/item/clothing/suit/chaplainsuit/holidaypriest,
-/obj/effect/turf_decal/corner/transparent/neutral,
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 4
- },
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 8
- },
-/turf/open/floor/holofloor/dark,
-/area/template_noop)
-"f" = (
-/turf/open/floor/holofloor/dark,
-/area/template_noop)
-"g" = (
-/turf/open/floor/holofloor/chapel/top_left,
-/area/template_noop)
-"h" = (
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 4
- },
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 8
- },
-/obj/structure/table/wood,
-/obj/item/reagent_containers/food/snacks/grown/poppy,
-/obj/item/reagent_containers/food/snacks/grown/poppy,
-/obj/item/reagent_containers/food/snacks/grown/poppy,
-/obj/item/reagent_containers/food/snacks/grown/poppy,
-/obj/item/reagent_containers/food/snacks/grown/poppy,
-/turf/open/floor/holofloor/dark,
-/area/template_noop)
-"i" = (
-/turf/open/floor/holofloor/chapel/bottom_right,
-/area/template_noop)
-"k" = (
-/obj/structure/chair{
- dir = 1
- },
-/turf/open/floor/holofloor/chapel/top_right,
-/area/template_noop)
-"l" = (
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 4
- },
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 8
- },
-/obj/structure/table/wood,
-/obj/item/folder/blue,
-/obj/item/pen/red,
-/turf/open/floor/holofloor/dark,
-/area/template_noop)
-"m" = (
-/obj/item/clothing/head/helmet/chaplain/witchunter_hat,
-/obj/effect/turf_decal/corner/transparent/neutral,
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 4
- },
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 8
- },
-/obj/structure/table/wood/fancy,
-/turf/open/floor/holofloor/dark,
-/area/template_noop)
-"o" = (
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 4
- },
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 8
- },
-/obj/structure/table/wood,
-/obj/item/storage/fancy/candle_box,
-/turf/open/floor/holofloor/dark,
-/area/template_noop)
-"p" = (
-/obj/structure/table/wood,
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 8
- },
-/obj/effect/turf_decal/corner/transparent/neutral,
-/turf/open/floor/holofloor/dark,
-/area/template_noop)
-"q" = (
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 4
- },
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 8
- },
-/obj/structure/table/wood,
-/obj/item/folder/red,
-/obj/item/pen/red,
-/turf/open/floor/holofloor/dark,
-/area/template_noop)
-"r" = (
-/obj/item/gavelblock,
-/obj/item/gavelhammer,
-/obj/structure/table/wood,
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 8
- },
-/obj/effect/turf_decal/corner/transparent/neutral,
-/turf/open/floor/holofloor/dark,
-/area/template_noop)
-"s" = (
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 4
- },
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 8
- },
-/turf/open/floor/holofloor/dark,
-/area/template_noop)
-"u" = (
-/obj/structure/table/wood/fancy,
-/obj/item/storage/book/bible,
-/obj/effect/turf_decal/corner/transparent/neutral,
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 4
- },
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 8
- },
-/turf/open/floor/holofloor/dark,
-/area/template_noop)
-"w" = (
-/obj/effect/turf_decal/corner/transparent/neutral,
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 4
- },
-/turf/open/floor/holofloor/dark,
-/area/template_noop)
-"x" = (
-/obj/effect/turf_decal/corner/transparent/neutral,
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 4
- },
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 8
- },
-/turf/open/floor/holofloor/dark,
-/area/template_noop)
-"y" = (
-/obj/item/toy/figure/chaplain,
-/obj/effect/turf_decal/corner/transparent/neutral,
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 4
- },
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 8
- },
-/obj/structure/table/wood/fancy,
-/turf/open/floor/holofloor/dark,
-/area/template_noop)
-"A" = (
-/turf/open/floor/holofloor/chapel/bottom_left,
-/area/template_noop)
-"C" = (
-/obj/structure/chair{
- dir = 1
- },
-/turf/open/floor/holofloor/chapel,
-/area/template_noop)
-"E" = (
-/obj/structure/chair{
- dir = 1
- },
-/turf/open/floor/holofloor/chapel/bottom_right,
-/area/template_noop)
-"F" = (
-/obj/item/clothing/suit/judgerobe,
-/obj/item/clothing/head/powdered_wig,
-/obj/effect/turf_decal/corner/transparent/neutral,
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 4
- },
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 8
- },
-/obj/structure/table/wood/fancy,
-/turf/open/floor/holofloor/dark,
-/area/template_noop)
-"H" = (
-/obj/structure/table/wood/fancy,
-/obj/item/book/manual/wiki/security_space_law,
-/obj/effect/turf_decal/corner/transparent/neutral,
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 4
- },
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 8
- },
-/turf/open/floor/holofloor/dark,
-/area/template_noop)
-"I" = (
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 8
- },
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 1
- },
-/turf/open/floor/holofloor/dark,
-/area/template_noop)
-"K" = (
-/turf/open/floor/holofloor/chapel/top_right,
-/area/template_noop)
-"L" = (
-/obj/structure/chair{
- dir = 1
- },
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 4
- },
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 8
- },
-/turf/open/floor/holofloor/dark,
-/area/template_noop)
-"N" = (
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 8
- },
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/corner/transparent/neutral,
-/turf/open/floor/holofloor/dark,
-/area/template_noop)
-"O" = (
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 4
- },
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 8
- },
-/obj/structure/table/wood,
-/obj/item/paper_bin,
-/turf/open/floor/holofloor/dark,
-/area/template_noop)
-"Q" = (
-/obj/structure/chair,
-/turf/open/floor/holofloor/dark,
-/area/template_noop)
-"S" = (
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 8
- },
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 4
- },
-/obj/effect/turf_decal/corner/transparent/neutral,
-/turf/open/floor/holofloor/dark,
-/area/template_noop)
-"T" = (
-/obj/structure/chair{
- dir = 1
- },
-/turf/open/floor/holofloor/chapel/top_left,
-/area/template_noop)
-"U" = (
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 4
- },
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 8
- },
-/obj/structure/table/wood,
-/obj/item/hand_labeler,
-/turf/open/floor/holofloor/dark,
-/area/template_noop)
-"W" = (
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 8
- },
-/obj/effect/turf_decal/corner/transparent/neutral,
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 4
- },
-/turf/open/floor/holofloor/dark,
-/area/template_noop)
-"X" = (
-/obj/item/clothing/suit/chaplainsuit/bishoprobe,
-/obj/effect/turf_decal/corner/transparent/neutral,
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 4
- },
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 8
- },
-/obj/structure/table/wood/fancy,
-/turf/open/floor/holofloor/dark,
-/area/template_noop)
-
-(1,1,1) = {"
-x
-g
-A
-g
-c
-T
-A
-L
-L
-a
-"}
-(2,1,1) = {"
-y
-K
-i
-K
-C
-k
-i
-L
-L
-O
-"}
-(3,1,1) = {"
-F
-I
-N
-g
-c
-T
-A
-L
-L
-q
-"}
-(4,1,1) = {"
-d
-f
-p
-K
-C
-k
-i
-L
-L
-l
-"}
-(5,1,1) = {"
-u
-Q
-r
-S
-S
-S
-S
-s
-s
-h
-"}
-(6,1,1) = {"
-H
-f
-p
-g
-c
-T
-A
-L
-L
-b
-"}
-(7,1,1) = {"
-m
-w
-W
-K
-E
-k
-i
-L
-L
-o
-"}
-(8,1,1) = {"
-X
-g
-A
-g
-c
-T
-A
-L
-L
-U
-"}
-(9,1,1) = {"
-x
-K
-i
-K
-E
-k
-i
-L
-L
-a
-"}
diff --git a/_maps/templates/holodeck_dodgeball.dmm b/_maps/templates/holodeck_dodgeball.dmm
deleted file mode 100644
index ec1e4fbe4dd1..000000000000
--- a/_maps/templates/holodeck_dodgeball.dmm
+++ /dev/null
@@ -1,297 +0,0 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
-"a" = (
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 8
- },
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/green,
-/turf/open/floor/holofloor,
-/area/template_noop)
-"b" = (
-/obj/structure/window{
- dir = 1
- },
-/obj/item/toy/beach_ball/holoball/dodgeball,
-/obj/effect/turf_decal/corner/opaque/red,
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 8
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"c" = (
-/obj/structure/window,
-/obj/item/toy/beach_ball/holoball/dodgeball,
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 4
- },
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/green,
-/turf/open/floor/holofloor,
-/area/template_noop)
-"f" = (
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 4
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"h" = (
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 4
- },
-/obj/effect/turf_decal/corner/opaque/green,
-/turf/open/floor/holofloor,
-/area/template_noop)
-"n" = (
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 8
- },
-/obj/effect/turf_decal/corner/opaque/green,
-/turf/open/floor/holofloor,
-/area/template_noop)
-"o" = (
-/obj/effect/turf_decal/corner/opaque/red,
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 4
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"p" = (
-/obj/structure/window,
-/obj/item/toy/beach_ball/holoball/dodgeball,
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 8
- },
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 4
- },
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 1
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"q" = (
-/obj/structure/window{
- dir = 1
- },
-/obj/item/toy/beach_ball/holoball/dodgeball,
-/obj/effect/turf_decal/corner/opaque/red,
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 8
- },
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 4
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"t" = (
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 8
- },
-/obj/effect/turf_decal/corner/opaque/red,
-/turf/open/floor/holofloor,
-/area/template_noop)
-"y" = (
-/obj/structure/window,
-/obj/item/toy/beach_ball/holoball/dodgeball,
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 4
- },
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 1
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"C" = (
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 4
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"F" = (
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 8
- },
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 1
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"G" = (
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 8
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"J" = (
-/obj/machinery/readybutton,
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 4
- },
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 8
- },
-/obj/effect/turf_decal/corner/opaque/green,
-/turf/open/floor/holofloor,
-/area/template_noop)
-"K" = (
-/obj/effect/turf_decal/corner/opaque/red,
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 4
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"V" = (
-/obj/structure/window{
- dir = 1
- },
-/obj/item/toy/beach_ball/holoball/dodgeball,
-/obj/effect/turf_decal/corner/opaque/red,
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 8
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"W" = (
-/obj/machinery/readybutton,
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 8
- },
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 4
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"X" = (
-/turf/open/floor/holofloor,
-/area/template_noop)
-
-(1,1,1) = {"
-W
-G
-G
-G
-b
-p
-F
-F
-F
-a
-"}
-(2,1,1) = {"
-f
-X
-t
-X
-V
-y
-X
-C
-X
-n
-"}
-(3,1,1) = {"
-f
-X
-t
-X
-V
-y
-X
-C
-X
-n
-"}
-(4,1,1) = {"
-f
-X
-t
-X
-V
-y
-X
-C
-X
-n
-"}
-(5,1,1) = {"
-f
-X
-t
-X
-V
-y
-X
-C
-X
-n
-"}
-(6,1,1) = {"
-f
-X
-t
-X
-V
-y
-X
-C
-X
-n
-"}
-(7,1,1) = {"
-f
-X
-t
-X
-V
-y
-X
-C
-X
-n
-"}
-(8,1,1) = {"
-f
-X
-t
-X
-V
-y
-X
-C
-X
-n
-"}
-(9,1,1) = {"
-o
-K
-K
-K
-q
-c
-h
-h
-h
-J
-"}
diff --git a/_maps/templates/holodeck_emptycourt.dmm b/_maps/templates/holodeck_emptycourt.dmm
deleted file mode 100644
index 8b9b86fa0345..000000000000
--- a/_maps/templates/holodeck_emptycourt.dmm
+++ /dev/null
@@ -1,203 +0,0 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
-"a" = (
-/obj/effect/turf_decal/corner/opaque/green,
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 8
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"e" = (
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 4
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"h" = (
-/obj/effect/turf_decal/corner/opaque/green,
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 8
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"j" = (
-/obj/effect/turf_decal/corner/opaque/red,
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 4
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"s" = (
-/obj/effect/turf_decal/corner/opaque/green,
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 8
- },
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 4
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"y" = (
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 8
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"D" = (
-/turf/open/floor/holofloor,
-/area/template_noop)
-"E" = (
-/obj/effect/turf_decal/corner/opaque/green,
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 4
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"F" = (
-/obj/effect/turf_decal/corner/opaque/red,
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 4
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"L" = (
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 8
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"X" = (
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 8
- },
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 4
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-
-(1,1,1) = {"
-X
-L
-L
-L
-L
-y
-y
-y
-y
-a
-"}
-(2,1,1) = {"
-e
-D
-D
-D
-D
-D
-D
-D
-D
-h
-"}
-(3,1,1) = {"
-e
-D
-D
-D
-D
-D
-D
-D
-D
-h
-"}
-(4,1,1) = {"
-e
-D
-D
-D
-D
-D
-D
-D
-D
-h
-"}
-(5,1,1) = {"
-e
-D
-D
-D
-D
-D
-D
-D
-D
-h
-"}
-(6,1,1) = {"
-e
-D
-D
-D
-D
-D
-D
-D
-D
-h
-"}
-(7,1,1) = {"
-e
-D
-D
-D
-D
-D
-D
-D
-D
-h
-"}
-(8,1,1) = {"
-e
-D
-D
-D
-D
-D
-D
-D
-D
-h
-"}
-(9,1,1) = {"
-j
-F
-F
-F
-F
-E
-E
-E
-E
-s
-"}
diff --git a/_maps/templates/holodeck_firingrange.dmm b/_maps/templates/holodeck_firingrange.dmm
deleted file mode 100644
index a57386442fc4..000000000000
--- a/_maps/templates/holodeck_firingrange.dmm
+++ /dev/null
@@ -1,345 +0,0 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
-"a" = (
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 8
- },
-/obj/effect/turf_decal/corner/opaque/green,
-/turf/open/floor/holofloor,
-/area/template_noop)
-"b" = (
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 4
- },
-/obj/effect/turf_decal/corner/opaque/red,
-/turf/open/floor/holofloor,
-/area/template_noop)
-"c" = (
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 4
- },
-/obj/effect/turf_decal/corner/opaque/red,
-/obj/structure/window/reinforced{
- dir = 4
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"j" = (
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 8
- },
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 4
- },
-/obj/effect/turf_decal/corner/opaque/green,
-/turf/open/floor/holofloor,
-/area/template_noop)
-"k" = (
-/obj/structure/window/reinforced{
- dir = 1
- },
-/obj/structure/window/reinforced{
- dir = 8
- },
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"n" = (
-/obj/item/target,
-/obj/item/target/clown,
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 8
- },
-/obj/effect/turf_decal/corner/opaque/green,
-/turf/open/floor/holofloor,
-/area/template_noop)
-"o" = (
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 8
- },
-/obj/effect/turf_decal/corner/opaque/green,
-/turf/open/floor/holofloor,
-/area/template_noop)
-"s" = (
-/obj/item/target,
-/obj/item/target/syndicate,
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 8
- },
-/obj/effect/turf_decal/corner/opaque/green,
-/turf/open/floor/holofloor,
-/area/template_noop)
-"t" = (
-/obj/structure/window/reinforced{
- dir = 1
- },
-/obj/structure/window/reinforced{
- dir = 4
- },
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"y" = (
-/obj/structure/window/reinforced{
- dir = 8
- },
-/turf/open/floor/holofloor{
- dir = 8;
- icon_state = "white"
- },
-/area/template_noop)
-"z" = (
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 1
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"E" = (
-/obj/structure/table/reinforced,
-/obj/structure/window/reinforced{
- dir = 4
- },
-/obj/structure/window/reinforced{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 4
- },
-/obj/effect/turf_decal/corner/opaque/red,
-/obj/item/training_toolbox{
- pixel_y = 4
- },
-/obj/item/training_toolbox,
-/turf/open/floor/holofloor,
-/area/template_noop)
-"F" = (
-/obj/structure/window/reinforced{
- dir = 8
- },
-/turf/open/floor/holofloor{
- dir = 10;
- icon_state = "white"
- },
-/area/template_noop)
-"G" = (
-/obj/structure/table/reinforced,
-/obj/machinery/recharger,
-/obj/structure/window/reinforced{
- dir = 8
- },
-/obj/structure/window/reinforced{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 8
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"H" = (
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 4
- },
-/obj/effect/turf_decal/corner/opaque/green,
-/turf/open/floor/holofloor,
-/area/template_noop)
-"J" = (
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 8
- },
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 1
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"K" = (
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"L" = (
-/obj/structure/window/reinforced{
- dir = 8
- },
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 8
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"N" = (
-/obj/structure/rack,
-/obj/item/gun/energy/laser/practice,
-/obj/item/clothing/ears/earmuffs,
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 8
- },
-/obj/effect/turf_decal/corner/opaque/green,
-/turf/open/floor/holofloor,
-/area/template_noop)
-"P" = (
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 8
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"Q" = (
-/turf/open/floor/holofloor,
-/area/template_noop)
-"S" = (
-/obj/structure/training_machine,
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"T" = (
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 4
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"U" = (
-/obj/structure/window/reinforced{
- dir = 4
- },
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"Y" = (
-/obj/structure/window/reinforced{
- dir = 1
- },
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"Z" = (
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 4
- },
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 1
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-
-(1,1,1) = {"
-J
-J
-J
-J
-J
-J
-J
-J
-J
-a
-"}
-(2,1,1) = {"
-Q
-Q
-Q
-Q
-Q
-Q
-Q
-Q
-Q
-o
-"}
-(3,1,1) = {"
-b
-b
-b
-b
-b
-b
-b
-b
-T
-n
-"}
-(4,1,1) = {"
-k
-y
-F
-L
-L
-L
-L
-G
-Z
-N
-"}
-(5,1,1) = {"
-Y
-S
-K
-Q
-Q
-Q
-Q
-Q
-Z
-N
-"}
-(6,1,1) = {"
-t
-U
-U
-c
-c
-c
-c
-E
-Z
-N
-"}
-(7,1,1) = {"
-P
-P
-P
-P
-P
-P
-P
-P
-z
-s
-"}
-(8,1,1) = {"
-Q
-Q
-Q
-Q
-Q
-Q
-Q
-Q
-Q
-o
-"}
-(9,1,1) = {"
-H
-H
-H
-H
-H
-H
-H
-H
-H
-j
-"}
diff --git a/_maps/templates/holodeck_gamer.dmm b/_maps/templates/holodeck_gamer.dmm
deleted file mode 100644
index 570992d24379..000000000000
--- a/_maps/templates/holodeck_gamer.dmm
+++ /dev/null
@@ -1,129 +0,0 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
-"d" = (
-/obj/machinery/computer/arcade/battle,
-/turf/open/floor/holofloor/basalt,
-/area/template_noop)
-"x" = (
-/obj/machinery/computer/arcade,
-/turf/open/floor/holofloor/basalt,
-/area/template_noop)
-"C" = (
-/obj/machinery/computer/arcade/orion_trail,
-/turf/open/floor/holofloor/basalt,
-/area/template_noop)
-"D" = (
-/obj/machinery/computer/arcade/amputation,
-/turf/open/floor/holofloor/basalt,
-/area/template_noop)
-"I" = (
-/turf/open/floor/holofloor/basalt,
-/area/template_noop)
-
-(1,1,1) = {"
-I
-I
-I
-I
-I
-I
-I
-I
-I
-I
-"}
-(2,1,1) = {"
-I
-I
-I
-x
-I
-I
-x
-I
-I
-I
-"}
-(3,1,1) = {"
-I
-I
-I
-D
-I
-I
-D
-I
-I
-I
-"}
-(4,1,1) = {"
-I
-I
-I
-I
-I
-I
-I
-I
-I
-I
-"}
-(5,1,1) = {"
-I
-I
-I
-I
-I
-I
-I
-I
-I
-I
-"}
-(6,1,1) = {"
-I
-I
-I
-I
-I
-I
-I
-I
-I
-I
-"}
-(7,1,1) = {"
-I
-I
-I
-d
-I
-I
-d
-I
-I
-I
-"}
-(8,1,1) = {"
-I
-I
-I
-C
-I
-I
-C
-I
-I
-I
-"}
-(9,1,1) = {"
-I
-I
-I
-I
-I
-I
-I
-I
-I
-I
-"}
diff --git a/_maps/templates/holodeck_holdoutbunker.dmm b/_maps/templates/holodeck_holdoutbunker.dmm
deleted file mode 100644
index 39e68f17ee52..000000000000
--- a/_maps/templates/holodeck_holdoutbunker.dmm
+++ /dev/null
@@ -1,164 +0,0 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
-"a" = (
-/obj/structure/foamedmetal,
-/obj/structure/window{
- dir = 8
- },
-/turf/open/floor/holofloor/asteroid,
-/area/template_noop)
-"b" = (
-/obj/structure/foamedmetal,
-/obj/structure/window{
- dir = 4
- },
-/turf/open/floor/holofloor/asteroid,
-/area/template_noop)
-"l" = (
-/turf/open/floor/holofloor/asteroid,
-/area/template_noop)
-"t" = (
-/obj/structure/foamedmetal,
-/turf/open/floor/holofloor/asteroid,
-/area/template_noop)
-"u" = (
-/obj/structure/table,
-/obj/machinery/recharger,
-/turf/open/floor/holofloor/asteroid,
-/area/template_noop)
-"v" = (
-/obj/structure/table,
-/obj/item/stack/medical/ointment{
- heal_burn = 10
- },
-/turf/open/floor/holofloor/asteroid,
-/area/template_noop)
-"x" = (
-/obj/structure/foamedmetal,
-/obj/structure/window{
- dir = 4
- },
-/obj/structure/bookcase/random/fiction,
-/turf/open/floor/holofloor/asteroid,
-/area/template_noop)
-"I" = (
-/obj/structure/table,
-/obj/item/gun/energy/laser,
-/turf/open/floor/holofloor/asteroid,
-/area/template_noop)
-"J" = (
-/obj/structure/table,
-/obj/item/stack/medical/bruise_pack{
- heal_brute = 10
- },
-/obj/item/soap,
-/turf/open/floor/holofloor/asteroid,
-/area/template_noop)
-
-(1,1,1) = {"
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-"}
-(2,1,1) = {"
-b
-x
-b
-b
-b
-b
-b
-b
-b
-b
-"}
-(3,1,1) = {"
-t
-t
-t
-t
-t
-t
-t
-t
-t
-t
-"}
-(4,1,1) = {"
-l
-l
-l
-l
-l
-l
-l
-l
-l
-l
-"}
-(5,1,1) = {"
-l
-l
-l
-l
-l
-l
-l
-l
-l
-l
-"}
-(6,1,1) = {"
-l
-l
-l
-l
-l
-l
-l
-l
-l
-l
-"}
-(7,1,1) = {"
-l
-l
-l
-l
-l
-l
-l
-l
-l
-l
-"}
-(8,1,1) = {"
-l
-l
-l
-l
-l
-l
-l
-l
-l
-l
-"}
-(9,1,1) = {"
-v
-u
-I
-l
-I
-I
-l
-I
-u
-J
-"}
diff --git a/_maps/templates/holodeck_kobayashi.dmm b/_maps/templates/holodeck_kobayashi.dmm
deleted file mode 100644
index c58dae60ebda..000000000000
--- a/_maps/templates/holodeck_kobayashi.dmm
+++ /dev/null
@@ -1,362 +0,0 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
-"a" = (
-/turf/open/floor/holofloor/plating,
-/area/template_noop)
-"c" = (
-/obj/machinery/button/massdriver/indestructible{
- id = "trektorpedo1";
- layer = 3.9;
- name = "photon torpedo button";
- pixel_x = -16;
- pixel_y = -5
- },
-/obj/machinery/button/massdriver/indestructible{
- id = "trektorpedo2";
- layer = 3.9;
- name = "photon torpedo button";
- pixel_x = 16;
- pixel_y = -5
- },
-/obj/machinery/computer/arcade/orion_trail/kobayashi,
-/turf/open/floor/holofloor/plating,
-/area/template_noop)
-"d" = (
-/obj/machinery/computer/station_alert{
- dir = 8
- },
-/turf/open/floor/holofloor/plating,
-/area/template_noop)
-"f" = (
-/obj/machinery/door/window/westleft{
- dir = 2
- },
-/turf/open/floor/holofloor/plating,
-/area/template_noop)
-"j" = (
-/obj/structure/chair/office{
- dir = 1
- },
-/turf/open/floor/holofloor/plating,
-/area/template_noop)
-"k" = (
-/obj/structure/chair/office{
- dir = 8
- },
-/turf/open/floor/holofloor/plating,
-/area/template_noop)
-"l" = (
-/obj/structure/window/reinforced,
-/obj/machinery/computer/station_alert{
- dir = 4
- },
-/turf/open/floor/holofloor/plating,
-/area/template_noop)
-"m" = (
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 4
- },
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 1
- },
-/obj/structure/window/reinforced{
- dir = 8
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"o" = (
-/obj/structure/chair/comfy/beige{
- dir = 1
- },
-/turf/open/floor/holofloor/plating,
-/area/template_noop)
-"p" = (
-/obj/structure/window/reinforced{
- dir = 8
- },
-/obj/machinery/computer/arcade/orion_trail/kobayashi,
-/turf/open/floor/holofloor/plating,
-/area/template_noop)
-"r" = (
-/obj/structure/table,
-/turf/open/floor/holofloor/plating,
-/area/template_noop)
-"s" = (
-/obj/effect/turf_decal/corner/transparent/neutral,
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 8
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"t" = (
-/obj/structure/table/glass,
-/obj/item/gun/energy/e_gun/mini/practice_phaser,
-/obj/structure/window/reinforced{
- dir = 8
- },
-/obj/machinery/recharger,
-/turf/open/floor/holofloor/plating,
-/area/template_noop)
-"w" = (
-/obj/structure/table,
-/obj/item/folder,
-/obj/item/pen/blue,
-/obj/structure/window/reinforced{
- dir = 8
- },
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 4
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"x" = (
-/obj/structure/window/reinforced{
- dir = 4
- },
-/obj/machinery/computer/arcade/orion_trail/kobayashi,
-/turf/open/floor/holofloor/plating,
-/area/template_noop)
-"y" = (
-/turf/open/floor/holofloor/hyperspace,
-/area/template_noop)
-"z" = (
-/obj/machinery/computer/atmos_alert{
- dir = 8
- },
-/obj/structure/window/reinforced,
-/turf/open/floor/holofloor/plating,
-/area/template_noop)
-"A" = (
-/obj/structure/window/reinforced,
-/turf/open/floor/holofloor/plating,
-/area/template_noop)
-"B" = (
-/obj/structure/window/reinforced,
-/turf/open/floor/holofloor/hyperspace,
-/area/template_noop)
-"C" = (
-/obj/machinery/computer/station_alert{
- dir = 4
- },
-/turf/open/floor/holofloor/plating,
-/area/template_noop)
-"E" = (
-/obj/structure/chair{
- dir = 1
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"F" = (
-/obj/structure/rack,
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 4
- },
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 1
- },
-/obj/structure/window/reinforced{
- dir = 4;
- layer = 2.9
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"H" = (
-/obj/machinery/door/window/westleft{
- dir = 2;
- icon_state = "right"
- },
-/turf/open/floor/holofloor/plating,
-/area/template_noop)
-"J" = (
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 4
- },
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 1
- },
-/obj/structure/window/reinforced{
- dir = 4;
- layer = 2.9
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"L" = (
-/obj/structure/table/glass,
-/obj/item/gun/energy/e_gun/mini/practice_phaser,
-/obj/structure/window/reinforced{
- dir = 4
- },
-/turf/open/floor/holofloor/plating,
-/area/template_noop)
-"Q" = (
-/obj/structure/table,
-/obj/structure/window/reinforced{
- dir = 4
- },
-/obj/item/folder,
-/obj/item/pen/red,
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 4
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"T" = (
-/obj/structure/rack,
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 4
- },
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 1
- },
-/obj/structure/window/reinforced{
- dir = 8
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"V" = (
-/obj/structure/window/reinforced,
-/obj/machinery/mass_driver{
- dir = 1;
- id = "trektorpedo2";
- name = "photon torpedo tube"
- },
-/obj/item/toy/minimeteor{
- desc = "A primitive long-range weapon, inferior to Nanotrasen's perfected bluespace artillery.";
- icon = 'icons/effects/effects.dmi';
- icon_state = "impact_laser";
- name = "photon torpedo"
- },
-/turf/open/floor/holofloor/hyperspace,
-/area/template_noop)
-"X" = (
-/obj/structure/chair/office{
- dir = 4
- },
-/turf/open/floor/holofloor/plating,
-/area/template_noop)
-"Z" = (
-/obj/structure/table,
-/obj/item/folder,
-/obj/item/pen,
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/corner/transparent/neutral{
- dir = 4
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-
-(1,1,1) = {"
-y
-y
-B
-a
-C
-l
-a
-a
-a
-a
-"}
-(2,1,1) = {"
-y
-y
-B
-a
-k
-k
-a
-a
-a
-a
-"}
-(3,1,1) = {"
-y
-V
-t
-a
-a
-a
-a
-H
-m
-T
-"}
-(4,1,1) = {"
-B
-p
-a
-a
-a
-a
-A
-w
-E
-s
-"}
-(5,1,1) = {"
-B
-c
-j
-a
-a
-o
-A
-Z
-E
-s
-"}
-(6,1,1) = {"
-B
-x
-a
-a
-a
-r
-A
-Q
-E
-s
-"}
-(7,1,1) = {"
-y
-V
-L
-a
-a
-a
-a
-f
-J
-F
-"}
-(8,1,1) = {"
-y
-y
-B
-a
-X
-X
-a
-a
-a
-a
-"}
-(9,1,1) = {"
-y
-y
-B
-a
-d
-z
-a
-a
-a
-a
-"}
diff --git a/_maps/templates/holodeck_lounge.dmm b/_maps/templates/holodeck_lounge.dmm
deleted file mode 100644
index ecf82f53a424..000000000000
--- a/_maps/templates/holodeck_lounge.dmm
+++ /dev/null
@@ -1,418 +0,0 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
-"a" = (
-/obj/structure/table/wood,
-/obj/item/reagent_containers/glass/rag{
- pixel_x = 10;
- pixel_y = 1
- },
-/turf/open/floor/holofloor{
- dir = 9;
- icon_state = "wood"
- },
-/area/template_noop)
-"b" = (
-/obj/structure/closet/crate/bin,
-/turf/open/floor/holofloor{
- dir = 9;
- icon_state = "wood"
- },
-/area/template_noop)
-"c" = (
-/obj/machinery/door/window{
- base_state = "right";
- dir = 4;
- icon_state = "right";
- layer = 3
- },
-/turf/open/floor/holofloor{
- dir = 9;
- icon_state = "wood"
- },
-/area/template_noop)
-"d" = (
-/obj/structure/table/wood,
-/turf/open/floor/holofloor{
- dir = 9;
- icon_state = "wood"
- },
-/area/template_noop)
-"f" = (
-/obj/structure/table/wood,
-/obj/item/flashlight/lamp/green{
- layer = 3.3
- },
-/turf/open/floor/holofloor{
- dir = 9;
- icon_state = "wood"
- },
-/area/template_noop)
-"h" = (
-/obj/structure/table/wood,
-/obj/item/clothing/mask/cigarette/pipe,
-/obj/item/book/manual/random,
-/turf/open/floor/holofloor/carpet,
-/area/template_noop)
-"i" = (
-/obj/structure/table/wood,
-/obj/item/reagent_containers/food/drinks/shaker,
-/turf/open/floor/holofloor{
- dir = 9;
- icon_state = "wood"
- },
-/area/template_noop)
-"j" = (
-/obj/structure/window/reinforced{
- dir = 4;
- layer = 2.9
- },
-/turf/open/floor/holofloor{
- dir = 9;
- icon_state = "wood"
- },
-/area/template_noop)
-"k" = (
-/obj/structure/table/wood/poker,
-/obj/item/storage/box/matches,
-/turf/open/floor/holofloor{
- dir = 9;
- icon_state = "wood"
- },
-/area/template_noop)
-"l" = (
-/obj/structure/chair/stool/bar,
-/obj/structure/window/reinforced{
- dir = 4;
- layer = 2.9
- },
-/turf/open/floor/holofloor{
- dir = 9;
- icon_state = "wood"
- },
-/area/template_noop)
-"m" = (
-/obj/structure/chair/wood,
-/turf/open/floor/holofloor{
- dir = 9;
- icon_state = "wood"
- },
-/area/template_noop)
-"o" = (
-/obj/structure/chair/wood{
- dir = 1
- },
-/turf/open/floor/holofloor{
- dir = 9;
- icon_state = "wood"
- },
-/area/template_noop)
-"p" = (
-/obj/structure/table/wood,
-/obj/item/instrument/guitar,
-/turf/open/floor/holofloor/carpet,
-/area/template_noop)
-"q" = (
-/turf/open/floor/holofloor/carpet,
-/area/template_noop)
-"t" = (
-/obj/structure/table/wood,
-/obj/item/book/manual/wiki/barman_recipes,
-/turf/open/floor/holofloor{
- dir = 9;
- icon_state = "wood"
- },
-/area/template_noop)
-"u" = (
-/obj/structure/chair/wood{
- dir = 4
- },
-/turf/open/floor/holofloor{
- dir = 9;
- icon_state = "wood"
- },
-/area/template_noop)
-"w" = (
-/obj/structure/table/wood,
-/obj/item/instrument/saxophone,
-/turf/open/floor/holofloor/carpet,
-/area/template_noop)
-"x" = (
-/obj/structure/table/wood,
-/obj/item/instrument/violin,
-/turf/open/floor/holofloor/carpet,
-/area/template_noop)
-"z" = (
-/turf/open/floor/holofloor{
- dir = 9;
- icon_state = "wood"
- },
-/area/template_noop)
-"A" = (
-/obj/structure/table/wood,
-/obj/item/paper_bin,
-/turf/open/floor/holofloor{
- dir = 9;
- icon_state = "wood"
- },
-/area/template_noop)
-"C" = (
-/obj/structure/chair/stool/bar,
-/turf/open/floor/holofloor/carpet,
-/area/template_noop)
-"D" = (
-/obj/structure/table/wood,
-/obj/item/kirbyplants{
- icon_state = "plant-05";
- pixel_y = 10
- },
-/turf/open/floor/holofloor/carpet,
-/area/template_noop)
-"E" = (
-/obj/structure/chair/comfy/brown{
- dir = 8
- },
-/turf/open/floor/holofloor/carpet,
-/area/template_noop)
-"F" = (
-/turf/open/floor/holofloor{
- icon_state = "stairs-r"
- },
-/area/template_noop)
-"G" = (
-/obj/structure/window/reinforced{
- dir = 4
- },
-/obj/structure/table/wood,
-/obj/item/storage/box/cups,
-/turf/open/floor/holofloor{
- dir = 9;
- icon_state = "wood"
- },
-/area/template_noop)
-"H" = (
-/obj/structure/sink{
- dir = 4;
- pixel_x = -12
- },
-/turf/open/floor/holofloor{
- dir = 9;
- icon_state = "wood"
- },
-/area/template_noop)
-"I" = (
-/obj/structure/chair/wood{
- dir = 8
- },
-/turf/open/floor/holofloor{
- dir = 9;
- icon_state = "wood"
- },
-/area/template_noop)
-"J" = (
-/obj/structure/table/wood,
-/obj/item/book/manual/random,
-/turf/open/floor/holofloor/carpet,
-/area/template_noop)
-"K" = (
-/obj/structure/table/wood,
-/obj/item/storage/fancy/cigarettes/cigars/cohiba,
-/obj/item/lighter,
-/turf/open/floor/holofloor{
- dir = 9;
- icon_state = "wood"
- },
-/area/template_noop)
-"L" = (
-/turf/open/floor/holofloor{
- icon_state = "stairs-l"
- },
-/area/template_noop)
-"M" = (
-/obj/structure/chair/comfy/brown{
- buildstackamount = 0;
- dir = 1
- },
-/turf/open/floor/holofloor/carpet,
-/area/template_noop)
-"N" = (
-/obj/structure/table/wood,
-/obj/item/instrument/piano_synth/headphones,
-/turf/open/floor/holofloor/carpet,
-/area/template_noop)
-"O" = (
-/obj/structure/table/wood,
-/obj/item/flashlight/lamp/green{
- pixel_y = 4
- },
-/turf/open/floor/holofloor/carpet,
-/area/template_noop)
-"P" = (
-/obj/structure/table/wood/poker,
-/obj/effect/holodeck_effect/cards,
-/turf/open/floor/holofloor{
- dir = 9;
- icon_state = "wood"
- },
-/area/template_noop)
-"R" = (
-/obj/structure/window/reinforced,
-/turf/open/floor/holofloor{
- dir = 9;
- icon_state = "wood"
- },
-/area/template_noop)
-"S" = (
-/obj/structure/table/wood/poker,
-/turf/open/floor/holofloor{
- dir = 9;
- icon_state = "wood"
- },
-/area/template_noop)
-"T" = (
-/obj/structure/table/wood/poker,
-/obj/item/clothing/mask/cigarette/pipe,
-/turf/open/floor/holofloor{
- dir = 9;
- icon_state = "wood"
- },
-/area/template_noop)
-"U" = (
-/obj/structure/table/wood/poker,
-/obj/item/storage/pill_bottle/dice,
-/turf/open/floor/holofloor{
- dir = 9;
- icon_state = "wood"
- },
-/area/template_noop)
-"V" = (
-/obj/structure/chair/stool/bar,
-/turf/open/floor/holofloor{
- dir = 9;
- icon_state = "wood"
- },
-/area/template_noop)
-"Y" = (
-/obj/structure/table/wood,
-/obj/structure/window/reinforced{
- dir = 4;
- layer = 2.9
- },
-/turf/open/floor/holofloor{
- dir = 9;
- icon_state = "wood"
- },
-/area/template_noop)
-"Z" = (
-/obj/structure/musician/piano{
- icon_state = "piano"
- },
-/turf/open/floor/holofloor/carpet,
-/area/template_noop)
-
-(1,1,1) = {"
-K
-z
-z
-z
-z
-z
-V
-t
-H
-a
-"}
-(2,1,1) = {"
-f
-z
-z
-z
-z
-z
-V
-d
-z
-i
-"}
-(3,1,1) = {"
-z
-u
-u
-z
-z
-j
-l
-Y
-c
-G
-"}
-(4,1,1) = {"
-m
-S
-U
-o
-R
-w
-N
-Z
-q
-x
-"}
-(5,1,1) = {"
-m
-k
-S
-o
-z
-L
-q
-C
-q
-p
-"}
-(6,1,1) = {"
-m
-P
-T
-o
-z
-F
-q
-q
-q
-M
-"}
-(7,1,1) = {"
-z
-I
-I
-z
-R
-J
-q
-q
-q
-M
-"}
-(8,1,1) = {"
-b
-z
-z
-z
-R
-D
-q
-q
-q
-M
-"}
-(9,1,1) = {"
-A
-z
-z
-z
-R
-O
-q
-E
-E
-h
-"}
diff --git a/_maps/templates/holodeck_medicalsim.dmm b/_maps/templates/holodeck_medicalsim.dmm
deleted file mode 100644
index 4a7fe27b96a0..000000000000
--- a/_maps/templates/holodeck_medicalsim.dmm
+++ /dev/null
@@ -1,976 +0,0 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
-"ap" = (
-/obj/effect/turf_decal/corner/opaque/yellow,
-/obj/effect/turf_decal/corner/opaque/yellow{
- dir = 4
- },
-/obj/effect/turf_decal/corner/opaque/yellow{
- dir = 1
- },
-/obj/structure/table,
-/obj/item/reagent_containers/dropper,
-/obj/item/assembly/igniter,
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"aL" = (
-/obj/structure/table/glass,
-/obj/item/clothing/gloves/color/latex/nitrile,
-/obj/item/clothing/suit/apron/surgical,
-/obj/item/clothing/mask/surgical,
-/obj/structure/window{
- dir = 4
- },
-/obj/item/surgicaldrill,
-/obj/effect/turf_decal/corner/opaque/red,
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 4
- },
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 8
- },
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"ba" = (
-/obj/machinery/iv_drip,
-/obj/effect/turf_decal/corner/opaque/green,
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 8
- },
-/obj/effect/turf_decal/corner/opaque/green,
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 8
- },
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"bw" = (
-/obj/effect/turf_decal/corner/opaque/yellow,
-/obj/effect/turf_decal/corner/opaque/yellow{
- dir = 4
- },
-/obj/structure/table,
-/obj/machinery/reagentgrinder,
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"cI" = (
-/obj/structure/closet/crate/freezer/blood,
-/obj/structure/window{
- dir = 4
- },
-/obj/effect/turf_decal/corner/opaque/red,
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 4
- },
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 1
- },
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"cO" = (
-/obj/machinery/stasis,
-/obj/effect/turf_decal/corner/opaque/green,
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 4
- },
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 8
- },
-/obj/effect/turf_decal/corner/opaque/green,
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 4
- },
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 8
- },
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"cR" = (
-/obj/effect/turf_decal/corner/opaque/green,
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 4
- },
-/obj/effect/turf_decal/corner/opaque/green,
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 4
- },
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"cT" = (
-/obj/structure/table,
-/obj/item/folder/white,
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 4
- },
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 8
- },
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"dx" = (
-/obj/structure/table,
-/obj/item/flashlight/lamp,
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 4
- },
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 8
- },
-/obj/structure/window{
- dir = 8
- },
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"dX" = (
-/obj/structure/window{
- dir = 1
- },
-/obj/structure/table/glass,
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 4
- },
-/obj/item/storage/box/masks,
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"gp" = (
-/obj/structure/window,
-/obj/effect/turf_decal/corner/opaque/blue,
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 8
- },
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 1
- },
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"gr" = (
-/obj/structure/table/glass,
-/obj/item/retractor,
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 4
- },
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"hK" = (
-/obj/structure/window{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 4
- },
-/obj/structure/table/glass,
-/obj/item/storage/box/gloves{
- pixel_x = 3;
- pixel_y = 3
- },
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"hQ" = (
-/obj/structure/window{
- dir = 1
- },
-/obj/structure/table/glass,
-/obj/item/healthanalyzer,
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 4
- },
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"jr" = (
-/obj/effect/turf_decal/corner/opaque/blue,
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"kJ" = (
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 4
- },
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 8
- },
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"lU" = (
-/obj/effect/turf_decal/corner/opaque/yellow,
-/obj/effect/turf_decal/corner/opaque/yellow{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/yellow{
- dir = 8
- },
-/obj/structure/table,
-/obj/item/storage/box/syringes,
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"nj" = (
-/obj/structure/window{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 4
- },
-/obj/effect/turf_decal/corner/opaque/blue,
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"pe" = (
-/obj/structure/window,
-/obj/effect/turf_decal/corner/opaque/blue,
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 8
- },
-/obj/item/kirbyplants{
- icon_state = "plant-10"
- },
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"pY" = (
-/obj/machinery/computer/operating{
- dir = 8
- },
-/obj/effect/turf_decal/corner/opaque/red,
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 8
- },
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"qw" = (
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 8
- },
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 8
- },
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"qV" = (
-/obj/machinery/shower{
- dir = 4
- },
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 8
- },
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"qX" = (
-/obj/structure/bed,
-/obj/item/bedsheet/medical,
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 4
- },
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 8
- },
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 4
- },
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 8
- },
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"tI" = (
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"uj" = (
-/obj/machinery/chem_master,
-/obj/effect/turf_decal/corner/opaque/yellow{
- dir = 4
- },
-/obj/effect/turf_decal/corner/opaque/yellow{
- dir = 1
- },
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"wu" = (
-/obj/structure/filingcabinet,
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 4
- },
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 8
- },
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"wV" = (
-/obj/structure/window{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 4
- },
-/obj/structure/bed/roller,
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"xf" = (
-/obj/structure/table/optable,
-/obj/effect/turf_decal/corner/opaque/red,
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 8
- },
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"xz" = (
-/obj/structure/closet/wardrobe/white,
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 4
- },
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 8
- },
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"yk" = (
-/obj/structure/window{
- dir = 8
- },
-/obj/machinery/computer/crew{
- dir = 4
- },
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 4
- },
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 8
- },
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"zd" = (
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 4
- },
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 8
- },
-/obj/structure/table,
-/obj/item/paper_bin,
-/obj/item/pen,
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"Ac" = (
-/obj/machinery/washing_machine,
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 4
- },
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 8
- },
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"An" = (
-/obj/machinery/computer/operating{
- dir = 4
- },
-/obj/effect/turf_decal/corner/opaque/red,
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 8
- },
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"BI" = (
-/obj/structure/window{
- dir = 4
- },
-/obj/effect/turf_decal/corner/opaque/red,
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 4
- },
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"BS" = (
-/obj/machinery/computer/pandemic,
-/obj/effect/turf_decal/corner/opaque/yellow,
-/obj/effect/turf_decal/corner/opaque/yellow{
- dir = 4
- },
-/obj/effect/turf_decal/corner/opaque/yellow{
- dir = 8
- },
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"BT" = (
-/obj/structure/bed,
-/obj/item/bedsheet/medical,
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 4
- },
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 4
- },
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"Ck" = (
-/obj/machinery/shower{
- dir = 4
- },
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 8
- },
-/obj/effect/turf_decal/corner/opaque/blue,
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"Ct" = (
-/obj/structure/chair/office/light{
- dir = 8
- },
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 4
- },
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 8
- },
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"CQ" = (
-/obj/structure/table,
-/obj/item/clothing/neck/stethoscope,
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 4
- },
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 8
- },
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"DT" = (
-/obj/effect/turf_decal/corner/opaque/red,
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 8
- },
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 1
- },
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"DW" = (
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 4
- },
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"Ea" = (
-/obj/effect/turf_decal/corner/opaque/yellow{
- dir = 4
- },
-/obj/effect/turf_decal/corner/opaque/yellow{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/yellow{
- dir = 8
- },
-/obj/structure/table,
-/obj/item/reagent_containers/glass/beaker,
-/obj/item/reagent_containers/glass/beaker,
-/obj/item/reagent_containers/glass/beaker,
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"Ga" = (
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 4
- },
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 8
- },
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"GN" = (
-/obj/machinery/door/window/westleft{
- dir = 2
- },
-/obj/effect/turf_decal/corner/opaque/blue,
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 8
- },
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"Ig" = (
-/obj/machinery/iv_drip,
-/obj/effect/turf_decal/corner/opaque/green,
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 8
- },
-/obj/effect/turf_decal/corner/opaque/green,
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 8
- },
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"Ke" = (
-/obj/structure/window,
-/obj/effect/turf_decal/corner/opaque/blue,
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 8
- },
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"KD" = (
-/obj/effect/turf_decal/corner/opaque/blue,
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 4
- },
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 1
- },
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"Lt" = (
-/obj/effect/turf_decal/corner/opaque/blue,
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 4
- },
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"LW" = (
-/obj/structure/window{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 4
- },
-/obj/item/kirbyplants{
- icon_state = "plant-21"
- },
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"NV" = (
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 1
- },
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"PJ" = (
-/obj/structure/window{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 4
- },
-/obj/item/kirbyplants{
- icon_state = "plant-08"
- },
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"Qu" = (
-/obj/structure/table/glass,
-/obj/item/stack/medical/gauze,
-/obj/item/cautery,
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 4
- },
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"RA" = (
-/obj/structure/window{
- dir = 8
- },
-/obj/machinery/computer/med_data{
- dir = 4
- },
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 4
- },
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 8
- },
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"RJ" = (
-/obj/effect/turf_decal/corner/opaque/yellow{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/yellow{
- dir = 8
- },
-/obj/structure/table,
-/obj/item/reagent_containers/glass/beaker/large,
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"Sb" = (
-/obj/structure/table/glass,
-/obj/item/scalpel{
- pixel_y = 10
- },
-/obj/item/circular_saw,
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 4
- },
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"Sj" = (
-/obj/effect/turf_decal/corner/opaque/yellow,
-/obj/effect/turf_decal/corner/opaque/yellow{
- dir = 8
- },
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"Tt" = (
-/obj/machinery/stasis,
-/obj/effect/turf_decal/corner/opaque/green,
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 8
- },
-/obj/effect/turf_decal/corner/opaque/green,
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 8
- },
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"TI" = (
-/obj/effect/turf_decal/corner/opaque/green,
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 4
- },
-/obj/effect/turf_decal/corner/opaque/green,
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/green{
- dir = 4
- },
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"WK" = (
-/obj/structure/bodycontainer/morgue{
- dir = 2
- },
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 4
- },
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 8
- },
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"Xm" = (
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 8
- },
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"XM" = (
-/obj/structure/window,
-/obj/effect/turf_decal/corner/opaque/blue,
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 8
- },
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 4
- },
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"Zq" = (
-/obj/structure/table/glass,
-/obj/item/razor,
-/obj/item/hemostat,
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 4
- },
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-
-(1,1,1) = {"
-WK
-Xm
-DT
-kJ
-Ck
-qV
-gp
-qX
-qw
-ba
-"}
-(2,1,1) = {"
-Zq
-tI
-xf
-LW
-jr
-NV
-Ke
-BT
-tI
-Tt
-"}
-(3,1,1) = {"
-Sb
-tI
-pY
-dX
-jr
-NV
-Ke
-BT
-tI
-Ig
-"}
-(4,1,1) = {"
-gr
-tI
-An
-hQ
-jr
-NV
-GN
-TI
-cR
-cO
-"}
-(5,1,1) = {"
-Qu
-tI
-xf
-hK
-jr
-NV
-pe
-yk
-RA
-dx
-"}
-(6,1,1) = {"
-cI
-BI
-aL
-wV
-jr
-NV
-Ke
-Ga
-Ct
-cT
-"}
-(7,1,1) = {"
-Ea
-RJ
-lU
-PJ
-jr
-NV
-GN
-Ga
-Ga
-zd
-"}
-(8,1,1) = {"
-uj
-tI
-Sj
-DW
-jr
-NV
-Ke
-xz
-Ga
-CQ
-"}
-(9,1,1) = {"
-ap
-bw
-BS
-nj
-Lt
-KD
-XM
-Ac
-Ga
-wu
-"}
diff --git a/_maps/templates/holodeck_offline.dmm b/_maps/templates/holodeck_offline.dmm
deleted file mode 100644
index 962ba7b16d40..000000000000
--- a/_maps/templates/holodeck_offline.dmm
+++ /dev/null
@@ -1,113 +0,0 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
-"a" = (
-/turf/open/floor/holofloor/plating,
-/area/template_noop)
-
-(1,1,1) = {"
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-"}
-(2,1,1) = {"
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-"}
-(3,1,1) = {"
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-"}
-(4,1,1) = {"
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-"}
-(5,1,1) = {"
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-"}
-(6,1,1) = {"
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-"}
-(7,1,1) = {"
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-"}
-(8,1,1) = {"
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-"}
-(9,1,1) = {"
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-"}
diff --git a/_maps/templates/holodeck_petpark.dmm b/_maps/templates/holodeck_petpark.dmm
deleted file mode 100644
index 9ff44986d3d6..000000000000
--- a/_maps/templates/holodeck_petpark.dmm
+++ /dev/null
@@ -1,256 +0,0 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
-"a" = (
-/obj/structure/flora/ausbushes/sparsegrass,
-/turf/open/floor/holofloor/grass,
-/area/template_noop)
-"b" = (
-/obj/structure/flora/ausbushes/fernybush,
-/turf/open/floor/holofloor/grass,
-/area/template_noop)
-"c" = (
-/obj/machinery/hydroponics/soil,
-/turf/open/floor/holofloor/grass,
-/area/template_noop)
-"f" = (
-/obj/structure/flora/ausbushes/genericbush,
-/turf/open/floor/holofloor/grass,
-/area/template_noop)
-"g" = (
-/obj/effect/holodeck_effect/mobspawner/pet,
-/turf/open/floor/holofloor/grass,
-/area/template_noop)
-"k" = (
-/obj/structure/flora/tree/jungle/small,
-/turf/open/floor/holofloor/grass,
-/area/template_noop)
-"l" = (
-/obj/structure/flora/ausbushes/ppflowers,
-/turf/open/floor/holofloor/grass,
-/area/template_noop)
-"p" = (
-/obj/structure/flora/ausbushes/ywflowers,
-/obj/effect/holodeck_effect/mobspawner/pet,
-/turf/open/floor/holofloor/grass,
-/area/template_noop)
-"q" = (
-/obj/machinery/hydroponics/soil,
-/obj/effect/holodeck_effect/mobspawner/pet,
-/turf/open/floor/holofloor/grass,
-/area/template_noop)
-"v" = (
-/obj/structure/flora/ausbushes/palebush,
-/turf/open/floor/holofloor/grass,
-/area/template_noop)
-"w" = (
-/obj/effect/holodeck_effect/mobspawner/pet,
-/obj/structure/flora/ausbushes/brflowers,
-/turf/open/floor/holofloor/grass,
-/area/template_noop)
-"y" = (
-/obj/structure/flora/ausbushes/pointybush,
-/turf/open/floor/holofloor/grass,
-/area/template_noop)
-"C" = (
-/obj/structure/flora/ausbushes/ywflowers,
-/turf/open/floor/holofloor/grass,
-/area/template_noop)
-"D" = (
-/obj/structure/flora/ausbushes/reedbush,
-/turf/open/floor/holofloor/grass,
-/area/template_noop)
-"G" = (
-/obj/structure/flora/ausbushes/lavendergrass,
-/turf/open/floor/holofloor/grass,
-/area/template_noop)
-"H" = (
-/obj/effect/holodeck_effect/mobspawner/pet,
-/obj/structure/flora/ausbushes/sparsegrass,
-/turf/open/floor/holofloor/grass,
-/area/template_noop)
-"I" = (
-/turf/open/floor/holofloor/grass,
-/area/template_noop)
-"M" = (
-/obj/structure/flora/ausbushes/sunnybush,
-/turf/open/floor/holofloor/grass,
-/area/template_noop)
-"N" = (
-/obj/effect/turf_decal/corner/opaque/red,
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 8
- },
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 4
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"R" = (
-/obj/structure/flora/ausbushes/brflowers,
-/turf/open/floor/holofloor/grass,
-/area/template_noop)
-"S" = (
-/obj/item/trash/plate,
-/obj/effect/turf_decal/corner/opaque/red,
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 8
- },
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 4
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"U" = (
-/obj/machinery/hydroponics/soil,
-/obj/item/cultivator,
-/turf/open/floor/holofloor/grass,
-/area/template_noop)
-"V" = (
-/obj/item/shovel/spade{
- pixel_x = 2;
- pixel_y = -2
- },
-/obj/effect/turf_decal/corner/opaque/red,
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 8
- },
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 4
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-"X" = (
-/obj/item/reagent_containers/glass/bucket,
-/turf/open/floor/holofloor/grass,
-/area/template_noop)
-"Z" = (
-/obj/effect/holodeck_effect/mobspawner/pet,
-/obj/effect/turf_decal/corner/opaque/red,
-/obj/effect/turf_decal/corner/opaque/red{
- dir = 1
- },
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 8
- },
-/obj/effect/turf_decal/corner/opaque/blue{
- dir = 4
- },
-/turf/open/floor/holofloor,
-/area/template_noop)
-
-(1,1,1) = {"
-g
-I
-I
-I
-f
-I
-I
-f
-I
-a
-"}
-(2,1,1) = {"
-I
-f
-I
-v
-g
-I
-v
-H
-M
-I
-"}
-(3,1,1) = {"
-M
-g
-R
-I
-k
-l
-I
-c
-c
-I
-"}
-(4,1,1) = {"
-I
-l
-M
-I
-I
-G
-R
-U
-q
-I
-"}
-(5,1,1) = {"
-y
-w
-N
-Z
-D
-M
-X
-q
-c
-f
-"}
-(6,1,1) = {"
-I
-I
-S
-V
-I
-p
-I
-c
-c
-I
-"}
-(7,1,1) = {"
-I
-M
-g
-v
-I
-f
-C
-I
-I
-v
-"}
-(8,1,1) = {"
-f
-C
-f
-I
-I
-I
-g
-I
-b
-I
-"}
-(9,1,1) = {"
-I
-I
-I
-I
-I
-R
-I
-I
-I
-I
-"}
diff --git a/_maps/templates/holodeck_photobooth.dmm b/_maps/templates/holodeck_photobooth.dmm
deleted file mode 100644
index 64a6bb0f7205..000000000000
--- a/_maps/templates/holodeck_photobooth.dmm
+++ /dev/null
@@ -1,173 +0,0 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
-"a" = (
-/turf/open/floor/holofloor/white,
-/area/template_noop)
-"c" = (
-/obj/structure/dresser,
-/turf/open/floor/holofloor/carpet,
-/area/template_noop)
-"g" = (
-/obj/structure/easel,
-/obj/item/canvas/twentythreeXtwentythree,
-/obj/item/canvas/twentythreeXtwentythree,
-/obj/item/canvas/twentythreeXtwentythree,
-/turf/open/floor/holofloor/carpet,
-/area/template_noop)
-"r" = (
-/obj/structure/table/wood,
-/obj/item/paint/anycolor{
- pixel_x = 7
- },
-/obj/item/paint/anycolor{
- pixel_x = -5
- },
-/obj/item/paint/anycolor{
- pixel_x = 7
- },
-/obj/item/paint/anycolor{
- pixel_x = 7
- },
-/turf/open/floor/holofloor/carpet,
-/area/template_noop)
-"t" = (
-/obj/structure/table/wood,
-/obj/item/toy/crayon/spraycan{
- pixel_x = 5;
- pixel_y = 5
- },
-/obj/item/toy/crayon/spraycan{
- pixel_x = -5;
- pixel_y = 5
- },
-/turf/open/floor/holofloor/carpet,
-/area/template_noop)
-"u" = (
-/obj/structure/table/wood,
-/obj/item/paper_bin,
-/turf/open/floor/holofloor/carpet,
-/area/template_noop)
-"w" = (
-/obj/structure/table/wood,
-/obj/item/camera,
-/obj/item/camera,
-/turf/open/floor/holofloor/carpet,
-/area/template_noop)
-"H" = (
-/obj/structure/table/wood,
-/obj/item/storage/crayons,
-/turf/open/floor/holofloor/carpet,
-/area/template_noop)
-"L" = (
-/obj/structure/falsewall/wood,
-/obj/structure/mirror,
-/turf/open/floor/holofloor/carpet,
-/area/template_noop)
-
-(1,1,1) = {"
-H
-a
-a
-a
-a
-a
-a
-a
-a
-a
-"}
-(2,1,1) = {"
-L
-a
-a
-a
-a
-a
-a
-a
-a
-a
-"}
-(3,1,1) = {"
-u
-a
-a
-a
-a
-a
-a
-a
-a
-a
-"}
-(4,1,1) = {"
-r
-a
-a
-a
-a
-a
-a
-a
-a
-a
-"}
-(5,1,1) = {"
-w
-a
-a
-a
-a
-a
-a
-a
-a
-a
-"}
-(6,1,1) = {"
-t
-a
-a
-a
-a
-a
-a
-a
-a
-a
-"}
-(7,1,1) = {"
-t
-a
-a
-a
-a
-a
-a
-a
-a
-a
-"}
-(8,1,1) = {"
-g
-a
-a
-a
-a
-a
-a
-a
-a
-a
-"}
-(9,1,1) = {"
-c
-a
-a
-a
-a
-a
-a
-a
-a
-a
-"}
diff --git a/_maps/templates/holodeck_refuelingstation.dmm b/_maps/templates/holodeck_refuelingstation.dmm
deleted file mode 100644
index e066ff996229..000000000000
--- a/_maps/templates/holodeck_refuelingstation.dmm
+++ /dev/null
@@ -1,121 +0,0 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
-"a" = (
-/turf/open/floor/holofloor/plating,
-/area/template_noop)
-"j" = (
-/obj/structure/reagent_dispensers/fueltank,
-/turf/open/floor/holofloor/plating,
-/area/template_noop)
-"F" = (
-/obj/item/weldingtool,
-/turf/open/floor/holofloor/plating,
-/area/template_noop)
-
-(1,1,1) = {"
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-"}
-(2,1,1) = {"
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-"}
-(3,1,1) = {"
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-"}
-(4,1,1) = {"
-a
-j
-j
-a
-j
-j
-a
-j
-j
-a
-"}
-(5,1,1) = {"
-a
-j
-j
-F
-j
-j
-F
-j
-j
-a
-"}
-(6,1,1) = {"
-a
-j
-j
-a
-j
-j
-a
-j
-j
-a
-"}
-(7,1,1) = {"
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-"}
-(8,1,1) = {"
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-"}
-(9,1,1) = {"
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-"}
diff --git a/_maps/templates/holodeck_skatepark.dmm b/_maps/templates/holodeck_skatepark.dmm
deleted file mode 100644
index 21388e50a289..000000000000
--- a/_maps/templates/holodeck_skatepark.dmm
+++ /dev/null
@@ -1,117 +0,0 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
-"a" = (
-/turf/open/floor/holofloor/plating,
-/area/template_noop)
-"t" = (
-/obj/structure/table,
-/turf/open/floor/holofloor/plating,
-/area/template_noop)
-
-(1,1,1) = {"
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-"}
-(2,1,1) = {"
-a
-t
-t
-a
-a
-a
-a
-a
-a
-a
-"}
-(3,1,1) = {"
-a
-t
-t
-t
-t
-a
-t
-t
-a
-a
-"}
-(4,1,1) = {"
-a
-a
-t
-t
-t
-t
-t
-a
-a
-a
-"}
-(5,1,1) = {"
-a
-a
-t
-t
-a
-t
-t
-a
-a
-a
-"}
-(6,1,1) = {"
-a
-a
-t
-t
-t
-t
-a
-a
-a
-a
-"}
-(7,1,1) = {"
-a
-t
-t
-t
-t
-a
-t
-t
-a
-a
-"}
-(8,1,1) = {"
-a
-t
-a
-a
-a
-a
-t
-t
-a
-a
-"}
-(9,1,1) = {"
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-"}
diff --git a/_maps/templates/holodeck_spacecheckers.dmm b/_maps/templates/holodeck_spacecheckers.dmm
deleted file mode 100644
index c59da010a2aa..000000000000
--- a/_maps/templates/holodeck_spacecheckers.dmm
+++ /dev/null
@@ -1,187 +0,0 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
-"a" = (
-/turf/open/floor/holofloor/plating,
-/area/template_noop)
-"c" = (
-/obj/item/cardboard_cutout/adaptive{
- icon_state = "cutout_greytide";
- name = "White Pawn"
- },
-/turf/open/floor/holofloor/dark,
-/area/template_noop)
-"d" = (
-/turf/open/floor/holofloor/dark,
-/area/template_noop)
-"g" = (
-/obj/item/cardboard_cutout/adaptive{
- icon_state = "cutout_clown";
- name = "White King"
- },
-/obj/item/cardboard_cutout/adaptive{
- icon_state = "cutout_clown";
- name = "White King"
- },
-/obj/item/cardboard_cutout/adaptive{
- icon_state = "cutout_clown";
- name = "White King"
- },
-/obj/item/cardboard_cutout/adaptive{
- icon_state = "cutout_clown";
- name = "White King"
- },
-/obj/item/cardboard_cutout/adaptive{
- icon_state = "cutout_clown";
- name = "White King"
- },
-/turf/open/floor/holofloor/plating,
-/area/template_noop)
-"z" = (
-/obj/item/cardboard_cutout/adaptive{
- color = "#9999BB";
- icon_state = "cutout_clown";
- name = "Black King"
- },
-/obj/item/cardboard_cutout/adaptive{
- color = "#9999BB";
- icon_state = "cutout_clown";
- name = "Black King"
- },
-/obj/item/cardboard_cutout/adaptive{
- color = "#9999BB";
- icon_state = "cutout_clown";
- name = "Black King"
- },
-/obj/item/cardboard_cutout/adaptive{
- color = "#9999BB";
- icon_state = "cutout_clown";
- name = "Black King"
- },
-/obj/item/cardboard_cutout/adaptive{
- color = "#9999BB";
- icon_state = "cutout_clown";
- name = "Black King"
- },
-/turf/open/floor/holofloor/plating,
-/area/template_noop)
-"J" = (
-/turf/open/floor/holofloor{
- icon_state = "white"
- },
-/area/template_noop)
-"M" = (
-/obj/item/cardboard_cutout/adaptive{
- color = "#9999BB";
- icon_state = "cutout_greytide";
- name = "Black Pawn"
- },
-/turf/open/floor/holofloor/dark,
-/area/template_noop)
-
-(1,1,1) = {"
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-"}
-(2,1,1) = {"
-a
-J
-M
-J
-d
-J
-c
-J
-c
-a
-"}
-(3,1,1) = {"
-a
-M
-J
-M
-J
-d
-J
-c
-J
-a
-"}
-(4,1,1) = {"
-a
-J
-M
-J
-d
-J
-c
-J
-c
-a
-"}
-(5,1,1) = {"
-a
-M
-J
-M
-J
-d
-J
-c
-J
-a
-"}
-(6,1,1) = {"
-a
-J
-M
-J
-d
-J
-c
-J
-c
-a
-"}
-(7,1,1) = {"
-a
-M
-J
-M
-J
-d
-J
-c
-J
-a
-"}
-(8,1,1) = {"
-a
-J
-M
-J
-d
-J
-c
-J
-c
-a
-"}
-(9,1,1) = {"
-z
-M
-J
-M
-J
-d
-J
-c
-J
-g
-"}
diff --git a/_maps/templates/holodeck_thunderdome.dmm b/_maps/templates/holodeck_thunderdome.dmm
deleted file mode 100644
index b6c522a3ed44..000000000000
--- a/_maps/templates/holodeck_thunderdome.dmm
+++ /dev/null
@@ -1,148 +0,0 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
-"a" = (
-/obj/structure/table,
-/turf/open/floor/holofloor/basalt,
-/area/template_noop)
-"c" = (
-/obj/structure/window{
- dir = 1
- },
-/turf/open/floor/holofloor/basalt,
-/area/template_noop)
-"h" = (
-/obj/structure/table,
-/obj/item/clothing/head/helmet/thunderdome,
-/obj/item/clothing/suit/armor/tdome/green,
-/obj/item/clothing/under/color/green,
-/obj/item/holo/esword/green,
-/turf/open/floor/holofloor/basalt,
-/area/template_noop)
-"q" = (
-/obj/structure/table,
-/obj/item/clothing/head/helmet/thunderdome,
-/obj/item/clothing/suit/armor/tdome/red,
-/obj/item/clothing/under/color/red,
-/obj/item/holo/esword/red,
-/turf/open/floor/holofloor/basalt,
-/area/template_noop)
-"x" = (
-/obj/structure/window,
-/turf/open/floor/holofloor/basalt,
-/area/template_noop)
-"B" = (
-/turf/open/floor/holofloor/basalt,
-/area/template_noop)
-"Q" = (
-/obj/structure/table,
-/obj/machinery/readybutton,
-/turf/open/floor/holofloor/basalt,
-/area/template_noop)
-
-(1,1,1) = {"
-Q
-B
-B
-B
-x
-c
-B
-B
-B
-a
-"}
-(2,1,1) = {"
-q
-B
-B
-B
-x
-c
-B
-B
-B
-h
-"}
-(3,1,1) = {"
-q
-B
-B
-B
-x
-c
-B
-B
-B
-h
-"}
-(4,1,1) = {"
-q
-B
-B
-B
-x
-c
-B
-B
-B
-h
-"}
-(5,1,1) = {"
-q
-B
-B
-B
-x
-c
-B
-B
-B
-h
-"}
-(6,1,1) = {"
-q
-B
-B
-B
-x
-c
-B
-B
-B
-h
-"}
-(7,1,1) = {"
-q
-B
-B
-B
-x
-c
-B
-B
-B
-h
-"}
-(8,1,1) = {"
-q
-B
-B
-B
-x
-c
-B
-B
-B
-h
-"}
-(9,1,1) = {"
-a
-B
-B
-B
-x
-c
-B
-B
-B
-Q
-"}
diff --git a/_maps/templates/holodeck_thunderdome1218.dmm b/_maps/templates/holodeck_thunderdome1218.dmm
deleted file mode 100644
index 94556b2bdc7d..000000000000
--- a/_maps/templates/holodeck_thunderdome1218.dmm
+++ /dev/null
@@ -1,221 +0,0 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
-"a" = (
-/obj/structure/chair/wood{
- dir = 1
- },
-/turf/open/floor/holofloor/grass,
-/area/template_noop)
-"f" = (
-/obj/structure/window/reinforced,
-/obj/item/banner/red,
-/turf/open/floor/holofloor/asteroid,
-/area/template_noop)
-"g" = (
-/obj/structure/window/reinforced,
-/obj/item/banner/blue,
-/turf/open/floor/holofloor/asteroid,
-/area/template_noop)
-"k" = (
-/obj/structure/table/wood/fancy,
-/obj/item/clothing/suit/armor/riot/knight/blue,
-/obj/item/clothing/head/helmet/knight/blue,
-/turf/open/floor/holofloor/grass,
-/area/template_noop)
-"n" = (
-/obj/machinery/door/window/westleft{
- dir = 2
- },
-/turf/open/floor/holofloor/grass,
-/area/template_noop)
-"p" = (
-/turf/open/floor/holofloor/asteroid,
-/area/template_noop)
-"r" = (
-/obj/structure/table/wood,
-/obj/item/scythe,
-/obj/item/spear,
-/obj/item/melee/chainofcommand{
- name = "chain whip"
- },
-/turf/open/floor/holofloor/asteroid,
-/area/template_noop)
-"s" = (
-/obj/machinery/door/window/westleft{
- dir = 2;
- icon_state = "right"
- },
-/turf/open/floor/holofloor/grass,
-/area/template_noop)
-"x" = (
-/turf/open/floor/holofloor/grass,
-/area/template_noop)
-"y" = (
-/obj/structure/table/wood,
-/obj/item/melee/chainofcommand{
- name = "chain whip"
- },
-/obj/item/spear,
-/turf/open/floor/holofloor/asteroid,
-/area/template_noop)
-"B" = (
-/turf/open/floor/holofloor{
- icon_state = "stairs-old"
- },
-/area/template_noop)
-"C" = (
-/obj/structure/table/wood/fancy,
-/obj/item/clothing/head/crown/fancy{
- pixel_y = 6
- },
-/turf/open/floor/holofloor/grass,
-/area/template_noop)
-"E" = (
-/obj/structure/window/reinforced,
-/turf/open/floor/holofloor/asteroid,
-/area/template_noop)
-"H" = (
-/obj/structure/statue/diamond/captain,
-/turf/open/floor/holofloor/grass,
-/area/template_noop)
-"J" = (
-/obj/structure/window/reinforced,
-/turf/open/floor/holofloor/grass,
-/area/template_noop)
-"N" = (
-/obj/structure/table/wood,
-/obj/item/spear,
-/turf/open/floor/holofloor/asteroid,
-/area/template_noop)
-"Q" = (
-/obj/structure/table/wood/fancy,
-/obj/item/clothing/suit/armor/riot/knight/blue,
-/obj/item/clothing/head/helmet/knight/blue,
-/obj/item/claymore/weak,
-/turf/open/floor/holofloor/grass,
-/area/template_noop)
-"R" = (
-/obj/machinery/door/window/westleft{
- dir = 2
- },
-/turf/open/floor/holofloor/asteroid,
-/area/template_noop)
-"T" = (
-/obj/structure/table/wood,
-/obj/item/spear,
-/turf/open/floor/holofloor/asteroid,
-/area/template_noop)
-"X" = (
-/obj/structure/table/wood,
-/obj/item/scythe,
-/obj/item/spear,
-/turf/open/floor/holofloor/asteroid,
-/area/template_noop)
-
-(1,1,1) = {"
-H
-J
-N
-p
-p
-p
-p
-g
-x
-a
-"}
-(2,1,1) = {"
-x
-J
-r
-p
-p
-p
-p
-E
-x
-a
-"}
-(3,1,1) = {"
-k
-s
-B
-p
-p
-p
-p
-E
-x
-a
-"}
-(4,1,1) = {"
-Q
-J
-y
-p
-p
-p
-p
-R
-x
-a
-"}
-(5,1,1) = {"
-C
-J
-X
-p
-p
-p
-p
-E
-x
-a
-"}
-(6,1,1) = {"
-Q
-J
-T
-p
-p
-p
-p
-R
-x
-a
-"}
-(7,1,1) = {"
-k
-n
-B
-p
-p
-p
-p
-E
-x
-a
-"}
-(8,1,1) = {"
-x
-J
-y
-p
-p
-p
-p
-E
-x
-a
-"}
-(9,1,1) = {"
-H
-J
-T
-p
-p
-p
-p
-f
-x
-a
-"}
diff --git a/_maps/templates/holodeck_wildlifesim.dmm b/_maps/templates/holodeck_wildlifesim.dmm
deleted file mode 100644
index cc01ef83518e..000000000000
--- a/_maps/templates/holodeck_wildlifesim.dmm
+++ /dev/null
@@ -1,117 +0,0 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
-"a" = (
-/turf/open/floor/holofloor/plating,
-/area/template_noop)
-"H" = (
-/obj/effect/holodeck_effect/mobspawner,
-/turf/open/floor/holofloor/plating,
-/area/template_noop)
-
-(1,1,1) = {"
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-"}
-(2,1,1) = {"
-a
-a
-H
-a
-a
-a
-a
-a
-H
-a
-"}
-(3,1,1) = {"
-a
-a
-a
-a
-H
-a
-a
-a
-a
-a
-"}
-(4,1,1) = {"
-a
-a
-H
-a
-a
-a
-a
-a
-H
-a
-"}
-(5,1,1) = {"
-a
-a
-a
-a
-a
-H
-H
-a
-a
-a
-"}
-(6,1,1) = {"
-a
-a
-H
-a
-a
-a
-a
-a
-H
-a
-"}
-(7,1,1) = {"
-a
-a
-a
-a
-H
-a
-a
-a
-a
-a
-"}
-(8,1,1) = {"
-a
-a
-H
-a
-a
-a
-a
-a
-H
-a
-"}
-(9,1,1) = {"
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-"}
diff --git a/_maps/templates/holodeck_winterwonderland.dmm b/_maps/templates/holodeck_winterwonderland.dmm
deleted file mode 100644
index f072ddd9b278..000000000000
--- a/_maps/templates/holodeck_winterwonderland.dmm
+++ /dev/null
@@ -1,247 +0,0 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
-"a" = (
-/obj/structure/flora/grass/both,
-/turf/open/floor/holofloor/snow,
-/area/template_noop)
-"c" = (
-/obj/structure/flora/bush{
- pixel_x = -2;
- pixel_y = 3
- },
-/turf/open/floor/holofloor/snow,
-/area/template_noop)
-"d" = (
-/obj/structure/flora/tree/pine,
-/turf/open/floor/holofloor/snow,
-/area/template_noop)
-"h" = (
-/obj/structure/flora/tree/pine{
- pixel_y = -6
- },
-/turf/open/floor/holofloor/snow,
-/area/template_noop)
-"l" = (
-/obj/structure/flora/tree/pine{
- pixel_x = -21
- },
-/turf/open/floor/holofloor/snow,
-/area/template_noop)
-"m" = (
-/obj/effect/holodeck_effect/mobspawner/penguin,
-/turf/open/floor/holofloor/snow,
-/area/template_noop)
-"n" = (
-/obj/item/stack/sheet/mineral/coal{
- pixel_x = -8;
- pixel_y = -4
- },
-/turf/open/floor/holofloor/snow,
-/area/template_noop)
-"q" = (
-/obj/structure/flora/grass/brown,
-/turf/open/floor/holofloor/snow,
-/area/template_noop)
-"s" = (
-/obj/structure/flora/tree/pine/xmas,
-/turf/open/floor/holofloor/snow,
-/area/template_noop)
-"u" = (
-/obj/item/clothing/gloves/color/green{
- pixel_x = -7;
- pixel_y = -7
- },
-/turf/open/floor/holofloor/snow,
-/area/template_noop)
-"w" = (
-/obj/item/clothing/suit/hooded/wintercoat,
-/turf/open/floor/holofloor/snow,
-/area/template_noop)
-"A" = (
-/obj/structure/flora/bush,
-/turf/open/floor/holofloor/snow,
-/area/template_noop)
-"D" = (
-/obj/structure/statue/snow/snowman{
- anchored = 1
- },
-/turf/open/floor/holofloor/snow,
-/area/template_noop)
-"E" = (
-/obj/effect/holodeck_effect/mobspawner/penguin_baby,
-/turf/open/floor/holofloor/snow,
-/area/template_noop)
-"G" = (
-/obj/item/clothing/head/trapper{
- pixel_x = -5;
- pixel_y = 6
- },
-/turf/open/floor/holofloor/snow,
-/area/template_noop)
-"H" = (
-/obj/item/clothing/neck/stripedredscarf{
- pixel_x = -3;
- pixel_y = -5
- },
-/turf/open/floor/holofloor/snow,
-/area/template_noop)
-"L" = (
-/obj/structure/flora/grass/green,
-/turf/open/floor/holofloor/snow,
-/area/template_noop)
-"O" = (
-/obj/structure/flora/bush{
- pixel_x = 5;
- pixel_y = 7
- },
-/turf/open/floor/holofloor/snow,
-/area/template_noop)
-"P" = (
-/obj/item/clothing/head/collectable/tophat{
- pixel_x = 9;
- pixel_y = 7
- },
-/turf/open/floor/holofloor/snow,
-/area/template_noop)
-"Q" = (
-/obj/item/clothing/shoes/winterboots{
- pixel_y = 12
- },
-/turf/open/floor/holofloor/snow,
-/area/template_noop)
-"R" = (
-/obj/structure/flora/tree/pine{
- pixel_x = -10
- },
-/turf/open/floor/holofloor/snow,
-/area/template_noop)
-"S" = (
-/obj/item/hatchet/wooden{
- pixel_x = 7;
- pixel_y = -8
- },
-/turf/open/floor/holofloor/snow,
-/area/template_noop)
-"U" = (
-/obj/item/toy/snowball{
- pixel_y = 6
- },
-/obj/item/toy/snowball{
- pixel_x = 5
- },
-/obj/item/toy/snowball{
- pixel_x = -4
- },
-/turf/open/floor/holofloor/snow,
-/area/template_noop)
-"Z" = (
-/turf/open/floor/holofloor/snow,
-/area/template_noop)
-
-(1,1,1) = {"
-L
-S
-Z
-Z
-A
-Z
-Z
-Z
-Z
-a
-"}
-(2,1,1) = {"
-Z
-h
-Z
-Z
-Z
-Z
-Z
-Z
-l
-Z
-"}
-(3,1,1) = {"
-Z
-P
-U
-Z
-Z
-Z
-Z
-Z
-Z
-c
-"}
-(4,1,1) = {"
-H
-D
-Z
-Z
-Z
-Z
-Z
-Z
-m
-Z
-"}
-(5,1,1) = {"
-A
-n
-Z
-Z
-Z
-s
-E
-Z
-w
-Q
-"}
-(6,1,1) = {"
-Z
-Z
-m
-Z
-Z
-Z
-Z
-U
-u
-G
-"}
-(7,1,1) = {"
-Z
-Z
-d
-O
-Z
-Z
-Z
-Z
-Z
-Z
-"}
-(8,1,1) = {"
-Z
-Z
-Z
-Z
-Z
-Z
-Z
-Z
-Z
-R
-"}
-(9,1,1) = {"
-Z
-a
-Z
-Z
-Z
-L
-Z
-Z
-Z
-q
-"}
diff --git a/code/__DEFINES/is_helpers.dm b/code/__DEFINES/is_helpers.dm
index 8fd5d549c086..c0a4d30aba8b 100644
--- a/code/__DEFINES/is_helpers.dm
+++ b/code/__DEFINES/is_helpers.dm
@@ -224,8 +224,6 @@ GLOBAL_LIST_INIT(glass_sheet_types, typecacheof(list(
#define iseffect(O) (istype(O, /obj/effect))
-#define isholoeffect(O) (istype(O, /obj/effect/holodeck_effect))
-
#define isblobmonster(O) (istype(O, /mob/living/simple_animal/hostile/blob))
#define isshuttleturf(T) (length(T.baseturfs) && (/turf/baseturf_skipover/shuttle in T.baseturfs))
diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm
index 9dbe4fae64e9..0f2f39ee0240 100644
--- a/code/__DEFINES/misc.dm
+++ b/code/__DEFINES/misc.dm
@@ -470,11 +470,6 @@ GLOBAL_LIST_INIT(ghost_others_options, list(GHOST_OTHERS_SIMPLE, GHOST_OTHERS_DE
/// Possible value of [/atom/movable/buckle_lying]. If set to a different (positive-or-zero) value than this, the buckling thing will force a lying angle on the buckled.
#define NO_BUCKLE_LYING -1
-#define STATION_HOLODECK (1<<0)
-#define CUSTOM_HOLODECK_ONE (1<<1)
-#define CUSTOM_HOLODECK_TWO (1<<2)
-#define HOLODECK_DEBUG (1<<3)//you should never see this
-
#define ROUND_END_NOT_DELAYED 0
#define ROUND_END_DELAYED 1
#define ROUND_END_TGS 2
diff --git a/code/controllers/subsystem/mapping.dm b/code/controllers/subsystem/mapping.dm
index f9c5c9c86399..92b8d146c4fc 100644
--- a/code/controllers/subsystem/mapping.dm
+++ b/code/controllers/subsystem/mapping.dm
@@ -22,7 +22,6 @@ SUBSYSTEM_DEF(mapping)
var/list/shuttle_templates = list()
var/list/shelter_templates = list()
- var/list/holodeck_templates = list()
// List mapping TYPES of outpost map templates to instances of their singletons.
var/list/outpost_templates = list()
@@ -91,13 +90,11 @@ SUBSYSTEM_DEF(mapping)
shuttle_templates = SSmapping.shuttle_templates
shelter_templates = SSmapping.shelter_templates
- holodeck_templates = SSmapping.holodeck_templates
outpost_templates = SSmapping.outpost_templates
shuttle_templates = SSmapping.shuttle_templates
shelter_templates = SSmapping.shelter_templates
- holodeck_templates = SSmapping.holodeck_templates
areas_in_z = SSmapping.areas_in_z
map_zones = SSmapping.map_zones
@@ -127,7 +124,6 @@ SUBSYSTEM_DEF(mapping)
preloadShuttleTemplates()
load_ship_templates()
preloadShelterTemplates()
- preloadHolodeckTemplates()
preloadOutpostTemplates()
/datum/controller/subsystem/mapping/proc/preloadRuinTemplates()
@@ -279,16 +275,6 @@ SUBSYSTEM_DEF(mapping)
add_new_zlevel("Quadrant Allocation Level", allocation_type = ALLOCATION_QUADRANT)
CHECK_TICK
-/datum/controller/subsystem/mapping/proc/preloadHolodeckTemplates()
- for(var/item in subtypesof(/datum/map_template/holodeck))
- var/datum/map_template/holodeck/holodeck_type = item
- if(!(initial(holodeck_type.mappath)))
- continue
- var/datum/map_template/holodeck/holo_template = new holodeck_type()
-
- holodeck_templates[holo_template.template_id] = holo_template
- map_templates[holo_template.template_id] = holo_template
-
/datum/controller/subsystem/mapping/proc/preloadOutpostTemplates()
for(var/datum/map_template/outpost/outpost_type as anything in subtypesof(/datum/map_template/outpost))
var/datum/map_template/outpost/outpost_template = new outpost_type()
diff --git a/code/game/area/areas/holodeck.dm b/code/game/area/areas/holodeck.dm
deleted file mode 100644
index c8741a23ae7e..000000000000
--- a/code/game/area/areas/holodeck.dm
+++ /dev/null
@@ -1,52 +0,0 @@
-/area/holodeck
- name = "Holodeck"
- icon_state = "Holodeck"
- dynamic_lighting = DYNAMIC_LIGHTING_DISABLED
- flags_1 = NONE
- area_flags = VALID_TERRITORY | UNIQUE_AREA
- sound_environment = SOUND_ENVIRONMENT_PADDED_CELL
-
- var/obj/machinery/computer/holodeck/linked
- var/restricted = 0 // if true, program goes on emag list
-
-/*
- Power tracking: Use the holodeck computer's power grid
- Asserts are to avoid the inevitable infinite loops
-*/
-
-/area/holodeck/powered(chan)
- if(!requires_power)
- return TRUE
- if(always_unpowered)
- return FALSE
- if(!linked)
- return FALSE
- var/area/A = get_area(linked)
- ASSERT(!istype(A, /area/holodeck))
- return A.powered(chan)
-
-/area/holodeck/addStaticPower(value, powerchannel)
- if(!linked)
- return
- var/area/A = get_area(linked)
- ASSERT(!istype(A, /area/holodeck))
- return ..()
-
-/area/holodeck/use_power(amount, chan)
- if(!linked)
- return 0
- var/area/A = get_area(linked)
- ASSERT(!istype(A, /area/holodeck))
- return ..()
-
-
-/*
- This is the standard holodeck. It is intended to allow you to
- blow off steam by doing stupid things like laying down, throwing
- spheres at holes, or bludgeoning people.
-*/
-/area/holodeck/rec_center
- name = "\improper Recreational Holodeck"
-
-/area/holodeck/rec_center/offstation_one
- name = "\improper Recreational Holodeck"
diff --git a/code/game/objects/items/circuitboards/computer_circuitboards.dm b/code/game/objects/items/circuitboards/computer_circuitboards.dm
index 8cbda2b3af5a..54dcfb36c131 100644
--- a/code/game/objects/items/circuitboards/computer_circuitboards.dm
+++ b/code/game/objects/items/circuitboards/computer_circuitboards.dm
@@ -180,11 +180,6 @@
icon_state = "generic"
build_path = /obj/machinery/computer/arcade/orion_trail
-/obj/item/circuitboard/computer/holodeck// Not going to let people get this, but it's just here for future
- name = "Holodeck Control (Computer Board)"
- icon_state = "generic"
- build_path = /obj/machinery/computer/holodeck
-
/obj/item/circuitboard/computer/libraryconsole
name = "Library Visitor Console (Computer Board)"
build_path = /obj/machinery/computer/libraryconsole
diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm
index 211c03d1d98a..a976c49fb45c 100644
--- a/code/game/objects/items/toys.dm
+++ b/code/game/objects/items/toys.dm
@@ -617,7 +617,6 @@
icon_state = "deck_nanotrasen_full"
w_class = WEIGHT_CLASS_SMALL
var/cooldown = 0
- var/obj/machinery/computer/holodeck/holo = null // Holodeck cards should not be infinite
var/list/cards = list()
/obj/item/toy/cards/deck/Initialize()
@@ -649,8 +648,6 @@
to_chat(user, "There are no more cards to draw!")
return
var/obj/item/toy/cards/singlecard/H = new/obj/item/toy/cards/singlecard(user.loc)
- if(holo)
- holo.spawned += H // track them leaving the holodeck
choice = cards[1]
H.cardname = choice
H.parentdeck = src
diff --git a/code/game/turfs/change_turf.dm b/code/game/turfs/change_turf.dm
index a8567072f56b..07976f05631f 100644
--- a/code/game/turfs/change_turf.dm
+++ b/code/game/turfs/change_turf.dm
@@ -255,10 +255,12 @@ GLOBAL_LIST_INIT(blacklisted_automated_baseturfs, typecacheof(list(
if(flags_1 & INITIALIZED_1)
stack_trace("CHANGETURF_SKIP was used in a PlaceOnTop call for a turf that's initialized. This is a mistake. [src]([type])")
assemble_baseturfs()
+
+ if(!length(baseturfs))
+ baseturfs = list(baseturfs)
+
if(fake_turf_type)
if(!new_baseturfs) // If no baseturfs list then we want to create one from the turf type
- if(!length(baseturfs))
- baseturfs = list(baseturfs)
var/list/old_baseturfs = baseturfs.Copy()
if(!istype(src, /turf/closed))
old_baseturfs += type
@@ -269,25 +271,23 @@ GLOBAL_LIST_INIT(blacklisted_automated_baseturfs, typecacheof(list(
// The old baseturfs are put underneath, and we sort out the unwanted ones
newT.baseturfs = baseturfs_string_list(old_baseturfs + (newT.baseturfs - GLOB.blacklisted_automated_baseturfs), newT)
return newT
- if(!length(baseturfs))
- baseturfs = list(baseturfs)
- if(!istype(src, /turf/closed))
- new_baseturfs = list(type) + new_baseturfs
- baseturfs = baseturfs_string_list(baseturfs + new_baseturfs, src)
- return ChangeTurf(fake_turf_type, null, flags)
- if(!length(baseturfs))
- baseturfs = list(baseturfs)
- if(!istype(src, /turf/closed))
- baseturfs = baseturfs_string_list(baseturfs + type, src)
- var/turf/change_type
- if(length(new_baseturfs))
- change_type = new_baseturfs[new_baseturfs.len]
- new_baseturfs.len--
- if(new_baseturfs.len)
+ else
+ if(!istype(src, /turf/closed))
+ new_baseturfs = list(type) + new_baseturfs
baseturfs = baseturfs_string_list(baseturfs + new_baseturfs, src)
+ return ChangeTurf(fake_turf_type, null, flags)
else
- change_type = new_baseturfs
- return ChangeTurf(change_type, null, flags)
+ if(!istype(src, /turf/closed))
+ baseturfs = baseturfs_string_list(baseturfs + type, src)
+ var/turf/change_type
+ if(length(new_baseturfs))
+ change_type = new_baseturfs[new_baseturfs.len]
+ new_baseturfs.len--
+ if(new_baseturfs.len)
+ baseturfs = baseturfs_string_list(baseturfs + new_baseturfs, src)
+ else
+ change_type = new_baseturfs
+ return ChangeTurf(change_type, null, flags)
// Copy an existing turf and put it on top
// Returns the new turf
diff --git a/code/game/turfs/open/floor/reinf_floor.dm b/code/game/turfs/open/floor/reinf_floor.dm
index 04f005417eb0..68a96846adbb 100644
--- a/code/game/turfs/open/floor/reinf_floor.dm
+++ b/code/game/turfs/open/floor/reinf_floor.dm
@@ -3,7 +3,6 @@
name = "reinforced floor"
desc = "Extremely sturdy."
icon_state = "engine"
- holodeck_compatible = TRUE
thermal_conductivity = 0.025
heat_capacity = INFINITY
floor_tile = /obj/item/stack/sheet/metal
diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm
index ca5a6fe3fd25..4202be74b347 100644
--- a/code/game/turfs/turf.dm
+++ b/code/game/turfs/turf.dm
@@ -12,7 +12,7 @@ GLOBAL_LIST_EMPTY(created_baseturf_lists)
// In class definition like here it should always be a single type.
// A list will be created in initialization that figures out the baseturf's baseturf etc.
// In the case of a list it is sorted from bottom layer to top.
- // This shouldn't be modified directly, use the helper procs.
+ // This shouldn't be modified directly; use the helper procs, as many baseturf lists are shared between turfs.
var/list/baseturfs = /turf/baseturf_bottom
/// How hot the turf is, in kelvin
@@ -73,9 +73,6 @@ GLOBAL_LIST_EMPTY(created_baseturf_lists)
/// Used to stop radiation from travelling across virtual z-levels such as transit zones and planetary encounters.
var/rad_fullblocker = FALSE
- ///the holodeck can load onto this turf if TRUE
- var/holodeck_compatible = FALSE
-
hitsound_volume = 90
/turf/vv_edit_var(var_name, new_value)
@@ -388,7 +385,11 @@ GLOBAL_LIST_EMPTY(created_baseturf_lists)
if(!AM.zfalling)
zFall(AM)
-// A proc in case it needs to be recreated or badmins want to change the baseturfs
+// Initializes the baseturfs list, given an optional "fake_baseturf_type".
+// If "fake_baseturf_type" is a list, then this turf's baseturfs are set to that list.
+// Otherwise, if "fake_baseturf_type" is non-null, it is used as the top of the baseturf stack.
+// If no fake_baseturf_type is passed, and the current turf's baseturfs variable is not a list,
+// baseturfs are initialized using the intial baseturfs variable as the top of the baseturf stack.
/turf/proc/assemble_baseturfs(turf/fake_baseturf_type)
var/turf/current_target
if(fake_baseturf_type)
diff --git a/code/modules/holodeck/computer.dm b/code/modules/holodeck/computer.dm
deleted file mode 100644
index e6a1c90ede6e..000000000000
--- a/code/modules/holodeck/computer.dm
+++ /dev/null
@@ -1,414 +0,0 @@
-/*
-Map Template Holodeck
-
-Holodeck finds the location of mapped_start_area and loads offline_program in it on LateInitialize. It then loads the programs that have the
-same holodeck_access flag as it (e.g. the station holodeck has the holodeck_access flag STATION_HOLODECK, and it loads all programs with this
-flag). These program templates are then given to Holodeck.js in the form of program_cache and emag_programs. when a user selects a program the
-ui calls load_program() with the id of the selected program.
-load_program() -> map_template/load() on map_template/holodeck.
-
-holodeck map templates:
-1. have an update_blacklist that doesnt allow placing on non holofloors (except for engine floors so you can repair it)
-2. has should_place_on_top = FALSE, so that the baseturfs list doesnt pull a kilostation oom crash
-3. has returns_created = TRUE, so that SSatoms gives the map template a list of spawned atoms
-all the fancy flags and shit are added to holodeck objects in finish_spawn()
-
-Easiest way to add new holodeck programs:
-1. Define new map template datums in code/modules/holodeck/holodeck_map_templates, make sure they have the access flags
-of the holodeck you want them to be able to load, for the onstation holodeck the flag is STATION_HOLODECK.
-2. Create the new map templates in _maps/templates (remember theyre 9x10, and make sure they have area/noop or else it will fuck with linked)
-all turfs in holodeck programs MUST be of type /turf/open/floor/holofloor, OR /turf/open/floor/engine, or they will block future programs!
-
-Note: if youre looking at holodeck code because you want to see how returns_created is handled so that templates return a list of atoms
-created from them: make sure you handle that list correctly! Either copy them by value and delete them or reference it and handle qdel'ing
-and clear when youre done! if you dont i will use :newspaper2: on you
-*/
-
-#define HOLODECK_CD 2 SECONDS
-#define HOLODECK_DMG_CD 5 SECONDS
-
-
-/obj/machinery/computer/holodeck
- name = "holodeck control console"
- desc = "A computer used to control a nearby holodeck."
- icon_screen = "holocontrol"
- idle_power_usage = 10
- active_power_usage = 50
-
- //new vars
- ///what access type this holodeck has, used to specify programs for another holodeck that others cant load.
- var/holodeck_access = STATION_HOLODECK
-
- ///what area type this holodeck loads into. linked turns into the nearest instance of this area
- var/area/mapped_start_area = /area/holodeck/rec_center
-
- ///the currently used map template
- var/datum/map_template/holodeck/template
-
- ///bottom left corner of the loading room, used for placing
- var/turf/bottom_left
-
- ///if TRUE the holodeck is busy spawning another simulation and should immediately stop loading the newest one
- var/spawning_simulation = FALSE
-
- //old vars
-
- ///the area that this holodeck loads templates into, used for power and deleting holo objects that leave it
- var/area/holodeck/linked
-
- ///what program is loaded right now or is about to be loaded
- var/program = "holodeck_offline"
- var/last_program
-
- ///the default program loaded by this holodeck when spawned and when deactivated
- var/offline_program = "holodeck_offline"
-
- ///stores all of the unrestricted holodeck map templates that this computer has access to
- var/list/program_cache
- ///stores all of the restricted holodeck map templates that this computer has access to
- var/list/emag_programs
-
- ///subtypes of this (but not this itself) are loadable programs
- var/program_type = /datum/map_template/holodeck
-
- ///every holo object created by the holodeck goes in here to track it
- var/list/spawned = list()
- var/list/effects = list() //like above, but for holo effects
-
- ///TRUE if the holodeck is using extra power because of a program, FALSE otherwise
- var/active = FALSE
- ///increases the holodeck cooldown if TRUE, causing the holodeck to take longer to allow loading new programs
- var/damaged = FALSE
-
- //creates the timer that determines if another program can be manually loaded
- COOLDOWN_DECLARE(holodeck_cooldown)
-
-/obj/machinery/computer/holodeck/Initialize(mapload)
- ..()
- return INITIALIZE_HINT_LATELOAD
-
-/obj/machinery/computer/holodeck/LateInitialize()//from here linked is populated and the program list is generated. its also set to load the offline program
- linked = GLOB.areas_by_type[mapped_start_area]
-
- var/area/computer_area = get_area(src)
- if(istype(computer_area, /area/holodeck))
- log_mapping("Holodeck computer cannot be in a holodeck, This would cause circular power dependency.")
- qdel(src)
- return
-
- // the following is necessary for power reasons
- if(!linked)
- log_mapping("No matching holodeck area found")
- qdel(src)
- return
- else if (!offline_program)
- stack_trace("Holodeck console created without an offline program")
- qdel(src)
- return
-
- else
- linked.linked = src
- var/area/my_area = get_area(src)
- if(my_area)
- linked.power_usage = my_area.power_usage
- else
- linked.power_usage = list(AREA_USAGE_LEN)
-
- bottom_left = locate(linked.x, linked.y, z)
- COOLDOWN_START(src, holodeck_cooldown, HOLODECK_CD)
- generate_program_list()
- load_program(offline_program,TRUE)
-
-///adds all programs that this holodeck has access to, and separates the restricted and unrestricted ones
-/obj/machinery/computer/holodeck/proc/generate_program_list()
- for(var/typekey in subtypesof(program_type))
- var/datum/map_template/holodeck/program = typekey
- var/list/info_this = list("id" = initial(program.template_id), "name" = initial(program.name))
- if(initial(program.restricted) && (initial(program.access_flags) & holodeck_access))
- LAZYADD(emag_programs, list(info_this))
- else if (initial(program.access_flags) & holodeck_access)
- LAZYADD(program_cache, list(info_this))
-
-/obj/machinery/computer/holodeck/ui_interact(mob/user, datum/tgui/ui)
- ui = SStgui.try_update_ui(user, src, ui)
- if(!ui)
- ui = new(user, src, "Holodeck", name)
- ui.open()
-
-/obj/machinery/computer/holodeck/ui_data(mob/user)
- var/list/data = list()
-
- data["default_programs"] = program_cache
- if(obj_flags & EMAGGED)
- data["emagged"] = TRUE
- data["emag_programs"] = emag_programs
- data["program"] = program
- data["can_toggle_safety"] = issilicon(user) || isAdminGhostAI(user)
- return data
-
-/obj/machinery/computer/holodeck/ui_act(action, params)
- . = ..()
- if(.)
- return
- . = TRUE
- switch(action)
- if("load_program")
- var/program_to_load = params["id"]
-
- var/list/checked = program_cache.Copy()
- if (obj_flags & EMAGGED)
- checked |= emag_programs
- var/valid = FALSE //dont tell security about this
-
- for (var/prog in checked)//checks if program_to_load is any one of the loadable programs, if it isnt then it rejects it
- var/list/check_list = prog
- if (check_list["id"] == program_to_load)
- valid = TRUE
- break
- if (!valid)
- return FALSE
- //load the map_template that program_to_load represents
- if(program_to_load)
- load_program(program_to_load)
- if("safety")
- if((obj_flags & EMAGGED) && program)
- emergency_shutdown()
- nerf(obj_flags & EMAGGED,FALSE)
- obj_flags ^= EMAGGED
- say("Safeties reset. Restarting...")
-
-///this is what makes the holodeck not spawn anything on broken tiles (space and non engine plating / non holofloors)
-/datum/map_template/holodeck/update_blacklist(turf/placement, list/input_blacklist)
- for (var/_turf in get_affected_turfs(placement))
- var/turf/possible_blacklist = _turf
- if (possible_blacklist.holodeck_compatible)
- continue
- input_blacklist[possible_blacklist] = TRUE
-
-///loads the template whose id string it was given ("offline_program" loads datum/map_template/holodeck/offline)
-/obj/machinery/computer/holodeck/proc/load_program(map_id, force = FALSE, add_delay = TRUE)
- if (program == map_id)
- return
-
- if (is_operational)//load_program is called once with a timer (in toggle_power) we dont want this to load anything if its off
- map_id = offline_program
- force = TRUE
-
- if ((!COOLDOWN_FINISHED(src, holodeck_cooldown) && !force) || spawning_simulation)
- say("ERROR. Recalibrating projection apparatus.")
- return
-
- if (add_delay)
- COOLDOWN_START(src, holodeck_cooldown, (damaged ? HOLODECK_CD + HOLODECK_DMG_CD : HOLODECK_CD))
- if (damaged && floorcheck())
- damaged = FALSE
-
- spawning_simulation = TRUE
- active = (map_id != offline_program)
- use_power = active + IDLE_POWER_USE
- program = map_id
-
- //clear the items from the previous program
- for (var/_item in spawned)
- var/obj/holo_item = _item
- derez(holo_item)
-
- for (var/_effect in effects)
- var/obj/effect/holodeck_effect/holo_effect = _effect
- effects -= holo_effect
- holo_effect.deactivate(src)
-
- //makes sure that any time a holoturf is inside a baseturf list (e.g. if someone put a wall over it) its set to the OFFLINE turf
- //so that you cant bring turfs from previous programs into other ones (like putting the plasma burn turf into lounge for example)
- for (var/turf/closed/holo_turf in linked)
- for (var/_baseturf in holo_turf.baseturfs)
- if (ispath(_baseturf, /turf/open/floor/holofloor))
- holo_turf.baseturfs -= _baseturf
- holo_turf.baseturfs += /turf/open/floor/holofloor/plating
-
- template = SSmapping.holodeck_templates[map_id]
- template.load(bottom_left) //this is what actually loads the holodeck simulation into the map
-
- spawned = template.created_atoms //populate the spawned list with the atoms belonging to the holodeck
-
- nerf(!(obj_flags & EMAGGED))
- finish_spawn()
-
-///finalizes objects in the spawned list
-/obj/machinery/computer/holodeck/proc/finish_spawn()
- //this is used for holodeck effects (like spawners). otherwise they dont do shit
- //holo effects are taken out of the spawned list and added to the effects list
- //turfs and overlay objects are taken out of the spawned list
- //objects get resistance flags added to them
- for (var/_atom in spawned)
- var/atom/atoms = _atom
-
- if (isturf(atoms) || istype(atoms, /obj/effect/overlay/vis)) //ssatoms
- spawned -= atoms
- continue
-
- atoms.flags_1 |= HOLOGRAM_1
- RegisterSignal(atoms, COMSIG_PARENT_PREQDELETED, PROC_REF(remove_from_holo_lists))
-
- if (isholoeffect(atoms))//activates holo effects and transfers them from the spawned list into the effects list
- var/obj/effect/holodeck_effect/holo_effect = atoms
- effects += holo_effect
- spawned -= holo_effect
- var/atom/active_effect = holo_effect.activate(src)
- if(istype(active_effect) || islist(active_effect))
- spawned += active_effect // we want mobs or objects spawned via holoeffects to be tracked as objects
- continue
-
- if (isobj(atoms))
- var/obj/holo_object = atoms
- holo_object.resistance_flags = LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF
-
- if (isstructure(holo_object))
- holo_object.flags_1 |= NODECONSTRUCT_1
- continue
-
- if (ismachinery(holo_object))
- var/obj/machinery/machines = holo_object
- machines.flags_1 |= NODECONSTRUCT_1
- machines.power_change()
-
- if(istype(machines, /obj/machinery/button))
- var/obj/machinery/button/buttons = machines
- buttons.setup_device()
- spawning_simulation = FALSE
-
-///this qdels holoitems that should no longer exist for whatever reason
-/obj/machinery/computer/holodeck/proc/derez(obj/object, silent = TRUE, forced = FALSE)
- if(!object)
- return
-
- spawned -= object
- UnregisterSignal(object, COMSIG_PARENT_PREQDELETED)
- var/turf/target_turf = get_turf(object)
- for(var/c in object) //make sure that things inside of a holoitem are moved outside before destroying it
- var/atom/movable/object_contents = c
- object_contents.forceMove(target_turf)
-
- if(!silent)
- visible_message("[object] fades away!")
-
- qdel(object)
-
-/obj/machinery/computer/holodeck/proc/remove_from_holo_lists(datum/to_remove, _forced)
- spawned -= to_remove
- UnregisterSignal(to_remove, COMSIG_PARENT_PREQDELETED)
-
-/obj/machinery/computer/holodeck/process()
- if(damaged && prob(10))
- for(var/turf/T in linked)
- if(prob(5))
- do_sparks(2, 1, T)
- return
- . = ..()
- if(!. || program == offline_program)//we dont need to scan the holodeck if the holodeck is offline
- return
-
- if(!floorcheck()) //if any turfs in the floor of the holodeck are broken
- emergency_shutdown()
- damaged = TRUE
- visible_message("The holodeck overloads!")
- for(var/turf/holo_turf in linked)
- if(prob(30))
- do_sparks(2, 1, holo_turf)
- SSexplosions.lowturf += holo_turf
- holo_turf.hotspot_expose(1000,500,1)
-
- if(!(obj_flags & EMAGGED))
- for(var/item in spawned)
- if(!(get_turf(item) in linked))
- derez(item)
- for(var/_effect in effects)
- var/obj/effect/holodeck_effect/holo_effect = _effect
- holo_effect.tick()
- active_power_usage = 50 + spawned.len * 3 + effects.len * 5
-
-/obj/machinery/computer/holodeck/proc/toggle_power(toggleOn = FALSE)
- if(active == toggleOn)
- return
-
- if(toggleOn)
- if(last_program && (last_program != offline_program))
- addtimer(CALLBACK(src, PROC_REF(load_program), last_program, TRUE), 25)
- active = TRUE
- else
- last_program = program
- load_program(offline_program, TRUE)
- active = FALSE
-
-/obj/machinery/computer/holodeck/power_change()
- . = ..()
- INVOKE_ASYNC(src, PROC_REF(toggle_power), !machine_stat)
-
-///shuts down the holodeck and force loads the offline_program
-/obj/machinery/computer/holodeck/proc/emergency_shutdown()
- last_program = program
- active = FALSE
- load_program(offline_program, TRUE)
-
-///returns TRUE if the entire floor of the holodeck is intact, returns FALSE if any are broken
-/obj/machinery/computer/holodeck/proc/floorcheck()
- for(var/turf/holo_floor in linked)
- if(isspaceturf(holo_floor))
- return FALSE
- if(!holo_floor.intact)
- return FALSE
- return TRUE
-
-///changes all weapons in the holodeck to do stamina damage if set
-/obj/machinery/computer/holodeck/proc/nerf(nerf_this, is_loading = TRUE)
- if (!nerf_this && is_loading)
- return
- for(var/obj/item/to_be_nerfed in spawned)
- to_be_nerfed.damtype = nerf_this ? STAMINA : initial(to_be_nerfed.damtype)
- for(var/to_be_nerfed in effects)
- var/obj/effect/holodeck_effect/holo_effect = to_be_nerfed
- holo_effect.safety(nerf_this)
-
-/obj/machinery/computer/holodeck/emag_act(mob/user)
- if(obj_flags & EMAGGED)
- return
- if(!LAZYLEN(emag_programs))
- to_chat(user, "[src] does not seem to have a card swipe port. It must be an inferior model.")
- return
- playsound(src, "sparks", 75, TRUE)
- obj_flags |= EMAGGED
- to_chat(user, "You vastly increase projector power and override the safety and security protocols.")
- say("Warning. Automatic shutoff and derezzing protocols have been corrupted. Please call Nanotrasen maintenance and do not use the simulator.")
- log_game("[key_name(user)] emagged the Holodeck Control Console")
- nerf(!(obj_flags & EMAGGED),FALSE)
-
-/obj/machinery/computer/holodeck/emp_act(severity)
- . = ..()
- if(. & EMP_PROTECT_SELF)
- return
- emergency_shutdown()
-
-/obj/machinery/computer/holodeck/ex_act(severity, target)
- emergency_shutdown()
- return ..()
-
-/obj/machinery/computer/holodeck/Destroy()
- emergency_shutdown()
- if(linked)
- linked.linked = null
- linked.power_usage = list(AREA_USAGE_LEN)
- return ..()
-
-/obj/machinery/computer/holodeck/blob_act(obj/structure/blob/B)
- emergency_shutdown()
- return ..()
-
-/obj/machinery/computer/holodeck/offstation //second holodeck if you want to add one to a ruin :flushed:
- name = "holodeck control console"
- desc = "A computer used to control a nearby holodeck."
- offline_program = "holodeck_offline"
- holodeck_access = HOLODECK_DEBUG | STATION_HOLODECK
- mapped_start_area = /area/holodeck/rec_center/offstation_one
-
-#undef HOLODECK_CD
-#undef HOLODECK_DMG_CD
diff --git a/code/modules/holodeck/holo_effect.dm b/code/modules/holodeck/holo_effect.dm
deleted file mode 100644
index 122c852fbc9a..000000000000
--- a/code/modules/holodeck/holo_effect.dm
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- The holodeck activates these shortly after the program loads,
- and deactivates them immediately before changing or disabling the holodeck.
-
- These remove snowflake code for special holodeck functions.
-*/
-/obj/effect/holodeck_effect
- icon = 'icons/hud/screen_gen.dmi'
- icon_state = "x2"
- invisibility = INVISIBILITY_ABSTRACT
-
-/obj/effect/holodeck_effect/proc/activate(obj/machinery/computer/holodeck/HC)
- return
-
-/obj/effect/holodeck_effect/proc/deactivate(obj/machinery/computer/holodeck/HC)
- qdel(src)
- return
-
-// Called by the holodeck computer as long as the program is running
-/obj/effect/holodeck_effect/proc/tick(obj/machinery/computer/holodeck/HC)
- return
-
-/obj/effect/holodeck_effect/proc/safety(active)
- return
-
-
-// Generates a holodeck-tracked card deck
-/obj/effect/holodeck_effect/cards
- icon = 'icons/obj/toy.dmi'
- icon_state = "deck_nanotrasen_full"
- var/obj/item/toy/cards/deck/deck
-
-/obj/effect/holodeck_effect/cards/activate(obj/machinery/computer/holodeck/HC)
- deck = new(loc)
- safety(!(HC.obj_flags & EMAGGED))
- deck.holo = HC
- RegisterSignal(deck, COMSIG_PARENT_QDELETING, PROC_REF(handle_card_delete))
- return deck
-
-/obj/effect/holodeck_effect/cards/proc/handle_card_delete(datum/source)
- SIGNAL_HANDLER
- deck = null
-
-/obj/effect/holodeck_effect/cards/safety(active)
- if(!deck)
- return
- if(active)
- deck.card_hitsound = null
- deck.card_force = 0
- deck.card_throwforce = 0
- deck.card_throw_speed = 3
- deck.card_throw_range = 7
- deck.card_attack_verb = list("attacked")
- else
- deck.card_hitsound = 'sound/weapons/bladeslice.ogg'
- deck.card_force = 5
- deck.card_throwforce = 10
- deck.card_throw_speed = 3
- deck.card_throw_range = 7
- deck.card_attack_verb = list("attacked", "sliced", "diced", "slashed", "cut")
-
-
-/obj/effect/holodeck_effect/sparks/activate(obj/machinery/computer/holodeck/HC)
- var/turf/T = get_turf(src)
- if(T)
- var/datum/effect_system/spark_spread/s = new
- s.set_up(3, 1, T)
- s.start()
- T.set_temperature(5000)
- T.hotspot_expose(50000,50000,1)
-
-
-
-/obj/effect/holodeck_effect/mobspawner
- var/mobtype = /mob/living/simple_animal/hostile/carp/holocarp
- var/mob/our_mob = null
-
-/obj/effect/holodeck_effect/mobspawner/activate(obj/machinery/computer/holodeck/HC)
- if(islist(mobtype))
- mobtype = pick(mobtype)
- our_mob = new mobtype(loc)
- our_mob.flags_1 |= HOLOGRAM_1
-
- // these vars are not really standardized but all would theoretically create stuff on death
- for(var/v in list("butcher_results","corpse","weapon1","weapon2","blood_volume") & our_mob.vars)
- our_mob.vars[v] = null
- RegisterSignal(our_mob, COMSIG_PARENT_QDELETING, PROC_REF(handle_mob_delete))
- return our_mob
-
-/obj/effect/holodeck_effect/mobspawner/deactivate(obj/machinery/computer/holodeck/HC)
- if(our_mob)
- HC.derez(our_mob)
- qdel(src)
-
-/obj/effect/holodeck_effect/mobspawner/proc/handle_mob_delete(datum/source)
- SIGNAL_HANDLER
- our_mob = null
-
-/obj/effect/holodeck_effect/mobspawner/pet
- mobtype = list(
- /mob/living/simple_animal/butterfly, /mob/living/simple_animal/chick/holo,
- /mob/living/simple_animal/pet/cat, /mob/living/simple_animal/pet/cat/kitten,
- /mob/living/simple_animal/pet/dog/corgi, /mob/living/simple_animal/pet/dog/corgi/puppy,
- /mob/living/simple_animal/pet/dog/pug, /mob/living/simple_animal/pet/fox)
-
-/obj/effect/holodeck_effect/mobspawner/bee
- mobtype = /mob/living/simple_animal/hostile/poison/bees/toxin
-
-/obj/effect/holodeck_effect/mobspawner/monkey
- mobtype = /mob/living/simple_animal/holodeck_monkey
-
-/obj/effect/holodeck_effect/mobspawner/penguin
- mobtype = /mob/living/simple_animal/pet/penguin/emperor
-
-/obj/effect/holodeck_effect/mobspawner/penguin/Initialize()
- if(prob(1))
- mobtype = /mob/living/simple_animal/pet/penguin/emperor/shamebrero
- return ..()
-
-/obj/effect/holodeck_effect/mobspawner/penguin_baby
- mobtype = /mob/living/simple_animal/pet/penguin/baby
diff --git a/code/modules/holodeck/holodeck_map_templates.dm b/code/modules/holodeck/holodeck_map_templates.dm
deleted file mode 100644
index 2f4a790a3366..000000000000
--- a/code/modules/holodeck/holodeck_map_templates.dm
+++ /dev/null
@@ -1,198 +0,0 @@
-/datum/map_template/holodeck
- var/template_id
- var/description
- var/access_flags //bitflags representing what holodeck is allowed to access them
- var/restricted = FALSE
- var/datum/parsed_map/lastparsed
-
- should_place_on_top = FALSE
- returns_created_atoms = TRUE
- keep_cached_map = TRUE
-
- var/obj/machinery/computer/holodeck/linked
-
-/datum/map_template/holodeck/offline
- name = "Holodeck - Offline"
- template_id = "holodeck_offline"
- description = "benis"
- mappath = "_maps/templates/holodeck_offline.dmm"
- access_flags = STATION_HOLODECK
-
-/datum/map_template/holodeck/emptycourt
- name = "Holodeck - Empty Court"
- template_id = "holodeck_emptycourt"
- description = "benis"
- mappath = "_maps/templates/holodeck_emptycourt.dmm"
- access_flags = STATION_HOLODECK
-
-/datum/map_template/holodeck/dodgeball
- name = "Holodeck - Dodgeball Court"
- template_id = "holodeck_dodgeball"
- description = "benis"
- mappath = "_maps/templates/holodeck_dodgeball.dmm"
- access_flags = STATION_HOLODECK
-
-/datum/map_template/holodeck/basketball
- name = "Holodeck - Basketball Court"
- template_id = "holodeck_basketball"
- description = "benis"
- mappath = "_maps/templates/holodeck_basketball.dmm"
- access_flags = STATION_HOLODECK
-
-/datum/map_template/holodeck/thunderdome
- name = "Holodeck - Thunderdome Arena"
- template_id = "holodeck_thunderdome"
- description = "benis"
- mappath = "_maps/templates/holodeck_thunderdome.dmm"
- access_flags = STATION_HOLODECK
-
-/datum/map_template/holodeck/beach
- name = "Holodeck - Beach"
- template_id = "holodeck_beach"
- description = "benis"
- mappath = "_maps/templates/holodeck_beach.dmm"
- access_flags = STATION_HOLODECK
-
-/datum/map_template/holodeck/lounge
- name = "Holodeck - Lounge"
- template_id = "holodeck_lounge"
- description = "benis"
- mappath = "_maps/templates/holodeck_lounge.dmm"
- access_flags = STATION_HOLODECK
-
-/datum/map_template/holodeck/petpark
- name = "Holodeck - Pet Park"
- template_id = "holodeck_petpark"
- description = "benis"
- mappath = "_maps/templates/holodeck_petpark.dmm"
- access_flags = STATION_HOLODECK
-
-/datum/map_template/holodeck/firingrange
- name = "Holodeck - Firing Range"
- template_id = "holodeck_firingrange"
- description = "benis"
- mappath = "_maps/templates/holodeck_firingrange.dmm"
- access_flags = STATION_HOLODECK
-
-/datum/map_template/holodeck/anime_school
- name = "Holodeck - Anime School"
- template_id = "holodeck_animeschool"
- description = "benis"
- mappath = "_maps/templates/holodeck_animeschool.dmm"
- access_flags = STATION_HOLODECK
-
-/datum/map_template/holodeck/chapelcourt
- name = "Holodeck - Chapel Courtroom"
- template_id = "holodeck_chapelcourt"
- description = "benis"
- mappath = "_maps/templates/holodeck_chapelcourt.dmm"
- access_flags = STATION_HOLODECK
-
-/datum/map_template/holodeck/spacechess
- name = "Holodeck - Space Chess"
- template_id = "holodeck_spacechess"
- description = "benis"
- mappath = "_maps/templates/holodeck_spacechess.dmm"
- access_flags = STATION_HOLODECK
-
-/datum/map_template/holodeck/spacecheckers
- name = "Holodeck - Space Checkers"
- template_id = "holodeck_spacecheckers"
- description = "benis"
- mappath = "_maps/templates/holodeck_spacecheckers.dmm"
- access_flags = STATION_HOLODECK
-
-/datum/map_template/holodeck/kobayashi
- name = "Holodeck - Kobayashi Maru"
- template_id = "holodeck_kobayashi"
- description = "benis"
- mappath = "_maps/templates/holodeck_kobayashi.dmm"
- access_flags = STATION_HOLODECK
-
-/datum/map_template/holodeck/winterwonderland
- name = "Holodeck - Winter Wonderland"
- template_id = "holodeck_winterwonderland"
- description = "benis"
- mappath = "_maps/templates/holodeck_winterwonderland.dmm"
- access_flags = STATION_HOLODECK
-
-/datum/map_template/holodeck/photobooth
- name = "Holodeck - Photobooth"
- template_id = "holodeck_photobooth"
- description = "benis"
- mappath = "_maps/templates/holodeck_photobooth.dmm"
- access_flags = STATION_HOLODECK
-
-/datum/map_template/holodeck/skatepark
- name = "Holodeck - Skatepark"
- template_id = "holodeck_skatepark"
- description = "benis"
- mappath = "_maps/templates/holodeck_skatepark.dmm"
- access_flags = STATION_HOLODECK
-
-//bad evil no good programs
-
-/datum/map_template/holodeck/medicalsim
- name = "Holodeck - Emergency Medical"
- template_id = "holodeck_medicalsim"
- description = "benis"
- mappath = "_maps/templates/holodeck_medicalsim.dmm"
- restricted = TRUE
- access_flags = STATION_HOLODECK
-
-/datum/map_template/holodeck/thunderdome1218
- name = "Holodeck - 1218 AD"
- template_id = "holodeck_thunderdome1218"
- description = "benis"
- mappath = "_maps/templates/holodeck_thunderdome1218.dmm"
- restricted = TRUE
- access_flags = STATION_HOLODECK
-
-/datum/map_template/holodeck/burntest
- name = "Holodeck - Atmospheric Burn Test"
- template_id = "holodeck_burntest"
- description = "benis"
- mappath = "_maps/templates/holodeck_burntest.dmm"
- restricted = TRUE
- access_flags = STATION_HOLODECK
-
-/datum/map_template/holodeck/wildlifesim
- name = "Holodeck - Wildlife Simulation"
- template_id = "holodeck_wildlifesim"
- description = "benis"
- mappath = "_maps/templates/holodeck_wildlifesim.dmm"
- restricted = TRUE
- access_flags = STATION_HOLODECK
-
-/datum/map_template/holodeck/holdoutbunker
- name = "Holodeck - Holdout Bunker"
- template_id = "holodeck_holdoutbunker"
- description = "benis"
- mappath = "_maps/templates/holodeck_holdoutbunker.dmm"
- restricted = TRUE
- access_flags = STATION_HOLODECK
-
-/datum/map_template/holodeck/anthophillia
- name = "Holodeck - Anthophillia"
- template_id = "holodeck_anthophillia"
- description = "benis"
- mappath = "_maps/templates/holodeck_anthophillia.dmm"
- restricted = TRUE
- access_flags = STATION_HOLODECK
-
-/datum/map_template/holodeck/refuelingstation
- name = "Holodeck - Refueling Station"
- template_id = "holodeck_refuelingstation"
- description = "benis"
- mappath = "_maps/templates/holodeck_refuelingstation.dmm"
- restricted = TRUE
- access_flags = STATION_HOLODECK
-
-//flag debug holodeck
-
-/datum/map_template/holodeck/gamer
- name = "Holodeck - Gamer"
- template_id = "holodeck_gamer"
- description = "benis"
- mappath = "_maps/templates/holodeck_gamer.dmm"
- access_flags = HOLODECK_DEBUG
diff --git a/code/modules/holodeck/mobs.dm b/code/modules/holodeck/mobs.dm
deleted file mode 100644
index 121989bf1e71..000000000000
--- a/code/modules/holodeck/mobs.dm
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- Mobs
-*/
-
-/mob/living/simple_animal/holodeck_monkey
- name = "monkey"
- desc = "A holographic creature fond of bananas."
- icon = 'icons/mob/monkey.dmi'
- icon_state = "monkey1"
- icon_living = "monkey1"
- icon_dead = "monkey1_dead"
- speak_emote = list("chimpers")
- emote_hear = list("chimpers.")
- emote_see = list("scratches.", "looks around.")
- speak_chance = 1
- turns_per_move = 2
- butcher_results = list()
- response_help_continuous = "pets"
- response_help_simple = "pet"
- response_disarm_continuous = "pushes aside"
- response_disarm_simple = "push aside"
- response_harm_continuous = "kicks"
- response_harm_simple = "kick"
diff --git a/code/modules/holodeck/turfs.dm b/code/modules/holodeck/turfs.dm
index b69c05e34653..59e9a46341e6 100644
--- a/code/modules/holodeck/turfs.dm
+++ b/code/modules/holodeck/turfs.dm
@@ -1,6 +1,5 @@
/turf/open/floor/holofloor
icon_state = "floor"
- holodeck_compatible = TRUE
thermal_conductivity = 0
flags_1 = NONE
var/direction = SOUTH
diff --git a/code/modules/mapping/map_template.dm b/code/modules/mapping/map_template.dm
index b3f5b1078b20..fe66d3a99836 100644
--- a/code/modules/mapping/map_template.dm
+++ b/code/modules/mapping/map_template.dm
@@ -7,7 +7,11 @@
var/datum/parsed_map/cached_map
var/keep_cached_map = FALSE
- ///if true, turfs loaded from this template are placed on top of the turfs already there, defaults to TRUE
+ /// Defaults to TRUE.
+ /// If TRUE, the baseturfs of the new turfs (ignoring baseturf_bottom and space) are added
+ /// to the top of the pre-existing baseturf lists, in accordance with the behavior of PlaceOnTop.
+ /// If FALSE, the old turfs are replaced entirely, including their baseturfs.
+ /// Note that FALSE-case behavior is altered from the original implementation, which ignored baseturfs entirely; it was intended for holodecks, which have been removed.
var/should_place_on_top = TRUE
///if true, creates a list of all atoms created by this template loading, defaults to FALSE
diff --git a/code/modules/mapping/reader.dm b/code/modules/mapping/reader.dm
index 9e12fb7d4ce7..3a8e2706d6b6 100644
--- a/code/modules/mapping/reader.dm
+++ b/code/modules/mapping/reader.dm
@@ -494,14 +494,15 @@ GLOBAL_LIST_EMPTY(map_model_default)
if(members_attributes[index] != default_list)
world.preloader_setup(members_attributes[index], members[index])
+ var/turf/new_turf_type = members[index]
// Note: we make the assertion that the last path WILL be a turf. if it isn't, this will fail.
var/old_virtual_z = crds.virtual_z
if(placeOnTop)
- instance = crds.PlaceOnTop(null, members[index], CHANGETURF_DEFER_CHANGE | (no_changeturf ? CHANGETURF_SKIP : NONE))
+ instance = crds.PlaceOnTop(null, new_turf_type, CHANGETURF_DEFER_CHANGE | (no_changeturf ? CHANGETURF_SKIP : NONE))
else if(!no_changeturf)
- instance = crds.ChangeTurf(members[index], null, CHANGETURF_DEFER_CHANGE)
+ instance = crds.ChangeTurf(new_turf_type, initial(new_turf_type.baseturfs), CHANGETURF_DEFER_CHANGE)
else
- instance = create_turf(members[index], crds , old_virtual_z)//first preloader pass
+ instance = create_turf(new_turf_type, crds , old_virtual_z)//first preloader pass
var/turf/new_turf = instance
new_turf.virtual_z = old_virtual_z //UNDER NO CIRCUMSTANCES LOOSE THIS VARIABLE
diff --git a/shiptest.dme b/shiptest.dme
index df737d985b37..86c3e10672b8 100644
--- a/shiptest.dme
+++ b/shiptest.dme
@@ -793,7 +793,6 @@
#include "code\game\area\Space_Station_13_areas.dm"
#include "code\game\area\areas\away_content.dm"
#include "code\game\area\areas\centcom.dm"
-#include "code\game\area\areas\holodeck.dm"
#include "code\game\area\areas\outpost.dm"
#include "code\game\area\areas\shuttles.dm"
#include "code\game\area\areas\ruins\_ruins.dm"
@@ -2171,11 +2170,7 @@
#include "code\modules\holiday\foreign_calendar.dm"
#include "code\modules\holiday\holidays.dm"
#include "code\modules\holodeck\area_copy.dm"
-#include "code\modules\holodeck\computer.dm"
-#include "code\modules\holodeck\holo_effect.dm"
-#include "code\modules\holodeck\holodeck_map_templates.dm"
#include "code\modules\holodeck\items.dm"
-#include "code\modules\holodeck\mobs.dm"
#include "code\modules\holodeck\turfs.dm"
#include "code\modules\hydroponics\biogenerator.dm"
#include "code\modules\hydroponics\fermenting_barrel.dm"