65 lines
3.9 KiB
Markdown
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.
|