diff --git a/State.lua b/State.lua --- a/State.lua +++ b/State.lua @@ -47,7 +47,18 @@ local rewardXP = GetQuestLogRewardXP(i) or 0 if rewardXP > 0 then qXP = qXP + rewardXP - if C_QuestLog.IsComplete(info.questID) or C_QuestLog.ReadyForTurnIn(info.questID) then + + local completeState = info.isComplete + if completeState == nil then + completeState = C_QuestLog.IsComplete(info.questID) + end + + local isComplete = completeState == 1 + if not isComplete then + isComplete = C_QuestLog.ReadyForTurnIn(info.questID) + end + + if isComplete then cXP = cXP + rewardXP else iXP = iXP + rewardXP @@ -77,10 +88,18 @@ status = "HEADER" elseif info.isHidden then status = "HIDDEN" - elseif info.questID and (C_QuestLog.IsComplete(info.questID) or C_QuestLog.ReadyForTurnIn(info.questID)) then - status = "COMPLETE" else - status = "INCOMPLETE" + local completeState = info.isComplete + if completeState == nil and info.questID then + completeState = C_QuestLog.IsComplete(info.questID) + end + + local isComplete = completeState == 1 + if not isComplete and info.questID then + isComplete = C_QuestLog.ReadyForTurnIn(info.questID) + end + + status = isComplete and "COMPLETE" or "INCOMPLETE" end print(string.format(" [%d] id=%s title=\"%s\" reward=%d status=%s isHeader=%s isHidden=%s", diff --git a/UI.lua b/UI.lua --- a/UI.lua +++ b/UI.lua @@ -15,9 +15,9 @@ colorBorder = {0, 0, 0, 1}, colorMain = {0.76, 0.38, 1, 1}, -- Base Purple - colorRested = {0.34, 0.61, 0.99, .5}, -- Rested Blue + colorRested = {0.34, 0.61, 0.99, .8}, -- Rested Blue colorQuest = {1, 0.64, 0.0078, 0.25}, -- Quest Yellow - colorQuestComplete = {1, 0.64, 0.0078, 0.5}, -- Completed Quest + colorQuestComplete = {1, 0.64, 0.0078, 0.8}, -- Completed Quest } function F.UI.CreateStatusBar(parent, layer, subLevel, color) @@ -241,7 +241,7 @@ if s.maxXP > 0 and projectedQuest > projectedComplete and projectedComplete < s.maxXP then F.BarQuest:Show() - F.BarQuest:SetMinMaxValues(projectedComplete, maxXP) + F.BarQuest:SetMinMaxValues(0, maxXP) F.BarQuest:SetValue(math.min(projectedQuest, s.maxXP)) else F.BarQuest:Hide()