Added missing tech tree blocks / Zone improvements
This commit is contained in:
@@ -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.
|
||||||
|
|||||||
@@ -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));
|
||||||
|
|||||||
@@ -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, () -> {
|
||||||
|
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
package io.anuke.mindustry.entities.units.types;
|
||||||
|
|
||||||
|
import io.anuke.mindustry.entities.units.GroundUnit;
|
||||||
|
|
||||||
|
public class Eruptor extends GroundUnit{
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user