创建传奇领主单位
传奇领主不是在某一列勾选“传奇”就能完成。它首先是一名完整领主,必须拥有战斗单位、人物类型、技能树、战役模型、头像、固定姓名和派系权限;随后还要根据设计目标,决定它是进入领主招募池、在战役开始时出现在地图上,还是作为新战役界面中的可选派系领袖。
本文只讲在现有派系和现有战役中创建传奇领主。创建一个全新的可玩派系还涉及派系、文化、外交、起始地区、胜利条件、AI、机制和脚本等大量内容,不能由一条
frontend_faction_leaders_tables记录代替。
先决定要实现哪一种结果
“创建传奇领主”至少有三种常见目标。开始复制数据前必须选定一种,不能把三套模板混在一起。
路线一:领主招募池中的唯一传奇领主
该传奇领主在战役开始时不出现在地图上,而是以固定姓名进入现有派系的领主招募池。玩家可以招募它,但同一局战役不会随机生成第二个相同人物。
适合:
- 给现有派系增加一名可招募的传奇领主。
- 不需要它带领初始军队。
- 不需要在新战役界面单独选择它。
原版可参考wh2_main_hef_prince_alastar、wh_dlc08_nor_arzik等start_pos_characters_tables.is_in_generals_pool = true的记录。它们的immortal并不全部相同,说明“唯一”和“不朽”是两个独立设计,不能绑定理解。
路线二:战役开始时就在地图上的传奇领主
该传奇领主在战役开始时已经位于地图上,可以带领一支初始军队,也可以是现有派系中的额外将领,但不一定出现在新战役的派系选择界面。
适合:
- 为现有派系增加一名开局将领。
- 让传奇领主在指定坐标出现并带领指定军队。
- 制作 AI 派系的固定初始领主。
这条路线需要start_pos_characters_tables;需要初始军队时,还要使用start_pos_land_units_tables。如果该领主不是玩家可以选择的派系领袖,就不要无条件复制frontend_faction_leaders_tables。
路线三:新战役界面的可选派系领袖
该传奇领主既是战役开始时生成在地图上的人物,也是新战役界面中代表某个可玩派系的领袖。本文用『飙龙』妙影wh3_main_cth_miao_ying演示这条路线的数据结构。
适合:
- 替换现有派系领袖。
- 为已经完整建立的可玩派系指定新领袖。
- 让玩家从新战役界面选择该领袖开始战役。
这条路线需要战役开局人物、初始军队连接、新战役界面的派系领袖记录和开局领袖选项。若你只是想把传奇领主放进领主招募池,使用这条路线反而会增加无关数据。
传奇领主没有单一“传奇开关”
下面这些字段各自只负责一部分功能:
agent_subtypes_tables.recruitment_category = legendary_lords:把人物放进“传奇领主”招募分类,不保证唯一。start_pos_characters_tables.unique = true:开局人物记录的唯一标记,不会自动创建战斗单位或技能树。start_pos_characters_tables.immortal = true:不朽规则,不等于传奇身份。start_pos_characters_tables.ministerial_position = faction_leader:把开局人物设为派系领袖,不会让它自动出现在新战役界面。frontend_faction_leaders_tables:配置新战役界面的派系领袖条目和展示资源,不会创建完整派系。unique_agents_tables:用于特定的唯一人物生成流程,主要可见于传奇英雄和特殊人物;不是可玩传奇领主的通用必填表。
当前原版wh3_main_cth_miao_ying存在于agent_subtypes_tables、campaign_to_agent_subtypes_tables、faction_agent_permitted_subtypes_tables、start_pos_characters_tables、start_pos_starting_general_options_tables和frontend_faction_leaders_tables等数据中,但没有依赖unique_agents_tables作为传奇身份开关。
选择模板时要分层
传奇领主往往带有变身、专属坐骑、特殊法术、剧情、资源和派系机制,直接复制整套数据很容易把无关系统带进 Mod。最好为不同层分别选模板:
| 层级 | 模板选择依据 |
|---|---|
| 战斗单位 | 相同体型、骨骼、武器、坐骑和战斗职能。 |
| 战役人物 | 相同文化、语音、姓名结构和战役模型类型。 |
| 技能树 | 相同战斗定位、魔法之风和军队强化方向。 |
| 招募或开局 | 三条路线中与目标相同的生成方式。 |
| 新战役界面中的派系领袖 | 相同战役、同类派系选择界面和展示资源结构。 |
| 专属机制 | 只有设计确实需要该机制时才选对应模板。 |
例如,『飙龙』妙影适合演示“可选派系领袖如何接入多个战役”,但她的龙形态和震旦机制不适合作为普通人形传奇领主的战斗模板。
完整数据链
传奇领主基础身份
agent_subtypes_tables
├─ associated_unit_override ─→ main_units_tables → land_units_tables
├─ faction_agent_permitted_subtypes_tables(军队领主使用 general)
├─ campaign_to_agent_subtypes_tables(按目标战役添加)
├─ character_skill_node_sets_tables → character_skill_node_set_items_tables
└─ campaign_character_art_sets_tables
└─ campaign_character_arts_tables → agent_uniforms_tables
固定人物与战役开局数据
start_pos_factions_tables.ID
└─ start_pos_characters_tables.faction
├─ Name / Surname ─→ names_tables.id
├─ subtype ─→ agent_subtypes_tables.key
├─ start_pos_land_units_tables.general(初始军队)
└─ start_pos_starting_general_options_tables.general(可选派系领袖)
新战役的派系选择界面
frontend_faction_leaders_tables
├─ agent_subtype_record
├─ faction
└─ start_pos_starting_general_options_tables.frontend_faction_leader
需要哪些表单
三条路线都需要的基础表单
| 表单 | 负责什么 |
|---|---|
agent_subtypes_tables |
定义传奇领主类型、关联战斗单位、招募分类、招募成本、语音和生成设置。 |
faction_agent_permitted_subtypes_tables |
允许目标派系使用该人物类型。作为军队领主时使用内部人物大类general。 |
main_units_tables |
定义单人领主的主单位、人数、单位分类、战斗伤势与战役人物状态的衔接,以及动态头像镜头。 |
land_units_tables |
定义战斗实体、动作、武器、防护、属性、部队技能和数值。 |
unit_variants_tables |
把主单位连接到战斗模型变体。 |
campaign_character_art_sets_tables |
把Art Set(战役外观配置)分配给传奇领主类型。 |
campaign_character_arts_tables |
配置战役模型、战役动作、海上状态和条件变体。 |
character_skill_node_sets_tables |
把技能树分配给该人物类型。 |
character_skill_node_set_items_tables |
把具体技能节点放进技能树。 |
names_tables |
提供固定姓名或称号使用的数值 ID 和本地化文本入口。 |
根据路线添加的表单
| 表单 | 路线一 | 路线二 | 路线三 |
|---|---|---|---|
start_pos_characters_tables |
需要,用于放入领主招募池 | 需要,用于创建地图人物 | 需要,用于创建派系领袖 |
start_pos_land_units_tables |
通常不需要 | 有初始军队时需要 | 通常需要 |
frontend_faction_leaders_tables |
不需要 | 通常不需要 | 需要 |
start_pos_starting_general_options_tables |
不需要 | 非可选领袖时不需要 | 需要 |
faction_starting_general_effects_tables |
按设计 | 按设计 | 常用于初始领主特性,但仍按模板判断 |
只在相应功能存在时添加
| 表单或文件 | 什么时候需要 |
|---|---|
agent_recruitment_categories_tables |
新建独立的传奇领主分类时添加;也可以复用原版legendary_lords。 |
campaign_to_agent_subtypes_tables |
模板按战役列出人物类型时,为每个目标战役添加相应记录。可玩传奇领主中较为常见。 |
agent_uniforms_tables |
使用新战役模型、动态头像模型或战役骨骼时添加。 |
*portrait_settings*.bin |
新的Art Set需要动态头像构图和贴图变体时编辑。 |
campaign_character_art_set_porthole_overrides_tables |
需要专用动态头像场景时添加。 |
campaign_mounts_tables及坐骑相关连接 |
有可切换坐骑或变体时添加。 |
agent_subtype_ownership_content_pack_junctions_tables |
确实需要官方 DLC 或内容包拥有条件时添加。 |
effect_bundles_tables及相关效果表 |
初始领主特性、专属效果、招募条件和派系机制需要时添加。 |
unique_agents_tables |
只有采用该表支持的特殊唯一人物生成系统时添加,不能把它当成所有传奇领主的必填表。 |
规划唯一 Key 和数值 ID
以下只是命名结构示例:
传奇领主类型:yourmod_cth_legendary_lord
主单位:yourmod_cth_cha_legendary_lord_0
陆战单位:yourmod_cth_cha_legendary_lord_0
战斗模型变体:yourmod_cth_cha_legendary_lord
战役外观配置:yourmod_art_set_cth_legendary_lord
技能树节点集合:yourmod_skill_node_set_cth_legendary_lord
新战役界面派系领袖记录:yourmod_political_party_cth_legendary_lord
初始领主特性效果包:yourmod_lord_trait_cth_legendary_lord
除字符串 Key 外,下面这些表还使用数值 ID:
campaign_character_arts_tables.idnames_tables.idstart_pos_characters_tables.IDstart_pos_land_units_tables.idstart_pos_starting_general_options_tables.idstart_pos_factions_tables.ID
每个新数值 ID 都必须在对应表中唯一。不要复制模板后保留原 ID,也不要把同一个数字随意用于不同战役的两条记录。RPFM 的主键提示只能帮助发现部分重复,仍应在依赖项和 Pack 中全表搜索新 ID。
在 Pack 中准备表单
可以使用两种方式:
- 在依赖项中搜索模板人物类型、
Art Set、技能树节点集合或开局人物 ID,把需要的行复制进新 Pack。 - 将原版整张表导入新 Pack,立刻把
data__重命名为自己的表名,只保留模板行和要修改的记录。
导入的 DB 文件不能继续叫
data__。这是原版数据库的默认表名,保留它可能让 Mod 整表覆盖原版。先重命名,再选中需要的行,反选后删除其余记录。
传奇领主涉及的表多,更不能把每张原版整表都留在 Pack 中。每处理完一个表就确认只保留新建或明确修改的记录。
先完成基础领主
三条路线都建立在一名完整领主之上。先按照《创建领主单位》完成:
- 单人
main_units_tables记录,num_men = 1且caste = lord。 - 独立或复用的
land_units_tables、战斗模型变体、实体、动作、武器和属性链。 agent_subtypes_tables记录及associated_unit_override。- 目标派系的
Agent = general权限。 Art Set、战役外观记录、Uniform和Portrait Settings。- 指向新人物类型的技能树节点集合。
- 本地化、兵牌、头像、语音、法术和坐骑。
在基础领主不能正常招募、显示或进入战斗时,不要继续叠加开局数据和新战役界面数据。否则出现故障时无法判断问题属于基础领主还是战役接入。
配置传奇领主的人物类型
复制一名生成方式接近的传奇领主人物类型记录,逐列检查。『飙龙』妙影当前的原版记录可以提供一个“可选派系领袖”的参考:auto_generate = false、recruitment_category = legendary_lords、can_be_loaned = false、recruitable = true、saving_settings = cannot_be_loaded_in_campaign。这些值不能机械套给另外两条路线。
| 字段 | 传奇领主的处理原则 |
|---|---|
key |
新传奇领主唯一的人物类型 Key。 |
auto_generate |
通常关闭,防止普通领主招募池重复生成同一传奇领主。但特殊招募系统可能有不同要求,应按同路线模板处理。 |
onscreen_name_override |
领主职业文字。原版传奇领主常在这里显示“传奇领主”,而非具体姓名;固定人名来自其他数据。 |
is_caster |
是否标记为施法者。不会自动授予法术。 |
associated_unit_override |
指向默认战斗形态的主单位。 |
audio_voiceover_actor_group |
战役地图上的领主语音组。没有自制语音时复用兼容的原版语音组。 |
show_in_ui |
是否在相关界面显示。 |
cap |
人物类型自身的限制值,不是唯一身份开关。 |
has_female_name |
姓名生成相关标记。固定姓名人物仍应使用相符模板。 |
can_gain_xp |
是否获得人物经验。 |
loyalty_is_applicable |
是否参与忠诚度。许多传奇领主不使用忠诚度,但应按派系机制确认。 |
contributes_to_agent_cap |
是否计入相应内部人物大类的数量限制。与unique含义不同。 |
names_group |
传奇领主通常不用普通随机姓名池,但不要仅凭直觉填写,按同路线模板处理。 |
recruitment_category |
常复用legendary_lords,也可以创建专用分类。分类不会保证唯一。 |
magic_lore |
魔法之风或施法分类引用。实际法术来自技能、部队技能、物品或特殊机制。 |
can_be_loaned |
是否参与内部的人物借调流程。游戏没有统一显示这一字段的名称,应沿用同路线模板。 |
recruitable |
是否允许进入相关招募流程。战役开局已经存在的传奇领主,也可能保留开启值用于复活或其他流程。 |
saving_settings |
人物的存档保存和读取方式。不同生成路线可能不同,必须复制同路线模板,不能按英文自行判断。 |
can_equip_ancillaries |
是否能装备物品。 |
cost |
招募成本基础值。开局人物也可能在复活或特殊招募时读取。 |
招募分类
可以让新传奇领主使用原版legendary_lords分类,也可以新建独立分类:
- 复用原分类适合希望它和其他传奇领主显示在同一分组的情况。
- 新分类适合需要独立名称、图标和排序的特殊领主池。
不要把“出现在传奇领主分类”误认为“已经是唯一人物”。唯一性仍要由实际生成路线和开局数据保证。
配置战斗单位、专属部队技能和形态
传奇领主的战斗单位与普通领主使用同样的基础表,但通常更容易出现专属分支:
- 独立
battle_entities_tables记录和更高的实体生命值。 - 独立近战武器、远程武器、投射物、爆炸或接触效果。
- 专属
unit_abilities_tables部队技能及其阶段。 - 独立属性组、抗性、魔法攻击和战斗 AI 定位。
- 多种坐骑、变身或替换主单位。
- 战役生命值、受伤与复活的特殊规则。
不要把传奇领主较高的面板数值全部堆在land_units_tables中。先判断数值来自单位基础值、技能、物品、效果包(Effect Bundle)还是派系机制;否则新领主可能在战役开始时表现正常,升级后却发生重复叠加。
多形态和变身人物
『飙龙』妙影同时具有人形与龙形相关数据。若新传奇领主不能变身,就不要复制她的化龙诀、额外单位、专属部队技能、动作和脚本引用。若确实要制作变身人物,则至少要追踪:
- 每种形态的
main_units_tables和land_units_tables。 - 每种形态的战斗模型变体、骨骼、动作、实体和武器。
- 触发变身的部队技能及其阶段。
- 变身前后的技能、法术、生命值和冷却规则。
- 战役地图、动态头像、战前界面和存档读取时使用的形态。
复杂变身往往不只是 DB 数据。没有找到原版完整入口前,不要把“复制两套单位”写成已经完成。
配置专属技能树
传奇领主应至少拥有一个指向新人物类型的character_skill_node_sets_tables记录。可以先复用通用领主节点,再添加专属技能,但要检查共享节点中的限制条件。
复用普通领主主干
- 新建独立的技能树节点集合。
agent_key使用general。agent_subtype_key指向新传奇领主人物类型。- 复制通用领主节点集合的成员记录,只修改
set。 - 检查每个节点引用的技能是否按派系、亚文化、兵种集合或人物类型限制。
图中:① Key是技能树节点集合 Key;②传奇领主仍属于general内部人物大类;③ Agent Subtype Key把这套技能树交给具体传奇领主。传奇身份不会自动生成独立技能树,必须依靠这条连接和节点集合成员明确分配。
添加专属技能
专属技能通常需要:
character_skills_tables
└─ character_skill_level_to_effects_junctions_tables
character_skill_nodes_tables
├─ character_skill_node_links_tables
└─ character_skill_node_set_items_tables
创建传奇领主时应确认:
- 专属技能不会出现在其他普通领主树中。
- 技能效果的
Scope(作用对象)确实指向人物、军队、派系或地区中的预期对象。 - 专属兵种强化使用正确的兵种集合,而不是模板派系的旧兵种集合。
- 法术节点真正授予目标法术,并包含增幅法术需要的后续节点。
- 坐骑节点连接到新传奇领主可用的坐骑链。
- 开局技能点和创建时自动获得节点符合设计。
图中:① Character Skill Key指向人物技能;② Effect Key指向该技能等级提供的实际效果;③ Level表示这条效果从技能的哪一级配置中读取。右侧的Scope和数值同样决定效果作用对象与强度,必须横向检查完整记录,不能只看效果名称。
配置固定姓名
传奇领主的职业名、单位名和个人姓名不是同一文本:
agent_subtypes_tables.onscreen_name_override常表示“传奇领主”这一人物类型。land_units_tables.onscreen_name和单位本地化文本负责战斗单位名称。start_pos_characters_tables.Name、Surname、clan_name、other_name使用数值 ID 指向姓名数据。- 新战役界面的派系领袖信息、加载文字和人物说明还可能使用独立文本。
新建固定姓名时:
- 在
names_tables创建需要的名、姓氏或称号记录。 - 为每条记录使用唯一数值 ID。
- 在
Loc表中提供简体中文本地化文本。 - 将对应 ID 填入每个目标战役的
start_pos_characters_tables记录。 - 在领主招募界面、人物详情界面、外交界面、战斗界面和新战役界面分别核对显示。
不要把姓名字符串直接填进要求数值 ID 的字段,也不要复制模板姓名 ID 后修改原本地化文本;那会同时改掉原人物的姓名。
配置战役模型和头像
传奇领主通常只需要一套固定的Art Set,但这不是强制规则。基础数据链为:
campaign_character_art_sets_tables.agent_subtype
→ campaign_character_art_sets_tables.art_set_id
→ campaign_character_arts_tables.art_set_id
→ campaign_character_arts_tables.uniform
→ agent_uniforms_tables
制作时检查:
campaign_character_art_sets_tables.agent_type通常为general。art_set_id是新 Key。campaign_character_arts_tables.id是唯一数值 ID。uniform、land_animation和海上状态引用合法。- 战役缩放和战前模型偏移适合人物体型。
- 新的
Art Set已加入相应portrait_settings文件。 - 战斗兵牌、人物头像、人物信息界面和新战役界面使用的人物图片分别有正确资源。
当前『飙龙』妙影只有一套核心Art Set,而普通震旦领主模板可以有多套随机Art Set。这个差异体现的是“固定人物外观”和“随机招募人物外观”,不是传奇领主必须只有一套的硬性规则。
图中:① Art Set Id连接人物类型使用的战役外观配置;②等级、年龄、头像和季节等列允许同一人物按条件切换记录;③ Uniform指向实际战役人物外观。固定人物通常只需要较少变体,但应以目标人物的设计和同类原版模板为准。
按目标战役添加人物类型记录
当前大量可玩传奇领主出现在campaign_to_agent_subtypes_tables中。『飙龙』妙影分别有wh3_main_chaos和wh3_main_combi记录。
若新传奇领主要支持多个战役:
- 搜索同一模板人物类型的全部
campaign_to_agent_subtypes_tables记录。 - 只为你实际支持的战役复制相应行。
- 将
agent_subtype改为新人物类型 Key。 - 为每个战役分别检查开局人物、新战役界面的派系领袖记录和初始军队记录。
不要只添加campaign_to_agent_subtypes_tables就认为传奇领主已经进入战役;这张表只是战役与人物类型之间的一项连接,不能代替派系权限和开局数据。
路线一:加入领主招募池
这条路线使用start_pos_characters_tables创建一个固定且唯一的可招募领主。每个目标战役都应找一个同样“战役开始时位于领主招募池”的原版唯一领主作为模板,不要只从地图上的派系领袖记录改几个字段。
创建start_pos_characters_tables记录
| 字段 | 领主招募池路线的处理方式 |
|---|---|
ID |
新的唯一数值 ID。 |
faction |
这里不是派系字符串 Key,而是目标战役中start_pos_factions_tables.ID。 |
Name、Surname |
指向新建或复用的names_tables.id。 |
Type |
军队领主使用general。 |
startx、starty |
领主招募池中的人物通常不依赖地图坐标,但应复制同战役、同路线的模板值,不要自行填写任意坐标。 |
ministerial_position |
领主招募池中的普通人物通常留空,除非设计要求它直接担任某个职位。 |
portrait_id |
部分旧数据直接指定Art Set或头像标识,应按同路线模板判断。新头像系统还需检查Portrait Settings。 |
model |
特定旧或特殊方案使用的模型覆盖,通常按模板保留。 |
immortal |
是否不朽,与unique独立。原版领主招募池中的唯一人物既有开启也有关闭的案例。 |
override_general_unit |
可以覆盖领主战斗单位。若人物类型记录中的associated_unit_override已经正确,是否需要该字段应按模板判断。 |
is_in_generals_pool |
这条路线的关键字段,使用true。 |
is_male |
开局记录的性别相关标记。应与模板、姓名和战役外观共同验证。 |
loyalty |
初始忠诚度。目标派系不使用忠诚度时仍应按同派系模板处理。 |
clan_name、other_name |
固定氏族名或其他称号的姓名 ID。没有时留空。 |
unique |
使用true,防止把该固定人物当作可以重复生成的普通人物。 |
death_type、turns_died_before_start、legacy_override |
只在同类模板确实使用时复制,不能按字段名猜测。 |
subtype |
指向新传奇领主的人物类型 Key。 |
这条路线通常不需要start_pos_land_units_tables,因为人物没有初始军队。它也不需要frontend_faction_leaders_tables,因为玩家不是从新战役界面选择它。
何时需要额外招募条件
如果传奇领主不应在第一回合直接招募,而要通过任务、科技、建筑、资源或事件解锁,那么单纯放入领主招募池可能不符合设计。应查找一个采用相同解锁方式的原版人物,继续追踪其效果、事件或 Lua 入口。
“在领主招募池中唯一出现”和“满足条件后才加入领主招募池”是两个不同目标,后者可能无法只用本文的基础 DB 数据链完成。
路线二:开局出现在地图上
这条路线同样使用start_pos_characters_tables,但人物不是放在领主招募池中,而是实际生成在战役地图上。
创建战役地图人物
以同战役、同目标派系的现有开局将领为模板,修改:
- 新
ID。 faction指向该战役中目标start_pos_factions_tables.ID。- 固定姓名 ID。
Type = general。startx和starty使用经过确认的合法位置。is_in_generals_pool = false。unique = true。immortal按设计设置。subtype指向新传奇领主的人物类型 Key。ministerial_position只在它确实是派系领袖或其他职位时填写。
地图坐标不能随便复制另一战役的数字。不同战役地图的坐标、派系开局位置和占用情况不同。最安全的模板是同一战役、同一目标派系已经存在的开局将领。
配置初始军队
要让传奇领主带领军队,在start_pos_land_units_tables中为每个初始部队建立记录:
| 字段 | 作用 |
|---|---|
id |
每个初始部队记录的唯一数值 ID。 |
unit_type |
指向要加入军队的main_units_tables.Unit。 |
general |
指向新start_pos_characters_tables.ID。这是把部队交给该领主的关键连接。 |
soldiers |
初始人数或部队完整度相关值。通常按同类初始军队模板处理。 |
unique |
该初始部队是否按唯一部队处理。普通初始部队通常关闭。 |
一个领主有五支初始部队,就需要五条使用同一generalID的记录。不要把领主本人的主单位再作为普通部队塞进自己的军队;将领本人已经由人物记录和associated_unit_override提供。
与原开局领主的冲突
给现有派系再加一名开局将领,与替换原派系领袖是两种不同操作:
- 额外将领:保留原人物,新建另一条人物记录和军队记录。
- 替换领袖:还要处理原领袖记录、职位、新战役界面连接和可能的脚本引用。
除非用户明确决定替换,否则不要删除或覆盖原开局人物。使用新 ID 添加记录更容易与其他 Mod 兼容。
路线三:作为可选派系领袖
这条路线建立在“开局地图人物”之上,还要把该人物连接到新战役的派系选择界面。
把开局人物设为派系领袖
在对应start_pos_characters_tables记录中:
ministerial_position使用目标模板的faction_leader设置。is_in_generals_pool = false。unique = true。faction指向目标战役中正确的start_pos_factions_tables.ID。subtype指向新传奇领主的人物类型 Key。
如果目标派系已有领袖,直接再添加第二个faction_leader可能产生职位和脚本冲突。替换时必须全局搜索原领袖的人物类型 Key、开局人物 ID 和新战役界面的领袖记录 Key,确认哪些连接需要改向新人物,而不是把两套记录叠加。
创建frontend_faction_leaders_tables记录
该表负责新战役界面的领袖展示。复制同一目标战役中结构最接近的派系领袖记录,逐项检查:
| 字段 | 作用 |
|---|---|
key |
新战役界面派系领袖记录的唯一 Key,供开局领袖选项连接。 |
uniform |
派系选择界面使用的Composite Scene路径,不是战役地图上的Uniform。 |
x_offset、y_offset |
派系选择界面中人物构图的偏移。 |
character_image |
派系领袖静态图片。 |
prelude_battle |
序章战斗引用。没有相应序章战斗时,不应复制模板中的无关值。 |
localised_description、frontend_description |
派系选择界面的人物说明文本入口。实际使用哪一项,应按同战役模板和本地化文本验证。 |
localised_action_points |
派系选择界面中说明文字使用的文本入口。 |
game_expansion_key |
该记录所属游戏或扩展的分类。 |
video |
派系选择界面影片。没有新影片时不能填一个不存在的路径。 |
loading_screen_text、loading_screen_image、loading_screen_intro_video |
加载界面的文字、图片和影片。 |
override_force_location_x、override_force_location_y |
派系选择界面或初始军队位置的覆盖值。应按模板处理,不能代替战役地图开局坐标。 |
voiceover |
派系选择界面的人物语音。 |
show_full_intro_option |
是否显示完整开场选项。需要对应内容支持。 |
difficulty |
该界面记录使用的难度或模板条件。复制目标战役现有模式,不要自行生成四条难度记录。 |
startpos_map |
使用哪个开局地图 Key。不同战役或派系选择模式可能不同。 |
agent_subtype_record |
指向新传奇领主的人物类型 Key。 |
faction |
指向派系字符串 Key,不是start_pos_factions_tables.ID。 |
『飙龙』妙影在不同战役的新战役界面中使用不同的记录 Key,并分别连接同一个人物类型。要支持多个战役,应从每个战役对应的模板复制,而不是把一条记录同时当成所有战役入口。
连接开局领袖选项
在start_pos_starting_general_options_tables中建立:
| 字段 | 作用 |
|---|---|
id |
新的唯一数值 ID。 |
general |
指向该战役的新start_pos_characters_tables.ID。 |
precedence |
多个开局领袖选项的优先级,按同派系模板处理。 |
frontend_faction_leader |
指向新frontend_faction_leaders_tables.key。 |
exclude_other_options |
是否排除其他开局选项。替换领袖或提供多个领袖选择时影响很大,不能照字面随意开启。 |
这张表完成“新战役界面的选择项”与“实际开局人物”的连接。界面能看见新领袖,但进入战役后仍出现旧领袖,常见原因就是general仍指向原开局人物 ID。
配置初始领主特性
faction_starting_general_effects_tables可以把一个效果包交给特定的初始领主人物类型。当前『飙龙』妙影的记录会为她提供wh3_main_lord_trait_cth_miao_ying。
要创建独立的初始领主特性:
- 新建或复制
effect_bundles_tables记录。 - 配置效果包中的实际效果。
- 在
faction_starting_general_effects_tables.agent_subtype填写新人物类型 Key。 - 在
effect_bundle填写新效果包 Key。 - 为特性名称和说明补充本地化文本。
这张表处理的是初始领主特性,不是“击败该传奇领主后获得的特性”。游戏中这类效果会显示为“击败传奇领主特性”,通常还涉及人物特性数据和脚本授予逻辑,不能用这一行代替。
为什么通常不要添加unique_agents_tables
unique_agents_tables包含agent_subtype、固定姓名、agent_type、spawn_behaviour和spawn_via_ui等字段。当前原版中,它大量用于传奇英雄、任务人物和特殊生成的人物;少数记录的内部人物大类可能是general,也不能由此得出“传奇领主都要填”。
只有满足下面条件时才考虑它:
- 你已经找到一个生成方式与目标完全相同的原版人物。
- 该原版人物确实通过
unique_agents_tables进入相应界面或脚本流程。 - 你已经追踪到读取这张表的完整入口,而不是只看到人物类型搜索命中。
对于“领主招募池中的唯一人物”“开局地图人物”和“可选派系领袖”,优先复制对应路线的开局数据与新战役界面数据。不要同时用两套生成系统创建同一人物,否则可能出现重复、失效或存档读取异常。
内容包权限
原版传奇领主经常在agent_subtype_ownership_content_pack_junctions_tables中绑定官方内容包。复制时必须单独判断:
- 新传奇领主确实依赖某个官方 DLC 的资产或机制时,保留必要的内容包拥有条件。
- 完全自制且不应被该 DLC 限制时,不要复制模板所有权记录。
- 使用基础游戏与 DLC 混合资产时,按实际依赖说明前置内容,不要假装没有依赖。
内容包拥有条件只控制玩家是否可以使用相应内容,不负责唯一性、开局生成或新战役界面显示。
图中:① Agent Subtype是受限制的人物类型;② Ownership Content Pack是要求拥有的官方内容包。RPFM 顶部的红色提示也说明这类表单存在特殊校验;不要为了消除提示而修改原版依赖项,也不要把模板的 DLC 条件不加判断地复制给自制人物。
派系机制、剧情和脚本边界
一名原版传奇领主还可能出现在:
- 任务链、任务战和物品解锁。
- 专属资源、仪式和派系面板。
- 外交、合邦和击败后招募逻辑。
- 受伤、死亡、复活和重新进入领主招募池的逻辑。
- 介绍任务、镜头、语音和开场事件。
- AI 个性、自动结算、派系潜力和特殊军队生成。
这些都不是“传奇领主基础身份”的通用必填项。制作时采用按需原则:设计中需要哪一种功能,就找拥有同一种功能的原版人物并追踪完整数据和 Lua;不需要就不要复制。
尤其要区分:
- 能在新战役界面选择不等于拥有完整的派系机制。
- 被击败后不朽不等于能被其他派系自动招募。
- 有专属技能树不等于技能实际指向了新兵种集合和新效果。
- 有新战役界面影片字段不等于 Pack 中已有可播放影片。
本地化与玩家界面术语
至少检查:
- 传奇领主姓名、称号和职业类型。
- 单位名称、短说明和长说明。
- 派系选择界面的人物简介与特色说明。
- 加载界面文本。
- 专属技能、法术、部队技能、物品和特性。
- 招募分类和招募成本说明。
玩家可见中文以《全面战争:战锤 III》游戏内简体中文术语为准。Schema、Assembly Kit 和表名用于检索,不能把它们的英文直译直接当成游戏术语。
固定姓名可能在战役、战斗、外交和新战役界面分别读取不同数据。只在一个界面看到正确姓名,不能证明其他界面已经完成。
怎样自行查找完整数据
先按生成路线找模板
- 在游戏中确认模板是领主招募池人物、战役地图上的开局人物,还是可选派系领袖。
- 在
agent_subtypes_tables记录其人物类型 Key 和associated_unit_override。 - 全局搜索人物类型 Key,把命中分为基础身份、战斗、战役外观、技能、开局数据、新战役界面、内容包拥有条件和专属机制。
- 在
start_pos_characters_tables查看它每个战役的记录,重点比较faction、is_in_generals_pool、unique、immortal和ministerial_position。 - 用人物
ID搜索start_pos_land_units_tables和start_pos_starting_general_options_tables。 - 用新战役界面派系领袖记录的 Key 搜索对应
frontend_faction_leaders_tables和开局领袖选项。
再追踪内容链
- 搜索主单位 Key,追踪陆战单位、战斗模型变体、实体、武器、部队技能和多形态单位。
- 搜索
Art SetID,追踪战役外观记录、Uniform、Portrait Settings、动态头像和坐骑切换。 - 搜索技能树节点集合 Key,导出成员节点,再追踪技能、效果、法术和坐骑。
- 搜索固定姓名 ID,确认没有与原人物共用需要改写的本地化文本。
- 搜索效果包和人物特性,区分初始领主特性、技能效果和击败传奇领主特性。
- 搜索 Lua 中的人物类型、派系 Key、新战役界面记录 Key 和效果 Key,确认是否有脚本依赖。
搜索结果很多不代表都要复制。每一条记录都要回答两个问题:它属于哪项功能;你的新传奇领主是否真的需要这项功能。
三条路线的完整制作顺序
路线一:领主招募池中的唯一人物
- 完成基础领主的战斗单位、人物类型、派系权限、战役外观、头像和技能树。
- 为目标战役添加需要的
campaign_to_agent_subtypes_tables记录。 - 创建固定姓名及本地化文本。
- 在
start_pos_characters_tables创建新记录,使用目标start_pos_factions_tables.ID。 - 设置
Type = general、is_in_generals_pool = true和unique = true。 - 按设计设置
immortal,不要把它和唯一性绑定。 - 如需延迟解锁,继续配置对应事件、效果或脚本入口。
- 新开战役检查领主招募池、唯一性、死亡和存档读取。
路线二:地图上的开局传奇领主
- 完成基础领主全部内容。
- 为每个目标战役建立独立的
start_pos_characters_tables记录。 - 使用正确的
start_pos_factions_tables.ID、坐标、固定姓名和人物类型 Key。 - 设置
is_in_generals_pool = false和unique = true。 - 在
start_pos_land_units_tables为它创建初始军队。 - 按需添加初始领主特性和派系机制。
- 检查与原初始领主、军队和坐标是否冲突。
- 新开战役检查地图生成、军队、回合行为、死亡与存档读取。
路线三:可选派系领袖
- 先完成路线二的开局地图人物和初始军队。
- 将对应人物记录设为目标派系领袖,并处理原领袖冲突。
- 为每个目标战役创建对应
frontend_faction_leaders_tables记录。 - 配置新战役界面使用的
Composite Scene、图片、说明、影片、加载图片和语音。 - 在
start_pos_starting_general_options_tables中连接新战役界面记录与正确的人物 ID。 - 按需在
faction_starting_general_effects_tables中配置初始领主特性。 - 全局搜索原派系领袖,处理必须改向新人物的脚本和专属机制。
- 从新战役界面开始完整验收,而不是只读取旧存档。
常见错误
- 把
unique_agents_tables当成传奇开关:大多数可玩传奇领主不是靠这张表建立基础身份。 - 只设置
recruitment_category = legendary_lords:这只改变招募分类,不保证唯一、开局或新战役界面显示。 - 唯一人物重复出现:同时启用了普通自动生成和另一套唯一人物生成入口,或
unique、人物类型和生成条件不一致。 - 新战役界面能看见,进入战役却是旧领主:开局领袖选项仍连接原
start_pos_characters_tables.ID。 - 传奇领主开局不在地图上:开局派系 ID、坐标、战役记录或
is_in_generals_pool设置错误。 - 传奇领主进入了错误派系:
start_pos_characters_tables.faction需要填写start_pos_factions_tables.ID,不是派系字符串 Key。 - 初始军队属于别人:
start_pos_land_units_tables.general仍是模板人物 ID。 - 开局有两个派系领袖:新增了第二条
faction_leader记录,却没有处理原领袖和相关连接。 - 固定姓名改掉原人物:复用了原姓名 ID 并修改其本地化文本,没有创建新 ID。
- 同一传奇领主被重复生成:
auto_generate、普通派系生成和唯一开局人物记录同时生效。 - 人物死亡后的行为错误:把
unique和immortal当成同一概念,或缺少该派系的复活流程。 - 初始领主特性没有生效:
faction_starting_general_effects_tables没有指向新人物类型,或效果包不完整。 - 击败传奇领主特性没有出现:初始领主特性表不是击败特性系统,仍需追踪对应人物特性和脚本。
- 战役模型正常、头像为空:新的
Art Set没有加入Portrait Settings,或新战役界面图片只配置了一部分。 - 新战役界面中的人物没有动作或影片:
Composite Scene、影片、语音资源不存在,单填路径无法生成资源。 - 某个战役正常、另一个战役缺失:只复制了一个战役的
campaign_to_agent_subtypes_tables、开局数据或新战役界面记录。 - 旧存档无效:开局人物、可招募领主和派系领袖会在创建战役时生成,必须用新战役测试。
RPFM 检查
- 运行诊断,处理缺失引用、重复 Key、重复数值 ID、无效资源路径和缺失的本地化文本。
- 搜索新人物类型 Key,确认命中派系
general权限、Art Set、技能树节点集合和目标战役连接。 - 搜索新主单位,确认人物类型、主单位、陆战单位、战斗模型变体和多形态数据链正确。
- 搜索每个
Art Set,确认战役外观记录、Uniform、Portrait Settings和新战役界面图片各自完整。 - 搜索技能树节点集合,确认成员节点、技能、法术、坐骑和专属效果没有遗留模板限制。
- 搜索每个
start_pos_characters_tables.ID,确认只被对应初始军队和开局领袖选项引用。 - 搜索每个新战役界面记录 Key,确认它连接到正确的战役、派系、人物类型和开局领袖。
- 搜索姓名 ID,确认新本地化文本没有覆盖原人物。
- 搜索模板人物类型和原派系领袖,确认没有误复制无关的 DLC、任务、变身或脚本机制。
- 确认 Pack 中没有未改名的
data__整表和无关原版记录。
游戏内验收
三条路线都要检查
- 传奇领主姓名、称号、职业、说明和简体中文术语正确。
- 战役模型、人物头像、战斗兵牌、人物信息界面、战前镜头和语音正确。
- 技能树完整,专属技能、法术、坐骑和效果指向新传奇领主需要的数据。
- 手动战斗中的模型、动作、武器、部队技能、形态、生命值和受伤状态正常。
- 保存并重新读取后,等级、技能、物品、坐骑、军队、伤势和人物身份保持正确。
领主池路线
- 新传奇领主只出现一次,并进入正确派系的领主招募池。
- 招募成本、等级和解锁条件正确。
- 招募后能带领军队,死亡、不朽和重新招募行为符合设计。
地图开局路线
- 传奇领主在正确战役、派系和坐标生成。
- 初始军队全部属于该传奇领主,人数和单位类型正确。
- 原派系领袖、其他军队和开局脚本没有冲突。
可选派系领袖路线
- 新战役界面中的人物模型、图片、说明、语音、影片和加载内容正确。
- 选择该领袖后进入正确派系和正确战役。
- 实际开局人物就是新人物类型,不是只换了新战役界面图片的原领袖。
- 开局位置、初始军队、人物特性、外交、任务和派系机制符合设计。
- 每个受支持战役都单独通过一次新战役验收。
RPFM 诊断可以发现部分表结构、引用和资源错误,但无法证明开局人物生成、新战役界面选择、唯一性、死亡复活、脚本机制和多战役接入正确。传奇领主必须通过新开战役进行完整验收。

