diff --git a/core/assets-raw/sprites/shapes/ring-item.png b/core/assets-raw/sprites/shapes/ring-item.png new file mode 100644 index 0000000000..e895ebef89 Binary files /dev/null and b/core/assets-raw/sprites/shapes/ring-item.png differ diff --git a/core/assets/contributors b/core/assets/contributors index 906666dc9b..779eba40b5 100644 --- a/core/assets/contributors +++ b/core/assets/contributors @@ -134,3 +134,4 @@ citrusMarmelade Evolveye Jerzy Paciorkiewicz YozoZChomutova +Qendolin diff --git a/core/src/mindustry/content/Fx.java b/core/src/mindustry/content/Fx.java index 6bc2796dd1..5bf8bde372 100644 --- a/core/src/mindustry/content/Fx.java +++ b/core/src/mindustry/content/Fx.java @@ -133,8 +133,8 @@ public class Fx{ float x = Tmp.v1.x, y = Tmp.v1.y; float size = 1f; - stroke(e.fslope() * 2f * size, Pal.accent); - Lines.circle(x, y, e.fslope() * 2f * size); + color(Pal.accent); + Fill.circle(x, y, e.fslope() * 3f * size); color(e.color); Fill.circle(x, y, e.fslope() * 1.5f * size); diff --git a/core/src/mindustry/type/UnitType.java b/core/src/mindustry/type/UnitType.java index 24d4438be8..15a11f6227 100644 --- a/core/src/mindustry/type/UnitType.java +++ b/core/src/mindustry/type/UnitType.java @@ -39,6 +39,7 @@ import static mindustry.Vars.*; public class UnitType extends UnlockableContent{ public static final float shadowTX = -12, shadowTY = -13; private static final Vec2 legOffset = new Vec2(); + private static TextureRegion itemCircleRegion; /** If true, the unit is always at elevation 1. */ public boolean flying; @@ -736,14 +737,16 @@ public class UnitType extends UnlockableContent{ unit.x + Angles.trnsx(unit.rotation + 180f, itemOffsetY), unit.y + Angles.trnsy(unit.rotation + 180f, itemOffsetY), size, size, unit.rotation); - Draw.mixcol(); - Lines.stroke(1f, Pal.accent); - Lines.circle( + 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, unit.x + Angles.trnsx(unit.rotation + 180f, itemOffsetY), - unit.y + Angles.trnsy(unit.rotation + 180f, itemOffsetY), - (3f + Mathf.absin(Time.time, 5f, 1f)) * unit.itemTime); + unit.y + Angles.trnsy(unit.rotation + 180f, itemOffsetY), size * 2, size * 2); if(unit.isLocal() && !renderer.pixelator.enabled()){ Fonts.outline.draw(unit.stack.amount + "",