制作兵种:战役接入
基础单位能在自定义战斗中出现,不代表它已经属于战役兵种。战役还需要势力权限、招募来源、AI 评价和 Unit Set 等连接。本篇用“从玉勇兵营招募精锐玉勇”演示一种普通建筑招募路径,不代表兵种只能从兵营招募。
本例适合什么情况
本例适合一个准备加入震旦常规军队、随玉勇建筑链升级后继续可招募的普通步兵。若单位应来自地标、资源建筑、港口、主城、防御或经济建筑,直接换成对应建筑等级;若它属于游牧建筑、营地、特殊单位池、Regiment of Renown、召唤、任务奖励或脚本解锁,则可能要从相似原版单位追踪其他表和 Lua,不能强行套进玉勇兵营。
自行查找时,先用新单位最接近的原版单位 Key 做全局搜索,再筛选招募、权限、AI、Unit Set 和特殊系统相关表。每一条记录都要回答“我希望新单位参与这个系统吗”;不要把所有搜索结果机械复制。
先看表单分工
| 表单 | 作用 | 本篇处理方式 |
|---|---|---|
units_to_groupings_military_permissions_tables |
允许军事分组使用单位。 | 添加到wh3_main_cth。 |
building_units_allowed_tables |
让指定建筑等级招募单位。 | 本例添加到玉勇兵营各级;也可以选择其他建筑等级。 |
cdir_military_generator_unit_qualities_tables |
告诉战役 AI 该单位属于什么角色和质量档。 | 复制同定位模板并改单位 Key。 |
allied_recruitment_unit_permissions_tables |
允许通过盟友招募使用单位。 | 需要时添加。 |
allied_recruitment_core_units_tables |
CA 原版用于登记核心盟友招募单位。 | RPFM 5.0.6 将它诊断为禁止表,只读参考,不要复制进 Mod。 |
unit_set_to_unit_junctions_tables |
把单位加入科技、领主技能和效果使用的 Unit Set。 | 复制真正适用的集合。 |
unit_sets_tables |
注册全新的 Unit Set。 | 只有要给 Mod 单位建立专属集合时才用。 |
effect_bonus_value_ids_unit_sets_tables |
指定某个效果的某种加成作用于哪个 Unit Set。 | 复用现有集合时不用复制;自制专属效果链时再建。 |
main_unit_ownership_content_pack_junctions_tables |
CA 原版用于登记内容包所有权。 | 属于禁止表,只读参考,不要复制进 Mod。 |
允许震旦军事分组使用
在units_to_groupings_military_permissions_tables添加:
Unit |
Military Group |
|---|---|
twcn_tutorial_cth_inf_elite_jade_warriors |
wh3_main_cth |
这一步让战役把新单位视为震旦军事分组可用单位。仅添加招募建筑但漏掉权限,可能导致单位不出现在正常招募体系中。
其他文化或军事体系使用的Military Group不同。应搜索同派系常规兵种的units_to_groupings_military_permissions_tables记录进行确认,不要把wh3_main_cth用于非震旦单位。
选择招募来源
本例选择玉勇兵营,是因为精锐玉勇仍是震旦常规玉勇步兵,设计上要随这条建筑链升级后保持可招募。搜索原版玉勇 Key 并筛选building_units_allowed_tables后,可以看到它对应多条建筑记录;下面三档只是本例要复用的常规建筑链:
wh3_main_cth_jade_barracks_1
wh3_main_cth_jade_barracks_2
wh3_main_cth_jade_barracks_3
- 全局搜索
wh3_main_cth_inf_jade_warriors_0,在结果中筛选building_units_allowed_tables。 - 逐条查看
Building,再跳转到建筑等级、建筑链或 Loc 名称,确认哪几条就是计划使用的招募来源。 - 只导入这三条玉勇兵营记录,把
Unit改为精锐玉勇的新单位 Key。 - 选中三条
Key,使用Generate IDs生成新的唯一数字。 - 保持
XP、Conditions、Faction和Enabled与模板一致,除非你的设计明确需要不同条件。
建筑升级会用新的建筑等级替换旧等级。只连接一级兵营,建筑升级后可能反而无法继续招募该单位。
其他建筑路径
building_units_allowed_tables.Building可以指向任何设计上合适的建筑等级,不限于名称里带“兵营”的建筑。常见选择包括:
- 其他军事建筑链或更高等级建筑;
- 主城、次要聚居地、防御、经济或辅助建筑;
- 地标、资源建筑、港口和派系专属建筑;
- 部队自身、营地或游牧体系使用的建筑等级。
是否还要连接整条升级链,取决于每个建筑等级是否会替换前一级,以及你希望单位在哪些等级出现。还要逐项检查Faction、Conditions、XP和Enabled,因为同一建筑也可能只对特定派系、条件或单位版本开放。
不是建筑招募的情况
特殊单位池、Regiment of Renown、召唤单位、任务奖励、脚本生成军队和某些派系机制不一定以building_units_allowed_tables作为入口。先找一个使用同类机制的原版单位,搜索它的单位 Key,查看它出现在哪些专用表和脚本中,再沿那条链制作。不要为了让教程步骤看起来一致,额外给它塞一条普通建筑招募记录。
让 AI 正确评价和招募
原版玉勇在cdir_military_generator_unit_qualities_tables中的记录是:
Group Key = wh3_default_land_melee_infantry_main_frontline_swords
Quality = tier_2_step_1_units
复制该行,把Unit Key改为精锐玉勇。Group Key表示 AI 眼中的战场角色,Quality表示质量档。它们应参考定位、价格和强度相近的原版兵种,不能只因为单位更强就随意填最高档。
如果新单位是远程、骑兵、怪兽、火炮或特殊支援单位,应搜索两个同定位原版单位并比较它们的Group Key与Quality,而不是继续使用本例的前线剑盾步兵分类。
缺少这张表不一定让玩家无法招募,但会让 AI 的建军评价不完整,因此完整战役单位应处理它。
继承科技、技能和战役效果
科技、领主技能和许多效果不是逐个写给单位,而是先作用于 Unit Set,再由unit_set_to_unit_junctions_tables决定哪些单位属于该集合。
原版玉勇目前属于多个集合,例如:
cth_all
cth_infantry
cth_melee
cth_jade_units
wh3_main_cth_inf_jade_all
wh3_main_cth_inf_jade_warriors_0
- 从模板记录中挑选真正适用于精锐玉勇的 Unit Set。
- 复制这些行,把
Unit Record改为新单位 Key。 - 不要机械复制与特定 DLC、特殊战役、升级系统或多人上限有关的集合。
自行判断时,可以先搜索一个已知科技或领主技能使用的 Effect,再追踪它作用的 Unit Set;也可以从目标原版单位 Key 搜索unit_set_to_unit_junctions_tables,比较多个同类单位共同拥有的集合。两种方向结合,能避免只凭集合名称猜用途。
如果要给 Mod 兵种制作专属科技或效果,可以在unit_sets_tables注册自己的集合,再通过unit_set_to_unit_junctions_tables加入单位。不要新建一个没有任何效果引用的 Unit Set,并误以为它会自动提供加成。
原版还有与单个玉勇 Key 同名的 Unit Se应t。effect_bonus_value_ids_unit_sets_tables会把特定的Effect + Bonus Value ID连接到这类集合。新单位想继承通用玉勇或震旦步兵加成时,通常加入现有共享集合;只有制作专属效果时,才需要同时建立自己的 Unit Set、单位连接和效果连接。不要把只针对原版玉勇的效果记录整行照抄后仍指向原版集合。
允许盟友招募
当前原版玉勇能在allied_recruitment_unit_permissions_tables中找到盟友招募权限。希望盟友前哨能够招募精锐玉勇时,只在这张表中参考玉勇添加新单位 Key。若这是仅供玩家派系或特殊脚本使用的单位,可以不加入盟友招募。
其他派系或特殊单位是否允许盟友招募,应以同类原版单位的实际记录为准。没有原版对照记录时,不要默认所有战役单位都必须添加。
原版db.pack里还能看到:
allied_recruitment_core_units_tables
但 RPFM 5.0.6 会把allied_recruitment_core_units_tables报告为Banned table。它只用于理解原版数据,不应导入或新建到普通 Mod Pack 中。
不要照抄内容包所有权
原版玉勇在main_unit_ownership_content_pack_junctions_tables中绑定wh3_core_units_cathay。这是 CA 用来描述内容包所有权的记录。
RPFM 5.0.6 会把这张表报告为Banned table,普通 Mod 不应复制或新建它。即使你希望单位依赖某个 DLC,也不能把复制这张 CA 专用表当作通用做法;本教程只把它列出来解释为什么搜索原版单位时会看到它。
模板搜索出来的其他记录
在当前《战锤 III》Assembly Kit 中搜索原版玉勇 Key,还能找到下面这些系统。它们不是所有新单位都必须复制,而是“你希望新单位参与该系统时才添加”:
| 表单 | 何时需要 |
|---|---|
campaign_map_attrition_unit_immunities_tables |
单位需要特定战役损耗免疫时。 |
faction_rebellion_units_junctions_tables |
新单位要进入指定派系的叛军兵表时。 |
armed_citizenry_unit_groups_tables、armed_citizenry_units_to_unit_groups_junctions_tables |
要进入驻军、民兵或相关单位组时。 |
battle_currency_units_cost_values_tables |
要在生存战、补给或使用战斗货币的模式中购买时。 |
unit_banner_unit_height_offsets_tables |
兵牌旗帜在单位头顶高度不合适时。 |
unit_purchasable_effect_sets_tables |
要接入可购买的单位升级系统时。 |
unit_to_unit_list_junctions_tables、unit_list_display_to_unit_junctions_tables |
要进入特定单位列表或界面列表时。 |
battle_set_piece_armies_units_tables及其连接表 |
要在任务战、预设军队或脚本战斗中出现时。 |
start_pos_land_units_tables |
要直接改战役开局部队时;这不是普通招募的必需表。 |
loading_screen_quotes_tables及其连接表 |
要为单位加入加载界面介绍时。 |
“搜索到原版玉勇 Key”不等于“新单位必须复制”。原版单位被许多官方剧情和特殊系统使用,机械复制所有记录会把自制单位塞进不相干的战斗、驻军、升级和 DLC 系统。
战役检查顺序
- 新开震旦战役,确认对应建筑每个等级都能招募精锐玉勇。
- 升级建筑后再次确认招募入口没有消失。
- 检查招募费用、维持费、回合数和单位上限。
- 获得会强化玉勇或震旦步兵的科技、领主技能,确认精锐玉勇获得预期加成。
- 让 AI 控制的震旦派系运行若干回合,检查其是否会合理招募,而不是只看玩家列表。
- 建立盟友前哨,确认盟友招募是否符合你的设计。
RPFM 诊断通过不等于这些战役系统已经生效;每一项都需要在游戏里单独验证。

