Skip to content

Remember repeatable Quest turn-ins so Breadcrumbs into them can lock - #2537

Open
Blackbear123 wants to merge 1 commit into
ATTWoWAddon:masterfrom
Blackbear123:fix/repeatable-quest-breadcrumb-locks
Open

Remember repeatable Quest turn-ins so Breadcrumbs into them can lock#2537
Blackbear123 wants to merge 1 commit into
ATTWoWAddon:masterfrom
Blackbear123:fix/repeatable-quest-breadcrumb-locks

Conversation

@Blackbear123

Copy link
Copy Markdown

Problem

LockedAsBreadcrumb tests IsQuestFlaggedCompleted(nextQuestID). The game unflags a
repeatable Quest the instant it is turned in, so that can never return true. A Breadcrumb
whose nextQuests are all repeatable can never be detected as locked.

The Quartermaster (7121) in Alterac Valley is the case in hand: nextQuests = {5892, 6982},
Irondeep Supplies and Coldtooth Supplies, both repeatable=1 in ATT's own data. Once either
has been handed in the Breadcrumb can no longer be picked up.

Turning off Locked Quests does not remove it either, because CollectibleAsLocked gates on
t.locked and nothing ever set it.

Fix

QUEST_TURNED_IN fires with the questID for repeatable Quests too, and is the only record
that will ever exist. It is remembered per character in currentCharacter.RepeatableQuests,
and the Breadcrumb and lockCriteria questID checks read it alongside the completion flag.
Only Quests some Breadcrumb points at are stored, so the saved variable cannot grow.

The game unflags a repeatable Quest the instant it is turned in, so
IsQuestFlaggedCompleted never reports one as completed. LockedAsBreadcrumb asks
exactly that question of every nextQuest, which means a Breadcrumb whose
nextQuests are all repeatable can never be detected as locked - it stays
collectible forever, and turning Locked Quests off does not remove it either,
because nothing ever marked it locked.

The Quartermaster (7121) in Alterac Valley is the case in hand: its nextQuests
are Irondeep Supplies (5892) and Coldtooth Supplies (6982), both repeatable.
Once either has been handed in the Breadcrumb can no longer be picked up, and
ATT has no way to know.

QUEST_TURNED_IN is the only record that a repeatable turn-in happened, so it is
now remembered per character, and the Breadcrumb and lockCriteria checks read
it alongside the completion flag. Only Quests some Breadcrumb points at are
stored, so the saved variable stays small.

This can only work from the turn-in onwards; a repeatable Quest handed in
before this change leaves no trace anywhere to recover.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@Exodius
Exodius requested a review from ImUnicke September 5, 2026 15:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant