_RegisterObjectiveTooltips was only silently skipping objectives
with Type == 'event'. Quest 50150 'Storm Peak Orders' uses a
server-tracked zone-completion trigger objective which has no spawnList
and no Id -- the server sends it with a type like 'monster' not 'event'.
Broaden the guard: any objective with no spawnList AND no Id has nothing
for Questie to draw. Mark hasRegisteredTooltips = true and return
silently. Objectives with no spawnList but a valid Id still error
so missing data is reported.
When isQuestLogGood passes, the cache IS valid. The goodQuestsCount != numQuests
mismatch is a false positive on WotLK private servers where GetNumQuestLogEntries
returns a different numQuests than what the objectives loop validated.
Log at debug level so it doesn't spam player chat.
GetAllQuestIds called CheckQuestSourceItem(questId, true) for all
non-failed quests. When a consumable key is used and leaves the bag,
this created a fake 'get the item' objective pointing to the drop NPC
even when the quest was already complete (complete == 1).
Guard the call: only run CheckQuestSourceItem when complete != 1.
Complete quests route through PopulateObjectiveNotes which correctly
shows the finisher instead.
Event-type objectives (triggerEnd with no coordinates) silently skip.
All other objective types with missing spawnList keep Questie:Error
so players can see and report missing spawn data.
GetQuestObjectives returns nil for quests with no trackable objectives
on WotLK private servers. The original code set hasInvalidObjective=true
but left isQuestLogGood=true, causing goodQuestsCount to stay 0 while
numQuests was 19 -> 'Good quest: 0/19' error on every login/reload.
Treat a non-table return as an empty valid objective list. Demote the
Questie:Error to Questie:Debug so it doesn't spam chat.
Register BAG_UPDATE_DELAYED to catch autoloot objective updates.
Autoloot bots that bypass the loot frame skip QUEST_WATCH_UPDATE,
leaving the tracker stuck at a stale count. Setting doFullQuestLogScan=true
on BAG_UPDATE_DELAYED forces a refresh on the next QUEST_LOG_UPDATE.
_RegisterObjectiveTooltips: silently return for Type='event' objectives
with no spawnList (e.g. triggerEnd with nil coordinates). These have no
tooltip to register, so mark hasRegisteredTooltips=true and bail out.
For other types, demote from Error to Debug.
QuestieQuestPrivates.lua: event handler now returns nil silently when
Coordinates is nil, instead of logging a visible error. Nil coordinates
are valid for server-tracked objectives (complete N quests in zone) that
have no map pin.