diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java index cb23c10859..1117c9f92c 100644 --- a/core/src/mindustry/content/Blocks.java +++ b/core/src/mindustry/content/Blocks.java @@ -4265,6 +4265,7 @@ public class Blocks{ requirements(Category.units, with(Items.graphite, 90, Items.silicon, 90, Items.tungsten, 80)); size = 2; + range = 100f; consumePower(1f); consumeLiquid(Liquids.hydrogen, 3f / 60f); diff --git a/core/src/mindustry/world/blocks/distribution/Router.java b/core/src/mindustry/world/blocks/distribution/Router.java index 5bc382d18c..1e4a9399aa 100644 --- a/core/src/mindustry/world/blocks/distribution/Router.java +++ b/core/src/mindustry/world/blocks/distribution/Router.java @@ -14,8 +14,9 @@ public class Router extends Block{ public Router(String name){ super(name); - solid = true; + solid = false; underBullets = true; + update = true; hasItems = true; itemCapacity = 1; group = BlockGroup.transportation; diff --git a/core/src/mindustry/world/blocks/units/RepairTower.java b/core/src/mindustry/world/blocks/units/RepairTower.java index 9ac63a583c..e0e2b99939 100644 --- a/core/src/mindustry/world/blocks/units/RepairTower.java +++ b/core/src/mindustry/world/blocks/units/RepairTower.java @@ -18,7 +18,7 @@ public class RepairTower extends Block{ public float range = 80f; public Color circleColor = Pal.heal; - public float circleSpeed = 40f, circleStroke = 3f; + public float circleSpeed = 120f, circleStroke = 3f; public float healAmount = 1f; public RepairTower(String name){ @@ -46,7 +46,11 @@ public class RepairTower extends Block{ if(potentialEfficiency > 0 && (refresh += Time.delta) >= refreshInterval){ targets.clear(); refresh = 0f; - Units.nearby(team, x, y, range, targets::add); + Units.nearby(team, x, y, range, u -> { + if(u.damaged()){ + targets.add(u); + } + }); } boolean any = false; @@ -59,7 +63,7 @@ public class RepairTower extends Block{ } } - warmup = Mathf.lerpDelta(warmup, any ? 1f : 0f, 0.1f); + warmup = Mathf.lerpDelta(warmup, any ? efficiency : 0f, 0.1f); totalProgress += Time.delta / circleSpeed; }