feat(Function): mission system framework - #380
Merged
Merged
Conversation
…ion base to fit the branching objective, fix objective text of branching objective
…rglow into common/npc_mission
…r word wrap functions
…as the primary condition
- Fix rotation issues - Add click-to-select functionality - Remove unused overrides
…rglow into common/npc_mission
… in objectives to simplify data structure, optimize file organization
… load method to utils
…ponding unit tests, add comments in mission base
…rglow into common/npc_mission
- Fix vfx draw position - Add mouse text for each selection - Add comments for readability
CloudeaSoft
marked this pull request as ready for review
September 4, 2026 08:39
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 9 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 67b0b33. Configure here.
The town-NPC scratch projectile still exists; keep its localization key and drop the unrelated SlashProjectile3D name. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Walk-distance objectives only tick every UpdateInterval frames, so a single velocity sample undercounted travel. Scale by the interval instead of position deltas so teleports do not complete the objective. Co-authored-by: Cursor <cursoragent@cursor.com>
Zeroing stack left the item type in place, so handed-in stacks still occupied inventory slots. Co-authored-by: Cursor <cursoragent@cursor.com>
CloudeaSoft
enabled auto-merge (squash)
September 4, 2026 09:51
Omnielement
approved these changes
Sep 4, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Note
High Risk
Large new gameplay subsystem touching player/world persistence, rewards, hooks, and multiplayer authority—save compatibility and sync edge cases need careful review.
Overview
Introduces a full Quest subsystem under
Everglow.Function/Mechanics/Quest/, replacing the old Mission paths and docs references with Quest naming (QuestSystemtests,QUEST_SYSTEM_DESIGN.md, QuestAGENTS.md).Player-side quests get managers, state machines, objective DSL (sequential, parallel, optional, branch), concrete objectives (kill, collect, consume, explore, talk, give item),
ModPlayer/GlobalNPC/GlobalItemhooks, save/load viaTagCompound, and DEBUG sample quests. World-side quests (manager, objectives, MP sync, per-player reward claims) are wired through the same Presentation layer: adapters build read-onlyQuestView/QuestActionsnapshots,QuestPresentationServicequeries and executes actions, andQuestPresentationSystemfans out UI notifications and quest panel updates.Supporting changes: FontStashSharp.FNA reference and
*.ttfmod pack whitelist for quest UI drawers; minor en-US localization tweaks; contributor guides updated for Quest-focused verification (dotnet test --filter "FullyQualifiedName~QuestSystem").Reviewed by Cursor Bugbot for commit 67b0b33. Configure here.