--- 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;