From 2906181f3766d07e4f9e998da207eb9668292dac Mon Sep 17 00:00:00 2001 From: EggleEgg <125359838+EggleEgg@users.noreply.github.com> Date: Wed, 31 Dec 2025 04:13:41 +0100 Subject: [PATCH 1/2] please no overrange (#11517) --- core/src/mindustry/content/UnitTypes.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/core/src/mindustry/content/UnitTypes.java b/core/src/mindustry/content/UnitTypes.java index 5cd16f2259..10364fe776 100644 --- a/core/src/mindustry/content/UnitTypes.java +++ b/core/src/mindustry/content/UnitTypes.java @@ -176,7 +176,8 @@ public class UnitTypes{ bullet = new ArtilleryBulletType(2f, 20, "shell"){{ hitEffect = Fx.blastExplosion; knockback = 0.8f; - lifetime = 120f; + lifetime = 120f - 35f / 2f; + rangeOverride = 240f; width = height = 14f; collides = true; collidesTiles = true; @@ -1676,7 +1677,7 @@ public class UnitTypes{ ejectEffect = Fx.casing1; shootSound = Sounds.shootDuo; bullet = new FlakBulletType(4.2f, 3){{ - lifetime = 60f; + lifetime = 52.5f; ammoMultiplier = 4f; shootEffect = Fx.shootSmall; width = 6f; @@ -1700,7 +1701,7 @@ public class UnitTypes{ bullet = new ArtilleryBulletType(3f, 20, "shell"){{ hitEffect = Fx.flakExplosion; knockback = 0.8f; - lifetime = 80f; + lifetime = 73.5f; width = height = 11f; collidesTiles = false; splashDamageRadius = 30f * 0.75f; From d368a734646e589a4571b8b2c4ced27c96ec477a Mon Sep 17 00:00:00 2001 From: EggleEgg <125359838+EggleEgg@users.noreply.github.com> Date: Wed, 31 Dec 2025 04:18:22 +0100 Subject: [PATCH 2/2] scale most consumers with timescale (#11516) --- core/src/mindustry/world/blocks/defense/ForceProjector.java | 2 +- core/src/mindustry/world/blocks/defense/MendProjector.java | 2 +- core/src/mindustry/world/blocks/defense/RegenProjector.java | 2 +- core/src/mindustry/world/blocks/production/WallCrafter.java | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/core/src/mindustry/world/blocks/defense/ForceProjector.java b/core/src/mindustry/world/blocks/defense/ForceProjector.java index fbc32b5eeb..cfafdca584 100644 --- a/core/src/mindustry/world/blocks/defense/ForceProjector.java +++ b/core/src/mindustry/world/blocks/defense/ForceProjector.java @@ -207,7 +207,7 @@ public class ForceProjector extends Block{ phaseHeat = Mathf.lerpDelta(phaseHeat, Mathf.num(phaseValid), 0.1f); - if(phaseValid && !broken && timer(timerUse, phaseUseTime) && efficiency > 0){ + if(phaseValid && !broken && timer(timerUse, phaseUseTime / timeScale) && efficiency > 0){ consume(); } diff --git a/core/src/mindustry/world/blocks/defense/MendProjector.java b/core/src/mindustry/world/blocks/defense/MendProjector.java index 74c0e2aa39..e56333732c 100644 --- a/core/src/mindustry/world/blocks/defense/MendProjector.java +++ b/core/src/mindustry/world/blocks/defense/MendProjector.java @@ -98,7 +98,7 @@ public class MendProjector extends Block{ phaseHeat = Mathf.lerpDelta(phaseHeat, optionalEfficiency, 0.1f); - if(optionalEfficiency > 0 && timer(timerUse, useTime) && canHeal){ + if(optionalEfficiency > 0 && timer(timerUse, useTime / timeScale) && canHeal){ consume(); } diff --git a/core/src/mindustry/world/blocks/defense/RegenProjector.java b/core/src/mindustry/world/blocks/defense/RegenProjector.java index 88a1a8e549..1f8d60a39b 100644 --- a/core/src/mindustry/world/blocks/defense/RegenProjector.java +++ b/core/src/mindustry/world/blocks/defense/RegenProjector.java @@ -139,7 +139,7 @@ public class RegenProjector extends Block{ anyTargets = targets.contains(b -> b.damaged()); if(efficiency > 0){ - if((optionalTimer += Time.delta * optionalEfficiency) >= optionalUseTime){ + if((optionalTimer += edelta() * optionalEfficiency) >= optionalUseTime){ consume(); optionalTimer = 0f; } diff --git a/core/src/mindustry/world/blocks/production/WallCrafter.java b/core/src/mindustry/world/blocks/production/WallCrafter.java index 76da4a79fa..99d980c77d 100644 --- a/core/src/mindustry/world/blocks/production/WallCrafter.java +++ b/core/src/mindustry/world/blocks/production/WallCrafter.java @@ -204,7 +204,7 @@ public class WallCrafter extends Block{ } }, null) * Mathf.lerp(1f, liquidBoostIntensity, hasLiquidBooster ? optionalEfficiency : 0f) * (itemValid ? itemBoostIntensity : 1f); - if(itemValid && eff * efficiency > 0 && timer(timerUse, boostItemUseTime)){ + if(itemValid && eff * efficiency > 0 && timer(timerUse, boostItemUseTime / timeScale)){ consume(); }