From e67d1c2bb333e6f48daf2254e630008eca7bde14 Mon Sep 17 00:00:00 2001 From: SkyratBot <59378654+SkyratBot@users.noreply.github.com> Date: Sat, 26 Sep 2020 01:43:52 +0200 Subject: [PATCH] Fixed the multi z pipe adapter (#985) Co-authored-by: nicbn --- _maps/map_files/debug/multiz.dmm | 124 ++++++++++-------- code/game/machinery/pipe/construction.dm | 3 + code/game/objects/items/RPD.dm | 27 ++-- .../atmospherics/machinery/atmosmachinery.dm | 6 + .../machinery/pipes/layermanifold.dm | 3 +- .../atmospherics/machinery/pipes/mapping.dm | 13 ++ .../atmospherics/machinery/pipes/multiz.dm | 53 ++++++++ .../atmospherics/machinery/pipes/pipes.dm | 13 +- code/modules/atmospherics/multiz.dm | 29 ---- icons/obj/atmos.dmi | Bin 43339 -> 42964 bytes icons/obj/atmospherics/pipes/manifold.dmi | Bin 3711 -> 3171 bytes icons/obj/atmospherics/pipes/multiz.dmi | Bin 0 -> 1568 bytes tgstation.dme | 2 +- 13 files changed, 166 insertions(+), 107 deletions(-) create mode 100644 code/modules/atmospherics/machinery/pipes/multiz.dm delete mode 100644 code/modules/atmospherics/multiz.dm create mode 100644 icons/obj/atmospherics/pipes/multiz.dmi diff --git a/_maps/map_files/debug/multiz.dmm b/_maps/map_files/debug/multiz.dmm index 699f4269eeb..c4367814163 100644 --- a/_maps/map_files/debug/multiz.dmm +++ b/_maps/map_files/debug/multiz.dmm @@ -319,8 +319,8 @@ /area/engine/atmos) "bm" = ( /obj/machinery/atmospherics/components/binary/valve/on{ - icon_state = "mvalve_map-2"; - dir = 4 + dir = 4; + icon_state = "mvalve_map-2" }, /turf/open/floor/plating, /area/engine/atmos) @@ -1098,8 +1098,8 @@ /area/hallway/secondary/service) "eQ" = ( /obj/structure/railing{ - icon_state = "railing"; - dir = 4 + dir = 4; + icon_state = "railing" }, /turf/open/floor/plating, /area/engine/storage) @@ -1109,8 +1109,8 @@ /area/engine/storage) "eX" = ( /obj/effect/turf_decal/stripes/white/line{ - icon_state = "warningline_white"; - dir = 4 + dir = 4; + icon_state = "warningline_white" }, /turf/open/floor/plating, /area/engine/storage) @@ -1143,8 +1143,8 @@ /area/engine/storage) "gK" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ - icon_state = "connector_map-2"; - dir = 8 + dir = 8; + icon_state = "connector_map-2" }, /obj/machinery/portable_atmospherics/canister/toxins, /turf/open/floor/plating, @@ -1162,8 +1162,8 @@ /area/hallway/primary/central) "hi" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/on{ - icon_state = "inje_map-2"; - dir = 4 + dir = 4; + icon_state = "inje_map-2" }, /turf/open/floor/plating, /area/construction) @@ -1203,8 +1203,8 @@ "iH" = ( /obj/effect/turf_decal/stripes/white/line, /obj/structure/railing/corner{ - icon_state = "railing_corner"; - dir = 4 + dir = 4; + icon_state = "railing_corner" }, /turf/open/floor/plating, /area/engine/storage) @@ -1214,13 +1214,13 @@ }, /area/hallway/secondary/service) "jb" = ( -/obj/machinery/atmospherics/pipe/simple/multiz, +/obj/machinery/atmospherics/pipe/multiz, /turf/open/floor/plating, /area/hallway/secondary/service) "jA" = ( /obj/effect/turf_decal/stripes/white/line{ - icon_state = "warningline_white"; - dir = 8 + dir = 8; + icon_state = "warningline_white" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -1231,14 +1231,20 @@ }, /turf/open/floor/plating, /area/construction) +"jL" = ( +/obj/machinery/atmospherics/pipe/multiz{ + dir = 1 + }, +/turf/open/floor/plating, +/area/hallway/secondary/service) "jT" = ( /obj/machinery/airalarm/directional/north, /turf/open/floor/plating, /area/construction) "jV" = ( /obj/effect/turf_decal/stripes/white/line{ - icon_state = "warningline_white"; - dir = 6 + dir = 6; + icon_state = "warningline_white" }, /turf/open/floor/plating, /area/engine/storage) @@ -1353,12 +1359,12 @@ /area/construction) "qR" = ( /obj/effect/turf_decal/stripes/white/line{ - icon_state = "warningline_white"; - dir = 9 + dir = 9; + icon_state = "warningline_white" }, /obj/structure/railing/corner{ - icon_state = "railing_corner"; - dir = 1 + dir = 1; + icon_state = "railing_corner" }, /turf/open/floor/plating, /area/engine/storage) @@ -1386,26 +1392,26 @@ /area/construction) "su" = ( /obj/structure/railing{ - icon_state = "railing"; - dir = 8 + dir = 8; + icon_state = "railing" }, /turf/open/floor/plating, /area/hallway/secondary/service) "sE" = ( /obj/effect/turf_decal/stripes/white/line{ - icon_state = "warningline_white"; - dir = 4 + dir = 4; + icon_state = "warningline_white" }, /obj/structure/railing{ - icon_state = "railing"; - dir = 8 + dir = 8; + icon_state = "railing" }, /turf/open/floor/plating, /area/engine/storage) "td" = ( /obj/effect/turf_decal/stripes/white/line{ - icon_state = "warningline_white"; - dir = 8 + dir = 8; + icon_state = "warningline_white" }, /turf/open/floor/plating, /area/engine/storage) @@ -1461,8 +1467,8 @@ /area/construction) "xB" = ( /obj/effect/turf_decal/stripes/white/line{ - icon_state = "warningline_white"; - dir = 1 + dir = 1; + icon_state = "warningline_white" }, /turf/open/floor/plating, /area/engine/storage) @@ -1503,12 +1509,12 @@ /area/storage/primary) "zd" = ( /obj/structure/railing{ - icon_state = "railing"; - dir = 4 + dir = 4; + icon_state = "railing" }, /obj/structure/railing{ - icon_state = "railing"; - dir = 8 + dir = 8; + icon_state = "railing" }, /turf/open/floor/plating, /area/hallway/secondary/service) @@ -1519,8 +1525,8 @@ /area/construction) "zZ" = ( /obj/structure/disposalpipe/trunk{ - icon_state = "pipe-t"; - dir = 1 + dir = 1; + icon_state = "pipe-t" }, /obj/machinery/disposal/bin, /turf/open/floor/plating, @@ -1531,8 +1537,8 @@ /area/engine/storage) "Ai" = ( /obj/structure/railing/corner{ - icon_state = "railing_corner"; - dir = 8 + dir = 8; + icon_state = "railing_corner" }, /turf/open/floor/plating, /area/hallway/secondary/service) @@ -1611,8 +1617,8 @@ "Eb" = ( /obj/effect/turf_decal/stripes/white/line, /obj/structure/railing{ - icon_state = "railing"; - dir = 1 + dir = 1; + icon_state = "railing" }, /turf/open/floor/plating, /area/engine/storage) @@ -1622,12 +1628,12 @@ /area/construction) "EH" = ( /obj/effect/turf_decal/stripes/white/line{ - icon_state = "warningline_white"; - dir = 1 + dir = 1; + icon_state = "warningline_white" }, /obj/effect/turf_decal/stripes/white/line{ - icon_state = "warningline_white"; - dir = 4 + dir = 4; + icon_state = "warningline_white" }, /turf/open/floor/plating, /area/engine/storage) @@ -1642,8 +1648,8 @@ "FL" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/green/hidden{ - icon_state = "pipe11-2"; - dir = 4 + dir = 4; + icon_state = "pipe11-2" }, /turf/open/floor/plating, /area/construction) @@ -1655,7 +1661,9 @@ /turf/open/floor/plating, /area/hallway/secondary/service) "Hk" = ( -/obj/machinery/atmospherics/pipe/simple/multiz, +/obj/machinery/atmospherics/pipe/multiz{ + dir = 1 + }, /turf/open/floor/plating, /area/construction) "Hp" = ( @@ -1675,8 +1683,8 @@ "IL" = ( /obj/structure/railing/corner, /obj/structure/railing/corner{ - icon_state = "railing_corner"; - dir = 8 + dir = 8; + icon_state = "railing_corner" }, /turf/open/floor/plating, /area/hallway/secondary/service) @@ -1723,8 +1731,8 @@ /area/maintenance/department/bridge) "Lu" = ( /obj/structure/railing{ - icon_state = "railing"; - dir = 4 + dir = 4; + icon_state = "railing" }, /turf/open/floor/plating, /area/hallway/secondary/service) @@ -1772,8 +1780,8 @@ /area/engine/storage) "Qo" = ( /obj/structure/disposalpipe/trunk/multiz/down{ - icon_state = "pipe-down"; - dir = 1 + dir = 1; + icon_state = "pipe-down" }, /turf/open/floor/plating, /area/hallway/secondary/service) @@ -1826,7 +1834,7 @@ /turf/open/floor/plating, /area/engine/storage) "UH" = ( -/obj/machinery/atmospherics/pipe/simple/multiz, +/obj/machinery/atmospherics/pipe/multiz, /turf/open/floor/plating, /area/engine/storage) "Vm" = ( @@ -1883,8 +1891,8 @@ /area/construction) "ZQ" = ( /obj/effect/turf_decal/stripes/white/line{ - icon_state = "warningline_white"; - dir = 5 + dir = 5; + icon_state = "warningline_white" }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -5813,7 +5821,7 @@ Gb jb LE IC -jb +jL Gb XN iu diff --git a/code/game/machinery/pipe/construction.dm b/code/game/machinery/pipe/construction.dm index 10b3b46de26..e222e8b4b2e 100644 --- a/code/game/machinery/pipe/construction.dm +++ b/code/game/machinery/pipe/construction.dm @@ -20,6 +20,8 @@ Buildable meters w_class = WEIGHT_CLASS_NORMAL var/piping_layer = PIPING_LAYER_DEFAULT var/RPD_type + /// Whether it can be painted + var/paintable = FALSE /obj/item/pipe/directional RPD_type = PIPE_UNARY @@ -56,6 +58,7 @@ Buildable meters pipename = make_from.name add_atom_colour(make_from.color, FIXED_COLOUR_PRIORITY) pipe_type = make_from.type + paintable = make_from.paintable /obj/item/pipe/trinary/flippable/make_from_existing(obj/machinery/atmospherics/components/trinary/make_from) ..() diff --git a/code/game/objects/items/RPD.dm b/code/game/objects/items/RPD.dm index 37e2cdaa85a..ff3f6da006a 100644 --- a/code/game/objects/items/RPD.dm +++ b/code/game/objects/items/RPD.dm @@ -18,7 +18,8 @@ GLOBAL_LIST_INIT(atmos_pipe_recipes, list( new /datum/pipe_info/pipe("Pipe", /obj/machinery/atmospherics/pipe/simple, TRUE), new /datum/pipe_info/pipe("Manifold", /obj/machinery/atmospherics/pipe/manifold, TRUE), new /datum/pipe_info/pipe("4-Way Manifold", /obj/machinery/atmospherics/pipe/manifold4w, TRUE), - new /datum/pipe_info/pipe("Layer Manifold", /obj/machinery/atmospherics/pipe/layer_manifold, TRUE), + new /datum/pipe_info/pipe("Layer Adapter", /obj/machinery/atmospherics/pipe/layer_manifold, TRUE), + new /datum/pipe_info/pipe("Multi-Deck Adapter", /obj/machinery/atmospherics/pipe/multiz, TRUE), ), "Devices" = list( new /datum/pipe_info/pipe("Connector", /obj/machinery/atmospherics/components/unary/portables_connector, TRUE), @@ -359,21 +360,21 @@ GLOBAL_LIST_INIT(transit_tube_recipes, list( return if((mode & PAINT_MODE)) - if(istype(A, /obj/machinery/atmospherics/pipe) && !istype(A, /obj/machinery/atmospherics/pipe/layer_manifold)) - var/obj/machinery/atmospherics/pipe/P = A - to_chat(user, "You start painting \the [P] [paint_color]...") + var/obj/machinery/atmospherics/M = A + if(istype(M) && M.paintable) + to_chat(user, "You start painting \the [M] [paint_color]...") playsound(get_turf(src), 'sound/machines/click.ogg', 50, TRUE) - if(do_after(user, paint_speed, target = A)) - P.paint(GLOB.pipe_paint_colors[paint_color]) //paint the pipe - user.visible_message("[user] paints \the [P] [paint_color].","You paint \the [P] [paint_color].") + if(do_after(user, paint_speed, target = M)) + M.paint(GLOB.pipe_paint_colors[paint_color]) //paint the pipe + user.visible_message("[user] paints \the [M] [paint_color].","You paint \the [M] [paint_color].") return - var/obj/item/pipe/P = A - if(istype(P) && findtext("[P.pipe_type]", "/obj/machinery/atmospherics/pipe") && !findtext("[P.pipe_type]", "layer_manifold")) - to_chat(user, "You start painting \the [A] [paint_color]...") + var/obj/item/pipe/I = A + if(istype(I) && I.paintable) + to_chat(user, "You start painting \the [I] [paint_color]...") playsound(get_turf(src), 'sound/machines/click.ogg', 50, TRUE) - if(do_after(user, paint_speed, target = A)) - A.add_atom_colour(GLOB.pipe_paint_colors[paint_color], FIXED_COLOUR_PRIORITY) //paint the pipe - user.visible_message("[user] paints \the [A] [paint_color].","You paint \the [A] [paint_color].") + if(do_after(user, paint_speed, target = I)) + I.add_atom_colour(GLOB.pipe_paint_colors[paint_color], FIXED_COLOUR_PRIORITY) //paint the pipe + user.visible_message("[user] paints \the [I] [paint_color].","You paint \the [I] [paint_color].") return if(mode & BUILD_MODE) diff --git a/code/modules/atmospherics/machinery/atmosmachinery.dm b/code/modules/atmospherics/machinery/atmosmachinery.dm index c27f9ad75d3..5c5217f0e51 100644 --- a/code/modules/atmospherics/machinery/atmosmachinery.dm +++ b/code/modules/atmospherics/machinery/atmosmachinery.dm @@ -41,6 +41,9 @@ var/pipe_state //icon_state as a pipe item var/on = FALSE + /// Whether it can be painted + var/paintable = FALSE + /obj/machinery/atmospherics/examine(mob/user) . = ..() if(is_type_in_list(src, GLOB.ventcrawl_machinery) && isliving(user)) @@ -339,3 +342,6 @@ /obj/machinery/atmospherics/proc/update_layer() layer = initial(layer) + (piping_layer - PIPING_LAYER_DEFAULT) * PIPING_LAYER_LCHANGE + +/obj/machinery/atmospherics/proc/paint(paint_color) + return FALSE diff --git a/code/modules/atmospherics/machinery/pipes/layermanifold.dm b/code/modules/atmospherics/machinery/pipes/layermanifold.dm index b1592dcaeb9..6103b0513a6 100644 --- a/code/modules/atmospherics/machinery/pipes/layermanifold.dm +++ b/code/modules/atmospherics/machinery/pipes/layermanifold.dm @@ -11,6 +11,7 @@ volume = 260 construction_type = /obj/item/pipe/binary pipe_state = "manifoldlayer" + paintable = FALSE var/list/front_nodes var/list/back_nodes @@ -37,7 +38,7 @@ /obj/machinery/atmospherics/pipe/layer_manifold/proc/get_all_connected_nodes() return front_nodes + back_nodes + nodes -/obj/machinery/atmospherics/pipe/layer_manifold/update_icon() //HEAVILY WIP FOR UPDATE ICONS!! +/obj/machinery/atmospherics/pipe/layer_manifold/update_icon() cut_overlays() layer = initial(layer) + (PIPING_LAYER_MAX * PIPING_LAYER_LCHANGE) //This is above everything else. diff --git a/code/modules/atmospherics/machinery/pipes/mapping.dm b/code/modules/atmospherics/machinery/pipes/mapping.dm index c23f8cacd94..5e919a1e9ca 100644 --- a/code/modules/atmospherics/machinery/pipes/mapping.dm +++ b/code/modules/atmospherics/machinery/pipes/mapping.dm @@ -81,3 +81,16 @@ HELPER_NAMED(supplymain, "main air supply pipe", rgb(130, 43, 255)) #undef HELPER #undef HELPER_PARTIAL_NAMED #undef HELPER_PARTIAL + +/obj/machinery/atmospherics/pipe/multiz/layer1 + piping_layer = 1 + icon_state = "adapter-1" +/obj/machinery/atmospherics/pipe/multiz/layer2 + piping_layer = 2 + icon_state = "adapter-2" +/obj/machinery/atmospherics/pipe/multiz/layer4 + piping_layer = 4 + icon_state = "adapter-4" +/obj/machinery/atmospherics/pipe/multiz/layer5 + piping_layer = 5 + icon_state = "adapter-5" diff --git a/code/modules/atmospherics/machinery/pipes/multiz.dm b/code/modules/atmospherics/machinery/pipes/multiz.dm new file mode 100644 index 00000000000..d52e4a923a8 --- /dev/null +++ b/code/modules/atmospherics/machinery/pipes/multiz.dm @@ -0,0 +1,53 @@ +/// This is an atmospherics pipe which can relay air up/down a deck. +/obj/machinery/atmospherics/pipe/multiz + name = "multi deck pipe adapter" + desc = "An adapter which allows pipes to connect to other pipenets on different decks." + icon_state = "adapter-3" + icon = 'icons/obj/atmospherics/pipes/multiz.dmi' + + dir = SOUTH + initialize_directions = SOUTH + + layer = HIGH_OBJ_LAYER + device_type = UNARY + paintable = FALSE + + construction_type = /obj/item/pipe/directional + pipe_state = "multiz" + + var/mutable_appearance/center = null + var/mutable_appearance/pipe = null + var/obj/machinery/atmospherics/front_node = null + +/* We use New() instead of Initialize() because these values are used in update_icon() + * in the mapping subsystem init before Initialize() is called in the atoms subsystem init. + * This is true for the other manifolds (the 4 ways and the heat exchanges) too. + */ +/obj/machinery/atmospherics/pipe/multiz/New() + icon_state = "" + center = mutable_appearance(icon, "adapter_center", layer = HIGH_OBJ_LAYER) + pipe = mutable_appearance(icon, "pipe-[piping_layer]") + return ..() + +/obj/machinery/atmospherics/pipe/multiz/SetInitDirections() + initialize_directions = dir + +/obj/machinery/atmospherics/pipe/multiz/update_icon() + cut_overlays() + pipe.color = front_node ? front_node.pipe_color : rgb(255, 255, 255) + pipe.icon_state = "pipe-[piping_layer]" + center.pixel_x = PIPING_LAYER_P_X * (piping_layer - PIPING_LAYER_DEFAULT) + add_overlay(pipe) + add_overlay(center) + +///Attempts to locate a multiz pipe that's above us, if it finds one it merges us into its pipenet +/obj/machinery/atmospherics/pipe/multiz/pipeline_expansion() + var/turf/T = get_turf(src) + var/obj/machinery/atmospherics/pipe/multiz/above = locate(/obj/machinery/atmospherics/pipe/multiz) in(SSmapping.get_turf_above(T)) + var/obj/machinery/atmospherics/pipe/multiz/below = locate(/obj/machinery/atmospherics/pipe/multiz) in(SSmapping.get_turf_below(T)) + if(below) + below.pipeline_expansion() //If we've got one below us, force it to add us on facebook + if(above) + nodes += above + above.nodes += src //Two way travel :) + return ..() diff --git a/code/modules/atmospherics/machinery/pipes/pipes.dm b/code/modules/atmospherics/machinery/pipes/pipes.dm index 55f39a55506..558a08b4063 100644 --- a/code/modules/atmospherics/machinery/pipes/pipes.dm +++ b/code/modules/atmospherics/machinery/pipes/pipes.dm @@ -7,6 +7,8 @@ can_unwrench = 1 var/datum/pipeline/parent = null + paintable = TRUE + //Buckling can_buckle = TRUE buckle_requires_restraints = TRUE @@ -90,8 +92,9 @@ /obj/machinery/atmospherics/pipe/returnPipenets() . = list(parent) -/obj/machinery/atmospherics/pipe/proc/paint(paint_color) - add_atom_colour(paint_color, FIXED_COLOUR_PRIORITY) - pipe_color = paint_color - update_node_icon() - return TRUE +/obj/machinery/atmospherics/pipe/paint(paint_color) + if(paintable) + add_atom_colour(paint_color, FIXED_COLOUR_PRIORITY) + pipe_color = paint_color + update_node_icon() + return paintable diff --git a/code/modules/atmospherics/multiz.dm b/code/modules/atmospherics/multiz.dm deleted file mode 100644 index b75b47542ef..00000000000 --- a/code/modules/atmospherics/multiz.dm +++ /dev/null @@ -1,29 +0,0 @@ -/obj/machinery/atmospherics/pipe/simple/multiz ///This is an atmospherics pipe which can relay air up a deck (Z+1). It currently only supports being on pipe layer 1 - name = "multi deck pipe adapter" - desc = "An adapter which allows pipes to connect to other pipenets on different decks." - icon_state = "multiz_pipe" - icon = 'icons/obj/atmos.dmi' - -/obj/machinery/atmospherics/pipe/simple/multiz/update_icon() - . = ..() - cut_overlays() //This adds the overlay showing it's a multiz pipe. This should go above turfs and such - var/image/multiz_overlay_node = new(src) //If we have a firing state, light em up! - multiz_overlay_node.icon = 'icons/obj/atmos.dmi' - multiz_overlay_node.icon_state = "multiz_pipe" - multiz_overlay_node.layer = HIGH_OBJ_LAYER - add_overlay(multiz_overlay_node) - -///Attempts to locate a multiz pipe that's above us, if it finds one it merges us into its pipenet -/obj/machinery/atmospherics/pipe/simple/multiz/pipeline_expansion() - icon = 'icons/obj/atmos.dmi' //Just to refresh. - var/turf/T = get_turf(src) - var/obj/machinery/atmospherics/pipe/simple/multiz/above = locate(/obj/machinery/atmospherics/pipe/simple/multiz) in(SSmapping.get_turf_above(T)) - var/obj/machinery/atmospherics/pipe/simple/multiz/below = locate(/obj/machinery/atmospherics/pipe/simple/multiz) in(SSmapping.get_turf_below(T)) - if(below) - below.pipeline_expansion() //If we've got one below us, force it to add us on facebook - if(above) - nodes += above - above.nodes += src //Two way travel :) - return ..() - else - return ..() diff --git a/icons/obj/atmos.dmi b/icons/obj/atmos.dmi index 5e0d0bf32bc3d6de42e40930213deed347acb034..d17343fb977af8757d59f72c0f5ce80e4d3c8df1 100644 GIT binary patch delta 21723 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 z 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 diff --git a/icons/obj/atmospherics/pipes/manifold.dmi b/icons/obj/atmospherics/pipes/manifold.dmi index f96874dc059f1a01b903773634d243aef0bfbbee..4c7d06566af2ab565108c6d6789768473bcfc220 100644 GIT binary patch delta 3119 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 Q{O18SmJSv*X5NYa1&L8ye*gdg diff --git a/icons/obj/atmospherics/pipes/multiz.dmi b/icons/obj/atmospherics/pipes/multiz.dmi new file mode 100644 index 0000000000000000000000000000000000000000..07172fb41b29269ffc8a330bc239af651788033e GIT binary patch literal 1568 zcmaJ>dpOg39Nrq%!EmB6*YUVNlgs4VaVf*(vNB^QnQM~!Y%ZNTlV#Cdis~qGS>+NI zW4VO!oGC&s2_=ySxwOR4Wz9Lib99V^8WSB#(BHJq*bLsAP@}e z?s6R9IpB5gg#c(wDq95T0?reU>F(~<(9j?fiOtQ;bUIy2OG{Bvk;~goy(qk8&;*w}jo1qB_(_#+SqH8nMD zZEbaRbyZbWBh(LO=)-OvC(u@IJRXn3;k386cXV`gc6PGaY&;$hT&ITea{x17%5iUB zkkiuCDIh67iw~fpqFgW}@|)s#We@Wuog1&8_$I zt@!vTmu8PJmftOf`mt*P*EjlW(ww9#UMoD>%oxnT>ztD(xK6DFM_d%c0P#FH!sdKk z-Q4QCJ$V$+J$_zAH}Sm~1d^!0x;W!gO9Um%XiLu_V5FKkTP(=cgZsOcxmXw?uE}~xC8Dd%dUe*83ttmnb{^!10_tLE z&rmMQQRReNS$I-mWsUit{qR(bOki_S=CSx3e!ZmNA4%Xz=+ zFhIcW*bWh*Zs_;N2tR(tYnl^~G*@G?hvb$1y|9|)%dnYeBn!yloXnT8XIYH+SJi}_}#xi5E-MmASn@}Sm4}ejg``) z7xZi(?jD#ADK27XRXJ=quE>AGD0NO}{Ay`_QtH$C$WQUGEd5FpQWr~}D2{t4w8h@1 z`M(%gtt|qo;KkqeS&I^+Jr%#TXsQg7^_lb1r)&$85_@HOOh>dP-;RNwN^*E|QxE8M=IwG*>Zdc;kkKeML6{KT1hythL4nb) zLv8A(W0Pmb2bQ{{>!)|+g#|r5c82tS>KrXcns@>lL}i%VX&9bcbgI?QCy|6p-D}&C zxJ28LAJ^M8n5^nupoJTU=xvnas#MYM`%dVbte=K22Vk3TE{{5IW2TF(AMMDJ+b>(< zpu{lh&6sjIj=qd+@P!ITx)SD)qa9zhWi1^7*i4=TLzj`!1w9HD?gW0)xbuWNGd0hy zPc>iXjm=D>rHukSWuJLSqQUoyHJXVTnZy-SzmcsYv76%B%D91xYI_BuI#epBzR7=z)MG=8Km;^hV%P)^FFJuS}J(e zn8^H~^#5Y$;K=ZlHq>jqdO8dy#@vns6{|e>AIbe-2ASfg&ip`tFH0@$k#q*m0}%{k n+GiIvv=(MzKlbjolKBRSHL#R|M}sASj}?T)c)PF<2WR{asPNu( literal 0 HcmV?d00001 diff --git a/tgstation.dme b/tgstation.dme index 7283e468e43..9fe61147528 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -1589,7 +1589,6 @@ #include "code\modules\asset_cache\asset_list_items.dm" #include "code\modules\asset_cache\transports\asset_transport.dm" #include "code\modules\asset_cache\transports\webroot_transport.dm" -#include "code\modules\atmospherics\multiz.dm" #include "code\modules\atmospherics\environmental\LINDA_fire.dm" #include "code\modules\atmospherics\environmental\LINDA_system.dm" #include "code\modules\atmospherics\environmental\LINDA_turf_tile.dm" @@ -1630,6 +1629,7 @@ #include "code\modules\atmospherics\machinery\pipes\manifold.dm" #include "code\modules\atmospherics\machinery\pipes\manifold4w.dm" #include "code\modules\atmospherics\machinery\pipes\mapping.dm" +#include "code\modules\atmospherics\machinery\pipes\multiz.dm" #include "code\modules\atmospherics\machinery\pipes\pipes.dm" #include "code\modules\atmospherics\machinery\pipes\simple.dm" #include "code\modules\atmospherics\machinery\pipes\heat_exchange\he_pipes.dm"