GM Fear, Adversaries, and Spotlight
Query Use
Use this when the GM needs to spend Fear, place or inspect threats, or move combat pressure through spotlight.
When To Use
- Fear is being spent through a direct move, adversary feature, environment feature, or adversary experience.
- A new adversary should be placed on the current scene board.
- Ongoing pressure should be tracked openly as a visible countdown.
- The GM needs to understand which threats are active and who currently owns spotlight.
Required Reads
- Read the current board with
daggerheart_combat_board_readbefore spending Fear or framing spotlight-sensitive narration. - Do not consult this playbook until Fear, spotlight, or visible board pressure is actually relevant on the turn.
- If the board reports
NO_ACTIVE_SCENE, diagnose withinteraction_state_readand correct the active scene before improvising new threats. - Read exact rule wording with
system_reference_searchandsystem_reference_readonly when the move taxonomy or spotlight procedure needs confirmation.
Tool Sequence
- Inspect the current board with
daggerheart_combat_board_read. - Place threats with
daggerheart_adversary_createif the fiction requires a new adversary. - Update scene-specific threat notes with
daggerheart_adversary_updatewhen the board should reflect a changed threat posture. - Create or advance open pressure clocks with
daggerheart_scene_countdown_createanddaggerheart_scene_countdown_advance. - If a countdown reaches
TRIGGER_PENDING, resolve that pending trigger withdaggerheart_scene_countdown_resolve_triggerbefore narrating the next beat that depends on its looped or cleared state. - Spend Fear with
daggerheart_gm_move_applywhen the spend target is known. - Re-read the board if the next beat depends on updated spotlight, Fear, countdown, or adversary state.
- If the board shows
TRIGGER_PENDING, resolve that countdown trigger before narrating as though the looped or reset state is already visible.
Board Fields That Matter
gm_fearspotlightscene_idcountdownsadversaries[].idadversaries[].scene_idadversaries[].featuresadversaries[].spotlight_countadversaries[].spotlight_gate_id
GM Move Heuristics
- Spend Fear to change the situation, not just to tax numbers.
- Prefer named adversary or environment features before improvising a looser move.
- Keep spotlight movement legible to the players after each meaningful threat activation.
Scenario Examples
internal/test/game/scenarios/systems/daggerheart/gm_fear_adversary_feature.luainternal/test/game/scenarios/systems/daggerheart/adversary_spotlight.luainternal/test/game/scenarios/systems/daggerheart/full_example_spotlight_sequence.luainternal/test/game/scenarios/systems/daggerheart/gm_fear_spend_chain.luainternal/test/game/scenarios/systems/daggerheart/countdown_lifecycle.luainternal/test/game/scenarios/systems/daggerheart/countdown_variants.luainternal/test/game/scenarios/systems/daggerheart/countdown_linked_pair.luainternal/test/game/scenarios/systems/daggerheart/gm_move_artifact_chase.luainternal/test/game/scenarios/systems/daggerheart/chase_countdown_ring.luainternal/test/game/scenarios/systems/daggerheart/progress_countdown_climb.lua
Common Failure Modes
- Spending Fear without checking the current board or available feature state.
- Inventing a threat that should have been created as an adversary.
- Leaving a countdown in
TRIGGER_PENDINGand narrating as if the reset or loop behavior already happened. - Forgetting to reflect spotlight ownership in the next narrated prompt.