I had a look at the code myself. The relevant lines seem to be in active_item_handling.cpp
for( const act_item &filthy_item : items ) {
required_water += filthy_item.it->volume() / 125_ml;
required_cleanser += filthy_item.it->volume() / 1000_ml;
}
I would argue that volume is not the right metric, that it probably should be weight instead. Washing machines, laundry services and similar usually operate by weight. The required water might still be based on volume.
I would also argue that being able to clean only 1L with a portion of detergent is a bit low. The boxes I’ve encountered so far have had 20 portions. I know that in real life, I can wash 20+ times with a box of detergent, with one portion per machine load of about 7kg.
I would suggest
required_cleanser += filthy_item.it->weight() / 5000_gram;
Not sure if that would upset any game balance.
If people agree, I could make a PR for it and see how the devs like it :-/
The numbers might be off, maybe 2500_gram is more realistic for washing by hand.