§9.2. Bags, Bottles, Boxes and Safes
The kind "container" allows one thing to contain others. Things are sometimes containers automatically, sometimes by instruction:
The match is in the matchbox. The bucket is a container.
The matchbox, like the bucket, is a container. Containers come in all sizes and have a variety of behaviours, mainly controlled by the properties we give them: they can be "open" or "closed", "opaque" or "transparent" (when closed), "openable" or not, "lockable" or not, "enterable" or not. The basic ideas of containment are to do with carrying and sometimes hiding the contents, and Inform makes this easy. Allowing for locking and unlocking is again straightforward:
The strongbox is a locked container. The little steel key unlocks the strongbox.
Two built-in extensions enhance and modify the behavior of locks and keys: Locksmith automates a number of steps, automatically unlocking doors when trying to open them (for instance). Skeleton Keys allows us to define multiple keys that unlock the same object, rather than being restricted to one matching key per item.
For a container with a combination lock, rather than a key, see Safety; for a more sophisticated safe requiring digits dialed over multiple turns, see Eyes, Fingers, Toes.
Trachypachidae Maturin 1803 provides a bottle that is stoppered with a cork: when it is closed, the cork is part of the bottle, but otherwise the cork becomes a separate object we can carry around.
The normal assumption is that there is no problem with any two portable items being carried together, but in reality they may affect each other. (For effects like magnetism, or getting each other wet, or setting each other on fire, see the Physics chapter.) Here is a cat which, if boxed up with one or more items of food, will eat something each turn until all is gone:
The player carries a wicker basket and a scarlet fish. The cat is an animal in the wicker basket. The fish is edible.
Every turn when the cat is in a container (called the bag) and something edible (called the foodstuff) is in the bag:
remove the foodstuff from play;
say "With mingled sounds of mewing and chomping, the cat nibbles up [the foodstuff]."
The examples below provide subtler effects, adapting text to the current situation. In Cinco, the container's name changes depending on what it contains: putting beef in a taco allows the player to call it a SHREDDED BEEF TACO. In Unpeeled and Shipping Trunk, the description of something inside a container changes according to other things are alongside it. This is taken further in Hudsucker Industries, which describes the contents of a container as a group.
Finally, any action that destroys a container has to consider what to do with the things inside. Fallout Enclosure demonstrates a zapping action that destroys cash registers and shelves but leaves their contents tidily behind.
See Liquids for a SHAKE command that makes containers rattle when there are contents
See Glass and Other Damage-Prone Substances for opening containers by cutting into them
See Fire for fire damage that spreads between containers and their contents, leaving fireproof objects intact
See Volume, Height, Weight for containers breaking under the weight of their contents
See Heat for keeping things warm in insulated containers
See Furniture for chests with lids that can support other objects
See Modifying Existing Commands for ways to allow the player to unlock with a key he isn't currently holding
![]() | Start of Chapter 9: Props: Food, Clothing, Money, Toys, Books, Electronics |
![]() | Back to §9.1. Food |
![]() | Onward to §9.3. Clothing |
|
|
|
|
|
|
|
|
|
|