docs: add boss phase content design based on shipped mechanics
Adapt external draft to existing BossPhaseSet capabilities: pool-wide removes for stance-swap semantics, ap/def-only attr mods, 30s/60s time triggers aligned with 90s battle timeout, and 13 ready-to-paste plans across 6 bosses.
This commit is contained in:
306
docs/superpowers/specs/2026-10-06-boss-phase-content-design.md
Normal file
306
docs/superpowers/specs/2026-10-06-boss-phase-content-design.md
Normal file
@@ -0,0 +1,306 @@
|
|||||||
|
# Boss 阶段战斗内容设计 v1
|
||||||
|
|
||||||
|
> **定位**:本文是 Boss 阶段系统的**内容设计文档**(配什么方案、什么数值),
|
||||||
|
> 技术机制见规格文档 `docs/superpowers/specs/2026-10-06-boss-phase-system-design.md`。
|
||||||
|
> **所有设计均基于现有实现能力落地,零机制新增**;外部设计稿(像素大勇者-boss-阶段设计稿.md)
|
||||||
|
> 仅作理念借鉴,凡与现有实现冲突处一律改写(对照见 §7)。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## §1 设计目标
|
||||||
|
|
||||||
|
- 6 个现有 Boss 各自拥有 **2~3 个阶段方案**,生成时随机抽一(肉鸽重玩性)
|
||||||
|
- 每个方案固定 **3 阶段**:P1(基线)→ P2 → P3,两个切换点
|
||||||
|
- 两种战斗气质:**追加式**(技能池越打越大,数值膨胀)与**换招式**(整组换招,机制重组),
|
||||||
|
玩家主观强度对齐
|
||||||
|
- P1→P2 触发条件全 Boss 统一,降低玩家学习成本;P3 是高潮,阈值按 Boss 气质差异化
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## §2 现有机制能力边界(设计必须遵守)
|
||||||
|
|
||||||
|
| 能力 | 现状 | 设计含义 |
|
||||||
|
|------|------|----------|
|
||||||
|
| 触发条件 | `hp_pct`(血量≤%)/ `time`(Boss 在场秒数),同点 OR 关系 | 混合触发可直接配 |
|
||||||
|
| 技能变更 | `adds` 注入 + `removes` 按 id 删除,`delete` 不存在的键无副作用 | **换招式 = removes 列满该定位整个大招池**(见 §3.2) |
|
||||||
|
| 属性修正 | 仅 `ap_pct` / `defense_pct`,链式乘算 | **不配 hp 修正**(实现已排除,避免血量同步歧义) |
|
||||||
|
| 技能数值 | `overrides.ap` 系数,口径同 BossUltPools(140~220) | 不引用英雄技能 lv 体系 |
|
||||||
|
| 新技能 CD | `cd` 缺省 8s,注入后 `ccd: 0` 需等满一个 CD 才首放 | P3 注入技能有 8s 真空期,阈值设计须留窗口 |
|
||||||
|
| 战斗时长 | `BATTLE_TIMEOUT = 90s`,Boss 延迟 1s 刷出 | **时间触发方案的 P3 阈值 ≤ 60s**(留 ≥28s 收尾窗口) |
|
||||||
|
| 方案校验 | 恰 2 切换点;hp_pct ∈(0,100) 严格递减且须构成前缀;time 严格递增 | 配错启动期 `validateBossPhaseSet` 报错 |
|
||||||
|
| 普攻保护 | removes/adds 禁止操作普攻首键 | 只操作大招键 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## §3 通用设计规则
|
||||||
|
|
||||||
|
### 3.1 触发维度按 Boss 定位分配(借鉴外部稿注 B,映射到现有 Boss)
|
||||||
|
|
||||||
|
| Boss | 定位 | 触发维度 | 理由 |
|
||||||
|
|------|------|----------|------|
|
||||||
|
| 6101 兽人首领-双刀dps | 近战 Warrior | **血量**(P2=70% / P3=40%) | 速战速决型,血量阈值直觉明显 |
|
||||||
|
| 6102 兽人首领-坦克型 | 近战 Tank | **时间**(P2=30s / P3=60s) | 消耗战,时间触发逼玩家在窗口期内输出 |
|
||||||
|
| 6103 兽人首领-魔法师 | 远程 Mage | **时间**(P2=30s / P3=60s) | 法系读招,时间阈值给玩家"看清招式再反应"的窗口 |
|
||||||
|
| 6104 兽人首领-射手 | 远程 Archer | **血量**(P2=70% / P3=40%) | 高频弹幕,时间触发会过于喧闹 |
|
||||||
|
| 6105 亡灵首领-法师 | 远程 Mage | **时间**(P2=30s / P3=60s) | 同 6103 |
|
||||||
|
| 6106 亡灵首领-骑马战士 | 近战 Tank | **时间**(P2=30s / P3=60s) | 同 6102 |
|
||||||
|
| 6006 骷髅领主 | 近战 Tank | **血量**(P2=70% / P3=40%) | 低攻速靶子型,血量节奏更稳 |
|
||||||
|
|
||||||
|
> 时间阈值为 **Boss 在场时长**(elapsed 从出生起算,暂停不计)。30s/60s 相对 90s 战斗超时
|
||||||
|
> 留出 P3 ≥28s 的收尾窗口。
|
||||||
|
|
||||||
|
### 3.2 换招式(clear_replace)的落地技巧
|
||||||
|
|
||||||
|
实现没有"清空"开关,但 `removes` 对不存在的 id 无副作用。因此:
|
||||||
|
|
||||||
|
> **换招式 = removes 列满该 Boss 定位对应的整个大招池 id**(近战池 6100~6104 / 远程池 6200~6204 + 6150/6151),
|
||||||
|
> 无论 RogueConfig 随机注入了哪个大招、之前阶段 adds 了什么,一律清净,再 adds 新技能组。
|
||||||
|
|
||||||
|
- 近战定位池:`[6100, 6101, 6102, 6103, 6104]`
|
||||||
|
- 远程定位池:`[6150, 6151, 6200, 6201, 6202, 6203, 6204]`
|
||||||
|
|
||||||
|
### 3.3 双模式强度对齐(借鉴外部稿 Q3,改写为现有口径)
|
||||||
|
|
||||||
|
| 模式 | 新鲜感来源 | 数值手段 | 输出口径 |
|
||||||
|
|------|-----------|----------|----------|
|
||||||
|
| 追加式(keep_add) | 技能池变大、轮转更密 | `attr_mod.ap_pct` 每段 +15~25% | 技能 overrides 维持标准档(ap 150~180) |
|
||||||
|
| 换招式(clear_replace) | 招式重组、机制差异 | 新技能 `overrides.ap` 逐段上调(180→200→220) | attr_mod 少量或不配 |
|
||||||
|
|
||||||
|
两模式的 P3 理论 DPS 控制在 **±10% 以内**;换招式清掉了随机注入的大招(可能很强),
|
||||||
|
故新技能给更高系数补偿。
|
||||||
|
|
||||||
|
### 3.4 方案 id 规划(10000 段,按 Boss 分组)
|
||||||
|
|
||||||
|
| id 段 | Boss | 触发 |
|
||||||
|
|-------|------|------|
|
||||||
|
| 10001~10009 | 6101 双刀dps | 血量 |
|
||||||
|
| 10010~10019 | 6102 坦克型 | 时间 |
|
||||||
|
| 10020~10029 | 6103 魔法师 | 时间 |
|
||||||
|
| 10030~10039 | 6104 射手 | 血量 |
|
||||||
|
| 10040~10049 | 6105 亡灵法师 | 时间 |
|
||||||
|
| 10050~10059 | 6106 骑马战士 | 时间 |
|
||||||
|
| 10060~10069 | 6006 骷髅领主 | 血量 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## §4 各 Boss 阶段方案(可直接抄入 BossPhaseSet.ts)
|
||||||
|
|
||||||
|
> 以下 `removes` 中的整池列表即 §3.2 的换招技巧;`cd` 缺省 8s 不另写。
|
||||||
|
|
||||||
|
### 4.1 6101 兽人首领-双刀dps(血量,近战池)
|
||||||
|
|
||||||
|
```ts
|
||||||
|
// 10001 狂暴进化(已有):P2 换裂气斩、P3 加闪电斩 + 攻+20%
|
||||||
|
10001: {
|
||||||
|
name: "狂暴进化",
|
||||||
|
switches: [
|
||||||
|
{ trigger: { hp_pct: 70 }, adds: [{ s_uuid: 6102, overrides: { ap: 180 } }], removes: [6100] },
|
||||||
|
{ trigger: { hp_pct: 40, time: 60 }, adds: [{ s_uuid: 6103, overrides: { ap: 180 } }], attr_mod: { ap_pct: 20 } },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
// 10002 嗜血连斩(追加式):双刀越挥越快,技能只加不换
|
||||||
|
10002: {
|
||||||
|
name: "嗜血连斩",
|
||||||
|
switches: [
|
||||||
|
{ trigger: { hp_pct: 70 }, adds: [{ s_uuid: 6103, overrides: { ap: 160 } }], attr_mod: { ap_pct: 15 } },
|
||||||
|
{ trigger: { hp_pct: 40 }, adds: [{ s_uuid: 6104, overrides: { ap: 180 } }], attr_mod: { ap_pct: 25, defense_pct: -10 } },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
// 10003 换刃(换招式):每阶段换一把"刀",系数逐段上调
|
||||||
|
10003: {
|
||||||
|
name: "换刃",
|
||||||
|
switches: [
|
||||||
|
{ trigger: { hp_pct: 70 }, removes: [6100, 6101, 6102, 6103, 6104], adds: [{ s_uuid: 6101, overrides: { ap: 200 } }] },
|
||||||
|
{ trigger: { hp_pct: 40 }, removes: [6100, 6101, 6102, 6103, 6104], adds: [{ s_uuid: 6104, overrides: { ap: 220 } }], attr_mod: { ap_pct: 20, defense_pct: -15 } },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
```
|
||||||
|
|
||||||
|
### 4.2 6102 兽人首领-坦克型(时间,近战池)
|
||||||
|
|
||||||
|
```ts
|
||||||
|
// 10010 重压觉醒(追加式):越久越硬,反击越痛
|
||||||
|
10010: {
|
||||||
|
name: "重压觉醒",
|
||||||
|
switches: [
|
||||||
|
{ trigger: { time: 30 }, adds: [{ s_uuid: 6100, overrides: { ap: 150 } }], attr_mod: { defense_pct: 20 } },
|
||||||
|
{ trigger: { time: 60 }, adds: [{ s_uuid: 6104, overrides: { ap: 180 } }], attr_mod: { ap_pct: 20 } },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
// 10011 崩岩(换招式):外壳剥落,换进攻形态
|
||||||
|
10011: {
|
||||||
|
name: "崩岩",
|
||||||
|
switches: [
|
||||||
|
{ trigger: { time: 30 }, removes: [6100, 6101, 6102, 6103, 6104], adds: [{ s_uuid: 6102, overrides: { ap: 200 } }], attr_mod: { ap_pct: 15 } },
|
||||||
|
{ trigger: { time: 60 }, removes: [6100, 6101, 6102, 6103, 6104], adds: [{ s_uuid: 6104, overrides: { ap: 220 } }], attr_mod: { ap_pct: 25, defense_pct: -20 } },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
```
|
||||||
|
|
||||||
|
### 4.3 6103 兽人首领-魔法师(时间,远程池)
|
||||||
|
|
||||||
|
```ts
|
||||||
|
// 10020 元素汇聚(追加式):元素逐一汇入,弹幕越来越密
|
||||||
|
10020: {
|
||||||
|
name: "元素汇聚",
|
||||||
|
switches: [
|
||||||
|
{ trigger: { time: 30 }, adds: [{ s_uuid: 6204, overrides: { ap: 150 } }] },
|
||||||
|
{ trigger: { time: 60 }, adds: [{ s_uuid: 6202, overrides: { ap: 150 } }], attr_mod: { ap_pct: 20 } },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
// 10021 禁咒(换招式):每阶段念诵新禁咒,旧的被遗忘
|
||||||
|
10021: {
|
||||||
|
name: "禁咒",
|
||||||
|
switches: [
|
||||||
|
{ trigger: { time: 30 }, removes: [6150, 6151, 6200, 6201, 6202, 6203, 6204], adds: [{ s_uuid: 6201, overrides: { ap: 180 } }] },
|
||||||
|
{ trigger: { time: 60 }, removes: [6150, 6151, 6200, 6201, 6202, 6203, 6204], adds: [{ s_uuid: 6204, overrides: { ap: 200 } }], attr_mod: { ap_pct: 30, defense_pct: -15 } },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
```
|
||||||
|
|
||||||
|
### 4.4 6104 兽人首领-射手(血量,远程池)
|
||||||
|
|
||||||
|
```ts
|
||||||
|
// 10030 箭雨升级(追加式):箭种逐段解锁
|
||||||
|
10030: {
|
||||||
|
name: "箭雨升级",
|
||||||
|
switches: [
|
||||||
|
{ trigger: { hp_pct: 70 }, adds: [{ s_uuid: 6150, overrides: { ap: 150 } }] },
|
||||||
|
{ trigger: { hp_pct: 40 }, adds: [{ s_uuid: 6151, overrides: { ap: 160 } }], attr_mod: { ap_pct: 20 } },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
// 10031 狙击姿态(换招式):放弃弹幕,换单体重炮
|
||||||
|
10031: {
|
||||||
|
name: "狙击姿态",
|
||||||
|
switches: [
|
||||||
|
{ trigger: { hp_pct: 70 }, removes: [6150, 6151, 6200, 6201, 6202, 6203, 6204], adds: [{ s_uuid: 6203, overrides: { ap: 180 } }] },
|
||||||
|
{ trigger: { hp_pct: 40 }, removes: [6150, 6151, 6200, 6201, 6202, 6203, 6204], adds: [{ s_uuid: 6204, overrides: { ap: 200 } }], attr_mod: { ap_pct: 25, defense_pct: -15 } },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
```
|
||||||
|
|
||||||
|
### 4.5 6105 亡灵首领-法师(时间,远程池)
|
||||||
|
|
||||||
|
```ts
|
||||||
|
// 10040 亡灵潮汐(追加式):毒雾与雷暴层层叠加
|
||||||
|
10040: {
|
||||||
|
name: "亡灵潮汐",
|
||||||
|
switches: [
|
||||||
|
{ trigger: { time: 30 }, adds: [{ s_uuid: 6202, overrides: { ap: 150 } }] },
|
||||||
|
{ trigger: { time: 60 }, adds: [{ s_uuid: 6204, overrides: { ap: 150 } }], attr_mod: { ap_pct: 25 } },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
// 10041 灵魂爆发(换招式):燃尽旧躯壳换新法术
|
||||||
|
10041: {
|
||||||
|
name: "灵魂爆发",
|
||||||
|
switches: [
|
||||||
|
{ trigger: { time: 30 }, removes: [6150, 6151, 6200, 6201, 6202, 6203, 6204], adds: [{ s_uuid: 6200, overrides: { ap: 180 } }], attr_mod: { defense_pct: 15 } },
|
||||||
|
{ trigger: { time: 60 }, removes: [6150, 6151, 6200, 6201, 6202, 6203, 6204], adds: [{ s_uuid: 6204, overrides: { ap: 220 } }], attr_mod: { ap_pct: 30 } },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
```
|
||||||
|
|
||||||
|
### 4.6 6106 亡灵首领-骑马战士(时间,近战池)
|
||||||
|
|
||||||
|
```ts
|
||||||
|
// 10050 冲锋陷阵(追加式):战马冲锋节奏渐强
|
||||||
|
10050: {
|
||||||
|
name: "冲锋陷阵",
|
||||||
|
switches: [
|
||||||
|
{ trigger: { time: 30 }, adds: [{ s_uuid: 6101, overrides: { ap: 160 } }] },
|
||||||
|
{ trigger: { time: 60 }, adds: [{ s_uuid: 6104, overrides: { ap: 180 } }], attr_mod: { ap_pct: 20, defense_pct: -10 } },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
// 10051 背水一战(换招式):弃守转攻,每段更凶更脆
|
||||||
|
10051: {
|
||||||
|
name: "背水一战",
|
||||||
|
switches: [
|
||||||
|
{ trigger: { time: 30 }, removes: [6100, 6101, 6102, 6103, 6104], adds: [{ s_uuid: 6103, overrides: { ap: 200 } }], attr_mod: { ap_pct: 15, defense_pct: -10 } },
|
||||||
|
{ trigger: { time: 60 }, removes: [6100, 6101, 6102, 6103, 6104], adds: [{ s_uuid: 6104, overrides: { ap: 220 } }], attr_mod: { ap_pct: 30, defense_pct: -20 } },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
```
|
||||||
|
|
||||||
|
### 4.7 6006 骷髅领主(血量,近战池)
|
||||||
|
|
||||||
|
```ts
|
||||||
|
// 10060 亡灵复苏(追加式):骨架越碎越硬
|
||||||
|
10060: {
|
||||||
|
name: "亡灵复苏",
|
||||||
|
switches: [
|
||||||
|
{ trigger: { hp_pct: 70 }, adds: [{ s_uuid: 6100, overrides: { ap: 150 } }], attr_mod: { defense_pct: 25 } },
|
||||||
|
{ trigger: { hp_pct: 40 }, adds: [{ s_uuid: 6102, overrides: { ap: 160 } }], attr_mod: { ap_pct: 15, defense_pct: 15 } },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
// 10061 骷髅狂暴(换招式):拼装新武器,攻高防低
|
||||||
|
10061: {
|
||||||
|
name: "骷髅狂暴",
|
||||||
|
switches: [
|
||||||
|
{ trigger: { hp_pct: 70 }, removes: [6100, 6101, 6102, 6103, 6104], adds: [{ s_uuid: 6103, overrides: { ap: 180 } }] },
|
||||||
|
{ trigger: { hp_pct: 40 }, removes: [6100, 6101, 6102, 6103, 6104], adds: [{ s_uuid: 6104, overrides: { ap: 220 } }], attr_mod: { ap_pct: 25, defense_pct: -15 } },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
```
|
||||||
|
|
||||||
|
### 4.8 heroSet.ts 挂载(phase_ids)
|
||||||
|
|
||||||
|
```ts
|
||||||
|
// 6101 双刀dps: phase_ids: [10001, 10002, 10003],
|
||||||
|
// 6102 坦克型: phase_ids: [10010, 10011],
|
||||||
|
// 6103 魔法师: phase_ids: [10020, 10021],
|
||||||
|
// 6104 射手: phase_ids: [10030, 10031],
|
||||||
|
// 6105 亡灵法师: phase_ids: [10040, 10041],
|
||||||
|
// 6106 骑马战士: phase_ids: [10050, 10051],
|
||||||
|
// 6006 骷髅领主: phase_ids: [10060, 10061],
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## §5 关卡节奏:前期教学 → 后期完整
|
||||||
|
|
||||||
|
**现状约束**:`pickPhasePlan` 从 `phase_ids` 均匀随机,无关卡维度;P3 阈值写死在方案里。
|
||||||
|
|
||||||
|
**本版策略(零机制改动)**:
|
||||||
|
- P3 阈值统一标准档(血量 40% / 时间 60s),不做关卡调节
|
||||||
|
- 前期体验差异由数值自然产生:低关卡玩家 DPS 低、Boss 血量成长低,战斗更快结束,
|
||||||
|
时间型 Boss 的 P3(60s)在前期自然少见 → 符合"前期教学、后期完整"的意图
|
||||||
|
- P3 新技能有 8s CD 真空期,残血/收尾阶段常来不及施放 → P3 实际强度比纸面温和,
|
||||||
|
前期偶发触发不致失控
|
||||||
|
|
||||||
|
**后续迭代项(需小改 `pickPhasePlan`,不在本版)**:
|
||||||
|
按关卡号从 `phase_ids` 过滤"苛刻版/标准版/宽松版"方案副本
|
||||||
|
(前期 P3 血量 15% / 时间 75s 的副本方案,id 同段递增)。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## §6 验证清单
|
||||||
|
|
||||||
|
- [ ] `validateBossPhaseSet()` 全量通过(恰 2 切换点 / hp_pct 前缀递减 / time 递增 / 技能引用存在)
|
||||||
|
- [ ] TestMode 逐个 Boss 跑一遍:追加式 P3 技能池 = 随机大招 + 2 个 adds;换招式 P3 技能池 = 仅 1 个 adds
|
||||||
|
- [ ] 时间型方案实测:30s/60s 切换,90s 超时前 P3 至少施放 1 次新技能
|
||||||
|
- [ ] 换招式验证:removes 整池后,RogueConfig 随机注入的大招确实消失(普攻不受影响)
|
||||||
|
- [ ] 数值抽查:同 Boss 追加式 vs 换招式的 P3 阶段 30s 伤害量差距 ≤10%
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## §7 与外部设计稿的对照(借鉴 vs 放弃)
|
||||||
|
|
||||||
|
| 外部稿概念 | 本文处理 | 原因 |
|
||||||
|
|-----------|---------|------|
|
||||||
|
| 4 主题 Boss(破阵先锋/雷巫/霜羽/磐盾) | 映射到现有 6 Boss,按定位分触发维度 | Boss 池由 heroSet 实际条目决定 |
|
||||||
|
| `phase_mode: clear_replace` 字段 | 用 `removes` 列满定位大招池实现(§3.2) | 实现为纯增量,`delete` 空键无副作用,零机制新增 |
|
||||||
|
| `property_mod.hp` 血量修正 | **全部放弃**,仅 ap/def | 实现已排除 hp,避免血量同步歧义 |
|
||||||
|
| P1→P2 固定 60s(时间型) | 改为 **30s** | 适配 `BATTLE_TIMEOUT=90s`,P3 需留收尾窗口 |
|
||||||
|
| P2→P3 关卡三档调节(5%/20%/35%) | 本版统一标准档,关卡调节列后续迭代 | `pickPhasePlan` 无关卡维度,不为此改机制 |
|
||||||
|
| 英雄 lv 技能引用(lv8/lv16) | 统一 `SkillSet` 6100~6204 + overrides.ap 口径 | Boss 大招体系与英雄 lv 体系无关 |
|
||||||
|
| 阶段切换无敌帧/演出 | 维持空钩子 `onPhaseExit/onPhaseEnter` | 表现层后续迭代,接口已预留 |
|
||||||
|
| 双模式强度对齐 ±5% | 放宽到 ±10%,用 §3.3 口径对齐 | 缺数值模拟工具,先宽松后收敛 |
|
||||||
|
| Boss 命名美学(方案名) | 全部保留并适配(狂暴进化/禁咒/背水一战…) | 与机制无关,直接采纳 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**版本**:v1(2026-10-06,基于已实现机制重写)
|
||||||
|
**关联文档**:
|
||||||
|
- 技术规格:`docs/superpowers/specs/2026-10-06-boss-phase-system-design.md`
|
||||||
|
- 实现计划:`docs/superpowers/plans/2026-10-06-boss-phase-system.md`
|
||||||
|
- 外部参考:`y:\构思\像素大勇者-boss-阶段设计稿.md`(仅理念借鉴)
|
||||||
Reference in New Issue
Block a user