fix: tooltip flicker, learner quest field mapping, secondary tooltip style

- QuestieLib.GetColoredQuestName now nil-guards QuestieDB.GetQuest() before reading .isComplete
- TooltipHandler.AddItemDataToTooltip re-keyed on itemId only (was firing on every ElvUI refresh)
- Removed unconditional ResizeTooltip call from item tooltip path (caused first-hover pop)
- OnQuestDetail no longer writes objectives text to data[6] or quest body to data[17] or zoneId to data[8]
- OnQuestAccepted documents why requiredLevel/requiredRaces/requiredClasses are intentionally not captured
- Reused logIdx from data build pass instead of redeclaring it for the objective scan
- Secondary learner tooltip now matches GameTooltip style with or without ElvUI (defers to ElvUI when loaded, replicates its Transparent template otherwise)
- Combined-tooltip learner stats now framed by invisible spacer lines for visual separation
This commit is contained in:
Xurkon
2026-06-07 08:38:12 -05:00
parent 4c924ab167
commit 5b576911d7
4 changed files with 130 additions and 32 deletions
+1 -11
View File
@@ -357,14 +357,7 @@ function _QuestieTooltips:AddItemDataToTooltip()
string.match(link,
"|?c?f?f?(%x*)|?H?([^:]*):?(%d+):?(%d*):?(%d*):?(%d*):?(%d*):?(%d*):?(%-?%d*):?(%-?%d*):?(%d*):?(%d*):?(%-?%d*)|?h?%[?([^%[%]]*)%]?|?h?|?r?"))
end
if name and itemId and (
name ~= QuestieTooltips.lastGametooltipItem or
(not QuestieTooltips.lastGametooltipCount) or
_QuestieTooltips:CountTooltip() < QuestieTooltips.lastGametooltipCount or
QuestieTooltips.lastGametooltipType ~= "item" or
lastItemId ~= itemId or
QuestieTooltips.lastFrameName ~= self:GetName()
) then
if name and itemId and (lastItemId ~= itemId) then
QuestieTooltips.lastGametooltipItem = name
local tooltipData = QuestieTooltips:GetTooltip("i_" .. (itemId or 0));
if tooltipData then
@@ -374,9 +367,6 @@ function _QuestieTooltips:AddItemDataToTooltip()
for _, v in next, tooltipData do
self:AddLine(v)
end
if QuestieTooltips.ResizeTooltip then
QuestieTooltips:ResizeTooltip(self)
end
end
QuestieTooltips.lastGametooltipCount = _QuestieTooltips:CountTooltip()
end