docs(10-08): 引导式重写 calculator/script/status-hooks

- enemy-calculator:从「属性换算成伤害」引入,保留公式导读与临界约定
- enemy-combat-script:从「战斗前后的规则」引入,保留脚本/钩子选型表
- enemy-status-hooks:从「状态要反复生效」引入,强调多钩子协同
This commit is contained in:
AncTe committed 2026-10-17 21:05:18 +08:00
1 parent f5e432d04f
commit de5e9e1229
3 files changed
+15 -5

No files matched your search

+5 -1
View File
@@ -1,6 +1,8 @@
# 战斗脚本
战斗脚本(combat script)挂在战斗流程上,在战前或战后执行一段逻辑。战前脚本可以决定「这场战斗是否发生」,战后脚本负责结算奖励或修改状态。脚本与钩子的分工见下方选型表,整体流程见[战斗总览](./combat-overview.md)。
战斗前后常有一些规则要跑:有的怪物「不许打」,有的战斗要「打完回血」,还有的要在结算奖励前调整状态。这些规则不适合塞进伤害公式,而是在战斗流程上挂一段逻辑——这就是战斗脚本(combat script)。
战前脚本可以决定「这场战斗是否发生」,战后脚本负责结算奖励或修改状态。脚本与钩子的分工见下方选型表,整体流程见[战斗总览](./combat-overview.md)。
## 接口
@@ -36,6 +38,8 @@ state.combat.addCombatScript(new MainCombatScript());
## 脚本 vs 钩子
战斗前后能做事的除了脚本,还有钩子。两者的区别主要在「能不能改变战斗的走向」和「多个监听者如何共存」:
| 需求 | 用脚本 | 用钩子 |
|------|--------|--------|
| 决定这场战斗是否发生 | 是,`before` 返回 `false` | 否,`onBeforeCombat` 不能阻止战斗 |