Add support for Loyalty/damage taken from Companion's Life before you - #2159
Merged
LocalIdentity merged 4 commits intoJun 30, 2026
Merged
LocalIdentity merged 4 commits into
LocalIdentity merged 4 commits into
Conversation
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.
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
LocalIdentity
approved these changes
Jun 30, 2026
LocalIdentity
left a comment
Contributor
There was a problem hiding this comment.
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
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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:
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:
After screenshot: