conversationManagerobject | actor.t[5007] |
Superclass Tree | Property Summary | Method Summary | Property Details | Method Details |
<.reveal key> - add 'key' to the knowledge token lookup table. The 'key' is an arbitrary string, which we can look up in the table to determine if the key has even been revealed. This can be used to make a response conditional on another response having been displayed, because the key will only be added to the table when the text containing the <.reveal key> sequence is displayed.
<.unreveal key> - remove 'key from the knowledge token lookup table.
<.inform key> - add 'key' to our actor's knowledge token lookup take. The 'key' is an arbitrary string, which we can look up in the table to determine if the actor has ever been informed about this key. This can be used to make a response conditional on another response having been displayed, because the key will only be added to the information table when the text containing the <.inform key> sequence is displayed.
<.convnode name> - add 'name' to the current list of convKeys (this actually adds it to the actor's pendingKeys for use on the next turn); this is normally used to trigger a Conversation Node that's defined to match the same name.
<.convodet name> does the same as <.convnode name> and additionally schedules a topic inventory (a listing of suggested topics); this can be used to ensure that the player knows what conversational options are available in the node we're about to enter, where this isn't obvious from the context.
<.convstay> - retain the same list of active keys for the next conversational response (and thus has the effect of making the conversation remain in the same conversation node).
<.convstayt> - does the same as <.convstay> but additionally schedules a topic inventory.
<.topics> - schedule a topic inventory for the end of the turn (just before the next command prompt)
<.arouse key> Set the curiosityAroused property to true for all TopicEntries whose convKeys include key
<.suggest key> Schedule a topic inventory for all topic entries whose convKeys include key.
<.sugkey key> Set our actor's suggestionKey to key (this potentially restricts the list of topics that will be suggested)
<.activate key> Set the activated property to true for every topic entry whose convKeys list includes key.
<.agenda item> Add item to the agenda list of our Actor and any associated DefaultAgendaTopics.
<.remove item> Remove item from the agenda list of our Actor and any associated DefaultAgendaTopics.
<.state newstate> Change our actor's current ActorState to newstate.
<.known obj> Mark obj (a Thing or Topic) as now being known (i.e. familiar)
conversationManager : OutputFilter PreinitObject
conversationManager
OutputFilter
object
PreinitObject
ModuleExecObject
object
convnodeSetTurn
customTags
idToActor
objNameTab
pendingTopicInventory
pendingTopicInventoryKey
respondingActor
tagPat
Inherited from PreinitObject
:
execBeforeMe
reverseGlobalSymbols
Inherited from ModuleExecObject
:
execAfterMe
hasInitialized_
isDoingExec_
isExecuted_
doCustomTag
execute
filterText
manageKeys
scheduleTopicInventory
setInformed
setRevealed
setUnrevealed
showAgendaError
showKnownError
showObjDoesNotBelongToActorError
showObjNotExistError
showStateError
showWrongKindofObjectError
topicInventoryDaemon
Inherited from ModuleExecObject
:
_execute
classExec
convnodeSetTurn | actor.t[5358] |
customTags | actor.t[5025] |
First, add a 'customTags' property that defines a regular expression for your added tags. This will be incorporated into the main pattern we use to look for tags. Simply specify a string that lists your tags separated by "|" characters, like this:
customTags = 'foo|bar'
Second, define a doCustomTag() method to process the tags. The filter routine will call your doCustomTag() method whenever it finds one of your custom tags in the output stream.
idToActor | actor.t[5573] |
objNameTab | actor.t[5623] |
pendingTopicInventory | actor.t[5618] |
pendingTopicInventoryKey | actor.t[5621] |
respondingActor | actor.t[5032] |
tagPat | actor.t[5361] |
doCustomTag (tag, arg) | actor.t[5026] |
execute ( ) OVERRIDDEN | actor.t[5576] |
filterText (ostr, txt) OVERRIDDEN | actor.t[5035] |
manageKeys ( ) | actor.t[5370] |
scheduleTopicInventory (key, =, nil) | actor.t[5383] |
setInformed (tag) | actor.t[5455] |
setRevealed (tag) | actor.t[5410] |
(Games and library extensions can use 'modify' to override this and store more information in the table entry. For example, you could store the time when the information was first revealed, or the location where it was learned. If you do override this, just be sure to set the revealedNameTab entry for the tag to a non-nil and non-zero value, so that any code testing the presence of the table entry will see that the slot is indeed set.)
The actual method and the revealedNameTab are on libGlobal rather than here in order to make them available to games that don't include actor.t.
setUnrevealed (tag) | actor.t[5446] |
The actual method and the revealedNameTab are on libGlobal rather than here in order to make them available to games that don't include actor.t.
showAgendaError (tag, arg) | actor.t[5489] |
showKnownError (tag, arg) | actor.t[5531] |
showObjDoesNotBelongToActorError (tag, arg, typ) | actor.t[5565] |
showObjNotExistError (tag, arg, typ) | actor.t[5550] |
showStateError (tag, arg) | actor.t[5511] |
showWrongKindofObjectError (tag, arg, typ) | actor.t[5558] |
topicInventoryDaemon ( ) | actor.t[5596] |