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.phaseFabric, 4);
costMultipliers.put(Items.thorium, 9);
costMultipliers.put(Items.graphite, 10);
costMultipliers.put(Items.graphite, 9);
//TODO gate behind capture
@ -54,7 +54,9 @@ public class ErekirTechTree{
});
//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(payloadUnloader, () -> {
node(payloadPropulsionTower, () -> {
@ -78,7 +80,7 @@ public class ErekirTechTree{
//TODO move into turbine condenser?
node(plasmaBore, () -> {
node(impactDrill, Seq.with(new OnSector(aware)), () -> {
node(largePlasmaBore, () -> {
node(largePlasmaBore, Seq.with(new OnSector(four)), () -> {
node(eruptionDrill, () -> {
});
@ -96,14 +98,14 @@ public class ErekirTechTree{
});
});
node(beamTower, () -> {
node(beamTower, Seq.with(new OnSector(four)), () -> {
});
node(regenProjector, () -> {
//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(electrolyzer, Seq.with(new OnSector(three)), () -> {
node(oxidationChamber, () -> {
node(electricHeater, () -> {
node(electricHeater, Seq.with(new OnSector(four)), () -> {
node(heatRedirector, () -> {
});
@ -157,7 +159,7 @@ public class ErekirTechTree{
});
});
node(slagIncinerator, () -> {
node(slagIncinerator, Seq.with(new OnSector(four)), () -> {
node(slagCentrifuge, () -> {
@ -194,7 +196,7 @@ public class ErekirTechTree{
});
});
node(coreCitadel, () -> {
node(coreCitadel, Seq.with(new SectorComplete(four)), () -> {
node(coreAcropolis, () -> {
});
@ -204,7 +206,9 @@ public class ErekirTechTree{
node(onset, () -> {
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(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 -> {
color(Pal.vent, e.fslope() * 0.85f);
color(e.color, e.fslope() * 0.85f);
float length = 3f + e.finpow() * 10f;
rand.setSeed(e.id);

View File

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

View File

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

View File

@ -1,5 +1,6 @@
package mindustry.world.blocks.environment;
import arc.graphics.*;
import arc.graphics.g2d.*;
import arc.math.*;
import arc.math.geom.*;
@ -7,6 +8,7 @@ import arc.util.*;
import mindustry.*;
import mindustry.content.*;
import mindustry.entities.*;
import mindustry.graphics.*;
import mindustry.world.*;
import static mindustry.Vars.*;
@ -27,6 +29,7 @@ public class SteamVent extends Floor{
public Block parent = Blocks.air;
public Effect effect = Fx.ventSteam;
public Color effectColor = Pal.vent;
public float effectSpacing = 15f;
static{
@ -58,7 +61,7 @@ public class SteamVent extends Floor{
@Override
public void renderUpdate(UpdateRenderState state){
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;
}
}