WIP low-tier leg unit
This commit is contained in:
@@ -1234,18 +1234,6 @@ public class Fx{
|
||||
Lines.circle(e.x, e.y, e.fin() * 50f);
|
||||
}),
|
||||
|
||||
nuclearShockwave = new Effect(10f, 200f, e -> {
|
||||
color(Color.white, Color.lightGray, e.fin());
|
||||
stroke(e.fout() * 3f + 0.2f);
|
||||
Lines.circle(e.x, e.y, e.fin() * 140f);
|
||||
}),
|
||||
|
||||
impactShockwave = new Effect(13f, 300f, e -> {
|
||||
color(Pal.lighterOrange, Color.lightGray, e.fin());
|
||||
stroke(e.fout() * 4f + 0.2f);
|
||||
Lines.circle(e.x, e.y, e.fin() * 200f);
|
||||
}),
|
||||
|
||||
spawnShockwave = new Effect(20f, 400f, e -> {
|
||||
color(Color.white, Color.lightGray, e.fin());
|
||||
stroke(e.fout() * 3f + 0.5f);
|
||||
@@ -1393,27 +1381,6 @@ public class Fx{
|
||||
});
|
||||
}),
|
||||
|
||||
blockExplosion = new Effect(30, e -> {
|
||||
e.scaled(7, i -> {
|
||||
stroke(3.1f * i.fout());
|
||||
Lines.circle(e.x, e.y, 3f + i.fin() * 14f);
|
||||
});
|
||||
|
||||
color(Color.gray);
|
||||
|
||||
randLenVectors(e.id, 6, 2f + 19f * e.finpow(), (x, y) -> {
|
||||
Fill.circle(e.x + x, e.y + y, e.fout() * 3f + 0.5f);
|
||||
Fill.circle(e.x + x / 2f, e.y + y / 2f, e.fout());
|
||||
});
|
||||
|
||||
color(Pal.lighterOrange, Pal.lightOrange, Color.gray, e.fin());
|
||||
stroke(1.7f * e.fout());
|
||||
|
||||
randLenVectors(e.id + 1, 9, 1f + 23f * e.finpow(), (x, y) -> {
|
||||
lineAngle(e.x + x, e.y + y, Mathf.angle(x, y), 1f + e.fout() * 3f);
|
||||
});
|
||||
}),
|
||||
|
||||
blockExplosionSmoke = new Effect(30, e -> {
|
||||
color(Color.gray);
|
||||
|
||||
@@ -1872,47 +1839,6 @@ public class Fx{
|
||||
});
|
||||
}),
|
||||
|
||||
nuclearsmoke = new Effect(40, e -> {
|
||||
randLenVectors(e.id, 4, e.fin() * 13f, (x, y) -> {
|
||||
float size = e.fslope() * 4f;
|
||||
color(Color.lightGray, Color.gray, e.fin());
|
||||
Fill.circle(e.x + x, e.y + y, size/2f);
|
||||
});
|
||||
}),
|
||||
|
||||
cloudsmoke = new Effect(70, e -> {
|
||||
randLenVectors(e.id, 12, 15f + e.fin() * 45f, (x, y) -> {
|
||||
float size = e.fslope() * 2f;
|
||||
color(Color.gray);
|
||||
alpha(e.fslope());
|
||||
Fill.circle(e.x + x, e.y + y, size);
|
||||
});
|
||||
}),
|
||||
|
||||
nuclearcloud = new Effect(90, 200f, e -> {
|
||||
randLenVectors(e.id, 10, e.finpow() * 90f, (x, y) -> {
|
||||
float size = e.fout() * 14f;
|
||||
color(Color.lime, Color.gray, e.fin());
|
||||
Fill.circle(e.x + x, e.y + y, size/2f);
|
||||
});
|
||||
}),
|
||||
|
||||
impactsmoke = new Effect(60, e -> {
|
||||
randLenVectors(e.id, 7, e.fin() * 20f, (x, y) -> {
|
||||
float size = e.fslope() * 4f;
|
||||
color(Color.lightGray, Color.gray, e.fin());
|
||||
Fill.circle(e.x + x, e.y + y, size/2f);
|
||||
});
|
||||
}),
|
||||
|
||||
impactcloud = new Effect(140, 400f, e -> {
|
||||
randLenVectors(e.id, 20, e.finpow() * 160f, (x, y) -> {
|
||||
float size = e.fout() * 15f;
|
||||
color(Pal.lighterOrange, Color.lightGray, e.fin());
|
||||
Fill.circle(e.x + x, e.y + y, size/2f);
|
||||
});
|
||||
}),
|
||||
|
||||
redgeneratespark = new Effect(90, e -> {
|
||||
color(Pal.redSpark);
|
||||
alpha(e.fslope());
|
||||
@@ -1935,17 +1861,6 @@ public class Fx{
|
||||
}
|
||||
}).layer(Layer.bullet - 1f),
|
||||
|
||||
crucibleSmoke = new Effect(100, e -> {
|
||||
color(Pal.redLight);
|
||||
alpha(e.fslope() * 0.8f);
|
||||
|
||||
rand.setSeed(e.id);
|
||||
for(int i = 0; i < 5; i++){
|
||||
v.trns(rand.random(360f), rand.random(e.finpow() * 14f)).add(e.x, e.y);
|
||||
Fill.circle(v.x, v.y, rand.random(1.4f, 2.8f));
|
||||
}
|
||||
}).layer(Layer.bullet - 1f),
|
||||
|
||||
generatespark = new Effect(18, e -> {
|
||||
randLenVectors(e.id, 5, e.fin() * 8f, (x, y) -> {
|
||||
color(Pal.orangeSpark, Color.gray, e.fin());
|
||||
@@ -2003,13 +1918,6 @@ public class Fx{
|
||||
});
|
||||
}),
|
||||
|
||||
pulverizeRedder = new Effect(40, e -> {
|
||||
randLenVectors(e.id, 5, 3f + e.fin() * 9f, (x, y) -> {
|
||||
color(Pal.redderDust, Pal.stoneGray, e.fin());
|
||||
Fill.square(e.x + x, e.y + y, e.fout() * 2.5f + 0.5f, 45);
|
||||
});
|
||||
}),
|
||||
|
||||
pulverizeSmall = new Effect(30, e -> {
|
||||
randLenVectors(e.id, 3, e.fin() * 5f, (x, y) -> {
|
||||
color(Pal.stoneGray);
|
||||
@@ -2096,24 +2004,6 @@ public class Fx{
|
||||
Lines.square(e.x, e.y, tilesize + e.fout() * 2f);
|
||||
}),
|
||||
|
||||
purify = new Effect(10, e -> {
|
||||
color(Color.royal, Color.gray, e.fin());
|
||||
stroke(2f);
|
||||
Lines.spikes(e.x, e.y, e.fin() * 4f, 2, 6);
|
||||
}),
|
||||
|
||||
purifyoil = new Effect(10, e -> {
|
||||
color(Color.black, Color.gray, e.fin());
|
||||
stroke(2f);
|
||||
Lines.spikes(e.x, e.y, e.fin() * 4f, 2, 6);
|
||||
}),
|
||||
|
||||
purifystone = new Effect(10, e -> {
|
||||
color(Color.orange, Color.gray, e.fin());
|
||||
stroke(2f);
|
||||
Lines.spikes(e.x, e.y, e.fin() * 4f, 2, 6);
|
||||
}),
|
||||
|
||||
generate = new Effect(11, e -> {
|
||||
color(Color.orange, Color.yellow, e.fin());
|
||||
stroke(1f);
|
||||
@@ -2184,13 +2074,6 @@ public class Fx{
|
||||
});
|
||||
}),
|
||||
|
||||
smelt = new Effect(20, e -> {
|
||||
color(Color.white, e.color, e.fin());
|
||||
randLenVectors(e.id, 6, 2f + e.fin() * 5f, (x, y) -> {
|
||||
Fill.square(e.x + x, e.y + y, 0.5f + e.fout() * 2f, 45);
|
||||
});
|
||||
}),
|
||||
|
||||
teleportActivate = new Effect(50, e -> {
|
||||
color(e.color);
|
||||
|
||||
|
||||
@@ -36,7 +36,8 @@ public class UnitTypes{
|
||||
public static @EntityDef(value = {Unitc.class, Mechc.class}, legacy = true) UnitType nova, pulsar, quasar;
|
||||
|
||||
//legs
|
||||
public static @EntityDef({Unitc.class, Legsc.class}) UnitType corvus, atrax, bulwark, krepost;
|
||||
public static @EntityDef({Unitc.class, Legsc.class}) UnitType corvus, atrax,
|
||||
latum, bulwark, krepost;
|
||||
|
||||
//legs, legacy
|
||||
public static @EntityDef(value = {Unitc.class, Legsc.class}, legacy = true) UnitType spiroct, arkyid, toxopid;
|
||||
@@ -641,7 +642,7 @@ public class UnitTypes{
|
||||
visualElevation = 0.2f;
|
||||
groundLayer = Layer.legUnit - 1f;
|
||||
|
||||
weapons.add(new Weapon("eruption"){{
|
||||
weapons.add(new Weapon("atrax-weapon"){{
|
||||
top = false;
|
||||
shootY = 3f;
|
||||
reload = 9f;
|
||||
@@ -2499,6 +2500,7 @@ public class UnitTypes{
|
||||
spread = 3.5f;
|
||||
}};
|
||||
|
||||
//TODO make this look nice
|
||||
bullet = new RailBulletType(){{
|
||||
length = 140f;
|
||||
damage = 40f;
|
||||
@@ -2771,6 +2773,52 @@ public class UnitTypes{
|
||||
//endregion
|
||||
//region erekir - mech
|
||||
|
||||
latum = new ErekirUnitType("latum"){{
|
||||
speed = 0.7f;
|
||||
drag = 0.1f;
|
||||
hitSize = 14f;
|
||||
rotateSpeed = 3f;
|
||||
health = 700;
|
||||
|
||||
legCount = 4;
|
||||
legLength = 14f;
|
||||
lockLegBase = true;
|
||||
legContinuousMove = true;
|
||||
legExtension = -3f;
|
||||
legBaseOffset = 5f;
|
||||
maxStretch = 1.1f;
|
||||
maxCompress = 0.2f;
|
||||
legLengthScl = 0.95f;
|
||||
legTrns = 0.7f;
|
||||
|
||||
legMoveSpace = 1f;
|
||||
hovering = true;
|
||||
armor = 5f;
|
||||
|
||||
visualElevation = 0.2f;
|
||||
groundLayer = Layer.legUnit - 1f;
|
||||
|
||||
if(false)
|
||||
weapons.add(new Weapon("eruption"){{
|
||||
top = false;
|
||||
shootY = 3f;
|
||||
reload = 9f;
|
||||
ejectEffect = Fx.none;
|
||||
recoil = 1f;
|
||||
x = 7f;
|
||||
shootSound = Sounds.flame;
|
||||
|
||||
bullet = new LiquidBulletType(Liquids.slag){{
|
||||
damage = 13;
|
||||
speed = 2.5f;
|
||||
drag = 0.009f;
|
||||
shootEffect = Fx.shootSmall;
|
||||
lifetime = 57f;
|
||||
collidesAir = false;
|
||||
}};
|
||||
}});
|
||||
}};
|
||||
|
||||
bulwark = new ErekirUnitType("bulwark"){{
|
||||
drag = 0.1f;
|
||||
speed = 0.6f;
|
||||
|
||||
Reference in New Issue
Block a user