Intent 节点
定义敌人如何选择并预告下一步行为
Intent 节点用于组合可复用的敌人行为模式,可把基础意图与顺序、HP 阈值、权重或回合条件组合,再交给敌人行为图执行Intent 节点用于组合可复用的敌人行为模式,可把基础意图与顺序、HP 阈值、权重或回合条件组合,再交给敌人行为图执行
节点用法
Leaf Intent
结束敌人的 Pattern 选择路径,并声明敌人行动前显示的意图。把 Out 连接到真正执行该意图的 Action 和 FX 链
输入端口
In(控制):接收被 Pattern 选中的分支
输出端口
Out(控制):开始敌人回合要执行的行为Intent(字符串):声明为 String,但当前执行器存入的是IntentKind枚举,String 消费端会读到 nullTarget(单位引用):节点已经声明该端口,但当前运行时没有写入结果
参数
Intent(Attack、Defend、Buff、Debuff、Heal、Special、Multi、Hidden):Attack;意图 UI 显示的图标与标签,Hidden不显示普通意图提示
Attack、Defend 和 Heal 会从 Out 后面的单线控制链中查找第一个 Deal Damage、Change Armor 或正数 Change HP,并把数量显示在意图上。Change HP 自身的 Inspector 数值必须大于零;只给端口连接正数、字段仍为 0 时,目前不会生成治疗预览值
Intent 与 Target 输出当前执行器会在声明为 String 的 Intent 端口后存入枚举,并且完全不会写入 Target,两个端口都不能按界面标出的类型可靠使用;意图以敌人 UI 的配置结果为准,后续行为节点请直接连接 Player Unit 等明确的单位来源
Sequence Pattern
按固定顺序循环意图分支,并允许每个分支连续执行多个敌人回合,适合制作玩家能够学习和预判的行动规律
输入端口
In(控制):在解析意图时进入 Pattern
输出端口
Step0…StepN(控制):Repeat Counts中每项对应一个分支,顺序一致
参数
Steps(Repeat Counts)(整数列表):空;UI 为每个 Step 创建一行Turns n,表示连续占用几个回合,小于1按1处理
敌人回合调用返回后,Pattern 会推进该敌人自己的状态。[1, 2] 表示 Step0 一次、Step1 两次,然后回到 Step0;所选 Step 未连接或没有到达 Leaf 时仍会消耗重复次数,列表为空时没有可选分支
HP Threshold Pattern
按敌人当前 HP 百分比选择意图分支,适合阶段变化和残血招式
输入端口
In(控制):在解析意图时进入 Pattern
输出端口
Branch0…BranchN(控制):每个阈值对应一个分支Default(控制):当前 HP 高于所有阈值时使用
参数
Thresholds(百分比列表):空;当前 HP% 小于等于某项时匹配对应分支
阈值从上到下检查,只使用第一个匹配项,因此应从低到高排列。[25, 50] 表示 25% 及以下走 Branch0,25% 以上至 50% 走 Branch1,50% 以上走 Default;反过来排列会让 25% 分支永远无法命中
敌人 HP 百分比会先通过整数除法计算,再与浮点阈值比较,因此实际 66.7% 会按 66 判断

Weighted Random Pattern
按相对权重选择一个意图分支,让敌人行动保持变化,并通过权重控制每个分支的出现概率
输入端口
In(控制):在解析意图时开始随机选择
输出端口
Branch0…BranchN(控制):每个权重对应一个分支
参数
Branches(Weights)(整数列表):空;UI 为每个分支创建一行Weight n,表示对应分支的相对概率
负数权重按零处理。[3, 1] 表示第一分支占 75%,第二分支占 25%;所有权重都小于等于零时固定选择 Branch0,列表为空时没有可选分支

Once Per Battle
同一个敌人第一次到达节点时选择 Body,之后每次都选择 Done,适合开场技或只发生一次的阶段行为
输入端口
In(控制):进入本场战斗的一次性检查
输出端口
Body(控制):只选择一次,连接一次性意图路径Done(控制):后续访问时选择,连接常规行动路径
参数: 无
是否已经执行的状态属于当前敌人的当前节点,选择 Body 后会在敌人回合调用返回时标记为已执行,即使 Body 未连接、没有到达 Leaf,或异步边界之后的回调尚未完成也一样
Every N Turns
按固定间隔选择 Body,中间回合选择 Done,可以把周期性重击、强化或防御插入敌人的常规计划
输入端口
In(控制):进入间隔检查
输出端口
Body(控制):每第 N 次访问时选择Done(控制):中间访问时选择
参数
Turn Interval(N)(整数):1;敌人回合间隔,小于1的值按1处理
计数器按敌人保存,在敌人回合调用返回时推进,并在本次选择 Body 后归零。N = 3 时前两次走 Done,第三次走 Body,随后重复;分支未连接或没有 Leaf 时仍会消耗本次访问