Added arkyid boss
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 639 B |
BIN
core/assets-raw/sprites/units/weapons/large-purple-mount.png
Normal file
|
After Width: | Height: | Size: 938 B |
|
Before Width: | Height: | Size: 644 KiB After Width: | Height: | Size: 646 KiB |
|
Before Width: | Height: | Size: 1.0 MiB After Width: | Height: | Size: 1.0 MiB |
|
Before Width: | Height: | Size: 122 KiB After Width: | Height: | Size: 147 KiB |
|
Before Width: | Height: | Size: 184 KiB After Width: | Height: | Size: 186 KiB |
|
Before Width: | Height: | Size: 1.2 MiB After Width: | Height: | Size: 1.2 MiB |
|
Before Width: | Height: | Size: 1.9 MiB After Width: | Height: | Size: 1.9 MiB |
|
Before Width: | Height: | Size: 185 KiB After Width: | Height: | Size: 188 KiB |
|
Before Width: | Height: | Size: 1.3 MiB After Width: | Height: | Size: 1.3 MiB |
@@ -1789,6 +1789,7 @@ public class Blocks implements ContentList{
|
|||||||
|
|
||||||
upgrades = new UnitType[][]{
|
upgrades = new UnitType[][]{
|
||||||
{UnitTypes.zenith, UnitTypes.antumbra},
|
{UnitTypes.zenith, UnitTypes.antumbra},
|
||||||
|
{UnitTypes.spiroct, UnitTypes.arkyid},
|
||||||
};
|
};
|
||||||
}};
|
}};
|
||||||
|
|
||||||
|
|||||||
@@ -514,6 +514,29 @@ public class Fx{
|
|||||||
|
|
||||||
}),
|
}),
|
||||||
|
|
||||||
|
sapExplosion = new Effect(25, e -> {
|
||||||
|
|
||||||
|
color(Pal.sapBullet);
|
||||||
|
e.scaled(6, i -> {
|
||||||
|
stroke(3f * i.fout());
|
||||||
|
Lines.circle(e.x, e.y, 3f + i.fin() * 80f);
|
||||||
|
});
|
||||||
|
|
||||||
|
color(Color.gray);
|
||||||
|
|
||||||
|
randLenVectors(e.id, 9, 2f + 70 * e.finpow(), (x, y) -> {
|
||||||
|
Fill.circle(e.x + x, e.y + y, e.fout() * 4f + 0.5f);
|
||||||
|
});
|
||||||
|
|
||||||
|
color(Pal.sapBulletBack);
|
||||||
|
stroke(1f * e.fout());
|
||||||
|
|
||||||
|
randLenVectors(e.id + 1, 8, 1f + 60f * e.finpow(), (x, y) -> {
|
||||||
|
lineAngle(e.x + x, e.y + y, Mathf.angle(x, y), 1f + e.fout() * 3f);
|
||||||
|
});
|
||||||
|
|
||||||
|
}),
|
||||||
|
|
||||||
massiveExplosion = new Effect(30, e -> {
|
massiveExplosion = new Effect(30, e -> {
|
||||||
|
|
||||||
color(Pal.missileYellow);
|
color(Pal.missileYellow);
|
||||||
|
|||||||
@@ -376,18 +376,17 @@ public class UnitTypes implements ContentList{
|
|||||||
}});
|
}});
|
||||||
}};
|
}};
|
||||||
|
|
||||||
//TODO implement
|
|
||||||
arkyid = new UnitType("arkyid"){{
|
arkyid = new UnitType("arkyid"){{
|
||||||
drag = 0.1f;
|
drag = 0.1f;
|
||||||
speed = 0.5f;
|
speed = 0.5f;
|
||||||
hitsize = 9f;
|
hitsize = 9f;
|
||||||
health = 140;
|
health = 7000;
|
||||||
|
armor = 6f;
|
||||||
|
|
||||||
legCount = 6;
|
legCount = 6;
|
||||||
legMoveSpace = 1f;
|
legMoveSpace = 1f;
|
||||||
legPairOffset = 3;
|
legPairOffset = 3;
|
||||||
legLength = 34f;
|
legLength = 30f;
|
||||||
rotateShooting = false;
|
|
||||||
legExtension = -15;
|
legExtension = -15;
|
||||||
legBaseOffset = 10f;
|
legBaseOffset = 10f;
|
||||||
landShake = 2f;
|
landShake = 2f;
|
||||||
@@ -399,29 +398,76 @@ public class UnitTypes implements ContentList{
|
|||||||
legSplashDamage = 32;
|
legSplashDamage = 32;
|
||||||
legSplashRange = 30;
|
legSplashRange = 30;
|
||||||
|
|
||||||
|
hovering = true;
|
||||||
|
allowLegStep = true;
|
||||||
|
visualElevation = 0.4f;
|
||||||
|
groundLayer = Layer.legUnit;
|
||||||
|
|
||||||
|
BulletType sapper = new SapBulletType(){{
|
||||||
|
sapStrength = 0.6f;
|
||||||
|
length = 55f;
|
||||||
|
damage = 25;
|
||||||
|
shootEffect = Fx.shootSmall;
|
||||||
|
hitColor = color = Color.valueOf("bf92f9");
|
||||||
|
despawnEffect = Fx.none;
|
||||||
|
width = 0.54f;
|
||||||
|
lifetime = 30f;
|
||||||
|
knockback = -1f;
|
||||||
|
}};
|
||||||
|
|
||||||
weapons.add(
|
weapons.add(
|
||||||
new Weapon("missiles-mount"){{
|
new Weapon("spiroct-weapon"){{
|
||||||
reload = 20f;
|
reload = 9f;
|
||||||
x = 4f;
|
x = 4f;
|
||||||
|
y = 8f;
|
||||||
rotate = true;
|
rotate = true;
|
||||||
shake = 1f;
|
bullet = sapper;
|
||||||
bullet = new MissileBulletType(2.7f, 12, "missile"){{
|
}},
|
||||||
width = 8f;
|
new Weapon("spiroct-weapon"){{
|
||||||
height = 8f;
|
reload = 15f;
|
||||||
shrinkY = 0f;
|
x = 9f;
|
||||||
drag = -0.003f;
|
y = 6f;
|
||||||
homingRange = 60f;
|
rotate = true;
|
||||||
keepVelocity = false;
|
bullet = sapper;
|
||||||
splashDamageRadius = 25f;
|
}},
|
||||||
splashDamage = 10f;
|
new Weapon("spiroct-weapon"){{
|
||||||
lifetime = 120f;
|
reload = 23f;
|
||||||
trailColor = Color.gray;
|
x = 14f;
|
||||||
backColor = Pal.bulletYellowBack;
|
y = 0f;
|
||||||
frontColor = Pal.bulletYellow;
|
rotate = true;
|
||||||
hitEffect = Fx.blastExplosion;
|
bullet = sapper;
|
||||||
despawnEffect = Fx.blastExplosion;
|
}},
|
||||||
weaveScale = 8f;
|
new Weapon("large-purple-mount"){{
|
||||||
weaveMag = 2f;
|
y = -7f;
|
||||||
|
x = 9f;
|
||||||
|
shootY = 7f;
|
||||||
|
reload = 45;
|
||||||
|
shake = 3f;
|
||||||
|
rotateSpeed = 2f;
|
||||||
|
ejectEffect = Fx.shellEjectSmall;
|
||||||
|
shootSound = Sounds.shootBig;
|
||||||
|
rotate = true;
|
||||||
|
occlusion = 8f;
|
||||||
|
recoil = 3f;
|
||||||
|
|
||||||
|
bullet = new ArtilleryBulletType(2f, 12){{
|
||||||
|
hitEffect = Fx.sapExplosion;
|
||||||
|
knockback = 0.8f;
|
||||||
|
lifetime = 70f;
|
||||||
|
width = height = 19f;
|
||||||
|
collidesTiles = false;
|
||||||
|
ammoMultiplier = 4f;
|
||||||
|
splashDamageRadius = 90f;
|
||||||
|
splashDamage = 55f;
|
||||||
|
backColor = Pal.sapBulletBack;
|
||||||
|
frontColor = lightningColor = Pal.sapBullet;
|
||||||
|
lightning = 3;
|
||||||
|
lightningLength = 10;
|
||||||
|
smokeEffect = Fx.shootBigSmoke2;
|
||||||
|
shake = 5f;
|
||||||
|
|
||||||
|
status = StatusEffects.sapped;
|
||||||
|
statusDuration = 60f * 10;
|
||||||
}};
|
}};
|
||||||
}});
|
}});
|
||||||
}};
|
}};
|
||||||
@@ -582,7 +628,7 @@ public class UnitTypes implements ContentList{
|
|||||||
new Weapon("large-bullet-mount"){{
|
new Weapon("large-bullet-mount"){{
|
||||||
y = 2f;
|
y = 2f;
|
||||||
x = 10f;
|
x = 10f;
|
||||||
shootY = 12f;
|
shootY = 10f;
|
||||||
reload = 12;
|
reload = 12;
|
||||||
shake = 1f;
|
shake = 1f;
|
||||||
rotateSpeed = 2f;
|
rotateSpeed = 2f;
|
||||||
|
|||||||
@@ -92,6 +92,7 @@ public abstract class BulletType extends Content{
|
|||||||
public float homingPower = 0f;
|
public float homingPower = 0f;
|
||||||
public float homingRange = 50f;
|
public float homingRange = 50f;
|
||||||
|
|
||||||
|
public Color lightningColor = Pal.surge;
|
||||||
public int lightning;
|
public int lightning;
|
||||||
public int lightningLength = 5;
|
public int lightningLength = 5;
|
||||||
/** Use a negative value to use default bullet damage. */
|
/** Use a negative value to use default bullet damage. */
|
||||||
@@ -172,7 +173,7 @@ public abstract class BulletType extends Content{
|
|||||||
}
|
}
|
||||||
|
|
||||||
for(int i = 0; i < lightning; i++){
|
for(int i = 0; i < lightning; i++){
|
||||||
Lightning.create(b, Pal.surge, lightningDamage < 0 ? damage : lightningDamage, b.x, b.y, Mathf.random(360f), lightningLength);
|
Lightning.create(b, lightningColor, lightningDamage < 0 ? damage : lightningDamage, b.x, b.y, Mathf.random(360f), lightningLength);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -9,6 +9,8 @@ public class Pal{
|
|||||||
command = Color.valueOf("eab678"),
|
command = Color.valueOf("eab678"),
|
||||||
|
|
||||||
sap = Color.valueOf("665c9f"),
|
sap = Color.valueOf("665c9f"),
|
||||||
|
sapBullet = Color.valueOf("bf92f9"),
|
||||||
|
sapBulletBack = Color.valueOf("6d56bf"),
|
||||||
|
|
||||||
spore = Color.valueOf("7457ce"),
|
spore = Color.valueOf("7457ce"),
|
||||||
|
|
||||||
|
|||||||