后端重写提交
This commit is contained in:
@@ -1,29 +1,47 @@
|
||||
# module-combat 独立模块 package 占位说明
|
||||
# module-combat
|
||||
|
||||
日期:`2026-04-20`
|
||||
日期:`2026-04-21`
|
||||
|
||||
## 1. package 职责
|
||||
|
||||
`module-combat` 是战斗规则模块 package,后续负责:
|
||||
`module-combat` 是 M4 阶段的战斗规则 crate,当前负责:
|
||||
|
||||
1. `battle_state` 等战斗状态模型
|
||||
2. 战斗指令、伤害结算、战斗阶段推进规则
|
||||
3. 与 story action 主循环的战斗联动
|
||||
4. 与 `apps/spacetime-module` 的战斗表、reducer、view 聚合对接
|
||||
1. `battle_state` 首版领域类型与字段校验
|
||||
2. `resolve_combat_action` 的纯规则推进
|
||||
3. `fight / spar` 两种模式下的战斗收束规则
|
||||
4. 为 `spacetime-module` 提供可直接复用的战斗状态与 reducer 输入输出类型
|
||||
|
||||
## 2. 当前阶段说明
|
||||
## 2. 当前实现范围
|
||||
|
||||
当前提交仅完成目录占位,不提前进入具体战斗规则与数值实现。
|
||||
当前已经真实落地:
|
||||
|
||||
后续与本 package 直接相关的任务包括:
|
||||
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. 设计 `battle_state`
|
||||
2. 设计 `resolve_combat_action`
|
||||
3. 对齐 battle 结果与兼容响应结构
|
||||
4. 接入 story 主循环的战斗型 action 结算
|
||||
当前刻意未做:
|
||||
|
||||
## 3. 边界约束
|
||||
1. `inventory_use`
|
||||
2. 掉落、好感、任务信号联动
|
||||
3. story AI 续写触发
|
||||
4. 多目标或完整 build / cooldown 真相建模
|
||||
|
||||
1. `module-combat` 保持纯规则、纯状态计算,不直接承接 HTTP、LLM、OSS 或其他外部副作用。
|
||||
2. 战斗联动通过明确 reducer 与模块边界协作,不回到散落在多个 service 的过程式写法。
|
||||
3. 前端兼容输出由 `apps/api-server` 暴露,战斗真相由 `apps/spacetime-module` 聚合。
|
||||
## 3. 配套文档
|
||||
|
||||
落地依据见:
|
||||
|
||||
1. [../../../docs/technical/M4_MODULE_COMBAT_SPACETIMEDB_BASELINE_2026-04-21.md](../../../docs/technical/M4_MODULE_COMBAT_SPACETIMEDB_BASELINE_2026-04-21.md)
|
||||
2. [../../../docs/technical/M4_MODULE_COMBAT_AXUM_FACADE_DESIGN_2026-04-21.md](../../../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](../../../docs/technical/M4_MODULE_COMBAT_STATE_QUERY_DESIGN_2026-04-22.md)
|
||||
4. [../../../docs/technical/M4_PROGRESSION_QUEST_COMBAT_INTEGRATION_2026-04-21.md](../../../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](../../../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` 里的战斗真相规则层。
|
||||
|
||||
Reference in New Issue
Block a user