Shockwave tower block

This commit is contained in:
Anuken
2022-07-11 14:37:57 -04:00
parent 4ea1e26c73
commit 411b6d7460
12 changed files with 141 additions and 5 deletions

View File

@@ -92,7 +92,7 @@ public class Blocks{
//defense - erekir
radar,
buildTower,
regenProjector, barrierProjector,
regenProjector, barrierProjector, shockwaveTower,
//campaign only
shieldProjector,
largeShieldProjector,
@@ -1826,6 +1826,13 @@ public class Blocks{
consumePower(4f);
}};
shockwaveTower = new ShockwaveTower("shockwave-tower"){{
requirements(Category.effect, with(Items.surgeAlloy, 50, Items.silicon, 150, Items.oxide, 30, Items.tungsten, 100));
size = 3;
consumeLiquids(LiquidStack.with(Liquids.cyanogen, 1f / 60f));
consumePower(80f / 60f);
}};
//TODO 5x5??
shieldProjector = new BaseShield("shield-projector"){{
requirements(Category.effect, BuildVisibility.editorOnly, with());

View File

@@ -161,7 +161,9 @@ public class ErekirTechTree{
node(regenProjector, () -> {
//TODO more tiers of build tower or "support" structures like overdrive projectors
node(buildTower, Seq.with(new OnSector(four)), () -> {
node(shockwaveTower, () -> {
});
});
});
});

View File

@@ -198,6 +198,14 @@ public class Fx{
rect(block.fullIcon, e.x, e.y);
}).layer(Layer.turret - 5f),
pointShockwave = new Effect(20, e -> {
color(e.color);
stroke(e.fout() * 2f);
Lines.circle(e.x, e.y, e.finpow() * e.rotation);
randLenVectors(e.id + 1, 8, 1f + 23f * e.finpow(), (x, y) ->
lineAngle(e.x + x, e.y + y, Mathf.angle(x, y), 1f + e.fout() * 3f));
}),
moveCommand = new Effect(20, e -> {
color(Pal.command);
stroke(e.fout() * 5f);