Thought Suggestions

Overview

The "Thought Suggestions" extension changes the behaviour of the THINK command so that it displays a list of suggested topics the player can THINK ABOUT (just as the TOPICS command displays a list of suggested conversational topics). The commands HYPER SUGGS and ENUM SUGGS will affect the list of suggested Thoughts in the same way as for conversational topics (respectively hyperlinking and numbering the suggestions).

To implement this extension you need to include it in your game, after the adv3Lite library files but before your other game files. You also need to create a number of Thought objects located in a ThoughtManager object as described in the documentation for Thoughts. Both thoughts.t and actor.t must be present among your library files (as they are by default). In addition you will need to define the name property on any Thought you wish to be suggested. This and the other modifications to the Thought class are explained in more detail below.

Enhancements to the Thought Class

This extensions adds the following properties to the Thought class which you can use to define how Thoughts are suggested:

Note that for a Thought to be suggested, its isActive property must also be true.

Thought Suggestions and Thinking Rules

A THINK command may also be set up to use rules to give varying responses. This raises the question of how such rules would interract with conversation suggestions provided by this extension.

By default, if the response to a THINK command is handled by a rule (in the RuleBook defined on Think's ruleBook property), thought suggestions will not be displayed on the same turn. If you want thought suggestions to be displayed regardless, you can override Think's suggestAlways property to true, which will result in any available thought suggestions being displayed after any output from your RuleBook.