master
← perryprog:predictable-janny
opened 09:38PM - 04 Jul 25 UTC
## About the PR
1. Makes absorption predicted.
2. ~~Makes puddle evaporation… predicted.~~ For separate PR.
3. Make solution regeneration and purging predicted.
4. ~~Makes evaporation rates not additive, and instead averaged. 50u water + 50u holy water now evaporates the same as 100u water, instead of twice as fast.~~ For separate PR.
## Why / Balance
Jani good.
## Technical details
This PR soft-requires #38743 because it's what my base is on, sorryyyyyy. I can rebase if needed.
Commits are heavily atomized; I recommend going commit by commit for reviewing. Or don't I'm not your parent.
There was one issue I ran into with predicted solution changes on a timer, and the only solution I could find is networking its NextUpdate field which feels super wrong. I'd love to know if there's a better way.
https://github.com/space-wizards/space-station-14/blob/0e10b8f291ffe74df0e210fcb1664d0d34e8c9e9/Content.Shared/Chemistry/EntitySystems/SolutionRegenerationSystem.cs#L24-L26
## Media
## Requirements
- [X] I have read and am following the [Pull Request and Changelog Guidelines](https://docs.spacestation14.com/en/general-development/codebase-info/pull-request-guidelines.html).
- [X] I have added media to this PR or it does not require an ingame showcase.
## Breaking changes
- `SolutionRegenerationSystem` and `SolutionRegenerationComponent` are now in Shared.
- `SolutionPurgeSystem ` and `SolutionPurgeComponent` are now in Shared.
- `SolutionPurgeComponent.Preserve` is now a list of ProtoIds instead of (validated) strings.
**Changelog**
nop