Files
Mindustry/core/src/mindustry/content/ErekirTechTree.java

232 lines
6.6 KiB
Java
Raw Normal View History

2021-11-28 13:48:06 -05:00
package mindustry.content;
2021-12-25 22:17:18 -05:00
import arc.struct.*;
import mindustry.game.Objectives.*;
2021-12-28 16:00:25 -05:00
import mindustry.type.*;
2021-12-25 22:17:18 -05:00
2021-11-28 13:48:06 -05:00
import static mindustry.content.Blocks.*;
2022-01-22 16:49:18 -05:00
import static mindustry.content.SectorPresets.*;
2021-11-28 13:48:06 -05:00
import static mindustry.content.TechTree.*;
public class ErekirTechTree{
public static void load(){
2021-12-25 22:17:18 -05:00
Seq<Objective> erekirSector = Seq.with(new OnPlanet(Planets.erekir));
2021-12-28 16:00:25 -05:00
var costMultipliers = new ObjectFloatMap<Item>();
2022-01-23 15:45:40 -05:00
costMultipliers.put(Items.silicon, 8);
2021-12-28 16:00:25 -05:00
costMultipliers.put(Items.surgeAlloy, 4);
2022-01-23 14:37:08 -05:00
costMultipliers.put(Items.phaseFabric, 4);
2022-01-23 15:45:40 -05:00
costMultipliers.put(Items.thorium, 9);
costMultipliers.put(Items.graphite, 8);
2021-12-28 16:00:25 -05:00
2021-12-10 12:25:35 -05:00
Planets.erekir.techTree = nodeRoot("erekir", coreBastion, true, () -> {
context().researchCostMultipliers = costMultipliers;
2021-11-28 13:48:06 -05:00
node(duct, () -> {
node(ductRouter, () -> {
node(ductBridge, () -> {
node(surgeConveyor, () -> {
node(surgeRouter);
});
2021-11-29 20:12:43 -05:00
node(unitCargoLoader, () -> {
node(unitCargoUnloadPoint, () -> {
});
});
2021-11-28 13:48:06 -05:00
});
node(overflowDuct, () -> {
2021-11-28 20:51:26 -05:00
node(ductUnloader, () -> {
2021-11-28 13:48:06 -05:00
2021-11-28 20:51:26 -05:00
});
2021-11-28 13:48:06 -05:00
});
node(reinforcedContainer, () -> {
node(reinforcedVault, () -> {
});
});
});
2021-11-28 20:51:26 -05:00
2021-12-25 22:17:18 -05:00
node(constructor, erekirSector, () -> {
2021-11-28 20:51:26 -05:00
node(payloadLoader, () -> {
node(payloadUnloader, () -> {
node(payloadPropulsionTower, () -> {
});
});
});
2021-12-06 14:30:54 -05:00
node(smallDeconstructor, () -> {
2021-11-28 20:51:26 -05:00
node(largeConstructor, () -> {
});
2021-12-06 14:30:54 -05:00
node(deconstructor, () -> {
});
2021-11-28 20:51:26 -05:00
});
});
});
node(turbineCondenser, () -> {
node(beamNode, () -> {
2021-12-25 22:17:18 -05:00
node(ventCondenser, erekirSector, () -> {
2021-12-10 12:25:35 -05:00
node(chemicalCombustionChamber, () -> {
node(pyrolysisGenerator, () -> {
2021-12-01 19:31:59 -05:00
2021-12-10 12:25:35 -05:00
});
2021-12-02 17:37:18 -05:00
});
2021-12-01 19:31:59 -05:00
});
2021-11-28 20:51:26 -05:00
node(beamTower, () -> {
});
2021-12-22 16:43:22 -05:00
node(regenProjector, () -> {
//TODO more tiers of build tower or "support" structures like overdrive projectors
node(buildTower, () -> {
});
2021-11-28 20:51:26 -05:00
});
});
});
2021-12-10 12:25:35 -05:00
node(siliconArcFurnace, () -> {
2021-12-24 16:14:21 -05:00
node(cliffCrusher, () -> {
2021-12-25 22:17:18 -05:00
node(electrolyzer, erekirSector, () -> {
2021-12-24 16:14:21 -05:00
node(oxidationChamber, () -> {
node(electricHeater, () -> {
node(heatRedirector, () -> {
2021-12-10 12:25:35 -05:00
2021-12-24 16:14:21 -05:00
});
2021-12-10 12:25:35 -05:00
2021-12-24 16:14:21 -05:00
node(atmosphericConcentrator, () -> {
node(cyanogenSynthesizer, () -> {
2021-12-09 17:16:32 -05:00
2021-12-24 16:14:21 -05:00
});
2021-12-09 17:16:32 -05:00
});
2021-11-28 20:51:26 -05:00
2021-12-24 16:14:21 -05:00
node(carbideCrucible, () -> {
node(surgeCrucible, () -> {
node(phaseSynthesizer, () -> {
node(phaseHeater, () -> {
2021-11-28 20:51:26 -05:00
2021-12-24 16:14:21 -05:00
});
2021-12-09 17:16:32 -05:00
});
});
2021-11-28 20:51:26 -05:00
});
});
});
2021-12-24 16:14:21 -05:00
node(slagIncinerator, () -> {
2021-12-09 17:16:32 -05:00
2021-12-24 16:14:21 -05:00
node(slagCentrifuge, () -> {
2021-11-28 20:51:26 -05:00
2021-12-24 16:14:21 -05:00
});
2021-11-28 20:51:26 -05:00
2021-12-24 16:14:21 -05:00
node(heatReactor, () -> {
2021-11-28 20:51:26 -05:00
2021-12-24 16:14:21 -05:00
});
2021-11-28 20:51:26 -05:00
});
});
});
2021-11-28 13:48:06 -05:00
});
2021-11-28 20:51:26 -05:00
//TODO move into turbine condenser?
node(plasmaBore, () -> {
2021-12-25 22:17:18 -05:00
node(impactDrill, erekirSector, () -> {
node(largePlasmaBore, () -> {
2021-12-28 19:18:16 -05:00
node(eruptionDrill, () -> {
2021-11-28 20:51:26 -05:00
2021-12-28 19:18:16 -05:00
});
2021-12-25 22:17:18 -05:00
});
2021-11-28 20:51:26 -05:00
});
});
2021-12-25 22:17:18 -05:00
node(reinforcedConduit, erekirSector, () -> {
2021-11-28 20:51:26 -05:00
node(reinforcedPump, () -> {
//TODO T2 pump
});
node(reinforcedLiquidJunction, () -> {
node(reinforcedBridgeConduit, () -> {
});
node(reinforcedLiquidRouter, () -> {
node(reinforcedLiquidContainer, () -> {
node(reinforcedLiquidTank, () -> {
});
});
});
});
});
node(breach, () -> {
2021-12-24 14:18:25 -05:00
node(berylliumWall, () -> {
node(berylliumWallLarge, () -> {
});
node(tungstenWall, () -> {
node(tungstenWallLarge, () -> {
});
});
});
2021-11-28 20:51:26 -05:00
2021-12-27 16:41:03 -05:00
node(sublimate, () -> {
2022-01-22 16:49:18 -05:00
//TODO implement
2021-12-27 16:41:03 -05:00
node(titan, () -> {
2021-12-08 21:57:10 -05:00
});
2021-11-28 20:51:26 -05:00
});
});
node(coreCitadel, () -> {
node(coreAcropolis, () -> {
});
});
2022-01-22 16:49:18 -05:00
//TODO more sectors
node(onset, () -> {
});
2021-11-28 20:51:26 -05:00
nodeProduce(Items.beryllium, () -> {
nodeProduce(Items.oxide, () -> {
nodeProduce(Items.fissileMatter, () -> {
});
});
nodeProduce(Liquids.ozone, () -> {
nodeProduce(Liquids.hydrogen, () -> {
nodeProduce(Liquids.nitrogen, () -> {
nodeProduce(Liquids.cyanogen, () -> {
});
});
});
});
nodeProduce(Items.tungsten, () -> {
nodeProduce(Items.carbide, () -> {
2021-11-29 10:02:03 -05:00
nodeProduce(Liquids.gallium, () -> {
2021-11-28 20:51:26 -05:00
2021-11-29 10:02:03 -05:00
});
2021-11-28 20:51:26 -05:00
});
});
});
2021-11-28 13:48:06 -05:00
});
}
}