Files
healer-man/docs/STOCKADE_ENEMY_MECHANICS_PLAYTEST_2026-10-05.md
2026-10-06 22:25:34 -04:00

9.7 KiB
Raw Permalink Blame History

Stormwind Stockade enemy-mechanics playtest — 2026-10-05

Outcome: verified full Stockade clear with live Chain Lightning, Rend, hostile buff, and Demoralizing Shout cast evidence. The successful run used the normal dungeon UI and ordinary movement, targeting, attacks, party commands, and healing. It was a focused browser playtest, not a balance certification.

Final run and immutable build

The successful run is preserved under playtest-artifacts/stockade-enemy-mechanics/20261005-160913676/. It ran from 2026-10-05T16:09:15.713Z to 2026-10-05T16:31:15.761Z and completed with child exit code 0. The profile was created through the normal offline character UI as a Priest, then prepared in the isolated profile as a native-stat level-30 Priest/Knight before entering Stockade through the normal picker and healer-role flow. Four NPC companions filled the party. No enemy, damage, health, aura, cast, or combat store state was seeded; there was no teleport, collision bypass, boss-test entry, loot interaction, or readiness promotion.

The frozen distribution was artifacts/stockade-enemy-mechanics-2026-10-05/frozen-dist-20261005-153220 with aggregate SHA-256 296f26c1a58d096b925977f8a0f4aebc5a2de20ba4ce804592188a87102f99e0 over 5,964 files. The before and after manifests match that exact fingerprint. The read-only content/ source manifest also stayed unchanged at SHA-256 d3d553aa7443bf444c87b0c0e923357df02756d0822db2e1a0a908d3f257fdb8; all 2,124 distinct requested hash-addressed objects returned HTTP 200 and their local bytes matched their object-address hashes. See run-record.json, content-source-evidence.json, and the before/after manifests in the same run folder.

The game loaded these production modules:

index-D-xYtSuF.js, combatStore-BmIrp-s1.js, GameRuntime-DJd285mw.js, dungeonSession-Bzyqicra.js, PartyFrames-DU0sDQaZ.js, romAbilityCatalog-CBkQytej.js, and dungeonWorldInteraction-4rtL_sSb.js.

The native result UI reported FULL DUNGEON CLEAR, 21:32.5 to final boss, and 5/5 defeated: Targorr the Dread (creature-84027), Kam Deepfury (creature-79088), Hamhock (creature-79098), Bazil Thredd (creature-79124), and Dextren Ward (creature-79116). The player finished at level 40 with all four level-39 NPCs alive. This was not a no-casualty run: Rorik had three casualty/recovery observations and the party issued three ordinary “Rez dead members” actions. The player death count was zero. The native result text and boss IDs are recorded in run-record.json and the campaign results.json.

Enemy mechanics observed

The preserved read-only evidence contains 41,116 mob samples, 5,622 raw combat events, 761 source-attributed enemy damage events, and 175 combat-aura samples. The full raw evidence is in enemy-mechanics-evidence.json.

Hamhock Chain Lightning, spell 421. Four unique active-cast windows were captured on Hamhock, source creature-79098, each interruptible and 1,500 ms long. There are five cast samples because the first window was sampled twice. The event stream attributes ten damage events to Hamhock’s smart-1717-0-chain-lightning attack ID:

Target Hits Raw damage Effective damage Event times (ms)
Mage party-damage-3-rom-mage 1 579 512 1791217137627
Scout party-damage-2-rom-scout 1 347 347 1791217137627
Player __player__ 1 208 208 1791217137627
Tank party-tank-0-rom-knight 3 1,737 1,348 1791217143836–1791217170624
Rogue party-damage-1-rom-rogue 3 1,041 1,041 1791217143836–1791217170624
Mage summon party-damage-3-rom-mage:summon-4 1 208 208 1791217143836

Cast windows (startedAt–completesAt, ms): 1791217136023–1791217137523, 1791217142234–1791217143734, 1791217152437–1791217153937, and 1791217169029–1791217170529.

Rend, spells 6547 and 16509. The raw stream contains 359 source-attributed enemy damage events. Spell 6547 produced 153 pulses, 2,172 raw / 2,060 effective damage, with individual raw hits of 14–16 from Defias Inmates. Spell 16509 produced 206 pulses, 8,823 raw / 8,331 effective damage, with individual raw hits of 38–52 from Defias Prisoners, Captives, and Convicts. Spell 6547 events targeted the tank (112), mage (24), scout (12), and rogue (5). Spell 16509 events targeted the tank (196), mage (5), and scout (5). No Rend active cast state was sampled; the live raw damage events establish the pulses without depending on cast-state sampling.

Enemy-source buffs. The legacy mob.auras projection was empty, but the separate combat-aura stream records eight unique applications whose source and target are both sampled enemies. The initial run summary incorrectly equated the empty legacy projection with no enemy buffs; the evidence summary and status note have been corrected without changing the raw route file.

Aura instance / spell Source → target Applied (ms)
creature-84027:enemy-source-spell-8599:creature-84027 — Enrage Targorr creature-84027 → Targorr 1791216791350
creature-79040:enemy-source-spell-9128:creature-79040 — Battle Shout Insurgent creature-79040 → self 1791217027326
creature-79045:enemy-source-spell-9128:creature-79040 — Battle Shout Insurgent creature-79040 → Captive creature-79045 1791217027326
creature-79070:enemy-source-spell-9128:creature-79049 — Battle Shout Insurgent creature-79049 → Convict creature-79070 1791216941320
creature-79074:enemy-source-spell-9128:creature-79049 — Battle Shout Insurgent creature-79049 → Convict creature-79074 1791216950039
creature-79097:enemy-source-spell-9128:creature-79085 — Battle Shout Insurgent creature-79085 → Inmate creature-79097 1791216972232
creature-79100:enemy-source-spell-9128:creature-79085 — Battle Shout Insurgent creature-79085 → Inmate creature-79100 1791216963628
creature-79101:enemy-source-spell-9128:creature-79101 — Battle Shout Insurgent creature-79101 → self 1791217182924

Demoralizing Shout (“Demo”). Live active-cast telemetry captured 44 unique cast windows: 20 for spell 13730 from six Defias Insurgent actor IDs, and 24 for spell 16244 from nine Defias Convict actor IDs. The sampled casts were interruptible. This harness captured combat aura instances only when the target was an enemy, so it does not independently establish the party-side Demoralizing Shout effect. The cast state itself was observed live.

Visual and runtime review

Screenshots are in campaign/final-build-20261005-160915922/. The entry, equipped-player/native-party, route 25/50/75%, and boss-arrival screens show loaded native characters, full party frames, buffs, ability HUD, and the changing level HUD. Root also reviewed the 50% and 75% captures. Scene and HUD rendering appeared normal, while bodies and name labels overlapped or were partly occluded; this playtest did not attempt a visual fix. The stormwind-stockade-boss-arrival.png filename is historical: its pixels show the native “Stormwind Stockade complete” results overlay, 21:32.5, all five named bosses defeated, and the level-40 player/four level-39 NPC party. The same result text is recorded in results.json.

There were no page errors. The only console error was a local /favicon.ico 404. Three Rorik recoveries were recorded as described above. The ordinary native UI accepted the configured party and completed the full route.

Preserved failed and superseded attempts

These attempts remain intact and are not counted as the final result:

  1. 20261005-152510407 used the earlier authorized frozen copy, which was superseded after the owner found a Chain leash-edge bug. The owner stopped it during roster/picker setup before dungeon entry.
  2. 20261005-153314575 used the replacement hash but had an isolated content source setup error: /content/manifest.json returned 404, and role selection timed out before entry. The owner clarified that contentDir is read-only catalog/object input. The corrected run used the project content directory with the disposable profile/data directory kept separate.
  3. 20261005-154226103 reached checkpoint 88 after defeating only Targorr (1/5 bosses). Ordinary movement inputs overshot and reversed around the checkpoint tolerance; the route stopped there. The attempt is preserved as incomplete, not a full clear.
  4. 20261005-155657325 reached the dungeon route but failed while serializing evidence because the wrapper referenced contentSourceResponses outside its scope. Its failure.json retains the error and browser diagnostics; no campaign route JSON was written, so its endpoint and boss count are inconclusive.

The final successful retry used adaptive short movement inputs near route checkpoints while retaining the authored checkpoint sequence and tolerance. No further run or source/build change was needed.

Harness checks

The scoped wrapper is scripts/playtest-stockade-enemy-mechanics.cjs. node --check scripts/playtest-stockade-enemy-mechanics.cjs passed, and node scripts/playtest-stockade-enemy-mechanics.cjs --prepare-only validated the source and transformed harness syntax without launching a server or browser. No full suite or build was run by this playtest agent.