Skip to main content

Get Nodes

GCS · Built-In Node Library

Read units, cards, statuses, piles, variables, event arguments, and live battle values.

Get nodes only provide data. They have no control ports and do not advance execution; connect their outputs directly to Action, Operator, Flow, or FX data inputs.

Get nodes only provide data. They have no control ports and do not advance execution; connect their outputs directly to Action, Operator, Flow, or FX data inputs.


Node Usage

Active Team

Use Active Team when a branch or condition needs to know which side currently owns the turn.

Input

  • :No input ports

Output

  • TeamString):Player during the player turn, Enemy during the enemy turn, or Unknown when no battle is active

Fields: none.

The result describes the active side, not the team of the graph owner or a selected target.

Active Team node

Active Turn

Use Active Turn for turn-based scaling, first-turn rules, or conditions that run every few turns.

Input

  • :No input ports

Output

  • TurnInt):The battle's current turn number, or 0 outside battle

Fields: none.

Turn is the battle counter. It is not a per-unit action count and does not tell you how many times a particular enemy has acted.

Active Turn node

Active Unit

Use Active Unit when a rule follows the side whose turn is currently running rather than the graph owner.

Input

  • :No input ports

Output

  • UnitUnitRef):The player unit on the player turn, or the first living enemy on the enemy turn

Fields: none.

In a multi-enemy encounter, Active Unit does not identify the enemy whose behavior is currently executing; it returns the first living enemy. Use the entry context or an explicit target when that distinction matters. The output is null when no matching unit is available.

Active Unit node

Self Unit

Use Self Unit for effects that must read or affect the unit that owns the current graph.

Input

  • :No input ports

Output

  • UnitUnitRef):The execution context's graph owner

Fields: none.

Self Unit is tied to the graph host, not the active side. It returns null if the execution context has no unit host.

Self Unit node

Opponent Unit

Use Opponent Unit as a compact default target for simple player-versus-enemy behavior.

Input

  • :No input ports

Output

  • UnitUnitRef):The first living enemy when the host is the player; otherwise the player unit

Fields: none.

This node does not read the card's chosen target. In encounters with several enemies, it always resolves the first living enemy for a player-owned graph. Use an explicit target or collection workflow when target selection matters.

Opponent Unit node

Player Energy

Use Player Energy for affordability checks or effects that scale from the player's current energy.

Input

  • :No input ports

Output

  • CurrentInt):Energy currently available to the player
  • PerTurnInt):BaseEnergy from the active GamePlayerUnit; falls back to current energy if that definition is unavailable

Fields: none.

Both outputs return 0 outside battle. PerTurn is the player asset's base value, not the final energy that a future turn will receive after hooks or run-level adjustments.


Unit collections and inspection

Player Energy node

All Enemies

Use All Enemies for area effects, filters, random enemy selection, and Foreach loops.

Input

  • :No input ports

Output

  • UnitsUnitCollection):A fresh list containing every living enemy

Fields: none.

Defeated enemies are excluded. The node returns an empty collection, never null, when no enemy is alive or no battle is active.

All Enemies node

All Units

Use All Units for board-wide rules that intentionally include both teams.

Input

  • :No input ports

Output

  • UnitsUnitCollection):A fresh list containing the living player first, followed by all living enemies

Fields: none.

The player is omitted when defeated. Use All Enemies when friendly units must not enter the downstream collection.

All Units node

Unit Info

Use Unit Info to drive conditions, filters, intent logic, or presentation from one unit's live state.

Input

  • UnitUnitRef):Optional exposed input; overrides UnitSource when connected

Output

  • TeamString):Player, Enemy, or Unknown
  • HPInt):Current HP
  • MaxHPInt):Maximum HP
  • HPPercentInt):Current HP as an integer percentage from 0 to 100
  • ArmorInt):Current armor
  • StatusesStatusCollection):Status assets currently present on the unit
  • IntentString):Current enemy intent tag, or Unknown for a non-enemy
  • IntentAmountInt):Current enemy intent value, or -1 when no value applies
  • AliveBool):On when the unit exists and is not dead
  • AttackedBool):Whether the unit was attacked during the current turn
  • TierString):Enemy tier, or an empty string for other units
  • TagsString):The unit definition's tag list

Parameters

  • UnitSourceSelf):Self, Opponent, AllEnemies, AllUnits;Selects the unit when Unit is not connected

The node reads one unit. AllEnemies and AllUnits therefore resolve only their first item. If no unit resolves, numeric outputs are 0, text outputs use their empty or unknown value, Statuses and Tags are empty, and Alive is off. The editor currently declares Tags as String, while the runtime value is a read-only list of strings.

Unit Info node

Unit Status Stacks

Use Unit Status Stacks when damage, healing, branching, or status consumption depends on one status's current stack count.

Input

  • UnitUnitRef):Optional exposed input; overrides UnitSource when connected

Output

  • StacksInt):Current stacks of the selected status on the resolved unit

Parameters

  • UnitSourceSelf):Self, Opponent, AllEnemies, AllUnits;Selects the unit when Unit is not connected
  • StatusNone):Any GameStatus asset;Selects the status to count

This is a single-unit lookup, so collection sources contribute only their first unit. Stacks is 0 when the unit or Status field is missing, or when the unit does not have that status.

Unit Status Stacks node

Status Info

Use Status Info inside a status graph, or connect a status explicitly when a rule needs its type, tags, or stacks on the graph owner.

Input

  • StatusStatusRef):Optional status override

Output

  • StacksInt):Stacks of the resolved status on the graph host
  • TypeString):Buff or Debuff; empty when no status resolves
  • TagsString):The resolved status definition's tag list

Parameters

  • StatusNone):Any GameStatus asset;Fallback status when the input is not connected

Resolution order is connected Status, inline Status, then the execution context's current status. Stacks always checks the graph host, not an arbitrary target, and returns 0 without both a host and a resolved status. The editor currently declares Tags as String, while the runtime value is a read-only list of strings.


Cards and piles

Status Info node

This Card

Use This Card when a card behavior needs the exact runtime card instance that owns the execution.

Input

  • :No input ports

Output

  • CardCardRef):The current card instance

Fields: none.

The editor only allows this node in a card-owned graph. It returns null when execution has no current card instance.

This Card node

Card Info

Use Card Info for cost checks, card-type branches, rarity rules, and tag or keyword synergies.

Input

  • CardCardRef):Optional exposed input; overrides CardSource when connected

Output

  • CostInt):Effective energy cost for a runtime instance, or the asset's base cost when only a definition is available
  • TypeString):Card type
  • RarityString):Card rarity
  • TagsString):Card tag list
  • KeywordsString):Card keyword list

Parameters

  • CardSourceThisCard):ThisCard, HandPile, DrawPile, DiscardPile, ExhaustPile, AllPiles;Selects the card source when Card is not connected

Card Info reads one card. Pile-based sources therefore use the first resolved card. If no instance resolves, the current played card definition is the final fallback. Missing cards produce 0, empty strings, and empty tag or keyword lists. The editor currently declares Tags and Keywords as String, while both runtime values are read-only lists of strings.

Card Info node

Card Piles

Use Card Piles to feed live battle cards into Filter, Count, Take, Move Cards, or other collection nodes.

Input

  • :No input ports

Output

  • CardsCardCollection):The cards selected by Pile

Parameters

  • PileHand):Hand, Draw, Discard, Exhaust, Master, All;Chooses the runtime pile or combined source to read

Hand, Draw, Discard, and Exhaust return the live battle pile views. All creates a collection in hand, draw, discard, then exhaust order; it does not include Master. Master creates temporary instance-ID-0 cards from the current master deck and preserves each entry's upgraded state and cost delta. Outside battle, every option returns an empty collection.

Card Piles node

Deck Cards

Use Deck Cards when the graph needs the contents of a particular GameDeck asset rather than the player's live battle piles.

Input

  • :No input ports

Output

  • CardsCardCollection):Temporary card instances built from the selected deck's entries

Parameters

  • DeckNone):Any GameDeck asset;Selects the deck definition to read

Each deck entry contributes at least one instance: Copies values below 1 are treated as 1. The node creates fresh instance-ID-0 cards and does not read or modify live battle piles. A missing deck or entry list returns an empty collection.

Deck Cards node

Cards Played This Turn

Use Cards Played This Turn for combo counts and rules that inspect the current turn's play history.

Input

  • :No input ports

Output

  • CardsCardCollection):Runtime card instances played this turn, in play order

Fields: none.

The history resets with the turn and is not a whole-battle log. Outside battle, the node returns an empty collection.

Cards Played This Turn node

Cards Drawn This Turn

Use Cards Drawn This Turn for draw-count bonuses and rules that inspect which cards entered the hand during the current turn.

Input

  • :No input ports

Output

  • CardsCardCollection):Runtime card instances drawn this turn, in draw order

Fields: none.

This is draw history, not the current hand. Cards can leave the hand and remain in this collection until the turn changes. Outside battle, the node returns an empty collection.


Variables and event data

Cards Drawn This Turn node

Variable

Use Variable with Set Variable when a later node or another entry needs a named value instead of a direct wire.

Input

  • :No input ports

Output

  • ResultAny):The named value converted to the selected Kind

Parameters

  • Name(Empty):Any matching variable name;Identifies the value written by Set Variable
  • KindInt):Int, Float, Bool, Unit, Card, Status;Selects the stored value type and the default returned when missing
  • BattleScope(Off):Off, On;Off reads the current graph execution; On reads the battle-wide store shared by entries

The name and scope must match the writer. A missing value returns the selected type's default: 0, 0.0, off, or null. Execution-scoped values do not survive into a separate entry; enable BattleScope only when that sharing is intentional.

Variable node

Event Arg

Use Event Arg in a graph started by an internal-event or GES-event entry to read one named value from that event payload.

Input

  • :No input ports

Output

  • ResultAny):The event argument stored under ArgName

Parameters

  • ArgName(Empty):A key supplied by the event;Selects which payload value to read

Argument names are exact. The result is null when the graph was not started by an event, the event did not include that key, or the name does not match.

Event Arg node