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


DOFF dobjList

Syntax

Related action: WEAR dobjList.

Default minimal behavior

>doff
What do you want to take off?

>doff floor
That isn't something you can remove.

doff matches VerbRule(Doff) which invokes DoffAction. [TODO]

Summary of library references to doffing

actions.t

Short description

DefineTAction(Doff)

Defines class DoffAction: TAction

Note: DefineTAction(name) is a macro defined in adv3.h.

Note: TAction is a class defined in action.t.

objects.t

Short description

Wearable.tryHolding() If the game is trying to implicitly get the actor to hold an article of clothing that he's currently wearing, an implicit Doff command may be attempted. (The game might be trying to do this because the current action has an objHeld precondition.)
Wearable.dobjFor(Doff) dobjFor(Doff) { preCond = [roomToHoldObj] verify() { /* make sure the actor is actually wearing the item */ if (!isWornBy(gActor)) illogicalNow(¬Wearing); } action() { /* un-wear the item and describe what happened */ makeWornBy(nil); defaultReport(&okayDoff); } }

precond.t

Short description

roomToHoldObj

thing.t

Short description

Thing.dobjFor(Doff) By default, it is illogical to doff most things, e.g.: 'That isn't something you can remove.'

en_us\en_us.t

Short description

VerbRule(Doff)

Associates the grammars "doff dobjList", "take dobjList off", and "take off dobjList" with DoffAction.

Note: VerbRule(tag) is a macro defined in en_us.h.

Note: DoffAction is defined in actions.t (see above).

en_us\msg_neu.t

Short description

playerActionMessages.notDoffable '{That dobj/he} {is}n\'t something {you/he} can remove. '
playerActionMessages.notWearing '{You\'re} not wearing {that dobj/him}. '
playerActionMessages.okayDoff 'Okay, {you\'re} no longer wearing {the dobj/him}. '
npcActionMessages.okayDoff '{You/he} take{s} off {the dobj/him}. '