Oh, I found a way for you to keep track of the status ..
local objectives = C_QuestLog.GetQuestObjectives(bountyInfo.questID)
for objIndex, objInfo in ipairs(objectives) do
print(objIndex,objInfo.type,objInfo.text,objInfo.numRequired,objInfo.numFulfilled, objInfo.finished)
end
On my 2 emissary quests yet to complete/turn in this is what that print line returned for each bounty/emissary
1 object 4/4 Complete 4 world quests in Val'sharah 4 4 true
1 object 0/3 Complete 3 Kirin Tor World Quests 3 0 false
But unfortunately no Objectives update.. however, I just noticed the TASK_PROGRESS_UPDATE which may be what they now use instead of the Objectives Update one. Testing it with my last remaining emissary quest chain.
Edit:
Still no TASK_PROGRESS_UPDATE event flagging up yet but I did find that the C_QuestLog.GetQuestObjectives(bountyInfo.questID) function only returns data when you first build the bountyInfo from the map for some reason, despite calling it with the questID again, after that first update cycle it only returns nil.
Just to confirm that as long as you rebuild the bounty info on each QUEST_LOG_UPDATE ( at least until a better event is found ) you will get an update to the emissary criteria. Done all my Emissary Quests now so will take another stab again another day to try and narrow it down to a simple set of tables.
But I think for your scenario a simple check for "QUEST_TURNED_IN" to identify which quests you have completed that relate to one of the emissary quests and the emissary quest itself. And also "QUEST_LOG_UPDATE" to find out which emissary quests you have access to.
And to confirm my earlier thoughts. The Emissary Quest that appears in your Log when all the world quests linked to them are completed that they want, has the same QuestID that you can get from the Bounty List request.
Last edited by Xrystal : 08-31-18 at 08:01 PM.
|