From 4c8586426053541489b62608c03fef3d1bab1757 Mon Sep 17 00:00:00 2001 From: Anuken Date: Fri, 15 May 2020 20:10:03 -0400 Subject: [PATCH] Direction bugfixes --- core/src/mindustry/entities/def/TileComp.java | 4 ++++ .../src/mindustry/world/blocks/distribution/OverflowGate.java | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/core/src/mindustry/entities/def/TileComp.java b/core/src/mindustry/entities/def/TileComp.java index fff63dcf18..2830d818aa 100644 --- a/core/src/mindustry/entities/def/TileComp.java +++ b/core/src/mindustry/entities/def/TileComp.java @@ -189,6 +189,10 @@ abstract class TileComp implements Posc, Teamc, Healthc, Tilec, Timerc, QuadTree return relativeTo(tile.tile()); } + public byte relativeToEdge(Tile other){ + return relativeTo(Edges.getFacingEdge(other, tile)); + } + public byte relativeTo(int cx, int cy){ return tile.absoluteRelativeTo(cx, cy); } diff --git a/core/src/mindustry/world/blocks/distribution/OverflowGate.java b/core/src/mindustry/world/blocks/distribution/OverflowGate.java index 06e1e418db..891a37b0df 100644 --- a/core/src/mindustry/world/blocks/distribution/OverflowGate.java +++ b/core/src/mindustry/world/blocks/distribution/OverflowGate.java @@ -89,7 +89,7 @@ public class OverflowGate extends Block{ } public @Nullable Tilec getTileTarget(Item item, Tile src, boolean flip){ - int from = relativeTo(src.x, src.y); + int from = relativeToEdge(src); if(from == -1) return null; Tilec to = nearby((from + 2) % 4); boolean canForward = to != null && to.acceptItem(this, item) && to.team() == team && !(to.block() instanceof OverflowGate);