#7: Completed quests kept showing as available '!'. The server completed- quest list arrives async via QUEST_QUERY_COMPLETE, often after available quests were first drawn. Recalculate available quests once char.complete is populated by that event so completed quests are removed (also clears the already-completed subset of #8). #9: An accepted quest's available '!' could linger on the minimap until /reload. UnloadQuestFramesByDataType unloaded the frame but left its name in questIdFrames and _G; it now removes those references so the icon is torn down immediately on both map and minimap. #10: Added 'Hide repeatable quests below level 60' (Icons tab, off by default) to hide repeatable available quests (e.g. the Ascension Callboard) from map/minimap until level 60. Enforced in _DrawQuestIfAvailable and ShouldBeHidden so existing minimap pins are removed too; reappear at 60. Lint: selene 0 errors. Tests: 145 successes / same 7 pre-existing failures.
This commit is contained in:
@@ -122,6 +122,9 @@ _CalculateAvailableQuests = function()
|
||||
|
||||
local completedQuests = Questie.db.char.complete
|
||||
local showRepeatableQuests = Questie.db.profile.showRepeatableQuests
|
||||
-- Hide repeatable available quests (e.g. the Ascension Callboard '!') below level 60,
|
||||
-- where they aren't relevant yet. (#10)
|
||||
local hideRepeatableBelowMax = Questie.db.profile.hideRepeatableBelowMaxLevel and playerLevel < 60
|
||||
local showDungeonQuests = Questie.db.profile.showDungeonQuests
|
||||
local showRaidQuests = Questie.db.profile.showRaidQuests
|
||||
local showPvPQuests = Questie.db.profile.showPvPQuests
|
||||
@@ -163,6 +166,7 @@ _CalculateAvailableQuests = function()
|
||||
|
||||
if (
|
||||
((not showRepeatableQuests) and QuestieDB.IsRepeatable(questId)) or -- Don't show repeatable quests if option is disabled
|
||||
(hideRepeatableBelowMax and QuestieDB.IsRepeatable(questId)) or -- Hide repeatable (Callboard) quests below level 60 (#10)
|
||||
((not showPvPQuests) and QuestieDB.IsPvPQuest(questId)) or -- Don't show PvP quests if option is disabled
|
||||
((not showDungeonQuests) and QuestieDB.IsDungeonQuest(questId)) or -- Don't show dungeon quests if option is disabled
|
||||
((not showRaidQuests) and QuestieDB.IsRaidQuest(questId)) or -- Don't show raid quests if option is disabled
|
||||
|
||||
Reference in New Issue
Block a user