Added arkyid boss

This commit is contained in:
Anuken
2020-08-25 22:01:46 -04:00
parent 6a23439fce
commit bce85ded79
18 changed files with 2625 additions and 2552 deletions

View File

@@ -1789,6 +1789,7 @@ public class Blocks implements ContentList{
upgrades = new UnitType[][]{
{UnitTypes.zenith, UnitTypes.antumbra},
{UnitTypes.spiroct, UnitTypes.arkyid},
};
}};

View File

@@ -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 -> {
color(Pal.missileYellow);

View File

@@ -376,18 +376,17 @@ public class UnitTypes implements ContentList{
}});
}};
//TODO implement
arkyid = new UnitType("arkyid"){{
drag = 0.1f;
speed = 0.5f;
hitsize = 9f;
health = 140;
health = 7000;
armor = 6f;
legCount = 6;
legMoveSpace = 1f;
legPairOffset = 3;
legLength = 34f;
rotateShooting = false;
legLength = 30f;
legExtension = -15;
legBaseOffset = 10f;
landShake = 2f;
@@ -399,29 +398,76 @@ public class UnitTypes implements ContentList{
legSplashDamage = 32;
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(
new Weapon("missiles-mount"){{
reload = 20f;
new Weapon("spiroct-weapon"){{
reload = 9f;
x = 4f;
y = 8f;
rotate = true;
shake = 1f;
bullet = new MissileBulletType(2.7f, 12, "missile"){{
width = 8f;
height = 8f;
shrinkY = 0f;
drag = -0.003f;
homingRange = 60f;
keepVelocity = false;
splashDamageRadius = 25f;
splashDamage = 10f;
lifetime = 120f;
trailColor = Color.gray;
backColor = Pal.bulletYellowBack;
frontColor = Pal.bulletYellow;
hitEffect = Fx.blastExplosion;
despawnEffect = Fx.blastExplosion;
weaveScale = 8f;
weaveMag = 2f;
bullet = sapper;
}},
new Weapon("spiroct-weapon"){{
reload = 15f;
x = 9f;
y = 6f;
rotate = true;
bullet = sapper;
}},
new Weapon("spiroct-weapon"){{
reload = 23f;
x = 14f;
y = 0f;
rotate = true;
bullet = sapper;
}},
new Weapon("large-purple-mount"){{
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"){{
y = 2f;
x = 10f;
shootY = 12f;
shootY = 10f;
reload = 12;
shake = 1f;
rotateSpeed = 2f;

View File

@@ -92,6 +92,7 @@ public abstract class BulletType extends Content{
public float homingPower = 0f;
public float homingRange = 50f;
public Color lightningColor = Pal.surge;
public int lightning;
public int lightningLength = 5;
/** 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++){
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);
}
}

View File

@@ -9,6 +9,8 @@ public class Pal{
command = Color.valueOf("eab678"),
sap = Color.valueOf("665c9f"),
sapBullet = Color.valueOf("bf92f9"),
sapBulletBack = Color.valueOf("6d56bf"),
spore = Color.valueOf("7457ce"),