From e2ed18f3ef7e6366bb0730a757172423a48c1bfb Mon Sep 17 00:00:00 2001 From: Frolonov <81882506+Frolonov@users.noreply.github.com> Date: Thu, 10 Apr 2025 19:57:08 -0400 Subject: [PATCH 01/27] parallax_tweak --- core/src/mindustry/content/Blocks.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java index 16a7d5d3df..81ef1d4afb 100644 --- a/core/src/mindustry/content/Blocks.java +++ b/core/src/mindustry/content/Blocks.java @@ -3456,9 +3456,9 @@ public class Blocks{ force = 16f; scaledForce = 9f; range = 300f; - damage = 0.5f; + damage = 0.1f; scaledHealth = 160; - rotateSpeed = 12; + rotateSpeed = 18; consumePower(3.3f); }}; From 086a3e16ffc889e67b7b9cccb15bd6b599b9928c Mon Sep 17 00:00:00 2001 From: Frolonov <81882506+Frolonov@users.noreply.github.com> Date: Thu, 10 Apr 2025 20:09:26 -0400 Subject: [PATCH 02/27] Update TractorBeamTurret.java --- .../world/blocks/defense/turrets/TractorBeamTurret.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/core/src/mindustry/world/blocks/defense/turrets/TractorBeamTurret.java b/core/src/mindustry/world/blocks/defense/turrets/TractorBeamTurret.java index ea7b9f8a47..7c1ee6ce14 100644 --- a/core/src/mindustry/world/blocks/defense/turrets/TractorBeamTurret.java +++ b/core/src/mindustry/world/blocks/defense/turrets/TractorBeamTurret.java @@ -18,7 +18,7 @@ import static mindustry.Vars.*; public class TractorBeamTurret extends BaseTurret{ public final int timerTarget = timers++; - public float retargetTime = 5f; + public float retargetTime = 2f; public float shootCone = 6f; public float shootLength = 5f; @@ -28,7 +28,7 @@ public class TractorBeamTurret extends BaseTurret{ public float damage = 0f; public boolean targetAir = true, targetGround = false; public Color laserColor = Color.white; - public StatusEffect status = StatusEffects.none; + public StatusEffect status = StatusEffects.slow; public float statusDuration = 300; public Sound shootSound = Sounds.tractorbeam; @@ -80,7 +80,7 @@ public class TractorBeamTurret extends BaseTurret{ //retarget if(timer(timerTarget, retargetTime)){ - target = Units.closestEnemy(team, x, y, range, u -> u.checkTarget(targetAir, targetGround)); + target = Units.farthestEnemy(team, x, y, range, u -> u.checkTarget(targetAir, targetGround)); } //consume coolant From ba19a95259ade14805fca70046013d93c82557ae Mon Sep 17 00:00:00 2001 From: Frolonov <81882506+Frolonov@users.noreply.github.com> Date: Thu, 10 Apr 2025 20:20:32 -0400 Subject: [PATCH 03/27] Update Units.java --- core/src/mindustry/entities/Units.java | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/core/src/mindustry/entities/Units.java b/core/src/mindustry/entities/Units.java index 5bc18116fd..ea6a2faed5 100644 --- a/core/src/mindustry/entities/Units.java +++ b/core/src/mindustry/entities/Units.java @@ -286,6 +286,28 @@ public class Units{ return result; } + /** Returns the farthest enemy of this team. Filter by predicate. */ + public static Unit farthestEnemy(Team team, float x, float y, float range, Boolf predicate){ + if(team == Team.derelict) return null; + + result = null; + cdist = 0f; + cpriority = -99999f; + + nearbyEnemies(team, x - range, y - range, range*2f, range*2f, e -> { + if(e.dead() || !predicate.get(e) || e.team == Team.derelict || !e.targetable(team) || e.inFogTo(team)) return; + + float dst2 = e.dst2(x, y) - (e.hitSize * e.hitSize); + if(dst2 < range*range && (result == null || dst2 > cdist || e.type.targetPriority > cpriority) && e.type.targetPriority >= cpriority){ + result = e; + cdist = dst2; + cpriority = e.type.targetPriority; + } + }); + + return result; + } + /** Returns the closest enemy of this team using a custom comparison function. Filter by predicate. */ public static Unit bestEnemy(Team team, float x, float y, float range, Boolf predicate, Sortf sort){ if(team == Team.derelict) return null; From 36f444e46042560c8b615307fe99e28f489bfe06 Mon Sep 17 00:00:00 2001 From: Frolonov <81882506+Frolonov@users.noreply.github.com> Date: Thu, 10 Apr 2025 20:27:11 -0400 Subject: [PATCH 04/27] Update TractorBeamTurret.java --- .../world/blocks/defense/turrets/TractorBeamTurret.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/src/mindustry/world/blocks/defense/turrets/TractorBeamTurret.java b/core/src/mindustry/world/blocks/defense/turrets/TractorBeamTurret.java index 7c1ee6ce14..f4fbf05846 100644 --- a/core/src/mindustry/world/blocks/defense/turrets/TractorBeamTurret.java +++ b/core/src/mindustry/world/blocks/defense/turrets/TractorBeamTurret.java @@ -18,7 +18,7 @@ import static mindustry.Vars.*; public class TractorBeamTurret extends BaseTurret{ public final int timerTarget = timers++; - public float retargetTime = 2f; + public float retargetTime = 5f; public float shootCone = 6f; public float shootLength = 5f; @@ -29,7 +29,7 @@ public class TractorBeamTurret extends BaseTurret{ public boolean targetAir = true, targetGround = false; public Color laserColor = Color.white; public StatusEffect status = StatusEffects.slow; - public float statusDuration = 300; + public float statusDuration = 360; public Sound shootSound = Sounds.tractorbeam; public float shootSoundVolume = 0.9f; From 5b69e752c7edf810a6a7f69068edb1da11b5fedc Mon Sep 17 00:00:00 2001 From: Frolonov <81882506+Frolonov@users.noreply.github.com> Date: Thu, 10 Apr 2025 20:29:06 -0400 Subject: [PATCH 05/27] Update Blocks.java --- core/src/mindustry/content/Blocks.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java index 81ef1d4afb..e8ffab93a9 100644 --- a/core/src/mindustry/content/Blocks.java +++ b/core/src/mindustry/content/Blocks.java @@ -3453,12 +3453,14 @@ public class Blocks{ hasPower = true; size = 2; - force = 16f; - scaledForce = 9f; + force = 30f; + scaledForce = 12f; range = 300f; damage = 0.1f; scaledHealth = 160; rotateSpeed = 18; + status = StatusEffects.slow; + statusDuration = 60f * 4f; consumePower(3.3f); }}; From 3ed333188ce77f62c29b29f839753217b3faab3b Mon Sep 17 00:00:00 2001 From: Frolonov <81882506+Frolonov@users.noreply.github.com> Date: Thu, 10 Apr 2025 20:39:58 -0400 Subject: [PATCH 06/27] Update Blocks.java --- core/src/mindustry/content/Blocks.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java index e8ffab93a9..54cee0716d 100644 --- a/core/src/mindustry/content/Blocks.java +++ b/core/src/mindustry/content/Blocks.java @@ -3459,7 +3459,7 @@ public class Blocks{ damage = 0.1f; scaledHealth = 160; rotateSpeed = 18; - status = StatusEffects.slow; + status = StatusEffects.freezing; statusDuration = 60f * 4f; consumePower(3.3f); From 06b91bccdb8bb76244d41a678e1a692e03730261 Mon Sep 17 00:00:00 2001 From: Frolonov <81882506+Frolonov@users.noreply.github.com> Date: Thu, 10 Apr 2025 20:40:20 -0400 Subject: [PATCH 07/27] Update TractorBeamTurret.java --- .../world/blocks/defense/turrets/TractorBeamTurret.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/mindustry/world/blocks/defense/turrets/TractorBeamTurret.java b/core/src/mindustry/world/blocks/defense/turrets/TractorBeamTurret.java index f4fbf05846..6c4e22aac6 100644 --- a/core/src/mindustry/world/blocks/defense/turrets/TractorBeamTurret.java +++ b/core/src/mindustry/world/blocks/defense/turrets/TractorBeamTurret.java @@ -28,7 +28,7 @@ public class TractorBeamTurret extends BaseTurret{ public float damage = 0f; public boolean targetAir = true, targetGround = false; public Color laserColor = Color.white; - public StatusEffect status = StatusEffects.slow; + public StatusEffect status = StatusEffects.none; public float statusDuration = 360; public Sound shootSound = Sounds.tractorbeam; From c06a731150549f6c41c48e3bb85c1a1bef86434e Mon Sep 17 00:00:00 2001 From: Frolonov <81882506+Frolonov@users.noreply.github.com> Date: Thu, 10 Apr 2025 21:17:10 -0400 Subject: [PATCH 08/27] Update Units.java --- core/src/mindustry/entities/Units.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/core/src/mindustry/entities/Units.java b/core/src/mindustry/entities/Units.java index ea6a2faed5..a2be3c77e7 100644 --- a/core/src/mindustry/entities/Units.java +++ b/core/src/mindustry/entities/Units.java @@ -293,14 +293,16 @@ public class Units{ result = null; cdist = 0f; cpriority = -99999f; + chealth = 1f; nearbyEnemies(team, x - range, y - range, range*2f, range*2f, e -> { if(e.dead() || !predicate.get(e) || e.team == Team.derelict || !e.targetable(team) || e.inFogTo(team)) return; float dst2 = e.dst2(x, y) - (e.hitSize * e.hitSize); - if(dst2 < range*range && (result == null || dst2 > cdist || e.type.targetPriority > cpriority) && e.type.targetPriority >= cpriority){ + if(dst2 < range*range && (result == null || dst2 > cdist || e.type.targetPriority > cpriority) && e.type.targetPriority >= cpriority && e.health > chealth && e.status == StatusEffects.none){ result = e; cdist = dst2; + chealth = e.health; cpriority = e.type.targetPriority; } }); From 678ec2e692cf20a147037b5df02070e9bd903dc9 Mon Sep 17 00:00:00 2001 From: Frolonov <81882506+Frolonov@users.noreply.github.com> Date: Thu, 10 Apr 2025 21:21:22 -0400 Subject: [PATCH 09/27] Update Units.java --- core/src/mindustry/entities/Units.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/src/mindustry/entities/Units.java b/core/src/mindustry/entities/Units.java index a2be3c77e7..d4187e2ee1 100644 --- a/core/src/mindustry/entities/Units.java +++ b/core/src/mindustry/entities/Units.java @@ -19,7 +19,7 @@ import static mindustry.Vars.*; public class Units{ private static final Rect hitrect = new Rect(); private static Unit result; - private static float cdist, cpriority; + private static float cdist, cpriority, chealth; private static int intResult; private static Building buildResult; @@ -299,7 +299,7 @@ public class Units{ if(e.dead() || !predicate.get(e) || e.team == Team.derelict || !e.targetable(team) || e.inFogTo(team)) return; float dst2 = e.dst2(x, y) - (e.hitSize * e.hitSize); - if(dst2 < range*range && (result == null || dst2 > cdist || e.type.targetPriority > cpriority) && e.type.targetPriority >= cpriority && e.health > chealth && e.status == StatusEffects.none){ + if(dst2 < range*range && (result == null || dst2 > cdist || e.type.targetPriority > cpriority) && e.type.targetPriority >= cpriority && e.health > chealth){ result = e; cdist = dst2; chealth = e.health; From c3d9ed2656f4d7cb20125eb93eb44b978bdd4782 Mon Sep 17 00:00:00 2001 From: Frolonov <81882506+Frolonov@users.noreply.github.com> Date: Thu, 10 Apr 2025 21:43:15 -0400 Subject: [PATCH 10/27] Update Units.java --- core/src/mindustry/entities/Units.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/core/src/mindustry/entities/Units.java b/core/src/mindustry/entities/Units.java index d4187e2ee1..62601c7bdb 100644 --- a/core/src/mindustry/entities/Units.java +++ b/core/src/mindustry/entities/Units.java @@ -18,6 +18,7 @@ import static mindustry.Vars.*; /** Utility class for unit and team interactions.*/ public class Units{ private static final Rect hitrect = new Rect(); + private static StatusEffect statusEF; private static Unit result; private static float cdist, cpriority, chealth; private static int intResult; @@ -299,7 +300,7 @@ public class Units{ if(e.dead() || !predicate.get(e) || e.team == Team.derelict || !e.targetable(team) || e.inFogTo(team)) return; float dst2 = e.dst2(x, y) - (e.hitSize * e.hitSize); - if(dst2 < range*range && (result == null || dst2 > cdist || e.type.targetPriority > cpriority) && e.type.targetPriority >= cpriority && e.health > chealth){ + if(dst2 < range*range && (result == null || dst2 > cdist || e.type.targetPriority > cpriority) && e.type.targetPriority >= cpriority && e.health > chealth && e.statusEF == StatusEffect.none){ result = e; cdist = dst2; chealth = e.health; From 686732beef2df2ab75ccb4b4ed06a9080d471e7e Mon Sep 17 00:00:00 2001 From: Frolonov <81882506+Frolonov@users.noreply.github.com> Date: Thu, 10 Apr 2025 22:03:23 -0400 Subject: [PATCH 11/27] Update Units.java --- core/src/mindustry/entities/Units.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/core/src/mindustry/entities/Units.java b/core/src/mindustry/entities/Units.java index 62601c7bdb..8270baaecd 100644 --- a/core/src/mindustry/entities/Units.java +++ b/core/src/mindustry/entities/Units.java @@ -18,7 +18,6 @@ import static mindustry.Vars.*; /** Utility class for unit and team interactions.*/ public class Units{ private static final Rect hitrect = new Rect(); - private static StatusEffect statusEF; private static Unit result; private static float cdist, cpriority, chealth; private static int intResult; @@ -300,7 +299,7 @@ public class Units{ if(e.dead() || !predicate.get(e) || e.team == Team.derelict || !e.targetable(team) || e.inFogTo(team)) return; float dst2 = e.dst2(x, y) - (e.hitSize * e.hitSize); - if(dst2 < range*range && (result == null || dst2 > cdist || e.type.targetPriority > cpriority) && e.type.targetPriority >= cpriority && e.health > chealth && e.statusEF == StatusEffect.none){ + if(dst2 < range*range && (result == null || dst2 > cdist || e.type.targetPriority > cpriority) && e.type.targetPriority >= cpriority && e.health > chealth && e.healthMultiplier > 0.9f){ result = e; cdist = dst2; chealth = e.health; From accb9b2bcb2e4c52e560dab444df13076bfcce6e Mon Sep 17 00:00:00 2001 From: Frolonov <81882506+Frolonov@users.noreply.github.com> Date: Thu, 10 Apr 2025 22:16:28 -0400 Subject: [PATCH 12/27] Update Units.java --- core/src/mindustry/entities/Units.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/core/src/mindustry/entities/Units.java b/core/src/mindustry/entities/Units.java index 8270baaecd..cb46ae948b 100644 --- a/core/src/mindustry/entities/Units.java +++ b/core/src/mindustry/entities/Units.java @@ -19,7 +19,7 @@ import static mindustry.Vars.*; public class Units{ private static final Rect hitrect = new Rect(); private static Unit result; - private static float cdist, cpriority, chealth; + private static float cdist, cpriority, chealth, chealthMultiplier; private static int intResult; private static Building buildResult; @@ -294,15 +294,17 @@ public class Units{ cdist = 0f; cpriority = -99999f; chealth = 1f; + chealthMultiplier = 0.2f; nearbyEnemies(team, x - range, y - range, range*2f, range*2f, e -> { if(e.dead() || !predicate.get(e) || e.team == Team.derelict || !e.targetable(team) || e.inFogTo(team)) return; float dst2 = e.dst2(x, y) - (e.hitSize * e.hitSize); - if(dst2 < range*range && (result == null || dst2 > cdist || e.type.targetPriority > cpriority) && e.type.targetPriority >= cpriority && e.health > chealth && e.healthMultiplier > 0.9f){ + if(dst2 < range*range && (result == null || dst2 > cdist || e.healthMultiplier > chealthMultiplier || e.type.targetPriority > cpriority) && e.type.targetPriority >= cpriority && e.health > chealth){ result = e; cdist = dst2; chealth = e.health; + chealthMultiplier = e.healthMultiplier; cpriority = e.type.targetPriority; } }); From 79307912831c53a658a0d513d5f9543b2287bd24 Mon Sep 17 00:00:00 2001 From: Frolonov <81882506+Frolonov@users.noreply.github.com> Date: Thu, 10 Apr 2025 22:26:22 -0400 Subject: [PATCH 13/27] Update Units.java --- core/src/mindustry/entities/Units.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/core/src/mindustry/entities/Units.java b/core/src/mindustry/entities/Units.java index cb46ae948b..b045231f2e 100644 --- a/core/src/mindustry/entities/Units.java +++ b/core/src/mindustry/entities/Units.java @@ -293,14 +293,14 @@ public class Units{ result = null; cdist = 0f; cpriority = -99999f; - chealth = 1f; - chealthMultiplier = 0.2f; + chealth = -2f; + chealthMultiplier = 0.1f; nearbyEnemies(team, x - range, y - range, range*2f, range*2f, e -> { if(e.dead() || !predicate.get(e) || e.team == Team.derelict || !e.targetable(team) || e.inFogTo(team)) return; float dst2 = e.dst2(x, y) - (e.hitSize * e.hitSize); - if(dst2 < range*range && (result == null || dst2 > cdist || e.healthMultiplier > chealthMultiplier || e.type.targetPriority > cpriority) && e.type.targetPriority >= cpriority && e.health > chealth){ + if(dst2 < range*range && (result == null || dst2 > cdist || e.type.targetPriority > cpriority) && e.type.targetPriority >= cpriority && e.health > chealth && e.healthMultiplier >= chealthMultiplier){ result = e; cdist = dst2; chealth = e.health; From ff2bfc2dcc6486dcc7f8d73ecbb57cbe600f5e6a Mon Sep 17 00:00:00 2001 From: Frolonov <81882506+Frolonov@users.noreply.github.com> Date: Fri, 11 Apr 2025 19:41:21 -0400 Subject: [PATCH 14/27] Update Units.java --- core/src/mindustry/entities/Units.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/core/src/mindustry/entities/Units.java b/core/src/mindustry/entities/Units.java index b045231f2e..004a8816d3 100644 --- a/core/src/mindustry/entities/Units.java +++ b/core/src/mindustry/entities/Units.java @@ -19,7 +19,7 @@ import static mindustry.Vars.*; public class Units{ private static final Rect hitrect = new Rect(); private static Unit result; - private static float cdist, cpriority, chealth, chealthMultiplier; + private static float cdist, cpriority, chealth, cspeedMultiplier; private static int intResult; private static Building buildResult; @@ -294,17 +294,17 @@ public class Units{ cdist = 0f; cpriority = -99999f; chealth = -2f; - chealthMultiplier = 0.1f; + cspeedMultiplier = 0.1f; nearbyEnemies(team, x - range, y - range, range*2f, range*2f, e -> { if(e.dead() || !predicate.get(e) || e.team == Team.derelict || !e.targetable(team) || e.inFogTo(team)) return; float dst2 = e.dst2(x, y) - (e.hitSize * e.hitSize); - if(dst2 < range*range && (result == null || dst2 > cdist || e.type.targetPriority > cpriority) && e.type.targetPriority >= cpriority && e.health > chealth && e.healthMultiplier >= chealthMultiplier){ + if(dst2 < range*range && (result == null || dst2 > cdist || e.type.targetPriority > cpriority) && e.type.targetPriority >= cpriority && e.health > chealth && e.speedMultiplier >= cspeedMultiplier){ result = e; cdist = dst2; chealth = e.health; - chealthMultiplier = e.healthMultiplier; + cspeedMultiplier = e.speedMultiplier; cpriority = e.type.targetPriority; } }); From 3d20144ccbe09aeaa699bd24fd32fdfd67883438 Mon Sep 17 00:00:00 2001 From: Frolonov <81882506+Frolonov@users.noreply.github.com> Date: Fri, 11 Apr 2025 19:42:15 -0400 Subject: [PATCH 15/27] Update TractorBeamTurret.java --- .../world/blocks/defense/turrets/TractorBeamTurret.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/mindustry/world/blocks/defense/turrets/TractorBeamTurret.java b/core/src/mindustry/world/blocks/defense/turrets/TractorBeamTurret.java index 6c4e22aac6..beb4627d81 100644 --- a/core/src/mindustry/world/blocks/defense/turrets/TractorBeamTurret.java +++ b/core/src/mindustry/world/blocks/defense/turrets/TractorBeamTurret.java @@ -18,7 +18,7 @@ import static mindustry.Vars.*; public class TractorBeamTurret extends BaseTurret{ public final int timerTarget = timers++; - public float retargetTime = 5f; + public float retargetTime = 8f; public float shootCone = 6f; public float shootLength = 5f; From b264738bb9deacfc2d14b471334085ec0fb54e03 Mon Sep 17 00:00:00 2001 From: Frolonov <81882506+Frolonov@users.noreply.github.com> Date: Fri, 11 Apr 2025 19:46:53 -0400 Subject: [PATCH 16/27] Update Blocks.java --- core/src/mindustry/content/Blocks.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java index 54cee0716d..291a0f0c61 100644 --- a/core/src/mindustry/content/Blocks.java +++ b/core/src/mindustry/content/Blocks.java @@ -3453,13 +3453,14 @@ public class Blocks{ hasPower = true; size = 2; - force = 30f; - scaledForce = 12f; + force = 12f; + scaledForce = 3f; range = 300f; - damage = 0.1f; + damage = 0.2f; scaledHealth = 160; rotateSpeed = 18; - status = StatusEffects.freezing; + hitEffect = Fx.freezing; + status = StatusEffects.slow; statusDuration = 60f * 4f; consumePower(3.3f); From fba0aa6a1210ba3e8100962a9eaab21179700b69 Mon Sep 17 00:00:00 2001 From: Frolonov <81882506+Frolonov@users.noreply.github.com> Date: Fri, 11 Apr 2025 19:54:43 -0400 Subject: [PATCH 17/27] Update Blocks.java --- core/src/mindustry/content/Blocks.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java index 291a0f0c61..3bfdcb8289 100644 --- a/core/src/mindustry/content/Blocks.java +++ b/core/src/mindustry/content/Blocks.java @@ -3459,7 +3459,7 @@ public class Blocks{ damage = 0.2f; scaledHealth = 160; rotateSpeed = 18; - hitEffect = Fx.freezing; + status = StatusEffects.slow; statusDuration = 60f * 4f; From 91a6c6260560236f1afaa349fb854eb997502536 Mon Sep 17 00:00:00 2001 From: Frolonov <81882506+Frolonov@users.noreply.github.com> Date: Fri, 11 Apr 2025 20:01:56 -0400 Subject: [PATCH 18/27] Update StatusEffects.java --- core/src/mindustry/content/StatusEffects.java | 1 + 1 file changed, 1 insertion(+) diff --git a/core/src/mindustry/content/StatusEffects.java b/core/src/mindustry/content/StatusEffects.java index 1ccaabc80f..2f2dc777e3 100644 --- a/core/src/mindustry/content/StatusEffects.java +++ b/core/src/mindustry/content/StatusEffects.java @@ -59,6 +59,7 @@ public class StatusEffects{ slow = new StatusEffect("slow"){{ color = Pal.lightishGray; + effect = Fx.freezing; speedMultiplier = 0.4f; init(() -> opposite(fast)); From 8e191a0049eb93588a5027ad6f4bbc90a5199557 Mon Sep 17 00:00:00 2001 From: Frolonov <81882506+Frolonov@users.noreply.github.com> Date: Fri, 11 Apr 2025 20:13:18 -0400 Subject: [PATCH 19/27] Update Blocks.java --- core/src/mindustry/content/Blocks.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java index 3bfdcb8289..5242ac481f 100644 --- a/core/src/mindustry/content/Blocks.java +++ b/core/src/mindustry/content/Blocks.java @@ -3453,7 +3453,7 @@ public class Blocks{ hasPower = true; size = 2; - force = 12f; + force = 9f; scaledForce = 3f; range = 300f; damage = 0.2f; @@ -3461,7 +3461,7 @@ public class Blocks{ rotateSpeed = 18; status = StatusEffects.slow; - statusDuration = 60f * 4f; + statusDuration = 60f * 6f; consumePower(3.3f); }}; From ae9f6f99527c727da67cc5c2a08003179097b96f Mon Sep 17 00:00:00 2001 From: Frolonov <81882506+Frolonov@users.noreply.github.com> Date: Fri, 11 Apr 2025 20:15:32 -0400 Subject: [PATCH 20/27] Update TractorBeamTurret.java --- .../world/blocks/defense/turrets/TractorBeamTurret.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/mindustry/world/blocks/defense/turrets/TractorBeamTurret.java b/core/src/mindustry/world/blocks/defense/turrets/TractorBeamTurret.java index beb4627d81..26a18b90c3 100644 --- a/core/src/mindustry/world/blocks/defense/turrets/TractorBeamTurret.java +++ b/core/src/mindustry/world/blocks/defense/turrets/TractorBeamTurret.java @@ -18,7 +18,7 @@ import static mindustry.Vars.*; public class TractorBeamTurret extends BaseTurret{ public final int timerTarget = timers++; - public float retargetTime = 8f; + public float retargetTime = 6f; public float shootCone = 6f; public float shootLength = 5f; From 7fb156261901ed50a748af4990e29fecc6d69926 Mon Sep 17 00:00:00 2001 From: Frolonov <81882506+Frolonov@users.noreply.github.com> Date: Fri, 11 Apr 2025 20:32:06 -0400 Subject: [PATCH 21/27] Update Units.java --- core/src/mindustry/entities/Units.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/core/src/mindustry/entities/Units.java b/core/src/mindustry/entities/Units.java index 004a8816d3..6ef85ec90a 100644 --- a/core/src/mindustry/entities/Units.java +++ b/core/src/mindustry/entities/Units.java @@ -19,7 +19,7 @@ import static mindustry.Vars.*; public class Units{ private static final Rect hitrect = new Rect(); private static Unit result; - private static float cdist, cpriority, chealth, cspeedMultiplier; + private static float cdist, cpriority, chealth, cspeedMultiplier, chealthMultiplier; private static int intResult; private static Building buildResult; @@ -286,24 +286,24 @@ public class Units{ return result; } - /** Returns the farthest enemy of this team. Filter by predicate. */ - public static Unit farthestEnemy(Team team, float x, float y, float range, Boolf predicate){ + /** Returns the nominal enemy of this team. Filter by predicate. */ + public static Unit nominalEnemy(Team team, float x, float y, float range, Boolf predicate){ if(team == Team.derelict) return null; result = null; - cdist = 0f; cpriority = -99999f; chealth = -2f; cspeedMultiplier = 0.1f; + chealthMultiplier = 0.1f; nearbyEnemies(team, x - range, y - range, range*2f, range*2f, e -> { if(e.dead() || !predicate.get(e) || e.team == Team.derelict || !e.targetable(team) || e.inFogTo(team)) return; float dst2 = e.dst2(x, y) - (e.hitSize * e.hitSize); - if(dst2 < range*range && (result == null || dst2 > cdist || e.type.targetPriority > cpriority) && e.type.targetPriority >= cpriority && e.health > chealth && e.speedMultiplier >= cspeedMultiplier){ + if(dst2 < range*range && (result == null || e.health >= chealth ||e.type.targetPriority > cpriority) && e.type.targetPriority >= cpriority && e.healthMultiplier >= chealthMultiplier && e.speedMultiplier >= cspeedMultiplier){ result = e; - cdist = dst2; chealth = e.health; + chealthMultiplier = e.healthMultiplier; cspeedMultiplier = e.speedMultiplier; cpriority = e.type.targetPriority; } From 424e90bad8b27150c2201c03735be14077982d68 Mon Sep 17 00:00:00 2001 From: Frolonov <81882506+Frolonov@users.noreply.github.com> Date: Fri, 11 Apr 2025 20:32:28 -0400 Subject: [PATCH 22/27] Update TractorBeamTurret.java --- .../world/blocks/defense/turrets/TractorBeamTurret.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/mindustry/world/blocks/defense/turrets/TractorBeamTurret.java b/core/src/mindustry/world/blocks/defense/turrets/TractorBeamTurret.java index 26a18b90c3..2416df16b2 100644 --- a/core/src/mindustry/world/blocks/defense/turrets/TractorBeamTurret.java +++ b/core/src/mindustry/world/blocks/defense/turrets/TractorBeamTurret.java @@ -80,7 +80,7 @@ public class TractorBeamTurret extends BaseTurret{ //retarget if(timer(timerTarget, retargetTime)){ - target = Units.farthestEnemy(team, x, y, range, u -> u.checkTarget(targetAir, targetGround)); + target = Units.nominalEnemy(team, x, y, range, u -> u.checkTarget(targetAir, targetGround)); } //consume coolant From b106560acd24eb3de1988f199bb2e345386cc898 Mon Sep 17 00:00:00 2001 From: Frolonov <81882506+Frolonov@users.noreply.github.com> Date: Sat, 12 Apr 2025 10:02:02 -0400 Subject: [PATCH 23/27] Update Blocks.java --- core/src/mindustry/content/Blocks.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java index 5242ac481f..d557cafd6b 100644 --- a/core/src/mindustry/content/Blocks.java +++ b/core/src/mindustry/content/Blocks.java @@ -3449,7 +3449,7 @@ public class Blocks{ }}; parallax = new TractorBeamTurret("parallax"){{ - requirements(Category.turret, with(Items.silicon, 160, Items.titanium, 110, Items.graphite, 50)); + requirements(Category.turret, with(Items.silicon, 160, Items.titanium, 100, Items.graphite, 80)); hasPower = true; size = 2; @@ -3463,7 +3463,7 @@ public class Blocks{ status = StatusEffects.slow; statusDuration = 60f * 6f; - consumePower(3.3f); + consumePower(6f); }}; swarmer = new ItemTurret("swarmer"){{ From 02dfa3008da9094d0ec905b47c7abfceea67a0a2 Mon Sep 17 00:00:00 2001 From: Frolonov <81882506+Frolonov@users.noreply.github.com> Date: Sat, 12 Apr 2025 10:02:31 -0400 Subject: [PATCH 24/27] Update TractorBeamTurret.java --- .../world/blocks/defense/turrets/TractorBeamTurret.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/mindustry/world/blocks/defense/turrets/TractorBeamTurret.java b/core/src/mindustry/world/blocks/defense/turrets/TractorBeamTurret.java index 2416df16b2..771f478570 100644 --- a/core/src/mindustry/world/blocks/defense/turrets/TractorBeamTurret.java +++ b/core/src/mindustry/world/blocks/defense/turrets/TractorBeamTurret.java @@ -18,7 +18,7 @@ import static mindustry.Vars.*; public class TractorBeamTurret extends BaseTurret{ public final int timerTarget = timers++; - public float retargetTime = 6f; + public float retargetTime = 10f; public float shootCone = 6f; public float shootLength = 5f; From 8316cf9f4a8effda7de25cd5f89dbf816287841b Mon Sep 17 00:00:00 2001 From: Frolonov <81882506+Frolonov@users.noreply.github.com> Date: Sat, 12 Apr 2025 11:39:31 -0400 Subject: [PATCH 25/27] Update Blocks.java --- core/src/mindustry/content/Blocks.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java index d557cafd6b..6fe371a5fe 100644 --- a/core/src/mindustry/content/Blocks.java +++ b/core/src/mindustry/content/Blocks.java @@ -3460,7 +3460,7 @@ public class Blocks{ scaledHealth = 160; rotateSpeed = 18; - status = StatusEffects.slow; + status = StatusEffects.sapped; statusDuration = 60f * 6f; consumePower(6f); From a3a88a7567fbc5932e06fa69d35f36d370171a4e Mon Sep 17 00:00:00 2001 From: Frolonov <81882506+Frolonov@users.noreply.github.com> Date: Sat, 12 Apr 2025 11:40:05 -0400 Subject: [PATCH 26/27] Update TractorBeamTurret.java --- .../world/blocks/defense/turrets/TractorBeamTurret.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/mindustry/world/blocks/defense/turrets/TractorBeamTurret.java b/core/src/mindustry/world/blocks/defense/turrets/TractorBeamTurret.java index 771f478570..60696b57d5 100644 --- a/core/src/mindustry/world/blocks/defense/turrets/TractorBeamTurret.java +++ b/core/src/mindustry/world/blocks/defense/turrets/TractorBeamTurret.java @@ -18,7 +18,7 @@ import static mindustry.Vars.*; public class TractorBeamTurret extends BaseTurret{ public final int timerTarget = timers++; - public float retargetTime = 10f; + public float retargetTime = 15f; public float shootCone = 6f; public float shootLength = 5f; From 1cdac29095282b76f727576a73791877a8748dcd Mon Sep 17 00:00:00 2001 From: Frolonov <81882506+Frolonov@users.noreply.github.com> Date: Fri, 18 Apr 2025 16:45:38 -0400 Subject: [PATCH 27/27] Update gradle.properties --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 6d741e1cd3..9da1ce0e23 100644 --- a/gradle.properties +++ b/gradle.properties @@ -26,4 +26,4 @@ org.gradle.caching=true org.gradle.internal.http.socketTimeout=100000 org.gradle.internal.http.connectionTimeout=100000 android.enableR8.fullMode=false -archash=fc46b1cb55 +archash=ad0b6c5662