跳到主要内容

Get 节点

GCS · 内置节点库

读取单位、卡牌、状态、牌堆、变量、事件参数和实时战斗数据

Get 节点只提供数据,没有控制端口,也不会推进执行流程,把输出直接连接到 Action、Operator、Flow 或 FX 节点的数据输入

Get 节点只提供数据,没有控制端口,也不会推进执行流程,把输出直接连接到 Action、Operator、Flow 或 FX 节点的数据输入


节点用法

Active Team

当分支或条件需要判断当前由哪一方行动时,使用 Active Team

输入

  • :无输入端口

输出

  • TeamString):玩家回合为 Player,敌人回合为 Enemy,没有进行中的战斗时为 Unknown

参数

这个结果表示当前行动阵营,不表示流图拥有者或所选目标属于哪一方

Active Team 节点

Active Turn

需要按回合数成长、限定首回合或每隔若干回合触发时,使用 Active Turn

输入

  • :无输入端口

输出

  • TurnInt):当前战斗回合数,战斗外为 0

参数

Turn 是整场战斗的回合计数,不是某个单位的行动次数,也不能表示某个敌人已经行动了多少次

Active Turn 节点

Active Unit

规则需要跟随当前回合所属阵营,而不是流图拥有者时,使用 Active Unit

输入

  • :无输入端口

输出

  • UnitUnitRef):玩家回合返回玩家单位,敌人回合返回第一个存活敌人

参数

多敌人遭遇战中,Active Unit 不能表示当前正在执行行为的具体敌人,它只会返回第一个存活敌人,如果必须区分具体行动者,应读取入口上下文或使用明确连接的目标,没有可用单位时返回 null

Active Unit 节点

Self Unit

需要读取或影响当前流图所属单位时,使用 Self Unit

输入

  • :无输入端口

输出

  • UnitUnitRef):当前执行上下文中的流图拥有者

参数

Self Unit 始终跟随流图拥有者,不跟随当前行动阵营,执行上下文没有单位拥有者时返回 null

Self Unit 节点

Opponent Unit

在简单的一对一行为中需要快速取得对方单位时,使用 Opponent Unit

输入

  • :无输入端口

输出

  • UnitUnitRef):拥有者是玩家时返回第一个存活敌人,否则返回玩家单位

参数

这个节点不会读取卡牌选择的目标,多敌人遭遇战中,玩家流图始终得到第一个存活敌人,需要遵循实际选中目标时应使用明确目标或集合处理流程

Opponent Unit 节点

Player Energy

需要判断玩家能否支付费用,或让效果随当前能量变化时,使用 Player Energy

输入

  • :无输入端口

输出

  • CurrentInt):玩家当前可用能量
  • PerTurnInt):当前 GamePlayerUnitBaseEnergy,无法取得玩家定义时退回当前能量

参数

战斗外两个输出都为 0PerTurn 读取玩家资产上的基础值,不等于经过 Hook 或局内加成后下一回合最终获得的能量


单位集合与状态读取

Player Energy 节点

All Enemies

制作全体攻击、敌人筛选、随机选敌或 Foreach 循环时,使用 All Enemies

输入

  • :无输入端口

输出

  • UnitsUnitCollection):包含所有存活敌人的新列表

参数

已被击败的敌人不会进入集合,没有存活敌人或没有进行中的战斗时返回空集合,不会返回 null

All Enemies 节点

All Units

规则确实需要同时覆盖双方所有存活单位时,使用 All Units

输入

  • :无输入端口

输出

  • UnitsUnitCollection):玩家单位在前,随后是所有存活敌人的新列表

参数

玩家已被击败时不会进入集合,如果效果不能影响友方,应直接使用 All Enemies

All Units 节点

Unit Info

需要根据某个单位的实时属性做条件、筛选、意图逻辑或表现时,使用 Unit Info

输入

  • UnitUnitRef):可选的暴露输入,连接后覆盖 UnitSource

输出

  • TeamString):PlayerEnemyUnknown
  • HPInt):当前 HP
  • MaxHPInt):最大 HP
  • HPPercentInt):0100 的整数 HP 百分比
  • ArmorInt):当前护甲
  • StatusesStatusCollection):单位当前持有的状态资产
  • IntentString):敌人当前意图标签,非敌人返回 Unknown
  • IntentAmountInt):敌人当前意图数值,没有可显示数值时为 -1
  • AliveBool):单位存在且未死亡时为开启
  • AttackedBool):本回合内是否受到过攻击
  • TierString):敌人层级,其他单位为空文本
  • TagsString):单位定义上的标签列表

参数

  • UnitSourceSelf):SelfOpponentAllEnemiesAllUnitsUnit 未连接时选择要读取的单位

这个节点只读取一个单位,因此 AllEnemiesAllUnits 只会取集合中的第一个对象,无法解析单位时,数值输出为 0,文本和集合使用空值或未知值,Alive 为关闭,当前编辑器把 Tags 端口声明为 String,运行时实际传递只读字符串列表

Unit Info 节点

Unit Status Stacks

伤害、治疗、分支或状态消耗需要依赖某个状态的当前层数时,使用 Unit Status Stacks

输入

  • UnitUnitRef):可选的暴露输入,连接后覆盖 UnitSource

输出

  • StacksInt):所选状态在解析单位上的当前层数

参数

  • UnitSourceSelf):SelfOpponentAllEnemiesAllUnitsUnit 未连接时选择要读取的单位
  • StatusNone):任意 GameStatus 资产;选择要统计的状态

这是单单位查询,集合来源只会提供第一个单位,单位或 Status 缺失,以及单位没有该状态时,Stacks 都为 0

Unit Status Stacks 节点

Status Info

在状态流图里读取当前状态,或明确连接一个状态并读取它的类型、标签和拥有者层数时,使用 Status Info

输入

  • StatusStatusRef):可选的状态覆盖输入

输出

  • StacksInt):解析状态在流图拥有者身上的层数
  • TypeString):BuffDebuff,没有状态时为空文本
  • TagsString):解析状态定义上的标签列表

参数

  • StatusNone):任意 GameStatus 资产;输入未连接时使用的后备状态

状态按已连接的 Status、字段里的 Status、执行上下文当前状态这个顺序解析,Stacks 始终查询流图拥有者,不会查询任意目标,缺少拥有者或状态时返回 0,当前编辑器把 Tags 端口声明为 String,运行时实际传递只读字符串列表


卡牌与牌堆

Status Info 节点

This Card

卡牌行为需要当前执行对应的那张运行时卡牌实例时,使用 This Card

输入

  • :无输入端口

输出

  • CardCardRef):当前卡牌实例

参数

编辑器只允许在卡牌拥有的流图中添加这个节点,执行上下文没有当前卡牌实例时返回 null

This Card 节点

Card Info

需要检查费用、判断卡牌类型或稀有度,以及制作标签和关键词联动时,使用 Card Info

输入

  • CardCardRef):可选的暴露输入,连接后覆盖 CardSource

输出

  • CostInt):运行时实例的有效能量费用,只有卡牌定义时返回资产基础费用
  • TypeString):卡牌类型
  • RarityString):卡牌稀有度
  • TagsString):卡牌标签列表
  • KeywordsString):卡牌关键词列表

参数

  • CardSourceThisCard):ThisCardHandPileDrawPileDiscardPileExhaustPileAllPilesCard 未连接时选择卡牌来源

Card Info 只读取一张卡,选择牌堆来源时会使用解析结果中的第一张卡,没有实例时,最后会尝试读取当前打出卡牌的定义,仍然缺少卡牌时返回 0、空文本和空列表,当前编辑器把 TagsKeywords 端口声明为 String,运行时实际传递的都是只读字符串列表

Card Info 节点

Card Piles

需要把实时战斗牌堆交给 FilterCountTakeMove Cards 或其他集合节点时,使用 Card Piles

输入

  • :无输入端口

输出

  • CardsCardCollection):Pile 选择的卡牌集合

参数

  • PileHand):HandDrawDiscardExhaustMasterAll;选择要读取的运行时牌堆或组合来源

HandDrawDiscardExhaust 返回实时战斗牌堆视图,All 按手牌、抽牌堆、弃牌堆、消耗牌堆的顺序创建集合,不包含 MasterMaster 根据当前主卡组创建实例 ID 为 0 的临时卡牌,并保留每个条目的升级状态和费用差值,战斗外所有选项都返回空集合

Card Piles 节点

Deck Cards

需要读取指定 GameDeck 资产,而不是玩家当前战斗牌堆时,使用 Deck Cards

输入

  • :无输入端口

输出

  • CardsCardCollection):根据所选卡组条目创建的临时卡牌实例

参数

  • DeckNone):任意 GameDeck 资产;选择要读取的卡组定义

每个卡组条目至少生成一张卡,Copies 小于 1 时按 1 处理,节点创建实例 ID 为 0 的新卡牌,不读取也不修改实时战斗牌堆,缺少卡组或条目列表时返回空集合

Deck Cards 节点

Cards Played This Turn

制作连击计数或检查本回合出牌记录时,使用 Cards Played This Turn

输入

  • :无输入端口

输出

  • CardsCardCollection):本回合打出的运行时卡牌实例,按出牌顺序排列

参数

这个记录会随回合重置,不是整场战斗的历史,战斗外返回空集合

Cards Played This Turn 节点

Cards Drawn This Turn

制作抽牌次数奖励,或检查本回合有哪些卡牌进入过手牌时,使用 Cards Drawn This Turn

输入

  • :无输入端口

输出

  • CardsCardCollection):本回合抽到的运行时卡牌实例,按抽牌顺序排列

参数

这是抽牌记录,不是当前手牌,卡牌即使已经离开手牌,也会留在这个集合中直到回合变化,战斗外返回空集合


变量与事件数据

Cards Drawn This Turn 节点

Variable

当后续节点或另一个入口需要通过名称读取值,而不能直接连线时,配合 Set Variable 使用 Variable

输入

  • :无输入端口

输出

  • ResultAny):按所选 Kind 读取并转换后的命名值

参数

  • Name(空):与写入端一致的变量名;指定 Set Variable 写入的值
  • KindInt):IntFloatBoolUnitCardStatus;指定存储类型,以及缺失时返回的默认值类型
  • BattleScope(关闭):关闭、开启;关闭时读取当前流图执行,开启时读取各入口共享的战斗级存储

名称和作用域必须与写入端一致,找不到值时返回所选类型的默认值,也就是 00.0、关闭或 null,执行级变量不会保留到另一个入口,只有确实需要跨入口共享时才开启 BattleScope

Variable 节点

Event Arg

流图由内部事件或 GES 事件入口启动,并需要读取事件载荷里的某个命名值时,使用 Event Arg

输入

  • :无输入端口

输出

  • ResultAny):事件载荷中 ArgName 对应的值

参数

  • ArgName(空):事件提供的参数键;选择要读取的载荷值

参数名需要完全一致,流图不是由事件启动、事件没有这个键,或名称不匹配时返回 null

Event Arg 节点