Skip to content

Lendo o Resultado ​

calculateBuild() retorna um objeto CalculatedBuild — os stats computados mais setToggles.

ts
const stats = calculateBuild({ character: { /* ... */ } });

Stats nomeados ​

Os stats mais usados são propriedades tipadas:

PropriedadeDescrição
Health / Magicka / StaminaPools máximos de recurso
HealthRegen / MagickaRegen / StaminaRegenRegeneração
WeaponDamage / SpellDamageDano base
WeaponCrit / SpellCritChance de crítico
SpellCritDamage / WeaponCritDamageBônus de dano crítico
PhysicalResist / SpellResist / CritResistResistências
PhysicalPenetration / SpellPenetrationPenetração de armadura
DefensePhysicalMitigation / DefenseSpellMitigationMitigação efetiva vs. ataques inimigos
EffectivePower / EffectiveSpellPower / EffectiveWeaponPowerPoder efetivo
HealingDone / HealingTakenModificadores de cura
RunSpeed / SprintSpeedVelocidade de movimento

Stats em percentual saem em unidades de percentual como o motor exibe (ex.: 12.5 = 12,5%).

Todos os 204 stats: stats.raw ​

raw é o record completo de g_EsoComputedStats do motor — todo stat que o build editor da UESP mostra, incluindo os menos comuns (BashDamage, GroupHealing, ...):

ts
for (const [statId, value] of Object.entries(stats.raw)) {
  console.log(statId, value);
}

TIP

Os stat IDs são estáveis — são as próprias chaves de g_EsoComputedStats do motor (UESP versão 49+). Se precisar de um stat que não está na lista nomeada, acesse via stats.raw.<StatId>.

Toggles de set aplicáveis: stats.setToggles ​

Alguns bônus de set têm condição que o motor não consegue inferir (ex. "após interromper um inimigo", "fora de combate"). A UESP Build Editor os expõe como checkboxes manuais. O calculateBuild() informa quais se aplicam à build atual:

ts
const { setToggles } = calculateBuild(input);

setToggles;
// [
//   { id: "Ansuul's Torment",                setId: "Ansuul's Torment", label: "Ansuul's Torment" },
//   { id: "Ansuul's Torment (Bonus Damage)", setId: "Ansuul's Torment", label: "Ansuul's Torment (Bonus Damage)" },
// ]

É a lista dos toggles aplicáveis (o set está equipado com peças suficientes e qualquer requisito da rule é atendido) — não dos ligados. Para ligar um, passe o id dele em BuildInput.toggledSetBonuses:

ts
calculateBuild({
  ...input,
  toggledSetBonuses: ["Ansuul's Torment"],
});

Vazia quando a build não equipa nenhum set com toggle condicional.

Toggles com stack (ex.: Sergeant's Mail) só contribuem quando um count é informado via BuildInput.toggledSetBonusCounts; cada SetToggle expõe minTimes/maxTimes/count. Veja Buffs & Toggle Skills.

Depurando uma discrepância ​

Quando um stat não bate com o esperado, o debugBuild() devolve o quadro completo: todo valor de input por categoria (item, set, buff, CP, mundus, food, skill) e qual fonte contribuiu cada valor:

ts
import { debugBuild } from 'uesp-eso-build-wrapper';

const info = debugBuild(input);
console.log(info.inputValues.Set);     // o que cada bônus de set contribuiu
console.log(info.statSources.SpellDamage); // quem setou SpellDamage, em ordem

Ele roda o mesmo cálculo — use em testes ou debug local, não em caminhos de produção.

Elder Scrolls Online is a trademark of ZeniMax Media Inc. This project is not affiliated with or endorsed by ZeniMax Media Inc.