Erekir tech sector requirements

This commit is contained in:
Anuken
2021-12-25 22:17:18 -05:00
parent 9e0d562d96
commit 4fbeae1afc
8 changed files with 43 additions and 20 deletions

View File

@ -552,6 +552,7 @@ requirement.core = Destroy Enemy Core in {0}
requirement.research = Research {0}
requirement.produce = Produce {0}
requirement.capture = Capture {0}
requirement.onplanet = Control Sector On {0}
launch.text = Launch
research.multiplayer = Only the host can research items.
map.multiplayer = Only the host can view sectors.

View File

@ -23,7 +23,7 @@ public class FlyingAI extends AIController{
}
if(target == null && command() == UnitCommand.attack && state.rules.waves && unit.team == state.rules.defaultTeam){
moveTo(getClosestSpawner(), state.rules.dropZoneRadius + 120f);
moveTo(getClosestSpawner(), state.rules.dropZoneRadius + 130f);
}
if(command() == UnitCommand.rally){

View File

@ -2377,7 +2377,7 @@ public class Blocks{
coreCitadel = new CoreBlock("core-citadel"){{
//TODO cost
requirements(Category.effect, with(Items.beryllium, 7000, Items.graphite, 7000, Items.tungsten, 5000, Items.carbide, 5000));
requirements(Category.effect, with(Items.silicon, 5000, Items.beryllium, 7000, Items.tungsten, 5000, Items.carbide, 5000));
unitType = UnitTypes.incite;
health = 18000;
@ -2391,7 +2391,7 @@ public class Blocks{
coreAcropolis = new CoreBlock("core-acropolis"){{
//TODO cost
requirements(Category.effect, with(Items.beryllium, 11000, Items.graphite, 11000, Items.tungsten, 9000, Items.carbide, 10000));
requirements(Category.effect, with(Items.beryllium, 11000, Items.silicon, 11000, Items.tungsten, 9000, Items.carbide, 10000, Items.oxide, 8000));
unitType = UnitTypes.emanate;
health = 30000;

View File

@ -103,7 +103,7 @@ public class Bullets{
width = height = 13f;
collidesTiles = false;
splashDamageRadius = 25f * 0.75f;
splashDamage = 35f;
splashDamage = 40f;
status = StatusEffects.burning;
statusDuration = 60f * 12f;
frontColor = Pal.lightishOrange;
@ -268,7 +268,7 @@ public class Bullets{
shrinkY = 0f;
homingPower = 0.08f;
splashDamageRadius = 20f;
splashDamage = 20f * 1.5f;
splashDamage = 30f * 1.5f;
makeFire = true;
ammoMultiplier = 5f;
hitEffect = Fx.blastExplosion;
@ -334,7 +334,7 @@ public class Bullets{
ammoMultiplier = 5;
splashDamage = 10f;
splashDamage = 12f;
splashDamageRadius = 22f;
makeFire = true;
@ -375,8 +375,8 @@ public class Bullets{
pierceBuilding = true;
knockback = 0.6f;
ammoMultiplier = 3;
splashDamage = 15f;
splashDamageRadius = 24f;
splashDamage = 20f;
splashDamageRadius = 25f;
}};
fireball = new FireBulletType(1f, 4);

View File

@ -1,11 +1,16 @@
package mindustry.content;
import arc.struct.*;
import mindustry.game.Objectives.*;
import static mindustry.content.Blocks.*;
import static mindustry.content.TechTree.*;
public class ErekirTechTree{
public static void load(){
Seq<Objective> erekirSector = Seq.with(new OnPlanet(Planets.erekir));
Planets.erekir.techTree = nodeRoot("erekir", coreBastion, true, () -> {
node(duct, () -> {
node(ductRouter, () -> {
@ -34,7 +39,7 @@ public class ErekirTechTree{
});
});
node(constructor, () -> {
node(constructor, erekirSector, () -> {
node(payloadLoader, () -> {
node(payloadUnloader, () -> {
node(payloadPropulsionTower, () -> {
@ -57,7 +62,7 @@ public class ErekirTechTree{
node(turbineCondenser, () -> {
node(beamNode, () -> {
node(ventCondenser, () -> {
node(ventCondenser, erekirSector, () -> {
node(chemicalCombustionChamber, () -> {
node(pyrolysisGenerator, () -> {
@ -81,7 +86,7 @@ public class ErekirTechTree{
node(siliconArcFurnace, () -> {
node(cliffCrusher, () -> {
node(electrolyzer, () -> {
node(electrolyzer, erekirSector, () -> {
node(oxidationChamber, () -> {
node(electricHeater, () -> {
node(heatRedirector, () -> {
@ -123,16 +128,14 @@ public class ErekirTechTree{
//TODO move into turbine condenser?
node(plasmaBore, () -> {
node(largePlasmaBore, () -> {
});
node(impactDrill, () -> {
node(impactDrill, erekirSector, () -> {
node(largePlasmaBore, () -> {
});
});
});
node(reinforcedConduit, () -> {
node(reinforcedConduit, erekirSector, () -> {
node(reinforcedPump, () -> {
//TODO T2 pump
});
@ -174,7 +177,6 @@ public class ErekirTechTree{
});
});
//TODO requirements for these
node(coreCitadel, () -> {
node(coreAcropolis, () -> {

View File

@ -68,6 +68,26 @@ public class Objectives{
}
}
public static class OnPlanet implements Objective{
public Planet planet;
public OnPlanet(Planet planet){
this.planet = planet;
}
protected OnPlanet(){}
@Override
public boolean complete(){
return planet.sectors.contains(Sector::hasBase);
}
@Override
public String display(){
return Core.bundle.format("requirement.onplanet", planet.localizedName);
}
}
/** Defines a specific objective for a game. */
public interface Objective{

View File

@ -26,7 +26,7 @@ public class PayloadBlock extends Block{
update = true;
sync = true;
group = BlockGroup.payloads;
envEnabled |= Env.space;
envEnabled |= Env.space | Env.underwater;
}
public static boolean blends(Building build, int direction){

View File

@ -29,7 +29,7 @@ public class PayloadConveyor extends Block{
update = true;
outputsPayload = true;
noUpdateDisabled = true;
envEnabled |= Env.space;
envEnabled |= Env.space | Env.underwater;
sync = true;
}