New WIP attack sectgor

This commit is contained in:
Anuken
2022-02-05 21:51:29 -05:00
parent f2ddb335c5
commit 28b2d5d6f7
6 changed files with 22 additions and 12 deletions

BIN
core/assets/maps/four.msav Normal file

Binary file not shown.

View File

@@ -19,7 +19,7 @@ public class ErekirTechTree{
costMultipliers.put(Items.surgeAlloy, 4); costMultipliers.put(Items.surgeAlloy, 4);
costMultipliers.put(Items.phaseFabric, 4); costMultipliers.put(Items.phaseFabric, 4);
costMultipliers.put(Items.thorium, 9); costMultipliers.put(Items.thorium, 9);
costMultipliers.put(Items.graphite, 10); costMultipliers.put(Items.graphite, 9);
//TODO gate behind capture //TODO gate behind capture
@@ -54,7 +54,9 @@ public class ErekirTechTree{
}); });
//TODO should only be unlocked in unit sector //TODO should only be unlocked in unit sector
node(constructor, Seq.with(new Research(siliconArcFurnace), erekirSector.first()), () -> { node(constructor, Seq.with(new Research(siliconArcFurnace), new OnSector(four)), () -> {
//TODO further limitations
node(payloadLoader, () -> { node(payloadLoader, () -> {
node(payloadUnloader, () -> { node(payloadUnloader, () -> {
node(payloadPropulsionTower, () -> { node(payloadPropulsionTower, () -> {
@@ -78,7 +80,7 @@ public class ErekirTechTree{
//TODO move into turbine condenser? //TODO move into turbine condenser?
node(plasmaBore, () -> { node(plasmaBore, () -> {
node(impactDrill, Seq.with(new OnSector(aware)), () -> { node(impactDrill, Seq.with(new OnSector(aware)), () -> {
node(largePlasmaBore, () -> { node(largePlasmaBore, Seq.with(new OnSector(four)), () -> {
node(eruptionDrill, () -> { node(eruptionDrill, () -> {
}); });
@@ -96,14 +98,14 @@ public class ErekirTechTree{
}); });
}); });
node(beamTower, () -> { node(beamTower, Seq.with(new OnSector(four)), () -> {
}); });
node(regenProjector, () -> { node(regenProjector, () -> {
//TODO more tiers of build tower or "support" structures like overdrive projectors //TODO more tiers of build tower or "support" structures like overdrive projectors
node(buildTower, () -> { node(buildTower, Seq.with(new OnSector(four)), () -> {
}); });
}); });
@@ -134,7 +136,7 @@ public class ErekirTechTree{
node(cliffCrusher, () -> { node(cliffCrusher, () -> {
node(electrolyzer, Seq.with(new OnSector(three)), () -> { node(electrolyzer, Seq.with(new OnSector(three)), () -> {
node(oxidationChamber, () -> { node(oxidationChamber, () -> {
node(electricHeater, () -> { node(electricHeater, Seq.with(new OnSector(four)), () -> {
node(heatRedirector, () -> { node(heatRedirector, () -> {
}); });
@@ -157,7 +159,7 @@ public class ErekirTechTree{
}); });
}); });
node(slagIncinerator, () -> { node(slagIncinerator, Seq.with(new OnSector(four)), () -> {
node(slagCentrifuge, () -> { node(slagCentrifuge, () -> {
@@ -194,7 +196,7 @@ public class ErekirTechTree{
}); });
}); });
node(coreCitadel, () -> { node(coreCitadel, Seq.with(new SectorComplete(four)), () -> {
node(coreAcropolis, () -> { node(coreAcropolis, () -> {
}); });
@@ -204,7 +206,9 @@ public class ErekirTechTree{
node(onset, () -> { node(onset, () -> {
node(aware, Seq.with(new SectorComplete(onset), new Research(ductRouter)), () -> { node(aware, Seq.with(new SectorComplete(onset), new Research(ductRouter)), () -> {
node(three, Seq.with(new SectorComplete(aware), new Research(reinforcedContainer), new Research(ductUnloader), new Research(ventCondenser)), () -> { node(three, Seq.with(new SectorComplete(aware), new Research(reinforcedContainer), new Research(ductUnloader), new Research(ventCondenser)), () -> {
node(four, Seq.with(new SectorComplete(three), new Research(electrolyzer), new Research(oxidationChamber), new Research(chemicalCombustionChamber)), () -> {
});
}); });
}); });
}); });

View File

@@ -1046,7 +1046,7 @@ public class Fx{
}), }),
ventSteam = new Effect(140f, e -> { ventSteam = new Effect(140f, e -> {
color(Pal.vent, e.fslope() * 0.85f); color(e.color, e.fslope() * 0.85f);
float length = 3f + e.finpow() * 10f; float length = 3f + e.finpow() * 10f;
rand.setSeed(e.id); rand.setSeed(e.id);

View File

@@ -12,7 +12,7 @@ public class SectorPresets{
impact0078, desolateRift, nuclearComplex, planetaryTerminal, impact0078, desolateRift, nuclearComplex, planetaryTerminal,
coastline, navalFortress, coastline, navalFortress,
onset, aware, three onset, aware, three, four
; ;
public static void load(){ public static void load(){
@@ -128,6 +128,10 @@ public class SectorPresets{
difficulty = 5; difficulty = 5;
}}; }};
four = new SectorPreset("four", erekir, 29){{
difficulty = 6;
}};
//endregion //endregion
} }
} }

View File

@@ -28,7 +28,6 @@ abstract class FireComp implements Timedc, Posc, Syncc, Drawc{
public static final TextureRegion[] regions = new TextureRegion[frames]; public static final TextureRegion[] regions = new TextureRegion[frames];
@Import float time, lifetime, x, y; @Import float time, lifetime, x, y;
@Import int id;
Tile tile; Tile tile;
private transient Block block; private transient Block block;

View File

@@ -1,5 +1,6 @@
package mindustry.world.blocks.environment; package mindustry.world.blocks.environment;
import arc.graphics.*;
import arc.graphics.g2d.*; import arc.graphics.g2d.*;
import arc.math.*; import arc.math.*;
import arc.math.geom.*; import arc.math.geom.*;
@@ -7,6 +8,7 @@ import arc.util.*;
import mindustry.*; import mindustry.*;
import mindustry.content.*; import mindustry.content.*;
import mindustry.entities.*; import mindustry.entities.*;
import mindustry.graphics.*;
import mindustry.world.*; import mindustry.world.*;
import static mindustry.Vars.*; import static mindustry.Vars.*;
@@ -27,6 +29,7 @@ public class SteamVent extends Floor{
public Block parent = Blocks.air; public Block parent = Blocks.air;
public Effect effect = Fx.ventSteam; public Effect effect = Fx.ventSteam;
public Color effectColor = Pal.vent;
public float effectSpacing = 15f; public float effectSpacing = 15f;
static{ static{
@@ -58,7 +61,7 @@ public class SteamVent extends Floor{
@Override @Override
public void renderUpdate(UpdateRenderState state){ public void renderUpdate(UpdateRenderState state){
if(state.tile.block() == Blocks.air && (state.data += Time.delta) >= effectSpacing){ if(state.tile.block() == Blocks.air && (state.data += Time.delta) >= effectSpacing){
effect.at(state.tile.x * tilesize - tilesize, state.tile.y * tilesize - tilesize); effect.at(state.tile.x * tilesize - tilesize, state.tile.y * tilesize - tilesize, effectColor);
state.data = 0f; state.data = 0f;
} }
} }