§8.4. Furniture

Most domestic furniture consists of supporters and containers of one size or another. This means that the simplest furniture needs no elaborate instructions:

The candlestick is on the dining table. The dining table is fixed in place.

The silver salt cellar is on the serving trolley. The serving trolley is pushable between rooms.

The pillow is on the bed. The bed is enterable and fixed in place.

The examples below are therefore mostly ways to get around the usual restrictions on containers (that they only have one interior) and supporters (that they cannot simultaneously be containers as well).

Yolk of Gold provides a set of drawers, that is, a container with multiple interiors.

U-Stor-It provides a way to have containers with a lid which is also a supporter.

Swigmore provides a supporter which holds up the player, but has no top surface as such, and cannot hold up anything else. Kiwi demonstrates a kind of high shelf, whose objects cannot be seen or used unless the player stands on a ladder.

Princess and the Pea shows how a pile of supporters, each on top of the last, could be managed.

Tamed demonstrates furniture large enough to get inside, or on top of.

Circle of Misery demonstrates a conveyor belt, which can hold multiple items but only brings one of them within the player's reach at a time.

* See Position Within Rooms for a box that can be positioned and used as a stepping stool

* See The Human Body for letting the player take different postures on furniture or on the floor

* See Room Descriptions for tables and other furniture whose content listing is suppressed or modified in a room description

* See Entering and Exiting, Sitting and Standing for making the player automatically rise from a seat before leaving the room

* See Clocks and Scientific Instruments for a grandfather clock

* See Kitchen and Bathroom for a mirror the player can look into


arrow-up.pngStart of Chapter 8: Vehicles, Animals and Furniture
arrow-left.pngBack to §8.3. Animals
arrow-right.pngOnward to §8.5. Kitchen and Bathroom

*ExampleTamed
Examples of a container and a supporter that can be entered, as well as nested rooms.

*ExamplePrincess and the Pea
The player is unable to sleep on a mattress (or stack of mattresses) because the bottom one has something uncomfortable under it.

*ExampleKiwi
Creating a raised supporter kind whose contents the player can't see or take from the ground.

*ExampleCircle of Misery
Retrieving items from an airport luggage carousel is such fun, how can we resist simulating it, using a list as a ring buffer?

**ExampleYolk of Gold
Set of drawers where the item the player seeks is always in the last drawer he opens, regardless of the order of opening.

Inform's default assumption is that if a player on an enterable object drops something, the dropped article winds up beside him on the same supporter or in the same container. This makes lots of sense for a dais, say, or a king-sized bed. It's a little less sensible if the enterable supporter in question is a bar stool or the like. So suppose we want to add a new kind of supporter called a perch, where everything dropped lands on the floor.

There are actually several ways of implementing this, but one of them is to reach right into the drop action and replace the "standard dropping rule" with a different one of our own invention -- like this:

paste.png "Swigmore U."

Moe's Tavern is a room. The bar is an enterable supporter in Moe's. A drink is a kind of thing. On the bar is a drink called a flaming Homer.

A perch is a kind of supporter. A perch is always enterable. The stool is a perch in Moe's.

The player carries a dead field mouse and a tomacco fruit.

The sophisticated dropping rule is listed instead of the standard dropping rule in the carry out dropping rulebook.

This is the sophisticated dropping rule:
    if the player is on a perch (called the awkward position):
        let place be the holder of the awkward position;
        move the noun to the place;
    otherwise:
        move the noun to the holder of the player.

Test me with "sit on stool / drop mouse / look / get up / look".

Now the carry-out behavior of the dropping action has been changed, but we haven't had to interfere in the checks or reporting at all. The rest of the action works just as it always did.

Of course, maybe we do want to change the way the action is reported, to make it clearer to the player where the dropped article wound up:

paste.png The sophisticated report dropping rule is listed instead of the standard report dropping rule in the report dropping rulebook.

This is the sophisticated report dropping rule:
    say "You drop [the noun] on [if the holder of the noun is a room]the ground[otherwise][the holder of the noun][end if]."

**ExampleSwigmore U.
Adding a new kind of supporter called a perch, where everything dropped lands on the floor.

Inform's default assumption is that if a player on an enterable object drops something, the dropped article winds up beside him on the same supporter or in the same container. This makes lots of sense for a dais, say, or a king-sized bed. It's a little less sensible if the enterable supporter in question is a bar stool or the like. So suppose we want to add a new kind of supporter called a perch, where everything dropped lands on the floor.

There are actually several ways of implementing this, but one of them is to reach right into the drop action and replace the "standard dropping rule" with a different one of our own invention -- like this:

paste.png "Swigmore U."

Moe's Tavern is a room. The bar is an enterable supporter in Moe's. A drink is a kind of thing. On the bar is a drink called a flaming Homer.

A perch is a kind of supporter. A perch is always enterable. The stool is a perch in Moe's.

The player carries a dead field mouse and a tomacco fruit.

The sophisticated dropping rule is listed instead of the standard dropping rule in the carry out dropping rulebook.

This is the sophisticated dropping rule:
    if the player is on a perch (called the awkward position):
        let place be the holder of the awkward position;
        move the noun to the place;
    otherwise:
        move the noun to the holder of the player.

Test me with "sit on stool / drop mouse / look / get up / look".

Now the carry-out behavior of the dropping action has been changed, but we haven't had to interfere in the checks or reporting at all. The rest of the action works just as it always did.

Of course, maybe we do want to change the way the action is reported, to make it clearer to the player where the dropped article wound up:

paste.png The sophisticated report dropping rule is listed instead of the standard report dropping rule in the report dropping rulebook.

This is the sophisticated report dropping rule:
    say "You drop [the noun] on [if the holder of the noun is a room]the ground[otherwise][the holder of the noun][end if]."

***ExampleU-Stor-It
A "chest" kind which consists of a container which has a lid as a supporter.