Skip to content

feat: add prototype quest progress loop#111

Merged
JOY (JOY) merged 1 commit into
devfrom
codex/prototype-quest-loop
May 21, 2026
Merged

feat: add prototype quest progress loop#111
JOY (JOY) merged 1 commit into
devfrom
codex/prototype-quest-loop

Conversation

@JOY
Copy link
Copy Markdown
Contributor

Summary

  • Add server-owned prototype quest state in Nakama with list, accept, and progress RPCs.
  • Gate the first demo quest reward behind validated quest completion before BodyTime can be claimed.
  • Wire nearby NPC chat to request prototype quest progress and refresh the HUD quest tracker.
  • Update ROADMAP tracking for the new prototype quest loop.

Local code review

  • Verdict: APPROVED WITH SUGGESTIONS.
  • No blocking findings.
  • Suggestion tracked for later: production quest progress should be triggered by Fusion/server-authoritative proximity and objective events, not by the prototype client-side chat bridge alone.

Verification

  • npm run build in backend/nakama
  • npm test in backend/nakama
  • dotnet build SecondSpawn.AI.csproj --no-restore
  • dotnet build SecondSpawn.UI.csproj --no-restore
  • git diff --check
  • Em dash scan on changed files
  • Restarted local second-spawn-nakama; healthcheck passed and new quest RPCs registered

@JOY JOY (JOY) merged commit 4199de7 into dev May 21, 2026
2 checks passed
@JOY JOY (JOY) deleted the codex/prototype-quest-loop branch May 21, 2026 04:41
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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";
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge 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 👍 / 👎.

Comment on lines +383 to +385
if (IsRouteOrGateQuestActor(actorId))
{
return "ask-route-or-gate";
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge 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 👍 / 👎.

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