From 27c1bd688936d1c9ec4d0d61a893e2f01cc27976 Mon Sep 17 00:00:00 2001 From: Xurkon Date: Sat, 30 May 2026 14:58:40 -0500 Subject: [PATCH] fix(minimap): enable floatOnEdge for all 1241 pins Previously DrawWorldIcon and DrawManualIcon both set floatOnEdge=false for uiMapId 1241, forcing icons to always show regardless of distance. This caused pins to render at minimap center when near a spawn, making them appear to orbit/follow the player as they rotated. The zone->world coordinate pipeline was verified correct: zoneW matches dataW exactly for 1241 icons, and playerW is in the same coordinate space. The problem was purely the floatOnEdge=false behavior combined with the icon being essentially at the minimap center (1% of radius). Enabling floatOnEdge=true lets the standard edge-floating path handle 1241 pins like every other zone: icons clamp to the edge when far, slide along the rim when approaching, and occupy their correct angular bearing from the player rather than sitting at dead center. --- Modules/Map/QuestieMap.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Modules/Map/QuestieMap.lua b/Modules/Map/QuestieMap.lua index 4c4dd69..57502cf 100644 --- a/Modules/Map/QuestieMap.lua +++ b/Modules/Map/QuestieMap.lua @@ -571,7 +571,7 @@ function QuestieMap:DrawManualIcon(data, areaID, x, y, typ) iconMinimap.texture:SetVertexColor(colorsMinimap[1], colorsMinimap[2], colorsMinimap[3], 1); iconMinimap.miniMapIcon = true; - QuestieMap:QueueDraw(QuestieMap.ICON_MINIMAP_TYPE, Questie, iconMinimap, iconMinimap.UiMapID, x / 100, y / 100, true, iconMinimap.UiMapID ~= 1241); + QuestieMap:QueueDraw(QuestieMap.ICON_MINIMAP_TYPE, Questie, iconMinimap, iconMinimap.UiMapID, x / 100, y / 100, true, true); tinsert(QuestieMap.manualFrames[typ][data.id], iconMinimap:GetName()) if (not Questie.db.profile.enabled) then @@ -630,7 +630,7 @@ function QuestieMap:DrawWorldIcon(data, areaID, x, y, showFlag) return nil, nil end - local floatOnEdge = uiMapId ~= 1241 + local floatOnEdge = true ---@type IconFrame local iconMap = QuestieFramePool:GetFrame()