Skip to content

Fix Supreme Ego Reservation rounding - #10255

Open
LocalIdentity wants to merge 2 commits into
devfrom
fix_reservation-rounding
Open

Fix Supreme Ego Reservation rounding#10255
LocalIdentity wants to merge 2 commits into
devfrom
fix_reservation-rounding

Conversation

@LocalIdentity

@LocalIdentity LocalIdentity commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

Description of the problem being solved:

The client keeps flat reservation and percentage reservation in integer units while applying increased reservation, resource-specific final reservation, and generic final reservation as separate stages.
PoB previously multiplied the combined floating-point modifiers and rounded only once.
We now track the two final reservation multipliers separately, truncate each intermediate stage, retain percentage reservation in permyriad until the final result, and round only after efficiency.
Added a Precision test where the reservation is 30 instead of 31

Link to a build that showcases this PR:

https://maxroll.gg/poe/pob/ff2bu60h

Before screenshot:

image

After screenshot:

image

The client keeps flat reservation and percentage reservation in integer units while applying increased reservation, resource-specific final reservation, and generic final reservation as separate stages.
PoB previously multiplied the combined floating-point modifiers and rounded only once.
We now track the two final reservation multipliers separately, truncate each intermediate stage, retain percentage reservation in permyriad until the final result, and round only after efficiency.
Added a Clarity test where 34 with two 50% final stages becomes 76 rather than 77.
@LocalIdentity LocalIdentity added the bug: calculation Numerical differences label Aug 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug: calculation Numerical differences

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant