120 lines
7.7 KiB
Markdown
120 lines
7.7 KiB
Markdown
# 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](ROM_GROUP_HEAL_RADIUS_2026-10-04.md).
|
|
|
|
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](ROM_NATIVE_PARTY_SELECTION_2026-10-04.md).
|
|
|
|
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](ROM_PLAYER_RANGED_AUTOSHOT_2026-10-04.md).
|
|
|
|
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](ROM_BLOOD_ARROW_SCALING_2026-10-04.md).
|
|
|
|
## 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](ROM_HEALING_RANGED_STOCKADE_PLAYTEST_2026-10-04.md).
|
|
|
|
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](../artifacts/rom-healing-ranged-baseline/README.md)
|
|
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.
|