diff --git a/core/src/io/anuke/mindustry/core/Renderer.java b/core/src/io/anuke/mindustry/core/Renderer.java index 7581ba778d..99620f2aed 100644 --- a/core/src/io/anuke/mindustry/core/Renderer.java +++ b/core/src/io/anuke/mindustry/core/Renderer.java @@ -409,8 +409,10 @@ public class Renderer extends RendererModule{ Lines.dashCircle(spawn.start.worldx(), spawn.start.worldy(), enemyspawnspace); } - Draw.color(Color.LIME); - Lines.poly(world.getSpawnX(), world.getSpawnY(), 4, 6f, Timers.time()*2f); + if(world.getCore() != null) { + Draw.color(Color.LIME); + Lines.poly(world.getSpawnX(), world.getSpawnY(), 4, 6f, Timers.time() * 2f); + } if(input.breakMode == PlaceMode.holdDelete) input.breakMode.draw(tilex, tiley, 0, 0); diff --git a/core/src/io/anuke/mindustry/entities/enemies/EnemyType.java b/core/src/io/anuke/mindustry/entities/enemies/EnemyType.java index 27f0f4bd99..bdf27ae16c 100644 --- a/core/src/io/anuke/mindustry/entities/enemies/EnemyType.java +++ b/core/src/io/anuke/mindustry/entities/enemies/EnemyType.java @@ -100,9 +100,10 @@ public class EnemyType { enemy.hitTime -= Timers.delta(); } - if(enemy.lane >= world.getSpawns().size) enemy.lane = 0; + if(enemy.lane >= world.getSpawns().size || enemy.lane < 0) enemy.lane = 0; - boolean waiting = world.getSpawns().get(enemy.lane).pathTiles == null || enemy.node <= 0; + boolean waiting = enemy.lane >= world.getSpawns().size || enemy.lane < 0 + || world.getSpawns().get(enemy.lane).pathTiles == null || enemy.node <= 0; move(enemy);