mirror of
https://github.com/motajs/template.git
synced 2026-11-03 15:34:31 +08:00
docs(10-08): 引导式重写 calculator/script/status-hooks
- enemy-calculator:从「属性换算成伤害」引入,保留公式导读与临界约定 - enemy-combat-script:从「战斗前后的规则」引入,保留脚本/钩子选型表 - enemy-status-hooks:从「状态要反复生效」引入,强调多钩子协同
This commit is contained in:
1 parent
f5e432d04f
commit
de5e9e1229
3 files changed
+15
-5
No files matched your search
@@ -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` 不能阻止战斗 |
|
||||
|
||||
Reference in new issue
Block a user