制作兵种:添加技能
兵种面板上的主动按钮和被动能力,不是直接写在land_units_tables某一列里。最简单的做法,是把一个已经存在的原版能力连接给新兵种;只有需要修改名称、次数、范围、持续时间或实际效果时,才复制完整能力链。
本篇用原版震旦掷弹兵wh3_main_cth_inf_grenadiers的主动能力wh3_main_unit_abilities_stun_bomb作为查找案例,并把它连接给系列中的精锐玉勇。这个案例适合演示有独立图标、使用次数和作用阶段的主动能力,但它不是所有技能的固定模板。
“添加技能”与“制作技能”是两件事。只添加原版能力时,不要复制它的定义表;制作独立版本时,也不能只改连接表中的 Ability Key。
先分清能力和其他属性
| 想实现的内容 | 常见入口 |
|---|---|
| 给兵种添加一个已有主动或被动能力 | land_units_to_unit_abilites_junctions_tables |
| 森林隐蔽、引发恐惧、阵型等单位固有属性 | unit_attributes_to_groups_junctions_tables和属性组 |
| 修改能力名称、图标、类别和界面信息 | unit_abilities_tables及 Loc |
| 修改使用次数、冷却、范围、目标和触发载荷 | unit_special_abilities_tables |
| 修改持续阶段和阶段内数值 | special_ability_phases_tables及阶段效果表 |
| 让科技、技能或效果启用、增加次数或强化能力 | 对应的 Effect、Bonus Value 和 Unit Set 连接 |
不要因为一项机制在兵牌上显示,就把它全部当成unit_abilities_tables。先找一个确实拥有同类效果的原版单位,再看它使用了哪条数据路径。
本例适合什么情况
本例的“天火闪”是一个对地面施放、影响敌军并复用原版特效的主动能力。把它直接给其他兵种,适合快速验证“兵种与现有能力的连接”是否成立;正式 Mod 还要考虑派系风格、兵种定位、平衡和资源兼容。
以下情况应换用更接近的原版模板:
- 需要常驻被动效果:参考同类被动能力,而不是主动投放技能。
- 需要作用于自身或友军:参考目标类型相同的增益能力。
- 需要召唤、投射物、轰炸、漩涡或特殊动画:参考使用同一载荷类型和动作资源的能力。
- 能力由科技、领主技能、装备或脚本临时授予:继续追踪对应系统,不要默认把能力永久写给兵种。
RPFM 能建立数据连接,但不能保证任意兵种都具备某项能力依赖的动画、语音、特效、投射物或挂点。
找到兵种实际拥有的能力
已知原版单位 Key 时,直接全局搜索该 Key,并筛选:
land_units_to_unit_abilites_junctions_tables
这张表只有两个关键字段:
| 列 | 作用 |
|---|---|
Ability |
指向一个已有的单位能力 Key。 |
Land Unit |
指向获得该能力的land_units_tables.Key。 |
图中可以看到,不同震旦单位连接了不同能力:玉勇使用阳系宁和与防御阵型,玉勇弩手使用阴系宁和与防御阵型,震旦掷弹兵还连接了wh3_main_unit_abilities_stun_bomb。这说明能力应按设计选择,不是复制玉勇附近的所有行。
表名里的abilites是游戏原表保留的拼写。搜索和新建表时应使用这个实际表名,不要自行改成abilities。
不知道能力 Key 时怎么找
从拥有者反查
- 在游戏里找一个确实拥有目标能力的原版兵种。
- 按《查找原版数据》的方法,从显示名称找到它的单位 Key。
- 全局搜索单位 Key,打开
land_units_to_unit_abilites_junctions_tables。 - 查看这个单位的全部
Ability,再逐个跳转到定义核对名称和用途。
从能力名称查找
- 在全局搜索中启用
文本(Loc),搜索游戏里显示的完整能力名称。 - 找到以
unit_abilities_onscreen_name_开头的 Loc Key。 - 取出后面的能力 Key,再搜索
数据库(DB)。 - 查看它被哪些单位引用,确认找到的不是同名升级版、物品版或角色版。
同一种视觉效果可能有普通版、升级版、被动版、角色版或军队能力版。不要只看名称和图标;还要比较Source Type、目标、次数、范围和实际使用者。
跳转到能力定义
在Ability单元格上右键,选择转到... → 转到定义,可以打开unit_abilities_tables对应记录。
unit_abilities_tables主要负责能力的界面身份和分类:
| 列 | 作用 |
|---|---|
Key |
能力的唯一标识,也是其他表连接它时使用的值。 |
Requires Effect Enabling |
是否需要其他效果先启用这项能力。普通自带能力通常参考模板保持原值。 |
Icon Name |
能力图标名。自定义图标时还要在原版 Pack 中搜索同类图标的实际路径。 |
Type |
能力的界面与行为类别。 |
Source Type |
主动、被动、军队等来源类型。 |
Is Hidden In UI |
是否在界面中隐藏。 |
Overpower Option |
升级或强化版本的连接;并非每项能力都使用。 |
这张表不是完整效果。继续全局搜索能力 Key,通常还会找到unit_special_abilities_tables、能力与阶段的连接、阶段记录及阶段效果。被脚本或其他系统调用的能力还可能出现更多结果。
路线一:直接添加已有能力
这是最简单、改动最少的路线。本例让精锐玉勇复用原版“天火闪”:
- 从依赖项打开
land_units_to_unit_abilites_junctions_tables,找到震旦掷弹兵的这条记录。 - 只导入该行到自己的 Pack。
- 保持
Ability为wh3_main_unit_abilities_stun_bomb。 - 把
Land Unit改为twcn_tutorial_cth_inf_elite_jade_warriors。 - 保存 Pack 并运行诊断。
最终记录是:
Ability |
Land Unit |
|---|---|
wh3_main_unit_abilities_stun_bomb |
twcn_tutorial_cth_inf_elite_jade_warriors |
只要复用原版能力,就不需要把unit_abilities_tables、unit_special_abilities_tables或阶段记录导入 Mod。新兵种会引用游戏现有定义;以后原版更新这项能力时,它也会随原版一起变化。
如果导入的是整张原版data__,必须先把表文件改成自己的名称,再删除其他行。保留db/land_units_to_unit_abilites_junctions_tables/data__会覆盖原版同名表。
路线二:制作独立能力副本
只有需要改变能力本身时才走这条路线。例如把“天火闪”改成精锐玉勇专属版本,可以统一使用:
twcn_tutorial_unit_abilities_stun_bomb
不要从空行猜字段。先全局搜索原能力 Key,记录它实际出现的所有能力表,再复制完整链路。本例至少包含:
| 表单 | 本例要复制和修改的内容 |
|---|---|
unit_abilities_tables |
复制界面定义,把Key改为新能力 Key;图标可先复用。 |
unit_special_abilities_tables |
复制主动能力规则,把Key改为新能力 Key,并生成新的Unique ID。 |
special_ability_to_special_ability_phase_junctions_tables |
把新能力连接到新的阶段,并保留适用的敌我目标设置。 |
special_ability_phases_tables |
复制生效阶段,把ID改为新阶段 Key。 |
special_ability_phase_stat_effects_tables |
复制阶段内的近战攻防修正,把Phase改为新阶段 Key。 |
land_units_to_unit_abilites_junctions_tables |
把新能力连接给精锐玉勇。 |
本例原能力会让目标阶段持续31秒,并通过两条special_ability_phase_stat_effects_tables记录分别降低近战攻击与近战防御。若要修改持续时间或数值,应编辑自己的阶段和效果记录,不能修改原版 Key。
unit_special_abilities_tables还保存使用次数、冷却、初始冷却、主动/被动、作用范围、目标类型、AI 用法,以及投射物、轰炸、漩涡或召唤等载荷引用。模板没有使用的分支不要为了“完整”而新建。
能力可能还有以下可选数据:
special_ability_phase_attribute_effects_tables:阶段内添加或移除属性;special_ability_phase_displays_tables:阶段特效显示;- 额外 UI 效果、无效目标、自动停用、切换组、音频或行为连接;
- Effect 与 Bonus Value:由科技、技能或其他战役效果改变能力。
这些都应以所选原版模板的全局搜索结果为准。若模板没有某张表的记录,新能力通常也不需要复制那张表。
给独立能力添加文字
复制unit_abilities_tables后,新 Key 不会自动得到原版中文名称和说明。在 Loc 文件中添加:
Key |
Text示例 |
|---|---|
unit_abilities_onscreen_name_twcn_tutorial_unit_abilities_stun_bomb |
精锐震爆弹 |
unit_abilities_tooltip_text_twcn_tutorial_unit_abilities_stun_bomb |
向指定区域投放震爆弹,短时间削弱敌军近战能力。 |
如果阶段本身还使用本地化名称,也要查看模板的special_ability_phases_tables及对应 Loc,而不是假设只需要上面两行。
添加多个能力
同一兵种可以在连接表中拥有多行,每行连接一个不同的Ability。但数量越多并不代表越完整:
- 同类被动可能互相覆盖或重复计算;
- 主动能力可能共用冷却、切换组或资源;
- 模板能力可能只适用于角色、特定阵型或特定动画;
- 过多图标会挤压界面,也会明显改变单位强度。
每添加一项能力就单独测试一次,确认没有问题后再添加下一项。删除能力时只删除新兵种对应的连接行,不要删除原版能力定义。
诊断和游戏测试
- 在 RPFM 中确认每个
Land Unit和Ability引用都能找到定义。 - 若制作独立能力,继续确认新 Ability、
unit_special_abilities、阶段和阶段效果全部指向自己的 Key。 - 运行诊断,处理与新记录有关的 Error。
- 只启用测试 Mod,进入自定义战斗查看能力图标、名称和说明。
- 对主动能力测试可选目标、范围、使用次数、冷却和持续时间;对被动能力测试触发条件和退出条件。
- 使用可控敌我单位对比数值变化,确认效果作用于正确目标。
- 若复制了独立能力,同时测试原版拥有者,确认原版能力没有被一起修改。
诊断通过只能证明部分结构和引用成立。能力能显示图标,也不等于目标筛选、AI 使用、动画、特效、音频和战斗数值都正确;最终结果必须在游戏中验证。

