Files
Genarrative/server-rs/crates/module-combat

module-combat

日期:2026-04-21

1. package 职责

module-combat 是 M4 阶段的战斗规则 crate当前负责

  1. battle_state 首版领域类型与字段校验
  2. resolve_combat_action 的纯规则推进
  3. fight / spar 两种模式下的战斗收束规则
  4. spacetime-module 提供可直接复用的战斗状态与 reducer 输入输出类型

2. 当前实现范围

当前已经真实落地:

  1. BattleMode / BattleStatus / CombatOutcome
  2. BattleStateInput / BattleStateSnapshot / BattleStateQueryInput
  3. ResolveCombatActionInput / ResolveCombatActionResult
  4. BattleStateProcedureResult / ResolveCombatActionProcedureResult
  5. battle_attack_basic / battle_recover_breath / battle_use_skill / battle_escape_breakout
  6. 旧攻击类 function 的兼容解析
  7. chapter_id / experience_reward 最小承载字段,供 spacetime-module 在胜利时联动成长结算

当前刻意未做:

  1. inventory_use
  2. 掉落、好感、任务信号联动
  3. story AI 续写触发
  4. 多目标或完整 build / cooldown 真相建模

3. 配套文档

落地依据见:

  1. ../../../docs/technical/M4_MODULE_COMBAT_SPACETIMEDB_BASELINE_2026-04-21.md
  2. ../../../docs/technical/M4_MODULE_COMBAT_AXUM_FACADE_DESIGN_2026-04-21.md
  3. ../../../docs/technical/M4_MODULE_COMBAT_STATE_QUERY_DESIGN_2026-04-22.md
  4. ../../../docs/technical/M4_PROGRESSION_QUEST_COMBAT_INTEGRATION_2026-04-21.md
  5. ../../../docs/prd/AI_NATIVE_BATTLE_SINGLE_ACTION_FUNCTION_PRD_2026-04-18.md

4. 边界约束

  1. module-combat 只做纯规则、纯状态推进,不承接 HTTP、LLM、OSS 或文件 IO。
  2. 任何与 inventory / progression / npc / story 的联动,都应先在文档里冻结边界后再继续接入。
  3. 该 crate 的目标不是替代 Axum facade而是成为 spacetime-module 里的战斗真相规则层。