diff --git a/esoui/ingame/zo_quest/questtracker.lua b/esoui/ingame/zo_quest/questtracker.lua
index 5c39876..937370f 100755
--- a/esoui/ingame/zo_quest/questtracker.lua
+++ b/esoui/ingame/zo_quest/questtracker.lua
@@ -597,6 +597,7 @@ function ZO_Tracker:PopulateStepQuestConditions(questIndex, stepIndex, questHead
for conditionIndex = 1, conditionCount do
local currentValue, maximumValue, isFailCondition, isComplete, isGroupCreditShared = GetJournalQuestConditionValues(questIndex, stepIndex, conditionIndex)
+ -- We're going to ignore the individual conditions' isVisible field here, since we have override text for the whole step which we always want to show
if(not isFailCondition and isComplete) then
stepOverride.isGroupCreditShared = isGroupCreditShared
@@ -623,15 +624,26 @@ function ZO_Tracker:PopulateStepQuestConditions(questIndex, stepIndex, questHead
self:InitializeQuestCondition(stepOverride, questHeader, stepOverrideKey, conditionTreeNode)
else
-- Process the conditions as usual
- local conditionsAreOR = stepType == QUEST_STEP_TYPE_OR and conditionCount > 1
- if(conditionsAreOR) then
+ if(stepType == QUEST_STEP_TYPE_OR) then
+ local visibleConditionFound = false
+ for conditionIndex = 1, conditionCount do
+ local isVisible = select(7, GetJournalQuestConditionInfo(questIndex, stepIndex, conditionIndex))
+ if isVisible then
+ if visibleConditionFound then
+ -- We've already found one visible condition, insert the "Choose one" step description and quit
InsertStepDescription(self, questHeader, treeNode, GetString(SI_QUEST_OR_DESCRIPTION))
+ break
+ else
+ visibleConditionFound = true
+ end
+ end
+ end
end
for conditionIndex = 1, conditionCount do
- local conditionText, curCount, maxCount, isFailCondition, isComplete, isGroupCreditShared = GetJournalQuestConditionInfo(questIndex, stepIndex, conditionIndex)
+ local conditionText, curCount, maxCount, isFailCondition, isComplete, isGroupCreditShared, isVisible = GetJournalQuestConditionInfo(questIndex, stepIndex, conditionIndex)
- if((not isFailCondition) and (conditionText ~= "") and not isComplete) then
+ if((not isFailCondition) and (conditionText ~= "") and not isComplete and isVisible) then
local questCondition, questConditionKey = self.conditionPool:AcquireObject()
questCondition.entryType = entryType