From c71dba5cae2d1246a5db78c4feba477c37ac100b Mon Sep 17 00:00:00 2001 From: Rykka Date: Sat, 22 Aug 2020 20:36:49 -0400 Subject: [PATCH] Converts Step_triggers to Portals! Implements Portal Functionality to replace the older step_triggers! Z-level transitions are now 99.9% seamless! It's self-explanatory, images below in editor: ![](https://i.imgur.com/EBr9mnN.png) ![](https://i.imgur.com/lP0UQxT.png) ![](https://i.imgur.com/c6VX1EC.png) ![](https://i.imgur.com/dfqDz75.png) ![](https://i.imgur.com/pUNVmBG.png) In-game Version: To Surface Mining: ![](https://i.imgur.com/aoJIwps.png) ![](https://i.imgur.com/nqVCYV9.png) To Solars: ![](https://i.imgur.com/FRb6ZKB.png) To Plains/Wilderness: ![](https://i.imgur.com/Y8kf40k.png) --- .../objects/effects/map_effects/portal.dm | 3 + maps/tether/submaps/tether_plains.dmm | 12 +- maps/tether/tether-01-surface1.dmm | 232 ++++++++++-------- maps/tether/tether-08-mining.dmm | 82 ++++--- maps/tether/tether-09-solars.dmm | 87 ++++--- 5 files changed, 244 insertions(+), 172 deletions(-) diff --git a/code/game/objects/effects/map_effects/portal.dm b/code/game/objects/effects/map_effects/portal.dm index 2331cac8e8..21def95aec 100644 --- a/code/game/objects/effects/map_effects/portal.dm +++ b/code/game/objects/effects/map_effects/portal.dm @@ -9,6 +9,9 @@ Portals do have some specific requirements when mapping them in; - There must by one, and only one `/obj/effect/map_effect/portal/master` for each side of a portal. - Both sides need to have matching `portal_id`s in order to link to each other. - Each side must face opposite directions, e.g. if side A faces SOUTH, side B must face NORTH. + - Clarification on the above - you will be moved in the direction that the portal faces. + If Side A faces south, you will be moved south. Dirs are 1/2/4/8, 1: NORTH, 2: SOUTH, 4: EAST, 8: WEST. + - You must have 1 tile of 'buffer' space between turfs or you may see odd visual distortions. If things look weird, move your 'portals' back by one tile. - Each side must have the same orientation, e.g. horizontal on both sides, or vertical on both sides. - Portals can be made to be longer than 1x1 with `/obj/effect/map_effect/portal/line`s, but both sides must have the same length. diff --git a/maps/tether/submaps/tether_plains.dmm b/maps/tether/submaps/tether_plains.dmm index 65b7aa5ef4..784fcc9e91 100644 --- a/maps/tether/submaps/tether_plains.dmm +++ b/maps/tether/submaps/tether_plains.dmm @@ -1,4 +1,12 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aa" = ( +/obj/effect/floor_decal/rust, +/obj/effect/map_effect/portal/master/side_b{ + name = "from_tether_to_wild"; + portal_id = "wilderness_step" + }, +/turf/simulated/floor/tiled/steel_dirty/virgo3b, +/area/tether/outpost/exploration_shed) "ab" = ( /turf/simulated/floor/outdoors/grass/sif/virgo3b, /area/tether/outpost/exploration_plains) @@ -13,7 +21,7 @@ /area/mine/explored) "af" = ( /obj/effect/floor_decal/rust, -/obj/effect/step_trigger/teleporter/from_plains, +/obj/effect/map_effect/portal/line/side_b, /turf/simulated/floor/tiled/steel_dirty/virgo3b, /area/tether/outpost/exploration_shed) "ag" = ( @@ -9355,7 +9363,7 @@ ae ac "} (66,1,1) = {" -af +aa bj aj bj diff --git a/maps/tether/tether-01-surface1.dmm b/maps/tether/tether-01-surface1.dmm index b3158fc468..ea8efd96c0 100644 --- a/maps/tether/tether-01-surface1.dmm +++ b/maps/tether/tether-01-surface1.dmm @@ -9,7 +9,10 @@ /turf/unsimulated/wall/planetary/virgo3b, /area/tether/surfacebase/outside/outside1) "aac" = ( -/obj/effect/step_trigger/teleporter/to_mining, +/obj/effect/map_effect/portal/master/side_a{ + dir = 2; + portal_id = "surfacemine" + }, /turf/simulated/floor/tiled/steel_dirty/virgo3b, /area/tether/surfacebase/mining_main/external) "aad" = ( @@ -10171,6 +10174,12 @@ /obj/random/junk, /turf/simulated/floor/plating, /area/maintenance/lower/vacant_site) +"aqR" = ( +/obj/effect/map_effect/portal/line/side_a{ + dir = 2 + }, +/turf/simulated/floor/tiled/steel_dirty/virgo3b, +/area/tether/surfacebase/mining_main/external) "aqS" = ( /obj/structure/cable/green{ d1 = 4; @@ -11234,6 +11243,14 @@ /obj/random/maintenance/medical, /turf/simulated/floor/plating, /area/vacant/vacant_site) +"asG" = ( +/obj/effect/map_effect/portal/master/side_a{ + dir = 1; + name = "to_wilderness"; + portal_id = "wilderness_step" + }, +/turf/simulated/floor/tiled/steel_dirty/virgo3b, +/area/tether/surfacebase/outside/outside1) "asH" = ( /obj/structure/cable{ d1 = 1; @@ -11318,6 +11335,34 @@ /obj/structure/flora/ausbushes/ywflowers, /turf/simulated/floor/grass, /area/tether/surfacebase/surface_one_hall) +"asP" = ( +/obj/effect/floor_decal/rust, +/obj/effect/map_effect/portal/master/side_a{ + dir = 4; + name = "to_solars"; + portal_id = "solarstep" + }, +/turf/simulated/floor/tiled/steel_dirty/virgo3b, +/area/tether/surfacebase/outside/outside1) +"asQ" = ( +/obj/effect/floor_decal/rust, +/obj/effect/map_effect/portal/line/side_a{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_dirty/virgo3b, +/area/tether/surfacebase/outside/outside1) +"asR" = ( +/obj/effect/map_effect/portal/line/side_a{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel_dirty/virgo3b, +/area/tether/surfacebase/outside/outside1) +"asS" = ( +/obj/effect/map_effect/portal/line/side_a{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel_dirty/virgo3b, +/area/tether/surfacebase/outside/outside1) "asU" = ( /turf/simulated/floor/tiled, /area/crew_quarters/locker) @@ -17033,11 +17078,6 @@ }, /turf/simulated/floor/plating, /area/crew_quarters/visitor_dining) -"aHK" = ( -/obj/effect/floor_decal/rust, -/obj/effect/step_trigger/teleporter/to_solars, -/turf/simulated/floor/tiled/steel_dirty/virgo3b, -/area/tether/surfacebase/outside/outside1) "aHL" = ( /obj/effect/floor_decal/rust, /turf/simulated/floor/tiled/steel_dirty/virgo3b, @@ -26785,10 +26825,6 @@ }, /turf/unsimulated/wall/planetary/virgo3b, /area/tether/surfacebase/outside/outside1) -"baX" = ( -/obj/effect/step_trigger/teleporter/to_plains, -/turf/simulated/floor/tiled/steel_dirty/virgo3b, -/area/tether/surfacebase/outside/outside1) "baZ" = ( /obj/machinery/alarm{ dir = 4; @@ -31017,19 +31053,19 @@ aaa aaa aaa aaa -aHo -aHK -aHK -aHK -aHK -aHK -aHK -aHK -aHK -aHK -aHK -aHK -aHo +aaa +asP +asQ +asQ +asQ +asQ +asQ +asR +asQ +asQ +asR +asQ +aaa aaa aaa aaa @@ -31159,19 +31195,19 @@ aad aad aad aGD -aad +aaa aHL aHL aHL aHL aHL aHL -aad aHL aHL -aad aHL -aad +aHL +aHL +aaa aad aad aad @@ -31301,19 +31337,19 @@ aad aad aad aGE -aad -aad -aad -aad -aad -aad -aad -aad +aaa aHL aHL -aad -aad -aad +aHL +aHL +aHL +aHL +aHL +aHL +aHL +aHL +aHL +aaa aad aad aad @@ -31443,7 +31479,7 @@ aad aad aad aGE -aad +aHo aad aad aad @@ -31455,7 +31491,7 @@ aad aHL aad aad -aad +aHo aad aad aad @@ -31736,7 +31772,6 @@ aad aad aad aad -aad aHL aad aad @@ -31789,6 +31824,7 @@ aad aad aad aad +aad aaa "} (7,1,1) = {" @@ -32305,7 +32341,7 @@ aad aad aad aad -aad +aHL aad aad aad @@ -40164,10 +40200,10 @@ aad aad aad aad -aad -baV -baV baW +aaa +aaa +aaa "} (66,1,1) = {" aaa @@ -40307,9 +40343,9 @@ aad aad aad aad -baV -baV -baX +aoq +aoq +asG "} (67,1,1) = {" aaa @@ -40449,9 +40485,9 @@ aad aad aad baV -baV -baV -baX +aoq +aoq +asS "} (68,1,1) = {" aaa @@ -40591,9 +40627,9 @@ aad aad aad baV -baV -baV -baX +aoq +aoq +asS "} (69,1,1) = {" aaa @@ -40733,9 +40769,9 @@ aad aad baV baV -baV -baV -baX +aoq +aoq +asS "} (70,1,1) = {" aaa @@ -40875,9 +40911,9 @@ aad aad baV baV -baV -baV -baX +aoq +aoq +asS "} (71,1,1) = {" aaa @@ -41017,9 +41053,9 @@ aad aad baV baV -baV -baV -baX +aoq +aoq +asS "} (72,1,1) = {" aaa @@ -41159,9 +41195,9 @@ aad aad baV baV -baV -baV -baX +aoq +aoq +asS "} (73,1,1) = {" aaa @@ -41301,11 +41337,15 @@ aad aad aad baV -baV -baV -baX +aoq +aoq +asS "} (74,1,1) = {" +aaa +aaa +aaa +aaa aab aad aad @@ -41317,10 +41357,6 @@ aad aad aad aad -aad -aad -aad -aad ajK aad aad @@ -41443,14 +41479,14 @@ aad aad aad baV -baV -baV -baX +aoq +aoq +asS "} (75,1,1) = {" aac -aae -aae +aaf +aaf aae aae aae @@ -41584,15 +41620,15 @@ aad aad aad aad -aad -baV -baV baW +aaa +aaa +aaa "} (76,1,1) = {" -aac +aqR +aaf aaf -aae aae aae aae @@ -41732,7 +41768,7 @@ baV aaa "} (77,1,1) = {" -aac +aqR aaf aaf aaf @@ -41874,7 +41910,7 @@ aad aaa "} (78,1,1) = {" -aac +aqR aaf aaf aaf @@ -42016,7 +42052,7 @@ aad aaa "} (79,1,1) = {" -aac +aqR aaf aaf aaf @@ -42158,7 +42194,7 @@ aad aaa "} (80,1,1) = {" -aac +aqR aaf aaf aaf @@ -42300,7 +42336,7 @@ aad aaa "} (81,1,1) = {" -aac +aqR aaf aaf aaf @@ -42442,7 +42478,7 @@ aad aaa "} (82,1,1) = {" -aac +aqR aaf aaf aaf @@ -42584,9 +42620,9 @@ aad aaa "} (83,1,1) = {" -aac +aqR +aaf aaf -aae aae aae aae @@ -42726,9 +42762,9 @@ aad aaa "} (84,1,1) = {" -aac -aae -aae +aqR +aaf +aaf aae aae aae @@ -42868,6 +42904,10 @@ aad aaa "} (85,1,1) = {" +aaa +aaa +aaa +aaa aab aad aad @@ -42883,10 +42923,6 @@ aad aad aad aad -aad -aad -aad -aad aah aah aah diff --git a/maps/tether/tether-08-mining.dmm b/maps/tether/tether-08-mining.dmm index 39f245a166..2a76363a45 100644 --- a/maps/tether/tether-08-mining.dmm +++ b/maps/tether/tether-08-mining.dmm @@ -952,6 +952,13 @@ /obj/machinery/mining/brace, /turf/simulated/floor/tiled/steel_dirty/virgo3b, /area/outpost/mining_main/drill_equipment) +"cb" = ( +/obj/effect/map_effect/portal/master/side_b{ + dir = 1; + portal_id = "surfacemine" + }, +/turf/simulated/floor/tiled/steel_dirty/virgo3b, +/area/outpost/mining_main/passage) "cc" = ( /obj/effect/floor_decal/industrial/warning/dust{ dir = 5 @@ -1032,11 +1039,8 @@ /area/mine/explored) "cm" = ( /obj/effect/floor_decal/rust, -/turf/simulated/floor/tiled/steel_dirty/virgo3b, -/area/outpost/mining_main/passage) -"cn" = ( -/turf/simulated/floor/outdoors/grass/sif/virgo3b, -/area/outpost/mining_main/passage) +/turf/unsimulated/wall/planetary/virgo3b, +/area/mine/explored) "co" = ( /obj/structure/bed/chair{ dir = 1 @@ -1059,7 +1063,9 @@ /turf/simulated/floor/tiled/steel_dirty/virgo3b, /area/outpost/mining_main/passage) "cq" = ( -/obj/effect/step_trigger/teleporter/from_mining, +/obj/effect/map_effect/portal/line/side_b{ + dir = 1 + }, /turf/simulated/floor/tiled/steel_dirty/virgo3b, /area/outpost/mining_main/passage) "cr" = ( @@ -12409,7 +12415,7 @@ ab ab ab ab -cn +ab aa "} (74,1,1) = {" @@ -12548,10 +12554,10 @@ af ab ab ab -ab -ab +aa +aa cm -cp +aa aa "} (75,1,1) = {" @@ -12691,10 +12697,10 @@ af ab ab ab -ab -cn cp -cq +cp +cp +cb "} (76,1,1) = {" aa @@ -12833,8 +12839,8 @@ ab ab af ab -ab -cn +cp +cp cp cq "} @@ -12974,9 +12980,9 @@ ab af ab ab -ab af -cn +cp +cp cp cq "} @@ -13117,8 +13123,8 @@ ab ab ab af -ab -cn +cp +cp cp cq "} @@ -13259,8 +13265,8 @@ ab ab ab ab -ab -cn +cp +cp cp cq "} @@ -13400,9 +13406,9 @@ ab ab ab ab -ab -ab -cn +af +cp +cp cp cq "} @@ -13543,8 +13549,8 @@ ab ab ab ab -ab -cn +cp +cp cp cq "} @@ -13684,9 +13690,9 @@ ab ab ab ab -ab -ab -cn +af +cp +cp cp cq "} @@ -13827,8 +13833,8 @@ ab ab ab ab -ab -cn +cp +cp cp cq "} @@ -13969,8 +13975,8 @@ ab ab ab ab -ab -cn +cp +cp cp cq "} @@ -14110,10 +14116,10 @@ ab ab ab ab -ab -ab -cn -cp +aa +aa +aa +aa aa "} (86,1,1) = {" @@ -14255,7 +14261,7 @@ ab ab ab ab -cn +ab aa "} (87,1,1) = {" diff --git a/maps/tether/tether-09-solars.dmm b/maps/tether/tether-09-solars.dmm index d5d2c5afde..580be2b828 100644 --- a/maps/tether/tether-09-solars.dmm +++ b/maps/tether/tether-09-solars.dmm @@ -457,6 +457,14 @@ }, /turf/simulated/floor/virgo3b_indoors, /area/tether/outpost/solars_shed) +"aU" = ( +/obj/effect/map_effect/portal/master/side_b{ + dir = 8; + name = "from_tether_to_solars"; + portal_id = "solarstep" + }, +/turf/simulated/floor/outdoors/grass/sif/virgo3b, +/area/mine/explored) "aV" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/power/terminal{ @@ -527,6 +535,13 @@ /obj/machinery/door/airlock/multi_tile/metal/mait, /turf/simulated/floor/virgo3b_indoors, /area/tether/outpost/solars_shed) +"bd" = ( +/obj/effect/floor_decal/rust, +/obj/effect/map_effect/portal/line/side_b{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel_dirty/virgo3b, +/area/mine/explored) "be" = ( /obj/effect/floor_decal/industrial/warning/dust{ dir = 8 @@ -632,6 +647,12 @@ /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/virgo3b, /area/mine/explored) +"bq" = ( +/obj/effect/map_effect/portal/line/side_b{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel_dirty/virgo3b, +/area/mine/explored) "br" = ( /mob/living/simple_mob/animal/passive/gaslamp, /turf/simulated/floor/tiled/steel_dirty/virgo3b, @@ -824,8 +845,6 @@ /turf/simulated/floor/virgo3b, /area/mine/explored) "bL" = ( -/obj/effect/floor_decal/rust, -/obj/effect/step_trigger/teleporter/from_solars, /turf/simulated/floor/tiled/steel_dirty/virgo3b, /area/mine/explored) "bM" = ( @@ -27551,7 +27570,7 @@ ab ab ab bQ -ab +aa ab bj ab @@ -27563,7 +27582,7 @@ ab ab ab ab -ab +aa ab ab ab @@ -27693,19 +27712,19 @@ ab ab ab dd -ab +aa bj bj -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab +bj +bj +bj +bj +bL +bj +bj +bj +bj +aa ab ab ab @@ -27835,19 +27854,19 @@ ab ab ab cm -ab -ab -bj -ab -ab +aa bj bj bj -ab bj -ab bj -ab +bj +bL +bj +bj +bj +bj +aa ab ab ab @@ -27978,17 +27997,17 @@ aa aa aa aa -bL -bL -bL -bL -bL -bL -bL -bL -bL -bL -bL +aU +bd +bq +bq +bd +bd +bd +bq +bd +bq +bd aa aa aa