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

7.7 KiB

RoM healing, party selection and ranged follow-up (2026-10-04)

The owner approved four follow-ups to the Stockade continuation: Group Heal's recipient radius, the active native-five party complement, recurring player Auto Shot, and source verification of Blood Arrow's damage curve through the level-80 cap. Independent GPT-6 Luna extra-high subprocesses implement and audit the mechanics; the parent coordinates shared files, build and live QA.

Current implementation and source boundary

Group Heal source 490281 already supplied an ability radius of 12 metres, but its party-heal effect omitted that field and the shared resolver used its 30-metre fallback. The catalog now copies the sourced radius onto only that spell's party-heal effect. Player and companion execution share the living, distance and line-of-sight recipient rules. Other spells keep their existing recipient contracts. See the radius report.

Party generation now receives the player's exact ordered RoM class pair from ordinary entry and avatar preloading. If the other active identities can fill the requested roles, generation excludes the player's identity. The full five-person party therefore uses the other four canonical identities around each supported player. Unsupported pairs and unfillable compositions keep the prior role-pool fallback. Actor stat rulesets and readiness remain independent. See the selection report.

Scout/Rogue player Auto Shot now uses learned primary skill 492589 through ordinary ability bindings. Its independent timer produces recurring ranged Physical attacks at 80% ranged weapon DPS. Supported native actors use the source ranged damage and interval; unsupported/custom gear falls back to the resolved item's shared DPS and speed. The existing automatic Training Gear bow is valid with an empty inventory; compatible assigned gear overrides it and unequipping that gear restores the training bow. Haste is resolved once in both stat modes. The active mode suppresses melee/off-hand swings, follows target selection, can always be stopped and clears on target loss, missing resolved gear, death and reset. Owned Blood Arrow charges its 2% maximum-HP cost once per committed shot attempt and skips unaffordable attempts. The source does not quantify its contribution from the last offensive skill; that bonus remains omitted. Local range and other runtime constraints are documented in the Auto Shot report.

The Blood Arrow audit has not established a current skill-rank formula through 80. Current Scout/Rogue and Knight/Scout pages each publish only the maximum skill-rank-105 value of +104.5%; that single point does not establish rank 80. The local RuneWaker snapshot supplies one historical +10% component. Retain the current 10% approximation until additional matching source evidence is available. See the source audit.

Validation and evidence

The final seven-file mechanic regression selection passes 96 checks: Auto Shot 13, native auto attacks 5, Blood Arrow/Blood Punishment integration 15, Group Heal radius 3, party selection 32, Blood Arrow evidence boundary 1 and catalog semantics 27. Ready-five passes seven Vitest and twenty Python checks, for 103 distinct Vitest and twenty Python checks in the required selection. The shared production build passes TypeScript/Vite, prebuild asset audits, static compression and release-bundle verification. Its frozen entry is index-CLGdfcYj.js for the initial probe. The initial live run exposed an explicit-assignment-only guard that rejected the automatically supplied bow. The authoritative resolved-loadout correction now passes its fresh-profile and custom-item fallback checks. The replacement production build passes all hooks with entry index-Cvmh-YKE.js; its recursive 123-JavaScript manifest SHA-256 is ed3cb65752426810c84be15184306114fdf36d3804a23f917213fc854f4651d4. Bounded full Stormwind Stockade run 20261005-042203897 passes its three required live criteria in 61.051 seconds on that unchanged freeze. Both normally generated parties are the player's exact four-identity native-stat complement. Normal Attack order supplies natural injuries; a completed player Group Heal gives Caelan 92 effective HP. Its full-health self event is entirely overheal. Two sourced Auto Shot Physical hits deal 37 effective damage each, 2,612 ms apart. Normal stop input clears the mode and produces no Auto Shot hit during the observed stop window. The captured restart is not attempted after target death, so restart remains inconclusive live. The focused recurring test verifies stop-window silence/no cost, reactivation without an immediate or catch-up hit, and a fresh full-interval deadline followed by one shot.

Blood Arrow is already owned and active at the Scout entry. Its raw HP windows overlap combat and recovery; exact HP-only cost is integration-test evidence, not inferred from aggregate live deltas. NPC recipient position is unavailable in the Group Heal snapshot, so the 12 m boundary remains deterministic test proof. Actual screenshots show loaded bodies, equipped silhouettes and HUD, with doorway/party overlap and camera occlusion. There are no page or asset HTTP errors; the console records a favicon 404. Raw JSON and images are in playtest-artifacts/rom-healing-ranged-stockade/20261005-042203897/ and details are in the live report.

Initial run 20261005-040846797 preserves the fixture name-casing failure. Run 20261005-040932648 preserves the rejected automatic bow and unengaged Defend/selection-only encounter. Neither is relabeled as successful. This follow-up proves bounded mechanics, not another full clear or balance pass. Supplemental same-build run 20261005-042845955 passes the same criteria in 61.658 seconds: Caelan again receives 92 effective Group Heal HP and two Physical Auto Shot hits deal 36 each. Normal Stop party order preserves the target briefly, then Auto Shot cancellation clears its state with no shot in the observed stop window. The target still dies before restart; the original Defend order is restored. Root also inspects that run's stopped-party and cancel/restart screenshots. No further live run is required for this scope.

A supplemental generic combatStore.test.ts run passes 110 of 111 checks and reports a Chronomancer resource expectation mismatch (414 expected, 369 observed). The same exact test fails with committed HEAD versions of the changed production modules, so this mismatch predates the follow-up. The baseline replay report records its source-only scope and both logs. It is not hidden inside the passing required selection.

Final validation also passes the standalone TypeScript check after the new restart assertions, using the project's 8 GB Node heap setting. A preceding check with Node's smaller default heap exhausted memory. npm run release:check passes for all 20 changed game paths, including untracked files. Exact EOF newline/trailing-whitespace checks pass for 26 changed game and relevant vault text files; both Git diffs are reviewed and the real index remains unstaged.

Earlier Stockade full-clear and Vow captures remain evidence for their recorded builds. They do not verify this new code. New live checks use ordinary entry, bindings, movement and casts, with read-only runtime telemetry. Any isolated level-30 profile preparation must be identified in the live report.

The baseline is clean game commit 6114a229; pre-existing vault changes are preserved. This task does not add loot or ammunition, raise the level cap, promote a Needs Testing build, commit or deploy.