diff --git a/core/assets/maps/groundZero.msav b/core/assets/maps/groundZero.msav index 492d8ff61e..217af54584 100644 Binary files a/core/assets/maps/groundZero.msav and b/core/assets/maps/groundZero.msav differ diff --git a/core/src/io/anuke/mindustry/graphics/OverlayRenderer.java b/core/src/io/anuke/mindustry/graphics/OverlayRenderer.java index 494099befb..bccb17ebb7 100644 --- a/core/src/io/anuke/mindustry/graphics/OverlayRenderer.java +++ b/core/src/io/anuke/mindustry/graphics/OverlayRenderer.java @@ -22,6 +22,7 @@ import static io.anuke.mindustry.Vars.*; public class OverlayRenderer{ private static final float indicatorLength = 14f; + private static final float spawnerMargin = tilesize*11f; private static final Rectangle rect = new Rectangle(); private float buildFadeTime; @@ -92,6 +93,16 @@ public class OverlayRenderer{ } } + Lines.stroke(2f); + Draw.color(Color.GRAY, Color.LIGHT_GRAY, Mathf.absin(Time.time(), 8f, 1f)); + + for(Tile tile : world.spawner.getGroundSpawns()){ + if(tile.withinDst(player.x, player.y, state.rules.dropZoneRadius + spawnerMargin)){ + Draw.alpha(Mathf.clamp(1f - (player.dst(tile) - state.rules.dropZoneRadius) / spawnerMargin)); + Lines.dashCircle(tile.worldx(), tile.worldy(), state.rules.dropZoneRadius); + } + } + Draw.reset(); //draw selected block bars and info diff --git a/core/src/io/anuke/mindustry/net/Net.java b/core/src/io/anuke/mindustry/net/Net.java index c80552996f..3943e8a4e2 100644 --- a/core/src/io/anuke/mindustry/net/Net.java +++ b/core/src/io/anuke/mindustry/net/Net.java @@ -53,7 +53,7 @@ public class Net{ error = Core.bundle.get("error.unreachable"); }else if(type.contains("timeout")){ error = Core.bundle.get("error.timedout"); - }else if(error.equals("alreadyconnected")){ + }else if(error.equals("alreadyconnected") || error.contains("connection is closed")){ error = Core.bundle.get("error.alreadyconnected"); }else if(!error.isEmpty()){ error = Core.bundle.get("error.any") + "\n" + Strings.parseException(e, true);