From 7aaf4d349581fd5e19ad2d03d01d208a531a88ee Mon Sep 17 00:00:00 2001 From: Xurkon <36556990+Xurkon@users.noreply.github.com> Date: Sat, 21 Feb 2026 12:32:36 -0600 Subject: [PATCH] Fix Arrow failing to detect quest completion fallback When QuestLogCache parses incomplete tracker data upon reload, it leaves quest.isComplete undefined or false. This allows the Arrow to process SpecialObjectives (like required source item drops) which do not have Completed/Needed/Collected stats on them, bypassing our recent arrow logic fix. Added an explicit check for QuestieDB.IsComplete(quest.Id) == 1 at the very top of the track loop to guarantee the Arrow immediately stops processing objectives and exclusively targets the finisher. --- Modules/Arrow/QuestieArrow.lua | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Modules/Arrow/QuestieArrow.lua b/Modules/Arrow/QuestieArrow.lua index f1c0f9f..296e24a 100644 --- a/Modules/Arrow/QuestieArrow.lua +++ b/Modules/Arrow/QuestieArrow.lua @@ -437,7 +437,8 @@ function QuestieArrow:UpdateNearestTargets() end -- If the quest is complete, track the finisher/turn-in location - if quest.isComplete then + if quest.isComplete or QuestieDB.IsComplete(quest.Id) == 1 then + quest.isComplete = true local function _GetCompleteIconType() local iconType = Questie.ICON_TYPE_COMPLETE if QuestieDB and QuestieDB.IsActiveEventQuest and QuestieDB.IsActiveEventQuest(quest.Id) then