Chapter 6: Commands
6.14. Actions on Multiple Objects

Inform allows a handful of actions - TAKE, DROP, PUT, INSERT - to apply to more than one item at a time, so that the player can move things around easily.

The general principle is that multiple objects are allowed if the actions are likely to be successful but not interesting most of the time, and if they're things that the player could plausibly do all at once. For most actions, the use of ALL would seem weirdly indiscriminate: EAT ALL, say, describes very implausible behavior, and EXAMINE ALL would likely generate a screenful of text at once.

But this is all under our control. If we'd like to create a new action of this kind, we need the "things" token, as in

Understand "take [things]" as taking.

By default, the result will be that the normal taking action is applied to each of the relevant things in turn.

We can manipulate what Inform includes in "ALL" in sentences like TAKE ALL with the "deciding whether all includes..." activity; for instance

Rule for deciding whether all includes scenery: it does not.

prevents TAKE ALL from applying to things that can't be moved anyway, avoiding lots of lines like

tree: That's hardly portable.
swing set: That's hardly portable.

Escape from the Seraglio demonstrates how we might lightly modify such text as "grapes: Taken." in long lists of affected items. Formicidae shows how to control the order in which those objects are handled, so that the most interesting object is always taken last.

* See Examining for groups of objects that have a collective description different from their individual descriptions, and for commands that search multiple things at once

* See Dispensers and Supplies of Small Objects for ways to let the player pick up a number of identical items from a dispenser or supply


386
** Example  Escape from the Seraglio
Replacing the usual response to TAKE ALL so that instead of output such as "grapes: Taken. orange: Taken.", Inform produces variable responses in place of "grapes:".

WI
403
** Example  Formicidae
Manipulating the order in which items are handled after TAKE ALL.

WI


PreviousContentsNext