From 1d0889037219ed3ec1a5b76820bf7cc81b29c81d Mon Sep 17 00:00:00 2001 From: Frolonov <81882506+Frolonov@users.noreply.github.com> Date: Sat, 8 Mar 2025 21:20:57 -0500 Subject: [PATCH 1/5] Rework_quell_disrupt Quell switched to homing artillery to get more effective damage output. Armor increased but health down to fit the commando role, cutting enemy ammo line & power for ground units but cannot handle heavy resistance. Disrupt gets more durable missiles & strong salvo fire to get better chance overwhelming anti-air defense. Both units got slightly better mobility. --- core/src/mindustry/content/UnitTypes.java | 104 ++++++++++++---------- 1 file changed, 58 insertions(+), 46 deletions(-) diff --git a/core/src/mindustry/content/UnitTypes.java b/core/src/mindustry/content/UnitTypes.java index 6e3514620cd1..9970ca57a223 100644 --- a/core/src/mindustry/content/UnitTypes.java +++ b/core/src/mindustry/content/UnitTypes.java @@ -3813,11 +3813,11 @@ public static void load(){ lowAltitude = false; flying = true; drag = 0.06f; - speed = 1.1f; + speed = 1.2f; rotateSpeed = 3.2f; accel = 0.1f; - health = 6000f; - armor = 4f; + health = 5700f; + armor = 8f; hitSize = 36f; payloadCapacity = Mathf.sqr(3f) * tilePayload; researchCostMultiplier = 0f; @@ -3837,41 +3837,36 @@ public static void load(){ y = 5 / 4f; rotate = true; rotateSpeed = 2f; - reload = 55f; + reload = 60f; layerOffset = -0.001f; recoil = 1f; rotationLimit = 60f; - bullet = new BulletType(){{ + bullet = new ArtilleryBulletType(8f, 30){{ shootEffect = Fx.shootBig; smokeEffect = Fx.shootBigSmoke2; + despawnEffect = hitEffect = new ExplosionEffect(){{ + waveColor = Pal.sapBullet; + smokeColor = Color.gray; + sparkColor = Pal.sap; + waveStroke = 4f; + waveRad = 40f; + }}; + hitColor = backColor = trailColor = Pal.suppress; shake = 1f; - speed = 0f; keepVelocity = false; collidesAir = false; - - spawnUnit = new MissileUnitType("quell-missile"){{ - targetAir = false; - speed = 4.3f; - maxRange = 6f; - lifetime = 60f * 1.4f; - outlineColor = Pal.darkOutline; - engineColor = trailColor = Pal.sapBulletBack; - engineLayer = Layer.effect; - health = 45; - loopSoundVolume = 0.1f; - - weapons.add(new Weapon(){{ - shootCone = 360f; - mirror = false; - reload = 1f; - shootOnDeath = true; - bullet = new ExplosionBulletType(110f, 25f){{ - shootEffect = Fx.massiveExplosion; - collidesAir = false; - }}; - }}); - }}; + sprite = "missile-large"; + width = 9f; + height = 12f; + trailWidth = 2.5f; + trailLength = 16f; + lifetime = 31f; + hitSize = 6f; + homingPower = 0.08f; + knockback = 1.6f; + splashDamage = 120f; + splashDamageRadius = 32f; }}; }}); @@ -3888,8 +3883,8 @@ public static void load(){ lowAltitude = false; flying = true; drag = 0.07f; - speed = 1f; - rotateSpeed = 2f; + speed = 1.2f; + rotateSpeed = 0.8f; accel = 0.1f; health = 12000f; armor = 9f; @@ -3900,12 +3895,14 @@ public static void load(){ engineSize = 6f; engineOffset = 25.25f; - float orbRad = 5f, partRad = 3f; + float orbRad = 6f, partRad = 4f; int parts = 10; abilities.add(new SuppressionFieldAbility(){{ orbRadius = orbRad; particleSize = partRad; + reload = 150; + range = 360; y = 10f; particles = parts; }}); @@ -3928,18 +3925,32 @@ public static void load(){ y = -10f / 4f; mirror = true; rotate = true; - rotateSpeed = 0.4f; - reload = 70f; + rotateSpeed = 0.8f; + reload = 360f; layerOffset = -20f; recoil = 1f; - rotationLimit = 22f; + rotationLimit = 9f; minWarmup = 0.95f; shootWarmupSpeed = 0.1f; shootY = 2f; - shootCone = 40f; - shoot.shots = 3; - shoot.shotDelay = 5f; - inaccuracy = 28f; + shootCone = 12f; + alternate = false; + shoot = new ShootBarrel(){{ + barrels = new float[]{ + 0, 0, -72f, + 0, 0, -56f, + 0, 0, 0, + 0, 0, -48f, + 0, 0, -32f, + 0, 0, 0, + 0, 0, -24f, + 0, 0, -8f, + 0, 0, 0 + }; + shots = 9; + shotDelay = 3f; + }}; + inaccuracy = 0f; parts.add(new RegionPart("-blade"){{ heatProgress = PartProgress.warmup; @@ -3965,11 +3976,12 @@ public static void load(){ spawnUnit = new MissileUnitType("disrupt-missile"){{ targetAir = false; - speed = 4.6f; + speed = 6f; maxRange = 5f; outlineColor = Pal.darkOutline; - health = 70; - homingDelay = 10f; + health = 270; + homingDelay = 12f; + homingPower = 0.07f; lowAltitude = true; engineSize = 3f; engineColor = trailColor = Pal.sapBulletBack; @@ -4002,20 +4014,20 @@ public static void load(){ mirror = false; reload = 1f; shootOnDeath = true; - bullet = new ExplosionBulletType(140f, 25f){{ + bullet = new ExplosionBulletType(160f, 36f){{ collidesAir = false; suppressionRange = 140f; shootEffect = new ExplosionEffect(){{ - lifetime = 50f; + lifetime = 30f; waveStroke = 5f; waveLife = 8f; waveColor = Color.white; sparkColor = smokeColor = Pal.suppress; waveRad = 40f; smokeSize = 4f; - smokes = 7; + smokes = 5; smokeSizeBase = 0f; - sparks = 10; + sparks = 6; sparkRad = 40f; sparkLen = 6f; sparkStroke = 2f; From d8dacc281718c76e8da1ebfed389bceb417395ae Mon Sep 17 00:00:00 2001 From: Frolonov <81882506+Frolonov@users.noreply.github.com> Date: Sat, 8 Mar 2025 21:25:15 -0500 Subject: [PATCH 2/5] syntax fix --- core/src/mindustry/content/UnitTypes.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/mindustry/content/UnitTypes.java b/core/src/mindustry/content/UnitTypes.java index 9970ca57a223..3eb96c78d1dc 100644 --- a/core/src/mindustry/content/UnitTypes.java +++ b/core/src/mindustry/content/UnitTypes.java @@ -3860,7 +3860,7 @@ public static void load(){ width = 9f; height = 12f; trailWidth = 2.5f; - trailLength = 16f; + trailLength = 12; lifetime = 31f; hitSize = 6f; homingPower = 0.08f; From afd91e0dc249ec847be71803dc123fafaf04d6fd Mon Sep 17 00:00:00 2001 From: Frolonov <81882506+Frolonov@users.noreply.github.com> Date: Sat, 8 Mar 2025 21:37:20 -0500 Subject: [PATCH 3/5] range tweak --- core/src/mindustry/content/UnitTypes.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/core/src/mindustry/content/UnitTypes.java b/core/src/mindustry/content/UnitTypes.java index 3eb96c78d1dc..2f408c3479a9 100644 --- a/core/src/mindustry/content/UnitTypes.java +++ b/core/src/mindustry/content/UnitTypes.java @@ -3809,7 +3809,7 @@ public static void load(){ quell = new ErekirUnitType("quell"){{ aiController = FlyingFollowAI::new; envDisabled = 0; - + fogRadius = 44f; lowAltitude = false; flying = true; drag = 0.06f; @@ -3879,7 +3879,7 @@ public static void load(){ disrupt = new ErekirUnitType("disrupt"){{ aiController = FlyingFollowAI::new; envDisabled = 0; - + fogRadius = 60f; lowAltitude = false; flying = true; drag = 0.07f; @@ -3980,6 +3980,7 @@ public static void load(){ maxRange = 5f; outlineColor = Pal.darkOutline; health = 270; + lifetime = 62f; homingDelay = 12f; homingPower = 0.07f; lowAltitude = true; @@ -3988,6 +3989,7 @@ public static void load(){ engineLayer = Layer.effect; deathExplosionEffect = Fx.none; loopSoundVolume = 0.1f; + fogRadius = 6f; parts.add(new ShapePart(){{ layer = Layer.effect; From fcdcd0661647b9ea54110e0ab81b8b7638b11966 Mon Sep 17 00:00:00 2001 From: Frolonov <81882506+Frolonov@users.noreply.github.com> Date: Sat, 8 Mar 2025 21:59:19 -0500 Subject: [PATCH 4/5] mobility tweak --- core/src/mindustry/content/UnitTypes.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/core/src/mindustry/content/UnitTypes.java b/core/src/mindustry/content/UnitTypes.java index 2f408c3479a9..5db637c926fa 100644 --- a/core/src/mindustry/content/UnitTypes.java +++ b/core/src/mindustry/content/UnitTypes.java @@ -3813,7 +3813,7 @@ public static void load(){ lowAltitude = false; flying = true; drag = 0.06f; - speed = 1.2f; + speed = 0.95f; rotateSpeed = 3.2f; accel = 0.1f; health = 5700f; @@ -3865,8 +3865,8 @@ public static void load(){ hitSize = 6f; homingPower = 0.08f; knockback = 1.6f; - splashDamage = 120f; - splashDamageRadius = 32f; + splashDamage = 100f; + splashDamageRadius = 28f; }}; }}); @@ -3883,7 +3883,7 @@ public static void load(){ lowAltitude = false; flying = true; drag = 0.07f; - speed = 1.2f; + speed = 1.1f; rotateSpeed = 0.8f; accel = 0.1f; health = 12000f; @@ -3926,7 +3926,7 @@ public static void load(){ mirror = true; rotate = true; rotateSpeed = 0.8f; - reload = 360f; + reload = 240f; layerOffset = -20f; recoil = 1f; rotationLimit = 9f; @@ -3979,10 +3979,10 @@ public static void load(){ speed = 6f; maxRange = 5f; outlineColor = Pal.darkOutline; - health = 270; + health = 240; lifetime = 62f; - homingDelay = 12f; - homingPower = 0.07f; + homingDelay = 18f; + homingPower = 0.05f; lowAltitude = true; engineSize = 3f; engineColor = trailColor = Pal.sapBulletBack; From 655cd9df97ff5ddd41bdf00b679ca6c6ebf8d359 Mon Sep 17 00:00:00 2001 From: Frolonov <81882506+Frolonov@users.noreply.github.com> Date: Sat, 8 Mar 2025 22:20:51 -0500 Subject: [PATCH 5/5] balancing tweak --- core/src/mindustry/content/UnitTypes.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/core/src/mindustry/content/UnitTypes.java b/core/src/mindustry/content/UnitTypes.java index 5db637c926fa..72ca4d962440 100644 --- a/core/src/mindustry/content/UnitTypes.java +++ b/core/src/mindustry/content/UnitTypes.java @@ -3816,8 +3816,8 @@ public static void load(){ speed = 0.95f; rotateSpeed = 3.2f; accel = 0.1f; - health = 5700f; - armor = 8f; + health = 5600f; + armor = 9f; hitSize = 36f; payloadCapacity = Mathf.sqr(3f) * tilePayload; researchCostMultiplier = 0f; @@ -3926,7 +3926,7 @@ public static void load(){ mirror = true; rotate = true; rotateSpeed = 0.8f; - reload = 240f; + reload = 216f; layerOffset = -20f; recoil = 1f; rotationLimit = 9f; @@ -3981,8 +3981,8 @@ public static void load(){ outlineColor = Pal.darkOutline; health = 240; lifetime = 62f; - homingDelay = 18f; - homingPower = 0.05f; + homingDelay = 20f; + homingPower = 0.04f; lowAltitude = true; engineSize = 3f; engineColor = trailColor = Pal.sapBulletBack; @@ -4016,7 +4016,7 @@ public static void load(){ mirror = false; reload = 1f; shootOnDeath = true; - bullet = new ExplosionBulletType(160f, 36f){{ + bullet = new ExplosionBulletType(220f, 44f){{ collidesAir = false; suppressionRange = 140f; shootEffect = new ExplosionEffect(){{