6.7 KiB
Barren Caves tank death investigation (2026-10-04)
This is historical incident analysis only. Barren Caves was not replayed. The current default for live dungeon diagnostics is Stormwind Stockade; use a future Stockade run to verify healer behavior after the active fixes land.
Evidence reviewed
playtest-artifacts/campaign-boss-pass/final-build-20261004-150021873/barren-caves-campaign-boss-route.jsonand its screenshots. The captured build assets wereindex-DHQInfBp.jsandcombatStore-Cx06rFzG.js.playtest-artifacts/campaign-boss-pass/final-build-20261004-150021873/results.json.- The earlier exploratory run at
playtest-artifacts/campaign-boss-pass/exploration-current-dist-20261004-144223345/failure.jsonandfailure.png. - Current combat ownership in
src/game/partyRuntime.ts,src/game/partyAbilityAi.ts, andsrc/game/generated/romNativePeriodicDamageBindings.generated.json. - At the time of the final capture,
scripts/playtest-campaign-boss-pass.cjshad a 16-entry heal-attempt limit instabilizeCampaignPack. The Stockade migration now removes the arbitrary attempt-count ceiling and retains the 110-second encounter/deadline bounds; this note describes the older capture behavior.
Both captures show a normal campaign full clear: 13:36.9 in the final build and 10:45.8 in the earlier exploration. The character started as a level-30 RoM Priest/Knight and naturally reached level 36. Rorik was the only fallen party member; the player and three damage companions survived. The final artifact records 46,328.47 effective native healing across the route and partyDeaths: ["Rorik"]. The earlier results screen also shows Rorik at 0 HP. Its harness failure happened after the results overlay opened, when the harness tried to click a party frame.
The final run reached a full-clear overlay before the harness's separate boss handler ran. Treat the final route pack as a normal-play incident trace, not an isolated boss balance trial.
Final encounter findings
The final recorded pack began at 15:12:49.086 and ended at 15:14:24.850. It ran through two Kobold targets and Anglo. In the captured harness version, it recorded exactly 16 healing inputs and then stopped entering the triage branch. Thirteen inputs produced positive healing events; three produced no healing event and no resource change. Eleven positive heals targeted Rorik for 6,365 total effective healing; one healed Veyra and one healed Caelan.
Rorik's last positive heal completed at 15:13:55.625, raising him from 2,488.69 to 3,284.69 HP out of 3,488.69. The 16th recorded healing input at 15:13:56.628 healed Caelan. There are no later Rorik healing events. The hard 16-input guard therefore suppressed further triage for the rest of this long combined trash-and-boss pack, even if another ally later crossed the 88% threshold.
The captured casts do not show range as the blocker. The player-to-Rorik distance at healing inputs reached 18.66 m; the bound Urgent Heal range was 25 m, and those casts resolved. Across the 181 samples (which stop before this pack), the maximum player-to-living-party separation was 12.52 m; the pack-end value was 15.56 m. A single line-of-sight rejection occurred earlier in the route at 13.48 m and a later heal resolved. No failed final-pack input records an explicit range or line-of-sight reason, but concurrent combat feedback overwrote the failure message, so those three no-event inputs cannot be classified. Cast waits for resolved Urgent Heal actions were about 1.1–1.3 seconds. The player finished with 3,643/3,747 Mana, so resource exhaustion is not supported by this trace.
Blood Arrow self-damage
The combat log also shows the NPC tank activating Blood Arrow, ability rom-scout-general-4 (source skill 490434). The generated RoM skill row describes a 30-second effect that reduces the user's HP by 3% every second to raise ranged physical attack. Its periodic binding uses component 500871, a one-second HP drain with dotBase: -3.
Rorik's own runtime actor applied the aura seven times at 15:00:46.945, 15:02:50.840, 15:04:51.240, 15:06:51.332, 15:09:22.430, 15:11:35.425, and 15:14:08.939. The event log records 17,022 total Blood Arrow self-damage across the route. The final application produced eight 105-HP ticks through 15:14:17.022. This is separate from the 9,013.69 effective damage from mobs in the final pack.
From Rorik's last healed state to the last observed combat event, the log contains 2,218.69 effective mob damage and 840 Blood Arrow self-damage. That leaves about 226 HP by arithmetic if the event and health snapshots are complete; the result endpoint instead reports 0 HP. The exact lethal transition is therefore unresolved.
Limits and next ownership
The route has 181 periodic samples, but the last is at 15:12:47.140, before the final pack started. The trace contains no HP samples for the roughly 96-second final encounter, and the combat event stream ends at 15:14:17.526, 7.3 seconds before the results endpoint. The endpoint proves Rorik was down, but it does not supply the lethal timestamp or a continuous HP curve. Do not treat the event arithmetic as proof of the exact killing blow.
The evidence identifies two concrete confounders before any encounter tuning: the captured route harness stopped healing after 16 recorded inputs, and the Knight/Scout NPC rotation applied a 30-second, HP-draining Blood Arrow effect. The first belongs to stabilizeCampaignPack in scripts/playtest-campaign-boss-pass.cjs; the current Stockade migration removes its attempt-count ceiling and samples HP throughout pack handling. Existing encounter/deadline bounds still prevent an unbounded run. The second belongs to the companion ability and periodic-effect lifecycle in src/game/partyRuntime.ts, src/game/partyAbilityAi.ts, and src/game/romNativePeriodicDamage.ts. The Blood Arrow lifecycle is already under a focused follow-up. Do not change Anglo or dungeon damage from this evidence.
For the next live diagnostic, use Stockade. Capture party HP, player-to-ally distance, selected heal target, cast result, resource, and Blood Arrow aura/tick events throughout the full boss phase. Then compare incoming mob damage with effective healing after the NPC self-drain behavior and harness cap are isolated.
The subsequent verified-pair implementation now removes legacy idle drain for Knight/Scout and Scout/Rogue and uses owner-local toggle/deactivation cooldown and per-ranged-action costs. Focused native/compatibility player/NPC checks and ordinary Stockade UI evidence are in the implementation and the live report. This correction does not fill the missing historical lethal sample or establish an exact cause for Rorik's old death.