complete Action

Marks a quest as successfully completed. Updates the quest status to "completed" in the Campaign Cookbook and triggers rewards or next quest availability.

Syntax

complete:Quest Name Here
Important: The quest name must exactly match the name field of a quest template in the current episode's questTemplates array. Case-sensitive, including spaces and punctuation.

Basic Usage

{ "text": "Report success to the quest giver", "nextScene": "ep1-scene7-reward", "questActions": ["complete:Stop the Bandits"] }

When to Use

Use the complete action when:

Effects

When a quest is completed:

  1. Quest status changes from "active" to "completed"
  2. Quest moves to the "✅ Completed" group in the Party Sheet's Quest Log
  3. Party receives rewards (if defined in quest object)
  4. Next quests may become available (if dependencies defined)

Complete Example

{ "sceneId": "ep1-scene8", "title": "Victory and Rewards", "readAloud": "<div class='read-aloud'><p>You return to {nearestBurg} triumphant. The bandits have been defeated, and the merchant caravan is safe.</p><p>Gareth greets you with a broad smile and a pouch of gold coins. 'You've done {nearestBurg} a great service,' he says. 'Take this reward - you've earned it.'</p></div>", "choices": [ { "text": "Accept the reward (100 gold)", "nextScene": "ep1-scene9-rest", "questActions": ["complete:Stop the Bandits"] }, { "text": "Refuse payment and ask for information instead", "nextScene": "ep1-scene9-info", "questActions": ["complete:Stop the Bandits"] } ] }

Quest Definition

The quest name in the complete action must match a quest template defined in the current episode's questTemplates array:

"questTemplates": [ { "name": "Stop the Bandits", "type": "combat", "description": "Defeat the bandit group threatening {nearestBurg}", "rewards": { "gold": 100, "xp": 250 } } ]
Quest Matching: When the complete action executes, the system searches for a quest with name "Stop the Bandits", changes its status to "completed", and displays rewards.

Multiple Quest Completion

You can complete multiple quests with a single choice:

{ "text": "Report your victory", "nextScene": "ep2-scene1", "questActions": [ "complete:Stop the Bandits", "complete:Rescue the Captives" ] }

Branching Completion Paths

Offer multiple ways to complete a quest with different rewards:

{ "sceneId": "ep1-scene7", "title": "The Bandit Leader", "readAloud": "<div class='read-aloud'><p>The bandit leader kneels before you, defeated but alive.</p></div>", "choices": [ { "text": "Spare his life and take him to the authorities", "nextScene": "ep1-scene8-mercy", "questActions": ["complete:Stop the Bandits"] }, { "text": "Execute him for his crimes", "nextScene": "ep1-scene8-justice", "questActions": ["complete:Stop the Bandits"] } ] }
Tip: Both choices complete the quest, but lead to different narrative outcomes. This allows players to roleplay their characters while still progressing the story.

Conditional Completion

Use DC checks or conditions to gate quest completion:

{ "sceneId": "ep1-scene6", "title": "The Final Push", "readAloud": "<div class='read-aloud'><p>The bandit hideout lies ahead. One final assault will end this threat.</p></div>", "choices": [ { "text": "Charge in with weapons drawn (DC 13 Athletics)", "nextScene": "ep1-scene7-success", "questActions": ["complete:Stop the Bandits"] }, { "text": "Fail the check and retreat", "nextScene": "ep1-scene7-failure" } ] }

Best Practices

1. Match Quest Names Exactly

✓ Good: complete:Stop the Bandits
✗ Bad: complete:stop the bandits (wrong case)
✗ Bad: complete:Stop the Bandit (wrong pluralization)

2. Complete at Narrative Endpoints

✓ Good: Complete when returning to quest giver
✓ Good: Complete when final objective is achieved
✗ Bad: Complete in the middle of the quest

3. Provide Satisfying Resolution

Always include narrative closure when completing quests:

✓ Good: "Gareth thanks you for your service and hands you a pouch of gold."
✗ Bad: "Quest complete." (no narrative payoff)

4. Consider Rewards

Ensure rewards are appropriate for the quest difficulty:

"rewards": { "gold": 100, // Level-appropriate gold "xp": 250, // Balanced XP reward "reputation": 10 // Optional faction standing - a plain number, or {faction, value} }

Common Mistakes

Completing Inactive Quests

Error: Trying to complete a quest that was never accepted

Always ensure the quest was accepted before completing it:

Scene 2: questActions: ["accept:Stop the Bandits"]
...
Scene 8: questActions: ["complete:Stop the Bandits"] ✓ Correct order

Completing Already-Completed Quests

The system will ignore duplicate completions, but avoid this pattern:

✗ Bad: Completing the same quest in multiple scenes

See Also