---
tags: plugin
---
# Dialog Plugin Requirements
List of all the requirements, features and nice-to-haves for the Dialog Plugin. Will help drive development of plugin.
## Tab - Nodes
### Pure Conversation Nodes
#### Start Node: Initiates conversation, no fields.
#### Dialog Node: Simple dialog node, that when reached continues the conversation.
- Fields:
- Dialog Lines: List of texts to be read by the same character, with optional audio that accompanies each line of text;
- Character: Auto-completes from the variables with the 'character' type assigned;
- Time: Defaults to 0, if specified, amount of time that line will take before skipping to the next line.
#### Requirements Node: Checks to see if dialogue branch can follow that path.
- Fields:
- Variable requirements: if operation is true, like "correctAnswers == 3", then requirement is met;
- Boolean requirements: checks to see if boolean variable is in a certain state;
- Event requirement: checks to see if event has or not been triggered;
On hover, the requirement description will be shown. Only auto-completes known events on the Variables Tab.
#### Consequences Node: Node that when passed, will update the game's internal variables.
- Fields:
- Similar to requirements node, only this sets the variables instead of checking them;
#### Transition Node: When this node is hit, it transitions to a new scene.
- Fields:
- Next scene: Name of the next scene to be used. Auto-completes to existing known scenes, if the name is new, a new one is created automatically;
- Next converstion: Name of the next conversation to be used;
- Transition Animation (optional): Name of the transition animation that will be triggered to connect two different scenes;
#### Choice Node: Node that outlines player's choices.
- Fields:
- List of choices. Each
#### Timed Silence node:
- Fields:
- Time: Amount of time of silence;
- Stops Music: Boolean, that tells whether music stops or not;
### Art Nodes (TO BE DETERMINED, investigate animation sequences in Godot)
#### Music Start Node:
- Fields:
- Source: The music asset's name;
- Volume: Defaults to 100, can be tuned to better fit a specific ambiance;
#### Animation Node: Prompt to start a quick animation for a specific moment.
- Fields:
- Line: The name of the line to be read.
## Tab - Variables:
- List that compiles all the variables from the game, alongside a description. Each variable must contain a description, so that it can assist the hover feature. This tab will group together variables based on their type, which can be **character**, **event**, **number**, **boolean**.:
- **Character**: A character of the game;
- **Event**: An event that needs to be tracked. Can be a consequence for the dialogue, or a requirement;
- **Number**: A statistic to be tracked, requirement can perform quick math check to see if it is met;
- **Boolean**: Simple variable that can either be true or false;
# Features:
- Auto-complete de variables inteligente;
- Can select folder from which to load conversations from;
- Can select folder to which it will output JSON;
- Generate a single script file containing all the information for the game;
- Store settings persistingly, project-wide;
- Save positioning of each node persistently;