Skip to content

Add per damage type Max Hit to power stat options - #2555

Open
515k4 wants to merge 2 commits into
PathOfBuildingCommunity:devfrom
515k4:feature/max-hit-power-stats
Open

515k4 wants to merge 2 commits into
PathOfBuildingCommunity:devfrom
515k4:feature/max-hit-power-stats

Conversation

@515k4

@515k4 515k4 commented Oct 3, 2026 •

Copy link
Copy Markdown

Description of the problem being solved:

Show Node Power, the Power Report and the other power stat dropdowns (Items tab sort, item and notable DB sort, trade weights, Compare tab) had two options for hit defence. Neither shows how a node changes the largest hit of one damage type that the character survives:

  • Eff. Maximum Hit Taken is the second-lowest of the five per-type max hits (SecondMinimalMaximumHitTaken). A node that only raises one damage type, such as fire resistance, scores 0 unless that type is the second-lowest.
  • Taken Phys dmg (and the other "Taken X dmg" options) is how much of the enemy hit set in the Configuration tab gets through after mitigation. Life and Energy Shield do not change it, so pool nodes score 0.

What this PR changes

  • Adds Physical, Lightning, Cold, Fire and Chaos Max Hit to data.powerStatList, right after Eff. Maximum Hit Taken. They read the existing <Type>MaximumHitTaken outputs, the values shown as "Max Hit" in the sidebar, so both pools and mitigation count. Higher is better, so they have no transform.
  • The existing loop adds Minion variants (Minion Physical Max Hit, and so on). Minion max hit is already calculated.

Steps taken to verify a working solution:

  • New spec/System/TestMaxHitPowerStats_spec.lua with 4 tests:
    • the five options are in the passive tree power list with their labels
    • their Minion variants exist
    • a "3% increased maximum Life" node scores positive for all five
    • a "+8% to Fire Resistance" node scores only for Fire Max Hit
  • All 4 tests fail without the change.
  • Full suite passes (907 tests).
  • Headless node power on a new level 90 Ranger (1187 Life, no Armour), calculated the same way as the node power sweep (base output vs. output with the node added):
Node Eff. Max Hit Taken Physical Lightning Cold Fire Chaos Taken Phys dmg
3% increased maximum Life +22 +33 +22 +22 +22 +33 0
+8% to Fire Resistance 0 0 0 0 +45 0 0

The Fire Resistance node scores 0 under Eff. Maximum Hit Taken because Lightning and Cold are still at the lowest value (791). The Fire Max Hit option shows its +45.

Link to a build that showcases this PR:

N/A

Before screenshot:

After screenshot:

image

🤖 Generated with Claude Code

515k4 and others added 2 commits October 3, 2026 11:30
Node power, the Power Report and the other power stat selectors only
offered "Eff. Maximum Hit Taken" (the second-lowest max hit across all
damage types) and the "Taken X dmg" stats, which ignore life/ES pools.
Add Physical, Lightning, Cold, Fire and Chaos Max Hit so a single
damage type's maximum survivable hit can be optimised directly. Minion
variants are generated automatically.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Changing build.characterLevel without setting build.buildFlag left the
misc calculator's base output at level 1, so every node scored the
level difference instead of its own effect. Force the recalc, and check
that a Fire Resistance node only scores for Fire Max Hit.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant