feat: QuestieLearner comprehensive overhaul v1.2.6

- Full quest field capture (title, level, objectives, description, money, zone)
- Mouseover filter: only record NPCs with QUESTGIVER npcFlag (0x02) or known DB entries
- OnTargetChanged: cache GUID for kill tracking only, no more spurious LearnNPC calls
- Grid-bucket coordinate clustering (COORD_GRID=2.0) replaces naive radius dedup
- Object recording: detect GameObject loot, gossip, and quest giver/finisher
- Item loot: async GetItemInfo retry via GET_ITEM_INFO_RECEIVED event
- LearnQuestGiver: entityType parameter (1=NPC,2=obj,3=item) for correct wiki layout
- InjectLearnedData: uses grid clustering in all merge paths
- MergeImport: calls InjectLearnedData immediately after merge (live override injection)
- README: corrected import reload requirement description
- CHANGELOG + docs/changelog.html updated with developer detail
This commit is contained in:
Xurkon
2026-03-16 20:49:02 -05:00
parent 46a3476884
commit 8bc74a488b
5 changed files with 502 additions and 278 deletions
+440 -277
View File
File diff suppressed because it is too large Load Diff
+6
View File
@@ -288,6 +288,12 @@ function QuestieLearnerExport:MergeImport()
self.lastImportData = nil
self.lastImportStats = nil
-- Push merged data into QuestieDB overrides immediately (no reload required for override data)
local QuestieLearner = QuestieLoader:ImportModule("QuestieLearner")
if QuestieLearner and QuestieLearner.InjectLearnedData then
QuestieLearner:InjectLearnedData()
end
local msg = "Import complete: merged " .. merged .. " entries, skipped " .. skipped .. " (already known)."
Questie:Debug(Questie.DEBUG_DEVELOP, "[LearnerExport]", msg)
return true, msg