Added missing tech tree blocks / Zone improvements

This commit is contained in:
Anuken
2019-02-01 13:14:42 -05:00
parent 87b489a541
commit f00d1f9505
7 changed files with 121 additions and 27 deletions

View File

@ -671,6 +671,7 @@ unit.fortress.name = Fortress
unit.fortress.description = A heavy artillery ground unit.
unit.revenant.name = Revenant
unit.revenant.description = A heavy laser platform.
unit.eruptor.name = Eruptor
tutorial.begin = Your mission here is to eradicate the[LIGHT_GRAY] enemy[].\n\nBegin by[accent] mining copper[]. Tap a copper ore vein near your core to do this.
tutorial.drill = Mining manually is inefficient.\n[accent]Drills []can mine automatically.\nPlace one on a copper vein.
tutorial.conveyor = [accent]Conveyors[] are used to transport items to the core.\nMake a line of conveyors from the drill to the core.

View File

@ -319,6 +319,7 @@ public class Blocks implements ContentList{
size = 2;
hasItems = true;
hasLiquids = true;
hasPower = true;
consumes.power(2f);
consumes.item(Items.coal, 2);
@ -344,7 +345,7 @@ public class Blocks implements ContentList{
output = Items.metaglass;
craftTime = 30f;
size = 2;
hasLiquids = false;
hasPower = hasItems = true;
flameColor = Color.valueOf("ffc099");
consumes.items(new ItemStack(Items.lead, 1), new ItemStack(Items.sand, 1));

View File

@ -31,7 +31,7 @@ public class TechTree implements ContentList{
});
});
});
node(titaniumConveyor, () -> {
node(phaseConveyor, () -> {
node(massDriver, () -> {
@ -41,6 +41,7 @@ public class TechTree implements ContentList{
});
});
});
});
node(duo, () -> {
node(hail, () -> {
@ -127,6 +128,10 @@ public class TechTree implements ContentList{
node(siliconSmelter, () -> {
node(biomatterCompressor, () -> {
node(multiPress, () -> {
});
node(plastaniumCompressor, () -> {
node(phaseWeaver, () -> {
@ -134,6 +139,7 @@ public class TechTree implements ContentList{
});
});
node(kiln, () -> {
node(incinerator, () -> {
node(melter, () -> {
node(surgeSmelter, () -> {
@ -153,6 +159,7 @@ public class TechTree implements ContentList{
});
});
});
});
@ -185,9 +192,11 @@ public class TechTree implements ContentList{
node(powerNodeLarge, () -> {
node(battery, () -> {
node(batteryLarge, () -> {
node(surgeTower, () -> {
});
});
});
node(mendProjector, () -> {
node(forceProjector, () -> {

View File

@ -9,7 +9,7 @@ public class UnitTypes implements ContentList{
public static UnitType
spirit, phantom,
wraith, ghoul, revenant,
dagger, crawler, titan, fortress;
dagger, crawler, titan, fortress, eruptor;
@Override
public void load(){
@ -55,7 +55,7 @@ public class UnitTypes implements ContentList{
}};
fortress = new UnitType("fortress", Fortress.class, Fortress::new){{
maxVelocity = 0.8f;
maxVelocity = 0.78f;
speed = 0.15f;
drag = 0.4f;
mass = 5f;
@ -67,6 +67,19 @@ public class UnitTypes implements ContentList{
health = 800;
}};
eruptor = new UnitType("eruptor", Eruptor.class, Eruptor::new){{
maxVelocity = 0.81f;
speed = 0.17f;
drag = 0.4f;
mass = 5f;
hitsize = 9f;
rotatespeed = 0.07f;
weaponOffsetX = 1;
targetAir = false;
weapon = Weapons.eruption;
health = 600;
}};
wraith = new UnitType("wraith", Wraith.class, Wraith::new){{
speed = 0.3f;
maxVelocity = 1.9f;

View File

@ -5,10 +5,18 @@ import io.anuke.mindustry.type.Weapon;
public class Weapons implements ContentList{
public static Weapon blaster, blasterSmall, glaiveBlaster, droneBlaster, healBlaster, healBlasterDrone, chainBlaster, shockgun,
swarmer, bomber, bomberTrident, flakgun, flamethrower, missiles, artillery, laserBurster, healBlasterDrone2, suicideBomb;
swarmer, bomber, bomberTrident, flakgun, flamethrower, missiles, artillery, laserBurster, healBlasterDrone2, suicideBomb,
eruption;
@Override
public void load(){
eruption = new Weapon("eruption"){{
length = 1.5f;
reload = 14f;
roundrobin = true;
ejectEffect = Fx.none;
ammo = Bullets.slagShot;
}};
blaster = new Weapon("blaster"){{
length = 1.5f;

View File

@ -317,26 +317,81 @@ public class Zones implements ContentList{
.decor(
new Decoration(Blocks.snow, Blocks.sporeCluster, 0.01),
new Decoration(Blocks.metalFloor, Blocks.metalFloorDamaged, 0.02))
){{ //TODO implement
deployCost = ItemStack.with(Items.copper, 4000);
startingItems = ItemStack.with(Items.copper, 200);
conditionWave = 15;
){{
deployCost = ItemStack.with(Items.copper, 2500, Items.lead, 1000, Items.silicon, 300);
startingItems = ItemStack.with(Items.copper, 2000, Items.lead, 500, Items.silicon, 200);
itemRequirements = ItemStack.with(Items.silicon, 8000, Items.titanium, 6000, Items.graphite, 4000);
conditionWave = 20;
zoneRequirements = new Zone[]{stainedMountains};
blockRequirements = new Block[]{Blocks.launchPad};
blockRequirements = new Block[]{Blocks.launchPad, Blocks.unloader, Blocks.container};
rules = () -> new Rules(){{
waves = true;
waveTimer = true;
waveSpacing = 60 * 80;
}};
}};
waveSpacing = 60 * 60;
/*
spawns = Array.with(
new SpawnGroup(UnitTypes.titan){{
unitScaling = 2;
spacing = 2;
end = 10;
}},
new SpawnGroup(UnitTypes.dagger){{
begin = 2;
unitScaling = 1;
spacing = 2;
}},
new SpawnGroup(UnitTypes.dagger){{
begin = 10;
spacing = 2;
unitScaling = 2;
unitAmount = 2;
}},
new SpawnGroup(UnitTypes.ghoul){{
begin = 5;
unitScaling = 0.5f;
unitAmount = 1;
spacing = 5;
}},
new SpawnGroup(UnitTypes.wraith){{
begin = 10;
unitScaling = 1f;
unitAmount = 1;
spacing = 5;
}},
new SpawnGroup(UnitTypes.dagger){{
begin = 2;
unitScaling = 1;
spacing = 2;
}},
new SpawnGroup(UnitTypes.wraith){{
begin = 23;
unitScaling = 1f;
unitAmount = 1;
spacing = 2;
}},
new SpawnGroup(UnitTypes.crawler){{
begin = 20;
unitScaling = 1;
spacing = 10;
unitScaling = 0.5f;
unitAmount = 10;
}}
);
}};
}};
desolateRift = new Zone("desolateRift", new MapGenerator("groundZero", 1)){{ //TODO implement
deployCost = ItemStack.with(Items.copper, 300);
startingItems = ItemStack.with(Items.copper, 200);
conditionWave = 15;
zoneRequirements = new Zone[]{frozenForest};
zoneRequirements = new Zone[]{stainedMountains};
blockRequirements = new Block[]{Blocks.copperWall};
rules = () -> new Rules(){{
waves = true;
@ -345,6 +400,7 @@ public class Zones implements ContentList{
}};
}};
/*
arcticDesert = new Zone("arcticDesert", new MapGenerator("groundZero", 1)){{ //TODO implement
deployCost = ItemStack.with(Items.copper, 300);
startingItems = ItemStack.with(Items.copper, 200);

View File

@ -0,0 +1,6 @@
package io.anuke.mindustry.entities.units.types;
import io.anuke.mindustry.entities.units.GroundUnit;
public class Eruptor extends GroundUnit{
}