uesp-eso-build-wrapper 0.5.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -47,7 +47,7 @@ You inject the inputs, UESP's own code computes every stat, you read back one ty
47
47
  - Does not reimplement ESO stat formulas
48
48
  - Synchronous API; engine initializes once per process (singleton, subsequent calls are no-ops)
49
49
  - Zero runtime dependencies — pure Node.js
50
- - 221 computed stats per build
50
+ - 204 computed stats per build
51
51
 
52
52
  ## Installation
53
53
 
@@ -82,12 +82,13 @@ const stats = calculateBuild({
82
82
  console.log(stats.Health); // 16000
83
83
  console.log(stats.Magicka); // 19104
84
84
  console.log(stats.SpellDamage); // 1000
85
+ console.log(stats.setToggles); // [] — set toggles that apply to this build
85
86
  ```
86
87
 
87
88
  ## How it works
88
89
 
89
90
  1. `initEsoEngineFromData({ initData })` prepares browser-like globals, seeds the engine with your game data, and executes the vendored UESP scripts via `vm.runInThisContext` — once per process.
90
- 2. `calculateBuild(input)` writes your build into the engine state, runs the engine's own `UpdateEsoComputedStatsList_Real()`, and reads results from `g_EsoComputedStats` into a typed `ComputedStats` object.
91
+ 2. `calculateBuild(input)` writes your build into the engine state, runs the engine's own `UpdateEsoComputedStatsList_Real()`, and reads results from `g_EsoComputedStats` into a typed `CalculatedBuild` object (`ComputedStats` plus `setToggles`).
91
92
 
92
93
  Details: [Architecture](https://srtomy.github.io/uesp-eso-build-wrapper/architecture) · [Getting Started](https://srtomy.github.io/uesp-eso-build-wrapper/getting-started) · [Reading the Output](https://srtomy.github.io/uesp-eso-build-wrapper/output).
93
94
 
@@ -102,7 +103,7 @@ Full documentation is available in **English** and **Português (BR)** at
102
103
  | [Architecture](https://srtomy.github.io/uesp-eso-build-wrapper/architecture) | Local engine, network policy, data flow |
103
104
  | [Getting Started](https://srtomy.github.io/uesp-eso-build-wrapper/getting-started) | Install, game data, first calculation |
104
105
  | [Guides](https://srtomy.github.io/uesp-eso-build-wrapper/guides/character) | Character, items, Champion Points, buffs, skills |
105
- | [Reading the Output](https://srtomy.github.io/uesp-eso-build-wrapper/output) | All 221 computed stats, `debugBuild()` |
106
+ | [Reading the Output](https://srtomy.github.io/uesp-eso-build-wrapper/output) | All 204 computed stats, `debugBuild()` |
106
107
  | [API Reference](https://srtomy.github.io/uesp-eso-build-wrapper/api/) | Generated from source TSDoc |
107
108
  | [Troubleshooting](https://srtomy.github.io/uesp-eso-build-wrapper/troubleshooting) | Common integration issues (Next.js/serverless, wrong stats...) |
108
109
  | [Contributing](https://srtomy.github.io/uesp-eso-build-wrapper/contributing) | Dev setup, tests, updating after an ESO patch |
package/README.pt-BR.md CHANGED
@@ -46,7 +46,7 @@ Você injeta os inputs, o próprio código da UESP calcula cada stat, você lê
46
46
  - Não reimplementa as fórmulas de stats do ESO
47
47
  - API síncrona; o motor inicializa uma vez por processo (singleton, chamadas seguintes são no-op)
48
48
  - Zero dependências de runtime — Node.js puro
49
- - 221 computed stats por build
49
+ - 204 computed stats por build
50
50
 
51
51
  ## Instalação
52
52
 
@@ -101,7 +101,7 @@ Documentação completa em **Português (BR)** e **English** em
101
101
  | [Arquitetura](https://srtomy.github.io/uesp-eso-build-wrapper/pt/architecture) | Motor local, política de rede, fluxo de dados |
102
102
  | [Primeiros Passos](https://srtomy.github.io/uesp-eso-build-wrapper/pt/getting-started) | Instalação, game data, primeiro cálculo |
103
103
  | [Guias](https://srtomy.github.io/uesp-eso-build-wrapper/pt/guides/character) | Personagem, itens, Champion Points, buffs, skills |
104
- | [Lendo o Resultado](https://srtomy.github.io/uesp-eso-build-wrapper/pt/output) | Os 221 computed stats, `debugBuild()` |
104
+ | [Lendo o Resultado](https://srtomy.github.io/uesp-eso-build-wrapper/pt/output) | Os 204 computed stats, `debugBuild()` |
105
105
  | [API Reference](https://srtomy.github.io/uesp-eso-build-wrapper/api/) | Gerada a partir do TSDoc (em inglês) |
106
106
  | [Solução de Problemas](https://srtomy.github.io/uesp-eso-build-wrapper/pt/troubleshooting) | Problemas comuns (Next.js/serverless, stats errados...) |
107
107
  | [Contribuindo](https://srtomy.github.io/uesp-eso-build-wrapper/pt/contributing) | Setup dev, testes, atualização após patch do ESO |
@@ -17,7 +17,7 @@
17
17
  *
18
18
  * 4. Read the results from g_EsoComputedStats[statId].value
19
19
  */
20
- import type { BuffInfo, BuildInput, ComputedStats, PassiveSkillInfo, ToggleSkillInfo } from './types.js';
20
+ import type { BuffInfo, BuildInput, CalculatedBuild, PassiveSkillInfo, ToggleSkillInfo } from './types.js';
21
21
  export declare function cacheStatObjects(): void;
22
22
  /**
23
23
  * Calculates the Computed Character Statistics for the given build.
@@ -28,7 +28,8 @@ export declare function cacheStatObjects(): void;
28
28
  * @param input - The build to calculate: character sheet, items, champion
29
29
  * point nodes, buffs, toggle skills, skill bars and passives.
30
30
  * @returns All computed stats — named keys (Health, Magicka, SpellDamage, ...)
31
- * plus `raw` with the full 221-stat `g_EsoComputedStats` record.
31
+ * plus `raw` with the full 204-stat `g_EsoComputedStats` record, and
32
+ * `setToggles` with the set toggles that apply to this build.
32
33
  * @throws If the engine has not been initialized with
33
34
  * `initEsoEngineFromData()` first.
34
35
  *
@@ -44,9 +45,10 @@ export declare function cacheStatObjects(): void;
44
45
  * },
45
46
  * });
46
47
  * console.log(stats.Magicka, stats.SpellDamage);
48
+ * console.log(stats.setToggles); // [{ id, setId, label }, ...]
47
49
  * ```
48
50
  */
49
- export declare function calculateBuild(input: BuildInput): ComputedStats;
51
+ export declare function calculateBuild(input: BuildInput): CalculatedBuild;
50
52
  /**
51
53
  * Returns the catalog of buffs available in the loaded UESP engine.
52
54
  *
@@ -71,6 +73,25 @@ export declare function listAvailableBuffs(group?: string): BuffInfo[];
71
73
  * Ex: "High Elf", "Nord", "Khajiit"
72
74
  */
73
75
  export declare function listRacialPassives(race: string): PassiveSkillInfo[];
76
+ /**
77
+ * Returns the game's inherent passives — the entries of the UESP
78
+ * `ESO_FREE_PASSIVES` list that are passives (Light/Medium/Heavy Armor Bonuses
79
+ * and Penalties, racial, craft). The UESP Build Editor loads them by itself;
80
+ * pass `BuildInput.autoInherentPassives: true` to apply them here, or use this
81
+ * list to mark them as owned in a UI.
82
+ *
83
+ * The list carries one racial passive per race. Pass `race` to keep only the
84
+ * character's own race (non-racial entries are always kept); omitting it returns
85
+ * every race's entries.
86
+ *
87
+ * Free-list entries that are actives/ultimates (Soul Trap, Werewolf
88
+ * Transformation, Scribing/Volendrung skills) are not passives and are omitted.
89
+ *
90
+ * Must be called after initEsoEngineFromData().
91
+ *
92
+ * @param race - Race name as passed to BuildInput.character.race. Ex: "High Elf".
93
+ */
94
+ export declare function listInherentPassives(race?: string): PassiveSkillInfo[];
74
95
  /**
75
96
  * Returns all class passive skills for the given class.
76
97
  * Each passive may appear in multiple ranks (rank 1, 2, 3).
@@ -1 +1 @@
1
- {"version":3,"file":"calculator.d.ts","sourceRoot":"","sources":["../../../src/lib/eso-engine/calculator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAKH,OAAO,KAAK,EACV,QAAQ,EACR,UAAU,EAEV,aAAa,EAEb,gBAAgB,EAEhB,eAAe,EAEhB,MAAM,YAAY,CAAC;AAMpB,wBAAgB,gBAAgB,IAAI,IAAI,CAKvC;AAwDD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,aAAa,CAygB/D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,EAAE,CA6B7D;AA2BD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAKnE;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAKvE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAK7E;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,EAAE,CASlD;AAED;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,IAAI,eAAe,EAAE,CA6B7D"}
1
+ {"version":3,"file":"calculator.d.ts","sourceRoot":"","sources":["../../../src/lib/eso-engine/calculator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAMH,OAAO,KAAK,EACV,QAAQ,EACR,UAAU,EACV,eAAe,EAGf,gBAAgB,EAEhB,eAAe,EAGhB,MAAM,YAAY,CAAC;AAMpB,wBAAgB,gBAAgB,IAAI,IAAI,CAKvC;AAsFD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,eAAe,CA2kBjE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,EAAE,CA6B7D;AA2BD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAKnE;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAiBtE;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAKvE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAK7E;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,EAAE,CASlD;AAED;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,IAAI,eAAe,EAAE,CA6B7D"}
@@ -19,6 +19,7 @@
19
19
  */
20
20
  import { resetDomValues, setDomAttr, setDomTextContent, setDomValue } from './env-setup.js';
21
21
  import { engineGlobals } from './engine-globals.js';
22
+ import { collectSetToggles } from './set-toggles.js';
22
23
  // Stat object cache — populated once after initEsoEngineFromData.
23
24
  // Avoids Object.keys/values on every calculateBuild; ~200 objects.
24
25
  let _statObjects = null;
@@ -79,6 +80,33 @@ function stripDescriptionFormats(desc) {
79
80
  } while (plainDesc !== previousDesc);
80
81
  return plainDesc.replace(/\|c[0-9a-fA-F]{6}|\|r/g, '');
81
82
  }
83
+ /**
84
+ * Normalizes a toggle stack count the way the UESP UI does
85
+ * (`OnEsoBuildToggleSkillNumber`, esoEditBuild.js:8104): non-negative integer,
86
+ * clamped to the toggle's `maxTimes` when it has one.
87
+ */
88
+ function normalizeToggleCount(count, maxTimes) {
89
+ const value = Math.max(0, Math.trunc(count));
90
+ const max = typeof maxTimes === 'number' ? maxTimes : Number(maxTimes);
91
+ if (Number.isFinite(max) && max > 0)
92
+ return Math.min(value, max);
93
+ return value;
94
+ }
95
+ /**
96
+ * Clamps a stacking toggle's count to the rule's range, mirroring the UESP
97
+ * editor's number input (`OnEsoBuildToggleSetNumber`): negatives become 0, and
98
+ * the value is capped at `maxTimes` / raised to `minTimes` when those are set.
99
+ * Input validation only — the engine still decides how the count scales the
100
+ * effect.
101
+ */
102
+ function clampSetToggleCount(count, minTimes, maxTimes) {
103
+ let value = count < 0 ? 0 : count;
104
+ if (maxTimes != null && value > maxTimes)
105
+ value = maxTimes;
106
+ if (minTimes != null && value < minTimes)
107
+ value = minTimes;
108
+ return value;
109
+ }
82
110
  /**
83
111
  * Calculates the Computed Character Statistics for the given build.
84
112
  *
@@ -88,7 +116,8 @@ function stripDescriptionFormats(desc) {
88
116
  * @param input - The build to calculate: character sheet, items, champion
89
117
  * point nodes, buffs, toggle skills, skill bars and passives.
90
118
  * @returns All computed stats — named keys (Health, Magicka, SpellDamage, ...)
91
- * plus `raw` with the full 221-stat `g_EsoComputedStats` record.
119
+ * plus `raw` with the full 204-stat `g_EsoComputedStats` record, and
120
+ * `setToggles` with the set toggles that apply to this build.
92
121
  * @throws If the engine has not been initialized with
93
122
  * `initEsoEngineFromData()` first.
94
123
  *
@@ -104,10 +133,11 @@ function stripDescriptionFormats(desc) {
104
133
  * },
105
134
  * });
106
135
  * console.log(stats.Magicka, stats.SpellDamage);
136
+ * console.log(stats.setToggles); // [{ id, setId, label }, ...]
107
137
  * ```
108
138
  */
109
139
  export function calculateBuild(input) {
110
- const { character, items, championPointNodes, activeBuffs, toggleSkills, skillBars, activeWeaponBar, passiveSkills, autoPassives, enchantOverrides, toggledSetBonuses, } = input;
140
+ const { character, items, championPointNodes, activeBuffs, toggleSkills, skillBars, activeWeaponBar, passiveSkills, autoPassives, autoInherentPassives, enchantOverrides, toggledSetBonuses, toggledSetBonusCounts, } = input;
111
141
  // ─── GLOBAL STATE RESET ───────────────────────────────────────────────────
112
142
  // All resets in one place — makes leaks between calls easier to spot.
113
143
  // g_EsoComputedStats: zero value/preCapValue before computing.
@@ -156,7 +186,7 @@ export function calculateBuild(input) {
156
186
  }
157
187
  }
158
188
  }
159
- // Toggle skills: zero enabled AND valid (valid stayed true from previous calls)
189
+ // Toggle skills: zero enabled, valid and count (all stayed set from previous calls)
160
190
  if (toggleSkillData && typeof toggleSkillData === 'object') {
161
191
  for (const key of Object.keys(toggleSkillData)) {
162
192
  const s = toggleSkillData[key];
@@ -164,6 +194,7 @@ export function calculateBuild(input) {
164
194
  s.enabled = false;
165
195
  s.combatEnabled = false;
166
196
  s.valid = false;
197
+ s.count = 0;
167
198
  }
168
199
  }
169
200
  }
@@ -222,7 +253,9 @@ export function calculateBuild(input) {
222
253
  setDomValue('esotbTargetPenetrationFactor', '0');
223
254
  setDomValue('esotbTargetDefenseBonus', '0');
224
255
  setDomValue('esotbTargetAttackBonus', '0');
225
- setDomValue('esotbTargetCritDamage', '0');
256
+ // UESP default target crit damage: 50% (base). Feeds DefenseCritDmg; with 0 the stat went
257
+ // negative (-0.1848) instead of the UESP's 0.3152 (exact -0.5 delta).
258
+ setDomValue('esotbTargetCritDamage', '50');
226
259
  setDomValue('esotbTargetCritChance', '0');
227
260
  setDomValue('esotbTargetPercentHealth', '100');
228
261
  // -------------------------------------------------------------------------
@@ -371,15 +404,25 @@ export function calculateBuild(input) {
371
404
  // STEP 3c: Enable toggle skills.
372
405
  //
373
406
  // IsEsoBuildToggledSkillEnabled() checks: skillData.valid && skillData.enabled
374
- // (reset of enabled, combatEnabled and valid already done in the global reset block above)
407
+ // (reset of enabled, combatEnabled, valid and count already done in the global
408
+ // reset block above)
409
+ //
410
+ // Toggles with `maxTimes` need `count > 0`: the engine multiplies the effect
411
+ // by toggleData.count (esoEditBuild.js:14657) and discards it when the result
412
+ // is 0 (:14714). Accepting `{ name, count }` is what makes them work.
375
413
  // -------------------------------------------------------------------------
376
414
  if (toggleSkills) {
377
- for (const skillName of toggleSkills) {
415
+ for (const toggle of toggleSkills) {
378
416
  if (toggleSkillData) {
379
- if (!toggleSkillData[skillName])
380
- toggleSkillData[skillName] = {};
381
- toggleSkillData[skillName].valid = true;
382
- toggleSkillData[skillName].enabled = true;
417
+ const name = typeof toggle === 'string' ? toggle : toggle.name;
418
+ const count = typeof toggle === 'string' ? undefined : toggle.count;
419
+ if (!toggleSkillData[name])
420
+ toggleSkillData[name] = {};
421
+ toggleSkillData[name].valid = true;
422
+ toggleSkillData[name].enabled = true;
423
+ if (count != null) {
424
+ toggleSkillData[name].count = normalizeToggleCount(count, toggleSkillData[name].maxTimes);
425
+ }
383
426
  }
384
427
  }
385
428
  }
@@ -438,6 +481,26 @@ export function calculateBuild(input) {
438
481
  }
439
482
  }
440
483
  }
484
+ if (autoInherentPassives) {
485
+ // The UESP page loads its own ESO_FREE_PASSIVES baseline (armor bonuses/
486
+ // penalties, racial, craft, a few free actives). Mirror it. The list carries
487
+ // one racial passive per race, so keep only the character's own race; IDs
488
+ // missing from g_SkillsData are ignored downstream and armor effects are
489
+ // gated per equipped piece.
490
+ const freePassives = g.ESO_FREE_PASSIVES;
491
+ const skillsData = g.g_SkillsData;
492
+ if (freePassives) {
493
+ for (const id of Object.keys(freePassives)) {
494
+ const abilityId = Number(id);
495
+ if (!Number.isFinite(abilityId) || abilityId <= 0)
496
+ continue;
497
+ const raceType = skillsData?.[abilityId]?.raceType;
498
+ if (raceType && raceType !== character.race)
499
+ continue;
500
+ allPassiveIds.add(abilityId);
501
+ }
502
+ }
503
+ }
441
504
  if (allPassiveIds.size > 0) {
442
505
  const passiveData = {};
443
506
  for (const abilityId of allPassiveIds) {
@@ -509,6 +572,27 @@ export function calculateBuild(input) {
509
572
  return origIsEnabled.call(this, setId);
510
573
  };
511
574
  }
575
+ // Stacking toggles (Sergeant's Mail, Rallying Cry, ...) read their count from
576
+ // a UESP number input. The Node DOM mock returns 0, and
577
+ // UpdateEsoBuildToggledSetData overwrites the count right at the start of the
578
+ // calculation — so re-apply the counts from the input just after it runs,
579
+ // before the effects read `toggleData.count`. Same spirit as the toggle-skill
580
+ // patch in loader.ts.
581
+ const setToggleCounts = toggledSetBonusCounts ?? {};
582
+ const origUpdateToggledSetData = g.UpdateEsoBuildToggledSetData;
583
+ const hasSetToggleCounts = Object.keys(setToggleCounts).length > 0 && origUpdateToggledSetData !== undefined;
584
+ if (hasSetToggleCounts && origUpdateToggledSetData) {
585
+ const origUpdate = origUpdateToggledSetData;
586
+ g.UpdateEsoBuildToggledSetData = function (inputValues) {
587
+ origUpdate(inputValues);
588
+ const toggleData = g.g_EsoBuildToggledSetData;
589
+ for (const [id, count] of Object.entries(setToggleCounts)) {
590
+ const entry = toggleData[id];
591
+ if (entry?.valid)
592
+ entry.count = clampSetToggleCount(count, entry.minTimes, entry.maxTimes);
593
+ }
594
+ };
595
+ }
512
596
  try {
513
597
  updateFn(null, true);
514
598
  }
@@ -516,6 +600,9 @@ export function calculateBuild(input) {
516
600
  if (toggledSetIds.size > 0) {
517
601
  g.IsEsoBuildToggledSetEnabled = origIsEnabled;
518
602
  }
603
+ if (hasSetToggleCounts) {
604
+ g.UpdateEsoBuildToggledSetData = origUpdateToggledSetData;
605
+ }
519
606
  }
520
607
  // -------------------------------------------------------------------------
521
608
  // STEP 5: Read the results from g_EsoComputedStats[statId].value
@@ -528,6 +615,11 @@ export function calculateBuild(input) {
528
615
  raw[statId] = stat.value;
529
616
  }
530
617
  }
618
+ // Set toggles that apply to this build. The engine recomputes `valid` on
619
+ // every call (UpdateEsoBuildToggledSetData), regardless of whether a toggle
620
+ // is enabled, so reading it right after the synchronous update captures a
621
+ // consistent snapshot.
622
+ const setToggles = collectSetToggles(g.g_EsoBuildToggledSetData);
531
623
  return {
532
624
  // Max attributes
533
625
  Health: raw['Health'] ?? 0,
@@ -568,6 +660,7 @@ export function calculateBuild(input) {
568
660
  DefenseSpellMitigation: raw['DefenseSpellMitigation'] ?? 0,
569
661
  DefensePhysicalMitigation: raw['DefensePhysicalMitigation'] ?? 0,
570
662
  raw,
663
+ setToggles,
571
664
  };
572
665
  }
573
666
  /**
@@ -643,6 +736,42 @@ function buildPassiveSkillInfos(filter, sortKey) {
643
736
  export function listRacialPassives(race) {
644
737
  return buildPassiveSkillInfos((v) => v.raceType === race, (v) => v.baseName);
645
738
  }
739
+ /**
740
+ * Returns the game's inherent passives — the entries of the UESP
741
+ * `ESO_FREE_PASSIVES` list that are passives (Light/Medium/Heavy Armor Bonuses
742
+ * and Penalties, racial, craft). The UESP Build Editor loads them by itself;
743
+ * pass `BuildInput.autoInherentPassives: true` to apply them here, or use this
744
+ * list to mark them as owned in a UI.
745
+ *
746
+ * The list carries one racial passive per race. Pass `race` to keep only the
747
+ * character's own race (non-racial entries are always kept); omitting it returns
748
+ * every race's entries.
749
+ *
750
+ * Free-list entries that are actives/ultimates (Soul Trap, Werewolf
751
+ * Transformation, Scribing/Volendrung skills) are not passives and are omitted.
752
+ *
753
+ * Must be called after initEsoEngineFromData().
754
+ *
755
+ * @param race - Race name as passed to BuildInput.character.race. Ex: "High Elf".
756
+ */
757
+ export function listInherentPassives(race) {
758
+ const g = engineGlobals();
759
+ const freePassives = g.ESO_FREE_PASSIVES;
760
+ if (!freePassives || typeof freePassives !== 'object')
761
+ return [];
762
+ const skillsData = g.g_SkillsData;
763
+ const freeIds = new Set();
764
+ for (const id of Object.keys(freePassives)) {
765
+ const abilityId = Number(id);
766
+ if (!Number.isFinite(abilityId) || abilityId <= 0)
767
+ continue;
768
+ const raceType = skillsData?.[abilityId]?.raceType;
769
+ if (race && raceType && raceType !== race)
770
+ continue;
771
+ freeIds.add(abilityId);
772
+ }
773
+ return buildPassiveSkillInfos((v) => freeIds.has(Number(v.abilityId)), (v) => (v.skillLine ?? '') + v.baseName);
774
+ }
646
775
  /**
647
776
  * Returns all class passive skills for the given class.
648
777
  * Each passive may appear in multiple ranks (rank 1, 2, 3).
@@ -1 +1 @@
1
- {"version":3,"file":"calculator.js","sourceRoot":"","sources":["../../../src/lib/eso-engine/calculator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"calculator.js","sourceRoot":"","sources":["../../../src/lib/eso-engine/calculator.ts"],"names":[],"mappings":"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"}
@@ -59,9 +59,32 @@ export interface EngineToggleEntry {
59
59
  combatEnabled?: boolean;
60
60
  valid?: boolean;
61
61
  isPassive?: boolean | number;
62
+ count?: number;
62
63
  maxTimes?: unknown;
63
64
  matchData?: EngineToggleMatch;
64
65
  }
66
+ /**
67
+ * One toggle set entry in `g_EsoBuildToggledSetData`, keyed by the rule's
68
+ * `nameId`. `valid` is set per calculation when the set is equipped with
69
+ * enough pieces (and any rule requirement is met).
70
+ */
71
+ export interface EngineToggledSetEntry {
72
+ id?: string;
73
+ setId?: string;
74
+ displayName?: string;
75
+ /** Set bonus text the toggle belongs to (the full bonus line). */
76
+ desc?: string;
77
+ /** The rule behind the toggle; `match` is the regex it matches in the desc. */
78
+ matchData?: {
79
+ match?: RegExp | null;
80
+ };
81
+ valid?: boolean;
82
+ enabled?: boolean;
83
+ /** Stack count. Read from the UESP number input (a DOM mock returns 0 here). */
84
+ count?: number;
85
+ minTimes?: number;
86
+ maxTimes?: number | null;
87
+ }
65
88
  /** One slot of a weapon/skill bar in `g_EsoSkillBarData`. */
66
89
  export interface EngineBarSlot {
67
90
  skillId: number;
@@ -157,13 +180,20 @@ export interface UespEngineGlobals {
157
180
  g_EsoCpClusterRoots?: Record<string, unknown>[];
158
181
  g_EsoCpLinks?: Record<string, number[]>;
159
182
  g_EsoPassiveSkillSnapshot?: Record<string, EnginePassiveRecord>;
183
+ /** `window.g_SkillsData` — all skills, keyed by abilityId. */
184
+ g_SkillsData?: Record<string, {
185
+ raceType?: string;
186
+ isPassive?: string;
187
+ }>;
188
+ /** `window.ESO_FREE_PASSIVES` — UESP's zero-skill-point list (armor bonuses/penalties, racial, craft, free actives). */
189
+ ESO_FREE_PASSIVES?: Record<string, number>;
160
190
  g_EsoBuildActiveWeapon?: number;
161
191
  g_EsoBuildActiveAbilityBar?: number;
162
192
  UpdateEsoComputedStatsList_Real?: (keepSaveResults: null, noUpdate: boolean) => void;
163
193
  IsEsoBuildToggledSetEnabled: (setId: unknown) => boolean;
164
- g_EsoBuildToggledSetData?: Record<string, {
165
- valid?: boolean;
166
- }>;
194
+ UpdateEsoBuildToggledSetData?: (inputValues: EngineInputValues) => void;
195
+ /** Initialized to `{}` when the UESP scripts load, so it is always present. */
196
+ g_EsoBuildToggledSetData: Record<string, EngineToggledSetEntry>;
167
197
  GetEsoInputValues?: (mergeComputedStats: unknown) => EngineInputValues;
168
198
  g_EsoInputStatSources?: Record<string, EngineStatSource[]>;
169
199
  }
@@ -1 +1 @@
1
- {"version":3,"file":"engine-globals.d.ts","sourceRoot":"","sources":["../../../src/lib/eso-engine/engine-globals.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine-globals.d.ts","sourceRoot":"","sources":["../../../src/lib/eso-engine/engine-globals.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"engine-globals.js","sourceRoot":"","sources":["../../../src/lib/eso-engine/engine-globals.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AA4JH;;;;GAIG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,UAA0C,CAAC;AACpD,CAAC"}
1
+ {"version":3,"file":"engine-globals.js","sourceRoot":"","sources":["../../../src/lib/eso-engine/engine-globals.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAwLH;;;;GAIG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,UAA0C,CAAC;AACpD,CAAC"}
@@ -33,15 +33,16 @@
33
33
  *
34
34
  * UPDATING FORMULAS after a new ESO patch:
35
35
  * 1. In vendor/uesp-esochardata/, run: git fetch upstream && git merge upstream/master
36
- * 2. Download the latest UESP SQL dumps and seed local.db (see eso-build-editor/scripts/seed.ts)
37
- * 3. Run: npm run generate-data -- --db /path/to/local.db --version <patch>
38
- * 4. Commit vendor/uesp-data/uesp-game-data.json
39
- * 5. Run tests: npm test
36
+ * 2. Regenerate the game data from the latest UESP SQL dumps:
37
+ * `npm run db:seed -- --dir <dumps> --version <patch>` (self-contained), or
38
+ * `npm run generate-data -- --db /path/to/local.db --version <patch>`
39
+ * 3. Commit vendor/uesp-data/uesp-game-data.json
40
+ * 4. Run tests: npm test
40
41
  */
41
42
  import { calculateBuild } from './calculator.js';
42
43
  import type { UespInitData } from './types.js';
43
- export type { BuildInput, BuffInfo, BuffEffect, BuffGroup, PassiveSkillInfo, ToggleSkillInfo, ComputedStats, UespItemApiData, EquipSlot, UespInitData, ChampionPointNode, SkillSlot, CpDiscipline, CpNode, CpLink, CpCluster, CpTree, } from './types.js';
44
- export { calculateBuild, listAvailableBuffs, listRacialPassives, listClassPassives, listPassivesBySkillLine, listAvailableSkillLines, listAvailableToggleSkills, } from './calculator.js';
44
+ export type { BuildInput, BuffInfo, BuffEffect, BuffGroup, PassiveSkillInfo, ToggleSkillInfo, ToggleSkillInput, ComputedStats, CalculatedBuild, SetToggle, UespItemApiData, EquipSlot, UespInitData, ChampionPointNode, SkillSlot, CpDiscipline, CpNode, CpLink, CpCluster, CpTree, } from './types.js';
45
+ export { calculateBuild, listAvailableBuffs, listRacialPassives, listClassPassives, listInherentPassives, listPassivesBySkillLine, listAvailableSkillLines, listAvailableToggleSkills, } from './calculator.js';
45
46
  export { getCpTree, buildCpTree, resetCpTreeCache } from './cp-tree.js';
46
47
  export type { CpTreeSource } from './cp-tree.js';
47
48
  export { buildCpLinks, buildCpParentMap, computePurchaseableNodes, isCpNodePurchaseable, createCpGate, } from './cp-gate.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/eso-engine/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAKH,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,YAAY,EACV,UAAU,EACV,QAAQ,EACR,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,eAAe,EACf,SAAS,EACT,YAAY,EACZ,iBAAiB,EACjB,SAAS,EACT,YAAY,EACZ,MAAM,EACN,MAAM,EACN,SAAS,EACT,MAAM,GACP,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,uBAAuB,EACvB,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACxE,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,wBAAwB,EACxB,oBAAoB,EACpB,YAAY,GACb,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,YAAY,EACV,cAAc,EACd,qBAAqB,EACrB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAKpB,iDAAiD;AACjD,MAAM,WAAW,wBAAwB;IACvC,oEAAoE;IACpE,QAAQ,EAAE,YAAY,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,QAAQ,EAAE,EAAE,wBAAwB,GAAG,IAAI,CAQlF;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAGlC;AAED,OAAO,EAAE,cAAc,IAAI,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/eso-engine/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAKH,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,YAAY,EACV,UAAU,EACV,QAAQ,EACR,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,SAAS,EACT,eAAe,EACf,SAAS,EACT,YAAY,EACZ,iBAAiB,EACjB,SAAS,EACT,YAAY,EACZ,MAAM,EACN,MAAM,EACN,SAAS,EACT,MAAM,GACP,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACxE,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,wBAAwB,EACxB,oBAAoB,EACpB,YAAY,GACb,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,YAAY,EACV,cAAc,EACd,qBAAqB,EACrB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAKpB,iDAAiD;AACjD,MAAM,WAAW,wBAAwB;IACvC,oEAAoE;IACpE,QAAQ,EAAE,YAAY,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,QAAQ,EAAE,EAAE,wBAAwB,GAAG,IAAI,CAQlF;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAGlC;AAED,OAAO,EAAE,cAAc,IAAI,OAAO,EAAE,CAAC"}
@@ -33,16 +33,17 @@
33
33
  *
34
34
  * UPDATING FORMULAS after a new ESO patch:
35
35
  * 1. In vendor/uesp-esochardata/, run: git fetch upstream && git merge upstream/master
36
- * 2. Download the latest UESP SQL dumps and seed local.db (see eso-build-editor/scripts/seed.ts)
37
- * 3. Run: npm run generate-data -- --db /path/to/local.db --version <patch>
38
- * 4. Commit vendor/uesp-data/uesp-game-data.json
39
- * 5. Run tests: npm test
36
+ * 2. Regenerate the game data from the latest UESP SQL dumps:
37
+ * `npm run db:seed -- --dir <dumps> --version <patch>` (self-contained), or
38
+ * `npm run generate-data -- --db /path/to/local.db --version <patch>`
39
+ * 3. Commit vendor/uesp-data/uesp-game-data.json
40
+ * 4. Run tests: npm test
40
41
  */
41
42
  import * as path from 'path';
42
43
  import { setupNodeEnvironment } from './env-setup.js';
43
44
  import { loadUespEngine, resetEngineLoader } from './loader.js';
44
45
  import { calculateBuild } from './calculator.js';
45
- export { calculateBuild, listAvailableBuffs, listRacialPassives, listClassPassives, listPassivesBySkillLine, listAvailableSkillLines, listAvailableToggleSkills, } from './calculator.js';
46
+ export { calculateBuild, listAvailableBuffs, listRacialPassives, listClassPassives, listInherentPassives, listPassivesBySkillLine, listAvailableSkillLines, listAvailableToggleSkills, } from './calculator.js';
46
47
  export { getCpTree, buildCpTree, resetCpTreeCache } from './cp-tree.js';
47
48
  export { buildCpLinks, buildCpParentMap, computePurchaseableNodes, isCpNodePurchaseable, createCpGate, } from './cp-gate.js';
48
49
  export { debugBuild } from './debug.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/eso-engine/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAsBjD,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,uBAAuB,EACvB,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAExE,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,wBAAwB,EACxB,oBAAoB,EACpB,YAAY,GACb,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAOxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,IAAI,WAAW,GAAG,KAAK,CAAC;AAQxB;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,qBAAqB,CAAC,EAAE,QAAQ,EAA4B;IAC1E,IAAI,WAAW;QAAE,OAAO;IACxB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAC9D,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,mCAAmC,CAAC,CAAC;IAC9E,oBAAoB,EAAE,CAAC;IACvB,cAAc,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IACxC,gBAAgB,EAAE,CAAC;IACnB,WAAW,GAAG,IAAI,CAAC;AACrB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW;IACzB,WAAW,GAAG,KAAK,CAAC;IACpB,iBAAiB,EAAE,CAAC;AACtB,CAAC;AAED,OAAO,EAAE,cAAc,IAAI,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/eso-engine/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAyBjD,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAExE,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,wBAAwB,EACxB,oBAAoB,EACpB,YAAY,GACb,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAOxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,IAAI,WAAW,GAAG,KAAK,CAAC;AAQxB;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,qBAAqB,CAAC,EAAE,QAAQ,EAA4B;IAC1E,IAAI,WAAW;QAAE,OAAO;IACxB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAC9D,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,mCAAmC,CAAC,CAAC;IAC9E,oBAAoB,EAAE,CAAC;IACvB,cAAc,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IACxC,gBAAgB,EAAE,CAAC;IACnB,WAAW,GAAG,IAAI,CAAC;AACrB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW;IACzB,WAAW,GAAG,KAAK,CAAC;IACpB,iBAAiB,EAAE,CAAC;AACtB,CAAC;AAED,OAAO,EAAE,cAAc,IAAI,OAAO,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/lib/eso-engine/loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAM/C;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,iBAAiB,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAwV/F;AAED,oDAAoD;AACpD,wBAAgB,iBAAiB,IAAI,IAAI,CAGxC"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/lib/eso-engine/loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAM/C;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,iBAAiB,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CA+V/F;AAED,oDAAoD;AACpD,wBAAgB,iBAAiB,IAAI,IAAI,CAGxC"}
@@ -272,28 +272,32 @@ export function loadUespEngine(uespResourcesPath, initData) {
272
272
  return _origIsTwiceBorn.call(this);
273
273
  };
274
274
  }
275
- // 7. Patch UpdateEsoBuildToggledSkillData to preserve the enabled state.
275
+ // 7. Patch UpdateEsoBuildToggledSkillData to preserve the enabled state and the
276
+ // stack count.
276
277
  //
277
278
  // The engine uses $("#esotbToggledSkillInfo").find(...).is(":checked") to read
278
- // toggle skill checkboxes. In Node.js the jQuery mock has no real DOM, so
279
- // checkElement.length = 1 (mock) and .is(":checked") returns a chain proxy.
280
- // This makes SetEsoBuildToggledSkillEnable(skillId, falsyValue) overwrite the
281
- // enabled=true that calculator.ts set before the calculation.
279
+ // toggle skill checkboxes, and .next(".esotbToggleSkillNumber").val() to read the
280
+ // stack count. In Node.js the jQuery mock has no real DOM, so checkElement.length
281
+ // = 1 (mock), .is(":checked") returns a chain proxy and .val() returns "". This
282
+ // makes SetEsoBuildToggledSkillEnable(skillId, falsyValue) overwrite the enabled=true
283
+ // that calculator.ts set before the calculation, and SetEsoBuildToggledSkillCount
284
+ // overwrite the count with NiceIntParse("") = 0 (discarding the effect of toggles
285
+ // with maxTimes — see D1).
282
286
  //
283
- // Fix: save enabled[] before the original call and restore afterwards — preserves
284
- // the programmatic state without affecting the engine's validation (.valid) logic.
287
+ // Fix: save enabled[] and count[] before the original call and restore afterwards —
288
+ // preserves the programmatic state without affecting the engine's validation
289
+ // (.valid) logic.
285
290
  const _origUpdateToggledSkill = global.UpdateEsoBuildToggledSkillData;
286
291
  if (typeof _origUpdateToggledSkill === 'function') {
287
292
  global.UpdateEsoBuildToggledSkillData = function (inputValues) {
288
293
  const toggleData = global.g_EsoBuildToggledSkillData ?? {};
289
- const savedEnabled = {};
290
- for (const k of Object.keys(toggleData)) {
291
- savedEnabled[k] = !!toggleData[k]?.enabled;
292
- }
294
+ // The engine only mutates existing entries (never deletes), so snapshot the
295
+ // keys and restore each one unconditionally — no branches.
296
+ const saved = Object.keys(toggleData).map((k) => [k, !!toggleData[k].enabled, toggleData[k].count]);
293
297
  _origUpdateToggledSkill.call(this, inputValues);
294
- for (const k of Object.keys(savedEnabled)) {
295
- if (toggleData[k])
296
- toggleData[k].enabled = savedEnabled[k];
298
+ for (const [k, enabled, count] of saved) {
299
+ toggleData[k].enabled = enabled;
300
+ toggleData[k].count = count;
297
301
  }
298
302
  };
299
303
  }
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/lib/eso-engine/loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/lib/eso-engine/loader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { EngineToggledSetEntry } from './engine-globals.js';
2
+ import type { SetToggle } from './types.js';
3
+ /**
4
+ * Builds the list of set toggles that apply to the build currently loaded in
5
+ * the engine, from `g_EsoBuildToggledSetData`.
6
+ *
7
+ * The engine recomputes each entry's `valid` flag on every calculation, so this
8
+ * must be read right after the update — which is exactly where `calculateBuild`
9
+ * calls it. Fresh objects are returned (not references into the engine state),
10
+ * so a later calculation cannot mutate an already-returned list.
11
+ */
12
+ export declare function collectSetToggles(toggleData: Record<string, EngineToggledSetEntry> | undefined): SetToggle[];
13
+ //# sourceMappingURL=set-toggles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set-toggles.d.ts","sourceRoot":"","sources":["../../../src/lib/eso-engine/set-toggles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAgB5C;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,GAAG,SAAS,GAC5D,SAAS,EAAE,CAqBb"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Description for a toggle: the part of the set bonus the rule actually matches
3
+ * (e.g. the interrupt sentence for a "(Bonus Damage)" variant), so toggles that
4
+ * share a set bonus line get distinct descriptions. Falls back to the full line
5
+ * when the rule has no regex or it doesn't match.
6
+ */
7
+ function toggleDescription(toggle) {
8
+ const desc = toggle.desc ?? '';
9
+ const match = toggle.matchData?.match;
10
+ if (!desc || !match)
11
+ return desc;
12
+ return desc.match(match)?.[0] ?? desc;
13
+ }
14
+ /**
15
+ * Builds the list of set toggles that apply to the build currently loaded in
16
+ * the engine, from `g_EsoBuildToggledSetData`.
17
+ *
18
+ * The engine recomputes each entry's `valid` flag on every calculation, so this
19
+ * must be read right after the update — which is exactly where `calculateBuild`
20
+ * calls it. Fresh objects are returned (not references into the engine state),
21
+ * so a later calculation cannot mutate an already-returned list.
22
+ */
23
+ export function collectSetToggles(toggleData) {
24
+ const result = [];
25
+ if (!toggleData)
26
+ return result;
27
+ for (const [id, toggle] of Object.entries(toggleData)) {
28
+ if (!toggle.valid)
29
+ continue;
30
+ result.push({
31
+ id,
32
+ // Variant rules point at their base set via `setId`; fall back to the id.
33
+ setId: toggle.setId || id,
34
+ // `displayName` is usually empty; the rule id is the readable fallback.
35
+ label: toggle.displayName || id,
36
+ description: toggleDescription(toggle),
37
+ minTimes: toggle.minTimes ?? 0,
38
+ maxTimes: toggle.maxTimes ?? null,
39
+ count: toggle.count ?? 0,
40
+ });
41
+ }
42
+ return result;
43
+ }
44
+ //# sourceMappingURL=set-toggles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set-toggles.js","sourceRoot":"","sources":["../../../src/lib/eso-engine/set-toggles.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,SAAS,iBAAiB,CAAC,MAA6B;IACtD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC;IACtC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAEjC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AACxC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAC/B,UAA6D;IAE7D,MAAM,MAAM,GAAgB,EAAE,CAAC;IAC/B,IAAI,CAAC,UAAU;QAAE,OAAO,MAAM,CAAC;IAE/B,KAAK,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACtD,IAAI,CAAC,MAAM,CAAC,KAAK;YAAE,SAAS;QAE5B,MAAM,CAAC,IAAI,CAAC;YACV,EAAE;YACF,0EAA0E;YAC1E,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE;YACzB,wEAAwE;YACxE,KAAK,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE;YAC/B,WAAW,EAAE,iBAAiB,CAAC,MAAM,CAAC;YACtC,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,CAAC;YAC9B,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,IAAI;YACjC,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;SACzB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -67,6 +67,22 @@ export interface ToggleSkillInfo {
67
67
  maxTimes: number | null;
68
68
  effects: BuffEffect[];
69
69
  }
70
+ /**
71
+ * A toggle skill to enable, with an optional stack count.
72
+ * Use this form in BuildInput.toggleSkills for toggles with `maxTimes`
73
+ * (e.g. Grim Focus, Amplitude, Undeath).
74
+ */
75
+ export interface ToggleSkillInput {
76
+ /** Toggle name, as returned by listAvailableToggleSkills(). */
77
+ name: string;
78
+ /**
79
+ * Stack count fed to the engine (`toggleData.count`).
80
+ * Only meaningful for toggles with `maxTimes`; for those without it the
81
+ * value is ignored by the engine. Defaults to 0 when omitted (the engine's
82
+ * own default). Values above `maxTimes` are clamped, matching the UESP UI.
83
+ */
84
+ count?: number;
85
+ }
70
86
  /**
71
87
  * Item data as returned by the UESP public item API
72
88
  * (esolog.uesp.net/exportJson.php?table=minedItem).
@@ -284,11 +300,15 @@ export interface BuildInput {
284
300
  */
285
301
  activeBuffs?: string[];
286
302
  /**
287
- * Exact names of enabled toggle skills.
288
- * Ex: ["Emperor", "Authority", "Domination", "Tactician"]
303
+ * Toggle skills to enable, optionally with a stack count.
304
+ * Ex: ["Emperor", { name: "Grim Focus", count: 5 }]
289
305
  * Uses the same name as in UESP's g_EsoBuildToggledSkillData.
306
+ *
307
+ * Toggles with `maxTimes` need `count > 0` to apply their effect; passing the
308
+ * plain name leaves the count at 0 and the engine discards the effect.
309
+ * See listAvailableToggleSkills() for the names and their `maxTimes`.
290
310
  */
291
- toggleSkills?: string[];
311
+ toggleSkills?: (string | ToggleSkillInput)[];
292
312
  /**
293
313
  * Skills slotted on the character's action bars (max 6 per bar).
294
314
  *
@@ -344,6 +364,20 @@ export interface BuildInput {
344
364
  * @default false
345
365
  */
346
366
  autoPassives?: boolean;
367
+ /**
368
+ * When true, automatically injects the game's inherent passives — the
369
+ * `ESO_FREE_PASSIVES` list (Light/Medium/Heavy Armor Bonuses and Penalties,
370
+ * racial, craft, and a few free actives) — in addition to any explicit
371
+ * `passiveSkills` and `autoPassives`.
372
+ *
373
+ * Mirrors the UESP Build Editor, which loads this baseline by itself. The
374
+ * armor entries are gated per equipped piece (`factorStatId`
375
+ * ArmorLight/ArmorMedium/ArmorHeavy), so with no armor of that weight they
376
+ * contribute nothing. Use `listInherentPassives()` to enumerate them.
377
+ *
378
+ * @default false
379
+ */
380
+ autoInherentPassives?: boolean;
347
381
  /**
348
382
  * Custom enchantments per slot — override the item's default enchantDesc.
349
383
  * Auto-generated by browser-export-build.js when the user swaps the
@@ -371,12 +405,33 @@ export interface BuildInput {
371
405
  * - "Ansuul's Torment" → +7% damage done against monsters (base)
372
406
  * - "Ansuul's Torment (Bonus Damage)" → +14% additional (on interrupt)
373
407
  * - "Spectral Cloak" → +6% damage done (via Blade Cloak proc)
408
+ *
409
+ * Unknown ids (or ids whose set is not equipped) are ignored silently.
374
410
  */
375
411
  toggledSetBonuses?: string[];
412
+ /**
413
+ * Stack count per enabled toggle id. Only relevant for toggles whose
414
+ * {@link SetToggle.maxTimes} is not null (e.g. "Sergeant's Mail",
415
+ * "Rallying Cry") — the engine multiplies the effect by this count.
416
+ *
417
+ * Defaults to 0, which makes such a toggle contribute nothing — the same as
418
+ * the UESP editor, whose number input starts at 0. Values are clamped to the
419
+ * toggle's `minTimes`/`maxTimes` range, mirroring that input.
420
+ *
421
+ * @example
422
+ * ```ts
423
+ * toggledSetBonuses: ["Sergeant's Mail"],
424
+ * toggledSetBonusCounts: { "Sergeant's Mail": 4 },
425
+ * ```
426
+ */
427
+ toggledSetBonusCounts?: Record<string, number>;
376
428
  }
377
429
  /**
378
- * The result of calculateBuild(): the key stats as named properties, plus
379
- * `raw` with all 221 computed stats from the UESP engine.
430
+ * The key stats as named properties, plus `raw` with all 204 computed stats
431
+ * from the UESP engine.
432
+ *
433
+ * `calculateBuild()` returns a {@link CalculatedBuild} — this shape extended
434
+ * with `setToggles`.
380
435
  *
381
436
  * Stat IDs match `g_EsoComputedStats` exactly (UESP version 49+). Percent
382
437
  * values are returned as the engine stores them (e.g. 12.5 = 12.5%).
@@ -413,6 +468,64 @@ export interface ComputedStats {
413
468
  /** Raw object with ALL g_EsoComputedStats values after the calculation */
414
469
  raw: Record<string, number>;
415
470
  }
471
+ /**
472
+ * A set toggle that applies to the calculated build.
473
+ *
474
+ * Set bonuses whose condition the engine cannot infer on its own (e.g.
475
+ * "after interrupting an enemy", "out of combat") are exposed by the UESP
476
+ * Build Editor as manual checkboxes. `calculateBuild` reports which of them
477
+ * apply to the current build via `setToggles`; enabling one is a separate
478
+ * step, done by passing its {@link SetToggle.id} in
479
+ * `BuildInput.toggledSetBonuses`.
480
+ *
481
+ * Note: `setToggles` is the list of *applicable* toggles, not the enabled
482
+ * ones. A toggle only takes effect when it is both applicable and enabled.
483
+ */
484
+ export interface SetToggle {
485
+ /** Rule `nameId` — the key accepted in `BuildInput.toggledSetBonuses`. */
486
+ id: string;
487
+ /**
488
+ * Set the toggle belongs to. Variant rules (e.g. "Ansuul's Torment (Bonus
489
+ * Damage)") resolve to their base set via the rule's `setId` (the engine maps
490
+ * the rule's source `originalId` field to `setId` at load time).
491
+ */
492
+ setId: string;
493
+ /** Human-readable label for UI (`displayName` when present, else `id`). */
494
+ label: string;
495
+ /**
496
+ * Set bonus text the toggle belongs to: the slice of the bonus line the
497
+ * rule's regex matches (falls back to the full line when the rule has no
498
+ * regex or it doesn't match). Empty when the equipped items carry no set
499
+ * bonus descriptions.
500
+ */
501
+ description: string;
502
+ /** Minimum stacks for a stacking toggle (0 when the rule has no `minTimes`). */
503
+ minTimes: number;
504
+ /** Maximum stacks the toggle can reach; null for toggles without a count. */
505
+ maxTimes: number | null;
506
+ /**
507
+ * Stack count used in this calculation (from `BuildInput.toggledSetBonusCounts`).
508
+ * Always 0 for toggles without `maxTimes`; for stacking toggles it is 0 when
509
+ * no count is provided, which makes the toggle contribute nothing.
510
+ */
511
+ count: number;
512
+ }
513
+ /**
514
+ * Result of `calculateBuild()`: the computed stats plus metadata about the
515
+ * same calculation.
516
+ *
517
+ * Extends {@link ComputedStats}, so consumers keep reading `stats.Health` /
518
+ * `stats.raw` unchanged — `setToggles` is an additive field.
519
+ */
520
+ export interface CalculatedBuild extends ComputedStats {
521
+ /**
522
+ * Set toggles that apply to this build: the set is equipped with enough
523
+ * pieces and any skill/stat requirement of the rule is met.
524
+ *
525
+ * Empty when the build equips no set with a conditional toggle.
526
+ */
527
+ setToggles: SetToggle[];
528
+ }
416
529
  export interface UespInitData {
417
530
  /** Stat calculation formulas (the engine's "brains") */
418
531
  computedStats: Record<string, unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/eso-engine/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/eso-engine/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "uesp-eso-build-wrapper",
3
- "version": "0.5.0",
3
+ "version": "0.7.0",
4
4
  "description": "Node.js wrapper around the UESP ESO Build Editor math engine. Calculate Elder Scrolls Online character stats (Health, Magicka, Stamina, mitigation, crit, etc.) without rewriting any game formulas.",
5
5
  "keywords": [
6
6
  "elder-scrolls-online",
@@ -71,7 +71,9 @@
71
71
  "test": "vitest run",
72
72
  "test:esm": "node scripts/test-esm-import.mjs",
73
73
  "test:coverage": "vitest run --coverage",
74
+ "predocs:dev": "npm run docs:api",
74
75
  "docs:dev": "vitepress dev docs",
76
+ "predocs:build": "npm run docs:api",
75
77
  "docs:build": "vitepress build docs",
76
78
  "docs:preview": "vitepress preview docs",
77
79
  "docs:api": "typedoc --options typedoc.json && npm run docs:api:sync-pt",