The player's possessions are normally thought of as being held in
the hands, but there are two alternative possibilities: some items
might be being carried indirectly in a bag or other container (see
§12 next), while others might be worn as
clothing. Wearing a hat is evidently different from carrying it. Some
consequences are left to the designer to sort out, such as taking
account of the hat keeping the rain off, but others are automatically
provided: for instance, a request to “drop all” will not
be taken as including the hat, and the hat will not count towards
any maximum number of items allowed to be held in the player's hands.
The library provides two actions for clothing: Wear
and
Disrobe
. There is already an action called Remove
for taking items out of containers, which is why the name Remove
is not used for taking clothes off.
‘Ruins’ contains only one item of clothing, found resting on an altar in the Shrine: it summons a priest.
Treasure -> -> mask "jade mosaic face-mask" with description "How exquisite it would look in the Museum.", initial "Resting on the altar is a jade mosaic face-mask.", name 'jade' 'mosaic' 'face-mask' 'mask' 'face', cultural_value 10, after [; Wear: move priest to Shrine; if (location == Shrine) "Looking through the obsidian eyeslits of the mosaic mask, a ghostly presence reveals itself: a mummified calendrical priest, attending your word."; Disrobe: remove priest; ], has clothing;
The attribute clothing
signifies that
the mask can be worn. During the time something is worn, it
has the attribute worn
. The library's standard rules
ensure that:
An object can only have
worn
if it is in player
, that is, if
it is an immediate possession of the player.
If you use move
or remove
to
shift items of clothing in your own code, or give or take away the
worn
attribute, then you too should follow this principle.
▲ A risk of providing clothing for the player is that it's hard to resist the lure of realism. A tweed jacket would add some colour to ‘Ruins’. But if a jacket, why not plus-four trousers, an old pair of army boots and a hat with a mosquito net? And if trousers, why not underwear? What are the consequences if the player strips off? Too much of this kind of realism can throw a game off balance, so: no tweed.
•▲▲
EXERCISE 14
Design a pair of white silk gloves, left and right, which are a single
object called “pair of white gloves” until the player asks
to do something which implies dividing them (typing “wear
left glove”, say, or “put right glove in drawer”).
They should automatically rejoin into the pair as soon as they are
together again. (By Richard Tucker. Hint: react_before
and before
rules are all you need.)
•
REFERENCES
For designers who do want to go down the “if trousers, why
not underwear?” road, Denis Moskowitz's library extension
"clothing.h" models clothing by layer and by
area of body covered.
•For players who also want to,
the road to take is ‘I-0’, by Adam Cadre.