Questie

Questie

116M Downloads

Object tooltips stop showing at certain values.

Cabro opened this issue ยท 31 comments

commented

Most recently this bug happened during quest https://www.wowhead.com/wotlk/quest=919/timberling-sprouts
At 1/12 and 11/12 tooltips stop showing, and it was reproducible 100% at those values.
This bug has been noticed on multiple other quests previously.

https://discord.com/channels/263036731165638656/810171186000298044/1109893558317613069

Wotlk
8.3.0

commented

Turn on DEBUG_DEVELOP and capture the output so I can see what fires and in what order.

Get to a full stack of 12. Capture debug.

Delete one sprout. Capture debug.

commented

From 0 to 1 (tooltips work):

[13:14:05] Questie: [SPAM] [QuestieTooltips:GetTooltip] o_4608
[13:14:07] Questie: [SPAM] [QuestieTooltips:GetTooltip] i_5169
[13:14:07] Questie: [DEVELOP] [Quest Event] QUEST_WATCH_UPDATE 919
[13:14:07] You receive loot: [Timberling Sprout].
[13:14:07] Questie: [DEVELOP] [QuestieTracker] Quest Item Detected (itemId): 5169
[13:14:07] Questie: [SPAM] [QuestieTooltips:GetTooltip] o_4608
[13:14:07] Questie: [DEVELOP] [Quest Event] UNIT_QUEST_LOG_CHANGED player
[13:14:07] Questie: [DEVELOP] [Quest Event] UNIT_QUEST_LOG_CHANGED - skipNextUQLCEvent - false
[13:14:07] Questie: [DEVELOP] [Quest Event] QUEST_LOG_UPDATE
[13:14:07] Questie: [SPAM] Running full questlog check
[13:14:07] Questie: [SPAM] Quest: 919 will be updated
[13:14:07] Questie: [SPAM] [QuestieNameplate:UpdateNameplate]
[13:14:07] Questie: [DEVELOP] [QuestieQuest:UpdateQuest] 919
[13:14:07] Questie: [SPAM] [QuestieQuest:PopulateQuestLogInfo] 919
[13:14:07] Questie: [SPAM] [QuestieQuest:GetAllLeaderBoardDetails] for questId 919
[13:14:07] Questie: [SPAM] [QuestieQuest:GetAllLeaderBoardDetails] for questId 919
[13:14:07] Questie: [SPAM] [QuestieQuest] UpdateObjectiveNotes: 919
[13:14:07] Questie: [DEVELOP] [QuestieQuest:PopulateObjective] Timberling Sprout
[13:14:07] Questie: [INFO] Registering objective tooltips for Timberling Sprout
[13:14:07] Questie: [DEVELOP] [QuestieQuest:UpdateQuest] Quest Objective Status is: 0
[13:14:07] Questie: [DEVELOP] [QuestieComms:BroadcastQuestUpdate] Questid 919
[13:14:07] Questie: [DEVELOP] [QuestieComms:BroadcastQuestUpdate] partyType nil
[13:14:07] Questie: [SPAM] Running full questlog check
[13:14:07] Questie: [SPAM] Nothing to update
[13:14:07] Questie: [DEVELOP] [QuestieTracker] Callback - QuestEventHandler:UpdateAllQuests()
[13:14:08] Questie: [DEVELOP] QuestieTracker:Update
[13:14:08] Questie: [INFO] TrackerLinePool: ResetLinesForChange
[13:14:08] Questie: [INFO] TrackerLinePool: ResetButtonsForChange
[13:14:08] Questie: [DEVELOP] QuestieTracker:UpdateFormatting
[13:14:08] Questie: [INFO] TrackerLinePool: HideUnusedLines
[13:14:08] Questie: [INFO] TrackerLinePool: HideUnusedButtons
[13:14:08] Questie: [DEVELOP] QuestieTracker:Update
[13:14:08] Questie: [INFO] TrackerLinePool: ResetLinesForChange
[13:14:08] Questie: [INFO] TrackerLinePool: ResetButtonsForChange
[13:14:08] Questie: [DEVELOP] QuestieTracker:UpdateFormatting
[13:14:08] Questie: [INFO] TrackerLinePool: HideUnusedLines
[13:14:08] Questie: [INFO] TrackerLinePool: HideUnusedButtons
[13:14:19] Questie: [SPAM] [QuestieTooltips:GetTooltip] i_5169

From 1 to 2 (tooltips are broken, this is 100% reproducible):

[13:16:34] Questie: [SPAM] [QuestieTooltips:GetTooltip] o_4608
[13:16:35] Questie: [SPAM] [QuestieTooltips:GetTooltip] i_5169
[13:16:36] Questie: [DEVELOP] [Quest Event] QUEST_WATCH_UPDATE 919
[13:16:36] You receive loot: [Timberling Sprout].
[13:16:36] Questie: [DEVELOP] [QuestieTracker] Quest Item Detected (itemId): 5169
[13:16:36] Questie: [SPAM] [QuestieTooltips:GetTooltip] o_4608
[13:16:36] Questie: [DEVELOP] [Quest Event] UNIT_QUEST_LOG_CHANGED player
[13:16:36] Questie: [DEVELOP] [Quest Event] UNIT_QUEST_LOG_CHANGED - skipNextUQLCEvent - false
[13:16:36] Questie: [DEVELOP] [Quest Event] QUEST_LOG_UPDATE
[13:16:36] Questie: [SPAM] Running full questlog check
[13:16:36] Questie: [SPAM] Quest: 919 will be updated
[13:16:36] Questie: [SPAM] [QuestieNameplate:UpdateNameplate]
[13:16:36] Questie: [DEVELOP] [QuestieQuest:UpdateQuest] 919
[13:16:36] Questie: [SPAM] [QuestieQuest:PopulateQuestLogInfo] 919
[13:16:36] Questie: [SPAM] [QuestieQuest:GetAllLeaderBoardDetails] for questId 919
[13:16:36] Questie: [SPAM] [QuestieQuest:GetAllLeaderBoardDetails] for questId 919
[13:16:36] Questie: [SPAM] [QuestieQuest] UpdateObjectiveNotes: 919
[13:16:36] Questie: [DEVELOP] [QuestieQuest:PopulateObjective] Timberling Sprout
[13:16:36] Questie: [INFO] Registering objective tooltips for Timberling Sprout
[13:16:36] Questie: [DEVELOP] [QuestieQuest:UpdateQuest] Quest Objective Status is: 0
[13:16:36] Questie: [DEVELOP] [QuestieComms:BroadcastQuestUpdate] Questid 919
[13:16:36] Questie: [DEVELOP] [QuestieComms:BroadcastQuestUpdate] partyType nil
[13:16:36] Questie: [SPAM] Running full questlog check
[13:16:36] Questie: [SPAM] Nothing to update
[13:16:36] Questie: [DEVELOP] [QuestieTracker] Callback - QuestEventHandler:UpdateAllQuests()
[13:16:36] Questie: [DEVELOP] QuestieTracker:Update
[13:16:36] Questie: [INFO] TrackerLinePool: ResetLinesForChange
[13:16:36] Questie: [INFO] TrackerLinePool: ResetButtonsForChange
[13:16:36] Questie: [DEVELOP] QuestieTracker:UpdateFormatting
[13:16:36] Questie: [INFO] TrackerLinePool: HideUnusedLines
[13:16:36] Questie: [INFO] TrackerLinePool: HideUnusedButtons
[13:16:37] Questie: [DEVELOP] QuestieTracker:Update
[13:16:37] Questie: [INFO] TrackerLinePool: ResetLinesForChange
[13:16:37] Questie: [INFO] TrackerLinePool: ResetButtonsForChange
[13:16:37] Questie: [DEVELOP] QuestieTracker:UpdateFormatting
[13:16:37] Questie: [INFO] TrackerLinePool: HideUnusedLines
[13:16:37] Questie: [INFO] TrackerLinePool: HideUnusedButtons

From 2 to 3 (tooltips show now):

[13:18:21] Questie: [DEVELOP] [QuestieMap:ProcessShownMinimapIcons] FadeLogic loop coroutine: HBDPins.activeMinimapPins doesn't have the key anymore.
[13:18:21] Questie: [SPAM] [QuestieTooltips:GetTooltip] o_4608
[13:18:22] Questie: [SPAM] [QuestieTooltips:GetTooltip] o_4608
[13:18:23] Questie: [SPAM] [QuestieTooltips:GetTooltip] o_4608
[13:18:24] Questie: [SPAM] [QuestieTooltips:GetTooltip] i_5169
[13:18:25] Questie: [DEVELOP] [Quest Event] QUEST_WATCH_UPDATE 919
[13:18:25] You receive loot: [Timberling Sprout].
[13:18:25] Questie: [DEVELOP] [QuestieTracker] Quest Item Detected (itemId): 5169
[13:18:25] Questie: [SPAM] [QuestieTooltips:GetTooltip] o_4608
[13:18:25] Questie: [DEVELOP] [Quest Event] UNIT_QUEST_LOG_CHANGED player
[13:18:25] Questie: [DEVELOP] [Quest Event] UNIT_QUEST_LOG_CHANGED - skipNextUQLCEvent - false
[13:18:25] Questie: [DEVELOP] [Quest Event] QUEST_LOG_UPDATE
[13:18:25] Questie: [SPAM] Running full questlog check
[13:18:25] Questie: [SPAM] Quest: 919 will be updated
[13:18:25] Questie: [SPAM] [QuestieNameplate:UpdateNameplate]
[13:18:25] Questie: [DEVELOP] [QuestieQuest:UpdateQuest] 919
[13:18:25] Questie: [SPAM] [QuestieQuest:PopulateQuestLogInfo] 919
[13:18:25] Questie: [SPAM] [QuestieQuest:GetAllLeaderBoardDetails] for questId 919
[13:18:25] Questie: [SPAM] [QuestieQuest:GetAllLeaderBoardDetails] for questId 919
[13:18:25] Questie: [SPAM] [QuestieQuest] UpdateObjectiveNotes: 919
[13:18:25] Questie: [DEVELOP] [QuestieQuest:PopulateObjective] Timberling Sprout
[13:18:25] Questie: [INFO] Registering objective tooltips for Timberling Sprout
[13:18:25] Questie: [DEVELOP] [QuestieQuest:UpdateQuest] Quest Objective Status is: 0
[13:18:25] Questie: [DEVELOP] [QuestieComms:BroadcastQuestUpdate] Questid 919
[13:18:25] Questie: [DEVELOP] [QuestieComms:BroadcastQuestUpdate] partyType nil
[13:18:25] Questie: [SPAM] Running full questlog check
[13:18:25] Questie: [SPAM] Nothing to update
[13:18:25] Questie: [DEVELOP] [QuestieTracker] Callback - QuestEventHandler:UpdateAllQuests()
[13:18:25] Questie: [DEVELOP] QuestieTracker:Update
[13:18:25] Questie: [INFO] TrackerLinePool: ResetLinesForChange
[13:18:25] Questie: [INFO] TrackerLinePool: ResetButtonsForChange
[13:18:25] Questie: [DEVELOP] QuestieTracker:UpdateFormatting
[13:18:25] Questie: [INFO] TrackerLinePool: HideUnusedLines
[13:18:25] Questie: [INFO] TrackerLinePool: HideUnusedButtons
[13:18:26] Questie: [DEVELOP] QuestieTracker:Update
[13:18:26] Questie: [INFO] TrackerLinePool: ResetLinesForChange
[13:18:26] Questie: [INFO] TrackerLinePool: ResetButtonsForChange
[13:18:26] Questie: [DEVELOP] QuestieTracker:UpdateFormatting
[13:18:26] Questie: [INFO] TrackerLinePool: HideUnusedLines
[13:18:26] Questie: [INFO] TrackerLinePool: HideUnusedButtons

The tooltips work from 3 to 10.
From 10 to 11 (tooltip still shows):

[13:24:14] Questie: [SPAM] [QuestieTooltips:GetTooltip] o_4608
[13:24:15] Questie: [SPAM] [QuestieTooltips:GetTooltip] i_5169
[13:24:16] Questie: [DEVELOP] [Quest Event] QUEST_WATCH_UPDATE 919
[13:24:16] You receive loot: [Timberling Sprout].
[13:24:16] Questie: [DEVELOP] [QuestieTracker] Quest Item Detected (itemId): 5169
[13:24:16] Questie: [SPAM] [QuestieTooltips:GetTooltip] o_4608
[13:24:16] Questie: [DEVELOP] [Quest Event] UNIT_QUEST_LOG_CHANGED player
[13:24:16] Questie: [DEVELOP] [Quest Event] UNIT_QUEST_LOG_CHANGED - skipNextUQLCEvent - false
[13:24:16] Questie: [DEVELOP] [Quest Event] QUEST_LOG_UPDATE
[13:24:16] Questie: [SPAM] Running full questlog check
[13:24:16] Questie: [SPAM] Quest: 919 will be updated
[13:24:16] Questie: [SPAM] [QuestieNameplate:UpdateNameplate]
[13:24:16] Questie: [DEVELOP] [QuestieQuest:UpdateQuest] 919
[13:24:16] Questie: [SPAM] [QuestieQuest:PopulateQuestLogInfo] 919
[13:24:16] Questie: [SPAM] [QuestieQuest:GetAllLeaderBoardDetails] for questId 919
[13:24:16] Questie: [SPAM] [QuestieQuest:GetAllLeaderBoardDetails] for questId 919
[13:24:16] Questie: [SPAM] [QuestieQuest] UpdateObjectiveNotes: 919
[13:24:16] Questie: [DEVELOP] [QuestieQuest:PopulateObjective] Timberling Sprout
[13:24:16] Questie: [INFO] Registering objective tooltips for Timberling Sprout
[13:24:16] Questie: [DEVELOP] [QuestieQuest:UpdateQuest] Quest Objective Status is: 0
[13:24:16] Questie: [DEVELOP] [QuestieComms:BroadcastQuestUpdate] Questid 919
[13:24:16] Questie: [DEVELOP] [QuestieComms:BroadcastQuestUpdate] partyType nil
[13:24:16] Questie: [SPAM] Running full questlog check
[13:24:16] Questie: [SPAM] Nothing to update
[13:24:16] Questie: [DEVELOP] [QuestieTracker] Callback - QuestEventHandler:UpdateAllQuests()
[13:24:16] Questie: [DEVELOP] QuestieTracker:Update
[13:24:16] Questie: [INFO] TrackerLinePool: ResetLinesForChange
[13:24:16] Questie: [INFO] TrackerLinePool: ResetButtonsForChange
[13:24:16] Questie: [DEVELOP] QuestieTracker:UpdateFormatting
[13:24:16] Questie: [INFO] TrackerLinePool: HideUnusedLines
[13:24:16] Questie: [INFO] TrackerLinePool: HideUnusedButtons
[13:24:17] Questie: [DEVELOP] QuestieTracker:Update
[13:24:17] Questie: [INFO] TrackerLinePool: ResetLinesForChange
[13:24:17] Questie: [INFO] TrackerLinePool: ResetButtonsForChange
[13:24:17] Questie: [DEVELOP] QuestieTracker:UpdateFormatting
[13:24:17] Questie: [INFO] TrackerLinePool: HideUnusedLines
[13:24:17] Questie: [INFO] TrackerLinePool: HideUnusedButtons

From 11 to 12 (tooltips are broken, this is 100% reproducible):

[13:26:04] Questie: [SPAM] [QuestieTooltips:GetTooltip] o_4608
[13:26:05] Questie: [SPAM] [QuestieTooltips:GetTooltip] i_5169
[13:26:06] Questie: [DEVELOP] [Quest Event] UNIT_QUEST_LOG_CHANGED player
[13:26:06] Questie: [DEVELOP] [Quest Event] UNIT_QUEST_LOG_CHANGED - skipNextUQLCEvent - false
[13:26:06] Questie: [DEVELOP] [Quest Event] QUEST_WATCH_UPDATE 919
[13:26:06] You receive loot: [Timberling Sprout].
[13:26:06] Questie: [DEVELOP] [QuestieTracker] Quest Item Detected (itemId): 5169
[13:26:06] Questie: [DEVELOP] [Quest Event] QUEST_LOG_UPDATE
[13:26:06] Questie: [SPAM] Running full questlog check
[13:26:06] Questie: [SPAM] Quest: 919 will be updated
[13:26:06] Questie: [SPAM] [QuestieNameplate:UpdateNameplate]
[13:26:06] Questie: [DEVELOP] [QuestieQuest:UpdateQuest] 919
[13:26:06] Questie: [SPAM] [QuestieQuest:PopulateQuestLogInfo] 919
[13:26:06] Questie: [SPAM] [QuestieQuest:GetAllLeaderBoardDetails] for questId 919
[13:26:06] Questie: [SPAM] [QuestieQuest:GetAllLeaderBoardDetails] for questId 919
[13:26:06] Questie: [SPAM] [QuestieQuest] UpdateObjectiveNotes: 919
[13:26:06] Questie: [DEVELOP] [QuestieQuest:PopulateObjective] Timberling Sprout
[13:26:06] Questie: [INFO] Registering objective tooltips for Timberling Sprout
[13:26:06] Questie: [DEVELOP] [QuestieQuest:UpdateQuest] Quest is complete
[13:26:06] Questie: [DEVELOP] [QuestieMap] Unloading quest frames for questid: 919
[13:26:06] Questie: [INFO] [QuestieQuest] Adding finisher for quest 919
[13:26:06] Questie: [DEVELOP] [QuestieQuest] Adding world icon as finisher: 141 60.880195599022 68.484107579462
[13:26:06] Questie: [DEVELOP] [QuestieComms:BroadcastQuestUpdate] Questid 919
[13:26:06] Questie: [DEVELOP] [QuestieComms:BroadcastQuestUpdate] partyType nil
[13:26:06] Questie: [SPAM] Running full questlog check
[13:26:06] Questie: [SPAM] Nothing to update
[13:26:06] Questie: [DEVELOP] [QuestieTracker] Callback - QuestEventHandler:UpdateAllQuests()
[13:26:06] Questie: [DEVELOP] QuestieTracker:Update
[13:26:06] Questie: [INFO] TrackerLinePool: ResetLinesForChange
[13:26:06] Questie: [INFO] TrackerLinePool: ResetButtonsForChange
[13:26:06] Questie: [DEVELOP] QuestieTracker:UpdateFormatting
[13:26:06] Questie: [INFO] TrackerLinePool: HideUnusedLines
[13:26:06] Questie: [INFO] TrackerLinePool: HideUnusedButtons
[13:26:07] Questie: [DEVELOP] QuestieTracker:Update
[13:26:07] Questie: [INFO] TrackerLinePool: ResetLinesForChange
[13:26:07] Questie: [INFO] TrackerLinePool: ResetButtonsForChange
[13:26:07] Questie: [DEVELOP] QuestieTracker:UpdateFormatting
[13:26:07] Questie: [INFO] TrackerLinePool: HideUnusedLines
[13:26:07] Questie: [INFO] TrackerLinePool: HideUnusedButtons

Destroyed 1 from 12 to 11:

[13:31:51] Questie: [DEVELOP] [Quest Event] QUEST_LOG_UPDATE
[13:31:52] Questie: [DEVELOP] [Quest Event] UNIT_QUEST_LOG_CHANGED player
[13:31:52] Questie: [DEVELOP] [Quest Event] UNIT_QUEST_LOG_CHANGED - skipNextUQLCEvent - false
[13:31:52] Questie: [DEVELOP] [Quest Event] QUEST_LOG_UPDATE
[13:31:52] Questie: [SPAM] Running full questlog check
[13:31:52] Questie: [SPAM] Quest: 919 will be updated
[13:31:52] Questie: [SPAM] [QuestieNameplate:UpdateNameplate]
[13:31:52] Questie: [DEVELOP] [QuestieQuest:UpdateQuest] 919
[13:31:52] Questie: [SPAM] [QuestieQuest:PopulateQuestLogInfo] 919
[13:31:52] Questie: [SPAM] [QuestieQuest:GetAllLeaderBoardDetails] for questId 919
[13:31:52] Questie: [SPAM] [QuestieQuest:GetAllLeaderBoardDetails] for questId 919
[13:31:52] Questie: [SPAM] [QuestieQuest] UpdateObjectiveNotes: 919
[13:31:52] Questie: [DEVELOP] [QuestieQuest:PopulateObjective] Timberling Sprout
[13:31:52] Questie: [INFO] Registering objective tooltips for Timberling Sprout
[13:31:52] Questie: [DEVELOP] [QuestieQuest:UpdateQuest] Quest Objective Status is: 0
[13:31:52] Questie: [DEVELOP] [QuestieComms:BroadcastQuestUpdate] Questid 919
[13:31:52] Questie: [DEVELOP] [QuestieComms:BroadcastQuestUpdate] partyType nil
[13:31:53] Questie: [DEVELOP] QuestieTracker:Update
[13:31:53] Questie: [INFO] TrackerLinePool: ResetLinesForChange
[13:31:53] Questie: [INFO] TrackerLinePool: ResetButtonsForChange
[13:31:53] Questie: [DEVELOP] QuestieTracker:UpdateFormatting
[13:31:53] Questie: [INFO] TrackerLinePool: HideUnusedLines
[13:31:53] Questie: [INFO] TrackerLinePool: HideUnusedButtons

From 11 to 12 (again, tooltips don't show, 100% reproducible):

[13:34:09] Questie: [SPAM] [QuestieTooltips:GetTooltip] o_4608
[13:34:10] Questie: [DEVELOP] [QuestieMap:ProcessShownMinimapIcons] FadeLogic loop coroutine: HBDPins.activeMinimapPins doesn't have the key anymore.
[13:34:12] Questie: [SPAM] [QuestieTooltips:GetTooltip] o_4608
[13:34:14] Questie: [DEVELOP] [Quest Event] UNIT_QUEST_LOG_CHANGED - skipNextUQLCEvent - false
[13:34:14] Questie: [DEVELOP] [Quest Event] QUEST_LOG_UPDATE
[13:34:14] Questie: [SPAM] Running full questlog check
[13:34:14] Questie: [SPAM] Quest: 919 will be updated
[13:34:14] Questie: [SPAM] [QuestieNameplate:UpdateNameplate]
[13:34:14] Questie: [DEVELOP] [QuestieQuest:UpdateQuest] 919
[13:34:14] Questie: [SPAM] [QuestieQuest:PopulateQuestLogInfo] 919
[13:34:14] Questie: [SPAM] [QuestieQuest:GetAllLeaderBoardDetails] for questId 919
[13:34:14] Questie: [SPAM] [QuestieQuest:GetAllLeaderBoardDetails] for questId 919
[13:34:14] Questie: [SPAM] [QuestieQuest] UpdateObjectiveNotes: 919
[13:34:14] Questie: [DEVELOP] [QuestieQuest:PopulateObjective] Timberling Sprout
[13:34:14] Questie: [INFO] Registering objective tooltips for Timberling Sprout
[13:34:14] Questie: [DEVELOP] [QuestieQuest:UpdateQuest] Quest is complete
[13:34:14] Questie: [DEVELOP] [QuestieMap] Unloading quest frames for questid: 919
[13:34:14] Questie: [INFO] [QuestieQuest] Adding finisher for quest 919
[13:34:14] Questie: [DEVELOP] [QuestieQuest] Adding world icon as finisher: 141 60.880195599022 68.484107579462
[13:34:14] Questie: [DEVELOP] [QuestieComms:BroadcastQuestUpdate] Questid 919
[13:34:14] Questie: [DEVELOP] [QuestieComms:BroadcastQuestUpdate] partyType nil
[13:34:14] Questie: [SPAM] Running full questlog check
[13:34:14] Questie: [SPAM] Nothing to update
[13:34:14] Questie: [DEVELOP] [QuestieTracker] Callback - QuestEventHandler:UpdateAllQuests()
[13:34:14] Questie: [DEVELOP] QuestieTracker:Update
[13:34:14] Questie: [INFO] TrackerLinePool: ResetLinesForChange
[13:34:14] Questie: [INFO] TrackerLinePool: ResetButtonsForChange
[13:34:14] Questie: [DEVELOP] QuestieTracker:UpdateFormatting
[13:34:14] Questie: [INFO] TrackerLinePool: HideUnusedLines
[13:34:14] Questie: [INFO] TrackerLinePool: HideUnusedButtons
[13:34:15] Questie: [DEVELOP] QuestieTracker:Update
[13:34:15] Questie: [INFO] TrackerLinePool: ResetLinesForChange
[13:34:15] Questie: [INFO] TrackerLinePool: ResetButtonsForChange
[13:34:15] Questie: [DEVELOP] QuestieTracker:UpdateFormatting
[13:34:15] Questie: [INFO] TrackerLinePool: HideUnusedLines
[13:34:15] Questie: [INFO] TrackerLinePool: HideUnusedButtons
[13:34:13] Questie: [SPAM] [QuestieTooltips:GetTooltip] i_5169
[13:34:14] Questie: [DEVELOP] [Quest Event] QUEST_WATCH_UPDATE 919
[13:34:14] You receive loot: [Timberling Sprout].
[13:34:14] Questie: [DEVELOP] [QuestieTracker] Quest Item Detected (itemId): 5169
[13:34:14] Questie: [SPAM] [QuestieTooltips:GetTooltip] o_4608
[13:34:14] Questie: [DEVELOP] [Quest Event] UNIT_QUEST_LOG_CHANGED player

commented

I noticed the Questie: [DEVELOP] [QuestieMap:ProcessShownMinimapIcons] FadeLogic loop coroutine: HBDPins.activeMinimapPins doesn't have the key anymore. didn't fire unless i mouseover'd over the object twice in certain cases, and that's why sometimes it fires when tooltips work and sometimes when they don't
Curious thing is that map icons were still present, just the object tooltips were gone

If there's anything missing that quest is a low level quest and you get tooltips missing at 1/12 and 11/12 each time, 100% repro

commented

I noticed that too... but you said From 0 to 1 (tooltips work): and From 1 to 2 (tooltips are broken, this is 100% reproducible):

I'm wondering if its having issues parsing 2s and 12's. My brain is nagging me. I've seen this behavior once before somewhere. I would even bet that it would also miss 22 & 32

commented

herebedragons is used for map pins, not tooltips.. (from my understanding)

this is the section of the code that adds the tooltip info..

                if not QuestiePlayer.currentQuestlog[questId] then
                    QuestieTooltips.lookupByKey[key][k] = nil
                else
                    tooltipData[questId].objectivesText = _InitObjectiveTexts(tooltipData[questId].objectivesText, objectiveIndex, playerName)

                    local text;
                    local color = QuestieLib:GetRGBForObjective(objective)

                    if objective.Needed then
                        text = "   " .. color .. tostring(objective.Collected) .. "/" .. tostring(objective.Needed) .. " " .. tostring(objective.Description);
                        tooltipData[questId].objectivesText[objectiveIndex][playerName] = {["color"] = color, ["text"] = text};
                    else
                        text = "   " .. color .. tostring(objective.Description);
                        tooltipData[questId].objectivesText[objectiveIndex][playerName] = {["color"] = color, ["text"] = text};
                    end
                end
commented

the code doesnt look wrong? unless its deeper in the stack somehow.. its basically just running tostring on the stored values.. even if the current amount somehow was nil the actual needed shouldnt be nil..

commented

It's only a few quests where it always fails tooltips on the same values. As i said, this quest error is 100% reproducible. I'm willing to bet the others were I've seen this happen will fail the same on other chars.

Could it be something wrong with HereBeDragons?

commented

If you hover over a Map Icon for Timberling Sprout via World Map or Mini Map are those Tooltips wrong too?

Have you ever experienced this behavior with Quests that show Collected / Needed tags on NamePlates?

commented

thatis 100% the culprit.. capture the whole obtained/needed and split on teh / then compare the split..

commented

Hmmm....

@Cabro Are you sure the tooltips aren't showing 1/12 and 11/12?

I suspect it might be this code: that is filtering those two steps. :D


                    if tooltipData[2] and string.find(tooltipData[2], "1/1") then
                        -- We don't want to show completed objectives on game objects
                        break;
                    end

...in the _QuestieTooltips:AddObjectDataToTooltip(name) function.

image

commented

100% sure the tooltips dont show when you have 1/12 and 11/12 of the spouts
Ah there it is. str.find instead of str.match?
That's definitely the cause

commented

still say to capture the whole thing and split it.. gsub ?then compare left and right to make sure its the same number..

commented

Could it be the fix is this easy? Just add some spaces before and after 1/1 so it's like if tooltipData[2] and string.find(tooltipData[2], " 1/1 ") then

commented

give it a shot..

TooltipHandler.lua line 88
image

commented

No... because then a "1/1" would not match. You can't insert spaces " 1/1 ".

commented

I'd help... but I suck at REGEX :D

commented

image

commented

See, I suck at REGEX...

commented

Then it would match on quests that had a Completed/Needed value of something like 1/8 or 2/8

commented

You're ONLY looking for 1/1 and only those... so a literal match of "1/1" should work. shrug I don't understand why it's not except in this case it's finding 11/12 inside that tag.

commented

Actually... this works.

if string.match(string1, "%d*/%d*") == "1/1" then
    print("Sting1 Found")
end

So this will work...

                for _, v in pairs (tooltipData) do
                    if tooltipData[2] and (string.match(tooltipData[2], "%d*/%d*") == "1/1") then
                        -- We don't want to show completed objectives on game objects
                        break;
                    end

                    GameTooltip:AddLine(v)
                    tooltipAdded = true
                end
commented

some things to clarify.. for objectives is the value always at the start of the line? can it be at the end?

doing something like
if tooltipData[2] and string.find(tooltipData[2], "^1/1 ") then

would trigger for singleton objectives that are fulfilled at at the start of the line

if we are trying to not show completed objectives on ANY amount of game objects, then we want to match on 4/4 etc etc..

that can be done like so

function _QuestieTooltips:AddObjectDataToTooltip(name)
    if (not Questie.db.global.enableTooltips) then
        return
    end
    if name then
        local tooltipAdded = false
        for _, gameObjectId in pairs(l10n.objectNameLookup[name] or {}) do
            local tooltipData = QuestieTooltips:GetTooltip("o_" .. gameObjectId);

            if type(gameObjectId) == "number" and tooltipData then
                for _, v in pairs (tooltipData) do
                    if tooltipData[2] then
                        local major, minor = string.match(tooltipData[2], "(%d+)/(%d+)")
                        if major == minor then
                            -- We don't want to show completed objectives on game objects
                            break;
                        end
                    end

                    GameTooltip:AddLine(v)
                    tooltipAdded = true
                end

                if tooltipAdded then
                    break;
                end
            end
        end
        GameTooltip:Show()
    end
    QuestieTooltips.lastGametooltipType = "object";
end
commented

but what happens for 12/12 and 4/4 and 6/6.. objectives that AREN'T 1/1 will still show.. make sense?

commented

image

commented

Dyaxler, the thing with string.match is that it will return true if ALL string matches the comparison text. Try with a different string, like "Objectives 1/1" see if they return true also. I think we might need some gsub too

commented

... what site are you using to test @Dyaxler

commented

Find out what the intended behavior is... in either case... this string.match is the cause of the bug you're experiencing.

commented

3d3d77b

the stated objective of this commit was to fix certain quests with the same object name showing complete?

can we verify this happens.. ever?
@BreakBB this was a you commit from 2 years ago?

any recollection of affected quests? can we re-visit the commit as it needs cleaned for now, its causing issues ..

commented

Oh, I get what he was trying to fix. There are Quests you can have at the same time that have an Objective that is the same name/game object. Kill Objectives aren't an issue because you'll get credit for both Quests when you kill one mob. Drop Objectives aren't technically an issue because if you hand in one Quest, the other Quest will update its Objective count. Like repeatable ones in the Blasted Lands where more than one Quest requires Basilisk Brains etc. and all the associated tooltips.

His fix specifically addresses showing completed Objectives on tooltips giving players a false positive. So, if a player happens to have two quests with the same game object as an Objective and one Quest is complete and the other is not, it'll filter the finished one and only show the incomplete one.

@BreakBB Am I understanding that correctly?

commented

There are quests which require you to interact with three "different" objects. But since the API does not give any real helpful information when hovering over objects it happened that all three quest objectives would show on all three objects.

A good example quest is Grimtotem Spying in 1k Needles. All the chests you have to loot the plans from have the same object name. So before the fix TechnoHunter linked above when hovering over one of the chests all objectives where showing. Now only the incomplete objectives are showing.

commented

From the tests you run above I see the fault on searching for "1/1", shouldn't be hard to fix the regex