Topicclass

actor.t[39]

Superclass
Tree

Subclass
Tree

Global
Objects

Property
Summary

Method
Summary

Property
Details

Method
Details

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)

Topic
VocabObject
`                 object`

Subclass Tree  

(none)

Global Objects  

(none)

Summary of Properties  

canResolvePossessive isKnown

Inherited from VocabObject :
disambigPromptOrder owner pluralOrder vocabLikelihood vocabWords weakTokens

Summary of Methods  

canBeSensed

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

Properties  

canResolvePossessiveOVERRIDDEN

actor.t[69]

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

isKnown

actor.t[57]

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.

Methods  

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