An improvement to room capacity calculation. If I recall from what staff have said, rooms can/do have a hard limit put on the total weight they can contain.
Based on behavior, I think that check is currently:
- add up the weights of all objects in the room, including container contents.
- if total >= max: No, Amos, you can't drop that or put that in your locker.
The problem here is that dropping a large bag of stuff prevents people from using their lockers. It would be better if lockers remained usable and you couldn't drop the bag o' stuff in the first place.
My proposed solution: instead of summing the weights of all objects, sum the weights of all objects on the floor and the capacities of all top-level containers (lockers, chests, shelves, bags, etc., but not containers inside containers). This number should never be smaller than the current calculation, and it ensures that those containers can be used to their full capacity.
For bonus points:
- handle flexible containers (anything with keyword "bag"?) as though their contents are on the floor.
- do a single pass through the room db and update each room's capacity to be no smaller than the new calculation, so you don't get the dreaded picked-it-up-but-can't-put-down behavior.