A Topic is an object representing some piece of knowledge in the story. Actors can use Topic objects in commands such as "ask" and "tell".

A physical simulation object can be a Topic through multiple inheritance. In addition, a game can define Topic objects for abstract conversation topics that don't correspond to simulation objects; for example, a topic could be created for "the meaning of life" to allow a command such as "ask guru about meaning of life."

The key distinction between Topic objects and regular objects is that a Topic can represent an abstract, non-physical concept that isn't connected to any "physical" object in the simulation.

class Topic :   VocabObject

Superclass Tree   (in declaration order)


Subclass Tree  


Global Objects  


Summary of Properties  

canResolvePossessive  isKnown 

Inherited from VocabObject :
disambigPromptOrder  owner  pluralOrder  vocabLikelihood  vocabWords  weakTokens 

Summary of Methods  


Inherited from VocabObject :
addToDictionary  construct  expandPronounList  filterResolveList  getFacets  getNominalOwner  inheritVocab  initializeVocab  initializeVocabWith  isOwnedBy  matchName  matchNameCommon  matchNameDisambig  throwNoMatchForLocation  throwNoMatchForPossessive  throwNothingInLocation 



a topic cannot by default be used to resolve a possessive phrase

Is the topic known? If this is true, the topic is in scope for actions that operate on topics, such as "ask about" and "tell about." If this is nil, the topic isn't known.

By default, we mark all topics as known to begin with, which allows discussion of any topic at any time. Some authors prefer to keep track of which topics the player character actually has reason to know about within the context of the game, making topics available for conversation only after they become known for some good reason, such as another character mentioning them in conversation.

Note that, as with Thing.isKnown, this is only the DEFAULT 'known' property. Each actor can have its own separate 'known' property by defining the actor's 'knownProp' to a different property name.


canBeSensed (sense, trans, ambient)actor.t[66]

Topics are abstract objects, so they can't be sensed with any of the physical senses, even if they're ever included as part of a containment hierarchy (which might be convenient in some cases for purposes of associating a topic with a physical object, for example).

TADS 3 Library Manual
Generated on 5/16/2013 from TADS version 3.1.3