NodeEndCheck class | actor.t[5864]

A NodeEndCheck may optionally be assigned to a Conversation Node (as defined on the convKeys property, or through being located in a ConvNode object) to decide whether a conversation is allowed to end while it's at this node. There's no need to define one of these objects for a conversation node if you're happy for the conversation to be ended during it under all circumstances.

`class NodeEndCheck : EndConvBlocker InitiateTopic`

Superclass Tree (in declaration order)

`NodeEndCheck`
`EndConvBlocker`
`object`
`InitiateTopic`
`ActorTopicEntry`
`ReplaceRedirector`
`Redirector`
`object`
`TopicEntry`
`object`

Subclass Tree

(none)

Global Objects

(none)

Summary of Properties

`active convKeys defaultVal matchObj`

``

Inherited from `InitiateTopic` :
`agendaItem defaultInvocation includeInList reasonInvoked revealing`

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

``

``

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

Summary of Methods

`block canEndConversation handleTopic sayBlockActor sayBlockBoredom sayBlockBye sayBlockTravel`

Inherited from `EndConvBlocker` :
`blockEndConv`

Inherited from `InitiateTopic` :
`matchTopic`

Inherited from `ActorTopicEntry` :
`activate addToConvKeyTable baseHandleTopic buildName curiositySatisfied deactivate filterTopicSuggestions fText getKeyTopics infTag initializeTopicEntry 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 revealFact revealNewFact scoreBooster topicResponse`

Properties

`active` OVERRIDDEN | `actor.t[5871]`

We're only active when one or more of our keys is active (having been activated through an <.convnode> tag).

`convKeys` OVERRIDDEN | `actor.t[5882]`

Particular instances must override this property to stipulate which keys we're active for, unless this NodeEndCheck is located within a ConvNode object which will take care of this for us. Note that instead of locating a NodeEndCheck in a particular ConvNode, you can specify the convKeys for a number of ConvNodes here, and this NodeEndCheck will then apply to them all.

`defaultVal` | `actor.t[6057]`

The default value canEndConversation should return if nothing else intervenes. By default this is true, to allow ending the conversation by default, but in particular cass we could set this to nil to sllently rule out ending the conversation.

`matchObj` OVERRIDDEN | `actor.t[5865]`

no description available

Methods

`block (prop)` | `actor.t[5986]`

The method that handles prop (a proprty pointer) according to its property type. For the possibilities, see the immediately preceeding comment.

`canEndConversation (reason)` | `actor.t[5894]`

Decide whether the conversation can be ended for reason while the conversation is at this node. By default we simply return true but instances can override to return nil when the conversation should not be permitted to end. When the method returns nil it should also display a message saying why the conversation may not be ended.

For most games, however, it will be easier to leave this method as it is and employ one or more of the endBlockTravel, endBlockTravel and endBlockBoredom properies to define what happenes.

`handleTopic ( )`OVERRIDDEN | `actor.t[6050]`

Do nothing here; this class only exists for the sake of its canEndConversation() method.

`// sayBlockActor ( )`Interface description only | `actor.t[5980]`

no description available

`// sayBlockBoredom ( )`Interface description only | `actor.t[5979]`

no description available

`// sayBlockBye ( )`Interface description only | `actor.t[5978]`

no description available

`// sayBlockTravel ( )`Interface description only | `actor.t[5977]`

We can optionally define one or more of these three properties (game code needs to define at least one of them for this NodeEndCheck objecct to have any effect, unless we've overridden canEndConversation to handle in in some other way.

Any of these three properties can be defined as one of:
A single-quoted string, in which the string is displayed and the method returns nil to block ending the conversation without treating what has just been displayed as a conversational response.

A double-quoted string, in which case the string is displayed and we return blockEndConv so that the response is treated as conversational.

A method, in which case the method is executed and its return value (which should be one of nil, true, or blockEndConv) is returned to our caller.

An event list, in which case its doScript method is called and we return blockEndConv to treat it as as conversational response.

Adv3Lite Library Reference Manual
Generated on 08/12/2025 from adv3Lite version 2.2.2