当两个动作在同一帧相遇时,谁压过谁——从体感口水仗变成查表问题。
"战斗系统不是 状态机的简单叠加, 而是一套优先级法律。"
子系统只解决"我自己怎么实现",不解决"我和别人冲突时谁赢"。霸体、弹反、无敌帧、控制免疫——没有一个能被任何单一子系统独立裁决。
状态分层是矩阵能成立的前提。先有"层"再谈"压制"。
三层正交,可以同时存在。角色身上同时携带三层信息,互不干扰。
当多个状态同时请求占据角色时,谁能抢到?
强制阻断一切输入。Break 态、死亡、处决演出、阶段切换。Impact = MAX。
由外部施加。受击硬直、击飞、控制效果。走 Impact vs Mass 比较。
自身操作产生。攻击、闪避、格挡、跳跃。走取消窗口 + Priority Tier。
| 优先级 | 状态 |
|---|---|
| 3 | 死亡(压过一切) |
| 2 | Break(可打断控制) |
| 1 | 控制(不能覆盖已有控制) |
死亡压过一切;Break 可打断冰冻等控制态。
| 等级 | 状态 |
|---|---|
| 5 | 击浮空 |
| 4 | 击飞 |
| 3 | 击倒 |
| 2 | 击退 |
| 1 | 命中硬直 |
高覆盖低;同级互斥防闪烁。
| 层级 | 机制 |
|---|---|
| 层1 | 取消窗口(覆盖 90%)帧级精确 |
| 层2 | Priority Tier(覆盖 10%)差值强制打断 |
打断优先级排序:
| Tier | 能力 |
|---|---|
| 6 | 连携 |
| 5 | 大招 |
| 4 | 技能 |
| 3 | 冲刺 |
| 2 | 普攻 |
| 1 | 移动 |
在优先级判定之前,环境先决定能力是否可用。
| 环境 \ 能力 | 移动 | 跳跃 | 冲刺 | 普攻 | 技能 | 大招 | 连携 |
|---|---|---|---|---|---|---|---|
| 地面 | 可用 | 可用 | 可用 | 可用 | 可用 | 可用 | 可用 |
| 空中 | 可用 | 可用 | 可用 | 可用 | 禁止 | 禁止 | 禁止 |
| 墙面 | 可用 | 可用 | 可用 | 禁止 | 禁止 | 禁止 | 禁止 |
| 水面 | 可用 | 禁止 | 可用 | 禁止 | 禁止 | 禁止 | 禁止 |
Mass 是门槛——攻击有没有资格影响目标。
Poise 是血条——累积多少次才真正被打断。
两关串联 + 防无限连击兜底。
Mass 越高,能影响该单位的受击类型越少。
| 受击 \ 质量 | Mass 1 小兵 | Mass 2 精英 | Mass 3 头目 | Mass 4 Boss |
|---|---|---|---|---|
| 命中硬直 | 受影响 | 受影响 | 受影响 | 受影响 |
| 击退 | 受影响 | 受影响 | 受影响 | 免疫 |
| 击倒 | 受影响 | 受影响 | 免疫 | 免疫 |
| 击飞 | 受影响 | 免疫 | 免疫 | 免疫 |
| 击浮空 | 受影响 | 免疫 | 免疫 | 免疫 |
每个攻击技能上线前,必须填齐这十列。空白即 false / 0。
攻击属性 × 防守状态 = 结果。一张表终结所有争议。
| 攻击 \ 防守 | i-Frames | Hyper Armor | Block | Parry | CC Immune | 普通态 |
|---|---|---|---|---|---|---|
| 普通攻击 | 无效 | 命中无硬直 | 减伤 | 触发弹反 | 不施控 | 完整命中 |
| 破霸体攻击 | 无效 | 强制硬直 | 减伤 | 触发弹反 | 不施控 | 完整命中 |
| Unblockable | 无效 | 命中无硬直 | 完整命中 | 触发弹反 | 不施控 | 完整命中 |
| 红光 Unparriable | 无效 | 命中无硬直 | 减伤 | 不可弹 | 不施控 | 完整命中 |
| i-Frame Bypass | 完整命中 | 命中无硬直 | 减伤 | 触发弹反 | 不施控 | 完整命中 |
| 控制类技能 | 无效 | 无硬直无控 | 减伤无控 | 触发弹反 | 不施控 | 命中+控制 |
| Hyper Armor | 仅重击/大招前摇短窗 |
| i-Frames | 闪避中段 4-8 帧(窄) |
| Parry | 主动开窗 5-10 帧 |
| CC Immune | 仅大招期间 |
| Poise Pool | 一般无(被打就硬直) |
| Hyper Armor | 红光全程、阶段切换 |
| i-Frames | 仅阶段切换/位移技(更窄) |
| Parry | 仅特定 Boss(反弹反机关) |
| CC Immune | 头目常驻 / 破韧前 |
| Poise Pool | 必有(韧性条=输出窗) |
任何手感争议都能被翻译成查表问题。
| 玩家疑问 | 设计师应查 | 调整旋钮 |
|---|---|---|
| "闪避按了还是被打" | i-Frame 起始帧 / 前摇是否含非 i-Frame 段 | 调整起始帧或加输入缓冲 |
| "控制砸 Boss 没反应" | Boss 是否常驻 CC Immune | 暴露"破韧后短暂可控"窗口 |
| "弹反时机对了没触发" | 攻击是否带 Unparriable 标签 | 红光视效明示 |
| "重击吃了 Boss 一下" | Hyper Armor 是否覆盖到命中帧 | 延后退出帧或加碰撞优先级 |
| "破韧后输出很爽" | 破韧态独立 Hit Reaction + 倍率 | 独立 receive state + 伤害倍率 |
"每一次手感争议, 都应该能在一张表里 找到它的行和列。"
分层让状态不互相打架,分类让权限有据可查,
数值让裁决可预期,矩阵让全局可审计。