9.7 KiB
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:
20261005-152510407used 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.20261005-153314575used the replacement hash but had an isolated content source setup error:/content/manifest.jsonreturned 404, and role selection timed out before entry. The owner clarified thatcontentDiris read-only catalog/object input. The corrected run used the project content directory with the disposable profile/data directory kept separate.20261005-154226103reached 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.20261005-155657325reached the dungeon route but failed while serializing evidence because the wrapper referencedcontentSourceResponsesoutside its scope. Itsfailure.jsonretains 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.