Update Healer Man server
This commit is contained in:
1 parent
fdb6739f8d
commit
f90ba7d989
41 files changed
+1671
-118
No files matched your search
+39
-19
@@ -23,10 +23,11 @@ npm run balance:lab
|
||||
The prompt selects:
|
||||
|
||||
1. one random party, five manual members, or an automatic multi-party sweep;
|
||||
2. a WoW, CoA, or RoM party catalog; automatic mode can select all three;
|
||||
2. a WoW, CoA, or RoM party catalog; automatic mode only uses entries marked
|
||||
Ready (plus Beta when explicitly enabled);
|
||||
3. a level from 1 through 80;
|
||||
4. random parties, guaranteed coverage of all class/spec builds, or a
|
||||
searchable selection of specific class/spec builds;
|
||||
4. random Ready parties, guaranteed coverage of all Ready class/spec builds,
|
||||
or a searchable targeted selection that may include Needs Testing builds;
|
||||
5. how many unique 1-tank/1-healer/3-damage configurations to generate per
|
||||
source when random selection is used;
|
||||
6. all bosses, WoW bosses, RoM bosses, or a searchable multi-boss selection;
|
||||
@@ -39,9 +40,10 @@ Automatic class/spec selection has three strategies:
|
||||
to the requested number of unique parties per source. If a Ready/Beta pool
|
||||
can form fewer unique 1/1/3 rosters, Balance Lab runs each available roster
|
||||
once and reports the cap instead of failing or duplicating identical data.
|
||||
- **All specs** creates the minimum deterministic set of valid parties needed
|
||||
to include every available class/spec build for the selected WoW, CoA, or
|
||||
RoM source at least once.
|
||||
- **All Ready specs** creates the minimum deterministic set of valid parties
|
||||
needed to include every Ready build for the selected source at least once.
|
||||
At present this is the five certified WoW specs; CoA and RoM have no Ready
|
||||
entries and therefore do not participate in automatic runs.
|
||||
- **Specific specs** treats each selected build as required coverage and fills
|
||||
the remaining tank, healer, and damage slots with distinct compatible builds.
|
||||
When alternatives exist, required builds are not reused as fillers.
|
||||
@@ -269,6 +271,12 @@ normalized slightly above the best compatible same-level item in the authored
|
||||
WotLK-derived loot catalog. The saved catalog and heirloom summary make that
|
||||
resolved loadout explicit for each local run.
|
||||
|
||||
Damage and healer heirloom profiles include both critical-strike rating and
|
||||
haste rating. The WotLK stat resolver converts those ratings at the simulated
|
||||
character level into the appropriate melee, ranged, or spell percentages.
|
||||
Protection tank heirlooms intentionally spend that budget on defense,
|
||||
avoidance, block, stamina, and expertise instead.
|
||||
|
||||
Run selected brackets as a companion-only seat audit:
|
||||
|
||||
```powershell
|
||||
@@ -295,8 +303,10 @@ unless `--cooldown-policy` points to a JSON policy file.
|
||||
|
||||
## Companion specialization readiness
|
||||
|
||||
The shared revisioned readiness policy classifies all 31 WoW specializations
|
||||
as Ready, Beta, or Needs Testing. Shipped defaults certify only Protection
|
||||
The readiness catalog shows every WoW and CoA specialization plus each RoM
|
||||
class/role profile as Ready, Beta, or Needs Testing. The revisioned GM policy
|
||||
currently publishes the 31 WoW specialization statuses; all CoA and RoM entries
|
||||
are fixed at Needs Testing until their certification work begins. Shipped defaults certify only Protection
|
||||
Warrior/Aldren, Discipline Priest/Quorin, Marksmanship Hunter/Liora, Fire
|
||||
Mage/Xavian, and Assassination Rogue/Orin. The main menu, Dungeon setup, and
|
||||
Balance Lab link to the full Companion Readiness catalog. Players can inspect
|
||||
@@ -304,19 +314,26 @@ it; authenticated GMs can edit and atomically publish the complete policy.
|
||||
Published policies must retain at least one Ready tank, one Ready healer, and
|
||||
three distinct Ready damage specializations.
|
||||
|
||||
Random and all-eligible WoW runs use Ready specs by default. **Include Beta
|
||||
Specs** adds Beta specs and is saved per device; explicit targeted runs may
|
||||
still select a Needs Testing spec, but their filler seats come only from the
|
||||
eligible Ready/Beta pool. CoA and RoM Balance Lab catalogs are unchanged.
|
||||
Random and all-eligible runs use Ready specs by default across every source.
|
||||
Because no CoA or RoM entry is currently Ready, those catalogs contribute no
|
||||
automatic parties. **Include Beta Specs** adds Beta specs and is saved per
|
||||
device; explicit targeted diagnostics may still select a Needs Testing spec,
|
||||
but `--ready-only` rejects those targets for certification and regression runs.
|
||||
Filler seats always come from the eligible Ready/Beta pool.
|
||||
Server jobs snapshot the published policy and beta choice. Local GUI runs use
|
||||
the revisioned loopback policy saved under
|
||||
`artifacts/balance-lab-gui-runtime`; corrupt or missing policy files fall back
|
||||
to shipped defaults.
|
||||
|
||||
CLI parity is available through `--include-beta-specs` and
|
||||
CLI parity is available through `--ready-only`, `--include-beta-specs`, and
|
||||
`--companion-readiness-policy <json>`. The JSON may be the published envelope
|
||||
or its policy config.
|
||||
|
||||
The standard bracket, regression, and NPC-audit npm commands pass
|
||||
`--ready-only`. For focused code validation use `npm run test:ready-five`; do
|
||||
not use a full-repository or all-class balance sweep unless the project owner
|
||||
explicitly expands the certification scope.
|
||||
|
||||
List exact party build IDs at a level:
|
||||
|
||||
```powershell
|
||||
@@ -348,7 +365,8 @@ python scripts/balance_lab.py `
|
||||
--boss-category all
|
||||
```
|
||||
|
||||
Generate ten parties for each of WoW, CoA, and RoM, but test only RoM bosses:
|
||||
Run every currently Ready source against only RoM bosses. Until a CoA or RoM
|
||||
build is promoted, `--source all` still produces only the five Ready WoW specs:
|
||||
|
||||
```powershell
|
||||
python scripts/balance_lab.py `
|
||||
@@ -498,10 +516,12 @@ change when the problem is confined to particular encounters.
|
||||
## Coverage and limitations
|
||||
|
||||
The selectable roster includes every authored WoW and CoA specialization plus
|
||||
every supported RoM class-role pair. Existing generated party talent plans are
|
||||
used when available. Missing WoW plans are legally allocated through their
|
||||
matching live talent tree; CoA builds allocate the chosen specialization tree
|
||||
and class tree through the live essence/prerequisite rules.
|
||||
every supported RoM class-role pair, but automatic certification is Ready-only.
|
||||
Needs Testing entries remain selectable solely for an intentional targeted
|
||||
diagnostic. Existing generated party talent plans are used when available.
|
||||
Missing WoW plans are legally allocated through their matching live talent
|
||||
tree; CoA builds allocate the chosen specialization tree and class tree through
|
||||
the live essence/prerequisite rules.
|
||||
|
||||
Headless simulation executes combat-store boss attacks and their authored
|
||||
damage, healing, control, aura, summon, threat, and timing effects. It does not
|
||||
@@ -604,7 +624,7 @@ python -m py_compile scripts/balance_lab_brackets.py
|
||||
python -m unittest scripts.test_balance_lab scripts.test_balance_lab_brackets
|
||||
node --test server/local-balance-lab-api.test.mjs server/balance-lab-jobs.test.mjs server/server.test.mjs
|
||||
python scripts/balance_lab.py --source wow --level 20 --party-mode automatic --party-configurations 2 --boss "gundrak/entry-29932" --simulations-per-party 1 --duration 5 --output-dir artifacts/balance-lab-smoke
|
||||
npm test -- --run src/game/benchmark src/game/partyStore.test.ts src/game/partyRuntime.test.ts
|
||||
npm run test:ready-five
|
||||
npm run build
|
||||
npm run balance:lab:playtest
|
||||
npm run release:check
|
||||
|
||||
Reference in new issue
Block a user