1/2 cost rebalance

This commit is contained in:
Anuken
2019-08-02 13:22:45 -04:00
parent 8e84e7284e
commit 878af1ea28
2 changed files with 159 additions and 151 deletions

View File

@@ -411,7 +411,7 @@ public class Blocks implements ContentList{
//region crafting
graphitePress = new GenericCrafter("graphite-press"){{
requirements(Category.crafting, ItemStack.with(Items.copper, 150, Items.lead, 60));
requirements(Category.crafting, ItemStack.with(Items.copper, 75, Items.lead, 30));
craftEffect = Fx.pulverizeMedium;
outputItem = new ItemStack(Items.graphite, 1);
@@ -423,7 +423,7 @@ public class Blocks implements ContentList{
}};
multiPress = new GenericCrafter("multi-press"){{
requirements(Category.crafting, ItemStack.with(Items.titanium, 200, Items.silicon, 50, Items.lead, 200, Items.graphite, 100));
requirements(Category.crafting, ItemStack.with(Items.titanium, 100, Items.silicon, 25, Items.lead, 100, Items.graphite, 50));
craftEffect = Fx.pulverizeMedium;
outputItem = new ItemStack(Items.graphite, 2);
@@ -439,7 +439,7 @@ public class Blocks implements ContentList{
}};
siliconSmelter = new GenericSmelter("silicon-smelter"){{
requirements(Category.crafting, ItemStack.with(Items.copper, 60, Items.lead, 50));
requirements(Category.crafting, ItemStack.with(Items.copper, 30, Items.lead, 25));
craftEffect = Fx.smeltsmoke;
outputItem = new ItemStack(Items.silicon, 1);
craftTime = 40f;
@@ -453,7 +453,7 @@ public class Blocks implements ContentList{
}};
kiln = new GenericSmelter("kiln"){{
requirements(Category.crafting, ItemStack.with(Items.copper, 120, Items.graphite, 60, Items.lead, 60));
requirements(Category.crafting, ItemStack.with(Items.copper, 60, Items.graphite, 30, Items.lead, 30));
craftEffect = Fx.smeltsmoke;
outputItem = new ItemStack(Items.metaglass, 1);
craftTime = 30f;
@@ -466,7 +466,7 @@ public class Blocks implements ContentList{
}};
plastaniumCompressor = new GenericCrafter("plastanium-compressor"){{
requirements(Category.crafting, ItemStack.with(Items.silicon, 160, Items.lead, 230, Items.graphite, 120, Items.titanium, 160));
requirements(Category.crafting, ItemStack.with(Items.silicon, 80, Items.lead, 115, Items.graphite, 60, Items.titanium, 80));
hasItems = true;
liquidCapacity = 60f;
craftTime = 60f;
@@ -495,7 +495,7 @@ public class Blocks implements ContentList{
}};
phaseWeaver = new GenericCrafter("phase-weaver"){{
requirements(Category.crafting, ItemStack.with(Items.silicon, 260, Items.lead, 240, Items.thorium, 150));
requirements(Category.crafting, ItemStack.with(Items.silicon, 130, Items.lead, 120, Items.thorium, 75));
craftEffect = Fx.smeltsmoke;
outputItem = new ItemStack(Items.phasefabric, 1);
craftTime = 120f;
@@ -531,7 +531,7 @@ public class Blocks implements ContentList{
}};
surgeSmelter = new GenericSmelter("alloy-smelter"){{
requirements(Category.crafting, ItemStack.with(Items.silicon, 160, Items.lead, 160, Items.thorium, 140));
requirements(Category.crafting, ItemStack.with(Items.silicon, 80, Items.lead, 80, Items.thorium, 70));
craftEffect = Fx.smeltsmoke;
outputItem = new ItemStack(Items.surgealloy, 1);
craftTime = 75f;
@@ -543,7 +543,7 @@ public class Blocks implements ContentList{
}};
cryofluidMixer = new LiquidConverter("cryofluidmixer"){{
requirements(Category.crafting, ItemStack.with(Items.lead, 130, Items.silicon, 80, Items.titanium, 120));
requirements(Category.crafting, ItemStack.with(Items.lead, 65, Items.silicon, 40, Items.titanium, 60));
outputLiquid = new LiquidStack(Liquids.cryofluid, 0.1f);
craftTime = 60f;
size = 2;
@@ -581,7 +581,7 @@ public class Blocks implements ContentList{
}};
blastMixer = new GenericCrafter("blast-mixer"){{
requirements(Category.crafting, ItemStack.with(Items.lead, 60, Items.titanium, 40));
requirements(Category.crafting, ItemStack.with(Items.lead, 30, Items.titanium, 20));
hasItems = true;
hasPower = true;
outputItem = new ItemStack(Items.blastCompound, 1);
@@ -592,7 +592,7 @@ public class Blocks implements ContentList{
}};
pyratiteMixer = new GenericSmelter("pyratite-mixer"){{
requirements(Category.crafting, ItemStack.with(Items.copper, 100, Items.lead, 50));
requirements(Category.crafting, ItemStack.with(Items.copper, 50, Items.lead, 25));
flameColor = Color.CLEAR;
hasItems = true;
hasPower = true;
@@ -605,7 +605,7 @@ public class Blocks implements ContentList{
}};
melter = new GenericCrafter("melter"){{
requirements(Category.crafting, ItemStack.with(Items.copper, 60, Items.lead, 70, Items.graphite, 90));
requirements(Category.crafting, ItemStack.with(Items.copper, 30, Items.lead, 35, Items.graphite, 45));
health = 200;
outputLiquid = new LiquidStack(Liquids.slag, 2f);
craftTime = 10f;
@@ -616,12 +616,12 @@ public class Blocks implements ContentList{
}};
separator = new Separator("separator"){{
requirements(Category.crafting, ItemStack.with(Items.copper, 60, Items.titanium, 50));
requirements(Category.crafting, ItemStack.with(Items.copper, 30, Items.titanium, 25));
results = ItemStack.with(
Items.copper, 5,
Items.lead, 3,
Items.graphite, 2,
Items.titanium, 2
Items.copper, 5,
Items.lead, 3,
Items.graphite, 2,
Items.titanium, 2
);
hasPower = true;
craftTime = 35f;
@@ -636,7 +636,7 @@ public class Blocks implements ContentList{
}};
sporePress = new GenericCrafter("spore-press"){{
requirements(Category.crafting, ItemStack.with(Items.lead, 70, Items.silicon, 60));
requirements(Category.crafting, ItemStack.with(Items.lead, 35, Items.silicon, 30));
liquidCapacity = 60f;
craftTime = 20f;
outputLiquid = new LiquidStack(Liquids.oil, 6f);
@@ -672,7 +672,7 @@ public class Blocks implements ContentList{
}};
pulverizer = new GenericCrafter("pulverizer"){{
requirements(Category.crafting, ItemStack.with(Items.copper, 60, Items.lead, 50));
requirements(Category.crafting, ItemStack.with(Items.copper, 30, Items.lead, 25));
outputItem = new ItemStack(Items.sand, 1);
craftEffect = Fx.pulverize;
craftTime = 40f;
@@ -695,7 +695,7 @@ public class Blocks implements ContentList{
}};
coalCentrifuge = new GenericCrafter("coal-centrifuge"){{
requirements(Category.crafting, ItemStack.with(Items.titanium, 40, Items.graphite, 80, Items.lead, 60));
requirements(Category.crafting, ItemStack.with(Items.titanium, 20, Items.graphite, 40, Items.lead, 30));
craftEffect = Fx.smeltsmoke;
outputItem = new ItemStack(Items.coal, 1);
craftTime = 30f;
@@ -707,7 +707,7 @@ public class Blocks implements ContentList{
}};
incinerator = new Incinerator("incinerator"){{
requirements(Category.crafting, ItemStack.with(Items.graphite, 10, Items.lead, 30));
requirements(Category.crafting, ItemStack.with(Items.graphite, 5, Items.lead, 15));
health = 90;
consumes.power(0.50f);
}};
@@ -773,67 +773,67 @@ public class Blocks implements ContentList{
}};
copperWall = new Wall("copper-wall"){{
requirements(Category.defense, ItemStack.with(Items.copper, 12));
requirements(Category.defense, ItemStack.with(Items.copper, 6));
health = 80 * wallHealthMultiplier;
}};
copperWallLarge = new Wall("copper-wall-large"){{
requirements(Category.defense, ItemStack.with(Items.copper, 12 * 4));
requirements(Category.defense, ItemStack.mult(copperWall.buildRequirements, 4));
health = 80 * 4 * wallHealthMultiplier;
size = 2;
}};
titaniumWall = new Wall("titanium-wall"){{
requirements(Category.defense, ItemStack.with(Items.titanium, 12));
requirements(Category.defense, ItemStack.with(Items.titanium, 6));
health = 110 * wallHealthMultiplier;
}};
titaniumWallLarge = new Wall("titanium-wall-large"){{
requirements(Category.defense, ItemStack.with(Items.titanium, 12 * 4));
requirements(Category.defense, ItemStack.mult(titaniumWall.buildRequirements, 4));
health = 110 * wallHealthMultiplier * 4;
size = 2;
}};
thoriumWall = new Wall("thorium-wall"){{
requirements(Category.defense, ItemStack.with(Items.thorium, 12));
requirements(Category.defense, ItemStack.with(Items.thorium, 6));
health = 200 * wallHealthMultiplier;
}};
thoriumWallLarge = new Wall("thorium-wall-large"){{
requirements(Category.defense, ItemStack.with(Items.thorium, 12 * 4));
requirements(Category.defense, ItemStack.mult(thoriumWall.buildRequirements, 4));
health = 200 * wallHealthMultiplier * 4;
size = 2;
}};
phaseWall = new DeflectorWall("phase-wall"){{
requirements(Category.defense, ItemStack.with(Items.phasefabric, 12));
requirements(Category.defense, ItemStack.with(Items.phasefabric, 6));
health = 150 * wallHealthMultiplier;
}};
phaseWallLarge = new DeflectorWall("phase-wall-large"){{
requirements(Category.defense, ItemStack.with(Items.phasefabric, 12 * 4));
requirements(Category.defense, ItemStack.mult(phaseWall.buildRequirements, 4));
health = 150 * 4 * wallHealthMultiplier;
size = 2;
}};
surgeWall = new SurgeWall("surge-wall"){{
requirements(Category.defense, ItemStack.with(Items.surgealloy, 12));
requirements(Category.defense, ItemStack.with(Items.surgealloy, 6));
health = 230 * wallHealthMultiplier;
}};
surgeWallLarge = new SurgeWall("surge-wall-large"){{
requirements(Category.defense, ItemStack.with(Items.surgealloy, 12 * 4));
requirements(Category.defense, ItemStack.mult(surgeWall.buildRequirements, 4));
health = 230 * 4 * wallHealthMultiplier;
size = 2;
}};
door = new Door("door"){{
requirements(Category.defense, ItemStack.with(Items.titanium, 12, Items.silicon, 8));
requirements(Category.defense, ItemStack.with(Items.titanium, 6, Items.silicon, 4));
health = 100 * wallHealthMultiplier;
}};
doorLarge = new Door("door-large"){{
requirements(Category.defense, ItemStack.with(Items.titanium, 12 * 4, Items.silicon, 8 * 4));
requirements(Category.defense, ItemStack.mult(door.buildRequirements, 4));
openfx = Fx.dooropenlarge;
closefx = Fx.doorcloselarge;
health = 100 * 4 * wallHealthMultiplier;
@@ -841,7 +841,7 @@ public class Blocks implements ContentList{
}};
mender = new MendProjector("mender"){{
requirements(Category.effect, ItemStack.with(Items.lead, 60, Items.copper, 50));
requirements(Category.effect, ItemStack.with(Items.lead, 30, Items.copper, 25));
consumes.power(0.3f);
size = 1;
reload = 200f;
@@ -854,7 +854,7 @@ public class Blocks implements ContentList{
}};
mendProjector = new MendProjector("mend-projector"){{
requirements(Category.effect, ItemStack.with(Items.lead, 200, Items.titanium, 50, Items.silicon, 80));
requirements(Category.effect, ItemStack.with(Items.lead, 100, Items.titanium, 25, Items.silicon, 40));
consumes.power(1.5f);
size = 2;
reload = 250f;
@@ -865,21 +865,21 @@ public class Blocks implements ContentList{
}};
overdriveProjector = new OverdriveProjector("overdrive-projector"){{
requirements(Category.effect, ItemStack.with(Items.lead, 200, Items.titanium, 150, Items.silicon, 150, Items.plastanium, 60));
requirements(Category.effect, ItemStack.with(Items.lead, 100, Items.titanium, 75, Items.silicon, 75, Items.plastanium, 30));
consumes.power(3.50f);
size = 2;
consumes.item(Items.phasefabric).boost();
}};
forceProjector = new ForceProjector("force-projector"){{
requirements(Category.effect, ItemStack.with(Items.lead, 200, Items.titanium, 150, Items.silicon, 250));
requirements(Category.effect, ItemStack.with(Items.lead, 100, Items.titanium, 75, Items.silicon, 125));
size = 3;
consumes.item(Items.phasefabric).boost();
consumes.power(3f);
}};
shockMine = new ShockMine("shock-mine"){{
requirements(Category.effect, ItemStack.with(Items.lead, 50, Items.silicon, 25));
requirements(Category.effect, ItemStack.with(Items.lead, 25, Items.silicon, 12));
hasShadow = false;
health = 40;
damage = 11;
@@ -898,53 +898,53 @@ public class Blocks implements ContentList{
}};
titaniumConveyor = new Conveyor("titanium-conveyor"){{
requirements(Category.distribution, ItemStack.with(Items.copper, 2, Items.lead, 1, Items.titanium, 1));
requirements(Category.distribution, ItemStack.with(Items.copper, 1, Items.lead, 1, Items.titanium, 1));
health = 65;
speed = 0.08f;
}};
junction = new Junction("junction"){{
requirements(Category.distribution, ItemStack.with(Items.copper, 3), true);
requirements(Category.distribution, ItemStack.with(Items.copper, 1), true);
speed = 26;
capacity = 15;
health = 30;
}};
itemBridge = new BufferedItemBridge("bridge-conveyor"){{
requirements(Category.distribution, ItemStack.with(Items.lead, 8, Items.copper, 8));
requirements(Category.distribution, ItemStack.with(Items.lead, 4, Items.copper, 4));
range = 4;
speed = 70f;
bufferCapacity = 15;
}};
phaseConveyor = new ItemBridge("phase-conveyor"){{
requirements(Category.distribution, ItemStack.with(Items.phasefabric, 10, Items.silicon, 15, Items.lead, 20, Items.graphite, 20));
requirements(Category.distribution, ItemStack.with(Items.phasefabric, 5, Items.silicon, 7, Items.lead, 10, Items.graphite, 10));
range = 12;
hasPower = true;
consumes.power(0.30f);
}};
sorter = new Sorter("sorter"){{
requirements(Category.distribution, ItemStack.with(Items.lead, 4, Items.copper, 4));
requirements(Category.distribution, ItemStack.with(Items.lead, 2, Items.copper, 2));
}};
router = new Router("router"){{
requirements(Category.distribution, ItemStack.with(Items.copper, 6));
requirements(Category.distribution, ItemStack.with(Items.copper, 3));
}};
distributor = new Router("distributor"){{
requirements(Category.distribution, ItemStack.with(Items.lead, 8, Items.copper, 8));
requirements(Category.distribution, ItemStack.with(Items.lead, 4, Items.copper, 4));
size = 2;
}};
overflowGate = new OverflowGate("overflow-gate"){{
requirements(Category.distribution, ItemStack.with(Items.lead, 4, Items.copper, 8));
requirements(Category.distribution, ItemStack.with(Items.lead, 2, Items.copper, 4));
}};
massDriver = new MassDriver("mass-driver"){{
requirements(Category.distribution, ItemStack.with(Items.titanium, 250, Items.silicon, 150, Items.lead, 250, Items.thorium, 100));
requirements(Category.distribution, ItemStack.with(Items.titanium, 125, Items.silicon, 75, Items.lead, 125, Items.thorium, 50));
size = 3;
itemCapacity = 120;
reloadTime = 200f;
@@ -956,12 +956,12 @@ public class Blocks implements ContentList{
//region liquid
mechanicalPump = new Pump("mechanical-pump"){{
requirements(Category.liquid, ItemStack.with(Items.copper, 30, Items.lead, 20));
requirements(Category.liquid, ItemStack.with(Items.copper, 15, Items.lead, 10));
pumpAmount = 0.1f;
}};
rotaryPump = new Pump("rotary-pump"){{
requirements(Category.liquid, ItemStack.with(Items.copper, 140, Items.lead, 100, Items.silicon, 40, Items.titanium, 70));
requirements(Category.liquid, ItemStack.with(Items.copper, 70, Items.lead, 50, Items.silicon, 20, Items.titanium, 35));
pumpAmount = 0.8f;
consumes.power(0.15f);
liquidCapacity = 30f;
@@ -970,7 +970,7 @@ public class Blocks implements ContentList{
}};
thermalPump = new Pump("thermal-pump"){{
requirements(Category.liquid, ItemStack.with(Items.copper, 160, Items.lead, 130, Items.silicon, 60, Items.titanium, 80, Items.thorium, 70));
requirements(Category.liquid, ItemStack.with(Items.copper, 80, Items.lead, 65, Items.silicon, 30, Items.titanium, 40, Items.thorium, 35));
pumpAmount = 1.5f;
consumes.power(0.30f);
liquidCapacity = 40f;
@@ -984,36 +984,36 @@ public class Blocks implements ContentList{
}};
pulseConduit = new Conduit("pulse-conduit"){{
requirements(Category.liquid, ItemStack.with(Items.titanium, 1, Items.metaglass, 2));
requirements(Category.liquid, ItemStack.with(Items.titanium, 1, Items.metaglass, 1));
liquidCapacity = 16f;
liquidFlowFactor = 4.9f;
health = 90;
}};
liquidRouter = new LiquidRouter("liquid-router"){{
requirements(Category.liquid, ItemStack.with(Items.titanium, 4, Items.metaglass, 4));
requirements(Category.liquid, ItemStack.with(Items.titanium, 2, Items.metaglass, 2));
liquidCapacity = 20f;
}};
liquidTank = new LiquidTank("liquid-tank"){{
requirements(Category.liquid, ItemStack.with(Items.titanium, 50, Items.metaglass, 50));
requirements(Category.liquid, ItemStack.with(Items.titanium, 25, Items.metaglass, 25));
size = 3;
liquidCapacity = 1500f;
health = 500;
}};
liquidJunction = new LiquidJunction("liquid-junction"){{
requirements(Category.liquid, ItemStack.with(Items.titanium, 4, Items.metaglass, 4));
requirements(Category.liquid, ItemStack.with(Items.titanium, 2, Items.metaglass, 2));
}};
bridgeConduit = new LiquidExtendingBridge("bridge-conduit"){{
requirements(Category.liquid, ItemStack.with(Items.titanium, 8, Items.metaglass, 8));
requirements(Category.liquid, ItemStack.with(Items.titanium, 4, Items.metaglass, 4));
range = 4;
hasPower = false;
}};
phaseConduit = new LiquidBridge("phase-conduit"){{
requirements(Category.liquid, ItemStack.with(Items.phasefabric, 10, Items.silicon, 15, Items.metaglass, 40, Items.titanium, 20));
requirements(Category.liquid, ItemStack.with(Items.phasefabric, 5, Items.silicon, 7, Items.metaglass, 20, Items.titanium, 10));
range = 12;
hasPower = true;
consumes.power(0.30f);
@@ -1023,51 +1023,51 @@ public class Blocks implements ContentList{
//region power
powerNode = new PowerNode("power-node"){{
requirements(Category.power, ItemStack.with(Items.copper, 2, Items.lead, 6));
requirements(Category.power, ItemStack.with(Items.copper, 1, Items.lead, 3));
maxNodes = 4;
laserRange = 6;
}};
powerNodeLarge = new PowerNode("power-node-large"){{
requirements(Category.power, ItemStack.with(Items.titanium, 10, Items.lead, 20, Items.silicon, 6));
requirements(Category.power, ItemStack.with(Items.titanium, 5, Items.lead, 10, Items.silicon, 3));
size = 2;
maxNodes = 6;
laserRange = 9.5f;
}};
surgeTower = new PowerNode("surge-tower"){{
requirements(Category.power, ItemStack.with(Items.titanium, 15, Items.lead, 20, Items.silicon, 30, Items.surgealloy, 30));
requirements(Category.power, ItemStack.with(Items.titanium, 7, Items.lead, 10, Items.silicon, 15, Items.surgealloy, 15));
size = 2;
maxNodes = 2;
laserRange = 30f;
}};
battery = new Battery("battery"){{
requirements(Category.power, ItemStack.with(Items.copper, 8, Items.lead, 40));
requirements(Category.power, ItemStack.with(Items.copper, 4, Items.lead, 20));
consumes.powerBuffered(4000f);
}};
batteryLarge = new Battery("battery-large"){{
requirements(Category.power, ItemStack.with(Items.titanium, 40, Items.lead, 80, Items.silicon, 40));
requirements(Category.power, ItemStack.with(Items.titanium, 20, Items.lead, 40, Items.silicon, 20));
size = 3;
consumes.powerBuffered(50000f);
}};
combustionGenerator = new BurnerGenerator("combustion-generator"){{
requirements(Category.power, ItemStack.with(Items.copper, 50, Items.lead, 30));
requirements(Category.power, ItemStack.with(Items.copper, 25, Items.lead, 15));
powerProduction = 1f;
itemDuration = 60f;
}};
thermalGenerator = new ThermalGenerator("thermal-generator"){{
requirements(Category.power, ItemStack.with(Items.copper, 80, Items.graphite, 70, Items.lead, 100, Items.silicon, 70, Items.metaglass, 80));
requirements(Category.power, ItemStack.with(Items.copper, 40, Items.graphite, 35, Items.lead, 50, Items.silicon, 35, Items.metaglass, 40));
powerProduction = 1.8f;
generateEffect = Fx.redgeneratespark;
size = 2;
}};
turbineGenerator = new BurnerGenerator("turbine-generator"){{
requirements(Category.power, ItemStack.with(Items.copper, 70, Items.graphite, 50, Items.lead, 80, Items.silicon, 60));
requirements(Category.power, ItemStack.with(Items.copper, 35, Items.graphite, 25, Items.lead, 40, Items.silicon, 30));
powerProduction = 6f;
itemDuration = 40f;
consumes.liquid(Liquids.water, 0.05f);
@@ -1076,7 +1076,7 @@ public class Blocks implements ContentList{
}};
differentialGenerator = new SingleTypeGenerator(true, false, "differential-generator"){{
requirements(Category.power, ItemStack.with(Items.copper, 140, Items.titanium, 100, Items.lead, 200, Items.silicon, 130, Items.metaglass, 100));
requirements(Category.power, ItemStack.with(Items.copper, 70, Items.titanium, 50, Items.lead, 100, Items.silicon, 65, Items.metaglass, 50));
powerProduction = 16f;
itemDuration = 60f;
hasLiquids = true;
@@ -1087,25 +1087,25 @@ public class Blocks implements ContentList{
}};
rtgGenerator = new DecayGenerator("rtg-generator"){{
requirements(Category.power, ItemStack.with(Items.lead, 200, Items.silicon, 150, Items.phasefabric, 50, Items.plastanium, 150, Items.thorium, 100));
requirements(Category.power, ItemStack.with(Items.lead, 100, Items.silicon, 75, Items.phasefabric, 25, Items.plastanium, 75, Items.thorium, 50));
size = 2;
powerProduction = 3f;
itemDuration = 220f;
}};
solarPanel = new SolarGenerator("solar-panel"){{
requirements(Category.power, ItemStack.with(Items.lead, 20, Items.silicon, 30));
requirements(Category.power, ItemStack.with(Items.lead, 10, Items.silicon, 15));
powerProduction = 0.06f;
}};
largeSolarPanel = new SolarGenerator("solar-panel-large"){{
requirements(Category.power, ItemStack.with(Items.lead, 200, Items.silicon, 290, Items.phasefabric, 30));
requirements(Category.power, ItemStack.with(Items.lead, 100, Items.silicon, 145, Items.phasefabric, 15));
size = 3;
powerProduction = 0.9f;
}};
thoriumReactor = new NuclearReactor("thorium-reactor"){{
requirements(Category.power, ItemStack.with(Items.lead, 600, Items.silicon, 400, Items.graphite, 300, Items.thorium, 300, Items.metaglass, 100));
requirements(Category.power, ItemStack.with(Items.lead, 300, Items.silicon, 200, Items.graphite, 150, Items.thorium, 150, Items.metaglass, 50));
size = 3;
health = 700;
powerProduction = 14f;
@@ -1115,7 +1115,7 @@ public class Blocks implements ContentList{
}};
impactReactor = new ImpactReactor("impact-reactor"){{
requirements(Category.power, ItemStack.with(Items.lead, 1000, Items.silicon, 600, Items.graphite, 800, Items.thorium, 200, Items.surgealloy, 500, Items.metaglass, 500));
requirements(Category.power, ItemStack.with(Items.lead, 500, Items.silicon, 300, Items.graphite, 400, Items.thorium, 100, Items.surgealloy, 250, Items.metaglass, 250));
size = 4;
health = 900;
powerProduction = 130f;
@@ -1129,7 +1129,7 @@ public class Blocks implements ContentList{
//region production
mechanicalDrill = new Drill("mechanical-drill"){{
requirements(Category.production, ItemStack.with(Items.copper, 25), true);
requirements(Category.production, ItemStack.with(Items.copper, 12), true);
tier = 2;
drillTime = 600;
size = 2;
@@ -1138,7 +1138,7 @@ public class Blocks implements ContentList{
}};
pneumaticDrill = new Drill("pneumatic-drill"){{
requirements(Category.production, ItemStack.with(Items.copper, 35, Items.graphite, 15));
requirements(Category.production, ItemStack.with(Items.copper, 17, Items.graphite, 7));
tier = 3;
drillTime = 400;
size = 2;
@@ -1147,7 +1147,7 @@ public class Blocks implements ContentList{
}};
laserDrill = new Drill("laser-drill"){{
requirements(Category.production, ItemStack.with(Items.copper, 70, Items.graphite, 60, Items.silicon, 60, Items.titanium, 40));
requirements(Category.production, ItemStack.with(Items.copper, 35, Items.graphite, 30, Items.silicon, 30, Items.titanium, 20));
drillTime = 280;
size = 3;
hasPower = true;
@@ -1160,7 +1160,7 @@ public class Blocks implements ContentList{
}};
blastDrill = new Drill("blast-drill"){{
requirements(Category.production, ItemStack.with(Items.copper, 130, Items.silicon, 120, Items.titanium, 100, Items.thorium, 150));
requirements(Category.production, ItemStack.with(Items.copper, 65, Items.silicon, 60, Items.titanium, 50, Items.thorium, 75));
drillTime = 280;
size = 4;
drawRim = true;
@@ -1177,7 +1177,7 @@ public class Blocks implements ContentList{
}};
waterExtractor = new SolidPump("water-extractor"){{
requirements(Category.production, ItemStack.with(Items.copper, 50, Items.graphite, 50, Items.lead, 40));
requirements(Category.production, ItemStack.with(Items.copper, 25, Items.graphite, 25, Items.lead, 20));
result = Liquids.water;
pumpAmount = 0.13f;
size = 2;
@@ -1189,7 +1189,7 @@ public class Blocks implements ContentList{
}};
cultivator = new Cultivator("cultivator"){{
requirements(Category.production, ItemStack.with(Items.copper, 20, Items.lead, 50, Items.silicon, 20));
requirements(Category.production, ItemStack.with(Items.copper, 10, Items.lead, 25, Items.silicon, 10));
outputItem = new ItemStack(Items.sporePod, 1);
craftTime = 140;
size = 2;
@@ -1202,7 +1202,7 @@ public class Blocks implements ContentList{
}};
oilExtractor = new Fracker("oil-extractor"){{
requirements(Category.production, ItemStack.with(Items.copper, 300, Items.graphite, 350, Items.lead, 230, Items.thorium, 230, Items.silicon, 150));
requirements(Category.production, ItemStack.with(Items.copper, 150, Items.graphite, 175, Items.lead, 115, Items.thorium, 115, Items.silicon, 75));
result = Liquids.oil;
updateEffect = Fx.pulverize;
liquidCapacity = 50f;
@@ -1221,7 +1221,7 @@ public class Blocks implements ContentList{
//region storage
coreShard = new CoreBlock("core-shard"){{
requirements(Category.effect, () -> false, ItemStack.with(Items.titanium, 2000));
requirements(Category.effect, () -> false, ItemStack.with(Items.titanium, 1000));
alwaysUnlocked = true;
health = 1100;
@@ -1230,7 +1230,7 @@ public class Blocks implements ContentList{
}};
coreFoundation = new CoreBlock("core-foundation"){{
requirements(Category.effect, () -> false, ItemStack.with(Items.titanium, 3000, Items.silicon, 2000));
requirements(Category.effect, () -> false, ItemStack.with(Items.titanium, 1500, Items.silicon, 1000));
health = 2000;
itemCapacity = 9000;
@@ -1238,7 +1238,7 @@ public class Blocks implements ContentList{
}};
coreNucleus = new CoreBlock("core-nucleus"){{
requirements(Category.effect, () -> false, ItemStack.with(Items.titanium, 8000, Items.silicon, 4000, Items.surgealloy, 2000));
requirements(Category.effect, () -> false, ItemStack.with(Items.titanium, 4000, Items.silicon, 2000, Items.surgealloy, 1000));
health = 4000;
itemCapacity = 13000;
@@ -1246,24 +1246,24 @@ public class Blocks implements ContentList{
}};
vault = new Vault("vault"){{
requirements(Category.effect, ItemStack.with(Items.titanium, 500, Items.thorium, 250));
requirements(Category.effect, ItemStack.with(Items.titanium, 250, Items.thorium, 125));
size = 3;
itemCapacity = 1000;
}};
container = new Vault("container"){{
requirements(Category.effect, ItemStack.with(Items.titanium, 200));
requirements(Category.effect, ItemStack.with(Items.titanium, 100));
size = 2;
itemCapacity = 300;
}};
unloader = new Unloader("unloader"){{
requirements(Category.effect, ItemStack.with(Items.titanium, 50, Items.silicon, 60));
requirements(Category.effect, ItemStack.with(Items.titanium, 25, Items.silicon, 30));
speed = 7f;
}};
launchPad = new LaunchPad("launch-pad"){{
requirements(Category.effect, () -> world.isZone(), ItemStack.with(Items.copper, 500, Items.silicon, 150, Items.lead, 200));
requirements(Category.effect, () -> world.isZone(), ItemStack.with(Items.copper, 250, Items.silicon, 75, Items.lead, 100));
size = 3;
itemCapacity = 100;
launchTime = 60f * 16;
@@ -1272,7 +1272,7 @@ public class Blocks implements ContentList{
}};
launchPadLarge = new LaunchPad("launch-pad-large"){{
requirements(Category.effect, () -> world.isZone(), ItemStack.with(Items.titanium, 400, Items.silicon, 300, Items.lead, 500, Items.plastanium, 150));
requirements(Category.effect, () -> world.isZone(), ItemStack.with(Items.titanium, 200, Items.silicon, 150, Items.lead, 250, Items.plastanium, 75));
size = 4;
itemCapacity = 250;
launchTime = 60f * 14;
@@ -1285,12 +1285,12 @@ public class Blocks implements ContentList{
//region turrets
duo = new DoubleTurret("duo"){{
requirements(Category.turret, ItemStack.with(Items.copper, 70), true);
requirements(Category.turret, ItemStack.with(Items.copper, 35), true);
ammo(
Items.copper, Bullets.standardCopper,
Items.graphite, Bullets.standardDense,
Items.pyratite, Bullets.standardIncendiary,
Items.silicon, Bullets.standardHoming
Items.copper, Bullets.standardCopper,
Items.graphite, Bullets.standardDense,
Items.pyratite, Bullets.standardIncendiary,
Items.silicon, Bullets.standardHoming
);
reload = 20f;
restitution = 0.03f;
@@ -1303,10 +1303,10 @@ public class Blocks implements ContentList{
}};
scatter = new BurstTurret("scatter"){{
requirements(Category.turret, ItemStack.with(Items.copper, 170, Items.lead, 90));
requirements(Category.turret, ItemStack.with(Items.copper, 85, Items.lead, 45));
ammo(
Items.scrap, Bullets.flakScrap,
Items.lead, Bullets.flakLead
Items.scrap, Bullets.flakScrap,
Items.lead, Bullets.flakLead
);
reload = 18f;
range = 170f;
@@ -1324,10 +1324,10 @@ public class Blocks implements ContentList{
}};
scorch = new ItemTurret("scorch"){{
requirements(Category.turret, ItemStack.with(Items.copper, 50, Items.graphite, 45));
requirements(Category.turret, ItemStack.with(Items.copper, 25, Items.graphite, 22));
ammo(
Items.coal, Bullets.basicFlame,
Items.pyratite, Bullets.pyraFlame
Items.coal, Bullets.basicFlame,
Items.pyratite, Bullets.pyraFlame
);
recoil = 0f;
reload = 4f;
@@ -1339,11 +1339,11 @@ public class Blocks implements ContentList{
}};
hail = new ArtilleryTurret("hail"){{
requirements(Category.turret, ItemStack.with(Items.copper, 80, Items.graphite, 35));
requirements(Category.turret, ItemStack.with(Items.copper, 40, Items.graphite, 17));
ammo(
Items.graphite, Bullets.artilleryDense,
Items.silicon, Bullets.artilleryHoming,
Items.pyratite, Bullets.artlleryIncendiary
Items.graphite, Bullets.artilleryDense,
Items.silicon, Bullets.artilleryHoming,
Items.pyratite, Bullets.artlleryIncendiary
);
reload = 60f;
recoil = 2f;
@@ -1354,12 +1354,12 @@ public class Blocks implements ContentList{
}};
wave = new LiquidTurret("wave"){{
requirements(Category.turret, ItemStack.with(Items.metaglass, 90, Items.lead, 150));
requirements(Category.turret, ItemStack.with(Items.metaglass, 45, Items.lead, 75));
ammo(
Liquids.water, Bullets.waterShot,
Liquids.slag, Bullets.slagShot,
Liquids.cryofluid, Bullets.cryoShot,
Liquids.oil, Bullets.oilShot
Liquids.water, Bullets.waterShot,
Liquids.slag, Bullets.slagShot,
Liquids.cryofluid, Bullets.cryoShot,
Liquids.oil, Bullets.oilShot
);
size = 2;
recoil = 0f;
@@ -1381,7 +1381,7 @@ public class Blocks implements ContentList{
}};
lancer = new ChargeTurret("lancer"){{
requirements(Category.turret, ItemStack.with(Items.copper, 50, Items.lead, 100, Items.silicon, 90));
requirements(Category.turret, ItemStack.with(Items.copper, 25, Items.lead, 50, Items.silicon, 45));
range = 155f;
chargeTime = 50f;
chargeMaxDelay = 30f;
@@ -1403,7 +1403,7 @@ public class Blocks implements ContentList{
}};
arc = new PowerTurret("arc"){{
requirements(Category.turret, ItemStack.with(Items.copper, 70, Items.lead, 70));
requirements(Category.turret, ItemStack.with(Items.copper, 35, Items.lead, 35));
shootType = Bullets.arc;
reload = 24f;
shootCone = 40f;
@@ -1419,11 +1419,11 @@ public class Blocks implements ContentList{
}};
swarmer = new BurstTurret("swarmer"){{
requirements(Category.turret, ItemStack.with(Items.graphite, 70, Items.titanium, 70, Items.plastanium, 90, Items.silicon, 60));
requirements(Category.turret, ItemStack.with(Items.graphite, 35, Items.titanium, 35, Items.plastanium, 45, Items.silicon, 30));
ammo(
Items.blastCompound, Bullets.missileExplosive,
Items.pyratite, Bullets.missileIncendiary,
Items.surgealloy, Bullets.missileSurge
Items.blastCompound, Bullets.missileExplosive,
Items.pyratite, Bullets.missileIncendiary,
Items.surgealloy, Bullets.missileSurge
);
reload = 40f;
shots = 4;
@@ -1436,13 +1436,13 @@ public class Blocks implements ContentList{
}};
salvo = new BurstTurret("salvo"){{
requirements(Category.turret, ItemStack.with(Items.copper, 210, Items.graphite, 190, Items.titanium, 120));
requirements(Category.turret, ItemStack.with(Items.copper, 105, Items.graphite, 95, Items.titanium, 60));
ammo(
Items.copper, Bullets.standardCopper,
Items.graphite, Bullets.standardDense,
Items.pyratite, Bullets.standardIncendiary,
Items.silicon, Bullets.standardHoming,
Items.thorium, Bullets.standardThorium
Items.copper, Bullets.standardCopper,
Items.graphite, Bullets.standardDense,
Items.pyratite, Bullets.standardIncendiary,
Items.silicon, Bullets.standardHoming,
Items.thorium, Bullets.standardThorium
);
size = 2;
@@ -1460,7 +1460,7 @@ public class Blocks implements ContentList{
}};
fuse = new ItemTurret("fuse"){{
requirements(Category.turret, ItemStack.with(Items.copper, 450, Items.graphite, 450, Items.thorium, 200));
requirements(Category.turret, ItemStack.with(Items.copper, 225, Items.graphite, 225, Items.thorium, 100));
reload = 35f;
shootShake = 4f;
@@ -1512,13 +1512,13 @@ public class Blocks implements ContentList{
}};
ripple = new ArtilleryTurret("ripple"){{
requirements(Category.turret, ItemStack.with(Items.copper, 300, Items.graphite, 270, Items.titanium, 120));
requirements(Category.turret, ItemStack.with(Items.copper, 150, Items.graphite, 135, Items.titanium, 60));
ammo(
Items.graphite, Bullets.artilleryDense,
Items.silicon, Bullets.artilleryHoming,
Items.pyratite, Bullets.artlleryIncendiary,
Items.blastCompound, Bullets.artilleryExplosive,
Items.plastanium, Bullets.arilleryPlastic
Items.graphite, Bullets.artilleryDense,
Items.silicon, Bullets.artilleryHoming,
Items.pyratite, Bullets.artlleryIncendiary,
Items.blastCompound, Bullets.artilleryExplosive,
Items.plastanium, Bullets.arilleryPlastic
);
size = 3;
shots = 4;
@@ -1537,11 +1537,11 @@ public class Blocks implements ContentList{
}};
cyclone = new ItemTurret("cyclone"){{
requirements(Category.turret, ItemStack.with(Items.copper, 400, Items.titanium, 250, Items.plastanium, 160));
requirements(Category.turret, ItemStack.with(Items.copper, 200, Items.titanium, 125, Items.plastanium, 80));
ammo(
Items.blastCompound, Bullets.flakExplosive,
Items.plastanium, Bullets.flakPlastic,
Items.surgealloy, Bullets.flakSurge
Items.blastCompound, Bullets.flakExplosive,
Items.plastanium, Bullets.flakPlastic,
Items.surgealloy, Bullets.flakSurge
);
xRand = 4f;
reload = 6f;
@@ -1556,11 +1556,11 @@ public class Blocks implements ContentList{
}};
spectre = new DoubleTurret("spectre"){{
requirements(Category.turret, ItemStack.with(Items.copper, 700, Items.graphite, 600, Items.surgealloy, 500, Items.plastanium, 350, Items.thorium, 500));
requirements(Category.turret, ItemStack.with(Items.copper, 350, Items.graphite, 300, Items.surgealloy, 250, Items.plastanium, 175, Items.thorium, 250));
ammo(
Items.graphite, Bullets.standardDenseBig,
Items.pyratite, Bullets.standardIncendiaryBig,
Items.thorium, Bullets.standardThoriumBig
Items.graphite, Bullets.standardDenseBig,
Items.pyratite, Bullets.standardIncendiaryBig,
Items.thorium, Bullets.standardThoriumBig
);
reload = 6f;
coolantMultiplier = 0.5f;
@@ -1581,7 +1581,7 @@ public class Blocks implements ContentList{
}};
meltdown = new LaserTurret("meltdown"){{
requirements(Category.turret, ItemStack.with(Items.copper, 500, Items.lead, 700, Items.graphite, 600, Items.surgealloy, 650, Items.silicon, 650));
requirements(Category.turret, ItemStack.with(Items.copper, 250, Items.lead, 350, Items.graphite, 300, Items.surgealloy, 325, Items.silicon, 325));
shootType = Bullets.meltdownLaser;
shootEffect = Fx.shootBigSmoke2;
shootCone = 40f;
@@ -1602,7 +1602,7 @@ public class Blocks implements ContentList{
//region units
draugFactory = new UnitFactory("draug-factory"){{
requirements(Category.units, ItemStack.with(Items.copper, 60, Items.lead, 140));
requirements(Category.units, ItemStack.with(Items.copper, 30, Items.lead, 70));
type = UnitTypes.draug;
produceTime = 2500;
size = 2;
@@ -1612,7 +1612,7 @@ public class Blocks implements ContentList{
}};
spiritFactory = new UnitFactory("spirit-factory"){{
requirements(Category.units, ItemStack.with(Items.metaglass, 70, Items.lead, 110, Items.silicon, 90));
requirements(Category.units, ItemStack.with(Items.metaglass, 35, Items.lead, 55, Items.silicon, 45));
type = UnitTypes.spirit;
produceTime = 2850;
size = 2;
@@ -1622,7 +1622,7 @@ public class Blocks implements ContentList{
}};
phantomFactory = new UnitFactory("phantom-factory"){{
requirements(Category.units, ItemStack.with(Items.titanium, 90, Items.thorium, 80, Items.lead, 110, Items.silicon, 210));
requirements(Category.units, ItemStack.with(Items.titanium, 45, Items.thorium, 40, Items.lead, 55, Items.silicon, 105));
type = UnitTypes.phantom;
produceTime = 3650;
size = 2;
@@ -1632,7 +1632,7 @@ public class Blocks implements ContentList{
}};
wraithFactory = new UnitFactory("wraith-factory"){{
requirements(Category.units, padVisible, ItemStack.with(Items.titanium, 60, Items.lead, 80, Items.silicon, 90));
requirements(Category.units, padVisible, ItemStack.with(Items.titanium, 30, Items.lead, 40, Items.silicon, 45));
type = UnitTypes.wraith;
produceTime = 750;
size = 2;
@@ -1641,7 +1641,7 @@ public class Blocks implements ContentList{
}};
ghoulFactory = new UnitFactory("ghoul-factory"){{
requirements(Category.units, padVisible, ItemStack.with(Items.titanium, 150, Items.lead, 130, Items.silicon, 220));
requirements(Category.units, padVisible, ItemStack.with(Items.titanium, 75, Items.lead, 65, Items.silicon, 110));
type = UnitTypes.ghoul;
produceTime = 1150;
size = 3;
@@ -1650,7 +1650,7 @@ public class Blocks implements ContentList{
}};
revenantFactory = new UnitFactory("revenant-factory"){{
requirements(Category.units, padVisible, ItemStack.with(Items.plastanium, 100, Items.titanium, 300, Items.lead, 300, Items.silicon, 400));
requirements(Category.units, padVisible, ItemStack.with(Items.plastanium, 50, Items.titanium, 150, Items.lead, 150, Items.silicon, 200));
type = UnitTypes.revenant;
produceTime = 2000;
size = 4;
@@ -1659,7 +1659,7 @@ public class Blocks implements ContentList{
}};
daggerFactory = new UnitFactory("dagger-factory"){{
requirements(Category.units, padVisible, ItemStack.with(Items.lead, 110, Items.silicon, 70));
requirements(Category.units, padVisible, ItemStack.with(Items.lead, 55, Items.silicon, 35));
type = UnitTypes.dagger;
produceTime = 850;
size = 2;
@@ -1668,7 +1668,7 @@ public class Blocks implements ContentList{
}};
crawlerFactory = new UnitFactory("crawler-factory"){{
requirements(Category.units, padVisible, ItemStack.with(Items.lead, 50, Items.silicon, 80));
requirements(Category.units, padVisible, ItemStack.with(Items.lead, 25, Items.silicon, 40));
type = UnitTypes.crawler;
produceTime = 250;
size = 2;
@@ -1678,7 +1678,7 @@ public class Blocks implements ContentList{
}};
titanFactory = new UnitFactory("titan-factory"){{
requirements(Category.units, padVisible, ItemStack.with(Items.graphite, 100, Items.lead, 100, Items.silicon, 90));
requirements(Category.units, padVisible, ItemStack.with(Items.graphite, 50, Items.lead, 50, Items.silicon, 45));
type = UnitTypes.titan;
produceTime = 1050;
size = 3;
@@ -1687,7 +1687,7 @@ public class Blocks implements ContentList{
}};
fortressFactory = new UnitFactory("fortress-factory"){{
requirements(Category.units, padVisible, ItemStack.with(Items.thorium, 80, Items.lead, 220, Items.silicon, 150));
requirements(Category.units, padVisible, ItemStack.with(Items.thorium, 40, Items.lead, 110, Items.silicon, 75));
type = UnitTypes.fortress;
produceTime = 2000;
size = 3;
@@ -1697,7 +1697,7 @@ public class Blocks implements ContentList{
}};
repairPoint = new RepairPoint("repair-point"){{
requirements(Category.units, ItemStack.with(Items.lead, 30, Items.copper, 30, Items.silicon, 30));
requirements(Category.units, ItemStack.with(Items.lead, 15, Items.copper, 15, Items.silicon, 15));
repairSpeed = 0.3f;
powerUse = 1f;
}};
@@ -1706,49 +1706,49 @@ public class Blocks implements ContentList{
//region upgrades
dartPad = new MechPad("dart-mech-pad"){{
requirements(Category.upgrade, ItemStack.with(Items.lead, 200, Items.graphite, 100, Items.copper, 150));
requirements(Category.upgrade, ItemStack.with(Items.lead, 100, Items.graphite, 50, Items.copper, 75));
mech = Mechs.alpha;
size = 2;
consumes.power(0.5f);
}};
deltaPad = new MechPad("delta-mech-pad"){{
requirements(Category.upgrade, ItemStack.with(Items.lead, 350, Items.titanium, 350, Items.copper, 400, Items.silicon, 450, Items.thorium, 300));
requirements(Category.upgrade, ItemStack.with(Items.lead, 175, Items.titanium, 175, Items.copper, 200, Items.silicon, 225, Items.thorium, 150));
mech = Mechs.delta;
size = 2;
consumes.power(0.7f);
}};
tauPad = new MechPad("tau-mech-pad"){{
requirements(Category.upgrade, ItemStack.with(Items.lead, 250, Items.titanium, 250, Items.copper, 250, Items.silicon, 250));
requirements(Category.upgrade, ItemStack.with(Items.lead, 125, Items.titanium, 125, Items.copper, 125, Items.silicon, 125));
mech = Mechs.tau;
size = 2;
consumes.power(1f);
}};
omegaPad = new MechPad("omega-mech-pad"){{
requirements(Category.upgrade, ItemStack.with(Items.lead, 450, Items.graphite, 550, Items.silicon, 650, Items.thorium, 600, Items.surgealloy, 240));
requirements(Category.upgrade, ItemStack.with(Items.lead, 225, Items.graphite, 275, Items.silicon, 325, Items.thorium, 300, Items.surgealloy, 120));
mech = Mechs.omega;
size = 3;
consumes.power(1.2f);
}};
javelinPad = new MechPad("javelin-ship-pad"){{
requirements(Category.upgrade, ItemStack.with(Items.lead, 350, Items.silicon, 450, Items.titanium, 500, Items.plastanium, 400, Items.phasefabric, 200));
requirements(Category.upgrade, ItemStack.with(Items.lead, 175, Items.silicon, 225, Items.titanium, 250, Items.plastanium, 200, Items.phasefabric, 100));
mech = Mechs.javelin;
size = 2;
consumes.power(0.8f);
}};
tridentPad = new MechPad("trident-ship-pad"){{
requirements(Category.upgrade, ItemStack.with(Items.lead, 250, Items.copper, 250, Items.silicon, 250, Items.titanium, 300, Items.plastanium, 200));
requirements(Category.upgrade, ItemStack.with(Items.lead, 125, Items.copper, 125, Items.silicon, 125, Items.titanium, 150, Items.plastanium, 100));
mech = Mechs.trident;
size = 2;
consumes.power(1f);
}};
glaivePad = new MechPad("glaive-ship-pad"){{
requirements(Category.upgrade, ItemStack.with(Items.lead, 450, Items.silicon, 650, Items.titanium, 700, Items.plastanium, 600, Items.surgealloy, 200));
requirements(Category.upgrade, ItemStack.with(Items.lead, 225, Items.silicon, 325, Items.titanium, 350, Items.plastanium, 300, Items.surgealloy, 100));
mech = Mechs.glaive;
size = 3;
consumes.power(1.2f);
@@ -1756,4 +1756,4 @@ public class Blocks implements ContentList{
//endregion
}
}
}

View File

@@ -23,6 +23,14 @@ public class ItemStack implements Comparable<ItemStack>{
return other != null && other.item == item && other.amount == amount;
}
public static ItemStack[] mult(ItemStack[] stacks, int amount){
ItemStack[] copy = new ItemStack[stacks.length];
for(int i = 0; i < copy.length; i++){
copy[i] = new ItemStack(stacks[i].item, stacks[i].amount * amount);
}
return copy;
}
public static ItemStack[] with(Object... items){
ItemStack[] stacks = new ItemStack[items.length / 2];
for(int i = 0; i < items.length; i += 2){