47 lines
1.7 KiB
Lua
47 lines
1.7 KiB
Lua
-- verify_indices.lua
|
|
-- Diagnostic script to verify Questie-X Index-Aware Objective Tracking
|
|
|
|
local function VerifyQuest(questId)
|
|
-- Robust lookup handle
|
|
local quest = QuestieDB:GetQuest(questId)
|
|
if not quest then
|
|
print("|cFFFF0000[Questie-X]|r Quest " .. tostring(questId) .. " not found in DB.")
|
|
print(" - Check if QuestieDB:Initialize() has completed successfully.")
|
|
return
|
|
end
|
|
|
|
print("|cFF00FF00[Questie-X]|r Verifying Quest: " .. (quest.name or "Unknown") .. " (" .. questId .. ")")
|
|
|
|
if not quest.Objectives or #quest.Objectives == 0 then
|
|
print(" - No objectives found.")
|
|
return
|
|
end
|
|
|
|
for i, obj in ipairs(quest.Objectives) do
|
|
local objDesc = obj.Description or "Objective " .. i
|
|
local objIndex = obj.objIndex
|
|
print(" - [" .. i .. "] " .. objDesc .. " -> objIndex: " .. (objIndex or "|cFFFF0000MISSING|r"))
|
|
|
|
if obj.Type == "monster" or obj.Type == "npc" then
|
|
print(" Type: Monster, ID: " .. (obj.Id or "nil"))
|
|
elseif obj.Type == "item" then
|
|
print(" Type: Item, ID: " .. (obj.Id or "nil"))
|
|
elseif obj.Type == "object" then
|
|
print(" Type: Object, ID: " .. (obj.Id or "nil"))
|
|
end
|
|
end
|
|
end
|
|
|
|
-- Run verification for some known quests with multi-kill objectives
|
|
-- Example quest IDs (replace with relevant ones from your current log)
|
|
local testQuests = {
|
|
183, -- Example: "A New Threat" (usually has multiple kill objectives)
|
|
84, -- Example: "The Jasperlode Mine"
|
|
}
|
|
|
|
print("|cFFFFFF00[Questie-X] Diagnostic Start|r")
|
|
for _, qId in ipairs(testQuests) do
|
|
VerifyQuest(qId)
|
|
end
|
|
print("|cFFFFFF00[Questie-X] Diagnostic Complete|r")
|