Commit Graph

13 Commits

Author SHA1 Message Date
Xurkon f0327da3e5 fix: use GetQuestLogTitle position 9 for questID in 3.3.5 and add full-log fallback scan 2026-03-16 22:39:39 -05:00
Xurkon f0550fddee feat: add DEBUG_LEARNER and DEBUG_COMMS categories for targeted learner/comms debugging 2026-03-16 22:33:31 -05:00
Xurkon 6b0fdcf9b4 fix: capture Objectives Board quests via gossip cache and trace LearnQuest guards 2026-03-16 22:30:38 -05:00
Xurkon 76854a7fa3 fix: learner only records quest items (class 12) and captures auto-complete quests via QUEST_TURNED_IN 2026-03-16 22:19:09 -05:00
Xurkon fa7974b0d8 fix: mouseover NPC check uses raw npcData instead of GetNPC to prevent CRITICAL spam 2026-03-16 22:14:04 -05:00
Xurkon b2ca8fa660 fix: backfill missing learnedData settings keys from old SavedVariables
EnsureLearnedData was using 'or' which never updates an existing table.
If learnedData was created by an older version of the code without
learnQuests/learnItems/learnObjects keys, those stayed nil (falsy),
causing every quest/item/object learn call to return immediately.

Now explicitly backfills each missing key to true so all categories
record correctly regardless of when the SavedVariables were first created.
2026-03-16 21:56:36 -05:00
Xurkon 893d013110 refactor: reduce QuestieLearner debug noise to signal-only output
- LearnNPC/Quest/Item/Object: only print when entry is brand new (isNew flag)
  Update calls (coord refresh, mc increment) are silent
- Remove mouseover cache log (fired on every quest giver hover)
- Remove target cache log (fired on every target switch)
- Remove network MERGE log (fired every 60s reinforcement cycle)
- Remove network NEW log (replaced by the isNew pattern above)
- Kill log kept but wording tightened to 'Kill recorded'
- Inject summary, Events registered, Initialized kept at DEBUG_INFO
  (only visible when INFO level is enabled, not default DEVELOP spam)
2026-03-16 21:24:42 -05:00
Xurkon a3eaba30fd fix: WotLKDB plugin stats + kill tracking improvements
QuestieInit:LoadBaseDB:
- Count WotLKDB records BEFORE clearing globals
- Store counts in QuestieX_WotLKDB_Counts global for Loader.lua to read

QuestieLearner:OnCombatLogEvent:
- Only record kill coords for NPCs already in QuestieDB (quest objectives)
  or that were explicitly cached via target/mouseover (known quest givers)
- Prevents every random mob kill from polluting the learner database
2026-03-16 20:52:25 -05:00
Xurkon 8bc74a488b 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
2026-03-16 20:49:02 -05:00
Xurkon d2861d194b feat: expand QuestieLearner and QuestieLearnerComms
QuestieLearner:
- Expose QuestieLearner.data as direct ref to Questie.db.global.learnedData
- Add mc (match-count) field tracking to LearnNPC/Quest/Item/Object
- Add _Learner:BroadcastIfCommsAvailable() hook called after every write
- Add QuestieLearner:HandleNetworkData() — validates, merges, and deduplicates
  incoming network data for NPC/QUEST/ITEM/OBJECT types, including coordinate
  and item-drop list merging

QuestieLearnerComms:
- Move DebugLog definition to top of file (was called before definition)
- Fix IsDuplicateMessage fallback: table.getn(serializedData) -> string.len(),
  mod() -> math.mod() for Lua 5.0 compatibility
- Add mutedUntil table and implement 5-minute timed mute on 3 strikes
  (previously the 3-strike branch was an empty if body with no effect)
- Remove duplicated nil-check + DebugLog block in ProcessRawMessage
2026-03-15 19:10:35 -05:00
Xurkon c4d003e58f feat: Questie-X v1.1.4 - plugin architecture, monorepo, rebranding
- Repoint remote to Xurkon/Questie-X
- Add QuestiePluginAPI, QuestieServer, QuestieLearnerComms modules
- Add Questie-X.toc, Questie-X-Classic.toc, Questie-X-TBC.toc, Questie-X-Turtle.toc
- Remove embedded Database/Ascension and Database/Ebonhold (migrated to plugins)
- Add Plugins/ directory with NTFS junctions for Questie-X-AscensionDB and Questie-X-EbonholdDB
- Add LibDeflate, XXH_Lua_Lib, LibDBIcon-1.0, LibDataBroker-1.1
- Update README: Questie-X branding, logo, plugin install guide, plugin API docs
- Update CHANGELOG: v1.1.4 entry documenting all architectural changes
- Update .gitignore: exclude plugin junctions, __pycache__, .agents, debug files
- Various module updates: corrections, map, tracker, tooltips, quest, options
2026-03-14 06:10:17 -05:00
Xurkon b13833935a v9.8.9: Badlands Trophy quest, 7:XT NPC data, fix AreaId CRITICAL spam 2026-03-02 21:11:30 -06:00
Xurkon 6ef85d4e2d v9.7.2: Ebonhold Database integration and core logic refinements 2026-02-14 21:13:44 -06:00