Files
healer-man/docs/ROM_NATIVE_SUSTAIN_AUDIT_2026-10-04.md
T
2026-10-04 13:13:35 -04:00

5.1 KiB

Targeted native RoM healing sustain audit — 2026-10-04

Scope

This diagnostic runs three consecutive Barren Caves Anglo pulls at levels 60 and 80. Each pull uses the original RuneWaker NPC 101462 attack list and the existing boss health budget. The active five are the native RoM Knight player in the tank seat and owned Priest, Rogue, Scout, and Mage NPCs. The Priest is measured as the owned party actor party-healer-0-rom-priest; its healing events are selected by that exact sourceActorId, independently of player healing.

The test preserves party HP, Mana, effects, and cooldowns between pulls. The first interval has no enemy for 10 seconds; the second has no enemy for 90 seconds. It does not reset the party between encounters. The focused test writes its measurements to artifacts/rom-enemy-followup/native-sustain-2026-10-04.json when ROM_NATIVE_SUSTAIN_REPORT=1.

Heal-event rawAmount is reported separately because it can be affected by source modifiers. Event publication occurs synchronously inside the heal state update, so the test reads pre-heal actor HP in the event callback and derives post-heal HP from effectiveAmount. Delivered healing is the conserved effectiveAmount + overheal; the waste share below uses that delivered amount. Cast-time Mana cost is an estimate reconstructed from the actor's ability-cost calculation at release. Starting, minimum, and ending Mana are actual NPC resource-pool readings. The capacity shown in the table is the NPC's resource maximum captured at pull start; temporary effects may change capacity during a pull.

Results

All six pulls cleared with the player and all four NPCs alive. The Priest never ran out of Mana. Pull time and boss damage vary by level and pull:

Level Pull Clear Boss damage to party Priest minimum Mana / starting capacity Minimum / starting capacity Estimated Priest Mana cost
60 1 79.1 s 3,233 6,138 / 6,904 88.9% 979
60 2 90.4 s 7,344 5,711 / 8,077 70.7% 911
60 3 80.6 s 5,588 7,521 / 8,077 93.1% 746
80 1 124.1 s 47,618 17,286 / 17,924 96.4% 1,255
80 2 123.3 s 27,704 17,683 / 19,736 89.6% 1,265
80 3 118.7 s 24,385 19,123 / 19,736 96.9% 1,178

Across level 60, the NPC Priest delivered 110,080 healing: 39,753 effective and 70,327 overheal (63.9%). At level 80 it delivered 264,241: 183,396 effective and 80,845 overheal (30.6%). The raw event-amount sums were 110,080 and 264,241 in these samples. The Priest released 15 Heal and 12 Regenerate casts at level 60, and 19 Heal and 13 Regenerate casts at level 80. Regenerate tick overheal accounts for 32,718 at level 60 and 51,936 at level 80; direct Heal packets account for 37,609 and 28,909 respectively. Periodic ticks after a paid cast do not each spend Mana.

Mana at the second pull shows what a short break restores without resetting actors. At level 60, the Priest had 6,154 Mana after pull 1 and 6,403 after 10 seconds; at level 80 it had 17,327 and 18,305. The 90-second breaks restored 2,366 at level 60 and 2,053 at level 80, taking the Priest to full of its pull-3 starting capacity.

The measured Priest remained at full health through all four breaks: 7,935/7,935 at level 60 and 29,286/29,286 at level 80. Cooldowns continued to run instead of being reset. For example, rom-priest-general-3 had 50.9 seconds remaining before the level-60 short break and 40.9 afterward; at level 80, a 113.2-second cooldown became 23.2 seconds over the long break.

Healing decision observation

The owned NPC attribution showed substantial overheal but not a safe direct-heal suppression rule. All observed Priest Heal cast starts had a pending rom-priest-general-2 Regenerate, with the target's party/player health snapshot between 58% and 90%; the mirrored combat-actor HP is recorded separately to expose state differences. The casts take two seconds while Anglo continues attacking, and the lowest observed target snapshot was in that pressure window. Merely detecting a HoT would therefore suppress some direct heals during active damage. No full-health direct Heal appeared in the party/player health snapshot at cast start, and at least one direct heal remained observable with an active HoT at 60% health or below. The focused test guards both observations.

No healing AI or source recovery change was made. The audit records meaningful level-60 overheal and tests the emergency path, but it does not establish that changing the native source rates, direct-heal threshold, or HoT timing would improve survival across encounters. This remains a targeted sustain diagnostic, not a balance or readiness certification.

Validation limits

The result covers one selected source boss, one active-five seating, and six deterministic local pulls. It does not establish campaign traversal, all RoM healer pairings, different boss attack mixes, mobile scene behavior, or class readiness. Run only the focused test for this diagnostic:

$env:NODE_OPTIONS='--max-old-space-size=8192'
$env:ROM_NATIVE_SUSTAIN_REPORT='1'
npx vitest run src/game/romNativeSustain.integration.test.ts