The Four-Eyed Guide to TADS 3 by David Welbourn index


OPEN dobjList

Syntax

Related action: CLOSE dobjList.

Default minimal behavior

>open
What do you want to open?

>open floor
That is not something you can open.

open matches VerbRule(Open) which invokes OpenAction. [TODO]

Summary of library references to opening

actions.t Short description
DefineTAction(Open) Defines class OpenAction: TAction
DefineTAction(TestOpen) Defines class TestOpenAction: TAction
TestOpenAction is a fake action used internally to test whether or not a thing is locked as part of an OpenAction.
Note: DefineTAction(name) is a macro defined in adv3.h. Note: TAction is a class defined in action.t.
precond.tShort description
touchObj
objects.t Short description
class BasicOpenable: Linkable The basic mix-in class for openable and closable objects. A BasicOpenable merely keeps track of its open/closed status; it has no special handling for the verbs OPEN and CLOSE. That's done by the Openable class.
BasicOpenable.initiallyOpen Set this to true if the object is initially open at the start of the game.
BasicOpenable.isOpen() Returns true if the item is currently open; returns nil if it's closed.
BasicOpenable.makeOpen(stat) obj.makeOpen(true) opens the object; obj.makeOpen(nil) closes it.
BasicOpenable.openDesc Returns the string 'open' if the object is open; returns 'closed' if it's closed.
BasicOpenable.isOpen_ This is where the open/closed status is really stored, but don't touch it directly. Use .initiallyOpen to initially set it; use .makeOpen(stat) to change it; use .isOpen() to read it.
class Openable: BasicOpenable
Openable.dobjFor(Close) If it's closed, the player is told it's already closed, e.g.: 'The safe is already closed.' If it's open, the game closes it with minimal fuss, e.g.: 'Closed.'
thing.tShort description
Thing.dobjFor(Open) By default, one must be able to touch something before one can open it. Also, it is illogical to open most things, e.g.: 'That is not something you can open.'
travel.tShort description
Door.dobjFor(Close) Handled almost the same as an Openable, except that the likelihood of closing a door one just travelled through is boosted to logical rank 120.
class AutoClosingDoor: Door This subclass of Door automatically closes itself when one goes through it, e.g.: 'After you go through the porch door, it closes behind you.'
en_us\en_us.tShort description
VerbRule(Open) Associates the grammar "open dobjList" with OpenAction.
class EnTestOpenAction: TestOpenAction
Note: VerbRule(tag) is a macro defined in en_us.h. Note: OpenAction and TestOpenAction are defined in actions.t (see above).
en_us\msg_neu.tShort description
playerActionMessages.okayClose 'Closed. '
playerActionMessages.doorClosesBehind(obj) 'After {you/he} go{es} through {the obj/him}, {it/he} close{s} behind {you/him}. '
playerActionMessages.cannotOpen
playerActionMessages.alreadyClosed '{The dobj/he} {is} already closed. '
playerActionMessages.currentlyClosed '{It\'s dobj} currently closed. '
npcActionMessages.okayClose '{You/he} close{s} {the dobj/him}. '