Attributes

Strength, Dexterity, Vitality, and Constitution — what each point does and how they feed your derived stats.

On this page

Every hero starts at 10 in each attribute. From then on, 5 attribute points are assigned automatically each level according to your chosen class — there are no points to spend by hand. Which attributes grow, and how fast, is set entirely by the class’s growth row. See the Classes page for the four classes and their growth rates.

The four attributes

Each point gives a flat, linear return. The one exception: Dexterity’s attack speed and Constitution’s percentage damage reduction feed into shared caps (noted below).

AttributePer-point effect
Strength+0.25% physical damage, and +3 Attack Rating
Dexterity+4 Attack Rating, and +0.05% attack speed
Vitality+5 Max HP
Constitution+5 Defense Rating, +0.06% physical-damage reduction, and flat per-hit reduction of 0.0025 × Constitution × level

Notes on each attribute

  • Strength raises physical damage as a multiplier — 1 + 0.0025 × Strength applied to your weapon and flat-damage affixes (so +50% at 200 STR). Its Attack Rating helps heavy weapons actually land hits.
  • Dexterity buys Attack Rating (accuracy) and attack speed. Attack speed from gear and Dexterity combined is capped at ±85%, so DEX speed stops helping once you are already at the cap (roughly +15% at 300 DEX before other gear). +15% attack speed means 15% more swings per second.
  • Vitality is pure survivability — a flat +5 Max HP per point, before any % Max HP affixes multiply it.
  • Constitution is the tank stat. Its Defense Rating improves hit-avoidance and armor mitigation; its +0.06% physical reduction feeds the shared 50% physical-damage-reduction cap (so +12% at 200 CON); and its flat per-hit reduction (0.0025 × CON × level) is applied after that cap. A single hit can never lose more than half its damage to flat reduction.

Attributes from gear

Class growth is not the only source. Affixes grant flat +Strength / +Dexterity / +Vitality / +Constitution, and they are added to the class-derived value before every coefficient above runs — so a +8 Vitality roll really is +40 Max HP, before any % Max HP multiplies it.

There is also a unique-only affix, All Attributes, which adds its rolled value to all four attributes at once. Its roll range is roughly half a single-attribute affix’s (1–3 at tier 1 up to 5–8 at tier 5) precisely because it fans out four ways; it cannot roll on Magic or Rare gear.

Per-level scaling (independent of attributes)

On top of attributes, every hero level automatically adds a fixed amount:

StatGain per level
Max HP+3
Attack Rating+4
Defense Rating+2

How attributes feed your derived stats

Derived statFormula
Max HP(70 + flat HP affixes + 5 × Vitality + 3 × level) × (1 + % HP affixes)
Min / Max Damage(weapon + speed-normalised flat damage affixes) × (1 + Enhanced Damage % from slots other than the weapon and shield) × (1 + 0.0025 × Strength), then main-skill / passive multipliers
Attack Rating(50 + flat AR + 4 × Dexterity + 3 × Strength + 4 × level) × (1 + AR%)
Defense Rating(base + flat DR + 5 × Constitution + 2 × level + shield bonuses) × (1 + DR%)
Attack Intervalweapon base ÷ (1 + attack-speed bonuses), where DEX contributes +0.05% per point

Worked example

Take a fully-levelled Berserker at level 99. Its class growth row resolves to 216 STR, 79 DEX, 172 VIT, 64 CON. Running each attribute through the coefficients above (verified against player.ts and computePlayerStats in formulas.ts):

AttributeValueContributionResult
Strength2160.0025 × 216 damage multiplier+54% physical damage
Strength2163 × 216 Attack Rating+648 AR
Dexterity794 × 79 Attack Rating+316 AR
Vitality1725 × 172 Max HP+860 Max HP
Constitution645 × 64 Defense Rating+320 DR
Constitution640.0006 × 64 % reduction+3.8% physical reduction
Constitution640.0025 × 64 × 99 flat reduction≈15.8 dmg/hit (shown as 16 on the sheet)

Reading it back:

  • Damage. Every point of weapon and flat-damage affix is multiplied by 1 + 0.0025 × 216 = 1.54, a flat +54% on top of the Slow-weapon class bonus.
  • Attack Rating. STR and DEX together add 648 + 316 = 964 AR before the base 50, the +4/level (here +396), and any AR% affixes.
  • HP. The +860 from Vitality is added to the 70 base and the +3/level (+297) before any % Max HP affixes multiply the total.
  • Defense. CON’s +320 DR feeds hit-avoidance and armor mitigation; its +3.8% reduction sits inside the shared 50% physical-damage-reduction cap; and its flat cut of 0.0025 × 64 × 99 ≈ 15.8 is subtracted from every hit after that cap (the character sheet rounds it to 16). That flat cut is uncapped per point, but a single hit can still never lose more than half its damage to flat reduction overall.

Note the asymmetry the class leans into: at 64 CON the Berserker’s flat reduction is modest (≈16), whereas a level-99 Sentinel — 123 CON from its growth row alone, before any +Constitution gear — subtracts 0.0025 × 123 × 99 ≈ 30 per hit. That is the tank’s true anti-attrition niche.

Changing your growth

Because points are class-assigned, your attribute shape is your class. The class is fixed once chosen — only a hero below level 10 can still switch, for free, and that change refunds every skill point. There is no manual point-by-point respec. See Classes for details.