diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java index a042773325..99960925d0 100644 --- a/core/src/mindustry/content/Blocks.java +++ b/core/src/mindustry/content/Blocks.java @@ -2893,11 +2893,14 @@ public class Blocks{ breach = new ItemTurret("breach"){{ requirements(Category.turret, with(Items.beryllium, 200, Items.silicon, 150, Items.graphite, 80)); + + Effect sfe = new MultiEffect(Fx.shootBigColor, Fx.colorSparkBig); + ammo( - Items.beryllium, new BasicBulletType(7f, 90){{ + Items.beryllium, new BasicBulletType(7.5f, 90){{ width = 12f; height = 20f; - shootEffect = Fx.colorSparkBig; + shootEffect = sfe; smokeEffect = Fx.shootBigSmoke; ammoMultiplier = 1; pierce = true; @@ -2908,10 +2911,10 @@ public class Blocks{ trailLength = 10; hitEffect = despawnEffect = Fx.hitBulletColor; }}, - Items.tungsten, new BasicBulletType(7.5f, 160){{ + Items.tungsten, new BasicBulletType(8f, 160){{ width = 13f; height = 19f; - shootEffect = Fx.colorSparkBig; + shootEffect = sfe; smokeEffect = Fx.shootBigSmoke; ammoMultiplier = 1; reloadMultiplier = 1f; @@ -2928,9 +2931,10 @@ public class Blocks{ //TODO no coolant? + shootShake = 1f; ammoPerShot = 6; draw = new DrawTurret("reinforced-"); - shootLength = 0f; + shootLength = -2; outlineColor = Pal.darkOutline; size = 3; envEnabled |= Env.space; diff --git a/core/src/mindustry/content/Fx.java b/core/src/mindustry/content/Fx.java index 0ec83205d4..80b5bbdd7c 100644 --- a/core/src/mindustry/content/Fx.java +++ b/core/src/mindustry/content/Fx.java @@ -1407,6 +1407,13 @@ public class Fx{ Drawf.tri(e.x, e.y, w, 5f * e.fout(), e.rotation + 180f); }), + shootBigColor = new Effect(11, e -> { + color(e.color, Color.gray, e.fin()); + float w = 1.2f +9 * e.fout(); + Drawf.tri(e.x, e.y, w, 32f * e.fout(), e.rotation); + Drawf.tri(e.x, e.y, w, 3f * e.fout(), e.rotation + 180f); + }), + shootTitan = new Effect(10, e -> { color(Pal.lightOrange, e.color, e.fin()); float w = 1.3f + 10 * e.fout(); @@ -1512,9 +1519,9 @@ public class Fx{ colorSparkBig = new Effect(25f, e -> { color(Color.white, e.color, e.fin()); - stroke(e.fout() * 1.3f + 0.5f); + stroke(e.fout() * 1.3f + 0.7f); - randLenVectors(e.id, 8, 37f * e.fin(), e.rotation, 10f, (x, y) -> { + randLenVectors(e.id, 8, 41f * e.fin(), e.rotation, 10f, (x, y) -> { lineAngle(e.x + x, e.y + y, Mathf.angle(x, y), e.fslope() * 6f + 0.5f); }); }), diff --git a/core/src/mindustry/world/blocks/defense/turrets/ItemTurret.java b/core/src/mindustry/world/blocks/defense/turrets/ItemTurret.java index 00c4b5aecb..05a4017aaf 100644 --- a/core/src/mindustry/world/blocks/defense/turrets/ItemTurret.java +++ b/core/src/mindustry/world/blocks/defense/turrets/ItemTurret.java @@ -32,7 +32,7 @@ public class ItemTurret extends Turret{ /** Makes copies of all bullets and limits their range. */ public void limitRange(){ - limitRange(1f); + limitRange(2f); } /** Makes copies of all bullets and limits their range. */ diff --git a/core/src/mindustry/world/blocks/defense/turrets/Turret.java b/core/src/mindustry/world/blocks/defense/turrets/Turret.java index 8e18418a7d..f8cf19332f 100644 --- a/core/src/mindustry/world/blocks/defense/turrets/Turret.java +++ b/core/src/mindustry/world/blocks/defense/turrets/Turret.java @@ -78,7 +78,7 @@ public class Turret extends ReloadTurret{ /** Maximum angle difference in degrees at which turret will still try to shoot. */ public float shootCone = 8f; /** Length of turret shoot point. */ - public float shootLength = -1; + public float shootLength = Float.NEGATIVE_INFINITY; /** Random spread of projectile across width. This looks stupid. */ public float xRand = 0f; /** Currently used for artillery only. */ @@ -164,7 +164,7 @@ public class Turret extends ReloadTurret{ @Override public void init(){ - if(shootLength < 0) shootLength = size * tilesize / 2f; + if(shootLength == Float.NEGATIVE_INFINITY) shootLength = size * tilesize / 2f; if(elevation < 0) elevation = size / 2f; super.init();