fix(map): apply quest-type filters to the minimap (#11)

Quest-type filters (Available Dungeon/Raid/PvP/Repeatable/Event quests and
other ShouldBeHidden rules) were honored on the world map but not the
minimap. At toggle time HideQuestIcons FakeHides both map and minimap
filtered icons, but the minimap icon's per-frame FadeLogic re-showed any
hidden icon once in range via 'elseif self.hidden then self:FakeShow()',
undoing the filter on the minimap only (the world icon has no FadeLogic).

FadeLogic now re-checks ShouldBeHidden before re-showing, in both the
world-icon and manual-icon minimap fade paths, so filters apply to both.
This commit is contained in:
Xurkon
2026-06-09 21:03:36 -05:00
parent 728066d067
commit 364b455b00
2 changed files with 17 additions and 2 deletions
+16 -2
View File
@@ -660,7 +660,14 @@ function QuestieMap:DrawManualIcon(data, areaID, x, y, typ)
self:FakeHide()
return
elseif self.hidden then
self:FakeShow()
-- Only re-show icons that aren't filtered out (quest-type options
-- like showDungeonQuests, enableMiniMapIcons, hideUntracked, etc.).
-- Previously FadeLogic re-showed ANY FakeHidden minimap icon once in
-- range, so the world-map quest-type filters never applied to the
-- minimap. ShouldBeHidden mirrors the world-map draw-time check.
if not self:ShouldBeHidden() then
self:FakeShow()
end
elseif (distance > profile.fadeLevel) then
local fade = 1 - (math.min(10, (distance - profile.fadeLevel)) * normalizedValue)
self:SetFade(fade)
@@ -815,7 +822,14 @@ function QuestieMap:DrawWorldIcon(data, areaID, x, y, showFlag)
self:FakeHide()
return
elseif self.hidden then
self:FakeShow()
-- Only re-show icons that aren't filtered out (quest-type options
-- like showDungeonQuests, enableMiniMapIcons, hideUntracked, etc.).
-- Previously FadeLogic re-showed ANY FakeHidden minimap icon once in
-- range, so the world-map quest-type filters never applied to the
-- minimap. ShouldBeHidden mirrors the world-map draw-time check.
if not self:ShouldBeHidden() then
self:FakeShow()
end
elseif (distance > profile.fadeLevel) then
local fade = 1 - (math.min(10, (distance - profile.fadeLevel)) * normalizedValue);
self:SetFade(fade)