Skip to content

Fix multiple starts of quests when in-party - #839

Open
rfortier wants to merge 2 commits into
tiltedphoques:devfrom
rfortier:fix/no-duplicate-quest-start
Open

rfortier wants to merge 2 commits into
tiltedphoques:devfrom
rfortier:fix/no-duplicate-quest-start

Conversation

@rfortier

@rfortier rfortier commented Dec 9, 2025

Copy link
Copy Markdown
Contributor

An update to PR #805 that fixes some additional cases.

Raise logging level and fix logs of quest progression to enable tracking this down.

Previously, multi-execution of quest stage entry was suppressed. But multi quest starts weren't. This is a problem when a quest start has side effects that advance quest stage; as the party members started their quests, the stage-rewind would reflect back to the leader, allowing quest stage side effects to happen again.

Also added fix to debugger to force setStage. This is needed so leader can set the stage to the stage they are at, and not have it suppressed so it is sent to party.

Regularized quest logging so you can import into a spreadsheet, break fields on colon and comma (:,)

@rfortier
rfortier marked this pull request as draft December 9, 2025 17:47
Raise logging level and fix logs of quest progression.

Previously, multi-execution of quest stage entry was suppressed. But multi quest starts weren't. This is a problem when a quest start has side effects that advance quest stage; as the party members started their quests, the stage-rewind would reflect back to the leader, allowing quest stage side effects to happen again.

Also added fix to debugger to force setStage. This is needed so leader can set the stage to the stage they are at, and not have it suppressed so it is sent to party.

Regularized quest logging so you can import into a spreadsheet, break fields on colon and comma (:,)
@rfortier
rfortier force-pushed the fix/no-duplicate-quest-start branch from 081ce9a to bcc5ae9 Compare December 9, 2025 17:50
@rfortier

rfortier commented Jan 7, 2026

Copy link
Copy Markdown
Contributor Author

Closing, this is about to be replaced with a far more complete PR.

@rfortier rfortier closed this Jan 7, 2026
@rfortier rfortier reopened this Jan 25, 2026
@rfortier

rfortier commented Jan 25, 2026 •

Copy link
Copy Markdown
Contributor Author

Reopening. This is the most recent version of quest stage multiple-trigger suppression (such as for The Way Of The Voice) that predates the full deduplication logic that follows it (but I was optimistic about how close to completion it was).

This one is safe to merge while still polishing its successor.

@rfortier
rfortier marked this pull request as ready for review January 25, 2026 20:04
absol89 added a commit to absol89/TiltedEvolutionScriptFixes that referenced this pull request Jul 8, 2026
@GhostWriter42

Copy link
Copy Markdown
Contributor

Hey @rfortier, this one conflicts with current dev now, in both client and server QuestService.cpp: the client side from the overlay early-return in #909, the server side from the log cleanup in d2eaf9b. On Jan 25 you said it's safe to merge while you're still polishing its successor, so I rebased your two commits onto dev. The idea is just to keep the interim fix mergeable alongside #848:

Your commits still have you as the author and keep your original message (I only added a short rebase note at the end). When resolving the conflicts I kept the #909 early-return and left the server quest logs at debug like dev has them, using your new format. Easy to flip back to info if you want. I also fixed a small typo in the misc-sync log, a ; that should have been a ,.

There's one tiny optional commit on top. In OnQuestUpdate's Stopped case it uses StopQuest's return value instead of overwriting bResult with true after the if/else. No behaviour change, since StopQuest only fails on the GetById lookup that's already checked above, and #848 already does wasUpdated = StopQuest(formId). Easy to drop if you'd rather not have it.

I haven't compiled this or tested it with 2 clients. Not a competing PR, it's just there if it saves you some time.

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.

2 participants