[MIRROR] Fix multiz piping issue (#3885)

* Fix multiz piping issue (#57273)

Fixes multiz adapters, now they work on the same tile with different pipe layers and they keep the pipelines separated. Comes with a sprite fix due to layer 1 and 5 miscalculations

* Fix multiz piping issue

Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
This commit is contained in:
SkyratBot
2021-03-05 15:00:42 +01:00
committed by GitHub
parent af5858857c
commit 02b57d42ba
2 changed files with 8 additions and 9 deletions
@@ -43,15 +43,14 @@
center.pixel_x = PIPING_LAYER_P_X * (piping_layer - PIPING_LAYER_DEFAULT)
. += 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 :)
for(var/obj/machinery/atmospherics/pipe/multiz/above in SSmapping.get_turf_above(T))
if(above.piping_layer == piping_layer)
nodes += above
above.nodes += src //Two way travel :)
for(var/obj/machinery/atmospherics/pipe/multiz/below in SSmapping.get_turf_below(T))
if(below.piping_layer == piping_layer)
below.pipeline_expansion() //If we've got one below us, force it to add us on facebook
return ..()