Commit Graph

75 Commits

Author SHA1 Message Date
Xurkon b8594c9782 fix(p2): restore plugin status UI, C_QuestLog/C_Map shims, QuestieServer init
- QuestieOptionsAdvanced.lua: restore compat_header, plugin_header, plugin_status_desc
  blocks showing loaded Questie-X plugins with stats in the Advanced options tab
- QuestieCompat.lua: add C_QuestLog shim (GetNumQuestLogEntries, GetQuestLogTitle,
  GetAllQuestIDs, GetQuestObjectives, IsQuestFlaggedCompleted, GetQuestPlayerQuestLink),
  C_Map shim (GetPlayerMapPosition, GetBestMapForUnit, GetMapInfo),
  GetTrackedAchievements, IsAchievementCompleted, and LibUIDropDownMenu shims
- QuestieInit.lua: import QuestieServer module, add QuestieServer:Init() call with nil
  guard, wrap HBDHooks:Init() in nil guard
2026-03-15 18:33:41 -05:00
Xurkon d5a0db953d Fix: MinimapIcon initialization crash due to nil GetIcon method 2026-03-15 18:28:58 -05:00
Xurkon 17fa3932f2 UI: Rebrand minimap tooltip to Questie-X and update associated localizations 2026-03-15 18:23:25 -05:00
Xurkon f859e46881 feat: add mmapIcon.tga as minimap button with circular mask for all clients
- Icons/mmapIcon.tga: new minimap button icon
- MinimapIcon.lua: use mmapIcon.tga as LDB icon; apply circular mask
  (AddMaskTexture for Retail, SetMask+pcall for Classic/WotLK/1.12 vanilla)
2026-03-15 18:17:43 -05:00
Xurkon 5c825f8914 [docs] Sync HTML changelog and remove deprecated monorepo/junction mentions 2026-03-15 18:07:28 -05:00
Xurkon 6b4a7b7786 [docs] Sync HTML changelog with CHANGELOG.md and remove monorepo/junction mentions 2026-03-15 17:56:38 -05:00
Xurkon be6d522bf8 [docs] Remove monorepo and NTFS junction documentation as they are no longer used 2026-03-15 17:54:03 -05:00
Xurkon 6d3189b608 fix(p1): restore Lua 5.0 polyfills, hooksecurefunc, C_Timer, LibDeflate, and XXH load lines
- QuestieLoader.lua: add table.getn, math.mod, string.match, string.gmatch, select polyfills
- QuestieCompat.lua: add string.match, select, math.mod shims; hooksecurefunc polyfill;
  full C_Timer polyfill; fix Is335 to use do/end block safe for Lua 5.0
- embeds.xml: add LibDeflate lib.xml include
- Questie-X.toc, Questie-X-Classic.toc, Questie-X-Turtle.toc: add XXH_Lua_Lib load line
2026-03-15 17:50:50 -05:00
Xurkon 5582f310eb chore: update Credits tab logo and changelog for v1.1.4 2026-03-15 17:46:43 -05:00
Xurkon 20d0b8fe98 Fix Credits tab logo by converting to TGA and updating path 2026-03-15 08:20:00 -05:00
Xurkon b5dadb3089 Add Questie-X logo to Credits tab 2026-03-15 08:13:58 -05:00
Xurkon fcec22881f Rebrand to Questie-X and add Credits tab 2026-03-15 08:08:08 -05:00
Xurkon 03e9f27f03 docs: standardize documentation, align version to 1.1.4, and cleanup legacy TOC files 2026-03-15 07:44:48 -05:00
Xurkon 2be3953cf5 docs: credit Majed (3majed) for Ascension dataset 2026-03-14 17:26:21 -05:00
Xurkon 89cca086f9 docs: remove all WoW version/Classic references from README, keep generic 2026-03-14 17:19:12 -05:00
Xurkon 3c4a89e085 docs: fix version badge to show Questie-X v1.1.4 2026-03-14 17:15:30 -05:00
Xurkon 484c63cc96 docs: remove title from header, drop version-specific WoW badge 2026-03-14 17:15:10 -05:00
Xurkon 8c80a4f562 docs: revise README - remove title, generic plugin docs, detailed fixes 2026-03-14 17:13:43 -05:00
Xurkon 280cc3e1ef docs: remove Turtle from install info, add Ascension plugin example 2026-03-14 06:33:59 -05:00
Xurkon 29edeceedb fix: remove black background from QuestieXlogo.png (color-to-alpha) 2026-03-14 06:25:13 -05:00
Xurkon 4600b95649 chore: remove workflow folder from tracking, add to gitignore 2026-03-14 06:24:42 -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 89c3b3173d v9.9.2 — Final pre-refactor release: update version, changelog, docs, and README 2026-03-04 22:15:23 -06:00
Xurkon 87d0b0c3bc fix: Add full Tanaris spawn data for Sandstone Giants NPCs 5467 and 5470
- NPC 5467 (Deep Dweller): Replace single spawn point with 28 locations
  scraped from Wowhead covering the eastern Tanaris coast area
- NPC 5470 (Raging Dune Smasher): Was nil in all databases, added 23
  spawn locations in the Abyssal Sands (southwest Tanaris)
- Fixes added to both classicNPCFixes.lua and tbcNPCFixes.lua
- Quest 50006 (Sandstone Giants) killCreditObjective already updated in
  previous commit to include all 4 giant NPCs (5466, 5467, 5469, 5470)

All four giant types now have correct spawn data for minimap pin display.
2026-03-04 17:38:09 -06:00
Xurkon 4ccce374d7 Docs: add loot bot tracking fix to v9.9.0 changelog 2026-03-04 16:36:58 -06:00
Xurkon a97c1daa2f Fix: loot bot item tracking - debounce BAG_UPDATE_DELAYED with follow-up scan 2026-03-04 16:31:33 -06:00
Xurkon 320a040a48 Docs: add map pins fix note to v9.9.0 changelog 2026-03-04 07:43:56 -06:00
Xurkon a562885c44 Fix: Sandstone Giants map pins - use killCreditObjective instead of creatureObjective 2026-03-04 07:10:20 -06:00
Xurkon 0055f84d11 Bump version to 9.9.0 and add Custom Ebonhold Quests 2026-03-04 06:45:02 -06:00
Xurkon a4cb621619 v9.8.9: Move Song of the Woods to Outland section in CHANGELOG 2026-03-02 21:36:48 -06:00
Xurkon 3771fed0dc v9.8.9: Expand CHANGELOG with complete quest list (55 quests across all zones) 2026-03-02 21:27:18 -06: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 50101a8e8e Bump version to 9.8.6 and add custom quests for Outland, Northrend, Kalimdor, Azeroth 2026-02-25 06:52:18 -06:00
Xurkon 8616765eed Update custom DB quests and bump version to 9.8.5 2026-02-24 20:52:12 -06:00
Xurkon 174c397cf2 Fix: Resolve nil HasRequiredRace in ZoneDB due to circular dependency 2026-02-24 17:20:34 -06:00
Xurkon ba6ef7e2df Fix: Add nil checks to QuestiePlayer:Initialize to prevent arithmetic errors on custom servers 2026-02-24 16:40:05 -06:00
Xurkon 7c99ce2a79 Fix: Resolve nil pairs error in Townsfolk initialization on custom servers 2026-02-24 16:10:01 -06:00
Xurkon 26bdefb46e Fix: Add missing QuestiePlayer import in QuestEventHandler, update docs, version 9.8.4 2026-02-22 13:08:41 -06:00
Xurkon 2921353534 Release v9.8.1: Corrected QuestieArrow flow for Forging An Alliance (12924) 2026-02-22 01:31:29 -06:00
Xurkon ee3e06da90 Release v9.8.0: Lootbot Tracker & Map Pins Fixes 2026-02-22 01:07:31 -06:00
Xurkon 5bee40b953 chore: release v9.7.12
- Fixed missing Finisher frame pool reset
- Fixed tracker force-complete race condition on custom quests
2026-02-22 00:09:21 -06:00
Xurkon 94ed16d7f0 Release v9.7.11 2026-02-21 23:42:42 -06:00
Xurkon c42945a1f8 Release v9.7.10 2026-02-21 22:52:51 -06:00
Xurkon 52c13b98aa Add debug print to Arrow to see evaluation values 2026-02-21 12:46:19 -06:00
Xurkon 7328771932 Add debug print to IsComplete for tricky quest 2026-02-21 12:43:21 -06:00
Xurkon 7aaf4d3495 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.
2026-02-21 12:32:36 -06:00
Xurkon 922fa8e0ff Fix Lua truthiness bug in QuestieDB.IsComplete
In Lua, 0 evaluates as truthy. The check
'if questLogEntry.isComplete then return questLogEntry.isComplete end'
was completely bypassing our fallback completion logic because
GetQuestLogTitle sets isComplete = 0 when a quest is incomplete.

This caused the arrow to still point to requiredSourceItems (like
the Cold Iron Key drops) because the quest was never being flagged
as 'isComplete=true' internally.

Fixed by explicitly checking for isComplete == 1 or isComplete == -1
before returning.
2026-02-21 12:18:45 -06:00
Xurkon 1248d7a1f6 Fix Arrow pointing to completed objectives instead of finisher
QuestieArrow._CollectObjective was only checking objective.Completed
to determine if it should skip an objective. In WotLK, the server often
doesn't send the completed flag until turn-in time.

This caused the arrow to still pick up the kill/interaction spawns (like
the 5/5 Goblin Prisoners) because their Completed flag hadn't been
set, overpowering the finisher spawn.

Added a fallback check: if objective.Collected >= objective.Needed,
skip the objective.
2026-02-21 12:07:07 -06:00
Xurkon 6d86a784e7 Set quest.isComplete when IsComplete==1 in GetAllQuestIds
QuestieArrow._CollectQuestTargets checks quest.isComplete (the quest
object field) to decide whether to collect finisher spawns or objective
spawns. Without setting this field, the arrow fell through to objective
collection and picked up the stale Cold Iron Key fake objective
(CheckQuestSourceItem) which resolves to NPC 29323 at 39.8, 72.7.

Now when QuestieDB.IsComplete returns 1, set quest.isComplete = true
and quest.WasComplete = true before PopulateObjectiveNotes, so the
arrow correctly routes to the finisher (Gretchen Fizzlespark) instead.
2026-02-21 11:59:34 -06:00
Xurkon 25f2ece139 Fix IsComplete: check numFulfilled==numRequired instead of finished flag
The finished flag in QuestLogCache is only set to true when the server
sends isComplete=1 via GetQuestLogTitle. For quest 12843 ('They Took
Our Men!'), after using all Cold Iron Keys the objectives numerically
complete (5/5) but isComplete=1 may not fire until the player visits
the turn-in NPC.

Use numFulfilled == numRequired as the completion check instead, which
updates from GetQuestLogLeaderBoard immediately when each objective
fills. Added numRequired > 0 guard to avoid trivially matching
zero-required objectives.
2026-02-21 11:44:32 -06:00