WIP logic particle effect instruction
This commit is contained in:
@@ -2937,6 +2937,7 @@ public class Blocks{
|
||||
armor = 5f;
|
||||
alwaysUnlocked = true;
|
||||
incinerateNonBuildable = true;
|
||||
requiresCoreZone = true;
|
||||
|
||||
//TODO should this be higher?
|
||||
buildCostMultiplier = 0.7f;
|
||||
@@ -2956,6 +2957,7 @@ public class Blocks{
|
||||
armor = 10f;
|
||||
incinerateNonBuildable = true;
|
||||
buildCostMultiplier = 0.7f;
|
||||
requiresCoreZone = true;
|
||||
|
||||
unitCapModifier = 15;
|
||||
researchCostMultipliers.put(Items.silicon, 0.5f);
|
||||
@@ -2973,6 +2975,7 @@ public class Blocks{
|
||||
armor = 15f;
|
||||
incinerateNonBuildable = true;
|
||||
buildCostMultiplier = 0.7f;
|
||||
requiresCoreZone = true;
|
||||
|
||||
unitCapModifier = 15;
|
||||
researchCostMultipliers.put(Items.silicon, 0.4f);
|
||||
@@ -4571,7 +4574,7 @@ public class Blocks{
|
||||
deathExplosionEffect = Fx.massiveExplosion;
|
||||
shootOnDeath = true;
|
||||
shake = 10f;
|
||||
bullet = new ExplosionBulletType(640f, 65f){{
|
||||
bullet = new ExplosionBulletType(700f, 65f){{
|
||||
hitColor = Pal.redLight;
|
||||
shootEffect = new MultiEffect(Fx.massiveExplosion, Fx.scatheExplosion, Fx.scatheLight, new WaveEffect(){{
|
||||
lifetime = 10f;
|
||||
|
||||
@@ -29,11 +29,11 @@ public class Fx{
|
||||
|
||||
none = new Effect(0, 0f, e -> {}),
|
||||
|
||||
blockCrash = new Effect(100f, e -> {
|
||||
blockCrash = new Effect(90f, e -> {
|
||||
if(!(e.data instanceof Block block)) return;
|
||||
|
||||
alpha(e.fin() + 0.5f);
|
||||
float offset = Mathf.lerp(0f, 200f, e.fout());
|
||||
float offset = Mathf.lerp(0f, 180f, e.fout());
|
||||
color(0f, 0f, 0f, 0.44f);
|
||||
rect(block.fullIcon, e.x - offset * 4f, e.y, (float)block.size * 8f, (float)block.size * 8f);
|
||||
color(Color.white);
|
||||
@@ -417,6 +417,20 @@ public class Fx{
|
||||
Lines.spikes(e.x, e.y, 1f + e.fin() * 6f, e.fout() * 4f, 6);
|
||||
}),
|
||||
|
||||
sparkExplosion = new Effect(30f, 160f, e -> {
|
||||
color(e.color);
|
||||
stroke(e.fout() * 3f);
|
||||
float circleRad = 6f + e.finpow() * e.rotation;
|
||||
Lines.circle(e.x, e.y, circleRad);
|
||||
|
||||
rand.setSeed(e.id);
|
||||
for(int i = 0; i < 16; i++){
|
||||
float angle = rand.random(360f);
|
||||
float lenRand = rand.random(0.5f, 1f);
|
||||
Lines.lineAngle(e.x, e.y, angle, e.foutpow() * e.rotation * 0.8f * rand.random(1f, 0.6f) + 2f, e.finpow() * e.rotation * 1.2f * lenRand + 6f);
|
||||
}
|
||||
}),
|
||||
|
||||
titanExplosion = new Effect(30f, 160f, e -> {
|
||||
color(e.color);
|
||||
stroke(e.fout() * 3f);
|
||||
@@ -609,6 +623,12 @@ public class Fx{
|
||||
Lines.circle(e.x, e.y, 2f + e.finpow() * 7f);
|
||||
}),
|
||||
|
||||
dynamicWave = new Effect(22, e -> {
|
||||
color(e.color, 0.7f);
|
||||
stroke(e.fout() * 2f);
|
||||
Lines.circle(e.x, e.y, 4f + e.finpow() * e.rotation);
|
||||
}),
|
||||
|
||||
shieldWave = new Effect(22, e -> {
|
||||
color(e.color, 0.7f);
|
||||
stroke(e.fout() * 2f);
|
||||
@@ -1517,6 +1537,15 @@ public class Fx{
|
||||
});
|
||||
}),
|
||||
|
||||
smokePuff = new Effect(30, e -> {
|
||||
color(e.color);
|
||||
|
||||
randLenVectors(e.id, 6, 4f + 30f * e.finpow(), (x, y) -> {
|
||||
Fill.circle(e.x + x, e.y + y, e.fout() * 3f);
|
||||
Fill.circle(e.x + x / 2f, e.y + y / 2f, e.fout());
|
||||
});
|
||||
}),
|
||||
|
||||
shootSmall = new Effect(8, e -> {
|
||||
color(Pal.lighterOrange, Pal.lightOrange, e.fin());
|
||||
float w = 1f + 5 * e.fout();
|
||||
|
||||
Reference in New Issue
Block a user