diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index 57806fe23c..27e78ebd55 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -60,11 +60,13 @@ text.sector.unexplored=[accent][[Unexplored] text.mission=Mission:[LIGHT_GRAY] {0} text.mission.complete=Mission complete! text.mission.complete.body=Sector {0},{1} has been conquered. -text.mission.wave=Survive [accent]{0} []waves. -text.mission.battle=Destroy the enemy base. +text.mission.wave=Survive [accent]{0}/{1} []waves +text.mission.wave.menu=Survive [accent]{0} []waves +text.mission.battle=Destroy the enemy core text.mission.resource=Obtain {0} x{1} text.mission.block=Create {0} text.mission.unit=Create {0} Unit +text.mission.display=[accent]Mission:[LIGHT_GRAY] {0} text.none= text.close=Close text.quit=Quit diff --git a/core/src/io/anuke/mindustry/Vars.java b/core/src/io/anuke/mindustry/Vars.java index f7f3c0dd74..a140eaec45 100644 --- a/core/src/io/anuke/mindustry/Vars.java +++ b/core/src/io/anuke/mindustry/Vars.java @@ -48,7 +48,7 @@ public class Vars{ public static final int maxNameLength = 40; public static final float itemSize = 5f; public static final int tilesize = 8; - public static final int sectorSize = 140; + public static final int sectorSize = 130; public static final int mapPadding = 3; public static final int invalidSector = Integer.MAX_VALUE; public static Locale[] locales; diff --git a/core/src/io/anuke/mindustry/maps/Sectors.java b/core/src/io/anuke/mindustry/maps/Sectors.java index 664e50d1b3..90ae02349a 100644 --- a/core/src/io/anuke/mindustry/maps/Sectors.java +++ b/core/src/io/anuke/mindustry/maps/Sectors.java @@ -260,6 +260,7 @@ public class Sectors{ new WaveMission(5), new ExpandMission(1, 0), new ItemMission(Items.lead, 30), + new ItemMission(Items.copper, 150), new BlockMission(CraftingBlocks.smelter), new ItemMission(Items.densealloy, 30), new BlockMission(PowerBlocks.combustionGenerator), @@ -268,7 +269,7 @@ public class Sectors{ new ItemMission(Items.silicon, 30), new BlockMission(UnitBlocks.daggerFactory), new UnitMission(UnitTypes.dagger), - new ExpandMission(0, 1), + new ExpandMission(-1, 0), new BattleMission() )); }else{ diff --git a/core/src/io/anuke/mindustry/maps/missions/Mission.java b/core/src/io/anuke/mindustry/maps/missions/Mission.java index fc3b0d2fc1..0283a752fd 100644 --- a/core/src/io/anuke/mindustry/maps/missions/Mission.java +++ b/core/src/io/anuke/mindustry/maps/missions/Mission.java @@ -13,8 +13,15 @@ import io.anuke.ucore.scene.ui.layout.Table; public interface Mission{ boolean isComplete(); + + /**Returns the string that is displayed in-game near the menu.*/ String displayString(); + /**Returns the info string displayed in the sector dialog (menu)*/ + default String menuDisplayString(){ + return displayString(); + } + default GameMode getMode(){ return GameMode.noWaves; } diff --git a/core/src/io/anuke/mindustry/maps/missions/WaveMission.java b/core/src/io/anuke/mindustry/maps/missions/WaveMission.java index bae5ad832c..5438cf4b90 100644 --- a/core/src/io/anuke/mindustry/maps/missions/WaveMission.java +++ b/core/src/io/anuke/mindustry/maps/missions/WaveMission.java @@ -37,7 +37,12 @@ public class WaveMission implements Mission{ @Override public String displayString(){ - return Bundles.format("text.mission.wave", state.wave); + return Bundles.format("text.mission.wave", state.wave, target); + } + + @Override + public String menuDisplayString(){ + return Bundles.format("text.mission.wave.menu", target); } @Override diff --git a/core/src/io/anuke/mindustry/ui/dialogs/SectorsDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/SectorsDialog.java index 71df2edd8f..1f04b05294 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/SectorsDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/SectorsDialog.java @@ -43,7 +43,7 @@ public class SectorsDialog extends FloatingDialog{ (selected.hasSave() ? " [accent]/[white] " + Bundles.format("text.sector.time", selected.getSave().getPlayTime()) : "")))); content().row(); content().label(() -> Bundles.format("text.mission", selected == null || selected.completedMissions >= selected.missions.size - ? Bundles.get("text.none") : selected.missions.get(selected.completedMissions).displayString()) + ? Bundles.get("text.none") : selected.missions.get(selected.completedMissions).menuDisplayString()) + "[WHITE] " + (selected == null ? "" : Bundles.format("text.save.difficulty", "[LIGHT_GRAY]" + selected.getDifficulty().toString()))); content().row(); content().add(new SectorView()).grow(); diff --git a/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java b/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java index 80f216cf9a..c50f396e5f 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java @@ -4,6 +4,7 @@ import com.badlogic.gdx.Gdx; import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.graphics.g2d.TextureRegion; import com.badlogic.gdx.math.Interpolation; +import com.badlogic.gdx.utils.Align; import com.badlogic.gdx.utils.Array; import com.badlogic.gdx.utils.Scaling; import io.anuke.mindustry.core.GameState.State; @@ -320,7 +321,9 @@ public class HudFragment extends Fragment{ IntFormat timef = new IntFormat("text.wave.waiting"); table.background("button"); - table.left().labelWrap(() -> world.getSector() == null ? wavef.get(state.wave) : world.getSector().currentMission().displayString()).left().growX(); + table.labelWrap(() -> world.getSector() == null ? wavef.get(state.wave) : + Bundles.format("text.mission.display", world.getSector().currentMission().displayString())).growX() + .get().setAlignment(Align.center, Align.center); table.visible(() -> !((world.getSector() == null && state.mode.disableWaves) || !state.mode.showMission));