diff --git a/core/src/mindustry/core/Control.java b/core/src/mindustry/core/Control.java index f6ae999945..1d5e2de6fc 100644 --- a/core/src/mindustry/core/Control.java +++ b/core/src/mindustry/core/Control.java @@ -283,6 +283,17 @@ public class Control implements ApplicationListener, Loadable{ //if there is no base, simulate a new game and place the right loadout at the spawn position if(state.rules.defaultTeam.cores().isEmpty()){ + + //no spawn set -> delete the sector save + if(sector.info.spawnPosition == 0){ + //delete old save + sector.save = null; + slot.delete(); + //play again + playSector(origin, sector); + return; + } + //reset wave so things are more fair state.wave = 1; diff --git a/core/src/mindustry/game/Universe.java b/core/src/mindustry/game/Universe.java index 5577d3da2f..5827f61168 100644 --- a/core/src/mindustry/game/Universe.java +++ b/core/src/mindustry/game/Universe.java @@ -165,7 +165,7 @@ public class Universe{ sector.info.damage = 1f; sector.info.hasCore = false; sector.info.production.clear(); - }else if(attacked && wavesPassed > 0 && sector.info.wave + wavesPassed >= sector.info.winWave && !sector.hasEnemyBase()){ + }else if(attacked && wavesPassed > 0 && sector.info.winWave > 1 && sector.info.wave + wavesPassed >= sector.info.winWave && !sector.hasEnemyBase()){ //autocapture the sector sector.info.waves = false;