Update custom DB quests and bump version to 9.8.5

This commit is contained in:
Xurkon
2026-02-24 20:52:12 -06:00
parent 174c397cf2
commit 8616765eed
27 changed files with 54322 additions and 10 deletions
+4
View File
@@ -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
+37 -1
View File
@@ -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