Skip to content

Add support for Loyalty/damage taken from Companion's Life before you - #2159

Merged
LocalIdentity merged 4 commits into
PathOfBuildingCommunity:devfrom
ltogniolli:companion-taken-before-you
Jun 30, 2026
Merged

LocalIdentity merged 4 commits into
PathOfBuildingCommunity:devfrom
ltogniolli:companion-taken-before-you

Conversation

@ltogniolli

Copy link
Copy Markdown
Contributor

Implements the "% of Damage from Hits is taken from your (Damageable) Companion's Life before you" mechanic as a new "companion" ally pool in the existing alliesTakenBeforeYou framework, covering:

  • Tree nodes, Starkonja's Head, and the Bonded rune (hit redirect)
  • Forgotten Warden (Deflected Hits variant, scaled by Deflect chance)
  • Loyalty and Romira's Requital support gems via a shared statMap entry (Romira's recoup is left unsupported for a follow-up)

Total companion life is summed automatically from all active damageable companion skills: the main-skill minion init in CalcPerform is extracted into initMinionModDB so non-main companions can be initialised the same way, with a "Total Companion Life" config field as a manual override.

Also drops the stale ifSkill="Raise Spectre" gate from the Total Spectre Life config field so it is reachable in PoE2, and regenerates the four mis-parsed companion entries in ModCache.

Steps taken to verify a working solution:

Manual/unit testing.

Link to a build that showcases this PR:

https://pobb.in/70HXySRg9wV5

Before screenshot:

image image

After screenshot:

image image image

Implements the "% of Damage from Hits is taken from your (Damageable)
Companion's Life before you" mechanic as a new "companion" ally pool in
the existing alliesTakenBeforeYou framework, covering:

- Tree nodes, Starkonja's Head, and the Bonded rune (hit redirect)
- Forgotten Warden (Deflected Hits variant, scaled by Deflect chance)
- Loyalty and Romira's Requital support gems via a shared statMap entry
  (Romira's recoup is left unsupported for a follow-up)

Total companion life is summed automatically from all active damageable
companion skills: the main-skill minion init in CalcPerform is extracted
into initMinionModDB so non-main companions can be initialised the same
way, with a "Total Companion Life" config field as a manual override.

Also drops the stale ifSkill="Raise Spectre" gate from the Total Spectre
Life config field so it is reachable in PoE2, and regenerates the four
mis-parsed companion entries in ModCache.
@LocalIdentity LocalIdentity added the enhancement New feature, calculation, or mod label Jun 30, 2026
LocalIdentity added 3 commits June 30, 2026 12:28
All the companion mods have damageable in the name so no need to exclude it
Added Override to the config to its clearer to users without needing to hover
Made the minion mod loop into a function as its used multiple times
Now auto calcs for spectres too
Changes the mod name so it's capilatised as it now appears in a breakdown list
Fixes the handling of Loyalty as it previously wasn't stacking when using multiple companions

@LocalIdentity LocalIdentity left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I made a few fixes and improvements
It now works with the spectre mod too
Fixed Loyalty not stacking correctly when used on multiple companions
Changed the config option to state override as that's all its needed for now

@LocalIdentity LocalIdentity added the pob1 Should also be merged into PoB1 Repo label Jun 30, 2026
@LocalIdentity
LocalIdentity merged commit 931d197 into PathOfBuildingCommunity:dev Jun 30, 2026
5 checks passed
prado1506 added a commit to prado1506/PathOfBuilding-PoE2 that referenced this pull request Jun 30, 2026
Resolve conflicts: take upstream's PathOfBuildingCommunity#2314 trade-stat-descriptor refactor
(TradeHelpers, CompareBuySimilar, TestTradeHelpers) as the canonical merged
version of the local pr/2314; keep both sides for independent features in
CalcPerform (Stonefist glove transform + PathOfBuildingCommunity#2159 minion/spectre/companion life
pool) and TestDefence (guard-rate precedence regression test + PathOfBuildingCommunity#2159 tests).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
prado1506 added a commit to prado1506/PathOfBuilding-PoE2 that referenced this pull request Jun 30, 2026
The earlier 'keep both' merge of the Stonefist glove transform (HEAD) and the
PathOfBuildingCommunity#2159 minion/spectre/companion life pool (upstream) dropped one 'end': git's
shared post-conflict 'end' closed the GloveExplicitModTransform if on HEAD's
side and the companion if on upstream's side, but only one such 'end' exists.
Keeping both blocks needs the GloveExplicitModTransform if closed explicitly.

Resolves: CalcPerform.lua:3908 ''end' expected (to close 'function' at line 1175)'

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
LocalIdentity pushed a commit to PathOfBuildingCommunity/PathOfBuilding that referenced this pull request Jul 23, 2026
…e before you (#9922)

* Apply changes from PathOfBuildingCommunity/PathOfBuilding-PoE2#2159

* Fix merge issues and compact code

* Automatically calcs life pools

Automatically calcs life values for the different minion types
Also compacts the defence code into loops so it's easier to add more mods in the future

---------

Co-authored-by: ltogniolli <ltogniolli@users.noreply.github.com>
Co-authored-by: LocalIdentity <localidentity2@gmail.com>
DrakenKor pushed a commit to DrakenKor/PathOfBuilding that referenced this pull request Jul 27, 2026
…e before you (PathOfBuildingCommunity#9922)

* Apply changes from PathOfBuildingCommunity/PathOfBuilding-PoE2#2159

* Fix merge issues and compact code

* Automatically calcs life pools

Automatically calcs life values for the different minion types
Also compacts the defence code into loops so it's easier to add more mods in the future

---------

Co-authored-by: ltogniolli <ltogniolli@users.noreply.github.com>
Co-authored-by: LocalIdentity <localidentity2@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature, calculation, or mod pob1 Should also be merged into PoB1 Repo

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants