fix(天赋系统): 修复天赋计数配置失效和key混用问题

- 在TalComp.addTal中正确使用tConf.count作为初始计数,避免写死为1导致计数型天赋失效
- 统一使用Attrs枚举作为key,解决TalEffet和Attrs混用导致的天赋效果读取失败问题
This commit is contained in:
panw
2025-12-31 09:14:20 +08:00
parent c48694c8ed
commit 785b92d2ba
2 changed files with 15 additions and 7 deletions

View File

@@ -20,8 +20,16 @@
3) 天赋 count 配置生效 + 天赋 key 统一
- 问题:talConf.count 在 TalComp.addTal 中未使用,且计数型天赋写入/读取 key 与 Attrs/TalEffet 混用。
- 结果:大量天赋表现不符合描述,玩家感知不到构筑差异
- 问题:
- **Count 容易失效**:如果 `TalComp.addTal` 中把 `count` 写死为 `1`,配置表 `talConf.count` 就会被忽略。例如“下 5 次暴击”的天赋会退化为“下 1 次暴击”
- 校验点:`this.Tals[uuid].count` 必须来自 `tConf.count`,而不是常量。
- **Key 混用导致逻辑断裂**
- 写入方:`TalComp` 使用 `TalEffet` 枚举值写入(如 `TalEffet.DMG_RED = 10`)。
- 读取方:`HeroAtkSystem` 使用 `Attrs` 枚举值读取(如 `Attrs.DMG_RED = 24`)。
- 结果:天赋效果写入了错误的 Key如 Key 10 对应 `Attrs.AP`),导致真正的伤害减免逻辑(读 Key 24读不到数据天赋完全失效。
- 建议:
- 废弃 `TalEffet` 中的 Key 定义,统一使用 `Attrs` 枚举作为 Key。
-`TalComp.addTal` 中读取 `tConf.count` 写入 `talent.count`,并保证所有“次数型天赋”的消耗端也使用同一套 Key。
## 二、把 SkillSet 变成“少字段但强表达”的可配置系统