diff --git a/core/assets/maps/frontier.msav b/core/assets/maps/frontier.msav new file mode 100644 index 0000000000..80fda788c1 Binary files /dev/null and b/core/assets/maps/frontier.msav differ diff --git a/core/assets/maps/mycelialBastion.msav b/core/assets/maps/mycelialBastion.msav new file mode 100644 index 0000000000..32ee4f04f8 Binary files /dev/null and b/core/assets/maps/mycelialBastion.msav differ diff --git a/core/assets/maps/testingGrounds.msav b/core/assets/maps/testingGrounds.msav new file mode 100644 index 0000000000..86260a78ba Binary files /dev/null and b/core/assets/maps/testingGrounds.msav differ diff --git a/core/src/mindustry/content/SectorPresets.java b/core/src/mindustry/content/SectorPresets.java index 124b1eeb90..cdad98b7ba 100644 --- a/core/src/mindustry/content/SectorPresets.java +++ b/core/src/mindustry/content/SectorPresets.java @@ -8,7 +8,7 @@ public class SectorPresets{ public static SectorPreset groundZero, craters, biomassFacility, taintedWoods, frozenForest, ruinousShores, facility32m, windsweptIslands, stainedMountains, tarFields, - fungalPass, infestedCanyons, atolls, extractionOutpost, saltFlats, overgrowth, //polarAerodrome, + frontier, fungalPass, infestedCanyons, atolls, mycelialBastion, extractionOutpost, saltFlats, testingGrounds, overgrowth, //polarAerodrome, impact0078, desolateRift, nuclearComplex, planetaryTerminal, coastline, navalFortress, @@ -32,6 +32,10 @@ public class SectorPresets{ difficulty = 5; }}; + testingGrounds = new SectorPreset("testingGrounds", serpulo, 3){{ + difficulty = 7; + }}; + frozenForest = new SectorPreset("frozenForest", serpulo, 86){{ captureWave = 15; difficulty = 2; @@ -90,6 +94,10 @@ public class SectorPresets{ difficulty = 9; }}; + frontier = new SectorPreset("frontier", serpulo, 203){{ + difficulty = 4; + }}; + fungalPass = new SectorPreset("fungalPass", serpulo, 21){{ difficulty = 4; }}; @@ -102,6 +110,10 @@ public class SectorPresets{ difficulty = 7; }}; + mycelialBastion = new SectorPreset("mycelialBastion", serpulo, 133){{ + difficulty = 7; + }}; + overgrowth = new SectorPreset("overgrowth", serpulo, 134){{ difficulty = 5; }}; diff --git a/core/src/mindustry/content/SerpuloTechTree.java b/core/src/mindustry/content/SerpuloTechTree.java index ee80ec5ece..19a1ab589d 100644 --- a/core/src/mindustry/content/SerpuloTechTree.java +++ b/core/src/mindustry/content/SerpuloTechTree.java @@ -236,7 +236,7 @@ public class SerpuloTechTree{ node(steamGenerator, Seq.with(new SectorComplete(craters)), () -> { node(thermalGenerator, () -> { - node(differentialGenerator, () -> { + node(differentialGenerator, Seq.with(new SectorComplete(testingGrounds)), () -> { node(thoriumReactor, Seq.with(new Research(Liquids.cryofluid)), () -> { node(impactReactor, () -> { @@ -448,6 +448,16 @@ public class SerpuloTechTree{ new Research(mender), new Research(combustionGenerator) ), () -> { + node(frontier, Seq.with( + new Research(groundFactory), + new Research(airFactory), + new Research(thermalGenerator), + new Research(dagger), + new Research(mono) + ), () -> { + + }); + node(ruinousShores, Seq.with( new SectorComplete(craters), new Research(graphitePress), @@ -540,6 +550,15 @@ public class SerpuloTechTree{ new Research(airFactory), new Research(door) ), () -> { + node(testingGrounds, Seq.with( + new Research(cryofluidMixer), + new Research(cryofluid), + new Research(waterExtractor), + new Research(ripple) + ), () -> { + + }); + node(coastline, Seq.with( new SectorComplete(windsweptIslands), new SectorComplete(saltFlats), @@ -573,6 +592,14 @@ public class SerpuloTechTree{ new Research(UnitTypes.mace), new Research(UnitTypes.flare) ), () -> { + node(mycelialBastion, Seq.with( + new Research(atrax), + new Research(spiroct), + new Research(multiplicativeReconstructor) + ), () -> { + + }); + node(atolls, Seq.with( new SectorComplete(windsweptIslands), new Research(multiplicativeReconstructor), diff --git a/core/src/mindustry/world/blocks/units/UnitFactory.java b/core/src/mindustry/world/blocks/units/UnitFactory.java index 7b908922c8..6747310d2d 100644 --- a/core/src/mindustry/world/blocks/units/UnitFactory.java +++ b/core/src/mindustry/world/blocks/units/UnitFactory.java @@ -183,6 +183,14 @@ public class UnitFactory extends UnitBlock{ return currentPlan == -1 ? 0 : progress / plans.get(currentPlan).time; } + @Override + public void created(){ + //auto-set to the first plan, it's better than nothing. + if(currentPlan == -1){ + currentPlan = plans.indexOf(u -> u.unit.unlockedNow()); + } + } + @Override public Vec2 getCommandPosition(){ return commandPos;