This commit is contained in:
Anuken
2022-07-14 15:32:33 -04:00
42 changed files with 194 additions and 25 deletions

View File

@@ -2848,9 +2848,9 @@ public class Blocks{
}};
reinforcedContainer = new StorageBlock("reinforced-container"){{
requirements(Category.effect, with(Items.tungsten, 80, Items.graphite, 80));
requirements(Category.effect, with(Items.tungsten, 30, Items.graphite, 40));
size = 2;
itemCapacity = 250;
itemCapacity = 75;
scaledHealth = 120;
coreMerge = false;
}};
@@ -5382,7 +5382,7 @@ public class Blocks{
}};
payloadMassDriver = new PayloadMassDriver("payload-mass-driver"){{
requirements(Category.units, with(Items.tungsten, 120, Items.silicon, 120, Items.oxide, 25));
requirements(Category.units, with(Items.tungsten, 120, Items.silicon, 120, Items.graphite, 50));
regionSuffix = "-dark";
size = 3;
reload = 130f;
@@ -5456,7 +5456,7 @@ public class Blocks{
}};
payloadUnloader = new PayloadUnloader("payload-unloader"){{
requirements(Category.units, with(Items.graphite, 50, Items.silicon, 50, Items.oxide, 30));
requirements(Category.units, with(Items.graphite, 50, Items.silicon, 50, Items.tungsten, 30));
regionSuffix = "-dark";
hasPower = true;
consumePower(2f);

View File

@@ -100,20 +100,20 @@ public class ErekirTechTree{
});
});
node(reinforcedPayloadConveyor, Seq.with(new OnSector(four)), () -> {
node(reinforcedPayloadConveyor, Seq.with(new OnSector(atlas)), () -> {
//TODO should only be unlocked in unit sector
node(constructor, Seq.with(new Research(siliconArcFurnace), new OnSector(four)), () -> {
node(payloadMassDriver, Seq.with(new OnSector(four)), () -> {
//TODO further limitations
node(payloadLoader, () -> {
node(payloadUnloader, () -> {
//TODO replace.
//node(payloadPropulsionTower, () -> {
node(payloadMassDriver, Seq.with(new Research(siliconArcFurnace), new OnSector(split)), () -> {
//TODO further limitations
node(payloadLoader, () -> {
node(payloadUnloader, () -> {
//TODO replace.
//node(payloadPropulsionTower, () -> {
//});
});
//});
});
});
node(constructor, Seq.with(new OnSector(split)), () -> {
node(smallDeconstructor, () -> {
node(largeConstructor, () -> {
@@ -146,7 +146,7 @@ public class ErekirTechTree{
node(turbineCondenser, () -> {
node(beamNode, () -> {
node(ventCondenser, Seq.with(new OnSector(two)), () -> {
node(chemicalCombustionChamber, Seq.with(new OnSector(three)), () -> {
node(chemicalCombustionChamber, Seq.with(new OnSector(four)), () -> {
node(pyrolysisGenerator, () -> {
});
@@ -170,7 +170,7 @@ public class ErekirTechTree{
node(reinforcedConduit, Seq.with(new OnSector(two)), () -> {
//TODO maybe should be even later
node(reinforcedPump, Seq.with(new OnSector(three)), () -> {
node(reinforcedPump, Seq.with(new OnSector(four)), () -> {
//TODO T2 pump, consume cyanogen or similar
});
@@ -191,7 +191,7 @@ public class ErekirTechTree{
node(cliffCrusher, () -> {
node(siliconArcFurnace, () -> {
node(electrolyzer, Seq.with(new OnSector(three)), () -> {
node(electrolyzer, Seq.with(new OnSector(atlas)), () -> {
node(oxidationChamber, Seq.with(new Research(tankRefabricator), new OnSector(four)), () -> {
node(electricHeater, Seq.with(new OnSector(four)), () -> {
node(heatRedirector, () -> {
@@ -259,7 +259,7 @@ public class ErekirTechTree{
});
});
node(diffuse, Seq.with(new OnSector(two)), () -> {
node(diffuse, Seq.with(new OnSector(lake)), () -> {
node(sublimate, () -> {
node(titan, Seq.with(new OnSector(four)), () -> {
node(afflict, Seq.with(new OnSector(four)), () -> {
@@ -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(two)), () -> {
node(unitRepairTower, Seq.with(new OnSector(four), new Research(mechRefabricator)), () -> {
});
@@ -298,10 +298,10 @@ public class ErekirTechTree{
node(mechFabricator, Seq.with(new OnSector(three)), () -> {
node(UnitTypes.merui);
node(tankRefabricator, Seq.with(new OnSector(three)), () -> {
node(tankRefabricator, Seq.with(new OnSector(atlas)), () -> {
node(UnitTypes.locus);
node(mechRefabricator, Seq.with(new OnSector(three)), () -> {
node(mechRefabricator, Seq.with(new OnSector(four)), () -> {
node(UnitTypes.cleroi);
node(shipRefabricator, Seq.with(new OnSector(four), tmpNever), () -> {
@@ -352,8 +352,14 @@ public class ErekirTechTree{
});
node(three, Seq.with(new SectorComplete(two), new SectorComplete(lake), new Research(ventCondenser), new Research(shipFabricator)), () -> {
node(four, Seq.with(new SectorComplete(three)), () -> {
node(atlas, Seq.with(new SectorComplete(three), new Research(mechFabricator)), () -> {
node(split, Seq.with(new SectorComplete(atlas), new Research(reinforcedPayloadConveyor), new Research(reinforcedContainer)), () -> {
});
node(four, Seq.with(new SectorComplete(atlas)), () -> {
});
});
});
});

View File

@@ -16,8 +16,7 @@ public class SectorPresets{
impact0078, desolateRift, nuclearComplex, planetaryTerminal,
coastline, navalFortress,
onset, two, lake, three, four
;
onset, two, lake, three, four, atlas, split;
public static void load(){
//region serpulo
@@ -201,6 +200,12 @@ public class SectorPresets{
lake = new SectorPreset("lake", erekir, 41){{
difficulty = 4;
rules = r -> {
r.objectives.addAll(
new BuildCountObjective(Blocks.shipFabricator, 1),
new UnitCountObjective(UnitTypes.elude, 1)
);
};
}};
three = new SectorPreset("three", erekir, 36){{
@@ -209,6 +214,29 @@ public class SectorPresets{
captureWave = 9;
}};
atlas = new SectorPreset("atlas", erekir, 14){{ //TODO random sector, pick a better one
difficulty = 5;
}};
split = new SectorPreset("split", erekir, 19){{ //TODO random sector, pick a better one
difficulty = 5;
rules = r -> {
r.objectives.addAll(
new CoreItemObjective(Items.tungsten, 100).withMarkers(
new TextMarker("Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop)", 347 * 8f, 445f * 8f),
new TextMarker("You must acquire some tungsten to build units.", 293 * 8f, 417 * 8f)
),
new BuildCountObjective(Blocks.payloadMassDriver, 2).withMarkers(
new TextMarker("Units must be transported to the other side of the wall.\nPlace two [accent]Payload Mass Drivers[], one on each side of the wall.\nSet up the link by pressing one of them, then selecting the other.", 293 * 8f, 417 * 8f)
),
new DestroyCoreObjective().withMarkers(
new TextMarker("Similar to the container, units can also be transported using a [accent]Payload Mass Driver[].\nPlace a unit fabricator adjacent to a mass driver to load them, then send them across the wall to attack the enemy base.", 293 * 8f, 417 * 8f)
)
);
};
}};
four = new SectorPreset("four", erekir, 29){{
difficulty = 6;