diff --git a/core/assets-raw/sprites/blocks/units/advanced-reconstructor-top.png b/core/assets-raw/sprites/blocks/units/advanced-reconstructor-top.png new file mode 100644 index 0000000000..24cc4cd5a5 Binary files /dev/null and b/core/assets-raw/sprites/blocks/units/advanced-reconstructor-top.png differ diff --git a/core/assets-raw/sprites/blocks/units/advanced-reconstructor.png b/core/assets-raw/sprites/blocks/units/advanced-reconstructor.png new file mode 100644 index 0000000000..5304816b21 Binary files /dev/null and b/core/assets-raw/sprites/blocks/units/advanced-reconstructor.png differ diff --git a/core/assets/logicids.dat b/core/assets/logicids.dat index ba100007a4..908dcdc6b4 100644 Binary files a/core/assets/logicids.dat and b/core/assets/logicids.dat differ diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java index 141288e202..f7f1828d7d 100644 --- a/core/src/mindustry/content/Blocks.java +++ b/core/src/mindustry/content/Blocks.java @@ -142,6 +142,7 @@ public class Blocks{ tankFabricator, shipFabricator, mechFabricator, basicReconstructor, + advancedReconstructor, //tankReconstructor, shipReconstructor, mechReconstructor, tankAssembler, shipAssembler, mechAssembler, @@ -4252,6 +4253,24 @@ public class Blocks{ ); }}; + advancedReconstructor = new Reconstructor("advanced-reconstructor"){{ + requirements(Category.units, with(Items.beryllium, 250, Items.oxide, 200, Items.tungsten, 200, Items.silicon, 400)); + regionSuffix = "-dark"; + + size = 5; + consumePower(5f); + consumeLiquid(Liquids.nitrogen, 10f / 60f); + consumeItems(with(Items.oxide, 110, Items.tungsten, 100)); + + constructTime = 60f * 60f; + + upgrades.addAll( + new UnitType[]{UnitTypes.locus, UnitTypes.precept}, + new UnitType[]{UnitTypes.latum, UnitTypes.anthicus}, + new UnitType[]{UnitTypes.avert, UnitTypes.obviate} + ); + }}; + /* mechReconstructor = new Reconstructor("mech-reconstructor"){{ requirements(Category.units, with(Items.beryllium, 250, Items.tungsten, 120, Items.silicon, 150)); diff --git a/core/src/mindustry/content/ErekirTechTree.java b/core/src/mindustry/content/ErekirTechTree.java index cd32971c71..2d149c9d8b 100644 --- a/core/src/mindustry/content/ErekirTechTree.java +++ b/core/src/mindustry/content/ErekirTechTree.java @@ -298,7 +298,15 @@ public class ErekirTechTree{ node(UnitTypes.avert); node(UnitTypes.locus); + //TODO + node(advancedReconstructor, () -> { + node(UnitTypes.precept); + node(UnitTypes.anthicus); + node(UnitTypes.obviate); + }); + node(tankAssembler, Seq.with(new OnSector(three), new Research(constructor), new Research(atmosphericConcentrator)), () -> { + node(UnitTypes.vanquish, () -> { node(UnitTypes.conquer, Seq.with(tmpNever), () -> {