ConvNode : ActorTopicDatabase
| [Previous] [Main] [Next] |
· | npcGreetingMsg - use this to display a message when the NPC initiates a conversation (normally via a call to initiateConversation()).
|
· | npcGreetingList - use this as an alternative to npcGreetingMsg to provide a list of messages where the ConvNode may be initiated more than once.
|
· | npcContinueMsg or npcContinueList - the ActorState class automatically displays the current ConvNode's continuation message (using either npcContinueMsg or npcContinueList, as appropriate) on each turn on which the ConvNode is active, and the player didn't address a conversational command to the NPC on the same turn.
|
· | noteLeaving() - Note that we're leaving this conversation node. This doesn't do anything by default, but individual instances might find the notification useful for triggering side effects.
|
· | noteActive() - Note that this ConvNode is becoming active. Our actor will call this method when the ConvNode is becoming active, as long as it wasn't already active. By default this schedules the topic inventory (to display the list of SuggestedTopics) if there are any SpecialTopics in the ConvNode (so if you want to insert any code here, you should remember to call inherited).
|
· | endConversation(actor, reason) - Instances can override this for special behaviour on terminating a conversation (e.g. if the Player Character walks away while we're in the ConvNode we could have the NPC complain of his rudeness).
|
· | canEndConversation(actor, reason) - lets a ConvNode prevent a conversation ending, by returning nil; in this and endConversation reason can be one of endConvBye, endConvTravel, or endConvBoredom. From TADS 3.0.10 canEndConversation can also prevent a conversation ending by returning the special value blockEndConv; this has the additional side effect that the caller will call noteConvAction() on the other actor, to prevent this actor from generating any further scripted remarks on the same turn. You should therefore return blockEndConv rather than nil if you display a message in canEndConversation that takes the form of the NPC explaining why s/he won't let you end the conversation, since if such a message has been displayed, you don't want to see one from npcContinueMsg or npcContinueList as well.
|
· | isSticky - if true then the conversation remains in this node until a <.convnode> tag explicitly changes to another node (or no node at all). This can be useful when you are constructing a ConvNode where the NPC is insisting on an answer and won't give up till the PC gives one. By default isSticky is nil.
|
· | limitSuggestions - if true then the only topics that will be suggested while the conversation is in this node are the topic entries that are actually within the node; otherwise (if nil, the default), a topic inventory request will list all the SuggestedTopics available from the actor's current ActorState as well. You'll normally want to set this property to true if you give the node one or more default topics that prevent topics from outside the node being reachable.
|