diff --git a/Core/Utils.lua b/Core/Utils.lua index ac7fe13..81d031b 100644 --- a/Core/Utils.lua +++ b/Core/Utils.lua @@ -206,10 +206,12 @@ function Utils:IsQuestItemTooltip(bagID, slotID) if text then local tl = string.lower(text) -- Only match explicit quest markers to avoid misclassifying consumables/recipes + -- Include "manual" which some quest items use (same as ItemButton detection) if string.find(tl, "quest starter") or string.find(tl, "this item begins a quest") or string.find(tl, "starts a quest") or - string.find(tl, "quest item") then + string.find(tl, "quest item") or + string.find(tl, "manual") then return true end end diff --git a/UI/FrameHelpers.lua b/UI/FrameHelpers.lua index 230fbc2..7d4e03a 100644 --- a/UI/FrameHelpers.lua +++ b/UI/FrameHelpers.lua @@ -54,7 +54,14 @@ function Guda_CategorizeItem(itemData, bagID, slotID, categories, specialItems, end -- Priority 3: Quest Items - if (not isOtherChar and addon.Modules.Utils:IsQuestItemTooltip(bagID, slotID)) or itemData.class == "Quest" then + -- Check multiple sources: tooltip scan, itemClass, and itemType (same logic as ItemButton display) + local isQuestItem = false + if itemData.class == "Quest" or itemData.type == "Quest" then + isQuestItem = true + elseif not isOtherChar then + isQuestItem = addon.Modules.Utils:IsQuestItemTooltip(bagID, slotID) + end + if isQuestItem then table.insert(categories["Quest"], {bagID = bagID, slotID = slotID, itemData = itemData}) return end