Files
SoundGame/docs/design/11-rpg-battle-rebalance.md
T
2026-10-01 23:26:47 +08:00

137 lines
6.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 11 · 《剑与声》战斗重构规范(26 号对齐)
> **给开发的实现要点摘要**
> 1. 教学战四步强制分步:**认识指令 → 攻击 → 格挡(窗口单击)→ 防御**。教学狼 ATK=2,玩家 HP 锁底 1。交互权威 26 号:格挡**不得**教双击。
> 2. 新手保护按 `stats.battlesWon`:前 3 场前摇 1.5s、伤害 ×0.6;第 4–5 场 1.25s、×0.8;第 6 场起 1.0s、×1.0。Boss 始终标准档。数字保留。
> 3. 逃跑:Lv<3 普通战 100%;Lv≥3 为 70%,失败走可格挡前摇。Boss/剧情不可逃。
> 4. `turn_player` / `victory` 状态音保留;玩家回合另起等待声或靠指令名。回执必响。
> 5. 状态机骨架仍是 chapter1 10 状态;只改格挡输入与教学台词口径。
---
## 0. 设计单(战斗切片)
**核心动作(战斗)**:左右滑选招,单击出手;听到前摇,再点一下挡住。
**三状态**:选指令 `YOUR_TURN`(`turn_player`);前摇 `ACTION`(`tel_*` 或 danger earcon);胜负旁白 `SPEAKING`。
**矩阵 / 失败表 / 首 3 分钟**:见 05 号 §0。本文件规定教学逐步通过条件与数值档。
---
## 1. 现状问题(仍成立,解法已换手势)
- 指令切换、防御没教。
- 第一场正式战与 Boss 同一反应标准过难。
- 旧教学把格挡绑双击,违反新手手势宪法。
---
## 2. 首战教学化(enc_teach_wolf 四步)
每段:旁白 → 玩家亲手做 → 确认进下一段。静默走三档提示(完整→短→earcon),**不原样复读长句**。绝不卡死:3 次失败演示通过。
| 步 | stage | 旁白意图(改录前可沿用 id、改词) | 玩家动作 | 通过 |
|---|---|---|---|---|
| T0 | `menu` | `tut_b0`:战斗里左右滑选招,单击出手。听到 `turn_player`,就是你的回合。先滑一滑。 | 左右滑 ≥2 | 切 2 次 |
| T1 | `attack` | `tut_b3`:选攻击,单击出剑。 | 攻击命中一次 | 出剑 |
| T2 | `parry` | `tut_b1`+`tut_b2`:**它要扑了,听前摇。就是现在,点一下挡住。** | 前摇内单击(或同向滑) | 格挡成功**或**受击均通过(锁血) |
| T3 | `defend` | `tut_b6`:来不及挡,就选防御。选防御,单击。 | 执行防御一次 | 减伤 50% 演示 |
| T4 | — | `tut_b5`:好剑法。接下来靠你自己。 | 自由击杀 | 敌亡 |
- 教学狼:**ATK 3→2**、HP 6、前摇 **1.8s**、HP 锁底 1、不可逃。
- 顺序:先会选,再会打,再会挡与防。
- `tut_b2` 旧文「双击格挡」**废止**;实现改播「点一下挡住」。不改 voice-ids 文件,改引用或待重录。
---
## 3. 难度曲线(数字保留)
每场开始时按 `stats.battlesWon` 取档:
| 档 | battlesWon | 敌方前摇 | 伤害系数 |
|---|---|---|---|
| 教学 | 教学战 | 1.8s | ATK 2 特例 |
| 保护 | 0–2 | **1.5s** | **×0.6**(向下取整,min 1) |
| 过渡 | 3–4 | 1.25s | ×0.8 |
| 标准 | ≥5 | 1.0s(听风剑 +0.3s) | ×1.0 |
### 第一章遭遇(最终版)
| 遭遇 | 敌人 | HP | ATK(标准) | 前摇 | 经验/金币 | 推荐等级 | 说明 |
|---|---|---|---|---|---|---|---|
| enc_teach_wolf | 教学野狼 | 6 | 2 | 1.8s | 5 / 0 | Lv1 | 四步;锁血;格挡=单击 |
| enc_wolf | 野狼 | 10 | 4(保护档实际 2) | 按档 | 8 / 5 | Lv1 | 可逃 |
| enc_bandits | 山贼 ×2 | 16+16 | 6(过渡实际 4) | 按档 | 24 / 24 | Lv2 | 不可逃 |
| enc_elite | 寨丁头目 | 24 | 8 | 标准 | 20 / 25 | Lv2–3 | 强攻线 |
| enc_sneak | 山贼+毒蛛 | 16+12 | 6/7 | 标准 | 24 / 20 | Lv2 | 绕行;胜后回满 |
| enc_boss1 | 黑风寨主 | 45 | 10(半血 12) | **始终标准** | 50 / 100 | **Lv3** | 不可逃 |
等级节奏:教学 5+野狼 8+山贼 24+头目/偷袭 20–24≈60 exp → Boss 前 Lv3。Lv3 铁剑皮甲:会格挡稳过,不格挡紧过。
`enc.boss === true` 时取标准档,不享受 1.5s。
---
## 4. 逃跑规则(保留数字)
| 玩家等级 | 普通战斗 | Boss/剧情 `flee:false` |
|---|---|---|
| Lv<3 | 100% 成功 | `btl_noflee` |
| Lv ≥ 3 | 70%;失败 `btl_flee_fail` → `ENEMY_TELEGRAPH`(**可单击格挡**) | 不可逃 |
首次进 enc_boss1 且 Lv<3:插播 `boss1_warn`(回村练练也来得及)。gate 的 back 仍在。
---
## 5. 战斗状态声音
| 状态 | 声音 |
|---|---|
| 战斗开始 | `bgm/battle` 400ms + `btl_start_<enemy>` |
| 玩家回合 | `sfx/turn_player`(≤0.4s)+ 等待声或指令名循环 |
| 敌方前摇 | `tel_*` 或 danger earcon |
| 胜利 | `sfx/victory`(≤1.2s)+ BGM 1.5s 出 / 2s 入 explore |
| 战败 | `hurt` + `btl_lose` + battle 2s 淡出 |
`turn_player` 于 PLAYER_SELECT 进入时播;与前摇/指令语音留 200ms 间隙。T0 用它当「轮到你」锚点。
---
## 6. 新增语音(台词意图;×2 性别)
| id | 全文(26 号口径) | 用途 |
|---|---|---|
| `tut_b0` | 战斗里,左右滑选招式,单击出手。听到这个声音,就是你的回合。先滑一滑。 | T0 |
| `tut_b2` | 就是现在,点一下挡住。 | T2(替换双击句) |
| `tut_b6` | 来不及挡,就选防御。左右滑,选防御,单击。 | T3 |
| `btl_flee_fail` | 没甩掉!它追上来了。 | 逃跑失败 |
| `boss1_warn` | 里面就是黑风寨主。你现在回去练练再来,也来得及。 | 低级进门 |
instruct 沿用 ch1。若资产仍是旧「双击格挡」句:游戏层改播新 id 或临时改词,**不在本次改 voice-ids 文件**。
---
## 7. 验收
- 首战:乱点也不死(锁底 1);四步都能被迷茫/看门狗推进。
- 格挡课:**单击**通过;双击因当单击也可通过,但不得把「请双击」写进提示。
- 第 2 场野狼每刀 ≤2、前摇可听变慢。
- Lv2 逃跑必成;Lv3 后失败可格挡。
- Lv2 到 Boss 门前听到 `boss1_warn`。
- `turn_player` 每回合出现且不与前摇叠。
- 无声操作 0;iOS 无震时格挡仍有 tel/earcon。
---
## 8. 废止
| 废止 | 改为 |
|---|---|
| T2「双击格挡」 | 窗口单击;同向滑冗余 |
| 教学复读同一句说明书 | 三档提示 + 第 3 次演示 |
| 逃跑失败「白打」不可挡 | 失败进入可格挡前摇 |
| 状态只靠震 | `turn_player` + 等待声/指令名 + 回执 |
保护档数字、遭遇表、Boss 例外、`turn_player`/`victory` 资产需求:**保留**。