This document describes all StateTree nodes provided by the WonderscapeCreationsGASAlly plugin, organized by header file. These nodes integrate the plugin's GAS-based systems with Unreal's StateTree AI framework.
Purpose: Core conditions for GAS attribute, ability, faction, threat, and squad role checks.
| Node Name | Description |
|---|---|
| WC: Has Status Effect | Checks if an actor has a specific status effect active. Supports inversion to check for absence of an effect. Useful for gating behaviors based on crowd control or buff states. |
| WC: Attribute Compare | Compares a gameplay attribute value against a threshold using various operators (<, <=, ==, >=, >). Supports percentage-based comparisons (e.g., "health below 30%") when given a max attribute for reference. |
| WC: Can Activate Ability | Validates whether an ability can be activated by checking if it's granted, not blocked by tags, not pending removal, and optionally not on cooldown. Essential for AI ability selection. |
| WC: Phase Active | Checks if a boss is currently in a specific phase. Requires the WCGASBossPhaseComp component. Used to branch AI behavior by boss encounter phase. |
| WC: Team Attitude | Evaluates the faction relationship between two actors (Friendly, Neutral, Enemy). Works with the WC GAS Ally faction system to determine targeting validity. |
| WC: Threat Threshold | Compares threat values against thresholds. Can check a specific target, the highest threat target, or if ANY target exceeds a threshold. Core condition for combat state management. |
| WC: Squad Role | Checks if an actor has specific squad roles assigned. Allows filtering AI behaviors based on role (Tank, DPS, Healer, Support, etc.). |
| WC: Has Wounded Allies | Determines if the actor's squad has wounded members below a configurable health percentage threshold. Triggers protection or healing behaviors. |
| WC: Should Protect Allies | Combines role-based protection checking with wounded ally detection. Returns true when the AI's role has protection duties AND wounded allies exist. |
Purpose: Tasks and conditions for managing combat state and threat table operations.
| Node Name | Description |
|---|---|
| WC: Enter Combat | Transitions an AI into combat mode with an initial target. Adds the target to the threat table and fires the OnCombatStateChanged delegate. |
| WC: Exit Combat | Returns an AI to idle state and optionally clears the threat table. Used when disengaging from combat. |
| WC: Modify Threat | Manipulates threat values with multiple operations: Add flat threat, Multiply existing threat, Set to exact value, Clear threat for one target, or Clear All threat. Supports timed multipliers. |
| WC: Set Combat State | Directly sets the combat state (Idle, Engaging, Retreating, Dead). For special cases like forcing retreat; prefer Enter/Exit Combat for normal transitions. |
| Node Name | Description |
|---|---|
| WC: Combat State | Checks if the AI is in specific combat states. Accepts multiple allowed states and supports inversion. |
Purpose: Core GAS operation tasks for abilities, effects, and boss phase management.
| Node Name | Description |
|---|---|
| WC: Activate Ability | Activates a GAS ability by tag or class. Supports optional target binding and can wait for the ability to complete before succeeding. |
| WC: Apply Effect | Applies a GameplayEffect to self, a target, or both. Supports effect level scaling. |
| WC: Wait For Phase | A waiting task that succeeds when a boss enters (or leaves, if inverted) a specific phase. Supports timeout configuration. |