forked from phenom/healer-man
Update Healer Man server
This commit is contained in:
1 parent
6114a2295f
commit
69809f7228
593 files changed
+903643
-40774
No files matched your search
@@ -1,6 +1,6 @@
|
||||
# First Conquest of Azeroth party
|
||||
|
||||
Updated: 2026-10-04. The project owner selected these five classes as the first
|
||||
Updated: 2026-10-05. The project owner selected these five classes as the first
|
||||
CoA implementation milestone. Build and refine this party before expanding to
|
||||
other CoA classes. CoA here means Conquest of Azeroth on Vol'Jin; the existing
|
||||
RoM backlog's Chronicles of Arcadia references describe a different game.
|
||||
@@ -88,7 +88,7 @@ and explicitly scoped Balance Lab configurations.
|
||||
active-player configurations, retaining the same party build IDs in each.
|
||||
|
||||
```sh
|
||||
npm run coa:party:prepare -- --list-bosses ragefire-chasm
|
||||
npm run coa:party:prepare -- --list-bosses stormwind-stockade
|
||||
npm run coa:party:prepare -- --level 60 --boss <exact-key-from-list>
|
||||
npm run coa:party:test
|
||||
```
|
||||
@@ -128,9 +128,10 @@ retain their previous action catalogs.
|
||||
|
||||
This fixes action availability, not the complete effect of each spell. Initial
|
||||
Potion Toss checks cover its base targeted heal and mana payment for a player
|
||||
and companion; ingredient riders and its full authored scaling remain work.
|
||||
Decapitate's target-health gate is a separate first mechanic; additional Energy
|
||||
conversion and the Beheader refund remain pending.
|
||||
and companion. The follow-up below adds ingredient state and the Frog Bones
|
||||
rider; other riders and the complete Brewing loop remain work. Decapitate's
|
||||
target-health gate and Beheader's kill refund are separate mechanics;
|
||||
additional Energy conversion remains unresolved.
|
||||
|
||||
Ranger's primary resource is now Focus, matching its spell costs. Player and
|
||||
companion checks cover spending, the displayed/authoritative pool, and recovery.
|
||||
@@ -172,16 +173,391 @@ correction are:
|
||||
|
||||
Raw runs are local ignored artifacts at
|
||||
`artifacts/coa-first-party/level-60/seat-1-runs.json` through `seat-5-runs.json`.
|
||||
Companion action counts are substantially lower than player counts; Ranger and
|
||||
Pyromancer companions each cast only three times in the healer-seat run. That
|
||||
run's Ranger still records 32.3% Focus starvation. The profile correction alone
|
||||
does not resolve their rotations, stateful costs, or generic effect semantics.
|
||||
The large player-seat differences require mechanic and AI investigation before
|
||||
balance changes. This low-pressure encounter also provides limited evidence
|
||||
for tank/healer interactions.
|
||||
The original claim that Ranger and Pyromancer companions each cast only three
|
||||
times was a telemetry error. Damaging companion casts were omitted from the
|
||||
counter despite damage and decision events showing more activity. The corrected
|
||||
collector counts release presentations once per cast, including channel pulses
|
||||
only once. A new Hamhock healer-seat diagnostic records 19 Ranger and 17
|
||||
Pyromancer companion casts. Ranger still records 32.3% Focus starvation; raw
|
||||
cast counts do not establish a coherent resource/state rotation. The large
|
||||
player-seat differences require mechanic investigation before balance changes.
|
||||
These low-pressure encounters provide limited evidence for tank/healer interactions.
|
||||
|
||||
These are explicitly scoped automated diagnostics, with no live browser
|
||||
playtest or balance certification in this kickoff. All five remain Needs
|
||||
Testing. The next implementation pass is Guardian's Vanguard state together
|
||||
with Witch Doctor's cauldron/ingredient loop and reviewed talent allocations,
|
||||
followed by the three damage loops and companion rotation parity.
|
||||
Testing. New routine diagnostics use Stormwind Stockade: Cellblock Rush
|
||||
(`bite-sized-stormwind-stockade`) under `TEST_DUNGEON_POLICY.md`; record the
|
||||
boss selected from the run ID. Full-source Stockade campaigns require explicit
|
||||
selection. The Taragaman records above remain historical evidence.
|
||||
|
||||
## Mechanics and rotation follow-up, 2026-10-05
|
||||
|
||||
- `coaGuardianVanguardRuntime.ts` owns learned node 34417's actor-owned Vanguard
|
||||
state. Source spells 804383/804384 establish one stack per landed normal swing
|
||||
or block, ten maximum, a refreshed 60-second duration, and 2% less damage from
|
||||
each magic school per stack. Direct incoming spells use the current mitigation
|
||||
before consuming one stack. Periodic-tick consumption is unresolved and is
|
||||
excluded. Player and companion event hooks use the same state transition.
|
||||
- `coaWitchDoctorBrewingRuntime.ts` owns persistent ingredient markers and the
|
||||
one-ingredient capacity, raised to two by learned Mixologist node 6645. An
|
||||
ingredient already present may refresh; an additional ingredient at capacity
|
||||
fails before payment. Replacement/removal behavior is not specified by the
|
||||
captured evidence. Frog Bones 801663 no longer creates the importer's bogus
|
||||
one-second caster shield. It retains its 1.5-second cauldron pulse. Potion Toss
|
||||
801661 adds the shield from global spell 802971 to its selected ally only when
|
||||
that caster owns an active Frog Bones marker: eight seconds, base 100, five
|
||||
points per level from level ten, 35% Spirit and 80% bonus healing. Other
|
||||
ingredient markers do not establish their unfinished Potion Toss riders.
|
||||
- `coaBarbarianExecuteRuntime.ts` also owns learned Beheader node 6744's exact
|
||||
Decapitate kill refund: 100% of maximum Energy after an effective killing hit,
|
||||
clamped to the pool maximum. Failed, nonlethal and unrelated hits do not refund.
|
||||
The additional-Energy damage conversion has no verified ratio in this slice.
|
||||
Its generic weapon-damage projection also needs review: separate DBC weapon
|
||||
effects must not be treated as two independent weapon hits.
|
||||
- Pyromancer Ignite's selected-enemy implicit target takes precedence over its
|
||||
DBC radius metadata. Both tree and progression variants use unit targeting;
|
||||
nearby enemies no longer receive the selected enemy's burn.
|
||||
- Chosen-five unit-target periodic maintenance compares ability, caster,
|
||||
recipient and positive remaining duration. A burn or HoT on one actor no
|
||||
longer blocks applying that spell to a different actor. This correction does
|
||||
not author speculative class priority lists or clipping windows. Mojo Beam's
|
||||
incidental caster aura no longer redirects its friendly unit heal to the
|
||||
caster; the scorer selects the injured ally and checks that ally's own HoT.
|
||||
An actual companion channel check verifies Mana payment and the first pulse
|
||||
on the injured Vanguard ally. It does not resolve Mojo Beam's duration conflict.
|
||||
|
||||
The companion Potion Toss rider check primes its actor-owned ingredient marker
|
||||
explicitly. Default healthy companion AI does not prepare its cauldron; authored
|
||||
ingredient preparation and selection remain a rotation gap. Loa's Brew winning
|
||||
one injured-ally fixture does not, by itself, establish a wrong healing priority.
|
||||
|
||||
Formation/Paragon, full Brewing riders and payloads, Decapitate's Energy
|
||||
conversion/Battle Rhythm, Ranger Advantage/Elude, Pyromancer Heat/Embers and
|
||||
reviewed talent allocations remain the next mechanics work. All five remain
|
||||
Needs Testing. Automated checks do not replace live party playtests.
|
||||
|
||||
The follow-up's explicitly scoped Stockade/Hamhock diagnostic retains level 60,
|
||||
seed 1, a 30-second limit and the same five generated builds in each seat:
|
||||
|
||||
| Active player | Outcome | Elapsed seconds | Boss health remaining | Deaths |
|
||||
| --- | --- | ---: | ---: | ---: |
|
||||
| Guardian | Time limit | 30.0 | 80,815 | 0 |
|
||||
| Witch Doctor | Time limit | 30.0 | 77,898 | 0 |
|
||||
| Barbarian | Defeated | 13.6 | 0 | 0 |
|
||||
| Ranger | Time limit | 30.0 | 28,443 | 0 |
|
||||
| Pyromancer | Defeated | 27.8 | 0 | 0 |
|
||||
|
||||
Raw runs are ignored local artifacts at
|
||||
`artifacts/coa-first-party/stockade-2026-10-05/seat-1-after.json` through
|
||||
`seat-5-after.json`; seats two/four also retain before runs. The final healer-seat
|
||||
run records 19 Ranger and 16 Pyromancer companion casts, with Ranger still
|
||||
32.3% Focus-starved. Correct source behavior can change damage and timing;
|
||||
these outcomes do not establish balance, authored allocations, or full-class
|
||||
completion. Low encounter pressure limits healer/tank conclusions. No live
|
||||
browser playtest was performed in this mechanics follow-up.
|
||||
|
||||
Focused validation passes 126 tests across 19 directly affected files, including
|
||||
the helper, public scorer and actual player/companion behavior checks. Ready-five
|
||||
compatibility passes seven Vitest and twenty Python tests. The generated runtime
|
||||
and UI changes are limited to two Pyromancer Ignite actions; the other twenty
|
||||
class records, resource profiles and triggered payloads are preserved.
|
||||
The final production build passes TypeScript, asset audits, bundling, static
|
||||
compression and release-bundle verification. `npm run release:check` passes,
|
||||
including untracked files. The canonical CoA vault note is updated separately.
|
||||
|
||||
## Brewing integration, 2026-10-05
|
||||
|
||||
`coaWitchDoctorBrewingAi.ts` owns an authored companion preparation policy.
|
||||
`partyRuntime.ts::choosePartySupportIntent` prepares learned Frog Bones when a
|
||||
Brewing healer has Brewer and Potion Toss, every party member/player is at
|
||||
least 90% healthy, and no resurrection, dispel or engaged-enemy cast is pending.
|
||||
Normal readiness, Mana, target and capacity checks still precede payment. It
|
||||
preserves an existing full cauldron and does not refresh an existing own Frog
|
||||
Bones marker. This is a conservative gameplay policy, not a sourced optimal
|
||||
rotation. Other ingredient selection remains unfinished.
|
||||
|
||||
`partyAbilityAi.ts` projects the caster's current Brewing effects before
|
||||
scoring heals. Ingredient casts are excluded from the ordinary Brewing healer
|
||||
rotation so they cannot displace healing or repeatedly refill the cauldron.
|
||||
Actual idle companion tests prepare through normal selection and payment,
|
||||
then heal and shield an injured player with Potion Toss, without seeding an
|
||||
in-flight cast or priming an ingredient marker.
|
||||
|
||||
Splash Potion node 7128/spell 802710 is now a friendly ground action in source
|
||||
generation and the runtime/UI catalogs. Its DBC destination targets 87/31 and
|
||||
captured tooltip establish a location, 40-yard range, 10-yard radius and up to
|
||||
eight allies. Its base heal centers on that destination. The cast projection
|
||||
suppresses the importer's unconditional flattened ingredient and SLS payloads;
|
||||
only an owned, live Frog Bones marker adds verified 803699's reduced absorb:
|
||||
eight seconds, base 25 and one point per level from level 15. Player and NPC
|
||||
tests check nearby recipients, excluded distant allies, no inactive riders,
|
||||
and destination validation before payment. The player's previous radius shield
|
||||
branch centered on the caster; the Splash-specific path now uses the same
|
||||
effect-scoped ground center as its healing. Existing other spell paths retain
|
||||
their behavior.
|
||||
|
||||
Jungle Shrooms 802973's exact Spirit scaling, Fish Oil 802969's aura decoding,
|
||||
Bloodthistle 802975/803287's proc and 0.5-second internal cooldown, and the
|
||||
803275 SLS ingredient-combination chain remain unresolved. Their raw source
|
||||
records are retained; missing runtime semantics do not grant every rider.
|
||||
|
||||
The Guardian audit identifies the next import boundary. August Vol'Jin node
|
||||
4019/spell 92105 establishes 10% self mitigation while Tower or Line Formation
|
||||
is active, with no numeric threat multiplier. Global spells 800317 and 803130
|
||||
would create self-owned aura identities `coa:800317:effect:0:aura:87` and
|
||||
`coa:803130:effect:0:aura:232`, but neither action is present in the promoted
|
||||
tree/progression/runtime catalog. Mitigation cannot honestly use an assumed
|
||||
formation flag. Paragon 29969/706514 has a description conflict: the August
|
||||
builder changes Heavy Blow to Paragon Smash, while the promoted primary text
|
||||
for 706516 still describes Tower/Bastion. The later formation audit below finds
|
||||
compatible secondary text and child payloads. Import formation actions and
|
||||
preserve the source discrepancy when wiring the conditional mechanics. See the cached Guardian JSON and builder in
|
||||
`data/coa-reference/cache/archive-5078f9ac2254/generation-fa16afec-8f11-4eab-98ab-b6441304fab7/`
|
||||
and global snapshot `e86031775dfac7e336361087c50ca23a0a7a86c36a760c85803bee4bcdb89351`.
|
||||
|
||||
Rotation policy is `playerbots-inspired-v10-coa-brewing-preparation`. The same
|
||||
five level-60 builds, seed 1, Hamhock and 30-second limit produce:
|
||||
|
||||
| Active player | Outcome | Elapsed seconds | Boss health remaining | Deaths |
|
||||
| --- | --- | ---: | ---: | ---: |
|
||||
| Guardian | Time limit | 30.0 | 80,007 | 0 |
|
||||
| Witch Doctor | Time limit | 30.0 | 77,898 | 0 |
|
||||
| Barbarian | Defeated | 13.6 | 0 | 0 |
|
||||
| Ranger | Time limit | 30.0 | 28,599 | 0 |
|
||||
| Pyromancer | Defeated | 24.8 | 0 | 0 |
|
||||
|
||||
The Guardian-seat companion records one naturally selected Frog Bones cast.
|
||||
Raw evidence is preserved separately at ignored
|
||||
`artifacts/coa-first-party/stockade-integration-2026-10-05/seat-1.json` through
|
||||
`seat-5.json`. Encounter pressure is low; the healer deals substantial damage,
|
||||
and these results establish neither balance nor a complete healing rotation.
|
||||
All five remain Needs Testing. No live browser playtest was performed.
|
||||
|
||||
Focused validation passes 37 tests across eight directly affected files;
|
||||
Ready-five compatibility passes seven Vitest and twenty Python tests. The new
|
||||
generated catalog change is one Witch Doctor Splash action in each runtime/UI
|
||||
catalog; the other twenty class records, resource profiles and triggered
|
||||
payloads are preserved. No recrawl or download was needed.
|
||||
The final production build passes TypeScript, asset audits, bundling, static
|
||||
compression and release-bundle verification. `npm run release:check` passes,
|
||||
including untracked files; the canonical CoA vault note is updated separately.
|
||||
|
||||
## Decapitate strike integration and Guardian audit, 2026-10-05
|
||||
|
||||
`coaBarbarianWeaponDamageRuntime.ts` projects only tree node 5744/spell 804414
|
||||
as one normalized weapon strike. The imported effects previously emitted two
|
||||
independent damage events. The August Vol'Jin tooltip gives the formula:
|
||||
`27 + 2.2 * (weapon mean + attack power / 14 * normalized speed)`. Explicit
|
||||
equipped-item classification supplies the standard normalized speed: 3.3 seconds
|
||||
for two-handed melee weapons, 1.7 for daggers, and 2.4 for other one-handed
|
||||
melee weapons. Actual swing speed is used only to undo the existing weapon-DPS
|
||||
conversion. An unknown weapon classification retains the imported fallback.
|
||||
|
||||
The helper is used before player execution in `combatStore.ts`, companion
|
||||
execution in `partyRuntime.ts`, companion scoring in `partyAbilityAi.ts`, and
|
||||
active-seat scoring in `benchmark/benchmarkController.ts`. Applying it repeatedly
|
||||
preserves a single strike. It retains identity, cost, targeting, the below-35%
|
||||
health gate, and Beheader's successful-kill refund. The additional Energy
|
||||
conversion ratio remains unknown and is not implemented.
|
||||
|
||||
The historical generic AzerothCore weapon-effect sequence adds the flat bonus
|
||||
before applying the percentage, which would also multiply 27. The custom CoA
|
||||
server script is unavailable; this projection follows the explicit CoA tooltip's
|
||||
flat bonus outside the percentage. This source interpretation remains recorded
|
||||
in the helper and does not claim verification against the live server.
|
||||
|
||||
The Guardian audit now distinguishes acquisition from payload reconciliation.
|
||||
Tower 800317 and Line 803130 carry trainer source 6, levels 4/20, but lack a
|
||||
current tree node or ranked progression chain. They need an explicit rankless
|
||||
trainer import path and formation-specific effect handling. No formation state
|
||||
was seeded. Paragon stack spell 706516's secondary field 187 matches the August
|
||||
Heavy Blow/Paragon Smash description, and children 802629/803432 support its
|
||||
damage and block/Brace effects. The older primary Tower/Bastion description
|
||||
is preserved as a conflict. Exact IDs, raw-field provenance, modifiers and
|
||||
remaining acquisition boundaries are in
|
||||
`docs/COA_GUARDIAN_FORMATION_AUDIT_2026-10-05.md`.
|
||||
|
||||
Rotation policy is `playerbots-inspired-v11-coa-decapitate-strike`. The explicitly
|
||||
selected five builds run at level 60, seed 1, with a 30-second limit against
|
||||
Cellblock Rush's catalog-template boss, Hamhock
|
||||
(`bite-sized-stormwind-stockade/entry-1717`):
|
||||
|
||||
| Active player | Outcome | Elapsed seconds | Boss health remaining | Deaths |
|
||||
| --- | --- | ---: | ---: | ---: |
|
||||
| Guardian | Time limit | 30.0 | 80,007 | 0 |
|
||||
| Witch Doctor | Time limit | 30.0 | 77,898 | 0 |
|
||||
| Barbarian | Defeated | 12.8 | 0 | 0 |
|
||||
| Ranger | Time limit | 30.0 | 29,396 | 0 |
|
||||
| Pyromancer | Defeated | 24.8 | 0 | 0 |
|
||||
|
||||
These are isolated headless boss-room diagnostics, not a live dungeon clear.
|
||||
The boss identity comes from the registered Cellblock Rush template; a fresh
|
||||
live run can select a different boss. Raw configs/results are ignored local
|
||||
artifacts at `artifacts/coa-first-party/stockade-decapitate-2026-10-05/`.
|
||||
The final Barbarian active-seat scorer chooses other attacks in this run; its
|
||||
Decapitate count is zero. Deterministic regression fixtures separately prove
|
||||
one correctly calculated damage event through actual player and NPC casts.
|
||||
Damage/selection changes do not certify balance, and encounter pressure remains
|
||||
too low to establish tank/healer completeness. All five remain Needs Testing.
|
||||
|
||||
Focused validation passes 22 tests across five directly affected files,
|
||||
including the actual player/NPC strike checks and existing execute/Beheader
|
||||
regressions. Ready-five compatibility passes seven Vitest and twenty Python
|
||||
tests. This pass changes no generated catalog records or readiness pools.
|
||||
The final production build passes TypeScript, asset audits, bundling, static
|
||||
compression and release-bundle verification. `npm run release:check` passes,
|
||||
including untracked files; the canonical CoA vault note is updated separately.
|
||||
|
||||
## Guardian formations and Paragon integration, 2026-10-05
|
||||
|
||||
Tower Formation 800317 and Line Formation 803130 now have an explicit rankless
|
||||
trainer import path in `coaAbilityCatalog.ts`, constrained to the two sourced
|
||||
Guardian/class-18 rows with trainer source 6, valid levels and matching DBC
|
||||
identities. They learn at levels 4 and 20 through the game's existing automatic
|
||||
level-learning model. No tree grant or named trainer is invented. The generated
|
||||
runtime and UI catalog changes are limited to Guardian records.
|
||||
|
||||
`coaGuardianFormationRuntime.ts` replaces the flattened source effects with one
|
||||
owned self aura per cast. Tower gives +10 percentage points of block, adds half
|
||||
of the actual shield item's armor and reduces outgoing damage by 10%. Line
|
||||
adds 15% movement speed and reduces roots by 25%. Aura 232/misc 7 identifies
|
||||
Root; the broader tooltip wording remains a source conflict, so other control
|
||||
types retain their duration. Footman's Calling node 4019 adds 10% taken-damage
|
||||
reduction only while an own live form is active. Projection uses current talent
|
||||
ranks, equipment and health, preventing borrowed/expired markers and recomputing
|
||||
shield armor after equipment changes. No numeric threat grant is assumed.
|
||||
Switching replaces the other form through an authored exclusive group; source
|
||||
categories 708/709 do not prove exclusivity. Toggle-off remains unfinished.
|
||||
|
||||
`coaGuardianParagonRuntime.ts` follows August Vol'Jin node 29969/706514,
|
||||
706516's compatible secondary text and linked payloads. Heavy Blow adds three
|
||||
stacks on successful cast; a block adds one with a 500 ms stack-trigger internal
|
||||
cooldown. Stacks last ten seconds and cap at ten. Readiness 707138 grants no
|
||||
block bonus. While ready, Heavy Blow's existing action slot, identity, cost,
|
||||
talent gate and cooldown project to Paragon Smash: 144 + 37% AP in an 8-yard
|
||||
self circle, confirmed by local SpellRadius.dbc row 14. A successful Smash
|
||||
creates the separate ten-second +10-point block buff with five block charges.
|
||||
Each block during that buff consumes a charge and reduces an active Brace
|
||||
cooldown by two seconds. Companion authority and its mirrored member receive
|
||||
the same reduction. No unverified stack-consumption/reset rule is introduced;
|
||||
a qualifying event can reestablish readiness after its previous window expires.
|
||||
The stale primary Tower/Bastion text remains documented in the source audit.
|
||||
|
||||
Player execution, companion execution/scoring, active-seat benchmarking and HUD
|
||||
use the shared projection. The HUD displays Smash in the Heavy Blow slot during
|
||||
readiness. Both player and companion movement consume owned Line speed.
|
||||
Vanguard companions prepare learned Tower through ordinary readiness, targeting
|
||||
and resource payment and preserve an existing Line. Formation preparation
|
||||
respects `nextActionAt`, so a future preparation decision does not suppress
|
||||
normal attacks. Cast/block fixtures prove player and companion paths; they use
|
||||
explicit block-probability fixtures to make combat outcomes deterministic.
|
||||
|
||||
The ready-Smash priority is an authored rotation policy: priority 7,500 only
|
||||
for a Vanguard tank at or above 55% health; injured, unknown-health and other
|
||||
actors retain the existing fallback preference. The public companion scorer
|
||||
uses ordinary learned, ready candidates and chooses Smash over routine Ballad
|
||||
maintenance. Existing low-health mitigation and urgent reactive taunt/interrupt
|
||||
scores remain ahead of it. This is a gameplay preference, not a source-derived
|
||||
optimal rotation.
|
||||
|
||||
Rotation policy is `playerbots-inspired-v12-coa-guardian-formations-paragon`.
|
||||
The generated five builds at level 60, seed 1, with a 30-second limit against
|
||||
Cellblock Rush's catalog-template Hamhock
|
||||
(`bite-sized-stormwind-stockade/entry-1717`) produce:
|
||||
|
||||
| Active player | Outcome | Elapsed seconds | Boss health remaining | Deaths |
|
||||
| --- | --- | ---: | ---: | ---: |
|
||||
| Guardian | Time limit | 30.0 | 81,106 | 0 |
|
||||
| Witch Doctor | Time limit | 30.0 | 76,687 | 0 |
|
||||
| Barbarian | Defeated | 12.8 | 0 | 0 |
|
||||
| Ranger | Time limit | 30.0 | 23,870 | 0 |
|
||||
| Pyromancer | Defeated | 24.8 | 0 | 0 |
|
||||
|
||||
Each companion-Guardian seat records one naturally selected Tower cast. The
|
||||
active-player benchmark records no Tower cast; manual player casting is covered
|
||||
by actual cast fixtures and the browser diagnostic. These
|
||||
are isolated headless diagnostics at ignored
|
||||
`artifacts/coa-first-party/stockade-guardian-2026-10-05/`, not live dungeon clears.
|
||||
The role-weighted Guardian allocation does not learn Paragon/Heavy Blow, so
|
||||
these five results do not establish Smash selection. Incoming damage is low;
|
||||
all five remain Needs Testing and no random/readiness pool changed.
|
||||
|
||||
Focused validation passes 66 unique tests across fifteen directly affected CoA
|
||||
and input files, including actual player/companion formation and Paragon casts, incoming
|
||||
root handling, shield armor/Footman's Calling, block charges/Brace reduction,
|
||||
unrestricted companion scoring and prior Brewing/Splash/weapon-strike paths.
|
||||
Ready-five compatibility passes seven Vitest and twenty Python tests. Avatar
|
||||
checks pass 56 tests across eleven files. Narrow compatibility checks for the
|
||||
shared workspace's boss guide, disarm metadata/runtime and extra-attack helper
|
||||
pass seventeen tests; compatibility fixes preserve those existing behaviors.
|
||||
|
||||
The final production build passes TypeScript, asset audits, Vite bundling,
|
||||
static compression and release-bundle verification. During verification,
|
||||
concurrent enemy-runtime changes briefly duplicated/removed their interface
|
||||
fields and concurrent bootstrap runs collided on an exclusive object write;
|
||||
final validation uses the successful completed build. The final creature weapon
|
||||
state declarations share one typed interface, preserving runtime behavior.
|
||||
|
||||
The isolated live harness uses an explicit, runtime-normalized level-60 Guardian
|
||||
variant learning Paragon and Heavy Blow alongside Footman's Calling, Brace and
|
||||
Vanguard's Shield. It resolves the public catalog preloader and resource API's
|
||||
minified export aliases from source-matched bundle AST, loads the five class
|
||||
catalogs before entry, and verifies their resource profiles. Switching characters
|
||||
cannot preload a whole party persistently because the app reloads its memory
|
||||
when the entered character changes. The harness therefore installs a scoped
|
||||
pre-entry PartyBridge initialization fixture, calls the normal initializer and
|
||||
substitutes the prepared companions before actor synchronization. It leaves
|
||||
readiness/random pools unchanged and seeds no combat/proc state. A selectable
|
||||
first-party preset in the game UI remains separate work.
|
||||
|
||||
Live entry exposed two startup gaps and supplied the final regressions.
|
||||
`combatRotation.ts::precombatPreparationEffects` now excludes exact Guardian
|
||||
formation spells from generic free aura preparation: initial entry has no form,
|
||||
player casting pays normally, companion preparation casts normally, and later
|
||||
preparation cannot add a second raw form or replace a chosen Line.
|
||||
`actionBindings.ts::normalizeActionBindings` separates default assignment order
|
||||
from an optional explicit allowlist. `combatStore.ts::initializeCharacter`
|
||||
validates saved slots against all nonpassive class actions, then retains the
|
||||
existing unlearned-talent filter. The learned Heavy Blow talent action survives
|
||||
entry in its saved slot, while unlearned and unknown actions are rejected.
|
||||
|
||||
The shared `dist/assets` directory became locked during rebuild. Final verification
|
||||
uses an isolated output at
|
||||
`artifacts/coa-first-party/stockade-guardian-2026-10-05/dist-final`: prebuild and
|
||||
asset audits passed, then the same npm build command ran with lifecycle hooks
|
||||
skipped and an explicit output override; compression and release-bundle checks
|
||||
ran explicitly against that output. The live harness accepts a confined `--dist`
|
||||
path and records the directory/bundle assets actually tested.
|
||||
|
||||
The final 180-second browser diagnostic completes on the isolated production
|
||||
bundle at `artifacts/playtest/coa-guardian-formations/20261006-011259958/`.
|
||||
Normal offline creation, Button Assignments, Cellblock selection/download and
|
||||
Tank entry are preserved; the exact companion composition is the explicitly
|
||||
recorded pre-entry fixture. Entry verifies level 60, all five catalogs, no seeded
|
||||
formation and the saved Heavy Blow R2 slot. Real action-bar clicks cast Tower,
|
||||
Line and Tower again, each leaving only its own projected form. The first Tower
|
||||
reduces Energy from 100 to 83; this legal build's cost modifiers resolve the
|
||||
base 20 cost to 17, with normal regeneration between later casts.
|
||||
|
||||
The fresh run selects Dextren Ward (`entry-1663`, `creature-79116`), confirmed
|
||||
by its intro card. Screenshot 02 is a countdown overlay because the initial
|
||||
detachment wait raced the intro's appearance; screenshots 03/04/06 provide the
|
||||
actual in-dungeon evidence. The route explores about 8 m near the entrance,
|
||||
with 5.74 m net displacement, full player/party health and no observed boss
|
||||
actor. It records only the three formation casts, no natural Paragon ready/Smash
|
||||
marker and no healing/combat pressure. It does not establish a clear, balanced
|
||||
party, live Smash proc or complete tank/healer rotation. The actual proc/block/
|
||||
Brace and unmasked scorer coverage comes from the focused regression fixtures.
|
||||
|
||||
Reviewed the roster body/shield capture and in-dungeon captures: the player
|
||||
body and equipped shield/weapon silhouettes render, while the clustered party
|
||||
and large temporary gold effects obscure some companions. Heavy Blow remains
|
||||
visible in its saved R2 slot at the endpoint. Browser exceptions are zero;
|
||||
one console 404 is unclassified, with no failed requests or HTTP errors in
|
||||
the harness's recorded request scope. These visual and request limitations
|
||||
remain in the live evidence. All five stay Needs Testing. The source/cast fixes,
|
||||
scoped diagnostic harness, milestone, source audit and canonical CoA vault note
|
||||
are updated together.
|
||||
|
||||
`npm run release:check` passes, including untracked files. The Git index is
|
||||
unchanged; no commit, deployment or readiness promotion was performed.
|
||||
Reference in new issue
Block a user