68 lines
3.0 KiB
Markdown
68 lines
3.0 KiB
Markdown
# Ability and Talent Tuning
|
|
|
|
The main-menu **GM Menu** exposes **Ability & Talent Tuning** to authenticated
|
|
GMs. It is a full-screen DOM tool intended for fast local combat iteration. The
|
|
catalog can be searched and filtered by class, and the selected entry exposes
|
|
its source values beside editable runtime percentages.
|
|
|
|
## Ability overrides
|
|
|
|
Ability overrides are keyed by stable ability ID. Each field is expressed as a
|
|
percentage of the source catalog value: `100` preserves the source, `50` halves
|
|
it, and `200` doubles it. The editor supports:
|
|
|
|
- cooldown;
|
|
- cast or channel time;
|
|
- resource cost;
|
|
- direct, periodic, finisher, and summon damage;
|
|
- direct, periodic, and absorb healing;
|
|
- aura, control, summon, and periodic duration;
|
|
- area radius, chain reach, and ground reach.
|
|
|
|
`src/game/balanceTuning.ts` normalizes and applies the policy.
|
|
`src/game/abilityCatalog.ts` retains the authored catalog separately and
|
|
rebuilds its live definitions whenever the GM applies a draft. This prevents
|
|
percentage changes from compounding when the editor is opened repeatedly.
|
|
|
|
## Talent overrides
|
|
|
|
Talent overrides can scale every supported passive modifier parsed from a
|
|
talent tooltip. They can also add a signed percentage-point modifier per learned
|
|
rank for damage, healing, critical chance, haste, costs, cooldowns, durations,
|
|
range, threat, attributes, defenses, or resources.
|
|
|
|
On-use talents are not passive modifiers. Inner Focus is explicitly excluded
|
|
from passive tooltip parsing. Activating its ability grants a temporary aura;
|
|
the next direct single-target or area heal costs no resource, gains 25
|
|
percentage points of critical chance, keeps its ordinary cast time, and consumes
|
|
the aura. Tune its cooldown and aura duration from the Abilities tab.
|
|
|
|
## Persistence and scope
|
|
|
|
The normalized policy is stored per device under
|
|
`healer-man:balance-tuning:v1`. Applying it updates player abilities, NPC
|
|
companion abilities, and client-side test runs that use the live browser
|
|
catalog. **Reset ability**, **Reset talent**, and **Reset all** remove overrides
|
|
without changing authored or generated source data.
|
|
|
|
This first editor is intentionally a local sandbox. Server Balance Lab jobs run
|
|
in a separate process and do not read browser local storage; permanent balance
|
|
changes should still be moved into authored source data after local validation.
|
|
|
|
## Heirloom ratings
|
|
|
|
Virtual heirlooms include specialization-aware critical-strike and haste
|
|
ratings for strength, agility, ranged, spell-damage, and healer profiles.
|
|
Protection tank gear instead prioritizes defense, avoidance, block, stamina,
|
|
and expertise. `src/game/wotlkStats.ts` converts the ratings at the character's
|
|
level into melee, ranged, and spell critical/haste percentages. Both player and
|
|
party heirlooms continue to cap at item level 79.
|
|
|
|
## Validation
|
|
|
|
```powershell
|
|
npx vitest run src/game/balanceTuning.test.ts src/game/talentModifiers.test.ts src/game/combatStore.test.ts src/game/heirloomEquipment.test.ts
|
|
npm run build
|
|
npm run release:check
|
|
```
|