diff --git a/core/assets/maps/three.msav b/core/assets/maps/three.msav index a9eea3e5d0..c8e6387579 100644 Binary files a/core/assets/maps/three.msav and b/core/assets/maps/three.msav differ diff --git a/core/src/mindustry/content/SectorPresets.java b/core/src/mindustry/content/SectorPresets.java index 7f3fe5c6b4..3dbbbda686 100644 --- a/core/src/mindustry/content/SectorPresets.java +++ b/core/src/mindustry/content/SectorPresets.java @@ -206,12 +206,23 @@ public class SectorPresets{ difficulty = 5; rules = r -> { + float rad = 52f; r.objectives.addAll( new DestroyBlocksObjective(Blocks.coreBastion, Team.malis, Point2.pack(290,501), Point2.pack(158,496)) .withFlags("nukeannounce"), new TimerObjective("@objective.nuclearlaunch", 4 * 60 * 60).withMarkers( - new TextMarker("[red]Evacuate immediately.", 338 * 8f, 378 * 8f), - new MinimapMarker(338, 378, 50f, 14f, Pal.remove) + new MinimapMarker(338, 377, rad, 14f, Pal.remove), + new ShapeMarker(338 * 8, 377 * 8f){{ + radius = rad * 8f; + fill = true; + color = Pal.remove.cpy().mul(0.8f).a(0.3f); + sides = 90; + }}, + new ShapeMarker(338 * 8, 377 * 8f){{ + radius = rad * 8f; + color = Pal.remove; + sides = 90; + }} ).withFlags("nuke1") ); }; diff --git a/core/src/mindustry/game/MapObjectives.java b/core/src/mindustry/game/MapObjectives.java index d9b0ea7e26..b1f3c926b3 100644 --- a/core/src/mindustry/game/MapObjectives.java +++ b/core/src/mindustry/game/MapObjectives.java @@ -525,7 +525,8 @@ public class MapObjectives{ /** Displays a shape with an outline and color. */ public static class ShapeMarker extends ObjectiveMarker{ - public float x, y, radius = 6f, rotation = 0f; + public float x, y, radius = 6f, rotation = 0f, stroke = 1f; + public boolean fill = false, outline = true; public int sides = 4; public Color color = Pal.accent; @@ -546,10 +547,19 @@ public class MapObjectives{ @Override public void draw(){ - Lines.stroke(3f, Pal.gray); - Lines.poly(x, y, sides, radius + 1f, rotation); - Lines.stroke(1f, color); - Lines.poly(x, y, sides, radius + 1f, rotation); + if(!fill){ + if(outline){ + Lines.stroke(stroke + 2f, Pal.gray); + Lines.poly(x, y, sides, radius + 1f, rotation); + } + + Lines.stroke(stroke, color); + Lines.poly(x, y, sides, radius + 1f, rotation); + }else{ + Draw.color(color); + Fill.poly(x, y, sides, radius); + } + Draw.reset(); } } diff --git a/core/src/mindustry/graphics/MinimapRenderer.java b/core/src/mindustry/graphics/MinimapRenderer.java index 263cf9243f..91a241fbc2 100644 --- a/core/src/mindustry/graphics/MinimapRenderer.java +++ b/core/src/mindustry/graphics/MinimapRenderer.java @@ -230,7 +230,7 @@ public class MinimapRenderer{ } public float scale(float radius){ - return (radius / (baseSize / 2f)) * 5f * lastScl; + return worldSpace ? (radius / (baseSize / 2f)) * 5f * lastScl : lastW / rect.width * radius; } public @Nullable TextureRegion getRegion(){