diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index 0291f0948a..228bd00184 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -1740,8 +1740,8 @@ lst.unitlocate = Locate a specific type of position/building anywhere on the map lst.getblock = Get tile data at any location. lst.setblock = Set tile data at any location. lst.spawnunit = Spawn unit at a location. -lst.applystatus = Apply or clear a status effect from a uniut. -lst.spawnwave = Simulate a wave being spawned at a arbitrary location.\nWill not increment the wave counter. +lst.applystatus = Apply or clear a status effect from a unit. +lst.spawnwave = Simulate a wave being spawned at an arbitrary location.\nWill not increment the wave counter. lst.explosion = Create an explosion at a location. lst.setrate = Set processor execution speed in instructions/tick. lst.fetch = Lookup units, cores, players or buildings by index.\nIndices start at 0 and end at their returned count. diff --git a/core/src/mindustry/world/blocks/distribution/DuctRouter.java b/core/src/mindustry/world/blocks/distribution/DuctRouter.java index d16ac68342..1a52a0db7b 100644 --- a/core/src/mindustry/world/blocks/distribution/DuctRouter.java +++ b/core/src/mindustry/world/blocks/distribution/DuctRouter.java @@ -78,8 +78,6 @@ public class DuctRouter extends Block{ public float progress; public @Nullable Item current; - protected int acceptors; - @Override public void draw(){ Draw.rect(region, x, y); @@ -101,7 +99,8 @@ public class DuctRouter extends Block{ var target = target(); if(target != null){ target.handleItem(this, current); - cdump = ((cdump + 1) % acceptors); + int mod = sortItem != null && current != sortItem ? 2 : 3; + cdump = ((cdump + 1) % mod); items.remove(current, 1); current = null; progress %= (1f - 1f/speed); @@ -125,18 +124,6 @@ public class DuctRouter extends Block{ public Building target(){ if(current == null) return null; - acceptors = 0; - - //TODO this is horrible. - for(int i = -1; i <= 1; i++){ - int dir = Mathf.mod(rotation + i, 4); - if(sortItem != null && (current == sortItem) != (dir == rotation)) continue; - Building other = nearby(dir); - if(other != null && other.team == team && other.acceptItem(this, current)){ - acceptors ++; - } - } - for(int i = -1; i <= 1; i++){ int dir = Mathf.mod(rotation + (((i + cdump + 1) % 3) - 1), 4); if(sortItem != null && (current == sortItem) != (dir == rotation)) continue;