Closes Anuken/Mindustry-Suggestions/issues/5397

This commit is contained in:
Anuken
2025-01-19 14:59:27 -05:00
parent 68fecc551a
commit 224e74cc5f
5 changed files with 34 additions and 15 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 236 B

After

Width:  |  Height:  |  Size: 230 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -751,7 +751,7 @@ error.mapnotfound = Map file not found!
error.io = Network I/O error. error.io = Network I/O error.
error.any = Unknown network error. error.any = Unknown network error.
error.bloom = Failed to initialize bloom.\nYour device may not support it. error.bloom = Failed to initialize bloom.\nYour device may not support it.
error.moddex = Mindustry is unable to load this mod.\nYour device is blocking import of Java mods due to recent changes in Android.\nThere is no known workaround for this issue. error.moddex = Mindustry is unable to load this mod.\nYour device is blocking import of Java mods due to recent changes in Android.\nThis will not be fixed. There is no known workaround for this issue.
weather.rain.name = Rain weather.rain.name = Rain
weather.snowing.name = Snow weather.snowing.name = Snow

View File

@@ -4927,18 +4927,17 @@ public class Blocks{
}}; }};
}}, }},
//TODO - needs balancing
Items.phaseFabric, new BulletType(0f, 0f){{ Items.phaseFabric, new BulletType(0f, 0f){{
shootEffect = Fx.shootBig; shootEffect = Fx.shootBig;
smokeEffect = Fx.shootSmokeMissileColor; smokeEffect = Fx.shootSmokeMissileColor;
hitColor = Color.valueOf("ffd37f"); hitColor = Color.valueOf("ffd37f");
ammoMultiplier = 1f; ammoMultiplier = 5f;
reloadMultiplier = 0.8f; reloadMultiplier = 0.8f;
spawnUnit = new MissileUnitType("scathe-missile-phase"){{ spawnUnit = new MissileUnitType("scathe-missile-phase"){{
speed = 4.4f; speed = 4f;
maxRange = 6f; maxRange = 6f;
lifetime = 60f * 5.7f; lifetime = 60f * 6.1f;
outlineColor = Pal.darkOutline; outlineColor = Pal.darkOutline;
engineColor = trailColor = Color.valueOf("ffd37f"); engineColor = trailColor = Color.valueOf("ffd37f");
engineLayer = Layer.effect; engineLayer = Layer.effect;
@@ -4954,9 +4953,20 @@ public class Blocks{
targetAir = false; targetAir = false;
targetUnderBlocks = 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; fogRadius = 6f;
health = 250; health = 500;
weapons.add(new Weapon(){{ weapons.add(new Weapon(){{
shootCone = 360f; shootCone = 360f;
@@ -4965,7 +4975,7 @@ public class Blocks{
deathExplosionEffect = Fx.massiveExplosion; deathExplosionEffect = Fx.massiveExplosion;
shootOnDeath = true; shootOnDeath = true;
shake = 10f; shake = 10f;
bullet = new ExplosionBulletType(1500f, 50f){{ bullet = new ExplosionBulletType(400f, 120f){{
hitColor = engineColor; hitColor = engineColor;
shootEffect = new MultiEffect(Fx.massiveExplosion, Fx.scatheExplosion, Fx.scatheLight, new WaveEffect(){{ shootEffect = new MultiEffect(Fx.massiveExplosion, Fx.scatheExplosion, Fx.scatheLight, new WaveEffect(){{
lifetime = 10f; lifetime = 10f;
@@ -4974,7 +4984,7 @@ public class Blocks{
}}); }});
collidesAir = false; collidesAir = false;
buildingDamageMultiplier = 0.2f; buildingDamageMultiplier = 0.1f;
ammoMultiplier = 1f; ammoMultiplier = 1f;
fragLifeMin = 0.1f; fragLifeMin = 0.1f;
@@ -4988,8 +4998,8 @@ public class Blocks{
lifetime = 23f; lifetime = 23f;
width = height = 18f; width = height = 18f;
collidesTiles = false; collidesTiles = false;
splashDamageRadius = 40f; splashDamageRadius = 56f;
splashDamage = 160f; splashDamage = 164f;
backColor = trailColor = hitColor = engineColor; backColor = trailColor = hitColor = engineColor;
frontColor = Color.white; frontColor = Color.white;
smokeEffect = Fx.shootBigSmoke2; smokeEffect = Fx.shootBigSmoke2;
@@ -5013,7 +5023,7 @@ public class Blocks{
interval = 7f; 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; deathExplosionEffect = Fx.massiveExplosion;
shootOnDeath = true; shootOnDeath = true;
shake = 10f; shake = 10f;
bullet = new ExplosionBulletType(400f, 40f){{ bullet = new ExplosionBulletType(300f, 40f){{
hitColor = engineColor; hitColor = engineColor;
shootEffect = new MultiEffect(Fx.massiveExplosion, Fx.scatheExplosionSmall); shootEffect = new MultiEffect(Fx.massiveExplosion, Fx.scatheExplosionSmall);
collidesAir = false; collidesAir = false;
buildingDamageMultiplier = 0.25f; buildingDamageMultiplier = 0.1f;
ammoMultiplier = 1f; ammoMultiplier = 1f;
fragLifeMin = 0.1f; fragLifeMin = 0.1f;
@@ -5105,7 +5115,7 @@ public class Blocks{
deathExplosionEffect = Fx.massiveExplosion; deathExplosionEffect = Fx.massiveExplosion;
shootOnDeath = true; shootOnDeath = true;
shake = 10f; shake = 10f;
bullet = new ExplosionBulletType(340f, 35f){{ bullet = new ExplosionBulletType(360f, 35f){{
lightning = 6; lightning = 6;
lightningDamage = 35f; lightningDamage = 35f;
lightningLength = 8; lightningLength = 8;
@@ -5118,7 +5128,7 @@ public class Blocks{
}}); }});
collidesAir = false; collidesAir = false;
buildingDamageMultiplier = 0.2f; buildingDamageMultiplier = 0.1f;
}}; }};
}}); }});

View File

@@ -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 @Override
public void draw(Unit unit){ public void draw(Unit unit){
checkRadius(unit); checkRadius(unit);