diff --git a/core/src/mindustry/type/UnitType.java b/core/src/mindustry/type/UnitType.java index fada3d34b4..712f618ebc 100644 --- a/core/src/mindustry/type/UnitType.java +++ b/core/src/mindustry/type/UnitType.java @@ -989,6 +989,7 @@ public class UnitType extends UnlockableContent{ if(itemCircleRegion == null || itemCircleRegion.texture.isDisposed()){ itemCircleRegion = Core.atlas.find("ring-item"); } + size = (3f + Mathf.absin(Time.time, 5f, 1f)) * unit.itemTime + 0.5f; Draw.color(Pal.accent); Draw.rect(itemCircleRegion, diff --git a/core/src/mindustry/world/blocks/defense/turrets/Turret.java b/core/src/mindustry/world/blocks/defense/turrets/Turret.java index 41f86defc1..a205b4746c 100644 --- a/core/src/mindustry/world/blocks/defense/turrets/Turret.java +++ b/core/src/mindustry/world/blocks/defense/turrets/Turret.java @@ -87,6 +87,7 @@ public class Turret extends ReloadTurret{ public boolean displayAmmoMultiplier = true; public Sortf unitSort = UnitSorts.closest; public Boolf unitFilter = u -> true; + public Boolf buildingFilter = b -> !b.block.underBullets; public DrawBlock drawer = new DrawTurret(); @@ -393,7 +394,7 @@ public class Turret extends ReloadTurret{ if(targetAir && !targetGround){ target = Units.bestEnemy(team, x, y, range, e -> !e.dead() && !e.isGrounded() && unitFilter.get(e), unitSort); }else{ - target = Units.bestTarget(team, x, y, range, e -> !e.dead() && unitFilter.get(e) && (e.isGrounded() || targetAir) && (!e.isGrounded() || targetGround), b -> targetGround, unitSort); + target = Units.bestTarget(team, x, y, range, e -> !e.dead() && unitFilter.get(e) && (e.isGrounded() || targetAir) && (!e.isGrounded() || targetGround), b -> targetGround && buildingFilter.get(b), unitSort); if(target == null && canHeal()){ target = Units.findAllyTile(team, x, y, range, b -> b.damaged() && b != this);