Container use

Browsing around I’ve encountered several things related to containers and their use I thought i’d catalouge them:

1: allow refilling of plastic bags / boxes and other like containers

2: treat powders like liquids for crafting and refilling goes: powder-safe tag?

3: allow containers with varying spawn sizes, sort of like tires do, for say 1 to 50 volume cardboard boxes

4: containers that hold less volume than they take up. some things benefit from containment - like water - yet the container does take up space, this could give a reason to prefer some containers over others. this goes well with
Implementation of the seperate values for containment volume and item volume so that rigid container items contentain less than their own volume

4.1: make volume a finer grained system, for individual battery volume and the like, and so that small containers have a actual size larger than their contents

5: more usage of shrinking / growing containers, plastic bags do this to some degree, not sure what the rules are, but other things could use it also, like “camel packs” or whatever those are called. and backpacks and such would benefit as well, their storage value could be rolled to all container items and used in lieu of the current item volume = storage for items, and the volume of wearables would then increase along with their contents (this doesn’t address some “rigid” storage space, and some “variable” storage space in the same item though)

5:allow for expansion of clothing items with the addition of items contained, and related allow for actual items rather than just substances to be added to containers, for say a cardboard box labelled for odds and ends, and another for flour, etc

6:consistent containing action and logic with regards to open space / indoors / vehicle / etc. (as in tile volume)

Thoughts? comments? more ideas? I’ll try to update this post to reflect.

Containers that are not set as rigid in their definition in containers.json have their volume calculated as container volume (usually small) + volume of content. Rigid containers, on the other hand, have total volume = container volume.

is there currently any limiting factor on non-rigid container volume? because those values could be used in both cases.

Rigid container volume = [item volume], content volume limit = [storage] \ as in wearables \
non-rigid container volume = [item volume] + current content volume, up to [storage]
if you can interperet that… >.>

should work for plastic bags, backpacks, nomad gear, jars, and 55 gallon drums.

[quote=“Cat09, post:3, topic:9611”]is there currently any limiting factor on non-rigid container volume? because those values could be used in both cases.

Rigid container volume = [item volume], content volume limit = [storage] \ as in wearables \
non-rigid container volume = [item volume] + current content volume, up to [storage]
if you can interperet that… >.>

should work for plastic bags, backpacks, nomad gear, jars, and 55 gallon drums.[/quote]

that is actually how it works and how are containers defined in containers.json, except [item volume] is named [volume] and [storage] is named [contains]

so, basically the only reason rigid containers always use their volume for containment volume are lack of json updating, maybe container size being seen as negligible?
just looked at the canvas sack, it does reduce size when emptied, with a base volume of 4. only problem is that it can’t be refilled,
yeah waterskin also has adjustable volume.

so it looks like I was stupid and the only things there are:
clothing does not expand as it is filled, likely because inventory space is all lumped together, and items have no "container"
rigid items do not have a lower volume of storage than they take up, this could easily be changed with json editing for large containers.
small containers run into a granularity problem with the volume system, which does not display decimal places, not sure what the backend does, but I believe only items that use “stack size” measures can be less than 1 volume. it seems to simply increment the volume every time the “count” entry in json is reached.

Right now our volume granularity is 1/4L, yeah. It’s something that’s been on my list for a while to fix but I haven’t gotten around to it yet (it’s mostly just a ton of busywork changes).

1/4L is somewhere around 8oz right? yeah, not great really. what about dry volume though? is that just roughly equated to 8 liquid ounce volume?
What is the Ideal basic volume measure? 1mL? that’d be 1/250th current, which is huge… would 1oz be enough? (do we want to go with imperial units though?)
what would be required as far as busywork goes? lots of json editing I presume (finding new actual volumes could take some time, but simply multiplying current values may work as a stand-in), and hunting around for every hard coded volume reference…
anyone know a good guide for git? I’d love to start doing Json stuff, the C++ is still mostly over my head atm.
thought: could the json stuff be distributed out to lots of people? Would the altered Json entries be commented in right before/after the current version of the item?

Related: what is the logical difference between a vehicle “Aisle” and a simple terrain tile? one has a storage of 0 and the other a storage of 4000…
if you can fit 1000 litres of volume on a terrain tile and still walk through it, why can you not store anything in a similarly walkable space when it is in a vehicle?
(gears turn)
perhaps movement should be slowed by a % based on fullness of the tile you’re walking on, though logically an outdoor tile would never be “full” since you can always wade over the items, an indoor tile at full volume would be a wall of junk [hoarders houses get scaaaary]
it might be able to have this effect by both slowing movement to mspeed*(1/full_%) or somesuch and also working with kevins new lighting system to block light similarly. bashing would damage items and have a chance to knock them to adjacent tiles

vehicle tiles could have a different estimated interior area, and their “contained” storage would not count toward tile obstruction.

Mounds of bodies. This could either work for you or against you; looting battle scenes can get a bit slow as you trudge through the carnage and sift through what’s left for anything salvageable.

It could also be used as a sort of makeshift defense. Don’t have the stuff for a proper log wall? Just stuff a tile full of 4000 volume’s worth of logs, use that instead. Or anything, really. A big pile of crap sitting between you and your enemy can make a world of difference when you’re on the defensive. This sort of thing has been used in wars and battles for…pretty much ever, really.

Also, containers in general have been needing work for a while. I assume it’s somewhere moderately low or high in importance in the gigantic list of “Stuff To Get Around To Eventually”.