Yeah, I was testing this earlier.
One of the tests I did was using kegs with 150[size=7pt]/200[/size] portions; trying to fill from the same stack would result in a keg of 100[size=7pt]/200[/size] portions instead of 100 and 200.
What happens is :
[ol][li]the Unload function is called on a container and takes its liquid-content[/li]
[li]the liquid_handler function is called on with the liquid and told what container to use, by the Unload function[/li]
[li]the liquid_handler function tells the Unload function how much liquid is left over[/li]
[li]the Unload function then dumps out its container and put in the left over liquid[/li][/ol]
The Unload function really needs a sanity check to keep from passing the same container to liquid…
I’ll get right on that.
EDIT: autoformatting badly messing this post up.