diff --git a/core/src/io/anuke/mindustry/ai/Pathfinder.java b/core/src/io/anuke/mindustry/ai/Pathfinder.java index 9f61cd843c..b47040647f 100644 --- a/core/src/io/anuke/mindustry/ai/Pathfinder.java +++ b/core/src/io/anuke/mindustry/ai/Pathfinder.java @@ -155,7 +155,7 @@ public class Pathfinder{ int dx = tile.x + point.x, dy = tile.y + point.y; Tile other = world.tile(dx, dy); - if(other != null && (path.weights[dx][dy] == Float.MAX_VALUE || path.searches[dx][dy] < path.search) + if(other != null && (path.weights[dx][dy] > cost + other.cost || path.searches[dx][dy] < path.search) && passable(other, team)){ path.frontier.addFirst(world.tile(dx, dy)); path.weights[dx][dy] = cost + other.cost; diff --git a/core/src/io/anuke/mindustry/core/Renderer.java b/core/src/io/anuke/mindustry/core/Renderer.java index f5e7090e99..9caba8c546 100644 --- a/core/src/io/anuke/mindustry/core/Renderer.java +++ b/core/src/io/anuke/mindustry/core/Renderer.java @@ -247,15 +247,15 @@ public class Renderer extends RendererModule{ overlays.drawBottom(); drawAndInterpolate(playerGroup, p -> true, Player::drawBuildRequests); - overlays.drawTop(); Shaders.shield.color.set(Palette.accent); - Graphics.beginShaders(Shaders.shield); EntityDraw.draw(shieldGroup); EntityDraw.drawWith(shieldGroup, shield -> true, shield -> ((ShieldEntity)shield).drawOver()); Graphics.endShaders(); + overlays.drawTop(); + if(showFog){ Graphics.surface(); }else{