SayTopicclassactor.t[5159], facts.t[1346]

A SayTopic is a kind of SpecialTopic that allows the player (character) to say virtually anything (within reason) to an NPC; a SayTopic may be triggered by a command that explicitly begins with SAY, but it may also be triggered by any combination of words that matches its matchObj and doesn't correspond to any other recognizable command. This allows the player to respond, for example, with either SAY YOU DON'T KNOW or just I DON'T KNOW, to trigger an appropriately defined SayTopic.

Modified in facts.t[1346]:
Modificstions to SayTopic to work with Facts.

class SayTopic :   SpecialTopic

Superclass Tree   (in declaration order)

SayTopic
        SpecialTopic
                ActorTopicEntry
                        ReplaceRedirector
                                Redirector
                                        object
                        TopicEntry
                                object

Subclass Tree  

(none)

Global Objects  

(none)

Summary of Properties  

extraVocab  includeInList  includeSayInName 

Inherited from SpecialTopic :
askMatchObj  autoName  rex  tellMatchObj 

Inherited from ActorTopicEntry :
activated  activateKeyTopics  active  agenda  agendaPath  arouseKeyTopics  aTag  autoSuppress  autoSuppressSubTopics  autoUseAgenda  convKeys  curiosityAroused  getActor  impliesGreeting  keyTopics  lastConvResponse  lcrScriptClass  listOrder  name  nextStep  suggestAs  timesInvoked  tTag  wasConversational 

Inherited from TopicEntry :
isActive  matchExactCase  matchObj  matchPattern  matchScore  narrator  scoreBoost  topicMatched 

Summary of Methods  

buildName  matchPattern 

Inherited from SpecialTopic :
initializeTopicEntry 

Inherited from ActorTopicEntry :
activate  addToConvKeyTable  baseHandleTopic  curiositySatisfied  deactivate  filterTopicSuggestions  fText  getKeyTopics  handleTopic  infTag  isConversational  isReachable  nodeActive  qualifiedDesc  revTag  showKeyTopics  timesToSuggest  tryAgenda  tryNextStep  useAgenda 

Inherited from ReplaceRedirector :
redirect 

Inherited from Redirector :
askMissingLiteral  doInstead  doNested  doOtherAction 

Inherited from TopicEntry :
addTopic  factText  informFact  informNewFact  interpret  matchTopic  revealFact  revealNewFact  scoreBooster  topicResponse 

Properties  

extraVocabfacts.t[1391]

The matchPattern of a SayTopic normally contains what will be the vocab string of the Topic created for the SayTopic to match on. The fact name only provides the name part of this, so we make provision for supplying additional vocab after the name part. For example if the fact you want to impart ihas the desc 'you love her', you might want to set extraVocab to 'i' to produce the vocab 'you love her; i' so that it will match 'I love you' as well as 'you love her'.

includeInListOVERRIDDENactor.t[5183]
SayTopics belong in the sayTopics list of their TopicDatabase

includeSayInNameactor.t[5193]
When a SayTopic is suggested we normally precede its name by 'say', e.g. 'say you are happy'. In some cases an author might want to use a SayTopic to match input that's better without the initial 'say', e.g. 'tell a lie', in which case set includeSayInName to nil to suppress the initial 'say' in topic inventory listings.

Methods  

buildName ( )OVERRIDDENactor.t[5167]

When we construct the name of a SayTopic we use the name property of its matchObj rather that theName property, since it won't normally make sense to include the definite article at the beginning of suggestions of things that can be said.

matchPattern ( )facts.t[1352]
The modification allows the user to specify a tTag and extraVocab instead of a matchPattern.

Adv3Lite Library Reference Manual
Generated on 03/07/2024 from adv3Lite version 2.1