From 8efe5dcbf3da59b0a6b665e0e53f939428989770 Mon Sep 17 00:00:00 2001 From: SabinDeus Date: Wed, 13 Jan 2021 00:37:20 -0500 Subject: [PATCH] GossipQuestInfo API bugfixes and incomplete Active Quest ignores --- TurnIn.lua | 31 +++++++++++++++++++++++-------- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/TurnIn.lua b/TurnIn.lua index 35cf6cc..daea1bb 100644 --- a/TurnIn.lua +++ b/TurnIn.lua @@ -533,12 +533,21 @@ function TI_HandleGossipWindow(gorq) TI_availnumber = TI_availnumber + 1; SAvQ(TI_availnumber-1); TI_debug("Selecting Available Quest ".. TI_availnumber-1); + TI_ResetPointers(); return; elseif(current.type == "activequest" and #ActiveQuests > 0 and TI_activenumber <= #ActiveQuests) then - TI_activenumber = TI_activenumber + 1; - SAcQ(TI_activenumber-1); - TI_debug("Selecting Active Quest ".. TI_activenumber-1); - return; + DevTools_Dump(ActiveQuests); + while TI_activenumber <= #ActiveQuests do + TI_activenumber = TI_activenumber + 1; + if ActiveQuests[TI_activenumber-1].isComplete then + TI_debug("Selecting Active Quest ".. TI_activenumber-1 .. " " .. ActiveQuests[TI_activenumber-1].name ); + SAcQ(TI_activenumber-1); + TI_ResetPointers(); + return; + else + TI_debug("Active Quest ".. TI_activenumber-1 .. " " .. ActiveQuests[TI_activenumber-1].name .. " is not complete") + end + end elseif(#GossipOptions > 0) then for j,val in ipairs(GossipOptions) do if(val.type == current.type) then @@ -632,12 +641,14 @@ function TI_TabulateGossipQuestUIInfo(gquis) local x = {}; for i,gqui in ipairs(gquis) do + DevTools_Dump(gqui) local temp = {}; - temp.name = gqui.name; + temp.name = gqui.title; temp.icon = QuestUtil.GetQuestIconActive(gqui.isComplete, gqui.isLegendary, - gqui.frequency, gqui.isRepeatable, gqui.isCampaign, gqui.isCovenantCalling) - + gqui.frequency, gqui.isRepeatable, gqui.isCampaign, gqui.isCovenantCalling); + + temp.isComplete = gqui.isComplete; table.insert(x, temp); end @@ -650,6 +661,9 @@ function TI_TabulateGossipUIInfo(guis) for i,gui in ipairs(guis) do local temp = {}; temp.name = gui.name; + if gui.type == "chatbubble" then + gui.type = "gossip" + end temp.type = gui.type; table.insert(x, temp); end @@ -679,4 +693,5 @@ function toggle(arg) else return true; end -end \ No newline at end of file +end +