diff --git a/_maps/doppler/automapper/automapper_config.toml b/_maps/doppler/automapper/automapper_config.toml index 8ed42800655a7..ffb352a499a0d 100644 --- a/_maps/doppler/automapper/automapper_config.toml +++ b/_maps/doppler/automapper/automapper_config.toml @@ -9,7 +9,33 @@ # Traits - Station (for station relatied edits), CentCom (for edits on the CC map), Mining (for edits on Lavaland) # More can be found in code\__DEFINES\maps.dm +# METASTATION MAP TEMPLATES +# Metastation Cryo +[templates.metastation_cryo] +map_files = ["metastation_cryo.dmm"] +directory = "_maps/doppler/automapper/templates/metastation/" +required_map = "MetaStation.dmm" +coordinates = [133, 182, 1] +trait_name = "Station" + +# DELTASTATION MAP EDITS +# Deltastation Cryo +[templates.deltastation_cryo] +map_files = ["deltastation_cryo.dmm"] +directory = "_maps/doppler/automapper/templates/deltastation/" +required_map = "DeltaStation2.dmm" +coordinates = [216, 93, 1] +trait_name = "Station" + # ICEBOX MAP EDITS +# Icebox Cryo +[templates.icebox_cryo] +map_files = ["icebox_cryo.dmm"] +directory = "_maps/doppler/automapper/templates/icebox/" +required_map = "IceBoxStation.dmm" +coordinates = [117, 142, 3] +trait_name = "Station" + # Icecats Camp Lower Level [templates.icebox_icecats_lower] map_files = ["icemoon_underground_icewalker_lower.dmm"] @@ -25,3 +51,39 @@ directory = "_maps/RandomRuins/IceRuins/doppler/" required_map = "IceBoxStation.dmm" coordinates = [170, 16, 2] trait_name = "Station" + +# TRAMSTATION MAP EDITS +# Tramstation Cryo +[templates.tramstation_cryo] +map_files = ["tramstation_cryo.dmm"] +directory = "_maps/doppler/automapper/templates/tramstation/" +required_map = "tramstation.dmm" +coordinates = [68, 102, 2] +trait_name = "Station" + +# BIRDSHOT MAP EDITS +# Birdshot Cryo +[templates.birdshot_cryo] +map_files = ["birdshot_cryo.dmm"] +directory = "_maps/doppler/automapper/templates/birdshot/" +required_map = "birdshot.dmm" +coordinates = [142, 84, 1] +trait_name = "Station" + +# NORTHSTAR MAP EDITS +# Northstar Cryo +[templates.northstar_cryo] +map_files = ["northstar_cryo.dmm"] +directory = "_maps/doppler/automapper/templates/northstar/" +required_map = "north_star.dmm" +coordinates = [130, 114, 3] +trait_name = "Station" + +# WAWASTATION MAP EDITS +# Wawastation Cryo +[templates.wawastation_cryo] +map_files = ["wawastation_cryo.dmm"] +directory = "_maps/doppler/automapper/templates/wawastation/" +required_map = "wawastation.dmm" +coordinates = [83, 92, 1] +trait_name = "Station" diff --git a/_maps/doppler/automapper/templates/birdshot/birdshot_cryo.dmm b/_maps/doppler/automapper/templates/birdshot/birdshot_cryo.dmm new file mode 100644 index 0000000000000..02e8e71ad3fa4 --- /dev/null +++ b/_maps/doppler/automapper/templates/birdshot/birdshot_cryo.dmm @@ -0,0 +1,219 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/turf/open/floor/plating, +/area/station/commons/cryopods) +"c" = ( +/turf/closed/wall, +/area/station/commons/cryopods) +"g" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/iron/white/corner{ + dir = 1 + }, +/area/station/hallway/secondary/entry) +"m" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/machinery/light/floor, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/white/corner{ + dir = 1 + }, +/area/station/hallway/secondary/entry) +"n" = ( +/obj/structure/sign/poster/official/random/directional/north, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/effect/turf_decal/siding/thinplating_new/light{ + dir = 1 + }, +/turf/open/floor/iron/small, +/area/station/commons/cryopods) +"p" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/obj/effect/turf_decal/siding/thinplating_new/light{ + dir = 1 + }, +/turf/open/floor/iron/small, +/area/station/commons/cryopods) +"s" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/effect/turf_decal/siding/thinplating_new/light{ + dir = 1 + }, +/obj/structure/sign/poster/timeclock_psa/directional/north, +/turf/open/floor/iron/small, +/area/station/commons/cryopods) +"v" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/item/radio/intercom/directional/north, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/iron/white/corner{ + dir = 1 + }, +/area/station/hallway/secondary/entry) +"x" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/small, +/area/station/commons/cryopods) +"A" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/iron/white/corner{ + dir = 1 + }, +/area/station/hallway/secondary/entry) +"G" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/firedoor, +/obj/effect/landmark/navigate_destination{ + location = "Cryopods" + }, +/obj/machinery/door/airlock/public/glass{ + name = "Cryopods" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/textured_half, +/area/station/commons/cryopods) +"J" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/white/corner{ + dir = 1 + }, +/area/station/hallway/secondary/entry) +"K" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/landmark/event_spawn, +/turf/open/floor/iron/small, +/area/station/commons/cryopods) +"M" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/time_clock/directional/north, +/obj/structure/cable, +/obj/effect/turf_decal/siding/thinplating_new/light/end, +/turf/open/floor/iron/dark, +/area/station/commons/cryopods) +"Q" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/vending/clothing, +/turf/open/floor/iron/small, +/area/station/commons/cryopods) +"R" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/vending/autodrobe, +/turf/open/floor/iron/small, +/area/station/commons/cryopods) +"S" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/broken_flooring/corner/directional/south, +/obj/machinery/cryopod{ + dir = 4 + }, +/obj/machinery/camera/autoname/directional/west, +/turf/open/floor/iron/small, +/area/station/commons/cryopods) +"U" = ( +/obj/machinery/cryopod{ + dir = 4 + }, +/obj/machinery/airalarm/directional/north, +/obj/effect/turf_decal/siding/thinplating_new/light{ + dir = 1 + }, +/turf/open/floor/iron/small, +/area/station/commons/cryopods) +"V" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/commons/cryopods) +"Y" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/firedoor, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/turf/open/floor/catwalk_floor, +/area/station/hallway/secondary/entry) + +(1,1,1) = {" +a +a +c +g +"} +(2,1,1) = {" +U +S +a +A +"} +(3,1,1) = {" +n +x +a +A +"} +(4,1,1) = {" +M +K +G +Y +"} +(5,1,1) = {" +s +R +a +J +"} +(6,1,1) = {" +p +Q +a +m +"} +(7,1,1) = {" +V +V +c +v +"} diff --git a/_maps/doppler/automapper/templates/deltastation/deltastation_cryo.dmm b/_maps/doppler/automapper/templates/deltastation/deltastation_cryo.dmm new file mode 100644 index 0000000000000..6b903c657e203 --- /dev/null +++ b/_maps/doppler/automapper/templates/deltastation/deltastation_cryo.dmm @@ -0,0 +1,110 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/closed/wall, +/area/station/commons/cryopods) +"d" = ( +/obj/effect/turf_decal/siding/white, +/obj/machinery/time_clock/directional/east, +/turf/open/floor/iron/dark, +/area/station/commons/cryopods) +"e" = ( +/obj/machinery/computer/cryopod/directional/east, +/obj/machinery/light/directional/east, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/station/commons/cryopods) +"k" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/machinery/airalarm/directional/east, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/machinery/camera/directional/east, +/obj/item/kirbyplants/random, +/turf/open/floor/iron/dark, +/area/station/commons/cryopods) +"l" = ( +/obj/structure/sign/poster/timeclock_psa, +/turf/closed/wall, +/area/station/commons/cryopods) +"v" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/white, +/area/station/commons/cryopods) +"F" = ( +/obj/machinery/cryopod{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/commons/cryopods) +"G" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/airlock/public/glass{ + name = "Cryopods" + }, +/obj/effect/landmark/navigate_destination{ + location = "Cryopods" + }, +/turf/open/floor/iron/white, +/area/station/commons/cryopods) +"I" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/commons/cryopods) +"P" = ( +/obj/effect/landmark/start/hangover, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/station/commons/cryopods) +"Z" = ( +/obj/machinery/cryopod, +/obj/effect/turf_decal/siding/white, +/turf/open/floor/iron/dark, +/area/station/commons/cryopods) + +(1,1,1) = {" +l +I +G +I +a +"} +(2,1,1) = {" +I +Z +P +F +I +"} +(3,1,1) = {" +I +Z +v +F +I +"} +(4,1,1) = {" +I +d +e +k +I +"} +(5,1,1) = {" +a +a +a +a +a +"} diff --git a/_maps/doppler/automapper/templates/icebox/icebox_cryo.dmm b/_maps/doppler/automapper/templates/icebox/icebox_cryo.dmm new file mode 100644 index 0000000000000..4239cbbc0a452 --- /dev/null +++ b/_maps/doppler/automapper/templates/icebox/icebox_cryo.dmm @@ -0,0 +1,226 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/commons/cryopods) +"b" = ( +/obj/machinery/cryopod{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/commons/cryopods) +"e" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Dormitory" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/iron/dark/textured, +/area/station/commons/dorms) +"f" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/airlock/public/glass{ + name = "Cryopods" + }, +/obj/effect/landmark/navigate_destination, +/turf/open/floor/iron, +/area/station/commons/cryopods) +"j" = ( +/obj/effect/turf_decal/siding/white{ + dir = 9 + }, +/obj/machinery/light/directional/east, +/obj/machinery/time_clock/directional/east, +/turf/open/floor/iron/dark, +/area/station/commons/cryopods) +"k" = ( +/obj/machinery/computer/cryopod/directional/north, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/commons/cryopods) +"v" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/station/commons/cryopods) +"y" = ( +/turf/template_noop, +/area/template_noop) +"z" = ( +/obj/machinery/cryopod{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/commons/cryopods) +"B" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/light/floor, +/turf/open/floor/iron, +/area/station/hallway/primary/central) +"C" = ( +/turf/closed/wall, +/area/station/commons/cryopods) +"E" = ( +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/machinery/camera/directional/west, +/obj/item/kirbyplants/random, +/turf/open/floor/iron/dark, +/area/station/commons/cryopods) +"J" = ( +/obj/machinery/cryopod{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/iron/dark, +/area/station/commons/cryopods) +"K" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/light/directional/north, +/obj/structure/sign/poster/timeclock_psa/directional/north, +/turf/open/floor/iron, +/area/station/commons/cryopods) +"M" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/commons/dorms) +"P" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central) +"Q" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/commons/dorms) +"T" = ( +/obj/machinery/light/floor, +/turf/open/floor/iron, +/area/station/hallway/primary/central) +"W" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/commons/dorms) +"Z" = ( +/obj/structure/extinguisher_cabinet/directional/east, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central) + +(1,1,1) = {" +C +C +C +v +v +y +"} +(2,1,1) = {" +C +E +J +b +v +y +"} +(3,1,1) = {" +C +k +a +a +v +y +"} +(4,1,1) = {" +C +K +j +z +v +T +"} +(5,1,1) = {" +C +f +C +v +v +y +"} +(6,1,1) = {" +y +M +y +y +y +y +"} +(7,1,1) = {" +Q +W +e +Z +P +B +"} diff --git a/_maps/doppler/automapper/templates/metastation/metastation_cryo.dmm b/_maps/doppler/automapper/templates/metastation/metastation_cryo.dmm new file mode 100644 index 0000000000000..83810e4d897fe --- /dev/null +++ b/_maps/doppler/automapper/templates/metastation/metastation_cryo.dmm @@ -0,0 +1,159 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/template_noop, +/area/template_noop) +"e" = ( +/obj/machinery/computer/cryopod/directional/west, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/machinery/light/directional/west, +/obj/effect/turf_decal/trimline/dark_green/line, +/obj/effect/turf_decal/trimline/dark_green/line{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/commons/cryopods) +"i" = ( +/obj/machinery/cryopod{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/iron/dark, +/area/station/commons/cryopods) +"j" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/station/commons/cryopods) +"p" = ( +/obj/effect/turf_decal/siding/white, +/obj/machinery/time_clock/directional/north, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/iron/dark, +/area/station/commons/cryopods) +"q" = ( +/obj/machinery/cryopod{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/south, +/turf/open/floor/iron/dark, +/area/station/commons/cryopods) +"v" = ( +/obj/machinery/cryopod, +/obj/effect/turf_decal/siding/white, +/obj/machinery/camera/directional/north{ + c_tag = "Cryogenics Pods" + }, +/obj/structure/sign/poster/timeclock_psa/directional/north, +/turf/open/floor/iron/dark, +/area/station/commons/cryopods) +"x" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/airlock/public/glass{ + name = "Cryopods" + }, +/obj/effect/landmark/navigate_destination, +/obj/effect/turf_decal/trimline/dark_green/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/dark_green/corner{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/station/commons/cryopods) +"C" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/commons/cryopods) +"I" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/dark_green/line, +/obj/effect/turf_decal/trimline/dark_green/line{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/commons/cryopods) +"L" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron/white/side{ + dir = 1 + }, +/area/station/commons/fitness) +"N" = ( +/turf/closed/wall, +/area/station/commons/cryopods) +"O" = ( +/obj/machinery/airalarm/directional/west, +/turf/template_noop, +/area/template_noop) +"U" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/white/side{ + dir = 9 + }, +/area/station/commons/fitness) +"V" = ( +/obj/effect/turf_decal/trimline/dark_red/mid_joiner, +/obj/effect/turf_decal/trimline/dark_red/line, +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/iron/white/smooth_half, +/area/station/commons/fitness) + +(1,1,1) = {" +N +C +N +C +N +"} +(2,1,1) = {" +N +v +e +i +N +"} +(3,1,1) = {" +N +p +I +q +N +"} +(4,1,1) = {" +N +j +x +N +N +"} +(5,1,1) = {" +a +a +U +O +a +"} +(6,1,1) = {" +a +V +L +a +a +"} diff --git a/_maps/doppler/automapper/templates/northstar/northstar_cryo.dmm b/_maps/doppler/automapper/templates/northstar/northstar_cryo.dmm new file mode 100644 index 0000000000000..9e34689cf1c8d --- /dev/null +++ b/_maps/doppler/automapper/templates/northstar/northstar_cryo.dmm @@ -0,0 +1,889 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"bp" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 8 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/iron, +/area/station/commons/cafeteria) +"bV" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/commons/cafeteria) +"bX" = ( +/obj/effect/turf_decal/siding/thinplating_new/light{ + dir = 8 + }, +/obj/machinery/cryopod{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating_new/light{ + dir = 4 + }, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/iron/dark, +/area/station/commons/cryopods) +"di" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/commons/cafeteria) +"dG" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 8 + }, +/obj/structure/rack, +/obj/item/circuitboard/machine/processor{ + pixel_y = 10 + }, +/obj/item/circuitboard/machine/oven, +/obj/item/circuitboard/machine/microwave{ + pixel_y = -10 + }, +/turf/open/floor/iron, +/area/station/commons/vacant_room/commissary) +"dP" = ( +/obj/structure/window/spawner/directional/south, +/obj/structure/flora/bush/flowers_br/style_random, +/obj/structure/flora/bush/flowers_pp/style_random, +/obj/structure/window/spawner/directional/east, +/turf/open/floor/grass, +/area/station/commons/cryopods) +"eu" = ( +/obj/machinery/newscaster/directional/south, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron/checker, +/area/station/commons/cafeteria) +"eN" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/commons/cafeteria) +"fj" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "comish_shutter" + }, +/turf/open/floor/plating, +/area/station/commons/vacant_room/commissary) +"fs" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 8 + }, +/obj/machinery/camera/directional/west, +/turf/open/floor/iron, +/area/station/commons/cafeteria) +"hm" = ( +/obj/structure/table/reinforced, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "comish_shutter" + }, +/turf/open/floor/iron, +/area/station/commons/vacant_room/commissary) +"hN" = ( +/turf/template_noop, +/area/station/hallway/floor3/aft) +"ia" = ( +/obj/structure/table, +/obj/item/pai_card, +/turf/open/floor/iron/checker, +/area/station/commons/cafeteria) +"ib" = ( +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron/checker, +/area/station/commons/vacant_room/commissary) +"ic" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 8 + }, +/obj/item/radio/intercom/directional/west, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/commons/cafeteria) +"io" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Cryopods" + }, +/obj/effect/landmark/navigate_destination{ + location = "Cryopods" + }, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/dark, +/area/station/commons/cryopods) +"kc" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/green/filled/line, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/iron, +/area/station/commons/vacant_room/commissary) +"lt" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark, +/area/station/commons/cryopods) +"lv" = ( +/turf/open/floor/iron/checker, +/area/station/commons/cafeteria) +"lO" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/door/airlock{ + id_tag = "comish_door"; + name = "Vacant Commissary" + }, +/turf/open/floor/iron/dark, +/area/station/commons/vacant_room/commissary) +"mU" = ( +/obj/effect/turf_decal/siding/thinplating_new/light{ + dir = 8 + }, +/obj/machinery/cryopod{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating_new/light{ + dir = 4 + }, +/obj/machinery/camera/directional/east, +/turf/open/floor/iron/dark, +/area/station/commons/cryopods) +"ng" = ( +/obj/structure/chair, +/obj/machinery/light_switch/directional/west, +/turf/open/floor/iron/checker, +/area/station/commons/cafeteria) +"nB" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/east, +/turf/open/floor/iron, +/area/station/commons/cafeteria) +"nC" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 6 + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/trimline/green/filled/corner{ + dir = 1 + }, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/commons/vacant_room/commissary) +"nQ" = ( +/obj/effect/turf_decal/trimline/green/filled/line, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/iron, +/area/station/commons/vacant_room/commissary) +"oz" = ( +/obj/structure/chair{ + dir = 1 + }, +/turf/open/floor/iron/checker, +/area/station/commons/cafeteria) +"oE" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/dark/side, +/area/station/hallway/floor3/aft) +"oI" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/trimline/green/filled/line, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/commons/cafeteria) +"oZ" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/green/filled/line, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/commons/vacant_room/commissary) +"qE" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/landmark/start/hangover, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/commons/cafeteria) +"qF" = ( +/obj/effect/turf_decal/siding/thinplating_new/light/end, +/obj/machinery/cryopod{ + dir = 4 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/iron/dark, +/area/station/commons/cryopods) +"qI" = ( +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron/checker, +/area/station/commons/cafeteria) +"qP" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/green/filled/line, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/light/directional/north, +/obj/structure/cable, +/obj/machinery/button/door/directional/north{ + name = "Commissary Shutters"; + pixel_x = -5; + id = "comish_shutter" + }, +/obj/machinery/button/door/directional/north{ + name = "Commissary Door"; + pixel_x = 7; + id = "comish_door"; + normaldoorcontrol = 1; + specialfunctions = 4 + }, +/turf/open/floor/iron, +/area/station/commons/vacant_room/commissary) +"rA" = ( +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 8 + }, +/turf/open/floor/iron/checker, +/area/station/commons/vacant_room/commissary) +"rT" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Cryopods" + }, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/commons/cryopods) +"se" = ( +/obj/machinery/airalarm/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/commons/cryopods) +"si" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 5 + }, +/obj/effect/spawner/random/structure/crate, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/trimline/green/filled/corner{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/commons/vacant_room/commissary) +"sM" = ( +/obj/machinery/airalarm/directional/north, +/turf/open/floor/iron/checker, +/area/station/commons/cafeteria) +"tv" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron/dark/side, +/area/station/hallway/floor3/aft) +"vN" = ( +/turf/closed/wall, +/area/station/commons/cafeteria) +"wl" = ( +/obj/structure/window/spawner/directional/south, +/obj/structure/flora/bush/flowers_br/style_random, +/obj/structure/flora/bush/flowers_pp/style_random, +/obj/structure/window/spawner/directional/west, +/turf/open/floor/grass, +/area/station/commons/cryopods) +"wR" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/directional/east, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/iron, +/area/station/commons/vacant_room/commissary) +"zq" = ( +/obj/machinery/computer/cryopod/directional/south, +/obj/machinery/time_clock/directional/east, +/turf/open/floor/iron/dark, +/area/station/commons/cryopods) +"Ao" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/commons/cryopods) +"AB" = ( +/obj/structure/table, +/obj/machinery/light/directional/east, +/turf/open/floor/iron/checker, +/area/station/commons/cafeteria) +"AR" = ( +/obj/effect/turf_decal/trimline/green/filled/line, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 1 + }, +/obj/structure/table, +/obj/item/stack/cable_coil, +/obj/item/stack/sheet/glass/fifty, +/turf/open/floor/iron, +/area/station/commons/vacant_room/commissary) +"CF" = ( +/turf/template_noop, +/area/station/commons/cafeteria) +"CO" = ( +/turf/template_noop, +/area/template_noop) +"Dz" = ( +/obj/structure/disposalpipe/junction{ + dir = 4 + }, +/turf/open/floor/iron/dark/side, +/area/station/hallway/floor3/aft) +"ED" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/commons/vacant_room/commissary) +"Fk" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/commons/vacant_room/commissary) +"FP" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/door/firedoor/heavy, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/commons/cafeteria) +"FR" = ( +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 8 + }, +/obj/machinery/holopad, +/turf/open/floor/iron/checker, +/area/station/commons/vacant_room/commissary) +"Hk" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/green/filled/corner{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/table, +/obj/item/stack/sheet/iron/ten, +/obj/machinery/light_switch/directional/west, +/turf/open/floor/iron, +/area/station/commons/vacant_room/commissary) +"Io" = ( +/obj/machinery/cryopod{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating_new/light/end, +/obj/structure/sign/poster/timeclock_psa/directional/east, +/turf/open/floor/iron/dark, +/area/station/commons/cryopods) +"IB" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/commons/cafeteria) +"IH" = ( +/turf/closed/wall, +/area/station/commons/cryopods) +"JW" = ( +/obj/machinery/firealarm/directional/north, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/iron/checker, +/area/station/commons/cafeteria) +"KR" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/door/firedoor/heavy, +/obj/effect/turf_decal/delivery, +/turf/open/floor/iron/dark, +/area/station/commons/cafeteria) +"Lc" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/commons/cafeteria) +"MQ" = ( +/obj/effect/turf_decal/stripes/full, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock{ + id_tag = "comish_door"; + name = "Vacant Commissary" + }, +/turf/open/floor/iron, +/area/station/commons/vacant_room/commissary) +"Nk" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 4 + }, +/obj/structure/chair/stool{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/commons/vacant_room/commissary) +"NZ" = ( +/obj/structure/chair, +/turf/open/floor/iron/checker, +/area/station/commons/cafeteria) +"Oy" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/commons/vacant_room/commissary) +"Po" = ( +/obj/machinery/cryopod{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating_new/light/end{ + dir = 1 + }, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/iron/dark, +/area/station/commons/cryopods) +"PN" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/light/directional/south, +/obj/structure/sign/poster/timeclock_psa/directional/south, +/turf/open/floor/iron/dark/side, +/area/station/hallway/floor3/aft) +"QZ" = ( +/obj/structure/table, +/turf/open/floor/iron/checker, +/area/station/commons/cafeteria) +"Sd" = ( +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron/checker, +/area/station/commons/vacant_room/commissary) +"Sf" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/trimline/green/filled/line, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/commons/cafeteria) +"SN" = ( +/turf/closed/wall, +/area/station/commons/vacant_room/commissary) +"SW" = ( +/obj/structure/table, +/obj/machinery/light/directional/west, +/turf/open/floor/iron/checker, +/area/station/commons/cafeteria) +"Ty" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/commons/cryopods) +"TI" = ( +/obj/structure/disposalpipe/junction/flip{ + dir = 4 + }, +/turf/open/floor/iron/dark/side, +/area/station/hallway/floor3/aft) +"Ut" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/commons/cafeteria) +"UU" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/green/filled/corner, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/commons/vacant_room/commissary) +"Vu" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/commons/cafeteria) +"Wr" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/commons/cafeteria) +"WD" = ( +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/checker, +/area/station/commons/vacant_room/commissary) +"XL" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/iron/dark, +/area/station/commons/cryopods) +"XR" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "comish_shutter" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/commons/vacant_room/commissary) +"Yt" = ( +/obj/effect/turf_decal/trimline/green/filled/line, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/rack, +/obj/item/wrench, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron, +/area/station/commons/vacant_room/commissary) +"YW" = ( +/obj/effect/turf_decal/siding/thinplating_new/light/end{ + dir = 1 + }, +/obj/machinery/cryopod{ + dir = 8 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/iron/dark, +/area/station/commons/cryopods) +"Zv" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/effect/turf_decal/trimline/green/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/green/filled/corner, +/turf/open/floor/iron, +/area/station/commons/cafeteria) +"ZM" = ( +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/checker, +/area/station/commons/vacant_room/commissary) + +(1,1,1) = {" +hN +vN +vN +vN +vN +vN +vN +CO +CO +CO +CO +CO +CO +CO +"} +(2,1,1) = {" +hN +vN +JW +ng +SW +oz +qI +CO +CO +CO +CO +CO +CO +CO +"} +(3,1,1) = {" +hN +di +lv +NZ +ia +oz +eu +CO +CO +CO +CO +CO +CO +CO +"} +(4,1,1) = {" +Dz +KR +Vu +Vu +Vu +Vu +Ut +fs +ic +bp +Lc +CF +CF +CO +"} +(5,1,1) = {" +tv +FP +Wr +qE +Wr +eN +Zv +nB +bV +bV +bV +bV +IB +CO +"} +(6,1,1) = {" +TI +di +lv +NZ +QZ +oz +oI +SN +fj +hm +XR +hm +SN +CO +"} +(7,1,1) = {" +oE +vN +sM +NZ +AB +oz +Sf +MQ +UU +ED +Nk +Oy +Hk +CO +"} +(8,1,1) = {" +PN +IH +IH +IH +IH +IH +rT +SN +qP +Sd +ib +rA +AR +CO +"} +(9,1,1) = {" +oE +Ao +dP +Po +bX +qF +se +SN +oZ +rA +FR +rA +Yt +CO +"} +(10,1,1) = {" +oE +io +XL +lt +lt +lt +Ty +SN +kc +ZM +WD +ZM +nQ +CO +"} +(11,1,1) = {" +oE +Ao +wl +YW +mU +Io +zq +SN +si +dG +wR +Fk +nC +CO +"} +(12,1,1) = {" +CO +IH +IH +IH +IH +IH +IH +SN +SN +SN +SN +lO +SN +CO +"} diff --git a/_maps/doppler/automapper/templates/tramstation/tramstation_cryo.dmm b/_maps/doppler/automapper/templates/tramstation/tramstation_cryo.dmm new file mode 100644 index 0000000000000..86c3b4addd1bf --- /dev/null +++ b/_maps/doppler/automapper/templates/tramstation/tramstation_cryo.dmm @@ -0,0 +1,450 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/closed/wall, +/area/station/commons/dorms/laundry) +"b" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/station/commons/dorms/laundry) +"c" = ( +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/machinery/cryopod{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/commons/cryopods) +"d" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/iron, +/area/station/commons/cryopods) +"e" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/structure/sign/poster/timeclock_psa/directional/west, +/turf/open/floor/iron/cafeteria, +/area/station/commons/dorms/laundry) +"f" = ( +/obj/structure/flora/bush/flowers_yw/style_random, +/turf/open/floor/grass, +/area/station/commons/cryopods) +"g" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/iron/cafeteria, +/area/station/commons/dorms/laundry) +"h" = ( +/obj/structure/sign/poster/timeclock_psa, +/turf/closed/wall, +/area/station/commons/cryopods) +"j" = ( +/obj/structure/window/spawner/directional/south, +/obj/structure/flora/bush/flowers_br/style_random, +/obj/structure/flora/bush/flowers_pp/style_random, +/turf/open/floor/grass, +/area/station/commons/cryopods) +"k" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/structure/cable, +/obj/effect/landmark/start/assistant, +/turf/open/floor/iron/cafeteria, +/area/station/commons/dorms/laundry) +"l" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/iron, +/area/station/commons/cryopods) +"m" = ( +/obj/structure/chair/stool/bar/directional/east, +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 1 + }, +/obj/machinery/bluespace_vendor/directional/north, +/turf/open/floor/iron, +/area/station/commons/fitness/recreation) +"n" = ( +/turf/closed/wall, +/area/station/security/checkpoint/arrivals) +"o" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/cafeteria, +/area/station/commons/dorms/laundry) +"q" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/machinery/vending/clothing, +/turf/open/floor/iron/cafeteria, +/area/station/commons/dorms/laundry) +"r" = ( +/obj/effect/spawner/random/entertainment/arcade{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/commons/fitness/recreation) +"s" = ( +/obj/machinery/light/directional/west, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/machinery/cryopod{ + dir = 4 + }, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/iron/dark, +/area/station/commons/cryopods) +"t" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/structure/closet/wardrobe/grey, +/obj/machinery/light/directional/east, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/iron/cafeteria, +/area/station/commons/dorms/laundry) +"u" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/machinery/vending/autodrobe, +/turf/open/floor/iron/cafeteria, +/area/station/commons/dorms/laundry) +"v" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/iron/cafeteria, +/area/station/commons/dorms/laundry) +"w" = ( +/obj/effect/turf_decal/trimline/neutral/filled/corner{ + dir = 1 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/commons/fitness/recreation) +"x" = ( +/obj/machinery/holopad, +/obj/effect/turf_decal/bot, +/obj/item/radio/intercom/directional/north, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/commons/fitness/recreation) +"y" = ( +/obj/structure/flora/bush/flowers_br/style_random, +/obj/structure/flora/bush/flowers_pp/style_random, +/obj/structure/flora/bush/flowers_yw/style_random, +/obj/structure/flora/bush/grassy/style_random, +/turf/open/floor/grass, +/area/station/commons/cryopods) +"A" = ( +/obj/structure/chair/stool/bar/directional/west, +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 1 + }, +/obj/effect/landmark/start/assistant, +/turf/open/floor/iron, +/area/station/commons/fitness/recreation) +"B" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/commons/cryopods) +"D" = ( +/turf/closed/wall, +/area/station/commons/cryopods) +"E" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/structure/closet/wardrobe/white, +/turf/open/floor/iron/cafeteria, +/area/station/commons/dorms/laundry) +"F" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/commons/fitness/recreation) +"H" = ( +/obj/effect/turf_decal/trimline/neutral/filled/corner{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/commons/fitness/recreation) +"I" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/station/commons/cryopods) +"J" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/machinery/washing_machine, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/floor/iron/cafeteria, +/area/station/commons/dorms/laundry) +"L" = ( +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/machinery/camera/directional/west, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/machinery/time_clock/directional/west, +/turf/open/floor/iron/dark, +/area/station/commons/cryopods) +"M" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/airlock/public/glass{ + name = "Cryopods" + }, +/obj/effect/landmark/navigate_destination, +/turf/open/floor/iron, +/area/station/commons/cryopods) +"N" = ( +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/machinery/cryopod{ + dir = 4 + }, +/obj/machinery/computer/cryopod/directional/west, +/turf/open/floor/iron/dark, +/area/station/commons/cryopods) +"O" = ( +/obj/structure/window/spawner/directional/south, +/obj/structure/flora/bush/flowers_yw/style_random, +/turf/open/floor/grass, +/area/station/commons/cryopods) +"P" = ( +/obj/effect/spawner/random/entertainment/arcade{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/commons/fitness/recreation) +"Q" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/cafeteria, +/area/station/commons/dorms/laundry) +"S" = ( +/obj/structure/flora/bush/flowers_br/style_random, +/obj/structure/flora/bush/flowers_pp/style_random, +/obj/item/toy/plush/lizard_plushie{ + desc = "A cute little lizard plushie. It has some soot on it."; + name = "Tends-The-Garden" + }, +/turf/open/floor/grass, +/area/station/commons/cryopods) +"U" = ( +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/machinery/cryopod{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/commons/cryopods) +"V" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/obj/machinery/camera/directional/north{ + c_tag = "Civilian - Laundry Room" + }, +/turf/open/floor/iron/cafeteria, +/area/station/commons/dorms/laundry) +"X" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/cafeteria, +/area/station/commons/dorms/laundry) +"Y" = ( +/obj/structure/window/spawner/directional/south, +/obj/structure/flora/bush/flowers_pp/style_random, +/obj/structure/flora/bush/flowers_yw/style_random, +/obj/structure/flora/bush/grassy/style_random, +/turf/open/floor/grass, +/area/station/commons/cryopods) +"Z" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/machinery/washing_machine, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/cafeteria, +/area/station/commons/dorms/laundry) + +(1,1,1) = {" +n +D +D +D +D +D +h +P +"} +(2,1,1) = {" +n +y +O +s +N +L +I +A +"} +(3,1,1) = {" +n +f +Y +l +d +B +M +w +"} +(4,1,1) = {" +n +S +j +U +U +c +I +F +"} +(5,1,1) = {" +n +a +a +b +b +a +a +x +"} +(6,1,1) = {" +n +e +J +Z +Z +Z +Q +F +"} +(7,1,1) = {" +n +V +k +v +g +o +X +H +"} +(8,1,1) = {" +n +a +q +t +E +u +a +m +"} +(9,1,1) = {" +n +a +a +a +a +a +a +r +"} diff --git a/_maps/doppler/automapper/templates/wawastation/wawastation_cryo.dmm b/_maps/doppler/automapper/templates/wawastation/wawastation_cryo.dmm new file mode 100644 index 0000000000000..a03b8e807fb1f --- /dev/null +++ b/_maps/doppler/automapper/templates/wawastation/wawastation_cryo.dmm @@ -0,0 +1,227 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/obj/structure/chair/sofa/bench/left{ + dir = 8 + }, +/obj/effect/landmark/start/assistant, +/turf/open/floor/iron, +/area/station/commons/cryopods) +"h" = ( +/obj/machinery/computer/cryopod/directional/north, +/obj/machinery/camera/autoname/directional/north, +/obj/effect/landmark/start/assistant, +/turf/open/floor/iron/dark, +/area/station/commons/cryopods) +"i" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/station/commons/cryopods) +"k" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/commons/cryopods) +"l" = ( +/obj/effect/turf_decal/siding/white, +/turf/open/floor/iron/dark, +/area/station/commons/cryopods) +"o" = ( +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron, +/area/station/commons/cryopods) +"r" = ( +/obj/machinery/time_clock/directional/west, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/commons/cryopods) +"v" = ( +/obj/machinery/cryopod{ + dir = 4 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/iron/dark, +/area/station/commons/cryopods) +"x" = ( +/obj/machinery/cryopod{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/commons/cryopods) +"y" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/commons/cryopods) +"z" = ( +/obj/effect/landmark/start/assistant, +/turf/open/floor/iron/dark, +/area/station/commons/cryopods) +"A" = ( +/obj/effect/turf_decal/siding/white, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/iron/dark, +/area/station/commons/cryopods) +"E" = ( +/obj/machinery/light/directional/east, +/obj/item/kirbyplants/random, +/turf/open/floor/iron, +/area/station/commons/cryopods) +"F" = ( +/obj/machinery/cryopod{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white/corner, +/turf/open/floor/iron/dark, +/area/station/commons/cryopods) +"G" = ( +/turf/template_noop, +/area/template_noop) +"J" = ( +/obj/effect/turf_decal/siding/white{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark, +/area/station/commons/cryopods) +"L" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/hallway/primary/central) +"M" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/commons/cryopods) +"N" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/table, +/obj/effect/spawner/random/food_or_drink/refreshing_beverage{ + pixel_x = 6; + pixel_y = 15 + }, +/obj/effect/spawner/random/food_or_drink/refreshing_beverage{ + pixel_x = 9; + pixel_y = 9 + }, +/obj/effect/spawner/random/food_or_drink/refreshing_beverage{ + pixel_x = -2; + pixel_y = 11 + }, +/turf/open/floor/iron, +/area/station/commons/cryopods) +"O" = ( +/obj/structure/sign/poster/timeclock_psa/directional/north, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/structure/closet/crate/bin, +/turf/open/floor/iron, +/area/station/commons/cryopods) +"Q" = ( +/obj/machinery/cryopod{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/commons/cryopods) +"T" = ( +/obj/structure/table, +/obj/effect/spawner/random/food_or_drink/pizzaparty{ + pixel_x = 6; + pixel_y = 14 + }, +/turf/open/floor/iron, +/area/station/commons/cryopods) +"U" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/obj/structure/chair/sofa/bench/right{ + dir = 8 + }, +/obj/effect/landmark/start/assistant, +/turf/open/floor/iron, +/area/station/commons/cryopods) +"W" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/hallway/primary/central) +"X" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Cryopods" + }, +/obj/effect/landmark/navigate_destination{ + location = "Cryopods" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/firedoor, +/turf/open/floor/iron, +/area/station/commons/cryopods) +"Y" = ( +/turf/open/floor/iron, +/area/station/commons/cryopods) + +(1,1,1) = {" +G +G +G +G +G +G +G +"} +(2,1,1) = {" +x +v +A +r +T +i +G +"} +(3,1,1) = {" +h +z +l +k +N +i +W +"} +(4,1,1) = {" +Q +F +J +M +k +X +L +"} +(5,1,1) = {" +G +G +O +M +Y +i +G +"} +(6,1,1) = {" +G +G +y +y +o +G +G +"} +(7,1,1) = {" +G +G +E +U +a +G +G +"} diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm index d7df47342f525..a69c6705fc33f 100644 --- a/code/__HELPERS/global_lists.dm +++ b/code/__HELPERS/global_lists.dm @@ -187,6 +187,7 @@ GLOBAL_LIST_INIT(WALLITEMS_INTERIOR, typecacheof(list( /obj/machinery/status_display, /obj/machinery/ticket_machine, /obj/machinery/turretid, + /obj/machinery/time_clock, // DOPPLER EDIT ADDITION - Time-clock /obj/structure/wall_torch, // DOPPLER EDIT ADDITION - Wall-mounted torches /obj/machinery/barsign, /obj/structure/extinguisher_cabinet, diff --git a/modular_doppler/cryosleep/code/objects/structures/signs/signs_maps.dm b/modular_doppler/cryosleep/code/objects/structures/signs/signs_maps.dm new file mode 100644 index 0000000000000..5692fc190fd2d --- /dev/null +++ b/modular_doppler/cryosleep/code/objects/structures/signs/signs_maps.dm @@ -0,0 +1,7 @@ +/obj/structure/sign/directions/cryo + name = "cryo sleepers sign" + desc = "A direction sign, pointing out which way the cryo sleepers are. Enjoy your nap!" + icon = 'modular_doppler/cryosleep/icons/sign.dmi' + icon_state = "direction_cryo" + +MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/directions/cryo, 32) diff --git a/modular_doppler/cryosleep/icons/sign.dmi b/modular_doppler/cryosleep/icons/sign.dmi new file mode 100644 index 0000000000000..1aff4fd226512 Binary files /dev/null and b/modular_doppler/cryosleep/icons/sign.dmi differ diff --git a/modular_doppler/modular_mapping/areas/ruins.dm b/modular_doppler/modular_mapping/code/areas/ruins.dm similarity index 100% rename from modular_doppler/modular_mapping/areas/ruins.dm rename to modular_doppler/modular_mapping/code/areas/ruins.dm diff --git a/modular_doppler/modular_mapping/code/areas/station.dm b/modular_doppler/modular_mapping/code/areas/station.dm new file mode 100644 index 0000000000000..2b3cc994b3584 --- /dev/null +++ b/modular_doppler/modular_mapping/code/areas/station.dm @@ -0,0 +1,9 @@ +/area/station/commons/cryopods + name = "Cryopods Room" + icon = 'modular_doppler/modular_mapping/icons/areas/areas_station.dmi' + icon_state = "cryopods" + +/area/station/commons/cafeteria + name = "Cafeteria" + icon = 'modular_doppler/modular_mapping/icons/areas/areas_station.dmi' + icon_state = "cafeteria" diff --git a/modular_doppler/modular_mapping/ruins/icemoon.dm b/modular_doppler/modular_mapping/code/ruins/icemoon.dm similarity index 100% rename from modular_doppler/modular_mapping/ruins/icemoon.dm rename to modular_doppler/modular_mapping/code/ruins/icemoon.dm diff --git a/modular_doppler/modular_mapping/icons/areas/areas_station.dmi b/modular_doppler/modular_mapping/icons/areas/areas_station.dmi new file mode 100644 index 0000000000000..62589c9bb4382 Binary files /dev/null and b/modular_doppler/modular_mapping/icons/areas/areas_station.dmi differ diff --git a/modular_doppler/time_clock/code/console.dm b/modular_doppler/time_clock/code/console.dm new file mode 100644 index 0000000000000..e5faf4202eab0 --- /dev/null +++ b/modular_doppler/time_clock/code/console.dm @@ -0,0 +1,206 @@ +#define CLOCK_IN_COOLDOWN 15 MINUTES + +/obj/machinery/time_clock + name = "time clock" + desc = "Allows employees to clock in and out of their jobs" + icon = 'modular_doppler/time_clock/icons/machinery/console.dmi' + icon_state = "timeclock" + density = FALSE + + ///What ID card is currently inside? + var/obj/item/card/id/inserted_id + ///What trim is applied to inserted IDs? + var/target_trim = /datum/id_trim/job/assistant + + //These variables are the same as the ones that the cryopods use to make annoucements + ///The radio that is used to announce when someone clocks in and clocks out. + var/obj/item/radio/headset/radio = /obj/item/radio/headset/silicon/pai + ///The channel that the radio broadcasts on. + var/announcement_channel = null + /// What alert level do we need to start preforming job checks at? + var/job_check_alert_level = SEC_LEVEL_RED + +MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/time_clock, 28) + +/obj/machinery/time_clock/Initialize(mapload) + . = ..() + radio = new radio(src) + +/obj/machinery/time_clock/Destroy() + . = ..() + if(inserted_id) + inserted_id.forceMove(drop_location()) + + if(radio) + QDEL_NULL(radio) + +/obj/machinery/time_clock/update_overlays() + . = ..() + if(machine_stat & (NOPOWER|BROKEN)) + return FALSE + + if(!inserted_id) + . += "[icon_state]_r_idle" + . += "[icon_state]_l_idle" + + else + . += "[icon_state]_r_card" + . += "[icon_state]_l_card" + +/obj/machinery/time_clock/attackby(obj/item/used_item, mob/user) + if(!istype(used_item, /obj/item/card/id)) + return ..() + + if(inserted_id) + to_chat(user, span_warning("There is already an ID card present!")) + return FALSE + + if(!user.transferItemToLoc(used_item)) + to_chat(user, span_warning("You are unable to put [used_item] inside of the [src]!")) + return FALSE + + inserted_id = used_item + update_appearance() + update_static_data_for_all_viewers() + to_chat(user, span_boldwarning("Before clocking out, please return any piece of job gear that is important or limited to your workplace.")) + + if(important_job_check()) + if(SSsecurity_level.get_current_level_as_number() >= job_check_alert_level) + to_chat(user, span_boldwarning("You are unable to clock out at the current alert level.")) + eject_inserted_id(user) + return FALSE + + if(tgui_alert(user, "You are a member of security and/or command, make sure that you ahelp before clocking out. If you decide to clock back in later, you will need to go to the Head of Personnel. Do you wish to continue?", "[src]", list("Yes", "No")) != "Yes") + eject_inserted_id(user) + return FALSE + + playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, FALSE) + return TRUE + +/obj/machinery/time_clock/click_alt(mob/user) + if(!eject_inserted_id(user)) + return CLICK_ACTION_BLOCKING + + return CLICK_ACTION_SUCCESS + +///Ejects the ID stored inside of the parent machine, if there is one. +/obj/machinery/time_clock/proc/eject_inserted_id(mob/recepient) + if(!inserted_id || !recepient) + return FALSE + + inserted_id.forceMove(drop_location()) + recepient.put_in_hands(inserted_id) + + inserted_id = FALSE + update_appearance() + update_static_data_for_all_viewers() + playsound(src, 'sound/machines/terminal_eject.ogg', 50, FALSE) + + return TRUE + +///Clocks out the currently inserted ID Card +/obj/machinery/time_clock/proc/clock_out() + if(!inserted_id) + return FALSE + + var/datum/component/off_duty_timer/timer_component = inserted_id.AddComponent(/datum/component/off_duty_timer, CLOCK_IN_COOLDOWN) + if(important_job_check()) + timer_component.hop_locked = TRUE + log_admin("[inserted_id.registered_name] clocked out as a head of staff and/or command") + + var/current_assignment = inserted_id.assignment + var/datum/id_trim/job/current_trim = inserted_id.trim + var/datum/job/clocked_out_job = current_trim.job + SSjob.FreeRole(clocked_out_job.title) + radio.talk_into(src, "[inserted_id.registered_name], [current_assignment] has gone off-duty.", announcement_channel) + update_static_data_for_all_viewers() + + SSid_access.apply_trim_to_card(inserted_id, target_trim, TRUE) + inserted_id.assignment = "Off-Duty " + current_assignment + inserted_id.update_label() + + GLOB.manifest.modify(inserted_id.registered_name, inserted_id.assignment, inserted_id.get_trim_assignment()) + return TRUE + +///Clocks the currently inserted ID Card back in +/obj/machinery/time_clock/proc/clock_in() + if(!inserted_id) + return FALSE + + if(id_cooldown_check()) + return FALSE + + var/datum/component/off_duty_timer/id_component = inserted_id.GetComponent(/datum/component/off_duty_timer) + if(!id_component) + return FALSE + + var/datum/job/clocked_in_job = id_component.stored_trim.job + if(!SSjob.OccupyRole(clocked_in_job.title)) + say("[capitalize(clocked_in_job.title)] has no free slots available, unable to clock in!") + return FALSE + + + SSid_access.apply_trim_to_card(inserted_id, id_component.stored_trim.type, TRUE) + inserted_id.assignment = id_component.stored_assignment + + radio.talk_into(src, "[inserted_id.registered_name], [inserted_id.assignment] has returned to duty.", announcement_channel) + GLOB.manifest.modify(inserted_id.registered_name, inserted_id.assignment, inserted_id.get_trim_assignment()) + + qdel(id_component) + inserted_id.update_label() + update_static_data_for_all_viewers() + + return TRUE + +///Is the job of the inserted ID being worked by a job that in an important department? If so, this proc will return TRUE. +/obj/machinery/time_clock/proc/important_job_check() + if(!inserted_id) + return FALSE + + var/datum/id_trim/job/current_trim = inserted_id.trim + var/datum/job/clocked_in_job = current_trim.job + if((/datum/job_department/command in clocked_in_job.departments_list) || (/datum/job_department/security in clocked_in_job.departments_list)) + return TRUE + + return FALSE + +///Is the inserted ID on cooldown? returns TRUE if the ID has a cooldown +/obj/machinery/time_clock/proc/id_cooldown_check() + if(!inserted_id) + return FALSE + + var/datum/component/off_duty_timer/id_component = inserted_id.GetComponent(/datum/component/off_duty_timer) + if(!id_component) + return FALSE + + if(id_component.hop_locked) + return TRUE + + if(!id_component.on_cooldown) + return FALSE + + return TRUE + +///Is the inserted ID off-duty? Returns true if the ID is off-duty +/obj/machinery/time_clock/proc/off_duty_check() + if(!inserted_id) + return FALSE + + var/datum/component/off_duty_timer/id_component = inserted_id.GetComponent(/datum/component/off_duty_timer) + if(!id_component) + return FALSE + + return TRUE + +/obj/item/wallframe/time_clock + name = "time clock frame" + desc = "Contains all of the parts needed to assemble a wall-mounted time clock" + icon_state = "unanchoredstatusdisplay" + result_path = /obj/machinery/time_clock + pixel_shift = 28 + custom_materials = list( + /datum/material/iron = SHEET_MATERIAL_AMOUNT, + /datum/material/glass = SHEET_MATERIAL_AMOUNT * 2, + ) + +#undef CLOCK_IN_COOLDOWN diff --git a/modular_doppler/time_clock/code/console_tgui.dm b/modular_doppler/time_clock/code/console_tgui.dm new file mode 100644 index 0000000000000..a6734b54ee55d --- /dev/null +++ b/modular_doppler/time_clock/code/console_tgui.dm @@ -0,0 +1,122 @@ +///What items do we want to remove from the person clocking out? +#define TIME_CLOCK_RETURN_ITEMS list( \ + /obj/item/melee/baton/security, \ + /obj/item/melee/baton/security/loaded, \ + /obj/item/melee/baton/telescopic, \ + /obj/item/melee/baton, \ + /obj/item/assembly/flash/handheld, \ + /obj/item/gun/energy/disabler, \ + /obj/item/megaphone/command, \ + /obj/item/door_remote/captain, \ + /obj/item/door_remote/chief_engineer, \ + /obj/item/door_remote/research_director, \ + /obj/item/door_remote/head_of_security, \ + /obj/item/door_remote/quartermaster, \ + /obj/item/door_remote/chief_medical_officer, \ + /obj/item/door_remote/civilian, \ + /obj/item/circuitboard/machine/techfab/department/engineering, \ + /obj/item/circuitboard/machine/techfab/department/service, \ + /obj/item/circuitboard/machine/techfab/department/security, \ + /obj/item/circuitboard/machine/techfab/department/medical, \ + /obj/item/circuitboard/machine/techfab/department/cargo, \ + /obj/item/circuitboard/machine/techfab/department/science, \ + /obj/item/blueprints, \ + /obj/item/mod/control/pre_equipped/advanced, \ + /obj/item/clothing/shoes/magboots/advance, \ + /obj/item/shield/riot/tele, \ + /obj/item/storage/belt/security/full, \ + /obj/item/gun/energy/e_gun/hos, \ + /obj/item/pinpointer/nuke, \ + /obj/item/gun/energy/e_gun, \ + /obj/item/storage/belt/sabre, \ + /obj/item/mod/control/pre_equipped/magnate, \ + /obj/item/clothing/suit/armor/vest/warden, \ + /obj/item/clothing/glasses/hud/security/sunglasses, \ + /obj/item/clothing/gloves/krav_maga/sec, \ + /obj/item/clothing/suit/armor/vest/alt/sec, \ + /obj/item/storage/belt/holster/detective/full, \ + /obj/item/reagent_containers/spray/pepper, \ + /obj/item/detective_scanner, \ + /obj/item/gun/ballistic/revolver/c38/detective, \ + /obj/item/mod/control/pre_equipped/security, \ + /obj/item/mod/control/pre_equipped/safeguard, \ + /obj/item/defibrillator/compact/loaded, \ + /obj/item/mod/control/pre_equipped/rescue, \ + /obj/item/card/id/departmental_budget/car, \ + /obj/item/clothing/suit/armor/reactive/teleport, \ + /obj/item/mod/control/pre_equipped/research, \ +) + + +/obj/machinery/time_clock/ui_interact(mob/user, datum/tgui/ui) + . = ..() + if(machine_stat & (NOPOWER|BROKEN)) + return + + add_fingerprint(user) + ui = SStgui.try_update_ui(user, src, ui) + if(!ui) + ui = new(user, src, "TimeClock", name) + ui.open() + + +/obj/machinery/time_clock/ui_state(mob/user) + return GLOB.conscious_state + +/obj/machinery/time_clock/ui_static_data(mob/user) + var/data = list() + data["inserted_id"] = inserted_id + data["station_alert_level"] = SSsecurity_level.get_current_level_as_text() + data["clock_status"] = off_duty_check() + + if(inserted_id) + data["id_holder_name"] = inserted_id.registered_name + data["id_job_title"] = inserted_id.assignment + + return data + +/obj/machinery/time_clock/ui_data(mob/user) + var/data = list() + data["current_time"] = station_time_timestamp() + + if(inserted_id) + data["insert_id_cooldown"] = id_cooldown_check() + + return data + +/obj/machinery/time_clock/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) + . = ..() + if(.) + return + var/mob/user = ui.user + switch(action) + if("clock_in_or_out") + if(off_duty_check()) + if(!(clock_in())) + return + log_admin("[key_name(user)] clocked in as \an [inserted_id.assignment].") + + var/datum/mind/user_mind = user.mind + if(user_mind) + user_mind.clocked_out_of_job = FALSE + + else + log_admin("[key_name(user)] clocked out as \an [inserted_id.assignment].") + clock_out() + var/mob/living/carbon/human/human_user = user + if(human_user) + human_user.return_items_to_console(TIME_CLOCK_RETURN_ITEMS) + + var/datum/mind/user_mind = user.mind + if(user_mind) + user_mind.clocked_out_of_job = TRUE + + if(important_job_check()) + message_admins("[key_name(user)] has clocked out as a head of staff. [ADMIN_JMP(src)]") + + playsound(src, 'sound/machines/ping.ogg', 50, FALSE) + + if("eject_id") + eject_inserted_id(user) + +#undef TIME_CLOCK_RETURN_ITEMS diff --git a/modular_doppler/time_clock/code/mind.dm b/modular_doppler/time_clock/code/mind.dm new file mode 100644 index 0000000000000..244b699f2fc7a --- /dev/null +++ b/modular_doppler/time_clock/code/mind.dm @@ -0,0 +1,4 @@ +/datum/mind + /// Is our mind currently clocked out of their job? + var/clocked_out_of_job = FALSE + diff --git a/modular_doppler/time_clock/code/off_duty_component.dm b/modular_doppler/time_clock/code/off_duty_component.dm new file mode 100644 index 0000000000000..a15193ce437d0 --- /dev/null +++ b/modular_doppler/time_clock/code/off_duty_component.dm @@ -0,0 +1,54 @@ +/datum/component/off_duty_timer + ///Is the ID that the component is attached to is able to clock back in? + var/on_cooldown = FALSE + ///The stored ID trim of the user of the id + var/datum/id_trim/job/stored_trim + ///Is the owner of card locked out of clocking back in until their ID is unlocked by the HoP? + var/hop_locked = FALSE + ///What was the name of the job the person was working when they clocked out? + var/stored_assignment = "" + +/datum/component/off_duty_timer/Initialize(cooldown_timer = 0) + . = ..() + + var/obj/item/card/id/attached_id = parent + if(!attached_id) + return COMPONENT_INCOMPATIBLE + + stored_trim = attached_id.trim + stored_assignment = attached_id.assignment + + + if(cooldown_timer) + on_cooldown = TRUE + addtimer(CALLBACK(src, PROC_REF(remove_cooldown)), cooldown_timer) + + RegisterSignal(parent, COMSIG_ATOM_ATTACKBY, PROC_REF(attempt_unlock)) + +/datum/component/off_duty_timer/Destroy(force) + UnregisterSignal(parent, COMSIG_ATOM_ATTACKBY) + return ..() + +///Sets the on_cooldown variable to false, making it so that the ID can clock back in. +/datum/component/off_duty_timer/proc/remove_cooldown() + on_cooldown = FALSE + +///Attempts an unlock if attacked by another ID. If the ID has HoP access, it will unlock and return TRUE +/datum/component/off_duty_timer/proc/attempt_unlock(datum/source, obj/item/attacking_item, mob/user, params) + SIGNAL_HANDLER + if(!hop_locked) + return FALSE + + var/obj/item/card/id/advanced/hop_id = attacking_item + if(!hop_id) + return FALSE + + if(!(ACCESS_HOP in hop_id.access)) + to_chat(user, span_warning("You lack the access to unlock [parent]")) + return FALSE + + hop_locked = FALSE + to_chat(user, span_notice("[parent] has been unlocked, the owner is now able to clock in.")) + log_admin("[parent] has been unlocked by [user] and is now able to be clocked back in.") + + return TRUE diff --git a/modular_doppler/time_clock/code/sign.dm b/modular_doppler/time_clock/code/sign.dm new file mode 100644 index 0000000000000..894f1fecff08a --- /dev/null +++ b/modular_doppler/time_clock/code/sign.dm @@ -0,0 +1,8 @@ +/obj/structure/sign/poster/timeclock_psa + name = "HoP Moth - Time Clock" + desc = "This informational sign uses HoP Mothâ„¢ reminding the viewer to do their part in the station's Enterprise Resource Planning efforts, clocking out before periods of prolonged absence or leisure time." + icon = 'modular_doppler/time_clock/icons/sign.dmi' + icon_state = "moff-clockout" + anchored = TRUE + +MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/poster/timeclock_psa, 32) diff --git a/modular_doppler/time_clock/icons/machinery/console.dmi b/modular_doppler/time_clock/icons/machinery/console.dmi new file mode 100644 index 0000000000000..51b0f5446fb8e Binary files /dev/null and b/modular_doppler/time_clock/icons/machinery/console.dmi differ diff --git a/modular_doppler/time_clock/icons/sign.dmi b/modular_doppler/time_clock/icons/sign.dmi new file mode 100644 index 0000000000000..7fa733dea1b03 Binary files /dev/null and b/modular_doppler/time_clock/icons/sign.dmi differ diff --git a/tgstation.dme b/tgstation.dme index 0dd43568b8ef4..af38d01445a7c 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -6512,6 +6512,7 @@ #include "modular_doppler\cryosleep\code\mind.dm" #include "modular_doppler\cryosleep\code\mood.dm" #include "modular_doppler\cryosleep\code\objective.dm" +#include "modular_doppler\cryosleep\code\objects\structures\signs\signs_maps.dm" #include "modular_doppler\deforest_medical_items\code\cargo_packs.dm" #include "modular_doppler\deforest_medical_items\code\healing_stack_items.dm" #include "modular_doppler\deforest_medical_items\code\illegal_injectors.dm" @@ -6760,8 +6761,9 @@ #include "modular_doppler\modular_hydroponics\code\honeysuckle.dm" #include "modular_doppler\modular_hydroponics\code\tea_coffee.dm" #include "modular_doppler\modular_items\invisible_gear.dm" -#include "modular_doppler\modular_mapping\areas\ruins.dm" -#include "modular_doppler\modular_mapping\ruins\icemoon.dm" +#include "modular_doppler\modular_mapping\code\areas\ruins.dm" +#include "modular_doppler\modular_mapping\code\areas\station.dm" +#include "modular_doppler\modular_mapping\code\ruins\icemoon.dm" #include "modular_doppler\modular_medical\code\carbon_update_icons.dm" #include "modular_doppler\modular_medical\medical_designs\medical_designs.dm" #include "modular_doppler\modular_medical\reagents\medicine.dm" @@ -6837,6 +6839,11 @@ #include "modular_doppler\stone\code\ore_veins.dm" #include "modular_doppler\stone\code\stone.dm" #include "modular_doppler\tableflip\tableflip.dm" +#include "modular_doppler\time_clock\code\console.dm" +#include "modular_doppler\time_clock\code\console_tgui.dm" +#include "modular_doppler\time_clock\code\mind.dm" +#include "modular_doppler\time_clock\code\off_duty_component.dm" +#include "modular_doppler\time_clock\code\sign.dm" #include "modular_doppler\tool_poweruse\items.dm" #include "modular_doppler\vending_machines\code\vendor_containers.dm" #include "modular_doppler\vending_machines\code\vendor_food.dm" diff --git a/tgui/packages/tgui/interfaces/TimeClock.jsx b/tgui/packages/tgui/interfaces/TimeClock.jsx new file mode 100644 index 0000000000000..e679a08a928dc --- /dev/null +++ b/tgui/packages/tgui/interfaces/TimeClock.jsx @@ -0,0 +1,65 @@ +// THIS IS A DOPPLER STATION UI FILE +import { useBackend } from '../backend'; +import { Box, Button, LabeledList, Section } from '../components'; +import { Window } from '../layouts'; + +export const TimeClock = (props) => { + const { act, data } = useBackend(); + const { + inserted_id, + insert_id_cooldown, + id_holder_name, + id_job_title, + station_alert_level, + current_time, + clock_status, + } = data; + + return ( + + +
+ + Station Time : {current_time} + + + Current Alert Level : {station_alert_level} + +
+ {inserted_id ? ( + <> +
+ + + {id_holder_name} + + + {id_job_title} + + +
+ + +