Drinking is not built into the Inform library (although eating is). You
have to write the drinking code yourself:
Object Cup "cup" Kitchen
has container open
with name "cup",
capacity 1;
Object Water "water" Cup
with name "water",
before [;
Smell: "Water is a colourless, odourless liquid.";
Take,Remove: "You can't get your hands on the water.";
Drink:
remove self;
"You drink the water.";
];
> Object east_shelf "east shelf"
> with name "east shelf" "east wall" "east",
> description "This is the shelf on the east wall, etc.", "
> has static;
Look at what you've written for the `name' property. Each value for the
name property must be a *single* word; then any combination of these
words names the object. For example:
Object east_shelf "east shelf" Pantry
has supporter static
with name "east" "shelf",
article "an";
but this causes problems, because `east' is also recognised as the name
of the east direction, so you might get output like:
> examine east
Which do you mean, the east shelf or the east wall?
If you consider this behaviour unacceptable, I'm afraid that the best
solution is to rename the shelf so that it doesn't involve the word
`east'.
You also seem confused about the difference between `Object' and
`Nearby'. Read page 13 of the manual again.
-- Gareth Rees