自定义天赋
自定义天赋更新v2.0.3
生成出来的配置文件

游戏里的效果

功能:
- 通过 `Resources.Load` Patch 直接注入 `HeroTagData`
- 支持覆盖原版天赋,也支持新增自定义天赋
- 支持旧版单文件配置与新版多目录配置同时存在
- 首次命中资源时会自动导出原版 `Vanilla_HeroTagData.csv`
- 覆盖原版天赋并改名时,会同步处理:
- `SpeHeroData` 的 `标签` 列
- 其他天赋里的 `领悟需求`
- 其他天赋里的 `替换`
安装:
1. 将 `LongYinCustomHeroTags.dll` 放到游戏 `Mods` 目录
2. 进入游戏一次后,Mod 会自动准备这些文件:
- 新版配置:`UserData/LongYinCustomHeroTags/Data/000/HeroTagData.csv`
- 旧版兼容:`UserData/LongYinCustomHeroTags/HeroTagData.csv`
- 原版导出:`UserData/LongYinCustomHeroTags/Vanilla_HeroTagData.csv`
配置目录规则:
1. 推荐使用 `UserData/LongYinCustomHeroTags/Data/<数字目录>/HeroTagData.csv`
2. `<数字目录>` 必须是数字,例如:`000`、`100`、`200`
3. 读取顺序固定为:
- 先读旧版根目录 `HeroTagData.csv`
- 再按数字从小到大读取 `Data/<数字目录>/HeroTagData.csv`
4. 后读取的配置会覆盖先读取的配置
5. 覆盖既支持按 `id` 覆盖,也支持按 `名称` 覆盖
6. 如果后面的同名配置没有写 `id`,会沿用前面同名配置的 `id`
7. 首次启动时如果没有任何配置,只会自动创建 `Data/000/HeroTagData.csv`
配置列:
- `id`
- `名称`
- `价值`
- `影响目标`
- `效果`
- `同义组`
- `反义组`
- `可随机`
- `展示顺序`
- `领悟需求`
- `替换`
- `大类`
- `显示箭头`
列要求:
1. `id` / `编号` 列可以不写
2. 不写 `id` 时,会按旧版配置兼容读取
3. 除 `id` 外,其余列都应保留表头
4. `名称` 不能为空
5. `效果` 不能为空
6. `价值` 允许为负数,负面天赋可以直接写负值
7. `展示顺序` 如果写成负数,会自动按 `0` 处理
id 规则:
1. `id` 命中原版天赋编号时:覆盖该原版天赋
2. `id` 大于原版最大编号时:视为新增天赋
3. 多个配置文件中的新增天赋即使写了相同 `id`,运行时也会顺延分配新的实际 `id`
4. 旧版无 `id` 列的配置会按“新增天赋”处理;但如果和前面已有配置同名,则会按名称覆盖并沿用原来的 `id`
5. 如果同名配置同时写了不同的 `id`,Mod 会输出警告并跳过后者
字段格式:
1. `效果`
- 原版格式使用 `;`
- 校验时按 `;`、`|` 检查分隔
- 写回时保持你配置里的原始文本,不会重组
2. `领悟需求`
- 原版格式使用 `+`
- 读取时兼容 `;`、`|`、`+`
- 写回时统一转成 `+`
3. `替换`
- 原版格式使用天赋名称;多个名称时用 `;`
- 读取时兼容 `;`、`|`、`+`
- 写回时统一转成 `;`
4. 如果 `效果`、`领悟需求`、`替换` 这些列因为分隔符写法导致拆分后出现空项,整行会报错并跳过
影响目标可用值:
- `Enemy`
- `SelfTeam`
- `Self`
- `TeamMate`
- `EmptyGridSummon`
- `EmptyGridJump`
编码与编辑:
1. 推荐使用 `UTF-8 with BOM`
2. `UTF-8 without BOM` 也可以正常读取
3. `GBK` 会尝试兼容读取,但控制台会给出警告,建议重新保存为 `UTF-8`
4. 如果用 Excel 或 WPS 编辑后 Mod 没反应,优先检查:
- 列分隔符是否还是英文逗号 `,`
- 表头有没有被改坏
- 编码是否被改掉
数值说明:
- 百分比类效果请使用小数
- 例如:
- `0.3 = 30%`
- `1.0 = 100%`
- `3.0 = 300%`
同义组说明:
1. 新增自定义天赋时,尽量不要把 `同义组` 写成和原版无关天赋完全相同
2. 否则可能导致原版天赋或自定义天赋出现互斥,无法正常点出
3. 如果你是直接覆盖原版同一个 `id`,并沿用原版同义组,这种情况不会报冲突警告
建议:
1. 实际配置时请优先参考运行时导出的 `Vanilla_HeroTagData.csv`
2. 想修改原版天赋时,建议先从导出的原版表里复制对应行,再保持 `id` 不变修改
3. 想新增天赋时,直接填写一个大于原版最大编号的 `id` 即可
4. 建议按原版格式填写:
- `效果` 用 `;`
- `领悟需求` 用 `+`
- `替换` 用 `;`
说明:
- 覆盖原版天赋时,Mod 会尽量保留原版表中未识别的额外列,降低后续扩列带来的兼容风险
- 控制台日志会输出配置源、覆盖关系、新增数量、运行时 `id` 分配、引用同步等信息
