QUEST_LOG_UPDATE and GetQuestLogTitle()
THE SETUP
So, for ages I've had a little bit of code that looks for quest progress and completion and respond to certain criteria. With the drop of the new client, it triggers a 'quest complete' response upon zone/hearth/etc b/c the 'quest complete' criteria is complete.
I do this in a simple manner, tracking only changes in totals of quests/quest completed/objectives completed (i.e., it is questID agnostic)
When comparing current_complete to previously_complete, if C > P then a quest was completed. So each value of 'current' is shuttled into 'previous' when the new check begins. This works flawlessly and has for y-y-years.
I finally traced the problem to the 2nd trigger of QUEST_LOG_UPDATE after entering the world.
QUEST_LOG_UPDATE fires like mad (expected) but it seems at the FIRST trigger after zoning, GetQuestLogTitle() does not return 'IsComplete' properly and it comes back as not-complete regardless of the status.
By the next QUEST_LOG_UPDATE, GetQuestLogTitle() is returning it properly but the damage to that simple logic is done and the user (me) wondering about that 'complete hearthing' quest I just completed.
THE QUESTION
Is this 'the new normal' for this event? Or is this a bug? Or is there some new setup event I should look for before trusting GetQuestLogTitle()
I know I can work around it (I can think of a few ways off the top of my head) but I haven't seen this noted and wasn't sure if it was a known bug that's being addressed or if I should just groan and plug in a semaphore.
|