diff --git a/core/assets/maps/basin.msav b/core/assets/maps/basin.msav index 602cb264ad..ee33b1173c 100644 Binary files a/core/assets/maps/basin.msav and b/core/assets/maps/basin.msav differ diff --git a/core/assets/maps/marsh.msav b/core/assets/maps/marsh.msav new file mode 100644 index 0000000000..13b23e2b22 Binary files /dev/null and b/core/assets/maps/marsh.msav differ diff --git a/core/assets/maps/peaks.msav b/core/assets/maps/peaks.msav new file mode 100644 index 0000000000..ba52450d5f Binary files /dev/null and b/core/assets/maps/peaks.msav differ diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java index 95025601c0..5d72913308 100644 --- a/core/src/mindustry/content/Blocks.java +++ b/core/src/mindustry/content/Blocks.java @@ -2463,7 +2463,8 @@ public class Blocks{ chemicalCombustionChamber = new ConsumeGenerator("chemical-combustion-chamber"){{ requirements(Category.power, with(Items.graphite, 40, Items.tungsten, 40, Items.oxide, 40f, Items.silicon, 30)); - powerProduction = 8f; + powerProduction = 10f; + researchCost = with(Items.graphite, 2000, Items.tungsten, 1000, Items.oxide, 10, Items.silicon, 1500); consumeLiquids(LiquidStack.with(Liquids.ozone, 2f / 60f, Liquids.arkycite, 40f / 60f)); size = 3; drawer = new DrawMulti(new DrawRegion("-bottom"), new DrawPistons(){{ @@ -3890,7 +3891,7 @@ public class Blocks{ hitEffect = despawnEffect = Fx.hitBulletColor; buildingDamageMultiplier = 0.3f; }}, - Items.tungsten, new BasicBulletType(8f, 165){{ + Items.tungsten, new BasicBulletType(8f, 95){{ width = 13f; height = 19f; hitSize = 7f; @@ -4068,6 +4069,8 @@ public class Blocks{ scaledHealth = 210; shootY = 7f; size = 3; + + researchCost = with(Items.tungsten, 400, Items.silicon, 400, Items.oxide, 80, Items.beryllium, 800); }}; titan = new ItemTurret("titan"){{ @@ -5408,6 +5411,8 @@ public class Blocks{ upgrades.addAll( new UnitType[]{UnitTypes.elude, UnitTypes.avert} ); + + researchCost = with(Items.beryllium, 500, Items.tungsten, 200, Items.silicon, 300, Items.oxide, 80); }}; //yes very silly name diff --git a/core/src/mindustry/content/ErekirTechTree.java b/core/src/mindustry/content/ErekirTechTree.java index f499f0f894..3ff6855116 100644 --- a/core/src/mindustry/content/ErekirTechTree.java +++ b/core/src/mindustry/content/ErekirTechTree.java @@ -114,12 +114,12 @@ public class ErekirTechTree{ }); node(constructor, Seq.with(new OnSector(split)), () -> { - node(smallDeconstructor, () -> { - node(largeConstructor, () -> { + node(smallDeconstructor, Seq.with(new OnSector(peaks)), () -> { + node(largeConstructor, Seq.with(tmpNever), () -> { }); - node(deconstructor, () -> { + node(deconstructor, Seq.with(tmpNever), () -> { }); }); @@ -135,7 +135,7 @@ public class ErekirTechTree{ //TODO move into turbine condenser? node(plasmaBore, () -> { node(impactDrill, Seq.with(new OnSector(aegis)), () -> { - node(largePlasmaBore, Seq.with(new OnSector(basin)), () -> { + node(largePlasmaBore, Seq.with(tmpNever), () -> { node(eruptionDrill, () -> { }); @@ -153,14 +153,14 @@ public class ErekirTechTree{ }); }); - node(beamTower, Seq.with(new OnSector(basin)), () -> { + node(beamTower, Seq.with(new OnSector(peaks)), () -> { }); - node(regenProjector, () -> { + node(regenProjector, Seq.with(new OnSector(peaks)), () -> { //TODO more tiers of build tower or "support" structures like overdrive projectors - node(buildTower, Seq.with(new OnSector(basin)), () -> { + node(buildTower, Seq.with(tmpNever), () -> { node(shockwaveTower, () -> { }); @@ -192,8 +192,8 @@ public class ErekirTechTree{ node(cliffCrusher, () -> { node(siliconArcFurnace, () -> { node(electrolyzer, Seq.with(new OnSector(atlas)), () -> { - node(oxidationChamber, Seq.with(new Research(tankRefabricator), new OnSector(basin)), () -> { - node(electricHeater, Seq.with(new OnSector(basin)), () -> { + node(oxidationChamber, Seq.with(new Research(tankRefabricator), new OnSector(marsh)), () -> { + node(electricHeater, Seq.with(tmpNever), () -> { node(heatRedirector, () -> { node(surgeCrucible, () -> { @@ -260,14 +260,14 @@ public class ErekirTechTree{ }); node(diffuse, Seq.with(new OnSector(lake)), () -> { - node(sublimate, () -> { - node(titan, Seq.with(new OnSector(basin)), () -> { - node(afflict, Seq.with(new OnSector(basin)), () -> { + node(sublimate, Seq.with(new OnSector(marsh)), () -> { + node(titan, Seq.with(new OnSector(marsh)), () -> { + node(afflict, Seq.with(new OnSector(marsh)), () -> { }); }); - node(disperse, Seq.with(new OnSector(basin)), () -> { + node(disperse, Seq.with(new OnSector(marsh)), () -> { }); }); @@ -279,7 +279,7 @@ public class ErekirTechTree{ }); }); - node(coreCitadel, Seq.with(new SectorComplete(basin)), () -> { + node(coreCitadel, Seq.with(new SectorComplete(peaks)), () -> { node(coreAcropolis, () -> { }); @@ -288,7 +288,7 @@ public class ErekirTechTree{ node(tankFabricator, Seq.with(new Research(siliconArcFurnace), new Research(plasmaBore), new Research(turbineCondenser)), () -> { node(UnitTypes.stell); - node(unitRepairTower, Seq.with(new OnSector(basin), new Research(mechRefabricator)), () -> { + node(unitRepairTower, Seq.with(tmpNever, new Research(mechRefabricator)), () -> { }); @@ -304,11 +304,11 @@ public class ErekirTechTree{ node(mechRefabricator, Seq.with(new OnSector(basin)), () -> { node(UnitTypes.cleroi); - node(shipRefabricator, Seq.with(new OnSector(basin), tmpNever), () -> { + node(shipRefabricator, Seq.with(new OnSector(peaks)), () -> { node(UnitTypes.avert); //TODO - node(primeRefabricator, () -> { + node(primeRefabricator, Seq.with(tmpNever), () -> { node(UnitTypes.precept); node(UnitTypes.anthicus); node(UnitTypes.obviate); @@ -358,7 +358,11 @@ public class ErekirTechTree{ }); node(basin, Seq.with(new SectorComplete(atlas)), () -> { + node(marsh, Seq.with(new SectorComplete(basin)), () ->{ + node(peaks, Seq.with(new SectorComplete(marsh), new SectorComplete(split)), () ->{ + }); + }); }); }); }); diff --git a/core/src/mindustry/content/SectorPresets.java b/core/src/mindustry/content/SectorPresets.java index bd75ccac69..56253fa663 100644 --- a/core/src/mindustry/content/SectorPresets.java +++ b/core/src/mindustry/content/SectorPresets.java @@ -12,7 +12,7 @@ public class SectorPresets{ impact0078, desolateRift, nuclearComplex, planetaryTerminal, coastline, navalFortress, - onset, aegis, lake, intersect, basin, atlas, split; + onset, aegis, lake, intersect, basin, atlas, split, marsh, peaks; public static void load(){ //region serpulo @@ -139,6 +139,14 @@ public class SectorPresets{ difficulty = 6; }}; + marsh = new SectorPreset("marsh", erekir, 25){{ + difficulty = 4; + }}; + + peaks = new SectorPreset("peaks", erekir, 30){{ + difficulty = 3; + }}; + //endregion } }