docs: 添加技能系统优化设计方案文档
添加 Design2.md 和 Design3.md 详细设计方案文档,包含技能系统优化建议和扩展设计 更新 todo.md 记录当前系统存在的关键问题
This commit is contained in:
123
assets/script/Design3.md
Normal file
123
assets/script/Design3.md
Normal file
@@ -0,0 +1,123 @@
|
||||
|
||||
# 技能系统优化建议(Design3)
|
||||
|
||||
目标:在尽量少改代码的前提下,把技能的“可配置性、可扩展性、可组合性”拉起来,让新增技能与 build 更容易产出差异。
|
||||
|
||||
## 一、先修复会直接抹平 build 的关键问题(优先级最高)
|
||||
|
||||
1) 攻速/技速对 CD 生效
|
||||
|
||||
- 问题:HeroSkills.resetCD 先按 AS/SS 计算 cd,但随后又覆盖回 cd_max,导致 AS/SS 永远不影响技能循环。
|
||||
- 结果:攻速流、技速流、触发流的 build 直接被抹平。
|
||||
|
||||
2) 统一百分比/概率单位体系
|
||||
|
||||
- 现状:
|
||||
- 概率判定使用 0–100(checkChance)。
|
||||
- add_hp/add_mp 的百分比逻辑按 0–1(value * HP_MAX)。
|
||||
- 配置层(TDLevelOptions、TalSet)同时出现 0.14 表示 14% 的写法。
|
||||
- 建议:所有“概率/百分比”统一用 0–100 的“百分比点数”,显示与逻辑一致。
|
||||
|
||||
3) 天赋 count 配置生效 + 天赋 key 统一
|
||||
|
||||
- 问题:talConf.count 在 TalComp.addTal 中未使用,且计数型天赋写入/读取 key 与 Attrs/TalEffet 混用。
|
||||
- 结果:大量天赋表现不符合描述,玩家感知不到构筑差异。
|
||||
|
||||
## 二、把 SkillSet 变成“少字段但强表达”的可配置系统
|
||||
|
||||
当前 SkillConfig 字段很多,但真正稳定生效的只有少数(ap/map/DType/RType/EType/speed/dis/hit/cd/cost/sp_name)。
|
||||
|
||||
建议把技能配置分成两层:
|
||||
|
||||
- 核心战斗字段(必须生效):
|
||||
- 伤害:ap/map + DType
|
||||
- 弹道:RType + speed + dis
|
||||
- 命中:hit(穿透次数)
|
||||
- 生命周期:EType(建议只保留 animationEnd/collision 两类,其他先不让配)
|
||||
|
||||
- 扩展字段(等系统补齐后开放):
|
||||
- 多目标:t_num/hit_num
|
||||
- DOT:hitcd + timeEnd
|
||||
- buff/debuff:buffs/neAttrs + chance
|
||||
- 前摇/结束动画:ready/EAnm/DAnm
|
||||
|
||||
做法:短期不改字段也可以,但在设计上约束“哪些字段可用、哪些字段暂不承诺”。
|
||||
|
||||
## 三、用“技能变体(SkillID 替换)”快速放大组合数(最划算)
|
||||
|
||||
你现在每个英雄主动技能数量少(技能+大招),想提高 build 兴趣,不要一口气做几十个新技能。
|
||||
|
||||
建议:每个技能做 2–4 个“配置变体”,通过替换 s_uuid 实现。
|
||||
|
||||
示例:
|
||||
|
||||
- 火球(基础) -> 爆裂火球(碰撞盒更大) -> 穿透火球(hit 更高) -> 集束火球(低伤多发)
|
||||
- 风刃(基础) -> 远程风刃(dis 更长) -> 快速风刃(speed 更高,hit 较低) -> 重刃(map 更高,speed 更低)
|
||||
|
||||
收益:
|
||||
|
||||
- 不依赖 t_num/hit_num/buffs/neAttrs 等未落地字段。
|
||||
- 组合数近似按“技能变体数 × 天赋组合 × 强化路径”指数增长。
|
||||
|
||||
## 四、把天赋从“加数值”升级为“改机制”(触发器 + 处理器)
|
||||
|
||||
现状:TriType 很全,但实际只在 ATK/SKILL/MAX 更新触发,DMG/HPL/LUP 等缺来源。
|
||||
|
||||
建议的最小升级:
|
||||
|
||||
1) 先把触发源补齐:
|
||||
|
||||
- DMG:受伤时更新
|
||||
- LUP:升级时更新
|
||||
- HPL/HPA:血量变化达到阈值更新
|
||||
- DEAD:击杀/死亡时更新
|
||||
|
||||
2) 天赋效果以“机制改造”为主:
|
||||
|
||||
- 下一次技能额外释放一次
|
||||
- 下一次必暴/必定击退
|
||||
- 技能变体替换(把 s_uuid 换成强化版本)
|
||||
- 元素转化(把 DType 从 ATK 改成 FIRE 等,形成元素 build)
|
||||
|
||||
这样即使每局只拿 4 个天赋,组合也会很丰富。
|
||||
|
||||
## 五、给技能增加“关键词(Tag)”让天赋可泛化(中期目标)
|
||||
|
||||
建议新增 tags(概念层):
|
||||
|
||||
- Projectile / Melee / AoE / Beam
|
||||
- Element: Fire/Ice/Wind/Phys
|
||||
- Utility: Control/Sustain/Burst/Clear
|
||||
|
||||
天赋用 tags 做筛选:
|
||||
|
||||
- “所有 Projectile 分裂 +1”
|
||||
- “所有 Fire 技能命中后额外一次伤害(或改成更大碰撞体)”
|
||||
- “所有 AoE 范围 +20%”
|
||||
|
||||
收益:一个天赋能作用多个技能,build 会自然爆炸。
|
||||
|
||||
## 六、让技能表现更稳定的工程建议(减少体验噪音)
|
||||
|
||||
1) 明确技能销毁策略
|
||||
|
||||
- 推荐只支持:
|
||||
- animationEnd(动画结束销毁)
|
||||
- collision(碰撞触发销毁或 hit 次数耗尽销毁)
|
||||
|
||||
2) 统一命中次数规则
|
||||
|
||||
- 只保留一个概念:pierce(命中次数上限)
|
||||
- 技能用 hit 表达基础穿透,角色属性用 PUNCTURE 叠加。
|
||||
|
||||
3) 技能范围命中逻辑选择一种实现并固定
|
||||
|
||||
- 方案A:完全靠碰撞体(推荐,少代码)
|
||||
- 方案B:施法阶段选目标(t_num/hit_num),但必须补齐对应系统,否则不要给策划配。
|
||||
|
||||
## 七、推荐落地顺序(两周内能看到 build 明显变丰富)
|
||||
|
||||
1) 修复:CD 计算、单位体系、天赋 count/key
|
||||
2) 新增:每个主技能 2–3 个变体(SkillID 替换)
|
||||
3) 补齐:DMG/LUP/HPL 等触发源,让天赋真正“可构筑”
|
||||
4) 扩展:tags + 泛化天赋
|
||||
Reference in New Issue
Block a user