Skip to content

Conversation

@Lothrik
Copy link
Contributor

@Lothrik Lothrik commented Jul 24, 2022

Certain modifiers were discarding their floating point values when being scaled by ModStoreClass:ScaleAddMod, leading to situations where things like +2% Critical Strike Chance on a Bottled Faith flask would not be affected by modifiers to Flask Effect until you reached a breakpoint, causing it to jump to the next integer value (+3% Critical Strike Chance in this example).

This problem affects a wide variety of modifiers; currently this PR only applies this change to base Critical Strike Chance and base Life Regen Percent.

This PR also addresses a minor display issue in the calcs breakdown where more modifiers (such as 25% more Evasion + 30% more Evasion) weren't displaying sufficiently high precision, leading to weird inconsistencies where one field would say you had 63% more Evasion, and another would display a x 1.62 more Evasion multiplier. This is purely a cosmetic change as later calculations always used the real value (not the inaccurate/formatted one).

@Lothrik
Copy link
Contributor Author

Lothrik commented Jul 24, 2022

There's a fair bit of discussion going on in Discord regarding Evasion and Armour scaling and depending on the results of that the changes I made to CalcBreakdown.lua and CalcSections.lua may be discarded, as it's possible PoE actually rounds cumulative more values to the nearest integer.

@Wires77 Wires77 added the bug: calculation Numerical differences label Jul 24, 2022
@Lothrik
Copy link
Contributor Author

Lothrik commented Jul 25, 2022

Added high precision support for every base leech modifier type.

@QuickStick123
Copy link
Contributor

Fixes #2763 #1278 #4318 #4450

@LocalIdentity LocalIdentity merged commit 531567d into PathOfBuildingCommunity:dev Aug 8, 2022
@Lothrik Lothrik deleted the high-precision-mod-wip branch October 31, 2025 00:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment