Action Node
Overview
Action Nodes represent executable operations in the graph system. They are responsible for performing concrete actions such as applying damage, modifying Attribute, adding OverTimeEffect, triggering events, or writing data changes during combat execution.
When an Action Node is evaluated, it executes its logic immediately based on the current execution context and input data.

Purpose
Action Nodes are used to:
-
Apply gameplay effects (damage, healing, buffs, debuffs)
-
Modify Entity or backend data
-
Trigger combat-related behaviors
-
Produce the final outcome of a graph execution
They are the core nodes that produce results, rather than controlling flow or evaluating conditions.
Execution Behavior
-
Action Nodesare executed when reached during graph evaluation. -
They operate purely on backend data and do not require Entity instances.
-
Results are written directly to the combat data context.
-
Visual or presentation updates are handled separately by the Entity layer.
Port Connection Rules
Input Ports
-
Default
Input Port- Can connect from a
Root Node - Can connect from a Branch Node
- Can connect from a
-
Additional
Input Ports(Availability depends on the specificAction Nodeimplementation)- Can connect from Variable Node
- Can connect from Math Node
- Can connect from Entity Node
These input ports provide the data required for the Action Node to execute its logic.
Output Ports
- None
Action Nodesdo not expose output ports and represent the terminal step of an execution path.
Common Use Cases
-
Typical
Action Nodesinclude: -
Deal Damage
-
Modify Attribute
-
Add or Remove OverTimeEffect
-
Update CustomData values
-
Trigger combat-related state changes
Action Nodes are usually placed at the end of an execution branch, following flow-control or condition nodes.
Design Philosophy
Action Nodes are intentionally stateless and data-driven.
This design makes them:
-
Easy to reuse across different graphs
-
Safe to evaluate multiple times
-
Suitable for simulation, preview, and backend-only execution
Summary
-
Action Nodesexecute logic -
They do not control flow
-
They do not produce outputs
-
They finalize execution paths