diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index 2456397a90..bad5b1a8cc 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -561,6 +561,7 @@ requirement.research = Research {0} requirement.produce = Produce {0} requirement.capture = Capture {0} requirement.onplanet = Control Sector On {0} +requirement.onsector = Land On Sector {0} launch.text = Launch research.multiplayer = Only the host can research items. map.multiplayer = Only the host can view sectors. diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java index 8c2ce6f11a..0ca01fdfe9 100644 --- a/core/src/mindustry/content/Blocks.java +++ b/core/src/mindustry/content/Blocks.java @@ -1096,7 +1096,7 @@ public class Blocks{ //TODO better name electrolyzer = new GenericCrafter("electrolyzer"){{ - requirements(Category.crafting, with(Items.silicon, 50, Items.graphite, 40, Items.beryllium, 50)); + requirements(Category.crafting, with(Items.silicon, 50, Items.graphite, 40, Items.beryllium, 90, Items.tungsten, 40)); size = 3; craftTime = 10f; diff --git a/core/src/mindustry/content/ErekirTechTree.java b/core/src/mindustry/content/ErekirTechTree.java index bb9e1b9010..ec619e11c9 100644 --- a/core/src/mindustry/content/ErekirTechTree.java +++ b/core/src/mindustry/content/ErekirTechTree.java @@ -20,6 +20,8 @@ public class ErekirTechTree{ costMultipliers.put(Items.thorium, 9); costMultipliers.put(Items.graphite, 9); + //TODO gate behind capture + Planets.erekir.techTree = nodeRoot("erekir", coreBastion, true, () -> { context().researchCostMultipliers = costMultipliers; diff --git a/core/src/mindustry/content/Planets.java b/core/src/mindustry/content/Planets.java index 6623ab47de..c7fac78826 100644 --- a/core/src/mindustry/content/Planets.java +++ b/core/src/mindustry/content/Planets.java @@ -48,6 +48,7 @@ public class Planets{ new HexSkyMesh(this, 2, 0.15f, 0.14f, 5, Color.valueOf("eba768").a(0.75f), 2, 0.42f, 1f, 0.43f), new HexSkyMesh(this, 3, 0.6f, 0.15f, 5, Color.valueOf("eea293").a(0.75f), 2, 0.42f, 1.2f, 0.45f) ); + landCloudColor = Color.valueOf("ed6542"); atmosphereColor = Color.valueOf("f07218"); startSector = 10; atmosphereRadIn = 0.02f; diff --git a/core/src/mindustry/core/Control.java b/core/src/mindustry/core/Control.java index 52e00e60ad..fb77e0270d 100644 --- a/core/src/mindustry/core/Control.java +++ b/core/src/mindustry/core/Control.java @@ -365,7 +365,7 @@ public class Control implements ApplicationListener, Loadable{ //reset wave so things are more fair state.wave = 1; //set up default wave time - state.wavetime = state.rules.waveSpacing * (sector.preset == null ? 2f : sector.preset.startWaveTimeMultiplier); + state.wavetime = state.rules.initialWaveSpacing <= 0f ? (state.rules.waveSpacing * (sector.preset == null ? 2f : sector.preset.startWaveTimeMultiplier)) : state.rules.initialWaveSpacing; //reset captured state sector.info.wasCaptured = false; //re-enable waves diff --git a/core/src/mindustry/game/Objectives.java b/core/src/mindustry/game/Objectives.java index af86520fd2..f39e09f001 100644 --- a/core/src/mindustry/game/Objectives.java +++ b/core/src/mindustry/game/Objectives.java @@ -68,6 +68,26 @@ public class Objectives{ } } + public static class OnSector implements Objective{ + public SectorPreset preset; + + public OnSector(SectorPreset zone){ + this.preset = zone; + } + + protected OnSector(){} + + @Override + public boolean complete(){ + return preset.sector.hasBase(); + } + + @Override + public String display(){ + return Core.bundle.format("requirement.onsector", preset.localizedName); + } + } + public static class OnPlanet implements Objective{ public Planet planet;