Closes Anuken/Mindustry-Suggestions/issues/5397
This commit is contained in:
@@ -4927,18 +4927,17 @@ public class Blocks{
|
||||
}};
|
||||
}},
|
||||
|
||||
//TODO - needs balancing
|
||||
Items.phaseFabric, new BulletType(0f, 0f){{
|
||||
shootEffect = Fx.shootBig;
|
||||
smokeEffect = Fx.shootSmokeMissileColor;
|
||||
hitColor = Color.valueOf("ffd37f");
|
||||
ammoMultiplier = 1f;
|
||||
ammoMultiplier = 5f;
|
||||
reloadMultiplier = 0.8f;
|
||||
|
||||
spawnUnit = new MissileUnitType("scathe-missile-phase"){{
|
||||
speed = 4.4f;
|
||||
speed = 4f;
|
||||
maxRange = 6f;
|
||||
lifetime = 60f * 5.7f;
|
||||
lifetime = 60f * 6.1f;
|
||||
outlineColor = Pal.darkOutline;
|
||||
engineColor = trailColor = Color.valueOf("ffd37f");
|
||||
engineLayer = Layer.effect;
|
||||
@@ -4954,9 +4953,20 @@ public class Blocks{
|
||||
targetAir = false;
|
||||
targetUnderBlocks = false;
|
||||
|
||||
parts.add(new ShapePart(){{
|
||||
progress = PartProgress.constant(1f);
|
||||
color = Pal.accent;
|
||||
sides = 6;
|
||||
radius = 3f;
|
||||
rotateSpeed = 3f;
|
||||
hollow = true;
|
||||
layer = Layer.effect;
|
||||
y = 1.8f;
|
||||
}});
|
||||
|
||||
fogRadius = 6f;
|
||||
|
||||
health = 250;
|
||||
health = 500;
|
||||
|
||||
weapons.add(new Weapon(){{
|
||||
shootCone = 360f;
|
||||
@@ -4965,7 +4975,7 @@ public class Blocks{
|
||||
deathExplosionEffect = Fx.massiveExplosion;
|
||||
shootOnDeath = true;
|
||||
shake = 10f;
|
||||
bullet = new ExplosionBulletType(1500f, 50f){{
|
||||
bullet = new ExplosionBulletType(400f, 120f){{
|
||||
hitColor = engineColor;
|
||||
shootEffect = new MultiEffect(Fx.massiveExplosion, Fx.scatheExplosion, Fx.scatheLight, new WaveEffect(){{
|
||||
lifetime = 10f;
|
||||
@@ -4974,7 +4984,7 @@ public class Blocks{
|
||||
}});
|
||||
|
||||
collidesAir = false;
|
||||
buildingDamageMultiplier = 0.2f;
|
||||
buildingDamageMultiplier = 0.1f;
|
||||
|
||||
ammoMultiplier = 1f;
|
||||
fragLifeMin = 0.1f;
|
||||
@@ -4988,8 +4998,8 @@ public class Blocks{
|
||||
lifetime = 23f;
|
||||
width = height = 18f;
|
||||
collidesTiles = false;
|
||||
splashDamageRadius = 40f;
|
||||
splashDamage = 160f;
|
||||
splashDamageRadius = 56f;
|
||||
splashDamage = 164f;
|
||||
backColor = trailColor = hitColor = engineColor;
|
||||
frontColor = Color.white;
|
||||
smokeEffect = Fx.shootBigSmoke2;
|
||||
@@ -5013,7 +5023,7 @@ public class Blocks{
|
||||
interval = 7f;
|
||||
}});
|
||||
|
||||
abilities.add(new ForceFieldAbility(30f, 0f, 160f, 999999999f));
|
||||
abilities.add(new ForceFieldAbility(90f, 0f, 2000f, 999999999f));
|
||||
|
||||
}};
|
||||
}},
|
||||
@@ -5058,12 +5068,12 @@ public class Blocks{
|
||||
deathExplosionEffect = Fx.massiveExplosion;
|
||||
shootOnDeath = true;
|
||||
shake = 10f;
|
||||
bullet = new ExplosionBulletType(400f, 40f){{
|
||||
bullet = new ExplosionBulletType(300f, 40f){{
|
||||
hitColor = engineColor;
|
||||
shootEffect = new MultiEffect(Fx.massiveExplosion, Fx.scatheExplosionSmall);
|
||||
|
||||
collidesAir = false;
|
||||
buildingDamageMultiplier = 0.25f;
|
||||
buildingDamageMultiplier = 0.1f;
|
||||
|
||||
ammoMultiplier = 1f;
|
||||
fragLifeMin = 0.1f;
|
||||
@@ -5105,7 +5115,7 @@ public class Blocks{
|
||||
deathExplosionEffect = Fx.massiveExplosion;
|
||||
shootOnDeath = true;
|
||||
shake = 10f;
|
||||
bullet = new ExplosionBulletType(340f, 35f){{
|
||||
bullet = new ExplosionBulletType(360f, 35f){{
|
||||
lightning = 6;
|
||||
lightningDamage = 35f;
|
||||
lightningLength = 8;
|
||||
@@ -5118,7 +5128,7 @@ public class Blocks{
|
||||
}});
|
||||
|
||||
collidesAir = false;
|
||||
buildingDamageMultiplier = 0.2f;
|
||||
buildingDamageMultiplier = 0.1f;
|
||||
}};
|
||||
}});
|
||||
|
||||
|
||||
@@ -105,6 +105,15 @@ public class ForceFieldAbility extends Ability{
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void death(Unit unit){
|
||||
|
||||
//self-destructing units can have a shield on death
|
||||
if(unit.shield > 0f && !wasBroken){
|
||||
Fx.shieldBreak.at(unit.x, unit.y, radius, unit.type.shieldColor(unit), this);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void draw(Unit unit){
|
||||
checkRadius(unit);
|
||||
|
||||
Reference in New Issue
Block a user