New lightning mechanics

This commit is contained in:
Anuken
2018-10-09 19:49:46 -04:00
parent 0bae421fbc
commit faa1fee1c0
11 changed files with 97 additions and 34 deletions

View File

@@ -96,7 +96,7 @@ public class Mechs implements ContentList{
Effects.shake(1f, 1f, player);
Effects.effect(UnitFx.landShock, player);
for(int i = 0; i < 8; i++){
Timers.run(Mathf.random(8f), () -> Lightning.create(player.getTeam(), BulletFx.hitLancer, player.getTeam().color, 17f, player.x, player.y, Mathf.random(360f), 14));
Timers.run(Mathf.random(8f), () -> Lightning.create(player.getTeam(), player.getTeam().color, 17f, player.x, player.y, Mathf.random(360f), 14));
}
}
}
@@ -254,7 +254,7 @@ public class Mechs implements ContentList{
float scl = scld(player);
if(Mathf.chance(Timers.delta() * (0.15*scl))){
Effects.effect(BulletFx.hitLancer, Palette.lancerLaser, player.x, player.y);
Lightning.create(player.getTeam(), BulletFx.hitLancer, Palette.lancerLaser, 10f,
Lightning.create(player.getTeam(), Palette.lancerLaser, 10f,
player.x + player.getVelocity().x, player.y + player.getVelocity().y, player.rotation, 14);
}
}

View File

@@ -112,15 +112,18 @@ public class TurretBlocks extends BlockList implements ContentList{
heatColor = Color.RED;
size = 2;
health = 320;
targetAir = false;
}};
arc = new PowerTurret("arc"){{
shootType = AmmoTypes.arc;
reload = 34f;
reload = 60f;
shootShake = 1f;
shootCone = 40f;
rotatespeed = 8f;
powerUsed = 5f;
powerCapacity = 30f;
range = 60f;
range = 130f;
shootEffect = ShootFx.lightningShoot;
heatColor = Color.RED;
recoil = 1f;

View File

@@ -43,7 +43,7 @@ public class FlakBullets extends BulletList implements ContentList{
super.despawned(b);
for (int i = 0; i < 2; i++) {
Lightning.create(b.getTeam(), BulletFx.hitLancer, Palette.surge, damage, b.x, b.y, Mathf.random(360f), 12);
Lightning.create(b.getTeam(), Palette.surge, damage, b.x, b.y, Mathf.random(360f), 12);
}
}
};

View File

@@ -67,7 +67,7 @@ public class MissileBullets extends BulletList implements ContentList{
super.hit(b);
for (int i = 0; i < 2; i++) {
Lightning.create(b.getTeam(), BulletFx.hitLancer, Palette.surge, damage, b.x, b.y, Mathf.random(360f), 14);
Lightning.create(b.getTeam(), Palette.surge, damage, b.x, b.y, Mathf.random(360f), 14);
}
}
};

View File

@@ -27,11 +27,20 @@ import static io.anuke.mindustry.Vars.content;
import static io.anuke.mindustry.Vars.world;
public class TurretBullets extends BulletList implements ContentList{
public static BulletType fireball, basicFlame, lancerLaser, burstLaser, meltdownLaser, fuseShot, waterShot, cryoShot, lavaShot, oilShot, lightning, driverBolt, healBullet, arc;
public static BulletType fireball, basicFlame, lancerLaser, burstLaser, meltdownLaser,
fuseShot, waterShot, cryoShot, lavaShot, oilShot, lightning, driverBolt, healBullet, arc, damageLightning;
@Override
public void load(){
damageLightning = new BulletType(0.0001f, 0f){
{
lifetime = Lightning.lifetime;
hiteffect = BulletFx.hitLancer;
despawneffect = Fx.none;
}
};
healBullet = new BulletType(5.2f, 13){
float healAmount = 21f;
@@ -276,11 +285,12 @@ public class TurretBullets extends BulletList implements ContentList{
}
};
lightning = new BulletType(0.001f, 14){
lightning = new BulletType(0.001f, 12f){
{
lifetime = 1;
lifetime = 1f;
despawneffect = Fx.none;
hiteffect = BulletFx.hitLancer;
keepVelocity = false;
}
@Override
@@ -289,11 +299,11 @@ public class TurretBullets extends BulletList implements ContentList{
@Override
public void init(Bullet b){
Lightning.create(b.getTeam(), hiteffect, Palette.lancerLaser, damage, b.x, b.y, b.angle(), 30);
Lightning.create(b.getTeam(), Palette.lancerLaser, damage, b.x, b.y, b.angle(), 30);
}
};
arc = new BulletType(0.001f, 7){
arc = new BulletType(0.001f, 30){
{
lifetime = 1;
despawneffect = Fx.none;
@@ -306,7 +316,7 @@ public class TurretBullets extends BulletList implements ContentList{
@Override
public void init(Bullet b){
Lightning.create(b.getTeam(), hiteffect, Palette.lancerLaser, damage, b.x, b.y, b.angle(), 28);
Lightning.create(b.getTeam(), Palette.lancerLaser, damage, b.x, b.y, b.angle(), 34);
}
};