feat: add prototype quest progress loop#111
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f9c7852416
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "Codex (@codex) review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "Codex (@codex) address that feedback".
| { | ||
| if (IsRouteOrGateQuestActor(actorId)) | ||
| { | ||
| return "ask-route-or-gate"; |
There was a problem hiding this comment.
Use canonical quest step IDs in NPC chat progress
ResolvePrototypeQuestStepId emits ask-route-or-gate / confirm-second-source, but the server quest catalog and progress path use ask_route_or_gate / confirm_second_source (backend/nakama/modules/index.ts, prototypeQuestCatalog and requirePrototypeQuestStep). Because normalizeQuestStepId does not convert hyphens to underscores, these chat-triggered progress RPCs hit unknown prototype quest step, so the new nearby-NPC chat loop cannot advance the quest and players can be blocked from reaching the reward-claim state through this intended path.
Useful? React with 👍 / 👎.
| if (IsRouteOrGateQuestActor(actorId)) | ||
| { | ||
| return "ask-route-or-gate"; |
There was a problem hiding this comment.
Choose incomplete step before routing quest progress
ResolvePrototypeQuestStepId always prefers route/gate actors over second-source actors, regardless of current quest progress. When both actor groups are nearby and the first step is already complete, chat keeps sending progress for the completed first step; the server treats completed steps as a no-op, so the second step never advances until the player leaves route/gate proximity. This can stall quest completion in mixed-NPC areas.
Useful? React with 👍 / 👎.
Summary
Local code review
Verification
npm run buildinbackend/nakamanpm testinbackend/nakamadotnet build SecondSpawn.AI.csproj --no-restoredotnet build SecondSpawn.UI.csproj --no-restoregit diff --checksecond-spawn-nakama; healthcheck passed and new quest RPCs registered