# Game Master's Guide

Canonical internal rules, balance and content reference for **Tales from Oddwater**, Build 7, reconciled 2026-09-18. Contains spoilers. Read the [Player's Handbook](Players-Handbook.md) as the player-facing portion of this guide; its rules also apply here. This file adds exact formulas, exceptions, hidden information and the complete current gameplay catalogs. Maintain both references with every relevant gameplay change. Subsystem guides remain authoritative implementation instructions; this guide records the design implemented by those systems.

## Contents

- [Global Rules](#global-rules): combat, resources, progression, economy, travel, challenges, persistence.
- [Global catalogs](#global-catalogs): heroes, abilities, spells, consumables, training, rank and attire.
- [Adventure-Specific Content](#adventure-specific-content): Forsaken Woods creatures, encounters, routes, rewards, challenge content, narrative gates and Watchtower design.
- [Authoring and verification](#authoring-and-verification): templates, asset contracts, compatibility and maintenance.

## Global Rules

### Combat, dice and turn lifecycle

Initiative is a fixed integer, descending across heroes and enemies; no initiative roll occurs. Equal scores compare equal in the current list sort: there is no authored hero-first tie rule. Dead actors are skipped. A round advances when the order wraps. One normal action completes the actor's turn; multiattack enemies perform separate strikes before the turn completes. Frozen skips consume the whole turn.

Attack: roll uniform integer 1–20. Total = natural roll + actor Attack + action accuracy + target Exposed - actor AccuracyPenalty - actor FumbleAttack - actor Entangled. Exposed and FumbleAttack are consumed by this attempt, even if it misses. Natural 1 fumbles, natural 20 hits critically; otherwise total >= target Armor hits. Critical damage maximizes the damage die, without multiplying it or the bonus. Ordinary damage is uniform dDie + Bonus + action extraDamage, then elemental adjustment. Spells with damage effects apply automatically, rolling their damage independently for every living target. Visual dice randomness never consumes combat RNG.

Effective Armor = base Ac + (Vanished ? 5 : Defending ? 3 : 0) + max(Guard, Ward) - FumbleArmor - OffBalance. Defend expires at the actor's next turn beginning. Vanish and personal Defend do not stack. Shield Wall and ordinary armor buffs use the larger amount. Ordinary Guard/AccuracyPenalty duration decrements at each recipient turn beginning; duration 2 expires as the second upcoming turn begins. Entangled/OffBalance expire at the end of the affected actor's next completed turn.

Enemy AI normally chooses a uniform random living hero for each strike. Multiattack selects independently each time. Support healing precedes ordinary attacks. A configured timed action precedes support, after the Frozen check. Veyr's separate established Dreadbell behavior is described below. No generic immunity, taunt, threat table, player dodge roll or elemental-status mapping is inferred.

### Elements and statuses

Elements: Fire, Frost, Void, Holy, Wind, Earth. Empty element is physical. Let A be pre-element damage: no element or both/neither weakness and resistance gives max(0,A); weakness alone gives max(1, floor((3A+1)/2)); resistance alone gives max(1, floor(A/2)). These are damage rules, not changes to hit chance. Damage is clamped by remaining HP when subtracting, while feedback reports the computed amount.

Freeze is a single boolean: at the next applicable turn it clears, logs the skip, emits THAWED, and completes the turn without an action or resource expenditure. Reapplication refreshes, never queues skips. Poison ticks before the Freeze check and can kill first. Shield Wall counts a frozen enemy's completed skip. Freeze is combat-owned and saved in the combat snapshot; poison also copies to persistent hero state between battles.

Elemental Freeze mitigation is explicitly opt-in per effect: resistanceMitigatesFreeze plus resistedFreezeChance. An independent integer roll 0–99 is compared with the appropriate chance. Resistance is detected from the actual target's Resistances and effect.element. Weakness does not raise status odds or cancel this mitigation. FROST RESIST is emitted only when the roll would have frozen at the base chance but not at the reduced chance; a roll outside both chances emits RESIST. Success emits FROZEN. There is no additional resistance roll.

**Scope decision:** Grave Chill is 33% normally and 10% with Frost resistance. Blizzard stays at 40% on a surviving target, irrespective of Frost resistance. Applying an invented global reduction to Blizzard would materially change established spider/boss control balance; no alternate Blizzard chance was approved. Both use the same Freeze resolver, and an explicitly authored resisted chance can be added later. Winter Circle has no Freeze rider. Gale and Stone Mantle do not receive invented resistance interactions.

Poison is nonstacking; only a positive-damage hit on a surviving unpoisoned target rolls the configured chance. Poison deals its amount at each combat turn beginning and may be lethal. Healing/revive cures it, including a heal on a living full-HP poisoned target. It does not tick during ordinary walking. On-hit Entangled/OffBalance similarly require a surviving target and positive damage, use their own chance, and keep the maximum existing magnitude. They last through the next completed personal turn.

Shield Wall records every living enemy's next completed turn, even enemies that acted earlier in the casting round. Dead enemies stop counting. Refresh replaces that pending set; base AC is untouched. It grants IsDefended in addition to AC. Dreadbell halves for IsDefended; ordinary automatic spell damage does not.

### Critical miss catalog

Eligible entries are weighted. STUMBLE is excluded when the actor has no resource, and weights are renormalized. The five penalty entries each have weight 1; harmless miss weight 3. With resource, each penalty is 1/8 and harmless miss 3/8, conditional on natural 1. Without resource, four penalties are each 1/7 and harmless miss 3/7.

| ID | Result | Consequence | Magnitude | Duration | Weight |
| --- | --- | --- | --- | --- | --- |
| offBalance | OFF BALANCE | armor | 2 | 1 | 1 |
| overextended | OVEREXTENDED | attack | 2 | 1 | 1 |
| selfInjury | SELF-INJURY | selfDamage | 5 | 1 | 1 |
| stumble | STUMBLE | resource | 1 | 1 | 1 |
| exposed | EXPOSED | exposed | 2 | 1 | 1 |
| missed | JUST PLAIN MISSED | none | 0 | 1 | 3 |

Armor penalty ends at the next turn beginning. Attack penalty is consumed on the next attack, with a two-start countdown at creation to allow the next personal turn. Exposed adds +2 to the next incoming attack or expires at the next turn beginning. Self-injury is floor(maxHP×5/100), at least 1 and at most HP−1; it cannot kill. Resource loss is at most the available amount.

### Character formulas and progression

For level L, attack training A, health training H, resource training R, weapon rank W and armor rank D:

- MaxHP = baseHP + 3(L−1) + 3H.
- Attack = baseAttack + (L−1) + A.
- Base AC = baseAC + equipped legacy armor item bonus + D×armor.bonusPerRank.
- Damage = base damage die + base bonus + equipped legacy weapon item bonus + W×weapon.bonusPerRank.
- Maximum resource = (base mp == 0 ? stamina default 2 : max(2,base mp)) + R.
- Initiative and damage die do not rise with level or training. Spell dice/bonuses do not inherit weapon rank.

Level cap 12. Guild level-up costs 60×current level XP, subtracts it, raises level, adds 3 current HP only when alive. Ordinary GrantReward has an intentional documented implementation distinction: a level-1 survivor at >=60 XP auto-promotes to level 2 without XP subtraction. No further automatic level-up occurs. Wish XP is added directly and does not invoke that auto-promotion. No established expected Watchtower equipment/level budget exists; avoid pretending all Companies arrive with a fixed loadout.

Upgrade cost at current rank r is baseCost + step×r²; cannot buy at cap. Stat improvements are +1 Attack, +3 MaxHP/current living HP, or +1 resource capacity/current resource. Weapon and armor ranks add their configured bonusPerRank. Cost sequences below list purchases from rank zero.

### Rewards, economy and recovery

Company gold and each surviving active hero's XP gain are ceil(base reward×tier.rewards), not divided among survivors. Dead heroes and reserves gain none. Routine authored treasure provisions are 0 or 1, unscaled. Challenge provisions/items obey caps. Noncombat chests roll once at 1/chestBonusOneIn = 1/6; a success chooses uniformly from all four shop consumables (each unconditional probability 1/24). A full selected stack converts to ceil(15×tier.rewards) gold; no reroll. Combat and encounter-chest rewards do not use this bonus. Committed resolution/receipts and ledger guards prevent duplicate payouts on redraw, reload or repeated commands.

New Company: 40 gold, 3 provisions, 4 shared Healing Potions; initial levels 1, XP 0, training/gear ranks 0, no elemental attunements/resistances. Ordinary rests refill living active HP/resources and cure poison free. Camps are once per site per run; passing a camp retains later eligibility. No rest revives or replenishes the shared pouch. Legacy per-character draught state remains compatibility data.

Temple resurrection costs 30 at every current tier, restores full HP and cures poison, but does not refill resources. Recall the Fallen gives d6+3 HP capped at maximum. Emergency mercy occurs only when no unlocked living roster member remains: first active member gets 1 HP and poison clears free. Living reserves suppress mercy.

Flee requires a valid living hero action and one provision; costs floor(gold/20), retains wounds, leaves combat unresolved and does not additionally charge voluntary travel. Defeat costs floor(gold/10), retains death and sends the party to the Temple. Voluntary town travel consumes one provision if available, otherwise min(gold,50,ceil(gold×10/100)); zero gold never traps a Company.

Wishing Well: returning to town after battleSinceTown rolls 1/400 if no wish is currently available. The opportunity persists until used. Costs 1 gold and consumes availability: choose +5000 gold or +1000 XP to each living active hero. These fixed grants are not tier-scaled.

### Travel, dialogue, challenges and saves

Map inspection and travel eligibility are separate. Opening the map in combat pauses normal combat advancement in the view and never grants travel. Entrance/resolved-exit gates and mandatory points still apply. Eligible unlocked revisits may be non-adjacent; arrival starts at position 0, while closing preview or restoring a save keeps exact travel. Branch exclusions persist throughout the run. Resolved points cannot replay rewards; optional skipped points may be revisited.

Dialogue pages are authored, cached and paged. Ordinary repeat conversations open the last page. repeatFromStart restarts a question hub; page IDs, choices and next-page links supply branches. A clue is only granted by its authored conversation choice. Talking to an optional NPC does not resolve the location exit.

Challenge success is d20 + baseModifier + each matching modifier >= DC. No critical 1/20. Requirements AND together; empty requirements pass. Living active hero, owned artifact, minimum consumable/gold/provisions, resolved node and run flag are supported conditions. Six skills are labels, without independent character skill stats: Might, Finesse, Wits, Presence, Survival, Arcana. Outcomes can grant scaled gold/XP, capped provisions/items, nonlethal party damage, or set a run flag. Success and failure both persist one receipt and resolve; Leave does neither. Required challenges must keep an unconditional approach.

Campaign owns roster, currency, resources, training, attire, inventory, artifacts, reputation, records. Adventure owns tier, highest completion, routes, positions, resolved points, camps and challenge receipts. Next difficulty/replay resets the run, retains Company and other adventure records, restores living active members and keeps dead members dead. New campaign resets all; cosmetic carryover is currently off. Adventure 2 is a nonplayable preview; storage support does not imply a second playable pack.

Save version remains 1. Campaign GUID directories isolate resume autosave, quick and three manual slots. Autosave supports interruption; explicit save/load establishes the discard checkpoint. Leave Without Saving restores it to resume without overwriting independent slots. Atomic writes/backups, restore rollback and future-version refusal remain required. Combat saves keep HP/resources/status, pending action, turn, round and skillReady, but do not preserve RNG state; a reload preserves resolved outcomes, not an identical future random stream. Legacy distinct-count compositions preserve actor ordering; never reorder IDs or content arrays casually.

## Global catalogs

### Heroes

Base level-1 values, before gear/training. First six are initial roster; Xov is recruited. Stable IDs are technical contracts, not player names.

| ID | Name / role | HP | AC | ATK | Damage | Init | Resource | Skill / starter |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| aldric | Alaric / Fighter | 20 | 15 | 4 | d8+2 | 15 | 2 stamina | Power strike;  |
| mara | Markovia / Cleric | 18 | 14 | 3 | d6+2 | 11 | 3 mana | Mending prayer; mend |
| fen | Vestin / Rogue | 14 | 13 | 5 | d6+2 | 18 | 2 stamina | Aimed shot;  |
| elowen | Mystere / Mage | 12 | 12 | 4 | d8+1 | 7 | 3 mana | Blizzard; blizzard |
| rowan | Thoradin / Fighter | 22 | 14 | 3 | d8+2 | 15 | 2 stamina | Shield Wall;  |
| vesper | Spargle / Mage | 10 | 12 | 4 | d8+1 | 7 | 4 mana | Ember script; ember |
| xov | Xov / Assassin | 12 | 15 | 5 | d6+2 | 19 | 3 stamina | Vanish;  |

| Hero | Ability |
| --- | --- |
| Alaric | 1 stamina: +4 damage, -1 attack. A measured, heavy blow. |
| Markovia | 1 MP: restore d8+4 HP to the selected living ally. Click a party portrait to choose. |
| Vestin | 1 stamina: +3 attack and +2 damage. Wait for the opening. |
| Mystere | 1 mana: d4+1 Frost. 40% Freeze chance: target skips its next turn. |
| Thoradin | 1 stamina: party +3 AC and counts as defended through each enemy's next turn. Refreshes; no stacking. |
| Spargle | Open the spellbook. Ember deals d8+3 Fire damage for 1 mana. |
| Xov | 1 stamina: Vanish for +5 AC through your next turn. Then Backstab: guaranteed hit; natural 15–20 maximizes the damage die. Any other action ends hiding. |

Xov uses she/her; Vanish costs 1 stamina and creates a two-count window, whose application turn consumes the first count. +5 AC lasts through her next personal turn; Backstab costs no additional stamina, guarantees a hit even on natural 1, and maximizes the die on natural 15–20. Any other completed next action, including a frozen skip, ends it. Death clears it. Equipping an artifact replaces this personal action.

### Spell catalog

| ID / spell | Role | Learn gold | Mana | Exact effect |
| --- | --- | --- | --- | --- |
| blizzard / Blizzard | Mage | 20 | 1 | damage; enemy; Frost; d4+1; Freeze 40% |
| ember / Ember | Mage | 20 | 1 | damage; enemy; Fire; d8+3; duration 2 |
| frost / Winter Circle | Mage | 30 | 2 | damage; enemies; Frost; d6+2; duration 2 |
| void / Void Lance | Mage | 35 | 2 | damage; enemy; Void; d10+4; duration 2 |
| wind / Gale | Mage | 25 | 1 | debuff; enemies; Wind; 3; duration 2 |
| earth / Stone Mantle | Mage | 25 | 1 | buff; party; Earth; 3; duration 2 |
| focus / Quiet Focus | Mage | 20 | 0 | restore; self; 1; duration 2 |
| mend / Mending | Cleric | 0 | 1 | heal; ally; Holy; d8+4; duration 2 |
| dawn / Dawn Chorus | Cleric | 30 | 2 | heal; party; Holy; d6+3; duration 2 |
| revive / Recall the Fallen | Cleric | 45 | 2 | revive; ally; Holy; d6+3; duration 2 |
| smite / Radiant Word | Cleric | 25 | 1 | damage; enemy; Holy; d8+3; duration 2 |

Mage personal action opens the learned spellbook. Starting spell revision replaced Mystere's old free Ember with Blizzard once, without removing other learned spells. Markovia starts with Mending; Spargle starts with Ember. Healing and resource effects skip ineligible/full targets (full HP poison remains healable). Rejected actions do not consume mana/items.

### Training and Blacksmith

| Upgrade | Cap | Base / step | Bonus per rank | Purchase gold sequence |
| --- | --- | --- | --- | --- |
| stats | 5 | 15 / 15 | Attack +1; HP +3; resource +1 | 15, 30, 75, 150, 255 |
| weapon | 6 | 20 / 20 | 1 | 20, 40, 100, 200, 340, 520 |
| armor | 4 | 30 / 30 | 1 | 30, 60, 150, 300 |

Attunement 60 gold, one weapon element; armor resistance 45 per element, cap two distinct elements. Clear weapon attunement or all armor wards free without refund. No general inventory/equipment loot framework exists. The retained item API/data also defines Honed weapon (25g, +1 damage) and Reinforced armor (25g, +1 AC); these bonuses remain additive for compatible older saves. Current Blacksmith presentation centers on rank upgrades.

### Artifact catalog

| Stable ID | Name | Eligible roles | Effect |
| --- | --- | --- | --- |
| silverSeal | Dreadbell | Fighter, Rogue, Assassin | Taken from Veyr at the Sealed Road. The Company has had enough experience being on the wrong side of it. Once per fight: d6+2 damage to every living enemy; defending halves damage. No stamina cost. Replaces the wearer's personal skill. |

The silverSeal compatibility ID names the Dreadbell artifact; do not rename it to match display copy. There is one transferable owned artifact, equippable through the Guild. Its once-per-fight untyped d6+2 toll does not inherit weapon attunement, costs no stamina and replaces the wearer’s personal action.

### Consumables

| ID / item | Gold | Cap | Effect |
| --- | --- | --- | --- |
| potion / Healing Potion | 6 | 20 | heal; self; d8+4 |
| smoke / Smoke Bomb | 10 | 10 | buff; party; 3; duration 2 |
| provisions / Provisions | 15 | 99 | provisions; party; 0 |
| coffee / Enchanted Coffee Beans | 12 | 20 | restore; ally; 1 |

### Company progression

| Rank | Reputation | New reward |
| --- | --- | --- |
| I | 0 | None |
| II | 25 | field-pace-1 |
| III | 100 | None |
| IV | 250 | None |
| V | 500 | None |
| VI | 900 | None |
| VII | 1500 | None |
| VIII | 2300 | None |
| IX | 3400 | None |
| X | 5000 | None |

field-pace-1 is Field Pace: +20% exploration traversal. Benefits accumulate by qualifying rank; rank itself is derived, not saved independently. Completion reputation is once per successful run, separate from chest/combat XP; later rank reward slots are intentionally empty.

### Attire

Base outfit is implicitly owned and first, not a purchased catalog entry. Buying does not equip. Stats are invariant under outfit changes. Xov's former cloak is base; Hydra is her sole purchasable alternate.

| ID | Hero | Outfit | Gold | Purchasable |
| --- | --- | --- | --- | --- |
| alaric.unhelmed | Alaric | Unhelmed | 10 | true |
| alaric.gladiator | Alaric | Gladiator | 10 | true |
| thoradin.tavernBrawler | Thoradin | Tavern Brawler | 10 | true |
| thoradin.holyWarrior | Thoradin | Holy Warrior | 10 | true |
| mystere.theWhite | Mystere | Mystere the White | 10 | true |
| spargle.pyro | Spargle | Pyro Spargle | 10 | true |
| markovia.battle | Markovia | Battle Markovia | 10 | true |
| vestin.geared | Vestin | Geared Vestin | 10 | true |
| xov.hydra | Xov | Hydra Xov | 10 | true |

## Adventure-Specific Content

### The Forsaken Woods: scope and scaling

Stable adventure ID: forsaken-woods. Ten authored locations, not a hard-coded capacity rule. Prologue for newly created campaigns only: six starting members face Veyr in a scripted unavoidable Dreadbell defeat, bypassing defenses with zero ordinary reward/cost progression. Continue Campaign migrates old prologue flags to complete; an interrupted new prologue can retry.

Enemy HP = ceil(baseHP×tier.hp), AC = baseAC+tier.defense, Attack = baseAttack+tier.attack, damage die unchanged, damage bonus = baseBonus+tier.damage, initiative unchanged. Gold/XP = ceil(base×tier.rewards). Ability flat dice/bonuses and status chances are not scaled by these ordinary-attack fields. Challenge DCs and provisions do not scale.

| Tier | HP × | AC + | ATK + | Damage + | Gold/XP × | Reputation | Resurrection |
| --- | --- | --- | --- | --- | --- | --- | --- |
| Basic | 1 | 0 | 0 | 0 | 1 | 25 | 30 |
| Advanced | 1.5 | 1 | 2 | 2 | 1.8 | 50 | 30 |
| Expert | 2.2 | 2 | 4 | 4 | 2.8 | 100 | 30 |
| Master | 3 | 3 | 6 | 6 | 4 | 175 | 30 |
| Master Plus | 6 | 4 | 9 | 12 | 6 | 250 | 30 |

Basic → Advanced → Expert → Master → Master Plus. Only Master Plus repeats at fixed values; no exponential growth across repeats. Advances are on the adventure introduction, after completion in town. Advanced glow red, Expert blue, Master/Plus green.

### Bestiary

| ID / creature | HP | AC | ATK | Damage | Init | Weapon element | Weaknesses | Resistances |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| brambling / Brambling | 7 | 12 | 3 | d4 | 5 | Physical | Fire | Earth |
| stumpCrawler / Stump Crawler | 16 | 15 | 4 | d6+1 | 4 | Physical | Fire | Earth |
| giantSpider / Giant Spider | 60 | 12 | 3 | d4+1 | 14 | Physical | Fire | Earth, Frost |
| wormface / Wormface | 18 | 12 | 2 | d4 | 12 | Physical | Fire | Earth |
| goblin / Briar sneak | 9 | 11 | 2 | d4+1 | 17 | Physical | Frost | Fire |
| raider / Woodland raider | 13 | 12 | 3 | d6+1 | 13 | Frost | Void | Frost |
| warden / Hollow warden | 26 | 13 | 4 | d6+2 | 16 | Void | Holy | Void |
| bellkeeper / Veyr, the Sealbound | 78 | 16 | 6 | d8+3 | 16 | Void | None | Fire, Frost, Void, Holy, Wind, Earth |
| dawnSentinel / Dawn Sentinel | 10 | 12 | 2 | d4+1 | 20 | Physical | Holy, Earth | Void |

| Creature | Special behavior | Used by |
| --- | --- | --- |
| Brambling | {"kind":"entangled","chance":30,"amount":2} | roadBriars |
| Stump Crawler | {"kind":"offBalance","chance":25,"amount":2} | roadBriars |
| Giant Spider | 2 attacks/turn; 30% poison, 1/turn | spiderChest |
| Wormface | {"type":"heal","targeting":"lowestHpPercentAlly","cost":1,"die":0,"bonus":3,"minimumMissing":2,"threshold":0.8,"selfThreshold":0.5} | wormface |
| Briar sneak | Ordinary attack | wormface, trail |
| Woodland raider | Ordinary attack | ambush |
| Hollow warden | Grave Chill on round 3 | final |
| Veyr, the Sealbound | dreadBell | veyrPrologue, sealguardian |
| Dawn Sentinel | Ordinary attack | final |

Wormface has 3 MP. Healing costs 1 MP per action. Wormface healing selects the eligible living other ally with lowest HP fraction, requiring at least minimumMissing HP and a fraction strictly below threshold. Only if no ally qualifies does it consider itself below selfThreshold. It spends the configured mana and restores min(missingHP,die+bonus), curing poison. No valid heal means a normal attack. Values are in the table above.

Veyr begins with all six resistances. On its first eligible action from round 2 onward, Dreadbell replaces its normal action, once per fight: independent d6+2 Void to every living hero. Defending/Shield Wall first halves with floor/minimum 1, then Void resistance applies separately. Unlike the Watchtower timed action, a frozen round-2 Veyr can toll later. Veyr's normal d8+3 weapon hit is Void and scales with ordinary enemy damage.

Element coverage: ordinary nonphysical enemy attacks are concentrated in Void (Warden/Veyr); Grave Chill adds Frost status pressure, without damage. Fire is useful against woodland creatures; Holy/Earth counter Sentinels. No current enemy weak to Wind, and no current enemy uses an ordinary Earth/Holy/Wind attack. This is a current content observation, not a mandate to add new elemental mappings.

### Encounters and rewards

Rewards are base gold and XP to each surviving active hero, before tier scaling. Encounter identity remains stable.

| ID | Composition | Gold | XP | Older save composition |
| --- | --- | --- | --- | --- |
| roadBriars | Stump Crawler + Brambling + Brambling | 10 | 15 | Same |
| spiderChest | Giant Spider | 20 | 25 | Same |
| veyrPrologue | Veyr, the Sealbound | 0 | 0 | Same |
| wormface | Briar sneak + Briar sneak + Wormface | 30 | 35 | Same |
| trail | Briar sneak + Briar sneak + Briar sneak | 15 | 20 | goblin, goblin |
| ambush | Woodland raider + Woodland raider + Woodland raider | 20 | 25 | raider, goblin |
| final | Hollow warden + Dawn Sentinel + Dawn Sentinel | 45 | 40 | warden, goblin |
| sealguardian | Veyr, the Sealbound | 35 | 25 | Same |

### Route and location rewards

Node indices are compatibility positions. These are location-exit/event rewards, separate from the encounter table; absent fields mean zero. Do not double-award both for a combat node.

| Index / ID | Location | Kind / combat | Links (indices) | Gold | XP | Provisions | Length |
| --- | --- | --- | --- | --- | --- | --- | --- |
| 0 / gate | The Old Road | explore | 1 | 0 | 5 | 0 | 3.5 |
| 1 / fork | The Divided Trail | event | 0, 2, 3 | 0 | 5 | 0 | 3 |
| 2 / briar | Briar Crossing | combat / trail | 1, 4 | 0 | 0 | 0 | 3.5 |
| 3 / hermit | The Charcoal Burner | event | 1, 4 | 0 | 5 | 0 | 3 |
| 4 / cache | The Broken Cart | treasure | 2, 3, 5 | 27 | 5 | 0 | 3 |
| 5 / camp | Mossy Glade | camp | 4, 6 | 0 | 0 | 0 | 3.5 |
| 6 / stones | The Dawn Stones | puzzle | 5, 7 | 0 | 25 | 0 | 3.5 |
| 7 / bridge | The Fallen Bridge | combat / ambush | 6, 8 | 0 | 0 | 0 | 4 |
| 8 / tower | The Forsaken Watchtower | final / final | 7, 9 | 0 | 0 | 0 | 4.5 |
| 9 / seal | The Sealed Road | objective / checkpoint sealguardian | 8 | 30 | 20 | 0 | 5 |

The Divided Trail chooses Briar Crossing (bootprints) or Charcoal Burner (blue markers), excluding the other for the whole expedition. Both converge at Broken Cart, then Mossy Glade → Dawn Stones → Fallen Bridge → Watchtower → Sealed Road. Mossy Glade's mandatory Wormface fight precedes the camp. Watchtower is the penultimate fight, not the final boss.

### Exploration points

| Location / point ID | Position | Required | Type / content | Base gold / XP / provisions |
| --- | --- | --- | --- | --- |
| gate / road-cache | 0.3 | No | treasure / Open Chest | 18 / 0 / 0 |
| gate / road-mark | 0.65 | Yes | combat / roadBriars | 0 / 0 / 0 |
| fork / wayside | 0.28 | No | event / Examine | 0 / 0 / 0 |
| briar / wayside | 0.28 | No | event / Search | 0 / 0 / 0 |
| hermit / wayside | 0.28 | No | treasure / spiderChest | 0 / 0 / 0 |
| hermit / charcoal-burner | 0.6 | No | dialogue / charcoal-burner | 0 / 0 / 0 |
| cache / wayside | 0.28 | No | event / Search | 0 / 0 / 0 |
| cache / broken-wagon | 0.6 | No | challenge / broken-wagon | 0 / 0 / 0 |
| camp / wayside | 0.28 | No | event / Examine | 0 / 0 / 0 |
| camp / wormface | 0.72 | Yes | combat / wormface | 0 / 0 / 0 |
| stones / wayside | 0.28 | No | event / Read Carving | 0 / 0 / 0 |
| bridge / wayside | 0.28 | No | event / Search | 0 / 5 / 0 |
| bridge / river-cache | 0.64 | No | treasure / Open Chest | 12 / 0 / 1 |
| tower / wayside | 0.28 | No | event / Read Crest | 0 / 0 / 0 |
| seal / wayside | 0.28 | No | event / Search | 0 / 0 / 0 |
| seal / xov | 0.6 | Yes | dialogue / xov-road (Basic only) | 0 / 0 / 0 |

Old Road cache gives 18 gold; Broken Cart exit chest 27 gold/5 XP; Fallen Bridge river-cache 12 gold/1 provision. These noncombat chests also roll the common bonus. Charcoal Burner wayside is an optional giant-spider encounter chest, Open confirmation then only spiderChest combat rewards (20 gold/25 XP); no ordinary chest bonus.

Dawn Stones: solution index 2, Touch the sun. Touch the leaf deals 1 nonlethal damage to each living hero (minimum 1 HP). Touch the moon removes 1 stamina from living stamina users (minimum 0); mana unaffected. Wrong answers remain retryable. Sun resolves for 25 XP. The nearby dawn carving and Charcoal Burner clue connect this puzzle to the old watch-road.

Charcoal Burner NPC is an optional repeat-from-start question hub, separate from its signpost exit. Dialogue choice about the old stones grants the clue; merely opening the conversation does not resolve the node or grant travel. Xov appears as a mandatory automatic dialogue at Sealed Road 0.6 only on Basic; a separate post-Veyr conversation remains available. Completing the adventure recruits Xov without replacing an active slot. The sealed objective grants 30 gold/20 XP, completion reputation and the artifact reward; boss rewards are a separate checkpoint.

### Challenge content

| Difficulty ID | Name | DC |
| --- | --- | --- |
| easy | Easy | 8 |
| moderate | Moderate | 12 |
| hard | Hard | 15 |
| very-hard | Very Hard | 18 |

Broken Wagon (broken-wagon) is optional at Broken Cart 0.60, retains its resolved prop, and has no base modifiers beyond zero. It accepts one success/failure per run.

| Approach / skill | DC class | Requirements | Modifiers | Success | Failure |
| --- | --- | --- | --- | --- | --- |
| search / Wits | moderate | [] | Mystere +2 when [{"kind":"hero","id":"elowen"}] | {"text":"Under a false floor lies a purse marked EMERGENCIES. Apparently the owner had a narrower definition of the word.","gold":8,"xp":5} | {"text":"The Company uncovers a furious hedgehog and learns why the sacks were moving. Nobody keeps the hedgehog.","nonLethalDamage":1} |
| tracks / Survival | moderate | [] | Vestin +2 when [{"kind":"hero","id":"fen"}] | {"text":"The tracks lead to a stolen ration sack behind a stump. Briar Sneaks, probably. The receipt says “not stolen,” which settles very little.","provisions":1,"xp":5} | {"text":"The prints become bird tracks, then boot prints, then the Company’s own footprints. The brambles charge a small consultation fee.","nonLethalDamage":1} |
| lift / Might | hard | [] | Alaric +2 when [{"kind":"hero","id":"aldric"}]; Thoradin +2 when [{"kind":"hero","id":"rowan"}] | {"text":"The wagon gives way with an indignant creak. Beneath it sits a sealed tin of coins. At last, something on this road that does not bite.","gold":12,"xp":5} | {"text":"The wagon moves six inches. The Company retreats seven. Everyone agrees that this counts as moving it.","nonLethalDamage":2} |
| vines / Arcana | easy | [{"kind":"hero","id":"vesper"}] | Spargle +2 when [{"kind":"hero","id":"vesper"}] | {"text":"The vines insist they saw nothing, then quietly push a purse into Spargle’s hands. Botany has rules. Apparently one of them is hush money.","gold":6,"xp":8} | {"text":"The vines demand a lawyer. Spargle explains that this is not how vines work. The vines disagree, pointedly.","nonLethalDamage":1} |

### Watchtower design and implementation

**Intent:** meaningful attrition with low routine wipe risk for a reasonably prepared Company; a readiness check before Veyr rather than another boss. The player should consider returning to Oddwater after victory. Dreadbell awakened the Warden and the runic automata. Their visual/lore relationship links Dawn Stones → Watchtower defenses → Sealed Road without explaining the forgotten order in a tutorial.

The opening remains: “Dreadbell has woken the Hollow Warden. Veyr passed beneath its arch with the Silver Seal; The Company must find a less diplomatic way through.”

**Dawn Sentinel:** 10 HP, AC12, +2 attack, d4+1 physical damage, initiative20, visualScale0.75. Weak Holy/Earth; resists Void. Two are present with the Warden. Initiative20 deliberately exceeds all current hero bases (Xov19, Vestin18; no progression increases initiative). HP is only one above Briar Sneak; AC is one higher; attack/damage are identical. Two early low-damage actors create pressure without individually durable mini-bosses. No extra Sentinel ability, poison or multiattack. Combined Basic enemy HP becomes 46 versus old 35; the Warden remains 26/13/+4/d6+2/16 with Holy weakness/Void resistance and Void ordinary attack. Reward stays 45 gold/40 XP. These are conservative starting values, not a guarantee of attrition or a measured player wipe rate.

**Grave Chill:** Warden timedAction, exact round3, once per combat using existing saved SkillReady. Replaces the entire action; no mana cost or direct damage. Each living hero independently rolls Freeze at 33%, or 10% with Frost resistance. Already Frozen targets refresh one skip. Dead heroes are excluded. Defeat before the action prevents it. If the Warden itself loses its round3 action to Freeze, the exact-round window is missed; it does not cast late. Status resolution is in VintageEncounter, never the renderer.

The extension is intentionally one configured timed Freeze action per enemy (name, round, effect), not a general multi-skill scheduler. The effect's kind is freeze and target party. Validation rejects invalid rounds, unsupported target/kind, direct damage values, unknown elements, and resisted probabilities greater than base. A different enemy can declare the same timing/status contract without a location/encounter-ID branch.

Feedback uses the existing combat Feedback event and Frost cue. For a resistant hero: rolls0–9 FROZEN; 10–32 FROST RESIST; 33–99 RESIST. For an ordinary hero: 0–32 FROZEN, 33–99 RESIST. Distinct per-target outcomes share the normal action presentation.

Frost resistance is available at the Blacksmith for 45 gold per hero, within the two-resistance cap. Full-party Frost preparation costs180 gold, which is not assumed at this stage. Killing the Warden before its action, freezing its round3 action, and equipping resistance are supported counterplay. Holy attacks can exploit the Warden and Sentinels; Earth specifically exploits Sentinels. The preceding camp can restore living resources but may already be spent; nearby bridge supplies support a return-to-town decision.

**Compatibility:** final retains legacyEnemies [warden,goblin], distinguishable from the new three-actor composition. Existing combat snapshots restore their old actor layout and exact turn/pending/status. The Warden definition now supplies Grave Chill even in a restored older two-enemy fight if the round3 window is still ahead; a restored round>3 does not retroactively cast. New fights use three actors. No save-version bump or ID reorder; dawnSentinel and portrait index15 append. Existing Briar Sneak remains globally available.

## Authoring and verification

Use [Creature](Templates/Creature-Design.md), [Combat Encounter](Templates/Combat-Encounter-Design.md), [Challenge](Templates/Challenge-Design.md), and [Adventure](Templates/Adventure-Design.md) templates. Record design intent separately from implementation fields. The Watchtower filled examples validate that stats, counterplay, timing, effects, art, persistence and tests all have a home.

Supplied artwork is installed at Assets/Resources/JournalArt/Creatures/DawnSentinel.png (figure index 15, visualScale 0.75) and Assets/Resources/JournalArt/UI/Spells/GraveChill.png. DawnSentinnel was renamed with its .meta GUID preserved; neither PNG was resampled or repainted. GraveChill is the reusable living Frozen marker on both sides, separate from the death marker, and clears on thaw/death including after reload. Preserve source quality and metadata. Combat feedback is bounded to each formation slot, wraps and shrinks to fit; FROST RESIST uses two lines, including at narrow aspect ratios.

Rules/data source map: [VintageEncounter](../../Assets/Scripts/VintageEncounter.cs), [JournalData](../../Assets/Scripts/Journal/JournalData.cs), [combat transitions](../../Assets/Scripts/Journal/JournalGame.Combat.cs), [progression](../../Assets/Scripts/Journal/JournalGame.Progression.cs), [ForsakenWoods](../../Assets/Resources/ForsakenWoods.json), [Attire](../../Assets/Resources/Attire.json), and current [subsystem index](../README.md). Values omitted by JSON use C# defaults; do not invent a missing value. Retained sample/prototype combat is not the shipped journal roster/balance.

Run the full pure suite and Unity compilation; WatchtowerChecks exhaustively verifies probability boundaries with a session-only status-roll hook, plus timing, death, Frozen skips, one-shot save restore, resistance plumbing, scaling and legacy composition. Unity JsonUtility/live rendering must additionally verify omitted-field defaults, marker lifecycle and feedback at 4:3,16:9,21:9,32:9. Record actual evidence in [Build 7](../Build-7-Change-Record.md); automated rules or simulated input never establish physical-device acceptance.

Balance review should compare untrained and moderately trained Basic parties, alternative heroes, resistance/no resistance, focus-fire/control choices, post-Watchtower resources and higher-tier scaling. Do not change33%/10% or round3 silently to make the ability fire more often. Physical touch/controller readability and encounter pacing remain playtest acceptance work.
