diff --git a/core/assets/maps/three.msav b/core/assets/maps/three.msav index 77f2b7fe2b..3724164e9b 100644 Binary files a/core/assets/maps/three.msav and b/core/assets/maps/three.msav differ diff --git a/core/src/mindustry/content/SectorPresets.java b/core/src/mindustry/content/SectorPresets.java index 9e49b0b9e1..e592310c4e 100644 --- a/core/src/mindustry/content/SectorPresets.java +++ b/core/src/mindustry/content/SectorPresets.java @@ -1,9 +1,5 @@ package mindustry.content; -import arc.math.geom.*; -import mindustry.game.*; -import mindustry.game.MapObjectives.*; -import mindustry.graphics.*; import mindustry.type.*; import static mindustry.content.Planets.*; @@ -128,6 +124,7 @@ public class SectorPresets{ three = new SectorPreset("three", erekir, 36){{ difficulty = 5; captureWave = 9; + attackAfterWaves = true; }}; atlas = new SectorPreset("atlas", erekir, 14){{ //TODO random sector, pick a better one diff --git a/core/src/mindustry/core/Logic.java b/core/src/mindustry/core/Logic.java index 8d99655119..d13cbf5408 100644 --- a/core/src/mindustry/core/Logic.java +++ b/core/src/mindustry/core/Logic.java @@ -291,7 +291,14 @@ public class Logic implements ApplicationListener{ if(state.rules.waves && (state.enemies == 0 && state.rules.winWave > 0 && state.wave >= state.rules.winWave && !spawner.isSpawning()) || (state.rules.attackMode && state.rules.waveTeam.cores().isEmpty())){ - Call.sectorCapture(); + if(state.rules.sector.preset != null && state.rules.sector.preset.attackAfterWaves && !state.rules.attackMode){ + //activate attack mode to destroy cores after waves are done. + state.rules.attackMode = true; + state.rules.waves = false; + Call.setRules(state.rules); + }else{ + Call.sectorCapture(); + } } }else{ if(!state.rules.attackMode && state.teams.playerCores().size == 0 && !state.gameOver){ diff --git a/core/src/mindustry/type/SectorPreset.java b/core/src/mindustry/type/SectorPreset.java index a994cacfa9..eebbb16b9d 100644 --- a/core/src/mindustry/type/SectorPreset.java +++ b/core/src/mindustry/type/SectorPreset.java @@ -18,6 +18,8 @@ public class SectorPreset extends UnlockableContent{ public float startWaveTimeMultiplier = 2f; public boolean addStartingItems = false; public boolean showSectorLandInfo = true; + /** If true, switches to attack mode after waves end. */ + public boolean attackAfterWaves = false; public SectorPreset(String name, Planet planet, int sector){ super(name);