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

21 KiB

Stockade mechanics continuation — 2026-10-04

The later enemy mechanics follow-up implements supported Chain/Rend/shout effects and records the final 5/5 clear. The captures below retain their original implementation and evidence limits.

The owner replaced Wailing Caverns with Stormwind Stockade for new routine QA while authorizing the pending Blood Arrow and Barren tank-death work. Independent GPT-6 Luna extra-high subprocesses cover the mechanic, full Stockade route, separate live toggle proof, historical incident analysis and read-only reviews.

Scope and documentation

On 2026-10-04, the owner selected full stormwind-stockade for routine QA; the current policy as of 2026-10-05 uses Stormwind Stockade: Cellblock Rush (bite-sized-stormwind-stockade). Reusable constants and UI/download helpers live in scripts/playtest-defaults.cjs, and generic harnesses now use the seeded one-boss slice. Full-source campaign wrappers require explicit opt-in and route selection. Dedicated Lady/Vow and old native-combat live reproductions keep their historical labels. No-selector native route checks now use Cellblock Rush.

Existing Wailing import assets, source unit fixtures, bundled starter content and dated evidence remain valid in their original scope. No new Wailing live run is part of this task. Level cap 80, existing-save WoW compatibility, actor-local stat mode, Needs Testing policy and no-new-loot-wiring remain in force.

Evidence owners

  • docs/ROM_BLOOD_ARROW_TOGGLE_2026-10-04.md: source identity, pair-aware toggle/cost implementation and focused coverage.
  • docs/ROM_BARREN_TANK_DEATH_2026-10-04.md: historical final-pack incident and capture limits.
  • docs/STORMWIND_STOCKADE_PLAYTEST_2026-10-04.md: actual final-build route, boss objectives, mechanic, camera and screenshot proof.
  • docs/ROM_BLOOD_ARROW_STOCKADE_PLAYTEST_2026-10-04.md: separate ordinary-UI Knight/Scout and Scout/Rogue toggle/cost proof.
  • docs/STOCKADE_UTILITY_ATTACK_AUDIT_2026-10-04.md: exact source and live-event evidence for non-damaging stance/shout spells incorrectly compiled as attacks.

Mechanic and incident findings

Blood Arrow's current contract applies only to the verified Knight/Scout and Scout/Rogue owners, including every rank selected by abilityAtLevel. Its aura stays active until removed, has no legacy idle self-drain, and recast or right-click deactivation starts an owner-local ten-second cooldown. Knight/Scout offensive ranged-weapon skills cost 2% max HP plus 1% max MP; Scout/Rogue damaging ranged skills and owned NPC ranged auto swings cost 2% max HP. The Blood Punishment rider ends with its aura. Unverified pairings retain their previous imported behavior.

At this capture's build, player recurring ranged Auto Shot was absent, and the retained local 10% ranged damage aura was not a sourced current cap-80 curve. The subsequent healing/ranged follow-up owns new code and validation for Auto Shot, the Group Heal radius and party selection. The captures below retain their original build identity. No new loot system, level-cap change or readiness promotion was introduced.

The separate live run 20261004-194732821 passed both owners' ordinary buff cancellation, cooldown rejection/reactivation/reuse and unrelated-buff protection, plus owner-only NPC cancellation. Scout/Rogue's isolated Shot lost 46 HP with no MP cost; Knight/Scout's HP sample overlapped an enemy hit and its resource sample included natural updates, so that live window does not prove exact cost amounts. Focused integration covers those amounts, scheduled NPC auto costs and the level-70 rider. Root inspected the actual final screenshots and raw roster telemetry. The Knight/Scout fixture has the exact native-five complement; the optional Scout/Rogue fixture duplicates Scout/Rogue and omits Mage/Warlock, now recorded as an open companion-selection gap.

The historical Barren tank death is confounded by the old harness's sixteen-attempt heal ceiling and Blood Arrow's periodic self-cost. The last lethal transition was not sampled, so the report does not assign an exact cause or justify encounter damage tuning. The current Stockade harness removes that arbitrary heal ceiling and samples health throughout encounters.

The first Stockade route failed near Kam. Actual combat events exposed Defensive/Battle Stance and two Demoralizing Shouts dealing damage despite their pinned DBC rows containing only unsupported utility auras. The first correction omitted IDs 7164, 7165, 16244 and 13730 when their audited signatures matched; their actual utility effects remain unmodeled. Seventeen entity attack rows across ten definitions were removed, with supported Shield Slam/Rend and both affected bosses' real mechanics preserved. Regeneration also caught up existing compiler school/kind metadata: 2,392 each of schoolMask, damageOrigin, damageClass and 1,751 attackKind fields. Structural normalization found no other catalog drift or encounter scalar changes.

The failed route also had a run-store discovery omission and insufficient cast-readiness/LOS telemetry. The retry asserts progress-store discovery, waits for zero remaining GCD/personal cooldown, records actual cast starts and whole-log healing, and uses ordinary Recall plus one measured retry for an explicit blocked heal. Those capture limits and the source defect do not establish a sole cause of the old death.

The utility-corrected retry 20261004-202642234 reached checkpoint 122 of 481, about 263.1 of 759.31 route metres, before player defeat near Kam. The actual run store records Targorr as the only completed boss (1/5); this is a failed diagnostic, not a full clear. It contains 134 Urgent Heal cast events, 71 effective healing events and 43,738.6 effective healing. All four omitted utility IDs are absent from the combat log. Of 73 attempted inputs without a recorded cast start, 28 had explicit line-of-sight rejection and 33 were blocked by an enemy control effect; the remaining 12 had overwritten feedback. This does not identify the source of every control or a sole cause of defeat.

That retry exposed further import and harness defects. Battle Shout 9128 and Improved Blocking 3419 still produced damage despite utility-only source effects; Backhand 6253 and mixed-damage Shield Slam 8242 had incorrect delivery/target/range. The second source correction removes 51 more verified utility/extra-attack rows across 20 definitions and corrects 30 supported attack/control rows. An independent structural comparison found only those changes and corresponding mechanic-ID removals on 15 bosses, with no additions or unrelated encounter changes. Group Heal was already learned and bound to Alt+Digit2, but the planner scanned only primary bindings. The corrected harness scans every binding layer, captures owned-party selection and enemy control state, and supports ordinary death-checkpoint recovery.

The expanded source audit confirms additional utility-only stance, haste, dual-wield, extra-attack, disarm and debuff spells that must not become direct hits. Real hostile melee damage/control and source-centered fear/stun effects are preserved with verified targets and ranges. The compiler uses separate Ascension and Epoch spell sources by recipe, with exact profile-specific signatures. In particular, the pinned Epoch Kick 11978 has real damage plus a six-second interrupt, while Stockade's Ascension row is a pure four-second interrupt. Epoch's missing duration/radius tables use the compiler's existing patch-S fallback. This is a local source contract, not a claim of pristine Epoch timings. Real utility effects, Chain Lightning fan-out, secondary-target shout triggers, sourced Rend ticks and Enrage values remain explicit gaps.

Independent harness review confirmed that ordinary checkpoint respawn needs ordered corridor replay rather than movement straight to the interrupted waypoint. The corrected driver records replay separately, allows new boss kills during recovery while requiring prior progress to remain, and distinguishes early native completion from completed replay. Production spell-school discovery matches and retains the actual pure helper function; chunk export aliases are minified and can collide, so a bare alias is insufficient. The reviewed campaign cast window already counted Group Heal recipients; explicit recipient sets improve attribution and fix the separate entrance-segment aggregation rather than correcting a proven campaign event-count defect.

Verification

The final owner-scope regression selection passed 187/187 across five files (including 15 Blood Arrow integration checks). The UI correction selection passed 32/32 across four files: those same 15 integration checks plus 17 aura/status/party rendering checks. Stockade navigation passed 16/16; the current shared workspace avatar checks passed 56/56 across eleven files. Ready-five passed 7 Vitest and 20 Python checks. This totals 283 distinct Vitest and 20 Python checks, without a full-suite or all-class balance run. Concurrent avatar edits are preserved and are not attributed to this task.

The refreshed enemy attack/casting/damage-type/content checks passed another 24 checks, and the final source-aware campaign catalog passed 33/33. These add 57 distinct checks, for 340 Vitest and 20 Python across the task. Root independently reran this 57-check selection and Ready-five after the second regeneration, verified JSON/compressed catalog equality, and reproduced the exact 51-removal/30-correction structural diff. A stale registry-total assertion (92 versus the existing 98) was corrected with source-snapshot coverage for the six additional RuneWaker definitions; the new SmartAI fixture lookup also received a typed key after the first build caught its JSON-index error.

Nineteen root-owned default/helper harnesses passed Node syntax checks; that does not claim all migrated legacy harnesses were rerun. The separate new Blood Arrow harness and coordinated campaign harness also pass syntax checks. A final independent default audit found one future Wailing slice-playtest prompt; it now explicitly defers that dungeon until an owner request. npm run build passed TypeScript, Vite, asset audits, static compression and release-bundle verification. The normal prebuild catalog generation is existing build behavior, not new loot wiring.

Blood Arrow live-test chunks: index-CpWq1F33.js, GameRuntime-CSfKe7bD.js, combatStore-D4Bif_EK.js, PartyFrames-BDJ5ssyc.js, romAbilityCatalog-Dh-3_mot.js. An intermediate build caught a missing UI import; it was restored before this successful build. Earlier setup captures are labeled pre-correction exploration.

The subsequent utility-corrected build passed TypeScript, Vite, asset audits, compression and release-bundle verification. Frozen route-test chunks are index-Cnzz9c5G.js, GameRuntime-BeKkNayj.js, combatStore-CtB1A5Sm.js, PartyFrames-CoDzf_mJ.js, romAbilityCatalog-BZyh1vZY.js, and dungeonSession-Bct86pfr.js. The build's module report maps the actual progress-store owner to dungeonWorldInteraction-DRqE4yxE.js; its relocation between builds requires source-owner discovery from that report. The first retry's guard stopped before route inputs when the old guessed owner was absent. That intermediate build produced only partial exploratory route evidence; the final source-aware result follows below. Aggregate campaign results now distinguish a completed diagnostic from a verified full clear and include actual fullClearStatus, blocked-route status and boss progress.

The final source-aware build also passed TypeScript, Vite, asset audits, compression and release-bundle verification. Current frozen assets are index-CM5EW2MK.js, GameRuntime-aKrUucEK.js, combatStore-o8tawtxY.js, PartyFrames-Bm7f0aVD.js, romAbilityCatalog-D-lLBXpt.js, and dungeonSession-BeNxGHr9.js; the module report identifies the run-store owner as dungeonWorldInteraction-coBQV5ap.js. An independent read-only subprocess decoded all 22 pinned spell IDs from both DBC inputs and found no concrete source/implementation issue. Smoke Bomb's raw range is self-only; runtime range 5 is the existing hostile-target gate adapted to its sourced radius 5, not a raw SpellRange claim.

Final ordinary Stockade result

The frozen source-aware build cleared Stormwind Stockade through ordinary campaign input in playtest-artifacts/campaign-boss-pass/final-build-20261004-214255695/. Root independently checked the raw route JSON and inspected the actual native results screenshot, stormwind-stockade-boss-arrival.png: FULL DUNGEON CLEAR, 5/5 bosses, 17:37.7, difficulty 1 / Easy / Normal. The persistent run store contains Targorr, Kam, Hamhock, Bazil and Dextren's five required IDs. This is a verified clear, not an inference from route position or the area HUD.

The Priest/Knight player and all four named NPCs use native RoM stats. The player naturally advances from level 30 to 39. All five survive at the endpoint; Rorik dies once and returns through the ordinary Rez dead members control. There is no observed player death, checkpoint respawn or corridor replay in this successful run, so the reviewed player-recovery path is not live-proven by this capture. The native results screen stops further route inputs at waypoint 462/481, before Dextren's source anchor; natural earlier boss kills count.

Whole-log player healing contains 424 events, 203 with positive healing, totaling 158,465.20 effective healing and 423,321.80 overheal. Distinct input windows separately record 169 attempts, 166 matching cast starts and 160 effective windows. All 34 ordinary Alt+Digit2 Group Heal inputs start and heal, totaling 66,939.01 effective healing across recipients. Player damage has 53 positive events totaling 99,019. These counters do not use the ordinary entrance-segment summary schema. The route owner corrected the initially zero aggregate counters using this saved raw evidence, without rerunning gameplay. Only results.json derived metadata changed; the detailed route JSON and screenshots remain intact. It now separates the configured entrance-segment duration from the 1,058,913 ms observed campaign evidence span and native time.

An independent read-only tank audit found a strongly supported final hit from Defias Inmate creature-79108. Rorik's last living sample has 1,524.18 HP; the following five logged hits total that amount, ending in a 209.18 effective basic attack. The next sample confirms zero HP. There is no dedicated combat death event, so this is damage arithmetic with a sample-bounded transition. His last direct heal restores 868 HP. A subsequent three-second Group Heal heals Caelan but resolves 701 ms after Rorik's inferred lethal hit. The damage arithmetic implies he is already at zero, and the living-recipient filter would exclude him. The casualty observation is 139 ms after heal resolution; there is no dedicated death or recipient-selection event. Earlier direct heals succeed at 14.207 m and player control is unblocked. This does not establish a range or LOS failure. The deeper source check corrected the initial radius inference: Group Heal's ability radius is 12, but its party-heal effect omits radius and the shared player/NPC recipient resolver defaults to 30. Adjacent samples put Rorik within 30 while alive. That separate fidelity gap is now in the mechanics backlog; the frozen tested build is unchanged. No Rorik Blood Arrow activation or cost is recorded before the death; unlike the historical Barren capture, there is no evidence of a legacy self-drain contribution. Per-recipient alive/range/LOS telemetry would improve future attribution; this one trace does not justify enemy damage tuning.

Hamhock dies during an earlier pack, before the named boss checkpoint. His log contains actual Nature Chain Lightning damage, but no Vow attempt; Vow cancellation remains unverified in this run. Root inspected entry, roster, 25/50/75-percent and result images: loaded bodies and equipped silhouettes are visible, with party overlap at some samples. The entrance camera probe records held right-drag yaw -0.378 radians, zero released yaw change and null pointer lock. There are no page errors; the aggregate console capture contains only the local favicon 404. No new loot wiring or loot-menu action was introduced.

The scoped live report retains the failed exploratory runs, exact build assets, capture limitations and ordinary revival evidence. The final release-check transcript for the saved repository changes is playtest-artifacts/campaign-boss-pass/release-check-final-20261004.txt.

Bounded interrupt diagnostic

The separate --stockade-vow-diagnostic campaign mode watches Hamhock during ordinary pack triage, selects him through Tab and uses the UI-bound Vow key. It requires a living target and the same live attack/start/end tuple at input, then a completed player Vow cast on Hamhock, the actual owned rom-priest-vow-of-silence CombatAura with refreshed appliedAt/expiresAt, and disappearance before scheduled release without matching Chain Lightning damage. A mob-status owner tuple is insufficient: aura control uses an aura: source-ability marker without a player owner. Vow's silence applies before its interrupt effect, so school-lock advancement is supplemental.

Independent Luna review passed after correcting the aura observation and deadline guard. The driver checks readiness, range, control, school locks, player life and overlays, and stops input on proof, target death or its 900-second deadline. Targeted results remain separate from full-clear status. The existing production build stays frozen; only the driver and evidence reports change. Actual diagnostic outcome belongs to the live report.

The first targeted capture, final-build-20261004-224251892, ends at Hamhock's natural defeat with three recorded boss IDs and all five actors alive. It observes five interruptible Chain Lightning windows and five normal Shift+Digit5 presses, but no completed Vow cast or owned Vow aura. Two windows retain explicit "You must face that target" feedback; a separate window records Chain Lightning damage at its scheduled release. Cancellation is unverified, not evidence of a Vow runtime failure. Root inspected the actual endpoint image, which shows Hamhock's existing boss-card notification rather than a full-clear panel. The capture remains intact. A narrow driver retry uses ordinary right-drag input to face the observed target and records the actual camera yaw used by the player's combat spatial actor.

The paced retry, final-build-20261004-230719179, observes six live cast windows but issues zero Vow inputs. Its canvas guard rejects every fixed mid-height drag: the first two path points hit the visible boss notification, while the remaining points hit the canvas. Hamhock is naturally defeated, three boss IDs are recorded and all five survive. This capture does not test Vow. The follow-up correction selects an actually clear canvas row through read-only hit tests, retaining the paced input, release and cast guards.

The final targeted capture, final-build-20261004-232722030, confirms one live player Vow cancellation from four watched Hamhock cast windows and one ordinary Shift+Digit5 input. Root independently checked the raw route events, owned aura, facing evidence and actual endpoint screenshot. It uses the same frozen index-CM5EW2MK.js build as the full clear.

Chain Lightning starts at 1791157080692 and would release at 1791157082192. A paced normal right-drag changes yaw by 1.600262 radians, leaving a 1.25-radian heading error inside the hostile arc. The original cast remains live throughout the turn; player displacement is effectively zero, mouse look ends on release and pointer lock stays null. The chosen clear canvas row is 60% of viewport height, verified from live DOM hit tests.

The player Vow completes on Hamhock at 1791157081779; the owned rom-priest-vow-of-silence aura has that application time and expires at 1791157090179. At 1791157081834, Hamhock remains alive at 55,483 HP and the watched cast is gone, 358 ms before its scheduled release. Seven read-only follow-through samples continue through 1791157082310, 118 ms past release, with no matching Chain Lightning damage. The last sample still shows the living boss at 54,974 HP and no active cast. School-lock advancement is not observed; silence-first cancellation supplies the proof.

This diagnostic stops gameplay input at checkpoint 213, with Targorr and Kam as its two recorded boss IDs. It is separate from the verified 5/5 full clear. Rorik, Durnik and Caelan each die once and return through the normal Rez dead members control; all five are alive at the endpoint. The native-stat player advances from 30 to 35. There is no player death or corridor replay, so that recovery path still lacks live proof. The inspected endpoint image shows Hamhock alive and loaded equipped bodies, with party overlap and a wall occupying much of the view. No page errors occur; the only console error is the local favicon 404. No runtime, catalog or build changes are made for the three targeted captures.