Commit Graph

17 Commits

Author SHA1 Message Date
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 2921353534 Release v9.8.1: Corrected QuestieArrow flow for Forging An Alliance (12924) 2026-02-22 01:31:29 -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 7328771932 Add debug print to IsComplete for tricky quest 2026-02-21 12:43:21 -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 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
Xurkon 9890343616 Fix IsComplete returning 0 when all objectives are finished
The inline ternary short-circuited to 0 as soon as objectives[1]
existed, regardless of whether all objectives were done. This caused
quests using consumable key items (e.g. Cold Iron Key for quest 12843)
to incorrectly return IsComplete=0 after using the key, since the key
is no longer in the bag (CheckQuestSourceItem=false) and
questLogEntry.isComplete is not set by the server until after
explicit turn-in.

Now iterates questLogEntry.objectives and returns 1 if all are
finished, so PopulateObjectiveNotes routes to AddFinisher correctly.
2026-02-21 11:28:14 -06:00
Xurkon b1d79ee31e Fix missing objective data for complete-quests-in-zone quest types
Add [9] triggerEnd field to all 9 complete-N-quests quests (50151, 50145,
50098, 50100, 50149, 50099, 50108, 50111, 50150). QuestieDB.GetQuest maps
rawdata[9] to triggerEnd, which appends ObjectiveData[1]={Type='event'}
satisfying PopulateQuestLogInfo when server sends one objective. No map
pins are drawn since coordinates are nil.

Also removed unnecessary all-nil [10] objectives table from quest 50111.
2026-02-20 22:12:54 -06:00
Xurkon dd6329de97 Docs: Update Changelog with new Ascension quests 2026-02-18 22:49:11 -06:00
Xurkon 86f9b39a8d Fix Lua syntax error - missing closing brace in EbonholdNpcDB.lua 2026-02-17 16:49:47 -06:00
Xurkon bdd3119762 Ebonhold v9.7.4: Add new quests and fixes 2026-02-17 06:51:49 -06:00
Xurkon 69bba6e756 Add missing spawn data for Quest 50031 Stormbound elementals 2026-02-16 16:55:11 -06:00
Xurkon a113070b7d Release v9.7.3 2026-02-15 09:08:51 -06:00
Xurkon 6ef85d4e2d v9.7.2: Ebonhold Database integration and core logic refinements 2026-02-14 21:13:44 -06:00