Quest Actions
Quest Actions allow you to control quest state transitions (accept, complete, fail) through player choices in your campaign. Quest progression is driven by explicit choice buttons, not hardcoded scene numbers.
How Quest Actions Work
When a player selects a choice with quest actions:
- The Campaign Cookbook processes each quest action in order
- Quest state is updated (accepted → active, active → completed, etc.)
- Rewards are allocated (for complete actions)
- The change is logged to that party's local quest log, visible in the Party Sheet's Quest Log section
- The scene transitions to the next scene
Available Actions
| Action | Description | Syntax |
|---|---|---|
| accept | Marks quest as accepted/active | accept:Quest Name |
| complete | Marks quest as completed, allocates rewards (gold, XP, items) | complete:Quest Name |
| fail | Marks quest as failed (no rewards) | fail:Quest Name |
Basic Syntax
Quest actions are added to the questActions array in a choice object:
"action:Quest Name"
action- One of: accept, complete, failQuest Name- Exact name from episode'squestTemplates- Use a colon
:to separate action from quest name
Quest Name Matching
Quest actions use the quest name from the episode's questTemplates:
Then in your scene:
Multiple Quest Actions
You can trigger multiple quest actions from a single choice. Actions are processed in order:
This completes one quest and immediately starts the next, creating a seamless story flow.
Complete Example: Quest with DC Check
Quest State Flow
Quest actions move quests through these states:
Successful Quest Flow
Initial State: Available (defined in episode questTemplates)
After accept: Active (quest appears in the Party Sheet's Quest Log)
After complete: Completed (rewards allocated, quest log updated)
Failed Quest Flow
Initial State: Available
After accept: Active
After fail: Failed (no rewards, marked as failed in the quest log)
When Quest Actions Execute
Quest actions are processed before the scene transition. This ensures:
- The quest log updates before the next scene displays
- Rewards are allocated before new scene content
- Quest state is consistent throughout navigation
Best Practices
Accept Before Complete
Always accept a quest before trying to complete it:
✗ Bad: Scene 5: complete:Quest (never accepted)
Use Exact Quest Names
Quest names in actions must exactly match names in questTemplates:
✗ Bad: "accept:Missing Merchant" (missing "The")
✗ Bad: "accept:the missing merchant" (wrong case)
One Action Type Per Quest
Don't mix complete/fail in the same choice:
✗ Bad: ["complete:Quest A", "fail:Quest A"]
Provide Failure Paths
Always include failure options for DC checks:
Choice 2: FAIL → fail
✗ Bad: Choice 1: PASS → complete (no failure option)
Common Patterns
Simple Quest Acceptance
Quest Completion with Rewards
Chain Quests
DC Check Branching
See Also
- accept Action - Detailed accept documentation
- complete Action - Detailed complete documentation
- fail Action - Detailed fail documentation
- Branching Story Example - Complete DC check example
Ending a campaign
A choice with no nextScene does not end anything — the
story simply stays on the current scene. To actually finish a campaign,
say so:
{
"text": "The Demon Prince is destroyed. The realm is saved.",
"questActions": ["complete:The Final Battle"],
"endsCampaign": "victory"
}
| Value | Means |
|---|---|
victory | The party saw it through. |
defeat | They lost. The story is finished, but not won. |
abandoned | They walked away. It closes unfinished. |
Three outcomes rather than a simple flag, because finished and completed are different facts. A campaign the party lost is over, and a session summary that called that a victory would be telling the table something false about their own game.
nextScene.
Pointing a choice at a scene they have already played is how a refused
offer returns them to where they were — there is no separate
“go back” field, because that is just a destination that
happens to be behind them. The
Campaign Writer marks those with
↵ so you can see them.
endsCampaign first, so a choice carrying both ends the
campaign and its nextScene is never reached. The validator
reports it.
A choice with neither a destination nor an ending is legal — the
scene stays put, which is sometimes what you want for a choice that only
fires a quest action. But it is ambiguous to read, and it looks exactly
like a forgotten nextScene, so the Writer flags it for you
to confirm.