diff --git a/core/src/mindustry/core/Logic.java b/core/src/mindustry/core/Logic.java index 852e2d9673..976d80da9f 100644 --- a/core/src/mindustry/core/Logic.java +++ b/core/src/mindustry/core/Logic.java @@ -187,7 +187,7 @@ public class Logic implements ApplicationListener{ //campaign maps do not have a 'win' state! if(state.isCampaign()){ //gameover only when cores are dead - if(!state.rules.attackMode && state.teams.playerCores().size == 0 && !state.gameOver){ + if(state.teams.playerCores().size == 0 && !state.gameOver){ state.gameOver = true; Events.fire(new GameOverEvent(state.rules.waveTeam)); } diff --git a/core/src/mindustry/input/DesktopInput.java b/core/src/mindustry/input/DesktopInput.java index bf7204c8cf..6cea6e1dcb 100644 --- a/core/src/mindustry/input/DesktopInput.java +++ b/core/src/mindustry/input/DesktopInput.java @@ -354,7 +354,7 @@ public class DesktopInput extends InputHandler{ table.button(Icon.up, Styles.clearPartiali, () -> { ui.planet.show(state.getSector(), player.team().core()); - }).visible(() -> state.isCampaign()).tooltip("@launchcore"); + }).visible(() -> state.isCampaign()).tooltip("@launchcore").disabled(b -> player.team().core() == null); } void pollInput(){ diff --git a/core/src/mindustry/ui/dialogs/PausedDialog.java b/core/src/mindustry/ui/dialogs/PausedDialog.java index 69f9b8caa0..3b0f56906c 100644 --- a/core/src/mindustry/ui/dialogs/PausedDialog.java +++ b/core/src/mindustry/ui/dialogs/PausedDialog.java @@ -88,7 +88,7 @@ public class PausedDialog extends BaseDialog{ cont.buttonRow("@launchcore", Icon.up, () -> { hide(); ui.planet.show(state.getSector(), player.team().core()); - }); + }).disabled(b -> player.team().core() == null); cont.row(); diff --git a/core/src/mindustry/ui/dialogs/PlanetDialog.java b/core/src/mindustry/ui/dialogs/PlanetDialog.java index a4184f994a..3462891f6a 100644 --- a/core/src/mindustry/ui/dialogs/PlanetDialog.java +++ b/core/src/mindustry/ui/dialogs/PlanetDialog.java @@ -94,6 +94,8 @@ public class PlanetDialog extends BaseDialog implements PlanetInterfaceRenderer{ } public void show(Sector sector, CoreBuild launcher){ + if(launcher == null) return; + this.launcher = launcher; selected = null; hovered = null;