fix(tracker): show (Complete) and correct level for DB-less custom quests
Quests with no static DB entry (e.g. Ascension custom quest 175206) made GetColoredQuestName bail out early on a nil name lookup, before it ever reached the (Complete)/(Failed) suffix logic. The tracker's existing fallback for that case never added the suffix either, and it computed level via QuestieLib.GetTbcLevel (static-DB-only), which silently defaults to level 1 and then gets scaled from that wrong base by Ascension's level scaling. Since these quests also auto-collapse once complete (hiding the tracker's other "Quest Complete!" indicator line), the title was the only place that could show completion status, and it was silently swallowing it. - QuestieTracker.lua: the "no DB name" fallback branch now appends (Complete) under the same collapseCompletedQuests/isMinimizable rule as the normal path, and uses the live quest object's own level instead of the static-only lookup. - QuestieQuest.lua (PopulateQuestLogInfo): re-syncs quest.level from a live GetQuestLogTitle scan every update, since QuestieDB.GetQuest caches quest objects permanently and QuestLogCache never tracked level at all. - TrackerUtils.lua (GetCompletionText): guards the Description[1] fallback against quests that have no top-level Description array, which was throwing and aborting that quest's tracker render entirely.
This commit is contained in:
@@ -379,8 +379,14 @@ function TrackerUtils:GetCompletionText(quest)
|
||||
|
||||
if completionText then
|
||||
return completionText
|
||||
else
|
||||
elseif quest.Description and quest.Description[1] then
|
||||
return quest.Description[1]:gsub("%.", "")
|
||||
else
|
||||
-- Fallback/custom quests (e.g. server quests not in QuestieDB) have no
|
||||
-- top-level Description array. Without this, indexing quest.Description[1]
|
||||
-- throws and aborts the whole tracker render for that quest via the
|
||||
-- caller's pcall, freezing its line on the last successful render.
|
||||
return nil
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user