conversationManagerobjectoutput.t[2101]

Basic conversation manager for use in adv3Liter and adv3Litest(when actor.t is not present) We just provide handling for <.reveal> and <.unreveal> in case game code uses them.

conversationManager :   OutputFilter   PreinitObject

Superclass Tree   (in declaration order)

conversationManager
        OutputFilter
                object
        PreinitObject
                ModuleExecObject
                        object

Summary of Properties  

convnodeSetTurn  customTags  factTagMarker  idToActor  objNameTab  pendingTopicInventory  pendingTopicInventoryKey  respondingActor  tagPat 

Inherited from PreinitObject :
execBeforeMe  reverseGlobalSymbols 

Inherited from ModuleExecObject :
execAfterMe  hasInitialized_  isDoingExec_  isExecuted_ 

Summary of Methods  

doCustomTag  execute  filterText  manageKeys  scheduleTopicInventory  setInformed  setRevealed  setUnrevealed  showAgendaError  showKnownError  showObjDoesNotBelongToActorError  showObjNotExistError  showStateError  showWrongKindofObjectError  stripFactTagMarker  topicInventoryDaemon 

Inherited from ModuleExecObject :
_execute  classExec 

Properties  

convnodeSetTurnactor.t[5834]

The turn on which we last processed a convnode tag

customTagsoutput.t[2119]
Custom extended tags. Games and library extensions can add their own tag processing as needed, by using 'modify' to extend this object. There are two things you have to do to add your own tags:

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.

factTagMarkeractor.t[5426]
no description available

idToActoractor.t[6059]
a vector of actors, indexed by their convMgrID values

objNameTabactor.t[6109]
no description available

pendingTopicInventoryactor.t[6104]
flag: we have a pending prompt-time topic inventory request

pendingTopicInventoryKeyactor.t[6107]
The key to use for the pending prompt-time inventory request

respondingActoractor.t[5424]
The actor we're dealing with is the player character's current interlocutor

tagPatoutput.t[2197]
remove the tags from the text by replacing every occurrence with an empty string, and return the result

Methods  

doCustomTag (tag, arg)output.t[2120], actor.t[5418]

no description available

execute ( )OVERRIDDENactor.t[6062]
preinitialize

filterText (ostr, txt)OVERRIDDENoutput.t[2122], actor.t[5438]
no description available

Modified in actor.t[5438]:
filter text written to the output stream

manageKeys ( )actor.t[5847]
Provided we have a respondingActor, call its manageKeys method.

scheduleTopicInventory (key, =, nil)actor.t[5860]
Schedule a topic inventory request. Game code can call this at any time to request that the player character's topic inventory be shown automatically just before the next command prompt. In most cases, game code won't call this directly, but will request the same effect using the <.topics> tag in topic response text.

setInformed (tag, val?)actor.t[5938]
Notify every actor who's in a position to hear that we've just imparted some information.

setRevealed (tag, val?)output.t[2204], actor.t[5887]
no description available

Modified in actor.t[5887]:
Mark a tag as revealed. This adds an entry for the tag to the revealedNameTab table. We simply set the table entry to 'true'; the presence of the tag in the table constitutes the indication that the tag has been revealed.

(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[5929]
Mark a tag as unrevealed. This removes an entry for the tag to the revealedNameTab table.

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[5975]
Display an error message if the game code tries to add or remove agenda items from an agendaList using a <.agenda item> or <.remove item> tag, when item doesn't correspond to a valid AgendaItem, but only do so if the game has been compiled for debugging.

showKnownError (tag, arg)actor.t[6017]
Display an error message if the game code tries mark an object as known about using a <.known obj> tag, when obj doesn't correspond to a valid Mentionable object, but only do so if the game has been compiled for debugging.

showObjDoesNotBelongToActorError (tag, arg, typ)actor.t[6051]
The object referred to by tag doesn't belong to the actor in question

showObjNotExistError (tag, arg, typ)actor.t[6036]
The object referred to by tag doesn't exist

showStateError (tag, arg)actor.t[5997]
Display an error message if the game code tries to change our actor's ActorState via a <.state newstate> tag, when tag doesn't correspond to a valid ActorState, but only do so if the game has been compiled for debugging.

showWrongKindofObjectError (tag, arg, typ)actor.t[6044]
The object referred to by tag is the wrong sort of object

stripFactTagMarker (arg)actor.t[5432]
Strip our factTagMarker from the start of arg. Game authors shouldn't use it for most tags, but just to be safe we'll do it for all the string tags anyway.

topicInventoryDaemon ( )actor.t[6082]
Prompt daemon: show topic inventory when appropriate. When a response explicitly asks us to show a topic inventory using the <.topics> tag, or when other game code asks us to show topic inventory by calling scheduleTopicInventory(), we'll show the inventory just before the command input prompt.

Adv3Lite Library Reference Manual
Generated on 25/04/2024 from adv3Lite version 2.0