# RuneWaker encounter content catalog This is the reviewed runtime layer above the exhaustive, machine-generated RuneWaker encounter audit. It intentionally contains only source behavior that can be mapped without guessing. The executable catalog is `src/game/runewakerEncounterCatalog.ts`. ## Bounded reviewed coverage | Dungeon | Deferred source rows mapped | Runtime behavior | Fidelity | | --- | --- | --- | --- | | Forsaken Abbey | `12230`, `12236`, `12238` | Three two-member Ghoul/Carrion Spider formations are created on encounter initialization. After the source `sleep(20)` (2 seconds because RuneWaker sleep units are tenths of a second), the encounter enters its patrol phase. | source-backed adapted | | Treasure Trove | `5952428`, `5952438` | Killing Boulder Sidaar (`5952494`) arms switch `112100`; interacting with it activates the switch and lowers drawbridge `112098` once. | source-backed adapted | The Forsaken mapping is backed by preserved Lua `00571.lua` and matrix helper `00727.lua`. The Treasure Trove mapping is backed by preserved Lua `01159.lua`. Snapshot, mechanics-audit, and source hashes are attached to each catalog review record. “Source-backed adapted” is deliberate. Source IDs, trigger order, spawn membership, timing, and placement transforms are retained. HealerMan supplies serializable phases, procedural world-object geometry, projected heights, interaction range, and the packaged canonical Ghoul visual/combat definition for the source-only level-scaled Ghoul template `100653`. ## Effective ledger after this review The generated audit baseline inventories 4,113 deferred source rows and 1,136 unresolved mechanics-evidence records. This catalog maps five unique deferred rows and clears five stable evidence IDs, leaving: | Ledger item | Baseline | Reviewed here | Remaining | | --- | ---: | ---: | ---: | | Deferred source rows | 4,113 | 5 | 4,108 | | Unresolved mechanics-evidence records | 1,136 | 5 | 1,131 | Per affected package, Forsaken Abbey moves from 101 to 98 deferred rows and 77 to 74 unresolved evidence records. Treasure Trove moves from 188 to 186 deferred rows and 47 to 45 unresolved evidence records. All other package counts remain unchanged. The exhaustive generated JSON remains the immutable audit baseline until its generator learns to consume the runtime catalog. The effective counts above are exported as `RUNEWAKER_ENCOUNTER_CONTENT_LEDGER` and are regression tested. ## Explicit remaining gaps - Forsaken formations remain at their source start positions after the two-second hold. The source uses endless flag-path patrols; the encounter runtime has no reviewed path-following action yet. - Forsaken source template `100653` is a level-scaled Ghoul variant created only by Lua and has no packaged actor row. The runtime alias reuses canonical Ghoul `100072`; this is not claimed as an exact visual or formula mapping. - The Forsaken keeper gate (`7883`) remains deferred. Its four Necromage deaths source-summon Ghoul Drake `100073`, but that summon has neither a packaged entity nor a reviewed combat definition. Opening the gate without that fight would be false fidelity. - Black Mary's Hold Door (`5952433`) remains deferred because its source interaction consumes inventory item `203550`; encounter guards currently expose no inventory predicate. - Treasure Trove uses procedural bridge/switch proxies because source object meshes and ACT motions are not packaged. - The remaining 4,108 rows require the same source-by-source review. Bulk promotion from names, model paths, or regex categories is not evidence of executable behavior. ## Validation `src/game/runewakerEncounterCatalog.test.ts` validates each encounter definition and requires every referenced runtime spawn, entity, encounter spawn group, world object state, and objective to exist. It also simulates both reviewed state machines and locks the ledger arithmetic.