From cc19f9b6e85bfd6e29ed2300fa3efbda85ffbe17 Mon Sep 17 00:00:00 2001 From: Hayden Redacted <91229275+haydenredacted@users.noreply.github.com> Date: Sat, 8 Aug 2026 17:01:42 -0400 Subject: [PATCH] Mapping May Event - NAS Trurl Dioramas! (#31961) * initial commit * adds a blank diorama and updates the diorama template file * linter * linter pt. 2 * tweaks some diorama areas, adds some more dioramas, and moves the diorama location on the Trurl * adds alfie's "making decisions" diorama * Revert "adds alfie's "making decisions" diorama" This reverts commit a20876857011ddceea946c22df25f0f963edf196. * thank you linux for making a faux dmm file * fixes some areas and fixes the position of the diorama area --- _maps/map_files/dioramas/blank_diorama.dmm | 115 +++++++ _maps/map_files/dioramas/borg_diorama.dmm | 289 ++++++++++++++++ _maps/map_files/dioramas/byod_diorama.dmm | 313 ++++++++++++++++++ _maps/map_files/dioramas/lavaland_diorama.dmm | 146 ++++++++ _maps/map_files/dioramas/snowy_diorama.dmm | 152 +++++++++ _maps/map_files/dioramas/vet_diorama.dmm | 258 +++++++++++++++ _maps/map_files/generic/centcomm.dmm | 272 +++++++-------- code/_globalvars/mapping_vars.dm | 1 + code/datums/diorama_templates.dm | 58 ++++ code/datums/mapping/map_template.dm | 20 ++ paradise.dme | 1 + 11 files changed, 1475 insertions(+), 150 deletions(-) create mode 100644 _maps/map_files/dioramas/blank_diorama.dmm create mode 100644 _maps/map_files/dioramas/borg_diorama.dmm create mode 100644 _maps/map_files/dioramas/byod_diorama.dmm create mode 100644 _maps/map_files/dioramas/lavaland_diorama.dmm create mode 100644 _maps/map_files/dioramas/snowy_diorama.dmm create mode 100644 _maps/map_files/dioramas/vet_diorama.dmm create mode 100644 code/datums/diorama_templates.dm diff --git a/_maps/map_files/dioramas/blank_diorama.dmm b/_maps/map_files/dioramas/blank_diorama.dmm new file mode 100644 index 00000000000..4857babc001 --- /dev/null +++ b/_maps/map_files/dioramas/blank_diorama.dmm @@ -0,0 +1,115 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/simulated/floor/plating, +/area/centcom/diorama) +"d" = ( +/obj/item/food/sliced/mothmallow, +/turf/simulated/floor/plating, +/area/centcom/diorama) +"m" = ( +/obj/structure/window/plastitanium, +/obj/structure/window/plastitanium{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/centcom/diorama) +"q" = ( +/turf/template_noop, +/area/template_noop) +"t" = ( +/obj/structure/window/plastitanium{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/centcom/diorama) +"w" = ( +/obj/structure/window/plastitanium{ + dir = 8 + }, +/obj/structure/window/plastitanium{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/centcom/diorama) +"y" = ( +/obj/structure/window/plastitanium, +/turf/simulated/floor/plating, +/area/centcom/diorama) +"A" = ( +/obj/structure/diorama_sign, +/turf/template_noop, +/area/template_noop) +"B" = ( +/obj/structure/window/plastitanium, +/obj/structure/window/plastitanium{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/centcom/diorama) +"T" = ( +/obj/structure/window/plastitanium{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/centcom/diorama) +"X" = ( +/obj/structure/window/plastitanium{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/centcom/diorama) +"Z" = ( +/obj/structure/window/plastitanium{ + dir = 4 + }, +/obj/structure/window/plastitanium{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/centcom/diorama) + +(1,1,1) = {" +w +X +X +X +X +B +q +"} +(2,1,1) = {" +T +a +a +a +a +y +q +"} +(3,1,1) = {" +T +a +a +d +a +y +A +"} +(4,1,1) = {" +T +a +a +a +a +y +q +"} +(5,1,1) = {" +Z +t +t +t +t +m +q +"} diff --git a/_maps/map_files/dioramas/borg_diorama.dmm b/_maps/map_files/dioramas/borg_diorama.dmm new file mode 100644 index 00000000000..fa4b1f826ef --- /dev/null +++ b/_maps/map_files/dioramas/borg_diorama.dmm @@ -0,0 +1,289 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/obj/effect/turf_decal/stripes/line, +/turf/simulated/floor/plating, +/area/centcom/diorama/borg) +"b" = ( +/obj/machinery/conveyor{ + dir = 4 + }, +/obj/item/flash, +/turf/simulated/floor/plating, +/area/centcom/diorama/borg) +"d" = ( +/obj/structure/window/plastitanium{ + dir = 8 + }, +/obj/machinery/conveyor{ + dir = 1 + }, +/obj/item/robot_parts/r_leg, +/turf/simulated/floor/plating, +/area/centcom/diorama/borg) +"e" = ( +/obj/structure/window/plastitanium, +/turf/simulated/floor/mech_bay_recharge_floor, +/area/centcom/diorama/borg) +"f" = ( +/turf/simulated/floor/catwalk/grey, +/area/centcom/diorama/borg) +"l" = ( +/obj/machinery/computer/mech_bay_power_console{ + dir = 8 + }, +/obj/structure/window/plastitanium, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/simulated/floor/bluegrid, +/area/centcom/diorama/borg) +"m" = ( +/obj/structure/window/plastitanium{ + dir = 8 + }, +/obj/machinery/conveyor{ + dir = 1 + }, +/obj/item/flash, +/turf/simulated/floor/plating, +/area/centcom/diorama/borg) +"n" = ( +/obj/structure/window/plastitanium{ + dir = 1 + }, +/obj/structure/table, +/obj/item/stack/sheet/metal/fifty{ + pixel_x = -7; + pixel_y = 2 + }, +/obj/item/stack/sheet/glass{ + pixel_x = 7; + pixel_y = -3 + }, +/turf/simulated/floor/plating, +/area/centcom/diorama/borg) +"o" = ( +/obj/structure/window/plastitanium{ + dir = 1 + }, +/obj/structure/window/plastitanium{ + dir = 8 + }, +/obj/structure/rack, +/obj/item/robotanalyzer, +/obj/item/mod/control/pre_equipped/corporate, +/turf/simulated/floor/plating, +/area/centcom/diorama/borg) +"s" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/catwalk/grey, +/area/centcom/diorama/borg) +"t" = ( +/turf/template_noop, +/area/template_noop) +"u" = ( +/obj/machinery/conveyor{ + dir = 4 + }, +/obj/item/stack/cable_coil, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/floor/plating, +/area/centcom/diorama/borg) +"v" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/simulated/floor/catwalk/grey, +/area/centcom/diorama/borg) +"w" = ( +/obj/effect/turf_decal/loading_area, +/turf/simulated/floor/plating, +/area/centcom/diorama/borg) +"y" = ( +/obj/structure/window/plastitanium{ + dir = 1 + }, +/obj/machinery/mecha_part_fabricator/loaded, +/turf/simulated/floor/plating, +/area/centcom/diorama/borg) +"z" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/simulated/floor/catwalk/grey, +/area/centcom/diorama/borg) +"A" = ( +/obj/structure/diorama_sign, +/turf/template_noop, +/area/template_noop) +"B" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/floor/catwalk/grey, +/area/centcom/diorama/borg) +"C" = ( +/obj/structure/window/plastitanium{ + dir = 4 + }, +/obj/machinery/conveyor{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/centcom/diorama/borg) +"D" = ( +/obj/structure/window/plastitanium{ + dir = 8 + }, +/obj/structure/window/plastitanium, +/obj/machinery/conveyor{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/centcom/diorama/borg) +"E" = ( +/obj/structure/window/plastitanium{ + dir = 8 + }, +/turf/simulated/floor/catwalk/grey, +/area/centcom/diorama/borg) +"F" = ( +/obj/structure/window/plastitanium{ + dir = 4 + }, +/obj/item/robot_parts/l_arm, +/obj/machinery/conveyor/counterclockwise{ + dir = 5 + }, +/turf/simulated/floor/plating, +/area/centcom/diorama/borg) +"G" = ( +/obj/structure/window/plastitanium, +/obj/machinery/conveyor_switch/oneway, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/simulated/floor/catwalk/grey, +/area/centcom/diorama/borg) +"I" = ( +/obj/structure/window/plastitanium{ + dir = 8 + }, +/obj/machinery/conveyor{ + dir = 5 + }, +/obj/item/robot_parts/chest, +/turf/simulated/floor/plating, +/area/centcom/diorama/borg) +"L" = ( +/obj/machinery/mech_bay_recharge_port{ + dir = 8 + }, +/obj/structure/window/plastitanium, +/obj/structure/window/plastitanium{ + dir = 4 + }, +/turf/simulated/floor/bluegrid, +/area/centcom/diorama/borg) +"M" = ( +/obj/structure/window/plastitanium{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/catwalk/grey, +/area/centcom/diorama/borg) +"Q" = ( +/obj/machinery/conveyor{ + dir = 4 + }, +/obj/item/robot_parts/head, +/turf/simulated/floor/plating, +/area/centcom/diorama/borg) +"R" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/simulated/floor/catwalk/grey, +/area/centcom/diorama/borg) +"T" = ( +/obj/structure/window/plastitanium{ + dir = 1 + }, +/obj/machinery/recharge_station, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/floor/plating, +/area/centcom/diorama/borg) +"X" = ( +/obj/structure/window/plastitanium{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line, +/turf/simulated/floor/plating, +/area/centcom/diorama/borg) +"Y" = ( +/obj/structure/window/plastitanium{ + dir = 1 + }, +/obj/structure/window/plastitanium{ + dir = 4 + }, +/obj/structure/ai_core, +/turf/simulated/floor/plating, +/area/centcom/diorama/borg) + +(1,1,1) = {" +o +E +I +m +d +D +t +"} +(2,1,1) = {" +n +z +u +v +B +G +t +"} +(3,1,1) = {" +T +R +Q +s +a +l +A +"} +(4,1,1) = {" +y +f +b +s +w +e +t +"} +(5,1,1) = {" +Y +C +F +M +X +L +t +"} diff --git a/_maps/map_files/dioramas/byod_diorama.dmm b/_maps/map_files/dioramas/byod_diorama.dmm new file mode 100644 index 00000000000..1f3102e896b --- /dev/null +++ b/_maps/map_files/dioramas/byod_diorama.dmm @@ -0,0 +1,313 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/obj/structure/disposalpipe/junction/reversed{ + dir = 8 + }, +/obj/structure/window/plastitanium{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/centcom/diorama/lavaland) +"b" = ( +/obj/machinery/atmospherics/pipe/simple/visible{ + dir = 9 + }, +/obj/structure/disposalpipe/segment/corner{ + dir = 2 + }, +/obj/structure/window/plastitanium{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/centcom/diorama/lavaland) +"c" = ( +/obj/structure/window/plastitanium{ + dir = 4 + }, +/obj/structure/disposalpipe/junction/reversed{ + dir = 2 + }, +/turf/simulated/floor/plating, +/area/centcom/diorama/lavaland) +"e" = ( +/obj/machinery/atmospherics/portable/pump/bluespace, +/obj/machinery/atmospherics/unary/portables_connector{ + dir = 1 + }, +/obj/structure/window/plastitanium{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/centcom/diorama/lavaland) +"g" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/window/plastitanium, +/turf/simulated/floor/plating, +/area/centcom/diorama/lavaland) +"h" = ( +/obj/structure/window/plastitanium, +/obj/structure/disposalpipe/segment, +/turf/simulated/floor/plating, +/area/centcom/diorama/lavaland) +"k" = ( +/turf/template_noop, +/area/template_noop) +"m" = ( +/obj/structure/cable, +/obj/structure/grille, +/turf/simulated/floor/plating, +/area/centcom/diorama/lavaland) +"o" = ( +/obj/structure/disposalpipe/segment/corner{ + dir = 4 + }, +/obj/item/clothing/gloves/color/yellow, +/turf/simulated/floor/plating, +/area/centcom/diorama/lavaland) +"p" = ( +/obj/structure/disposalpipe/junction{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/centcom/diorama/lavaland) +"q" = ( +/obj/structure/disposalpipe/segment/corner{ + dir = 1 + }, +/obj/structure/window/plastitanium, +/turf/simulated/floor/plating, +/area/centcom/diorama/lavaland) +"t" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/obj/structure/window/plastitanium{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/centcom/diorama/lavaland) +"v" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/disposalpipe/segment/corner{ + dir = 2 + }, +/turf/simulated/floor/plating, +/area/centcom/diorama/lavaland) +"w" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/item/paper/diorama/byod, +/obj/structure/disposalpipe/junction{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/centcom/diorama/lavaland) +"x" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/window/plastitanium{ + dir = 1 + }, +/obj/structure/window/plastitanium{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/centcom/diorama/lavaland) +"z" = ( +/obj/structure/disposalpipe/segment/corner{ + dir = 4 + }, +/obj/structure/window/plastitanium{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/centcom/diorama/lavaland) +"A" = ( +/obj/machinery/atmospherics/pipe/simple/visible{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/item/rpd{ + pixel_x = 6; + pixel_y = 11 + }, +/turf/simulated/floor/plating, +/area/centcom/diorama/lavaland) +"C" = ( +/obj/structure/disposalpipe/segment, +/turf/simulated/floor/plating, +/area/centcom/diorama/lavaland) +"D" = ( +/obj/machinery/power/smes/magical, +/obj/item/storage/toolbox/mechanical/old{ + pixel_x = -4; + pixel_y = 15 + }, +/obj/structure/window/plastitanium{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/centcom/diorama/lavaland) +"E" = ( +/obj/machinery/atmospherics/pipe/simple/visible{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/centcom/diorama/lavaland) +"G" = ( +/obj/structure/disposalpipe/trunk, +/obj/machinery/disposal, +/turf/simulated/floor/plating, +/area/centcom/diorama/lavaland) +"H" = ( +/obj/machinery/atmospherics/pipe/simple/visible{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/item/multitool, +/turf/simulated/floor/plating, +/area/centcom/diorama/lavaland) +"I" = ( +/obj/structure/disposalpipe/segment/corner{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/centcom/diorama/lavaland) +"K" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/window/plastitanium{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/centcom/diorama/lavaland) +"L" = ( +/obj/structure/diorama_sign, +/turf/template_noop, +/area/template_noop) +"M" = ( +/obj/structure/window/plastitanium, +/obj/structure/window/plastitanium{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/centcom/diorama/lavaland) +"N" = ( +/obj/machinery/atmospherics/pipe/simple/visible, +/obj/item/clothing/head/welding, +/obj/structure/window/plastitanium{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/centcom/diorama/lavaland) +"Q" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/window/plastitanium{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/centcom/diorama/lavaland) +"R" = ( +/obj/structure/disposalpipe/segment/corner{ + dir = 8 + }, +/obj/structure/window/plastitanium{ + dir = 4 + }, +/obj/structure/window/plastitanium{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/centcom/diorama/lavaland) +"S" = ( +/obj/machinery/atmospherics/pipe/simple/visible{ + dir = 6 + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/machinery/power/terminal, +/obj/structure/disposalpipe/segment/corner{ + dir = 1 + }, +/obj/structure/window/plastitanium{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/centcom/diorama/lavaland) +"X" = ( +/obj/structure/disposalpipe/segment/corner{ + dir = 8 + }, +/obj/structure/window/plastitanium, +/obj/structure/window/plastitanium{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/centcom/diorama/lavaland) + +(1,1,1) = {" +x +t +K +S +D +M +k +"} +(2,1,1) = {" +z +I +o +E +w +h +k +"} +(3,1,1) = {" +Q +G +p +H +v +q +L +"} +(4,1,1) = {" +a +C +I +A +m +g +k +"} +(5,1,1) = {" +R +e +N +b +c +X +k +"} diff --git a/_maps/map_files/dioramas/lavaland_diorama.dmm b/_maps/map_files/dioramas/lavaland_diorama.dmm new file mode 100644 index 00000000000..ecf4dd0f17f --- /dev/null +++ b/_maps/map_files/dioramas/lavaland_diorama.dmm @@ -0,0 +1,146 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/obj/structure/window/plastitanium, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/centcom/diorama/lavaland) +"e" = ( +/obj/structure/window/plastitanium{ + dir = 4 + }, +/obj/structure/marker_beacon, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/centcom/diorama/lavaland) +"f" = ( +/obj/effect/mob_spawn/human/corpse/miner, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/centcom/diorama/lavaland) +"i" = ( +/obj/structure/window/plastitanium, +/obj/structure/window/plastitanium{ + dir = 8 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/centcom/diorama/lavaland) +"k" = ( +/turf/simulated/floor/lava/lava_land_surface, +/area/centcom/diorama/lavaland) +"o" = ( +/obj/structure/flora/ash/tall_shroom, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/centcom/diorama/lavaland) +"q" = ( +/turf/template_noop, +/area/template_noop) +"x" = ( +/obj/structure/diorama_sign, +/turf/template_noop, +/area/template_noop) +"B" = ( +/obj/structure/window/plastitanium{ + dir = 4 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/centcom/diorama/lavaland) +"C" = ( +/obj/structure/window/plastitanium{ + dir = 1 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/centcom/diorama/lavaland) +"G" = ( +/obj/item/kinetic_crusher, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/centcom/diorama/lavaland) +"H" = ( +/obj/structure/window/plastitanium{ + dir = 4 + }, +/obj/structure/window/plastitanium{ + dir = 1 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/centcom/diorama/lavaland) +"L" = ( +/obj/structure/window/plastitanium{ + dir = 8 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/centcom/diorama/lavaland) +"M" = ( +/obj/structure/flora/ash/rock, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/centcom/diorama/lavaland) +"Q" = ( +/obj/structure/window/plastitanium{ + dir = 8 + }, +/obj/structure/flora/ash/stem_shroom, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/centcom/diorama/lavaland) +"R" = ( +/obj/structure/window/plastitanium{ + dir = 8 + }, +/obj/structure/window/plastitanium{ + dir = 1 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/centcom/diorama/lavaland) +"S" = ( +/obj/structure/flora/ash/rock, +/obj/structure/window/plastitanium, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/centcom/diorama/lavaland) +"X" = ( +/obj/structure/window/plastitanium, +/obj/structure/window/plastitanium{ + dir = 4 + }, +/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, +/area/centcom/diorama/lavaland) + +(1,1,1) = {" +R +L +L +Q +L +i +q +"} +(2,1,1) = {" +C +k +k +k +G +S +q +"} +(3,1,1) = {" +C +k +o +k +o +a +x +"} +(4,1,1) = {" +C +f +M +k +k +a +q +"} +(5,1,1) = {" +H +e +B +B +B +X +q +"} diff --git a/_maps/map_files/dioramas/snowy_diorama.dmm b/_maps/map_files/dioramas/snowy_diorama.dmm new file mode 100644 index 00000000000..597b121173d --- /dev/null +++ b/_maps/map_files/dioramas/snowy_diorama.dmm @@ -0,0 +1,152 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/mob/living/basic/pet/penguin/emperor, +/turf/simulated/floor/snow, +/area/centcom/diorama/snowy) +"d" = ( +/obj/structure/window/plastitanium{ + dir = 4 + }, +/turf/simulated/floor/snow, +/area/centcom/diorama/snowy) +"f" = ( +/obj/structure/window/plastitanium{ + dir = 8 + }, +/turf/simulated/floor/snow, +/area/centcom/diorama/snowy) +"g" = ( +/obj/structure/diorama_sign, +/turf/template_noop, +/area/template_noop) +"j" = ( +/obj/structure/flora/grass/both, +/obj/structure/window/plastitanium{ + dir = 1 + }, +/obj/structure/window/plastitanium{ + dir = 4 + }, +/turf/simulated/floor/snow, +/area/centcom/diorama/snowy) +"k" = ( +/mob/living/simple_animal/hostile/winter/santa{ + AIStatus = 3 + }, +/turf/simulated/floor/snow, +/area/centcom/diorama/snowy) +"m" = ( +/obj/structure/flora/tree/pine, +/turf/simulated/floor/snow, +/area/centcom/diorama/snowy) +"q" = ( +/obj/structure/window/plastitanium{ + dir = 1 + }, +/obj/structure/window/plastitanium{ + dir = 8 + }, +/turf/simulated/floor/snow, +/area/centcom/diorama/snowy) +"r" = ( +/obj/structure/flora/grass/both, +/turf/simulated/floor/snow, +/area/centcom/diorama/snowy) +"s" = ( +/mob/living/basic/pet/penguin/baby, +/obj/structure/window/plastitanium{ + dir = 8 + }, +/turf/simulated/floor/snow, +/area/centcom/diorama/snowy) +"w" = ( +/obj/structure/window/plastitanium{ + dir = 8 + }, +/obj/structure/window/plastitanium, +/turf/simulated/floor/snow, +/area/centcom/diorama/snowy) +"x" = ( +/obj/structure/window/plastitanium{ + dir = 1 + }, +/turf/simulated/floor/snow, +/area/centcom/diorama/snowy) +"y" = ( +/obj/structure/lightable/bonfire/lit/dense, +/turf/simulated/floor/snow, +/area/centcom/diorama/snowy) +"A" = ( +/obj/structure/window/plastitanium{ + dir = 8 + }, +/obj/structure/flora/grass/both, +/turf/simulated/floor/snow, +/area/centcom/diorama/snowy) +"D" = ( +/turf/simulated/floor/snow, +/area/centcom/diorama/snowy) +"G" = ( +/turf/template_noop, +/area/template_noop) +"M" = ( +/obj/structure/flora/tree/pine{ + pixel_x = -31; + pixel_y = 4 + }, +/obj/structure/window/plastitanium{ + dir = 4 + }, +/obj/structure/window/plastitanium, +/turf/simulated/floor/snow, +/area/centcom/diorama/snowy) +"U" = ( +/obj/structure/window/plastitanium, +/turf/simulated/floor/snow, +/area/centcom/diorama/snowy) + +(1,1,1) = {" +q +A +f +s +f +w +G +"} +(2,1,1) = {" +x +D +m +D +a +U +G +"} +(3,1,1) = {" +x +D +y +k +r +U +g +"} +(4,1,1) = {" +x +r +a +D +D +U +G +"} +(5,1,1) = {" +j +d +d +d +d +M +G +"} diff --git a/_maps/map_files/dioramas/vet_diorama.dmm b/_maps/map_files/dioramas/vet_diorama.dmm new file mode 100644 index 00000000000..9276edac3fa --- /dev/null +++ b/_maps/map_files/dioramas/vet_diorama.dmm @@ -0,0 +1,258 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/table/glass, +/obj/item/lazarus_injector{ + pixel_x = 6; + pixel_y = 14 + }, +/obj/item/storage/belt/lazarus{ + pixel_x = 8; + pixel_y = -3 + }, +/obj/structure/window/plastitanium, +/obj/effect/turf_decal/tiles/department/medical/side, +/turf/simulated/floor/plasteel/white, +/area/centcom/diorama/lavaland) +"d" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/table/glass, +/obj/item/stack/sheet/bone{ + pixel_x = 10; + pixel_y = 8 + }, +/obj/item/queen_bee{ + pixel_x = -2; + pixel_y = 11 + }, +/obj/item/toy/cattoy{ + pixel_x = -5; + pixel_y = 6 + }, +/obj/machinery/light/floor, +/turf/simulated/floor/plasteel/white, +/area/centcom/diorama/lavaland) +"e" = ( +/obj/machinery/optable, +/obj/structure/window/plastitanium{ + dir = 4 + }, +/obj/effect/turf_decal/tiles/department/medical/side{ + dir = 4 + }, +/turf/simulated/floor/plasteel/white, +/area/centcom/diorama/lavaland) +"f" = ( +/obj/structure/window/plastitanium, +/obj/structure/window/plastitanium{ + dir = 8 + }, +/turf/simulated/floor/engine/cult, +/area/centcom/diorama/lavaland) +"i" = ( +/obj/structure/table/glass, +/obj/structure/window/plastitanium{ + dir = 1 + }, +/obj/structure/window/plastitanium{ + dir = 4 + }, +/obj/effect/turf_decal/tiles/department/medical/side{ + dir = 5 + }, +/obj/item/storage/firstaid/adv, +/turf/simulated/floor/plasteel/white, +/area/centcom/diorama/lavaland) +"l" = ( +/obj/structure/window/plastitanium{ + dir = 1 + }, +/obj/machinery/door/window/survival_pod{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/windoor/access/any/medical/general{ + dir = 4 + }, +/turf/simulated/floor/engine/cult, +/area/centcom/diorama/lavaland) +"o" = ( +/obj/structure/window/plastitanium{ + dir = 8 + }, +/obj/structure/window/plastitanium{ + dir = 1 + }, +/obj/structure/bed/dogbed, +/obj/item/toy/pet_rock/fred, +/turf/simulated/floor/grass/jungle, +/area/centcom/diorama/lavaland) +"p" = ( +/obj/structure/window/plastitanium, +/obj/structure/window/plastitanium{ + dir = 4 + }, +/turf/simulated/floor/engine/cult, +/area/centcom/diorama/lavaland) +"q" = ( +/turf/simulated/floor/plasteel/white, +/area/centcom/diorama/lavaland) +"t" = ( +/obj/structure/window/plastitanium{ + dir = 4 + }, +/turf/simulated/floor/grass/jungle, +/area/centcom/diorama/lavaland) +"u" = ( +/obj/structure/window/plastitanium{ + dir = 1 + }, +/obj/structure/window/plastitanium{ + dir = 8 + }, +/obj/structure/bed/dogbed, +/mob/living/simple_animal/pet/cat/cak, +/turf/simulated/floor/grass/jungle, +/area/centcom/diorama/lavaland) +"z" = ( +/obj/structure/window/plastitanium{ + dir = 1 + }, +/turf/simulated/floor/plasteel/white, +/area/centcom/diorama/lavaland) +"B" = ( +/obj/structure/window/plastitanium{ + dir = 4 + }, +/obj/effect/turf_decal/tiles/department/medical/side{ + dir = 4 + }, +/turf/simulated/floor/plasteel/white, +/area/centcom/diorama/lavaland) +"C" = ( +/obj/machinery/light/floor, +/turf/simulated/floor/plasteel/white, +/area/centcom/diorama/lavaland) +"D" = ( +/obj/structure/window/plastitanium{ + dir = 8 + }, +/obj/structure/window/plastitanium{ + dir = 1 + }, +/obj/structure/bed/dogbed, +/mob/living/simple_animal/pet/dog/corgi/narsie, +/turf/simulated/floor/engine/cult, +/area/centcom/diorama/lavaland) +"J" = ( +/turf/template_noop, +/area/template_noop) +"K" = ( +/obj/structure/table/glass, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/plastitanium{ + dir = 1 + }, +/obj/effect/turf_decal/tiles/department/medical/side{ + dir = 1 + }, +/obj/item/storage/surgical_tray{ + pixel_y = 9 + }, +/turf/simulated/floor/plasteel/white, +/area/centcom/diorama/lavaland) +"L" = ( +/obj/structure/window/plastitanium{ + dir = 1 + }, +/obj/machinery/door/window/survival_pod{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/windoor/access/any/medical/general{ + dir = 4 + }, +/turf/simulated/floor/grass/jungle, +/area/centcom/diorama/lavaland) +"N" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/light/floor, +/turf/simulated/floor/plasteel/white, +/area/centcom/diorama/lavaland) +"O" = ( +/obj/structure/window/plastitanium, +/turf/simulated/floor/plasteel/white, +/area/centcom/diorama/lavaland) +"T" = ( +/obj/structure/diorama_sign, +/turf/template_noop, +/area/template_noop) +"Y" = ( +/obj/structure/window/plastitanium{ + dir = 8 + }, +/turf/simulated/floor/grass/jungle, +/area/centcom/diorama/lavaland) +"Z" = ( +/obj/structure/closet/secure_closet/medical1, +/obj/structure/window/plastitanium, +/obj/structure/window/plastitanium{ + dir = 4 + }, +/obj/effect/turf_decal/tiles/department/medical/side{ + dir = 6 + }, +/turf/simulated/floor/plasteel/white, +/area/centcom/diorama/lavaland) + +(1,1,1) = {" +u +Y +o +Y +D +f +J +"} +(2,1,1) = {" +L +t +L +t +l +p +J +"} +(3,1,1) = {" +z +C +q +q +C +O +T +"} +(4,1,1) = {" +K +N +q +q +d +a +J +"} +(5,1,1) = {" +i +e +B +B +B +Z +J +"} diff --git a/_maps/map_files/generic/centcomm.dmm b/_maps/map_files/generic/centcomm.dmm index 961c3b5eecc..ba4943c832c 100644 --- a/_maps/map_files/generic/centcomm.dmm +++ b/_maps/map_files/generic/centcomm.dmm @@ -1240,12 +1240,6 @@ /obj/machinery/light/small, /turf/space, /area/space/nearstation/centcom) -"fr" = ( -/obj/machinery/computer/security/telescreen/entertainment{ - pixel_x = 32 - }, -/turf/simulated/floor/plasteel/dark, -/area/centcom/control) "fs" = ( /obj/item/disk/plantgene, /turf/simulated/floor/plating/asteroid/snow, @@ -6349,6 +6343,9 @@ }, /turf/simulated/floor/plasteel, /area/admin) +"wv" = ( +/turf/space, +/area/template_noop) "ww" = ( /obj/machinery/recharger/wallcharger/upgraded{ pixel_x = 30 @@ -6892,12 +6889,6 @@ }, /turf/simulated/floor/carpet/black, /area/wizard_station) -"yq" = ( -/obj/structure/flora/ausbushes/ywflowers, -/obj/structure/flora/ausbushes/grassybush, -/obj/structure/flora/ausbushes/palebush, -/turf/simulated/floor/grass, -/area/centcom/control) "yr" = ( /obj/structure/sign/medical, /turf/simulated/wall/indestructible/riveted, @@ -7815,13 +7806,6 @@ /obj/structure/gunrack, /turf/simulated/floor/plasteel/dark, /area/ghost_bar) -"Cb" = ( -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/grassybush, -/obj/structure/flora/ausbushes/ppflowers, -/obj/structure/flora/ausbushes/pointybush, -/turf/simulated/floor/grass, -/area/centcom/control) "Cc" = ( /obj/machinery/door_control/no_emag{ id = "syndicate_jail_cell"; @@ -8579,21 +8563,18 @@ /obj/structure/chair/comfy/black, /turf/simulated/floor/carpet, /area/centcom/control) -"EX" = ( -/obj/structure/chair/comfy/black{ - dir = 4 - }, -/turf/simulated/floor/plasteel/dark, -/area/centcom/control) "EZ" = ( /obj/machinery/computer/bsa_control/admin, /turf/simulated/floor/carpet, /area/centcom/control) "Fa" = ( -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/grassybush, -/obj/structure/flora/ausbushes/palebush, -/turf/simulated/floor/grass, +/obj/effect/turf_decal/tiles/department/security/side{ + dir = 8 + }, +/obj/structure/chair{ + dir = 4 + }, +/turf/simulated/floor/plasteel/dark, /area/centcom/control) "Fb" = ( /obj/structure/table/reinforced, @@ -9412,6 +9393,12 @@ /obj/structure/flora/ausbushes/reedbush, /turf/simulated/floor/grass, /area/centcom/evac) +"Ic" = ( +/obj/effect/turf_decal/tiles/department/security/corner{ + dir = 1 + }, +/turf/simulated/floor/plasteel/dark, +/area/centcom/control) "Id" = ( /obj/structure/flora/ausbushes/fullgrass, /obj/structure/flora/ausbushes/grassybush, @@ -10809,9 +10796,11 @@ /turf/simulated/floor/carpet/black, /area/ghost_bar) "Nn" = ( -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/ywflowers, -/obj/structure/flora/ausbushes/palebush, +/obj/structure/flora/ausbushes/ppflowers, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 4 + }, /turf/simulated/floor/grass, /area/centcom/control) "No" = ( @@ -10979,9 +10968,13 @@ /turf/simulated/wall/indestructible/fakeglass, /area/centcom/specops) "Oi" = ( -/obj/structure/flora/ausbushes/grassybush, -/obj/structure/flora/ausbushes/fernybush, -/turf/simulated/floor/grass, +/obj/effect/turf_decal/tiles/department/security/side{ + dir = 4 + }, +/obj/structure/chair{ + dir = 8 + }, +/turf/simulated/floor/plasteel/dark, /area/centcom/control) "Oj" = ( /obj/structure/closet/secure_closet/freezer/kitchen{ @@ -11043,12 +11036,6 @@ /obj/effect/turf_decal/tiles/department/security/checker, /turf/simulated/floor/plasteel, /area/tdome/tdomeobserve) -"Oq" = ( -/obj/effect/turf_decal/tiles/department/security/side{ - dir = 1 - }, -/turf/simulated/floor/plasteel/dark, -/area/centcom/control) "Or" = ( /obj/item/flag/sec, /turf/simulated/floor/plasteel/dark, @@ -11492,10 +11479,6 @@ /obj/structure/table/tray, /turf/simulated/floor/plasteel/dark, /area/ghost_bar) -"PO" = ( -/obj/structure/flora/ausbushes/fernybush, -/turf/simulated/floor/grass, -/area/centcom/control) "PP" = ( /obj/structure/railing{ dir = 4 @@ -11780,14 +11763,6 @@ }, /turf/space, /area/space/centcomm) -"QI" = ( -/obj/effect/turf_decal/tiles/department/security/side{ - dir = 1 - }, -/obj/structure/table/reinforced, -/obj/item/ashtray/glass, -/turf/simulated/floor/plasteel/dark, -/area/centcom/control) "QK" = ( /obj/structure/chair/sofa, /turf/simulated/floor/carpet/black, @@ -12137,13 +12112,6 @@ "RY" = ( /turf/simulated/floor/pod/dark, /area/syndicate_mothership) -"RZ" = ( -/obj/effect/turf_decal/delivery/hollow, -/obj/effect/turf_decal/tiles/department/security/side{ - dir = 1 - }, -/turf/simulated/floor/plasteel/dark, -/area/centcom/control) "Sa" = ( /obj/structure/table, /obj/item/paper_bin, @@ -12475,9 +12443,8 @@ /turf/simulated/floor/holofloor, /area/holodeck/source_thunderdomecourt) "Tl" = ( -/obj/structure/chair, -/obj/effect/turf_decal/tiles/department/security/side{ - dir = 1 +/obj/effect/turf_decal/tiles/department/security/corner{ + dir = 4 }, /turf/simulated/floor/plasteel/dark, /area/centcom/control) @@ -12676,12 +12643,9 @@ /turf/simulated/floor/wood, /area/ghost_bar) "TW" = ( -/obj/effect/turf_decal/tiles/department/security/side{ - dir = 1 - }, -/obj/structure/reagent_dispensers/water_cooler, -/turf/simulated/floor/plasteel/dark, -/area/centcom/control) +/obj/structure/window/plastitanium, +/turf/space, +/area/template_noop) "TX" = ( /obj/effect/turf_decal/tiles/department/virology/side{ dir = 8 @@ -13740,6 +13704,14 @@ /obj/structure/flora/rock/jungle, /turf/simulated/floor/grass/jungle, /area/centcom/evac) +"XO" = ( +/obj/structure/flora/ausbushes/lavendergrass, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced, +/turf/simulated/floor/grass, +/area/centcom/control) "XQ" = ( /obj/structure/shuttle/engine/propulsion{ dir = 8; @@ -38378,10 +38350,10 @@ aN aN aN aN +aN +aN +aN YA -Cb -Sk -Rg ZC TY YN @@ -38635,9 +38607,9 @@ aN aN aN aN -YA -YA -YA +aN +aN +aN YA Om TY @@ -38892,10 +38864,10 @@ aN aN aN aN -sm -QI -EX -EX +aN +aN +aN +YA ZC TY YN @@ -39149,10 +39121,10 @@ aN aN aN aN -sm -Oq -ZC -ZC +aN +aN +aN +YA ZC TY YN @@ -39406,10 +39378,10 @@ aN aN aN aN -sm -TW -fr -ZC +aN +aN +aN +YA ZC TY YN @@ -39663,9 +39635,9 @@ aN aN aN aN -YA -YA -YA +aN +aN +aN YA Or TY @@ -39920,10 +39892,10 @@ aN aN aN aN +aN +aN +aN YA -Cb -Sk -Rg ZC TY YN @@ -41719,13 +41691,13 @@ aN aN aN aN -aN -aN -aN -aN -sm -yq -Rg +aa +aa +YA +YA +YA +YA +Nn RV ZC WX @@ -41975,15 +41947,15 @@ aN aN aN aN -aN -aN -aN -aN -aN -sm -PO -Rg -Tl +wv +wv +wv +wv +wv +wv +TW +Fa +Ic ZC Wd ZC @@ -42232,15 +42204,15 @@ aN aN aN aN -aN -aN -aN -aN -aN -sm -Fa -Rg -Tl +wv +wv +wv +wv +wv +wv +TW +ZC +ZC ZC Wd ZC @@ -42489,15 +42461,15 @@ aN aN aN aN -aN -aN -aN -aN -aN -sm -Oi -Rg -RZ +wv +wv +wv +wv +wv +wv +TW +ZC +ZC ZC Wd ZC @@ -42746,15 +42718,15 @@ aN aN aN aN -aN -aN -aN -aN -aN -sm -Nn -Rg -Tl +wv +wv +wv +wv +wv +wv +TW +ZC +ZC ZC Wd ZC @@ -43003,14 +42975,14 @@ aN aN aN aN -aN -aN -aN -aN -aN -sm +wv +wv +wv +wv +wv +wv +TW Oi -Rg Tl ZC Wd @@ -43261,13 +43233,13 @@ aN aN aN aN -aN -aN -aN -aN -sm -PO -Rg +aa +aa +YA +YA +YA +YA +XO Sa ZC WX diff --git a/code/_globalvars/mapping_vars.dm b/code/_globalvars/mapping_vars.dm index 0e359da6558..2c31ca89231 100644 --- a/code/_globalvars/mapping_vars.dm +++ b/code/_globalvars/mapping_vars.dm @@ -50,3 +50,4 @@ GLOBAL_LIST_EMPTY(lava_ruins_templates) GLOBAL_LIST_EMPTY(shelter_templates) GLOBAL_LIST_EMPTY(shuttle_templates) GLOBAL_LIST_EMPTY(lavaland_zlvl_bridge_templates) +GLOBAL_LIST_EMPTY(diorama) diff --git a/code/datums/diorama_templates.dm b/code/datums/diorama_templates.dm new file mode 100644 index 00000000000..d01691849b0 --- /dev/null +++ b/code/datums/diorama_templates.dm @@ -0,0 +1,58 @@ +/datum/map_template/diorama + var/description + var/diorama_id + +/datum/map_template/diorama/snowy + name = "Snowy Diorama" + description = "'Santa's Secret Surprise' by haydenredacted" + mappath = "_maps/map_files/dioramas/snowy_diorama.dmm" + +/datum/map_template/diorama/lavaland + name = "Lavaland Diorama" + description = "'A Day on Lavaland' by haydenredacted" + mappath = "_maps/map_files/dioramas/lavaland_diorama.dmm" + +/datum/map_template/diorama/byod + name = "Build Your Own Diorama" + description = "'Build Your Own Diorama' by haydenredacted" + mappath = "_maps/map_files/dioramas/byod_diorama.dmm" + +/obj/item/paper/diorama/byod + name = "screw you, i quit, make your own damn diorama" + +/datum/map_template/diorama/vet + name = "Vet Visit Diorama" + description = "'Vet Visit Diorama' by haydenredacted" + mappath = "_maps/map_files/dioramas/vet_diorama.dmm" + +/datum/map_template/diorama/borg + name = "A Cyborg's Creation Diorama" + description = "'A Cyborg's Creation Diorama' by haydenredacted" + mappath = "_maps/map_files/dioramas/borg_diorama.dmm" + +/obj/structure/diorama_sign + name = "Diorama Sign" + desc = "" + icon_state = "floor_sign" + +/// Areas are preferred to be made here instead of using pre-existing ones so nothing is connected to anything on a non CC z-level. +/area/centcom/diorama + name = "Blank Diorama" + dynamic_lighting = DYNAMIC_LIGHTING_ENABLED + +/area/centcom/diorama/borg + name = "Borg Diorama" + +/area/centcom/diorama/lavaland + name = "Lavaland Diorama" + icon_state = "explored" + +/area/centcom/diorama/snowy + name = "Snowy Diorama" + icon_state = "yellow" + +/area/centcom/diorama/byod + name = "Build Your Own Diorama" + +/area/centcom/diorama/vet + name = "Vet Visit Diorama" diff --git a/code/datums/mapping/map_template.dm b/code/datums/mapping/map_template.dm index 8441719a4d8..8f120c8702e 100644 --- a/code/datums/mapping/map_template.dm +++ b/code/datums/mapping/map_template.dm @@ -136,6 +136,7 @@ preloadBridgeTemplates() preloadEventTemplates() preloadLazyTemplates() + preloadDiorama() /proc/preloadRuinTemplates() // Merge the active lists together @@ -218,3 +219,22 @@ var/datum/map_template/lazy/L = new lazy_type() GLOB.map_templates[L.name] = L + +/proc/preloadDiorama() + var/list/valid_dioramas = list() + + for(var/item in subtypesof(/datum/map_template/diorama)) + var/datum/map_template/diorama/diorama_type = item + if(!initial(diorama_type.mappath)) + continue + var/datum/map_template/diorama/E = new diorama_type() + GLOB.map_templates[E.diorama_id] = E + valid_dioramas += E + + if(length(valid_dioramas)) + var/datum/map_template/diorama/chosen = pick(valid_dioramas) + var/turf/T = locate(108, 115, 1) + if(chosen.fits_in_map_bounds(T)) + chosen.load(T) + for(var/obj/structure/diorama_sign/S in world) + S.desc = chosen.description diff --git a/paradise.dme b/paradise.dme index 712343a8999..84facfa67d1 100644 --- a/paradise.dme +++ b/paradise.dme @@ -446,6 +446,7 @@ #include "code\datums\datacore.dm" #include "code\datums\datum.dm" #include "code\datums\datumvars.dm" +#include "code\datums\diorama_templates.dm" #include "code\datums\dog_fashion.dm" #include "code\datums\emote.dm" #include "code\datums\event_structures.dm"