Skip to content

Conversation

@bluebear94
Copy link
Contributor

@bluebear94 bluebear94 commented Nov 15, 2025

This PR adds a “progression mode” setting to quests1, which can either be linear (the default), where tasks can progress only when the quest is unlocked as before, or flexible, where tasks can progress even while the quest is locked, but rewards can only be claimed once the quest is unlocked. If all tasks are completed but the quest is still locked, the quest is put in a special “provisionally completed” status.

This setting is useful for quests that, for instance, require defeating rare mobs, since the quest can be completed even if the player defeats that mob too soon.

To do:

  • Add quest setting
  • Add basic implementation
  • Sync quest completion statuses on join (I might need help with this nvm found the issue)
  • Make rewards of provisionally completed quests be displayed as locked in RewardListWidget
  • Make sure that the provisional quest completion toast requires the quest in question to be visible (is this really needed?)

Footnotes

  1. Equivalent of the similarly named setting in FTB Quests, of course implemented without looking at its code.

@bluebear94
Copy link
Contributor Author

bluebear94 commented Nov 15, 2025

Started the implementation, but I wonder if we can have an unlocked field in QuestProgress so CompletableQuests doesn’t need the completedProvisionalQuests set. Plus, this makes it easier for RewardListWidget to correctly show rewards of provisionally completed quests as locked.

Also, we’ll need backgrounds for provisionally completed quests. I’ve done this by adjusting the brightness and contrast of the green versions; let me know if you all can do a better job at it.

@bluebear94 bluebear94 marked this pull request as ready for review November 19, 2025 02:07
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