diff --git a/_maps/RandomRuins/StationRuins/Lavaland/Mining_Station/Mining_Station_Public_01.dmm b/_maps/RandomRuins/StationRuins/Lavaland/Mining_Station/Mining_Station_Public_01.dmm index 5d5098c9b4..f28c704f8b 100644 --- a/_maps/RandomRuins/StationRuins/Lavaland/Mining_Station/Mining_Station_Public_01.dmm +++ b/_maps/RandomRuins/StationRuins/Lavaland/Mining_Station/Mining_Station_Public_01.dmm @@ -1283,6 +1283,13 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, /turf/open/floor/plasteel, /area/mine/living_quarters) +"tx" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/structure/ladder/teleport/xenoarch, +/turf/open/floor/plasteel, +/area/mine/production) "tK" = ( /obj/structure/closet/crate, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, @@ -6691,7 +6698,7 @@ VT VT Cd Ed -Wf +tx II Jo Ed diff --git a/_maps/map_files/Mining/Lavaland_novaya.dmm b/_maps/map_files/Mining/Lavaland_novaya.dmm index 2d6fa701d6..c49bccb2e5 100644 --- a/_maps/map_files/Mining/Lavaland_novaya.dmm +++ b/_maps/map_files/Mining/Lavaland_novaya.dmm @@ -9013,6 +9013,10 @@ /mob/living/simple_animal/hostile/asteroid/gutlunch/guthen, /turf/open/lava/smooth/lava_land_surface, /area/ruin/lavaland/unpowered/ash_walkers) +"Uw" = ( +/obj/structure/ladder/teleport/xenoarch, +/turf/open/floor/plasteel/dark, +/area/mine/xenoarch_area_b) "Uz" = ( /obj/structure/table/wood/mushroom, /obj/item/clothing/under/costume/gladiator/ash_walker{ @@ -97363,7 +97367,7 @@ xZ oi oq oK -pb +Uw pb pb ps diff --git a/modular_splurt/code/game/objects/structures/ladder.dm b/modular_splurt/code/game/objects/structures/ladder.dm new file mode 100644 index 0000000000..a8a4b73192 --- /dev/null +++ b/modular_splurt/code/game/objects/structures/ladder.dm @@ -0,0 +1,30 @@ +var/list/teleport_ladders = list() + +/obj/structure/ladder/teleport + var/tag_teleport = "null" + +/obj/structure/ladder/Initialize(mapload, obj/structure/ladder/up, obj/structure/ladder/down) + ..() + teleport_ladders.Add(src) + return INITIALIZE_HINT_LATELOAD + +/obj/structure/ladder/teleport/LateInitialize() + if (!down) + + for(var/obj/structure/ladder/teleport/T in teleport_ladders) + if(T.tag_teleport == src.tag_teleport && src.z > T.z) + T.up = src + src.down = T + T.update_icon() + + if (!up) + for(var/obj/structure/ladder/teleport/T in teleport_ladders) + if(T.tag_teleport == src.tag_teleport && src.z < T.z) + T.down = src + src.up = T + T.update_icon() + update_icon() + +/obj/structure/ladder/teleport/xenoarch + tag_teleport = "xenoarch" + diff --git a/tgstation.dme b/tgstation.dme index 619ccddec8..7659f3f8ec 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -4464,6 +4464,7 @@ #include "modular_splurt\code\game\objects\structures\fence.dm" #include "modular_splurt\code\game\objects\structures\flora.dm" #include "modular_splurt\code\game\objects\structures\ghost_role_spawners.dm" +#include "modular_splurt\code\game\objects\structures\ladder.dm" #include "modular_splurt\code\game\objects\structures\micro_bricks.dm" #include "modular_splurt\code\game\objects\structures\pole.dm" #include "modular_splurt\code\game\objects\structures\signs.dm"