Encounter Tab
Description
The Encounter tab allows Encounter logic to be configured via the Encounter Behaviour Tree (also known as the Encounter Node Tree, or Encounter Tree).
Encounter Tree
On the left of the Encounter tab via is a list of properties for the currently selected Node. Each Node type has different properties that define its behaviour.
When the player begins an encounter, the Start Node will be activated first, and following the logical path defined by conditions, player choices and action outcomes will be followed until an End Node is reached.
Start and End Nodes
The Start Node can be set by right clicking on a Node and selecting Set Start. There may only be one Start Node at a time. The first Node added to an Encounter Tree will automatically become the Start Node.
An End Node is any "leaf Node" (a Node with no children). They are indicated by a white box containing the word "END" in red text.
For testing purposes it may be helpful to change the Start Node to a Node later in the tree.
Adding and Removing Nodes
Nodes are added from the context menu by right clicking on the background of the Encounter Tree. The Node Types availble are Action, Companion Campfire Encounter, Junction, Nested Encounter, Page, and Trial Campfire Encounter. More details on what these Nodes Types do can be found on the Node Types page.
Nodes can also be created by left clicking and dragging on one of the small circular Connector attachment points on the bottom of every Node, then letting go in an empty space. Nodes created this way will already have a connector between the Connection attachment point clicked on and the newly created Node.
Action Nodes require Action Tasks to be configured in the Node Properties List in order to be functional. Action Nodes with no Tasks will cause the game to hang.
Nodes can be removed by selecting them and pressing Delete, or by right clicking on them and selecting the Delete (DEL) option from the context menu. If a removed Node contains Strings, then a dialog will appear asking if those Strings should be removed as wel.
Adding and Removing Connectors
Connectors show the paths that the game will take between nodes.
To add a Connector that leads to an existing node, left click and drag from the small circular Connection attachment point onto any other Node.
Connectors can be removed by right clicking on the Connector attachment point they are attached to, or by deleting the child Node that they are connected to (the Node that the Connector goes into the top of). If a removed Connector has a String attached to it (eg: if it leads out of a Page Node, the text for the choice that leads to that Connector), then a prompt will appear asking if that String should be removed.
Adding and Removing Conditions
Conditions can be used to prevent the game from navigating or require the game to navigate a particular Connection.
Excluding Page Nodes, any Node that has more than one Connection exiting from it, must have Conditions attached to all but one of those Connections. In programming terms, multiple Conditions can be thought of as "if"/"else if" chains, with the last (right-most) Connection acting as an "else" to catch anything that doesn't match the other Connections' Conditions.
Conditions attached to Connections leading out of Page Nodes will determine whether or not the player can select the choice options that lead to Connections with Conditions attached. Page Nodes' Hide on failure property determines whether choice options with Conditions that are not met will be hidden or shown, but not selectable.
To create a new Condition, left click on the transparent "+" box at the midpoint of a Connector and click Add Condition Task from the Node Properties List. A pop up showing the many types of Condition Tasks available will appear. If multiple Conditions are desired, select the * Condition List option, and add more Condition Tasks to that in the same manner.
The most common Condition Tasks are found under the * Blackboard category, which includes Condition Tasks for checking the value of most common variable types.
Shortcuts
- Scroll
- Mouse wheel
- Slow Scroll
- Shift + Mouse wheel
- Pan
- Middle click and drag
- Context menu
- Right click
- Select node
- Left click
- Selection box
- Left click and drag
- Move node(s)
- Left click and drag on node
- Delete selected node
- Delete
- Duplicate selected node
- Ctrl + D
Toolbar
Left Toolbar
- File
- Todo: Add description
- Edit
- Todo: Add description
- Prefs
- Todo: Add description
- Select Owner
- Todo: Add description
- Select Graph
- Todo: Add description
- Search
- Highlights Nodes that use the entered text.
- Tasks
- Highlights Nodes that use the selected tasks.
- Combat
- Highlights Nodes that use the selected combat objectives.
- Variables
- Highlights Nodes that use the selected variables.
- Keywords
- Highlights Nodes that use the selected Keywords.
- Utility Text
- Todo: Add description
Right Toolbar
- Bookmarks
- Provides a list of bookmarks in this and other encounters that can be jumped to at any time providing they exist. NOTE: Bookmarks are stored in the Unity editor preferences, and not mod files. If you create multiple mods, bookmarks from all of them will be visible in this list.
- Encounter dropdown
- Todo: Add description
- Lock
- Todo: Add Description
Node Properties
On the left of the Encounter tab via is a list of properties for the currently selected Node. Each Node type has different properties that define its behaviour.
Variables
On the right of the Encounter tab via is a list, showing all of the variables currently defined in the Local Blackboard. These may be used by the current encounter's nodes in addition to Global Blackboard and Game Variables.
Variable names can be changed here (typically they will be updated across the rest of the encounter), and initial values for variables can also be set.