Skip to content

Conversation

@vgskye
Copy link
Contributor

@vgskye vgskye commented Jan 14, 2026

this PR rewrites the insertion part of the compensation algorithm to insert the compensation reward stacks slot-by-slot weighted-randomly, which results in mixed budding types having (roughly) correct distribution instead of hashes-first-gets-all. while this does make the algorithm more complex and probably slower, it probably doesn't matter as this isn't a very hot code path.

because, well, this is what happens currently if you let crystal apothecary's compensation run for a sufficiently long time with mixed types of budding:
image

@DaFuqs
Copy link
Owner

DaFuqs commented Jan 16, 2026

Very much a needed change, thank you!

Performance isn't that much of a concern, since the logic runs only very rarely. The code is a tad harder to maintain, but the benefits outweigh the cost by a mile here.

@DaFuqs DaFuqs merged commit 808e91b into DaFuqs:1.20.1-aria-for-painters Jan 16, 2026
0 of 2 checks passed
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.

2 participants