Player's holdall

From IFWiki

A player's holdall (also known as a sack object) is a container, traditionally a rucksack, intended to be carried by the PC and used to store other items found over the course of play. Other typical holdalls are satchels, knapsacks, backpacks, sacks, and bags. Authors often provide such a container in their games for the specific purpose of allowing the player-character to carry more objects than their carrying capacity would otherwise permit.

A player's holdall often differs from other portable containers in that the game will automatically insert one of the items directly held by the PC into the holdall whenever the PC attempts to pick up another item and the PC is already carrying as many items as possible. The author can and should, of course, prevent inappropriate items (e.g.: lit torches, open jars of liquid, and long-handled mops) from being automatically put into a sack.

In the absence of a holdall, if the player character has more objects than he or she can carry simultaneously, the PC will either have to use ordinary containers or leave some items behind. In the latter case, it is recommended that the player chooses one central location as a cache so dropped items can be easily found later. (Try to pick a safe location for the cache away from any thieves.)

Uses

  • The holdall may be used as a work-around for an inventory management puzzle; more polite games may automatically move items to the holdall when inventory overflows.
  • Even in games without an inventory limit, a holdall can be used to rationalise how a PC can carry a large number of items without impediment. Whether this rationalisation is necessary is another matter.
  • A holdall can be a management system to organise inventory in a more useful way; for instance, some games organise all keys found onto a keyring, which then lists all keys carried in a single inventory section and works in any situation where one of its keys would work.

Links

Code Compare: Player's holdall
ADRIFT 4:(not applicable)
Inform 6:The SACK_OBJECT constant
Inform 7:The player's holdall kind
TADS 2:(not applicable)
TADS 3:The BagOfHolding class