refactor(config): 按照技能配置规范重构技能配置
1. 移除SkillSet中硬编码的buff效果,将6104技能替换为通用6101底座 2. 所有英雄/怪物技能通过overrides注入buff和数值修改 3. 新增项目技能配置规范文档
This commit is contained in:
@@ -57,3 +57,92 @@ alwaysApply: true
|
||||
- 代码前指明使用了 oops-framework 哪个模块
|
||||
- `oops` API 调用附带简明中文注释
|
||||
- 检查所有监听是否在生命周期结束时注销
|
||||
|
||||
---
|
||||
|
||||
# SkillSet / heroSet 配置规则
|
||||
|
||||
## 核心原则
|
||||
|
||||
1. **技能底座纯净化**:SkillSet 中的技能只定义基础行为(伤害、弹道、命中),**禁止**在基础配置中写死 `timed_buff_id` / `buff_type` 等效果字段
|
||||
2. **效果由引用处注入**:英雄/怪物引用技能时,通过 `HSkillInfo.overrides` 按需附加 debuff/buff,实现"同一技能、不同效果"
|
||||
3. **数值覆盖优先**:`ap`(伤害百分比)、`hit_count`、`crt` 等数值差异,统一由 `overrides` 覆写,而非新建相似技能
|
||||
|
||||
## SkillSet 配置规范
|
||||
|
||||
### 技能 uuid 段位分配
|
||||
|
||||
| 段位 | 用途 | 示例 |
|
||||
|------|------|------|
|
||||
| 6001-6099 | 基础单体攻击(近战/远程通用底座) | 6001 飞剑、6004 攻击 |
|
||||
| 6100-6199 | 中阶攻击技能(高阶特效/多命中) | 6101 火球、6102 飓风 |
|
||||
| 6200-6299 | 高阶范围技能(AOE/必杀) | 6201 陨石术 |
|
||||
| 6300-6399 | 辅助/治疗/护盾技能 | 6301 护盾、6302 治疗 |
|
||||
| 6400-6499 | 永久属性强化(buff_type) | 6401 攻击强化 |
|
||||
| 6500-6599 | 计时爆发技能(timed_buff_id) | 6501 复活 |
|
||||
|
||||
### 新增技能检查清单
|
||||
|
||||
- [ ] uuid 在对应段位内,且未与现有技能冲突
|
||||
- [ ] `sp_name` / `icon` 与现有技能不重复(避免视觉混淆)
|
||||
- [ ] `IType`(近战/远程/辅助)与 `RType`(弹道类型)匹配合理
|
||||
- [ ] 基础配置**不含** `timed_buff_id` / `buff_type`(效果由引用处注入)
|
||||
- [ ] `info` 描述只写基础效果,不写具体 debuff(如"造成攻击力100%的伤害")
|
||||
|
||||
## heroSet 配置规范
|
||||
|
||||
### 英雄 uuid 段位分配
|
||||
|
||||
| 段位 | 品质 | 说明 |
|
||||
|------|------|------|
|
||||
| 5001-5099 | card_lv=1 | 基础单体/默认范围 |
|
||||
| 5101-5199 | card_lv=2 | 数值强化 |
|
||||
| 5201-5299 | card_lv=3 | 范围扩大 |
|
||||
| 5301-5399 | card_lv=4 | 数值+范围 |
|
||||
| 5401-5499 | card_lv=5 | 双技能(+revive/field) |
|
||||
|
||||
### 怪物 uuid 段位分配
|
||||
|
||||
| 段位 | 类型 |
|
||||
|------|------|
|
||||
| 6001-6099 | 基础怪物(近战/远程/特殊位) |
|
||||
| 6100-6199 | Boss 怪物 |
|
||||
|
||||
### 新增英雄/怪物检查清单
|
||||
|
||||
- [ ] `skills` 引用的技能 uuid 在 SkillSet 中存在
|
||||
- [ ] 技能效果通过 `overrides` 按需注入,**禁止**直接修改 SkillSet 基础配置
|
||||
- [ ] `overrides.ap` 明确写出(如 80/100/150),避免依赖基础配置的默认值
|
||||
- [ ] `timed_buff_id` 指向 BuffList 中存在的 buff 配置
|
||||
- [ ] 怪物技能引用优先使用 6001-6012 基础技能,Boss 可用 6101+ 中阶技能
|
||||
|
||||
### 触发技能配置规则
|
||||
|
||||
| 触发类型 | 字段 | 说明 |
|
||||
|----------|------|------|
|
||||
| 普通攻击 | `skills` | 携带技能,`overrides` 注入效果 |
|
||||
| 受击触发 | `atked` | 按 s_uuid 分组,按 lv 升序 |
|
||||
| 攻击后触发 | `atking` | 按 s_uuid 分组,按 lv 升序 |
|
||||
| 死亡触发 | `dead` | 按 s_uuid 分组,按 lv 升序 |
|
||||
| 战斗开始 | `fstart` | 按 s_uuid 分组,按 lv 升序 |
|
||||
| 驻场光环 | `field` | `FieldEntry[]`,按 lv 升序 |
|
||||
| 复活 | `revive` | `LvReviveEntry[]`,按 lv 升序 |
|
||||
|
||||
### 示例:同一技能不同效果
|
||||
|
||||
```typescript
|
||||
// SkillSet 6101 火球 — 纯伤害底座,无 debuff
|
||||
6101: {
|
||||
uuid: 6101, name: "火球", sp_name: "fb-1", ...,
|
||||
// 禁止写 timed_buff_id / buff_type
|
||||
}
|
||||
|
||||
// heroSet 5004 破晓先知 — 冰冻版火球
|
||||
skills: { 6101: { uuid: 6101, overrides: { ap: 80, timed_buff_id: 7003 } } }
|
||||
|
||||
// heroSet 5304 战吼术士 — 中毒版火球
|
||||
skills: { 6101: { uuid: 6101, overrides: { ap: 80, timed_buff_id: 7005 } } }
|
||||
|
||||
// heroSet 6008 兽人火法 — 原版火球(ap=100,无 debuff)
|
||||
skills: { 6101: { uuid: 6101 } }
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user