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

11 KiB
Raw Blame History

Native RoM recovery, equipment and pacing follow-up — 2026-10-03

Source recovery

Native player and owned-party NPC HP/Mana now use the verified RuneWaker ReHP/ReMP inputs. Each actor keeps its own ruleset, attributes, gear and secondary class; saved WoW-mode RoM profiles keep compatibility behavior. Player pulses occur every two seconds, owned NPC pulses every six. Combat recovers no HP and ReMP/24 Mana per pulse; idle standing players use ReHP/ReMP divided by three and idle owned NPCs use 0.66 times those values. Source aura effects are sampled at each pulse, including expiry boundaries. Explicit periodic Mana effects remain separate.

The source audit and limitations are in the recovery report. There is no sitting control or simulator StopOntimeCure state, and combat detection approximates the source attack-mode flag. Stopping companions while an enemy remains engaged does not grant idle recovery.

All five active native companion identities, secondary Mana, and WoW compatibility are covered by romNativeRecoveryParity.integration.test.ts. The original focused recovery selection passed nine tests; the additional parity selection passed three.

Imported NPC equipment

All 440 imported NPC defaults and 11,000 explicit main-hand/off-hand candidate pairs now resolve supported native snapshots. This closes the previous 42 default fallbacks with source position-specific weapon channels, the explicit type-zero no-op, and valid secondary vocation growth. Unknown effects and future non-empty ornaments remain fail-closed.

Off-hand and bow damage/speed/range are available in snapshots; this does not schedule extra enemy swings. No exporter changes or loot wiring were needed. See equipment completion.

Compatibility pacing

The four legacy failures are resolved with boss health budgets while retaining the original 25-second ordinary and 45-second final minimum checks. WoW starter health floors are 1,800 at enemy level 2 and 2,600 at level 4. RoM-origin WoW-mode boss health has a separate compatibility multiplier. Native source amounts and actor defaults remain independent.

All 83 targeted compatibility timing samples now pass, including all 12 level-80 RoM seeds. The focused scaling selection passed 18 tests and the additional native/bite-sized pacing selection passed six. Exact native level-8 and level-80 health/damage-budget assertions guard separation. Full pre/post timing evidence is in the pacing report.

Source recovery pressure measurements

Six focused pressure tests passed, including 16 real-source Anglo pulls at levels 10/30/60/80 with scripted spread/stack positions, active/idle healer comparisons, movement, interrupts and player/NPC dispels. All sixteen pulls clear without deaths. Native source recovery lowers minimum active-healer Mana at level 10 from approximately 95–97% to 77–85%, and at level 30 from 96% to 87–90%. Levels 60/80 still retain approximately 98–99% Mana. This records the remaining high-level sustain limitation instead of claiming a challenging Mana budget across all levels.

Reports are preserved under artifacts/rom-enemy-followup/; these artifacts are diagnostics rather than readiness certification. The historical 80-pull cohort used shared regeneration. Its clear times cannot establish current native source sustain.

Early-level sustain correction

The source-recovery rerun exposed a real early-level regression: the level-one Knight/Anglo sample took 141 seconds with a player and Rogue NPC death, compared with the preserved 54-second shared-regeneration baseline. Holy Strike's manual effect rewrite had lost its weapon delivery classification, so its Holy school prevented starting free auto-attacks. Explicit source attack-kind metadata now preserves the same 16-point Holy direct hit while starting the 22-point physical training swing. The focused cast-to-auto regression passes; no weapon-hand amount override or source recovery multiplier is used to hide the issue.

The level-one NPC Priest has 123 Mana and ReMP 4.8, recovering only 0.2 Mana per six-second combat pulse. Its shared fallback initially chooses 12-Mana Rising Tide while Urgent Heal costs 25. The early native-healer decision policy reserves one learned direct heal before spending Mana on hostile damage. This is a clean-room simulator rotation policy, separate from source recovery and spell amounts.

The reserve preserves its spending boundary; it does not by itself resolve the failed fight. After both runtime fixes, the 0.30 native level-one boss factor still kills the Knight and Rogue NPC. The measured training budget is now 0.20 at level one, leaving trash at 0.40 and every anchor from level 10 onward unchanged. Levels 2–9 interpolate smoothly to the unchanged level-10 factor. Anglo's level-one pool becomes 1,848 HP; the Knight clears in 42.1 seconds with 95.6 HP and no companion deaths. The five level-one player seats clear Anglo in 34.1–42.1 seconds. Source recovery, damage formulas and damage-budget anchors remain unchanged.

The unchanged fixed diagnostic now passes all 80 player/four-NPC pulls at levels 1/10/30/60/65/66/79/80: zero player/NPC deaths and zero invalid casts. Trash takes 4.9–8.7 seconds and Anglo 34.1–58.5 seconds. Static positions do not establish full scene navigation.

Focused verification

The final source/recovery/resource/damage-type selection passes 156 tests across 24 files, including all 40 fixed/MaxHP actor cases and the 16-pull pressure report. The separate 80-pull diagnostic and five native pacing checks pass. The exact legacy suite passes all 18 checks again after the source-recovery and reserve changes; its 83-sample final report is artifacts/rom-enemy-followup/after-compatibility-pacing-post-recovery.json. Ready-five passes seven Vitest and twenty Python cases; avatar checks pass 47 tests. These selections overlap and should not be added as unique test counts.

An additional combatRotation.test.ts run passes 30 of 31 checks. Its existing representative-signature assertion fails for Rogue Killing Spree because that catalog entry has only unsupported/scripted/utility effects. The assertion does not exercise the new native reserve; this unrelated mechanic was not implemented or its check weakened. The four new reserve checks pass, including the real benchmark fallback gate, exact 36/37-Mana boundary, effective-cost override and valid/invalid heal targets.

The 8 GB app TypeScript check and final npm run build pass, including bootstrap generation, texture/performance audits, TypeScript/Vite, static compression and release-bundle verification. The performance audit reports no new regressions; existing chunk-size and static/dynamic-import warnings remain. Final chunks are index-DzLgXnx0.js, combatStore-Dh-12M9R.js, GameRuntime-C95Du8PI.js and PartyFrames-Cf7FSiBA.js.

Full selected production encounters

scripts/playtest-native-combat.cjs --full-fights uses an isolated local account and the exact final production build. A UI-created level-30 native Priest/Knight healer joins the four other native identities. The selected Boss Testing scenes keep original attack lists/cooldowns; level and class pairing are test setup. Keyboard action bindings perform healing, cleanses and counters without direct damage, HP/Mana or healing edits during fights. These reduced testing-room budgets are separate from campaign durability.

Selected scene Clear time Player Mana minimum / end Survival
Anglo, RuneWaker NPC 101462 39.9s 88.7% / 88.9% Player and all four NPCs alive
Lady Anacondra, WoW creature 3671 16.5s 91.0% / 91.0% Player and all four NPCs alive

There are no page errors. Anglo retains Physical Trample/Bash and its magic-dispellable Gulp control; Lady retains Nature-school spell Lightning Bolt and her original Druid's Slumber. Source-ID namespaces remain separate. Both Anglo cast cancellations were observed before their scheduled completion alongside real healer counter inputs. Gulp clears from the tank 1.85 seconds before source expiry after a cleanse input; the Rogue's separate Gulp expires naturally. Lady's Mage sleep clears 4.74 seconds before expiry after a cleanse input. Lady's single Vow of Silence attempt did not show a Lightning Bolt cancellation, so this run does not establish that particular cross-source interrupt behavior.

The full fights record zero movement inputs; the ranged healer remains outside the melee warning. Movement is checked separately in a labeled staged source-warning fixture, rather than being attributed to those full fights.

The same-final-build staged Anglo selection passes all three source fixtures, each releasing once, with no page errors. Trample spell 492292 retains its 1.8-second cast, five-unit radius, Physical school, effect and warning. Fixture setup selects one source attack, resets readiness/positions/threat and sets repeat cooldown to 60 seconds; companion actions are paused for the movement warning. Real W-key movement covers 2.75 units while the cast remains live, from 3.93 inside the radius to 6.69 outside. The player receives zero Trample damage while a nearby Rogue receives 262, proving recipient exclusion rather than suppressing the entire packet. Bash and Gulp also release once. Telemetry is playtest-artifacts/native-combat/results.json; the warning and movement images are anglo-trample-warning-fixture.png and anglo-trample-movement-fixture.png. Both were visually reviewed.

Full-fight telemetry and screenshots are in playtest-artifacts/native-combat/full-fights-20261004-024033763/. Root visual review confirms the roster player's body/staff, loaded player and party bodies with held weapon/shield/staff/bow silhouettes in the mid-fight capture, readable native recovery/Training gear equipment UI, and the defeated-boss result. Initial NPC loading placeholders resolve by mid-fight; they are not claimed as the loaded visual proof. No readiness review or dungeon report was submitted.

The harness syntax check, repository release check (including untracked files), repository/vault diff checks and edited-vault-note EOF/whitespace checks pass. These selected desktop Boss Testing scenes and scripted diagnostics do not certify every encounter, mobile UI, campaign traversal or readiness.

Validation boundary

This is targeted work on the five active RoM builds and the current WoW Ready five. RoM builds remain Needs Testing. Cap 80, actor-local compatibility switching, automatic Training gear and the current loot scope remain unchanged. No all-class sweep, readiness promotion, commit or deployment is part of this task.