Files
healer-man/RUNEWAKER_ENCOUNTER_CONTENT_CATALOG.md
2026-09-08 10:40:26 -04:00

65 lines
3.9 KiB
Markdown

# 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.