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.fortress.description = A heavy artillery ground unit.
unit.revenant.name = Revenant unit.revenant.name = Revenant
unit.revenant.description = A heavy laser platform. 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.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.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. 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; size = 2;
hasItems = true; hasItems = true;
hasLiquids = true; hasLiquids = true;
hasPower = true;
consumes.power(2f); consumes.power(2f);
consumes.item(Items.coal, 2); consumes.item(Items.coal, 2);
@@ -344,7 +345,7 @@ public class Blocks implements ContentList{
output = Items.metaglass; output = Items.metaglass;
craftTime = 30f; craftTime = 30f;
size = 2; size = 2;
hasLiquids = false; hasPower = hasItems = true;
flameColor = Color.valueOf("ffc099"); flameColor = Color.valueOf("ffc099");
consumes.items(new ItemStack(Items.lead, 1), new ItemStack(Items.sand, 1)); consumes.items(new ItemStack(Items.lead, 1), new ItemStack(Items.sand, 1));

View File

@@ -31,11 +31,12 @@ public class TechTree implements ContentList{
}); });
}); });
});
node(titaniumConveyor, () -> {
node(phaseConveyor, () -> {
node(massDriver, () -> {
node(titaniumConveyor, () -> {
node(phaseConveyor, () -> {
node(massDriver, () -> {
});
}); });
}); });
}); });
@@ -127,6 +128,10 @@ public class TechTree implements ContentList{
node(siliconSmelter, () -> { node(siliconSmelter, () -> {
node(biomatterCompressor, () -> { node(biomatterCompressor, () -> {
node(multiPress, () -> {
});
node(plastaniumCompressor, () -> { node(plastaniumCompressor, () -> {
node(phaseWeaver, () -> { node(phaseWeaver, () -> {
@@ -134,20 +139,22 @@ public class TechTree implements ContentList{
}); });
}); });
node(incinerator, () -> { node(kiln, () -> {
node(melter, () -> { node(incinerator, () -> {
node(surgeSmelter, () -> { node(melter, () -> {
node(surgeSmelter, () -> {
});
node(separator, () -> {
node(pulverizer, () -> {
}); });
});
node(cryofluidMixer, () -> { node(separator, () -> {
node(pulverizer, () -> {
});
});
node(cryofluidMixer, () -> {
});
}); });
}); });
}); });
@@ -185,7 +192,9 @@ public class TechTree implements ContentList{
node(powerNodeLarge, () -> { node(powerNodeLarge, () -> {
node(battery, () -> { node(battery, () -> {
node(batteryLarge, () -> { node(batteryLarge, () -> {
node(surgeTower, () -> {
});
}); });
}); });

View File

@@ -9,7 +9,7 @@ public class UnitTypes implements ContentList{
public static UnitType public static UnitType
spirit, phantom, spirit, phantom,
wraith, ghoul, revenant, wraith, ghoul, revenant,
dagger, crawler, titan, fortress; dagger, crawler, titan, fortress, eruptor;
@Override @Override
public void load(){ public void load(){
@@ -55,7 +55,7 @@ public class UnitTypes implements ContentList{
}}; }};
fortress = new UnitType("fortress", Fortress.class, Fortress::new){{ fortress = new UnitType("fortress", Fortress.class, Fortress::new){{
maxVelocity = 0.8f; maxVelocity = 0.78f;
speed = 0.15f; speed = 0.15f;
drag = 0.4f; drag = 0.4f;
mass = 5f; mass = 5f;
@@ -67,6 +67,19 @@ public class UnitTypes implements ContentList{
health = 800; 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){{ wraith = new UnitType("wraith", Wraith.class, Wraith::new){{
speed = 0.3f; speed = 0.3f;
maxVelocity = 1.9f; maxVelocity = 1.9f;

View File

@@ -5,10 +5,18 @@ import io.anuke.mindustry.type.Weapon;
public class Weapons implements ContentList{ public class Weapons implements ContentList{
public static Weapon blaster, blasterSmall, glaiveBlaster, droneBlaster, healBlaster, healBlasterDrone, chainBlaster, shockgun, 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 @Override
public void load(){ public void load(){
eruption = new Weapon("eruption"){{
length = 1.5f;
reload = 14f;
roundrobin = true;
ejectEffect = Fx.none;
ammo = Bullets.slagShot;
}};
blaster = new Weapon("blaster"){{ blaster = new Weapon("blaster"){{
length = 1.5f; length = 1.5f;

View File

@@ -317,26 +317,81 @@ public class Zones implements ContentList{
.decor( .decor(
new Decoration(Blocks.snow, Blocks.sporeCluster, 0.01), new Decoration(Blocks.snow, Blocks.sporeCluster, 0.01),
new Decoration(Blocks.metalFloor, Blocks.metalFloorDamaged, 0.02)) new Decoration(Blocks.metalFloor, Blocks.metalFloorDamaged, 0.02))
){{ //TODO implement ){{
deployCost = ItemStack.with(Items.copper, 4000); deployCost = ItemStack.with(Items.copper, 2500, Items.lead, 1000, Items.silicon, 300);
startingItems = ItemStack.with(Items.copper, 200); startingItems = ItemStack.with(Items.copper, 2000, Items.lead, 500, Items.silicon, 200);
conditionWave = 15; itemRequirements = ItemStack.with(Items.silicon, 8000, Items.titanium, 6000, Items.graphite, 4000);
conditionWave = 20;
zoneRequirements = new Zone[]{stainedMountains}; zoneRequirements = new Zone[]{stainedMountains};
blockRequirements = new Block[]{Blocks.launchPad}; blockRequirements = new Block[]{Blocks.launchPad, Blocks.unloader, Blocks.container};
rules = () -> new Rules(){{ rules = () -> new Rules(){{
waves = true; waves = true;
waveTimer = 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 desolateRift = new Zone("desolateRift", new MapGenerator("groundZero", 1)){{ //TODO implement
deployCost = ItemStack.with(Items.copper, 300); deployCost = ItemStack.with(Items.copper, 300);
startingItems = ItemStack.with(Items.copper, 200); startingItems = ItemStack.with(Items.copper, 200);
conditionWave = 15; conditionWave = 15;
zoneRequirements = new Zone[]{frozenForest}; zoneRequirements = new Zone[]{stainedMountains};
blockRequirements = new Block[]{Blocks.copperWall}; blockRequirements = new Block[]{Blocks.copperWall};
rules = () -> new Rules(){{ rules = () -> new Rules(){{
waves = true; waves = true;
@@ -345,6 +400,7 @@ public class Zones implements ContentList{
}}; }};
}}; }};
/*
arcticDesert = new Zone("arcticDesert", new MapGenerator("groundZero", 1)){{ //TODO implement arcticDesert = new Zone("arcticDesert", new MapGenerator("groundZero", 1)){{ //TODO implement
deployCost = ItemStack.with(Items.copper, 300); deployCost = ItemStack.with(Items.copper, 300);
startingItems = ItemStack.with(Items.copper, 200); 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{
}