Update custom DB quests and bump version to 9.8.5
This commit is contained in:
@@ -553,6 +553,10 @@ function QuestieArrow:UpdateNearestTargets()
|
||||
return
|
||||
end
|
||||
|
||||
if QuestieQuest.ShouldHideObjective(objective) then
|
||||
return
|
||||
end
|
||||
|
||||
if objective.Completed == true or objective.Completed == 1 then
|
||||
return
|
||||
end
|
||||
|
||||
@@ -482,6 +482,11 @@ function QuestieQuest:AcceptQuest(questId)
|
||||
QuestieCombatQueue:Queue(function()
|
||||
QuestieTracker:Update()
|
||||
end)
|
||||
end,
|
||||
function()
|
||||
if QuestieArrow and QuestieArrow.Refresh then
|
||||
QuestieArrow:Refresh()
|
||||
end
|
||||
end
|
||||
)
|
||||
else
|
||||
@@ -1213,6 +1218,30 @@ function QuestieQuest:AddFinisher(quest)
|
||||
end
|
||||
end
|
||||
|
||||
---@param objective any
|
||||
function QuestieQuest.ShouldHideObjective(objective)
|
||||
local hideCondition = objective.HideCondition
|
||||
if not hideCondition then
|
||||
return false
|
||||
end
|
||||
|
||||
if hideCondition.hideIfQuestActive then
|
||||
local questId = hideCondition.hideIfQuestActive
|
||||
if QuestiePlayer.currentQuestlog[questId] or (Questie.db and Questie.db.char and Questie.db.char.complete and Questie.db.char.complete[questId]) then
|
||||
return true
|
||||
end
|
||||
end
|
||||
|
||||
if hideCondition.hideIfQuestComplete then
|
||||
local questId = hideCondition.hideIfQuestComplete
|
||||
if Questie.db and Questie.db.char and Questie.db.char.complete and Questie.db.char.complete[questId] then
|
||||
return true
|
||||
end
|
||||
end
|
||||
|
||||
return false
|
||||
end
|
||||
|
||||
---@param quest Quest
|
||||
---@param objectiveIndex ObjectiveIndex
|
||||
---@param objective QuestObjective
|
||||
@@ -1226,6 +1255,12 @@ function QuestieQuest:PopulateObjective(quest, objectiveIndex, objective, blockI
|
||||
end
|
||||
|
||||
objective:Update()
|
||||
|
||||
if QuestieQuest.ShouldHideObjective(objective) then
|
||||
_UnloadAlreadySpawnedIcons(objective)
|
||||
return
|
||||
end
|
||||
|
||||
local completed = objective.Completed
|
||||
local objectiveData = quest.ObjectiveData[objective.Index] or
|
||||
objective -- the reason for "or objective" is to handle "SpecialObjectives" aka non-listed objectives (demonic runestones for closing the portal)
|
||||
@@ -1621,7 +1656,8 @@ function QuestieQuest:PopulateQuestLogInfo(quest)
|
||||
AlreadySpawned = {},
|
||||
Update = _QuestieQuest.ObjectiveUpdate,
|
||||
Coordinates = quest.ObjectiveData[objectiveIndex].Coordinates, -- Only for type "event"
|
||||
RequiredRepValue = quest.ObjectiveData[objectiveIndex].RequiredRepValue
|
||||
RequiredRepValue = quest.ObjectiveData[objectiveIndex].RequiredRepValue,
|
||||
HideCondition = quest.ObjectiveData[objectiveIndex].HideCondition
|
||||
}
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user