Tech tree restructuring

This commit is contained in:
Anuken
2022-05-10 16:01:49 -04:00
parent 595f3fd117
commit 36513d6ed6
16 changed files with 126 additions and 117 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

+5
View File
@@ -558,3 +558,8 @@
63126=refabricator|block-refabricator-ui 63126=refabricator|block-refabricator-ui
63125=prime-refabricator|block-prime-refabricator-ui 63125=prime-refabricator|block-prime-refabricator-ui
63124=latum|unit-latum-ui 63124=latum|unit-latum-ui
63123=reinforced-surge-wall|block-reinforced-surge-wall-ui
63122=reinforced-surge-wall-large|block-reinforced-surge-wall-large-ui
63121=tank-refabricator|block-tank-refabricator-ui
63120=mech-refabricator|block-mech-refabricator-ui
63119=ship-refabricator|block-ship-refabricator-ui
Binary file not shown.
+70 -72
View File
@@ -80,7 +80,7 @@ public class Blocks{
//defense //defense
copperWall, copperWallLarge, titaniumWall, titaniumWallLarge, plastaniumWall, plastaniumWallLarge, thoriumWall, thoriumWallLarge, door, doorLarge, copperWall, copperWallLarge, titaniumWall, titaniumWallLarge, plastaniumWall, plastaniumWallLarge, thoriumWall, thoriumWallLarge, door, doorLarge,
phaseWall, phaseWallLarge, surgeWall, surgeWallLarge, phaseWall, phaseWallLarge, surgeWall, surgeWallLarge,
berylliumWall, berylliumWallLarge, tungstenWall, tungstenWallLarge, blastDoor, carbideWall, carbideWallLarge, berylliumWall, berylliumWallLarge, tungstenWall, tungstenWallLarge, blastDoor, reinforcedSurgeWall, reinforcedSurgeWallLarge, carbideWall, carbideWallLarge,
mender, mendProjector, overdriveProjector, overdriveDome, forceProjector, shockMine, mender, mendProjector, overdriveProjector, overdriveDome, forceProjector, shockMine,
scrapWall, scrapWallLarge, scrapWallHuge, scrapWallGigantic, thruster, //ok, these names are getting ridiculous, but at least I don't have humongous walls yet scrapWall, scrapWallLarge, scrapWallHuge, scrapWallGigantic, thruster, //ok, these names are getting ridiculous, but at least I don't have humongous walls yet
@@ -141,8 +141,7 @@ public class Blocks{
//units - erekir //units - erekir
tankFabricator, shipFabricator, mechFabricator, tankFabricator, shipFabricator, mechFabricator,
//TODO names tankRefabricator, shipRefabricator, mechRefabricator,
refabricator,
primeRefabricator, primeRefabricator,
tankAssembler, shipAssembler, mechAssembler, tankAssembler, shipAssembler, mechAssembler,
@@ -1361,7 +1360,7 @@ public class Blocks{
consumeItem(Items.silicon, 3); consumeItem(Items.silicon, 3);
//TODO must consume from 2 pumps, 1, or 1.5? //TODO must consume from 2 pumps, 1, or 1.5?
//TODO consume hydrogen/ozone? //TODO consume hydrogen/ozone?
consumeLiquid(Liquids.slag, 80f / 60f); consumeLiquid(Liquids.slag, 40f / 60f);
consumePower(2f); //TODO necessary? consumePower(2f); //TODO necessary?
}}; }};
@@ -1385,10 +1384,11 @@ public class Blocks{
size = 3; size = 3;
liquidCapacity = 40f; liquidCapacity = 80f;
outputLiquid = new LiquidStack(Liquids.cyanogen, 3f / 60f); outputLiquid = new LiquidStack(Liquids.cyanogen, 3f / 60f);
consumeLiquids(LiquidStack.with(Liquids.hydrogen, 3f / 60f, Liquids.nitrogen, 2f / 60f)); //consumeLiquids(LiquidStack.with(Liquids.hydrogen, 3f / 60f, Liquids.nitrogen, 2f / 60f));
consumeLiquid(Liquids.arkycite, 40f / 60f);
consumeItem(Items.graphite); consumeItem(Items.graphite);
consumePower(2f); consumePower(2f);
}}; }};
@@ -1625,6 +1625,23 @@ public class Blocks{
size = 2; size = 2;
}}; }};
reinforcedSurgeWall = new Wall("reinforced-surge-wall"){{
requirements(Category.defense, with(Items.surgeAlloy, 6, Items.tungsten, 2));
health = 230 * wallHealthMultiplier;
lightningChance = 0.05f;
lightningDamage = 30f;
armor = 20f;
}};
reinforcedSurgeWallLarge = new Wall("reinforced-surge-wall-large"){{
requirements(Category.defense, ItemStack.mult(reinforcedSurgeWall.requirements, 4));
health = 230 * wallHealthMultiplier * 4;
lightningChance = 0.05f;
lightningDamage = 30f;
armor = 20f;
size = 2;
}};
carbideWall = new Wall("carbide-wall"){{ carbideWall = new Wall("carbide-wall"){{
requirements(Category.defense, with(Items.thorium, 6, Items.carbide, 6)); requirements(Category.defense, with(Items.thorium, 6, Items.carbide, 6));
health = 240 * wallHealthMultiplier; health = 240 * wallHealthMultiplier;
@@ -2394,7 +2411,7 @@ public class Blocks{
pyrolysisGenerator = new ConsumeGenerator("pyrolysis-generator"){{ pyrolysisGenerator = new ConsumeGenerator("pyrolysis-generator"){{
//TODO requirements //TODO requirements
requirements(Category.power, with(Items.graphite, 50, Items.carbide, 50, Items.oxide, 60f, Items.silicon, 50)); requirements(Category.power, with(Items.graphite, 50, Items.carbide, 50, Items.oxide, 60f, Items.silicon, 50));
powerProduction = 18f; powerProduction = 27f;
drawer = new DrawMulti(new DrawRegion("-bottom"), new DrawPistons(){{ drawer = new DrawMulti(new DrawRegion("-bottom"), new DrawPistons(){{
sinMag = 2.75f; sinMag = 2.75f;
@@ -2413,7 +2430,7 @@ public class Blocks{
liquidCapacity = 30f * 5; liquidCapacity = 30f * 5;
liquidOutput = new LiquidStack(Liquids.water, 10f / 60f); liquidOutput = new LiquidStack(Liquids.water, 20f / 60f);
generateEffect = Fx.none; generateEffect = Fx.none;
@@ -2618,7 +2635,7 @@ public class Blocks{
//TODO bad name //TODO bad name
eruptionDrill = new BurstDrill("eruption-drill"){{ eruptionDrill = new BurstDrill("eruption-drill"){{
requirements(Category.production, with(Items.silicon, 200, Items.oxide, 80, Items.tungsten, 200, Items.carbide, 120)); requirements(Category.production, with(Items.silicon, 200, Items.oxide, 20, Items.tungsten, 200, Items.thorium, 120));
drillTime = 60f * 6f; drillTime = 60f * 6f;
size = 5; size = 5;
hasPower = true; hasPower = true;
@@ -2640,7 +2657,7 @@ public class Blocks{
//TODO different requirements //TODO different requirements
consumePower(6f); consumePower(6f);
consumeLiquids(LiquidStack.with(Liquids.water, 0.4f, Liquids.hydrogen, 4f / 60f)); consumeLiquids(LiquidStack.with(Liquids.hydrogen, 4f / 60f));
}}; }};
//endregion //endregion
@@ -3949,7 +3966,7 @@ public class Blocks{
}}; }};
disperse = new ItemTurret("disperse"){{ disperse = new ItemTurret("disperse"){{
requirements(Category.turret, with(Items.carbide, 50, Items.oxide, 150, Items.silicon, 200, Items.beryllium, 350)); requirements(Category.turret, with(Items.thorium, 50, Items.oxide, 150, Items.silicon, 200, Items.beryllium, 350));
ammo(Items.tungsten, new BasicBulletType(){{ ammo(Items.tungsten, new BasicBulletType(){{
damage = 60; damage = 60;
@@ -4213,21 +4230,52 @@ public class Blocks{
consumePower(2f); consumePower(2f);
}}; }};
refabricator = new Reconstructor("refabricator"){{ tankRefabricator = new Reconstructor("tank-refabricator"){{
requirements(Category.units, with(Items.beryllium, 200, Items.tungsten, 80, Items.silicon, 100));
regionSuffix = "-dark";
size = 3;
consumePower(3f);
consumeLiquid(Liquids.hydrogen, 3f / 60f);
consumeItems(with(Items.silicon, 40, Items.tungsten, 30));
constructTime = 60f * 30f;
researchCostMultiplier = 0.75f;
upgrades.addAll(
new UnitType[]{UnitTypes.stell, UnitTypes.locus}
);
}};
mechRefabricator = new Reconstructor("mech-refabricator"){{
requirements(Category.units, with(Items.beryllium, 250, Items.tungsten, 120, Items.silicon, 150)); requirements(Category.units, with(Items.beryllium, 250, Items.tungsten, 120, Items.silicon, 150));
regionSuffix = "-dark"; regionSuffix = "-dark";
size = 3; size = 3;
consumePower(2f); consumePower(2.5f);
consumeLiquid(Liquids.hydrogen, 3f / 60f); consumeLiquid(Liquids.hydrogen, 3f / 60f);
consumeItems(with(Items.silicon, 50, Items.tungsten, 40)); consumeItems(with(Items.silicon, 50, Items.tungsten, 40));
constructTime = 60f * 40f; constructTime = 60f * 45f;
researchCostMultiplier = 0.75f; researchCostMultiplier = 0.75f;
upgrades.addAll( upgrades.addAll(
new UnitType[]{UnitTypes.stell, UnitTypes.locus}, new UnitType[]{UnitTypes.merui, UnitTypes.cleroi}
new UnitType[]{UnitTypes.merui, UnitTypes.cleroi}, );
}};
shipRefabricator = new Reconstructor("ship-refabricator"){{
requirements(Category.units, with(Items.beryllium, 200, Items.tungsten, 100, Items.silicon, 150, Items.oxide, 40));
regionSuffix = "-dark";
size = 3;
consumePower(2.5f);
consumeLiquid(Liquids.hydrogen, 3f / 60f);
consumeItems(with(Items.silicon, 60, Items.tungsten, 40));
constructTime = 60f * 50f;
upgrades.addAll(
new UnitType[]{UnitTypes.elude, UnitTypes.avert} new UnitType[]{UnitTypes.elude, UnitTypes.avert}
); );
}}; }};
@@ -4251,58 +4299,8 @@ public class Blocks{
); );
}}; }};
/*
mechReconstructor = new Reconstructor("mech-reconstructor"){{
requirements(Category.units, with(Items.beryllium, 250, Items.tungsten, 120, Items.silicon, 150));
regionSuffix = "-dark";
size = 3;
consumePower(2f);
consumeLiquid(Liquids.hydrogen, 3f / 60f);
consumeItems(with(Items.silicon, 50, Items.tungsten, 40));
constructTime = 60f * 40f;
researchCostMultiplier = 0.75f;
upgrades.addAll(
new UnitType[]{UnitTypes.stell, UnitTypes.latum}
);
}};
shipReconstructor = new Reconstructor("ship-reconstructor"){{
requirements(Category.units, with(Items.graphite, 250, Items.tungsten, 120, Items.silicon, 200));
regionSuffix = "-dark";
size = 3;
consumePower(2.5f);
consumeLiquid(Liquids.hydrogen, 3f / 60f);
consumeItems(with(Items.silicon, 25, Items.tungsten, 25));
constructTime = 60f * 30f;
upgrades.addAll(
new UnitType[]{UnitTypes.stell, UnitTypes.avert}
);
}};
tankReconstructor = new Reconstructor("tank-reconstructor"){{
requirements(Category.units, with(Items.graphite, 150, Items.tungsten, 150, Items.silicon, 250, Items.oxide, 60));
regionSuffix = "-dark";
size = 3;
consumePower(3f);
consumeLiquid(Liquids.hydrogen, 3f / 60f);
consumeItems(with(Items.silicon, 90, Items.tungsten, 70));
constructTime = 60f * 60f;
upgrades.addAll(
new UnitType[]{UnitTypes.stell, UnitTypes.locus}
);
}};*/
tankAssembler = new UnitAssembler("tank-assembler"){{ tankAssembler = new UnitAssembler("tank-assembler"){{
requirements(Category.units, with(Items.thorium, 500, Items.oxide, 150, Items.tungsten, 500, Items.silicon, 500)); requirements(Category.units, with(Items.thorium, 500, Items.oxide, 150, Items.carbide, 80, Items.silicon, 500));
regionSuffix = "-dark"; regionSuffix = "-dark";
size = 5; size = 5;
plans.add( plans.add(
@@ -4318,7 +4316,7 @@ public class Blocks{
//TODO requirements //TODO requirements
shipAssembler = new UnitAssembler("ship-assembler"){{ shipAssembler = new UnitAssembler("ship-assembler"){{
requirements(Category.units, with(Items.beryllium, 700, Items.oxide, 200, Items.tungsten, 500, Items.silicon, 800, Items.thorium, 400)); requirements(Category.units, with(Items.carbide, 100, Items.oxide, 200, Items.tungsten, 500, Items.silicon, 800, Items.thorium, 400));
regionSuffix = "-dark"; regionSuffix = "-dark";
size = 5; size = 5;
plans.add( plans.add(
@@ -4328,12 +4326,12 @@ public class Blocks{
areaSize = 13; areaSize = 13;
consumePower(3f); consumePower(3f);
consumeLiquid(Liquids.nitrogen, 24f / 60f); consumeLiquid(Liquids.cyanogen, 6f / 60f);
}}; }};
//TODO requirements //TODO requirements
mechAssembler = new UnitAssembler("mech-assembler"){{ mechAssembler = new UnitAssembler("mech-assembler"){{
requirements(Category.units, with(Items.carbide, 500, Items.thorium, 600, Items.oxide, 200, Items.tungsten, 500, Items.silicon, 900)); requirements(Category.units, with(Items.carbide, 200, Items.thorium, 600, Items.oxide, 200, Items.tungsten, 500, Items.silicon, 900));
regionSuffix = "-dark"; regionSuffix = "-dark";
size = 5; size = 5;
//TODO different reqs //TODO different reqs
@@ -4344,12 +4342,12 @@ public class Blocks{
consumePower(3f); consumePower(3f);
areaSize = 13; areaSize = 13;
consumeLiquid(Liquids.nitrogen, 24f / 60f); consumeLiquid(Liquids.cyanogen, 9f / 60f);
}}; }};
//TODO requirements / only accept inputs //TODO requirements / only accept inputs
basicAssemblerModule = new UnitAssemblerModule("basic-assembler-module"){{ basicAssemblerModule = new UnitAssemblerModule("basic-assembler-module"){{
requirements(Category.units, with(Items.carbide, 300, Items.thorium, 500, Items.oxide, 200, Items.phaseFabric, 100)); requirements(Category.units, with(Items.carbide, 300, Items.thorium, 500, Items.oxide, 200, Items.phaseFabric, 400));
consumePower(4f); consumePower(4f);
regionSuffix = "-dark"; regionSuffix = "-dark";
+46 -40
View File
@@ -106,9 +106,10 @@ public class ErekirTechTree{
//TODO further limitations //TODO further limitations
node(payloadLoader, () -> { node(payloadLoader, () -> {
node(payloadUnloader, () -> { node(payloadUnloader, () -> {
node(payloadPropulsionTower, () -> { //TODO replace.
//node(payloadPropulsionTower, () -> {
}); //});
}); });
}); });
@@ -188,7 +189,7 @@ public class ErekirTechTree{
node(cliffCrusher, () -> { node(cliffCrusher, () -> {
node(siliconArcFurnace, () -> { node(siliconArcFurnace, () -> {
node(electrolyzer, Seq.with(new OnSector(three)), () -> { node(electrolyzer, Seq.with(new OnSector(three)), () -> {
node(oxidationChamber, Seq.with(new Research(refabricator), new OnSector(four)), () -> { node(oxidationChamber, Seq.with(new Research(tankRefabricator), new OnSector(four)), () -> {
node(electricHeater, Seq.with(new OnSector(four)), () -> { node(electricHeater, Seq.with(new OnSector(four)), () -> {
node(heatRedirector, () -> { node(heatRedirector, () -> {
@@ -201,14 +202,16 @@ public class ErekirTechTree{
}); });
node(carbideCrucible, Seq.with(tmpNever), () -> { node(carbideCrucible, Seq.with(tmpNever), () -> {
node(surgeCrucible, () -> { node(phaseSynthesizer, () -> {
node(phaseSynthesizer, () -> { node(phaseHeater, () -> {
node(phaseHeater, () -> {
});
}); });
}); });
}); });
node(surgeCrucible, () -> {
});
}); });
}); });
@@ -241,6 +244,12 @@ public class ErekirTechTree{
}); });
}); });
node(reinforcedSurgeWall, () -> {
node(reinforcedSurgeWallLarge, () -> {
});
});
node(carbideWall, () -> { node(carbideWall, () -> {
node(carbideWallLarge, () -> { node(carbideWallLarge, () -> {
@@ -275,55 +284,55 @@ public class ErekirTechTree{
}); });
node(tankFabricator, Seq.with(new Research(siliconArcFurnace), new Research(plasmaBore), new Research(turbineCondenser)), () -> { node(tankFabricator, Seq.with(new Research(siliconArcFurnace), new Research(plasmaBore), new Research(turbineCondenser)), () -> {
node(UnitTypes.stell, () -> { node(UnitTypes.stell);
});
node(unitRepairTower, Seq.with(new OnSector(two)), () -> { node(unitRepairTower, Seq.with(new OnSector(two)), () -> {
}); });
node(shipFabricator, Seq.with(new OnSector(two)), () -> { node(shipFabricator, Seq.with(new OnSector(two)), () -> {
node(UnitTypes.elude, () -> { node(UnitTypes.elude);
});
node(mechFabricator, Seq.with(new OnSector(three)), () -> { node(mechFabricator, Seq.with(new OnSector(three)), () -> {
node(UnitTypes.merui, () -> { node(UnitTypes.merui);
}); node(tankRefabricator, Seq.with(new OnSector(three)), () -> {
node(refabricator, Seq.with(new OnSector(three)), () -> {
node(UnitTypes.cleroi);
node(UnitTypes.avert);
node(UnitTypes.locus); node(UnitTypes.locus);
//TODO node(mechRefabricator, Seq.with(new OnSector(three)), () -> {
node(primeRefabricator, () -> { node(UnitTypes.cleroi);
node(UnitTypes.precept);
node(UnitTypes.anthicus);
node(UnitTypes.obviate);
});
node(tankAssembler, Seq.with(new OnSector(three), new Research(constructor), new Research(atmosphericConcentrator)), () -> { node(shipRefabricator, Seq.with(new OnSector(four), tmpNever), () -> {
node(UnitTypes.avert);
node(UnitTypes.vanquish, () -> {
node(UnitTypes.conquer, Seq.with(tmpNever), () -> {
//TODO
node(primeRefabricator, () -> {
node(UnitTypes.precept);
node(UnitTypes.anthicus);
node(UnitTypes.obviate);
}); });
});
node(shipAssembler, Seq.with(new OnSector(four)), () -> { node(tankAssembler, Seq.with(new OnSector(three), new Research(constructor), new Research(atmosphericConcentrator)), () -> {
node(UnitTypes.quell, () -> {
node(UnitTypes.disrupt, Seq.with(tmpNever), () -> {
node(UnitTypes.vanquish, () -> {
node(UnitTypes.conquer, Seq.with(tmpNever), () -> {
});
}); });
});
node(mechAssembler, Seq.with(tmpNever), () -> { node(shipAssembler, Seq.with(new OnSector(four)), () -> {
node(UnitTypes.tecta, () -> { node(UnitTypes.quell, () -> {
node(UnitTypes.collaris, Seq.with(tmpNever), () -> { node(UnitTypes.disrupt, Seq.with(tmpNever), () -> {
});
});
node(mechAssembler, Seq.with(tmpNever), () -> {
node(UnitTypes.tecta, () -> {
node(UnitTypes.collaris, Seq.with(tmpNever), () -> {
});
});
}); });
}); });
}); });
@@ -387,9 +396,6 @@ public class ErekirTechTree{
}); });
nodeProduce(Liquids.gallium, () -> { nodeProduce(Liquids.gallium, () -> {
nodeProduce(Items.scrap, () -> {
});
}); });
}); });
}); });
+4 -4
View File
@@ -2640,7 +2640,7 @@ public class UnitTypes{
hitSize = 28f; hitSize = 28f;
treadPullOffset = 4; treadPullOffset = 4;
speed = 0.63f; speed = 0.63f;
health = 9000; health = 10000;
armor = 20f; armor = 20f;
itemCapacity = 0; itemCapacity = 0;
crushDamage = 13f / 5f; crushDamage = 13f / 5f;
@@ -2734,7 +2734,7 @@ public class UnitTypes{
hitSize = 46f; hitSize = 46f;
treadPullOffset = 1; treadPullOffset = 1;
speed = 0.48f; speed = 0.48f;
health = 20000; health = 22000;
armor = 25f; armor = 25f;
crushDamage = 25f / 5f; crushDamage = 25f / 5f;
rotateSpeed = 0.8f; rotateSpeed = 0.8f;
@@ -3701,7 +3701,7 @@ public class UnitTypes{
speed = 1.1f; speed = 1.1f;
rotateSpeed = 3.2f; rotateSpeed = 3.2f;
accel = 0.1f; accel = 0.1f;
health = 3000f; health = 8000f;
armor = 5f; armor = 5f;
hitSize = 36f; hitSize = 36f;
payloadCapacity = Mathf.sqr(3f) * tilePayload; payloadCapacity = Mathf.sqr(3f) * tilePayload;
@@ -3770,7 +3770,7 @@ public class UnitTypes{
speed = 1f; speed = 1f;
rotateSpeed = 2f; rotateSpeed = 2f;
accel = 0.1f; accel = 0.1f;
health = 10000f; health = 12000f;
armor = 7f; armor = 7f;
hitSize = 46f; hitSize = 46f;
payloadCapacity = Mathf.sqr(6f) * tilePayload; payloadCapacity = Mathf.sqr(6f) * tilePayload;
+1 -1
View File
@@ -25,4 +25,4 @@ org.gradle.caching=true
#used for slow jitpack builds; TODO see if this actually works #used for slow jitpack builds; TODO see if this actually works
org.gradle.internal.http.socketTimeout=100000 org.gradle.internal.http.socketTimeout=100000
org.gradle.internal.http.connectionTimeout=100000 org.gradle.internal.http.connectionTimeout=100000
archash=35479e2ea8 archash=dfcb21ce56