跳到主要内容

战斗流程

Guide

从 Encounter 建立战场,在玩家决策与敌人 Intent 之间推进回合,直到胜利、失败或奖励结算

启动 GameEncounter 后,GCS 会根据其中的玩家、敌人、卡组和 Battle Rules 创建一场独立战斗,玩家随后通过手牌作出决策,敌人按已经公布的 Intent 行动,双方交替推进直到产生结果

上图展示了 Encounter、玩家回合、敌人回合和战斗结果之间的完整关系,初始化先建立可操作的战场,玩家与敌人阶段再循环使用这份状态;每次伤害、状态或行动结算后,GCS 都会检查战斗是否应当继续

战斗从 Encounter 开始

GameEncounter 决定本场使用的玩家角色、敌人顺序、奖励卡组和战斗规则,场景中的 GameCardManager、棋盘、手牌区和表现组件负责承载这场战斗,但不会替代 Encounter 中的内容配置

启动过程会依次产生五项可见结果:

  • 根据玩家和敌人定义创建独立的单位状态

  • 根据 Starting Deck 或持久 Master Deck 创建本场卡牌实例

  • Starting Hand Size 抽取起手牌并准备初始能量

  • 为存活敌人规划第一组 Intent

  • 进入第一个玩家阶段,开放出牌与目标选择

这些结果可以在战场 UI 和 Game Card Monitor 中核对,定义与运行实例的区别见定义与运行实例

玩家与敌人回合交替推进

阶段玩家看到的结果主要配置来源
PlayerTurnStart护甲、能量、状态和抽牌规则完成本回合准备Status、Hook 与 Encounter Battle Rules
PlayerPhase玩家读取战场、支付能量、选择目标并打出卡牌Card 字段、Card Behavior 与当前战斗状态
PlayerTurnEnd决策窗口关闭,剩余手牌和回合结束状态继续处理Card、Status 与 Hand Discard
EnemyPhase存活敌人依次执行已公布 Intent,再规划下一次行动Enemy Behavior、Intent Pattern 与 Status

起手牌在初始化阶段已经生成,因此第一个玩家回合不会再次执行常规抽牌,从第二个玩家回合开始,系统才会在 PlayerTurnStart 应用 Draw Per Turn

胜负检查与流程等待

GCS 会在卡牌、敌人行动和其他关键结算点检查胜负,满足胜利条件后进入胜利流程,玩家无法继续战斗时进入失败流程,尚未产生结果时,阶段切换只会等待 FlowGraph 明确提交的三类阻塞工作:

  • Wait 按配置时长暂停当前执行路径

  • Gate 等待项目表现层显式完成并释放

  • Choice 等待玩家提交合法选择

普通 VFX、SFX 或界面刷新不会因为“仍在播放”而自动阻塞阶段,需要让玩法流程等待表现时,应在行为图中显式使用 Wait 或 Gate,Wait 的参数见流程节点,Gate 对阶段推进的影响见运行时概览

战斗结果

胜利会先执行战斗结束时机,再按 Encounter 的 Reward Deck 与 Card Reward Count 提供候选,奖励处理完成后才会结束战斗,失败则跳过卡牌奖励,直接结束当前战斗并把结果交给项目的失败流程

从初始化到奖励的完整操作可以在第一场战斗中直接验证,需要精确阶段、事件和中止条件时,查阅战斗生命周期