Floorless class | travel.t[4799]

Make a room "floorless." This is a mix-in class that you can include in a superclass list ahead of Room or any of its subclasses to create a room where support is provided by some means other than standing on a surface, or where there's simply no support. Examples: hanging on a rope over a chasm; climbing a ladder; in free-fall after jumping out of a plane; levitating in mid-air.

There are two main special features of a floorless room. First, and most obviously, there's no "floor" or "ground" object among the room parts. We accomplish this by simply subtracting out any object of class Floor from the room parts list inherited from the combined base room class.

Second, there's no place to put anything down, so objects dropped here either disappear from the game or are transported to another location (the room at the bottom of the chasm, for example).

`class Floorless : object`

Superclass Tree (in declaration order)

`Floorless`
`object`

Subclass Tree

`Floorless`
`FloorlessRoom`

Global Objects

(none)

Summary of Properties

`bottomRoom roomParts`

Summary of Methods

`receiveDrop`

Properties

`bottomRoom` | `travel.t[4818]`

The room below, if any - this is where objects dropped here will actually end up. By default, this is nil, which means that objects dropped here simply disappear from the game. If there's a "bottom of chasm" location where dropped objects should land, provide it here.

`roomParts` | `travel.t[4809]`

Omit the default floor/ground objects from the room parts list. Room classes generally have static room parts lists, so calculate this once per instance and store the results.

NOTE - if you combine Floorless with a base Room class that has a dynamic room parts list, you'll need to override this to calculate the subset dynamically on each invocation.

Methods

`receiveDrop (obj, desc)` | `travel.t[4821]`

receive a dropped object

TADS 3 Library Manual
Generated on 8/21/2012 from TADS version 3.1.2