Skip to content

Conversation

@OriginalThing
Copy link
Contributor

@OriginalThing OriginalThing commented Dec 16, 2025

Fixes #9358

Description of the problem being solved:

Radiant Faith was not calculating armour and energy shield correctly when using a Foulbourn Choir of the Storm, as resistances were not calculated before mana and GrantReservedManaAsAura are calculated. I've refactored the resistance calcs into a separate function delayed the aura calculation to the latest possible instance and call the resistance to be calculated before recalculating the mana and reserved mana, when the mana is increased by x% of overcapped lightning resistance mod exists. Also reverts 06f7a74 as it's no longer required

Steps taken to verify a working solution:

  • Import PoB (linked below)
  • Compare the numbers to the With Choir of the Storm screenshots
  • Swap Amulet to Eyes of the Greatwolf
  • Compare the numbers to the With Greatwolf screenshots

Link to a build that showcases this PR:

https://pobb.in/jQdfX_LgQW2w
With Choir of the Storm
image
image

With Greatwolf
image
image

Also tested using the PoB provided in #9350 (comment) (The number I get is off by 19 so may need another PoB to verify, but way closer than before)

Before screenshot:

With Choir of the Storm

image

With Greatwolf

image

After screenshot:

With Choir of the Storm

image

With Greatwolf

image

Other PoB:

Before screenshot:

image

After screenshot:

image

@OriginalThing
Copy link
Contributor Author

OriginalThing commented Jan 18, 2026

Replying to #9421 (comment) here for visibility.

Fair enough, I'll close this PR as I was trying to do minimal changes/not change code flow but didn't realize it killed the aura portion. Where are you viewing the 2 ES auras? On my end its overwritten in the output.

Calculating extra auras later makes the most sense to me but is obviously prone to more issues, so it's probably something the core maintainers will have to reevaluate.

I'm using a modified copy of ModDBClass:Print() that prints the things I'm interested in (so I'm not looking at a massive wall of text) and call it during doActorLifeManaReservation so I can see how things change and open the console using ctrl + ` (backtick) to see the results.

I figured out why I end up with two ES ExtraAuras.

  1. Add Armour mod because no matching mod exists
  2. Replace Armour mod with ES because matching algo doesn't check the nested mod and then flags the mod as replaced
  3. Add Armour mod because previous mod is marked as replaced so previous ES mod is ignored
  4. Replace Armour mod with ES again and flag as replaced

I have messed around a little bit and come up with a different set of changes (https://github.com/OriginalThing/PathOfBuilding/tree/fix-radiant-faith%2Bfoulborn-choir-of-the-storm-v2). Looks a bit cleaner, though my preference would to refactor out the resistances calc into a separate function rather than doing the whole of calc.defences() just to update the resistances.

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.

Radiant Faith has the wrong armour calculation when using Foulborn Choir of the Storm

1 participant