跳到主要内容

Entry 节点

Guide

在战斗、回合、卡牌、单位、状态、能量或事件发生时启动流图

节点用法

On Battle Start

仅用于 Status 行为图;起始手牌抽取完成、首轮敌人意图计算完成后,玩家与存活敌人身上当时已有的状态各触发一次;将 Out 连接到真正属于状态的开场设置,例如初始化战斗变量

输入

  • :该时机直接启动分支

输出

  • Out(Flow):继续执行开场行为

参数

  • :该 Entry 没有可配置字段

On Battle Start 入口节点

On Battle End

仅用于 Status 行为图;战斗进入胜利或失败状态时,玩家与存活敌人身上的状态触发;胜利时会先执行这里的行为,再生成奖励;将 Out 连接到状态自身的战斗结束清理或记录逻辑,场景级结算 UI 不应放在状态行为图中

输入

  • :该时机直接启动分支

输出

  • Out(Flow):继续执行战斗结束行为

参数

  • :该 Entry 没有可配置字段

On Battle End 入口节点

On Turn Start

用于 Card 与 Status 行为图;玩家状态会在玩家回合开始、护甲重置与能量补充之后触发;敌人状态会在该敌人自己的行动步骤开始时触发;Card 行为图只会在玩家回合开始时对当时已在手中的卡牌触发,顺序位于玩家状态之后、抽牌阶段之前;将 Out 连接到每回合结算、计数或手牌驻留效果

输入

  • :该时机直接启动分支

输出

  • Out(Flow):继续执行回合开始行为

参数

  • :该 Entry 没有可配置字段

On Turn Start 入口节点

On Turn End

用于 Card 与 Status 行为图;玩家回合结束时,当前手牌先触发,然后才结算保留、弃置或消耗;手牌结算完成后,玩家状态再触发并进入状态衰减;敌人状态则在该敌人行动后、状态衰减前触发;将 Out 连接到与宿主所在顺序相符的回合结束逻辑

输入

  • :该时机直接启动分支

输出

  • Out(Flow):继续执行回合结束行为

参数

  • :该 Entry 没有可配置字段

On Turn End 入口节点

On Draw Phase

仅用于 Status 行为图,而且只对玩家状态触发;玩家回合开始时,它位于常规回合抽牌之前;第 1 回合不会触发,因为起始手牌已在战斗初始化阶段抽取;将 Out 连接到整个抽牌阶段开始前的准备逻辑,逐张卡牌的响应应使用 On Card Drawn

输入

  • :该时机直接启动分支

输出

  • Out(Flow):继续执行抽牌阶段行为

参数

  • :该 Entry 没有可配置字段

On Draw Phase 入口节点

On Discard Phase

仅用于 Status 行为图,而且只对玩家状态触发;玩家结束回合时,它先于手牌的 On Turn End,也先于保留、弃置与消耗结算;将 Out 连接到手牌清理前需要执行的阶段级逻辑

输入

  • :该时机直接启动分支

输出

  • Out(Flow):继续执行弃牌阶段行为

参数

  • :该 Entry 没有可配置字段

On Discard Phase 入口节点

On Draw Pile Shuffled

仅用于 Card 行为图;初始牌库洗牌、弃牌堆回洗以及 Shuffle Draw Pile 都会触发,GCS 会对洗牌完成后仍在抽牌堆中的每个卡牌实例执行一次;将 Out 连接到卡牌自己的洗牌响应;该节点没有 Card 数据输出,下游节点支持当前卡牌上下文时可直接读取宿主卡牌

输入

  • :该时机直接启动分支

输出

  • Out(Flow):继续执行洗牌响应

参数

  • :该 Entry 没有可配置字段

On Draw Pile Shuffled 入口节点

On Card Drawn

用于 Card 与 Status 行为图;每张卡牌从抽牌堆进入玩家手牌后触发,玩家状态会先于被抽到卡牌自己的行为图执行;将 Out 连接到抽牌响应,需要检查具体卡牌时,把 Card 连接到 Card Info 或其他 CardRef 输入

输入

  • :该时机直接启动分支

输出

  • Card(CardRef):刚刚抽到的 CardInstance
  • Out(Flow):继续执行抽牌响应

参数

  • :该 Entry 没有可配置字段

On Card Drawn 入口节点

On Card Played

仅用于 Card 行为图;GCS 接受出牌、扣除费用、确定目标并发出卡牌已打出事件后触发,这是卡牌主要效果的常用入口;将 Out 连接到第一个 Action,需要检查实例时将 Card 传给下游节点

输入

  • :该时机直接启动分支

输出

  • Card(CardRef):本次打出的 CardInstance
  • Out(Flow):继续执行卡牌主要行为

参数

  • :该 Entry 没有可配置字段

On Card Played 入口节点

On Card Discarded

仅用于 Card 行为图;回合结束的手牌结算将卡牌弃置时触发,抽牌超过手牌上限而把未进入手牌的卡牌送入弃牌堆时也会触发;普通非 Exhaust 卡牌打出后进入弃牌堆不会触发该 Entry;将 Out 连接到弃牌专属效果,并用 Card 读取本次弃置的实例

输入

  • :该时机直接启动分支

输出

  • Card(CardRef):由该时机送入弃牌堆的 CardInstance
  • Out(Flow):继续执行弃牌响应

参数

  • :该 Entry 没有可配置字段

On Card Discarded 入口节点

On Card Exhausted

仅用于 Card 行为图;带有 Exhaust 的卡牌打出后进入消耗堆时触发,Ethereal 卡牌在回合结束的手牌结算中被消耗时也会触发;将 Out 连接到消耗后续效果,并用 Card 读取被消耗的实例

输入

  • :该时机直接启动分支

输出

  • Card(CardRef):被消耗的 CardInstance
  • Out(Flow):继续执行消耗响应

参数

  • :该 Entry 没有可配置字段

On Card Exhausted 入口节点

On Card Retained

仅用于 Card 行为图;卡牌因 Retain 保留,或遭遇战规则保留整手牌时,在回合结束的手牌结算阶段触发;将 Out 连接到保留响应,并用 Card 读取留下的实例

输入

  • :该时机直接启动分支

输出

  • Card(CardRef):被保留的 CardInstance
  • Out(Flow):继续执行保留响应

参数

  • :该 Entry 没有可配置字段

On Card Retained 入口节点

On Card Added To Hand

仅用于 Card 行为图;Add Card To Hand 创建新卡牌实例时触发,Card 输出的是刚创建的 CardInstance,不是卡牌定义;手牌已满时,新实例会落入弃牌堆,但由于执行的是加入手牌操作,该 Entry 仍会触发;Move Card 移动已有实例不会触发它

输入

  • :该时机直接启动分支

输出

  • Card(CardRef):新创建的 CardInstance,手牌已满而转入弃牌堆时也一样
  • Out(Flow):继续执行加入手牌响应

参数

  • :该 Entry 没有可配置字段

On Card Added To Hand 入口节点

On Card Added To Deck

仅用于 Card 行为图;Add Card To Draw Pile 在抽牌堆顶部、底部或随机位置创建实例时触发,Card 输出是新创建的 CardInstance;需要检查该实例时可连接到 Card InfoMove Card 将已有卡牌移入抽牌堆不会触发它

输入

  • :该时机直接启动分支

输出

  • Card(CardRef):新创建并插入抽牌堆的 CardInstance
  • Out(Flow):继续执行加入牌库响应

参数

  • :该 Entry 没有可配置字段

On Card Added To Deck 入口节点

On Damage Dealt

仅用于 Status 行为图;攻击结算后,攻击者身上的状态通过该 Entry 响应;状态伤害没有攻击者,不会触发它;Amount 是护甲与伤害修改后的待扣 HP,不是攻击原值;致命伤害时也不会按目标剩余 HP 截断;将 Out 连接到吸血等命中后效果,需要时把事件输出传给下游筛选节点

输入

  • :该时机直接启动分支

输出

  • Amount(Int):护甲结算后的待扣 HP,可能为 0,也可能高于目标剩余 HP
  • Source(UnitRef):携带响应状态的攻击者
  • Target(UnitRef):被攻击的单位
  • Out(Flow):继续执行造成伤害后的行为

参数

  • :该 Entry 没有可配置字段

On Damage Dealt 入口节点

On Damage Taken

仅用于 Status 行为图;攻击伤害或状态伤害结算后,被伤害单位身上的状态触发;Amount 是护甲与修改结算后的待扣 HP,致命伤害时不会按剩余 HP 截断;没有攻击者的伤害会让 Source 为空,状态伤害也属于这种情况;将 Out 连接到反击或受击响应,需要提前修改数值时使用 Damage Taken Hook

输入

  • :该时机直接启动分支

输出

  • Amount(Int):护甲结算后的待扣 HP,可能为 0,也可能高于持有者剩余 HP
  • Source(UnitRef):攻击者,没有攻击者时为空
  • Target(UnitRef):受到伤害的状态持有者
  • Out(Flow):继续执行受伤响应

参数

  • :该 Entry 没有可配置字段

On Damage Taken 入口节点

On Attack Taken

仅用于 Status 行为图;带攻击者的 Deal Damage 结算后在防守方触发,状态伤害与直接 HP 损失不会触发;将 Out 连接到只针对攻击的响应,并用三个数据输出读取本次已结算的命中信息

输入

  • :该时机直接启动分支

输出

  • Amount(Int):护甲结算后的攻击待扣 HP,可能为 0,也可能高于剩余 HP
  • Source(UnitRef):攻击者
  • Target(UnitRef):携带响应状态的防守方
  • Out(Flow):继续执行受攻击响应

参数

  • :该 Entry 没有可配置字段

On Attack Taken 入口节点

On HP Gained

仅用于 Status 行为图;经过 Hook 调整后仍为正数的 Gain HP 请求进入最大 HP 截断后触发,目标已经满血时仍会执行,并提供 Amount = 0;当前控制器没有为治疗操作提供来源单位,因此 Source 为空;将 Out 连接到治疗后响应,需要提前修改治疗量时使用 HP Gain Hook

输入

  • :该时机直接启动分支

输出

  • Amount(Int):最大 HP 限制后的实际恢复量,目标原本满血时为 0
  • Source(UnitRef):当前 Gain HP 路径不会写入单位
  • Target(UnitRef):被治疗的状态持有者
  • Out(Flow):继续执行治疗后响应

参数

  • :该 Entry 没有可配置字段

On HP Gained 入口节点

On HP Lost

仅用于 Status 行为图;伤害在护甲后仍有正数待扣 HP 时触发,直接 Lose HP 也会触发;伤害路径提供的是护甲后的待扣值,致命伤害时可能高于剩余 HP;直接 Lose HP 提供的是截断后的实际损失;攻击伤害的 Source 是攻击者,直接损失或状态伤害没有攻击者时则为空;将 Out 连接到只关心 HP 下降的行为

输入

  • :该时机直接启动分支

输出

  • Amount(Int):伤害路径为护甲后的待扣 HP,直接 Lose HP 为截断后的实际损失
  • Source(UnitRef):存在攻击者时为攻击者,否则为空
  • Target(UnitRef):损失 HP 的状态持有者
  • Out(Flow):继续执行 HP 损失响应

参数

  • :该 Entry 没有可配置字段

On HP Lost 入口节点

On Armor Gained

仅用于 Status 行为图;Gain Armor 给持有者增加护甲后触发;当前控制器不会给这次操作附带行为发起者,因此 Source 为空;将 Out 连接到获得护甲后的效果,需要提前改写数值时使用 Armor Gain Hook

输入

  • :该时机直接启动分支

输出

  • Amount(Int):实际增加的护甲
  • Source(UnitRef):当前 Gain Armor 路径不会写入单位
  • Target(UnitRef):获得护甲的状态持有者
  • Out(Flow):继续执行护甲增加响应

参数

  • :该 Entry 没有可配置字段

On Armor Gained 入口节点

On Armor Lost

仅用于 Status 行为图;显式执行 Lose Armor 并减少护甲后触发,Amount 是经过 Hook 调整的请求损失,可能高于操作前拥有的护甲,最终护甲才会截断到零;伤害吸收护甲与回合开始的护甲重置走的是其他路径,不会触发;将 Out 连接到明确的破甲响应

输入

  • :该时机直接启动分支

输出

  • Amount(Int):经过 Hook 调整的请求损失,不按原有护甲量截断
  • Source(UnitRef):当前 Lose Armor 路径不会写入单位
  • Target(UnitRef):失去护甲的状态持有者
  • Out(Flow):继续执行护甲损失响应

参数

  • :该 Entry 没有可配置字段

On Armor Lost 入口节点

On Energy Gained

仅用于 Status 行为图,而且只对玩家触发;显式执行 Gain Energy 并增加能量后触发,常规回合开始的能量补充是直接赋值,不会触发;将 Out 连接到获得能量后的响应

当前 Amount 输出

端口已经注册,但当前分发路径没有把获得的能量值写入 Entry 上下文,因此 Amount 会读到 0;运行时补齐写入前,不要用该输出参与计算

输入

  • :该时机直接启动分支

输出

  • Amount(Int):当前为 0,分发器尚未写入获得量
  • Out(Flow):继续执行获得能量响应

参数

  • :该 Entry 没有可配置字段

On Energy Gained 入口节点

On Energy Spent

仅用于 Status 行为图,而且只对玩家触发;显式执行 Lose Energy 后触发,打出卡牌会直接扣除已确认的费用,因此不会触发该 Entry;将 Out 连接到显式能量损失响应,卡牌费用应使用 Card Cost Hook

当前 Amount 输出

端口已经注册,但当前分发路径没有把消耗的能量值写入 Entry 上下文,因此 Amount 会读到 0;运行时补齐写入前,不要用该输出参与计算

输入

  • :该时机直接启动分支

输出

  • Amount(Int):当前为 0,分发器尚未写入消耗量
  • Out(Flow):继续执行能量消耗响应

参数

  • :该 Entry 没有可配置字段

On Energy Spent 入口节点

On Status Inflicted

仅用于 Status 行为图;来源单位发起有效的状态应用后,该来源当时携带的每个状态都可通过此 Entry 响应;即使 Max 叠加规则让层数没有变化也会执行,没有来源单位时则不会触发;Stacks 是应用叠加规则与上限后,目标身上的最终层数,不是本次单独增加的数量;将 Out 连接到施加方的状态联动,并用输出识别本次应用

输入

  • :该时机直接启动分支

输出

  • Status(StatusRef):本次施加的状态
  • Stacks(Int):目标身上的最终层数
  • Source(UnitRef):施加状态的单位
  • Target(UnitRef):接收状态的单位
  • Out(Flow):继续执行施加方响应

参数

  • :该 Entry 没有可配置字段

On Status Inflicted 入口节点

On Status Received

仅用于 Status 行为图;状态应用尝试完成后,运行本次传入状态自身的行为图,并提供最终层数;即使 Max 叠加规则让已有层数没有变化,该 Entry 仍可能执行;未提供来源时,Source 会回退为接收者;将 Out 连接到状态首次接收或再次应用时的行为

输入

  • :该时机直接启动分支

输出

  • Status(StatusRef):当前正在执行行为图的状态
  • Stacks(Int):本次应用尝试后的最终层数
  • Source(UnitRef):施加者,未提供来源时为接收者
  • Target(UnitRef):接收状态的持有者
  • Out(Flow):继续执行接收状态行为

参数

  • :该 Entry 没有可配置字段

On Status Received 入口节点

On Status Expired

仅用于 Status 行为图;每回合衰减将状态降到零时,运行该状态自己的行为图;分支开始前,状态已经从持有者的状态表中移除;将 Out 连接到自然到期效果,净化或驱散移除应使用 On Status Removed

输入

  • :该时机直接启动分支

输出

  • Status(StatusRef):自然到期的状态
  • Target(UnitRef):之前持有该状态的单位
  • Out(Flow):继续执行到期行为

参数

  • :该 Entry 没有可配置字段

On Status Expired 入口节点

On Status Removed

仅用于 Status 行为图;Remove Status 或直接修改层数将状态降到零时,运行被移除状态自己的行为图;分支开始前,状态已经离开持有者的状态表;将 Out 连接到净化或驱散响应

输入

  • :该时机直接启动分支

输出

  • Status(StatusRef):被移除的状态
  • Stacks(Int):移除后的剩余层数 0
  • Target(UnitRef):之前持有该状态的单位
  • Out(Flow):继续执行移除行为

参数

  • :该 Entry 没有可配置字段

On Status Removed 入口节点

On Status Stacks Changed

仅用于 Status 行为图;某个状态仍然存在且正层数发生变化时,持有者身上的每个状态都可通过该 Entry 响应;首次应用可能触发,降到零则改走 On Status ExpiredOn Status Removed;将 Out 连接到层数阈值逻辑,并用 Status 与新 Stacks 判断具体变化

输入

  • :该时机直接启动分支

输出

  • Status(StatusRef):层数发生变化的状态
  • Stacks(Int):新的正层数
  • Target(UnitRef):携带该状态的单位
  • Out(Flow):继续执行层数变化响应

参数

  • :该 Entry 没有可配置字段

On Status Stacks Changed 入口节点

On Unit Spawned

仅用于 Status 行为图;Spawn Unit 添加敌人后,GCS 会向玩家与所有存活敌人身上的状态广播该时机;将 Out 连接到全场范围的召唤响应

当前 Unit 输出

广播上下文目前写入的是每个响应状态的持有者,而不是刚生成的敌人;该触发时机可以使用,但运行时明确提供新单位之前,这个端口不能用来识别召唤物

输入

  • :该时机直接启动分支

输出

  • Unit(UnitRef):当前为响应状态的持有者,不是新生成的敌人
  • Out(Flow):继续执行生成单位响应

参数

  • :该 Entry 没有可配置字段

On Unit Spawned 入口节点

On Unit Died

仅用于 Status 行为图;单位死亡时,死者身上的状态以 WasKill = false 执行;存在不同的击杀者时,击杀者身上的状态还会以 WasKill = true 再执行;将 Out 连接到死亡或击杀奖励,同一行为图处理两侧时用 WasKill 分支

输入

  • :该时机直接启动分支

输出

  • WasKill(Bool):死者状态为 false,击杀者状态为 true
  • Source(UnitRef):被记为击杀者的单位,没有时为空
  • Target(UnitRef):死亡单位
  • Out(Flow):继续执行死亡或击杀响应

参数

  • :该 Entry 没有可配置字段

On Unit Died 入口节点

On Enemy Behavior Start

仅用于 Enemy 行为图;GCS 计算敌人下一次可见意图时,从它的 Out 边开始遍历 Pattern 节点,直到找到 Leaf Intent;敌人真正行动时会直接执行之前保存的 Leaf 分支,不会再次执行该 Entry;将 Out 连接到 Pattern 节点或直接连接 Leaf Intent,普通 Action 应放在 Leaf 后面

输入

  • :该节点作为敌人意图规划根节点

输出

  • Out(Flow):进入敌人的 Pattern 或 Leaf Intent 路径

参数

  • :该 Entry 没有可配置字段

On Enemy Behavior Start 入口节点

On Internal Event

用于 Card、Status 与 Enemy 行为图;Raise Internal Event 会立即在手牌、抽牌堆、弃牌堆、消耗堆、当前状态以及存活敌人行为图中查找 Event 值完全相同的节点;将 Out 连接到接收分支,通过 Event Arg 读取具名参数;该 Entry 自身没有数据输出

输入

  • :匹配的事件直接启动分支

输出

  • Out(Flow):继续执行内部事件接收分支

参数

  • Event(Text):空;与 Raise Internal Event 进行区分大小写的精确匹配

On Internal Event 入口节点

On GES Event

用于 Card、Status 与 Enemy 行为图;GES 桥接器分发所选事件 GUID 时触发,接收者搜索范围与内部事件一致,包括四个卡牌堆、当前状态与存活敌人行为图;先在 GES Event 中指定事件资产,再将 Out 连接到接收行为

输入

  • :匹配的 GES 事件直接启动分支

输出

  • Out(Flow):继续执行 GES 事件接收分支

参数

  • GES Event(Game Event):无;GUID 必须与收到的 GES 事件一致的事件资产

On GES Event 入口节点

本页总览