# RuneWaker gameplay content audit Structural validation: **green** Original-mechanics fidelity: **review-required** This offline audit reads packaged recipes, snapshots, generated TypeScript, reports, mechanics evidence, manifests, and creature GLBs. It never connects to SQL Server. ## Coverage - 30 dungeons, 8199 source rows, 4086 static spawns, and 436 combat entities. - 61 boss objectives and 824 executable attacks. - Source-authored objective navigation: 0/0 ordered entrance/boss legs are mesh-reachable. - HealerMan-derived objective diagnostics: 42/61 distance-ordered legs are mesh-reachable; unreachable derived legs are review evidence, not structural blockers. - Animation entity bindings: 435 native, 1 static procedural, and 0 proxy. - 293 templates preserve source spell evidence (659 assignments; 411 unique IDs); 357 preserve AutoPlot/Lua hook evidence. ## Authentic source data currently used - Namespaced RuneWaker spawn/template IDs, names, native levels, classifications, positions, directions, model paths, source hashes, and boss spawn membership. - Navmesh-projected placements derived from each packaged environment anchor. - Original static meshes; original GR2 clips only where the manifest and GLB prove they exist. - Spell IDs, Lua hooks, AutoPlot names, and Lua signals are retained as evidence, not guessed. ## HealerMan-generic or deferred - 436 entities use generated Basic Attack/Corrosive Slam. - 0 attacks are builder exceptions without source mapping. - 388 executable attacks carry a conservative source-backed direct-damage family mapping. - Source-backed mapping preserves spell identity, damage family, school, range, and cooldown; HealerMan's 0.85 damage coefficient is intentionally generic, not claimed as source-exact. - Scaling, movement/leash, clustering, aggro, death state, loot, and objective ordering are generic. - Doors, phases, summons, patrols, resets, interactions, and source loot remain review-required. - Procedural animation states are HealerMan-authored; native GLBs must provide idle, move, attack, cast, wound, and death families. ## Per-dungeon evidence Animation columns are native/procedural/proxy entity bindings. | Dungeon | Source | Spawns | Entities | Bosses | Attacks | Spell templates | Scripted templates | N/P/X | Routes | Mechanics | | --- | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | --- | | aeternal-circle | 514 | 123 | 16 | 0 | 29 | 11 | 20 | 16/0/0 | 0/0 derived | review-required | | barren-caves | 63 | 48 | 7 | 1 | 14 | 7 | 3 | 7/0/0 | 1/1 derived | review-required | | cave-water-dragon | 144 | 97 | 7 | 2 | 9 | 4 | 5 | 7/0/0 | 1/2 derived | review-required | | demon-stronghold | 439 | 183 | 16 | 1 | 28 | 7 | 14 | 16/0/0 | 1/1 derived | review-required | | demon-stronghold-125 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0/0/0 | 0/0 derived | review-required | | dungeon-of-dalanis | 229 | 67 | 17 | 0 | 22 | 9 | 13 | 17/0/0 | 0/0 derived | review-required | | forsaken-abbey | 251 | 150 | 15 | 8 | 15 | 0 | 11 | 15/0/0 | 8/8 derived | review-required | | grafu-castle | 249 | 56 | 11 | 0 | 21 | 6 | 15 | 11/0/0 | 0/0 derived | review-required | | hall-of-survivors | 363 | 162 | 40 | 9 | 74 | 23 | 25 | 39/1/0 | 9/9 derived | review-required | | hoto | 401 | 307 | 26 | 5 | 54 | 19 | 15 | 26/0/0 | 2/5 derived | review-required | | ice-dwarf-kingdom | 651 | 599 | 32 | 5 | 68 | 25 | 11 | 32/0/0 | 3/5 derived | review-required | | kal-turok-hive | 4 | 1 | 1 | 0 | 5 | 1 | 3 | 1/0/0 | 0/0 derived | review-required | | kalins-shrine | 289 | 165 | 14 | 5 | 31 | 13 | 17 | 14/0/0 | 0/5 derived | review-required | | kawaks-tomb | 293 | 117 | 20 | 1 | 27 | 13 | 24 | 20/0/0 | 1/1 derived | review-required | | kulech-bones-nest | 287 | 154 | 16 | 1 | 34 | 14 | 20 | 16/0/0 | 1/1 derived | review-required | | lair-demon-dragon | 532 | 103 | 14 | 0 | 23 | 9 | 10 | 14/0/0 | 0/0 derived | review-required | | mystic-altar | 398 | 251 | 12 | 3 | 38 | 11 | 15 | 12/0/0 | 3/3 derived | review-required | | paspers-shrine | 255 | 224 | 12 | 5 | 18 | 7 | 6 | 12/0/0 | 5/5 derived | review-required | | raksha-temple | 487 | 123 | 40 | 1 | 61 | 29 | 29 | 40/0/0 | 0/1 derived | review-required | | sand-vortex | 2 | 1 | 1 | 1 | 1 | 1 | 1 | 1/0/0 | 1/1 derived | review-required | | sardo-castle | 247 | 71 | 16 | 3 | 28 | 7 | 24 | 16/0/0 | 3/3 derived | review-required | | the-origin | 510 | 188 | 26 | 2 | 55 | 21 | 10 | 26/0/0 | 0/2 derived | review-required | | tomb-seven-heroes | 439 | 240 | 25 | 0 | 57 | 18 | 24 | 25/0/0 | 0/0 derived | review-required | | treasure-trove | 685 | 497 | 21 | 3 | 55 | 20 | 17 | 21/0/0 | 0/3 derived | review-required | | warnorken-arena | 40 | 1 | 1 | 0 | 1 | 0 | 2 | 1/0/0 | 0/0 derived | review-required | | ystra-labyrinth-boss1 | 17 | 3 | 3 | 3 | 5 | 2 | 4 | 3/0/0 | 1/3 derived | review-required | | ystra-labyrinth-boss2 | 3 | 1 | 1 | 1 | 2 | 1 | 1 | 1/0/0 | 1/1 derived | review-required | | ystra-labyrinth-boss3 | 7 | 1 | 1 | 1 | 1 | 0 | 1 | 1/0/0 | 1/1 derived | review-required | | zurhidon-stronghold | 400 | 153 | 25 | 0 | 48 | 15 | 17 | 25/0/0 | 0/0 derived | review-required | | zurhidon-stronghold-124 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0/0/0 | 0/0 derived | review-required | ## Audited mechanics signals - death: 75 - door: 22 - interaction: 166 - loot: 77 - movement: 6 - phase: 58 - spell: 20 - summon: 11 - timer: 26 ## Remaining blocker groups Navigation: 0 blocked source-authored ordered legs across 0 dungeons. Derived-order navigation review: 19 unreachable heuristic legs across 8 dungeons. - cave-water-dragon: Template 104161 -> Lytfir (healerMan-distance-derived) - hoto: entrance -> Medusa (healerMan-distance-derived) - hoto: Geba -> Bloodthirsty Claw (healerMan-distance-derived) - hoto: Bloodthirsty Claw -> Jiasha (healerMan-distance-derived) - ice-dwarf-kingdom: Pangkor -> Crasset Hairyfoot (healerMan-distance-derived) - ice-dwarf-kingdom: Crasset Hairyfoot -> Thynos (healerMan-distance-derived) - kalins-shrine: entrance -> Iron Rune Warrior (healerMan-distance-derived) - kalins-shrine: Iron Rune Warrior -> Yusalien (healerMan-distance-derived) - kalins-shrine: Yusalien -> Locatha (healerMan-distance-derived) - kalins-shrine: Locatha -> Goddess of Art's Disciple (healerMan-distance-derived) - kalins-shrine: Goddess of Art's Disciple -> Ensia (healerMan-distance-derived) - raksha-temple: entrance -> Shadoj (healerMan-distance-derived) - the-origin: entrance -> Life Leecher (healerMan-distance-derived) - the-origin: Life Leecher -> Holy Tree Falynum (healerMan-distance-derived) - treasure-trove: entrance -> Lookout Luke (healerMan-distance-derived) - treasure-trove: Lookout Luke -> Snow Blake (healerMan-distance-derived) - treasure-trove: Snow Blake -> Boulder Sidaar (healerMan-distance-derived) - ystra-labyrinth-boss1: Specter Guardian Creator -> Raichika the Destroyer (healerMan-distance-derived) - ystra-labyrinth-boss1: Raichika the Destroyer -> Rune Guardian Leader (healerMan-distance-derived) Unimplemented source mechanics: 357 templates preserve AutoPlot/Lua evidence, with executable generation deliberately disabled. - death: 75 - door: 22 - interaction: 166 - loot: 77 - movement: 6 - phase: 58 - spell: 20 - summon: 11 - timer: 26 ## Validation issues - None. ## Documented exceptions - /assets/creatures/sardo-castle/rune-device-red.glb: move exempt - Rune Device is a source-authored stationary encounter device; its native GLB retains stand, attack/activation, cast, wound, and death clips. ## Resolved runtime observations - paspers-shrine entrance -> Blackhorn Nisorn: Attack initially reported Route blocked. The objective approach is now projected to the nearest retained navigation surface within 6m; targeted tests and a live combat replay advance without console errors. Evidence: artifacts/playtests/paspers-shrine-route-blocked.png. ## Review notes - demon-stronghold-125 has an authoritative empty Zone 125 snapshot, so it packages an environment but no combat population. - zurhidon-stronghold-124 has an authoritative empty Zone 124 snapshot, so it packages an environment but no combat population. - 436 executable attacks do not carry an audited source-spell mapping. - Boss objectives are spawn-authentic, but boss attacks and state machines remain generic. - Source-backed spell coefficients are HealerMan-generic; the original RuneWaker formula/stat scaling has not been reconstructed. - 61 objective legs use HealerMan's distance-from-entrance fallback because no source-authored boss order is packaged; 19 unreachable heuristic legs remain navigation/order review evidence.