-
Notifications
You must be signed in to change notification settings - Fork 0
Guide Chains
A guide chain is a multi-step quest. Each step has its own trigger. The chain advances one step at a time — step 2 only becomes active after step 1 fires, and so on. The chain is complete when the final step fires.
Active chains appear in the HUD tracker and in the Codex.
Add a steps list to a guidance entry. When steps is present, the parent entry's trigger, display, and once fields are ignored — each step has its own trigger and message.
- id: forge_bronze
title: "The Bronze Age"
category: "Progression"
steps:
- trigger: { type: item_acquired, item: CopperOre }
message: "Mine Copper from deposits in the Black Forest."
- trigger: { type: craft, item: Bronze }
message: "Smelt Copper and Tin at a Smelter to make Bronze."
- trigger: { type: craft, item: SwordBronze }
message: "Craft a Bronze Sword at the Forge."The player sees step 1's message when they pick up their first Copper Ore. Once that fires, step 2 activates, and so on.
Each step in the steps list supports:
| Field | Type | Description |
|---|---|---|
trigger |
TriggerSpec | What causes this step to advance. |
message |
string | Text shown when this step fires. Supports {playerName} etc. |
display |
DisplaySpec | Override the default display mode for this step (optional). |
description |
string | Tooltip shown when hovering the HUD tracker row for this step. |
progress_goal |
int | If > 0, this is a counter step — fires only after this many trigger events. |
progress_trigger |
TriggerSpec | The trigger counted toward progress_goal. Required when progress_goal > 0. |
progress_label |
string | Label shown in the progress bar (e.g. "Trophies", "Kills"). |
A counter step requires the player to perform a trigger action multiple times before advancing.
- id: troll_trophy_quest
title: "Troll Hunt"
category: "Bounties"
steps:
- trigger: { type: npc_interacted, npc: Haldor }
message: "Haldor wants Troll Trophies. Bring him 3."
- trigger: { type: npc_item_submit, npc: Haldor, item: TrollTrophy, count: 3 }
message: "Trophies delivered! Haldor rewards you."Or using a progress_goal counter:
steps:
- trigger: { type: biome, biome: BlackForest }
message: "Hunt 5 Trolls in the Black Forest."
progress_goal: 5
progress_trigger:
type: kill
creature: Troll
progress_label: "Trolls"
- trigger: { type: entry_finished, entry: troll_hunt_chain }
message: "Quest complete! Return to camp."The progress bar in the HUD tracker shows Trolls: 2 / 5 as the player kills them. The step fires when the counter reaches progress_goal.
Inventory seeding for
item_acquired: Whenprogress_trigger.typeisitem_acquired, the counter is seeded from the player's current inventory the moment the step activates — so any qualifying items already carried count immediately toward the goal. If the player already holds enough to meetprogress_goal, the step fires right away without waiting for another pickup.
Add a rewards list to the parent entry to grant rewards when the final step completes:
- id: forge_bronze
title: "The Bronze Age"
rewards:
- type: skill_exp
skill: Swords
amount: 500
- type: buff
effect: SE_Rested
duration_override: 600
steps:
- trigger: { type: craft, item: Bronze }
message: "Smelt Bronze."
- trigger: { type: craft, item: SwordBronze }
message: "Forge a Bronze Sword."See Reward System for all reward types.
Set discord_on_complete: true to post a Discord webhook when the chain finishes:
- id: boss_prep_chain
title: "Prepare for Eikthyr"
discord_on_complete: true
announce:
discord: "**{playerName}** has completed the Eikthyr preparation quest!"
steps:
...While a chain is in progress, the HUD tracker (top-right by default) shows:
- The chain's
title - The current step's
message(truncated if long) - A progress bar for counter steps
- Hovering the row shows the step's
descriptiontooltip (if set)
Once the final step fires, the chain row shows a completion animation and is removed from the tracker after a short delay.
The tracker badge (corner hint) shows the count of active chains even when the tracker panel is hidden.
Chains can trigger each other. Use trigger.type: entry_finished to start a follow-up entry or chain when another completes:
- id: reward_forge_bronze
trigger:
type: entry_finished
entry: forge_bronze # fires when the forge_bronze chain completes
display:
mode: message
position: Center
text: "Quest complete! Rewards granted."
rewards:
- type: item
item: SwordBronze
amount: 1
quality: 2This separates reward delivery from the chain itself, which is useful when you want the reward entry to have its own display message.