建筑详解
一座战役建筑不是一条building_levels_tables记录。完整建筑通常由“建筑链 → 各等级建筑 → 升级路线 → 文化或派系显示 → 效果、招募与限制”共同组成。只复制建筑等级而不复制这些关系,最常见的结果是建筑不出现在槽位里、无法升级、没有名称图标,或者建成后什么也不做。
完整数据链
building_superchains_tables
↓
building_chains_tables
├─ building_levels_tables
│ ├─ building_upgrades_junction_tables
│ ├─ building_effects_junction_tables
│ ├─ building_units_allowed_tables
│ ├─ building_level_required_buildings_tables
│ ├─ building_level_armed_citizenry_junctions_tables
│ └─ 资源、所有权、生命周期等按需分支
├─ building_culture_variants_tables
└─ building_chain_availabilities_tables
建筑能否放入某类槽位:
settlement_type_to_building_chains_junctions_tables
slot_template_permitted_building_chains_tables
building_chain_sets_tables / building_chain_set_items_tables
案例中常见“兵营建筑”,但兵营只是建筑用途之一。同一结构也可以制作经济、秩序、防御、资源、地标、港口、城镇主城、游牧或特殊系统建筑。选择哪条路径,应由原版相同槽位和相同派系的模板决定。
核心表单
| 表单 | 负责什么 |
|---|---|
building_superchains_tables |
把若干相关建筑链归入同一个更高层身份,供转换、槽位或系统识别。 |
building_chains_tables |
定义一条建筑链的 Key、分类、百科显示和基础行为。 |
building_levels_tables |
定义每一个可建造等级的成本、回合数、等级和限制。 |
building_upgrades_junction_tables |
明确哪个建筑等级可以升级到哪个等级。 |
building_culture_variants_tables |
按文化、子文化或派系提供名称、说明、图标和界面外观。 |
building_effects_junction_tables |
给建筑等级添加战役 Effect。 |
building_units_allowed_tables |
让建筑等级提供兵种招募。它不是唯一招募系统。 |
building_level_required_buildings_tables |
为某建筑等级添加其他建筑前置。 |
building_level_required_technology_junctions_tables |
Schema 保留的科技前置连接;当前 Assembly Kit 原始表没有正式记录,使用前必须先验证当前游戏是否实际读取。 |
building_chain_availabilities_tables |
限定建筑链在文化、子文化、派系或战役中的可用性。 |
settlement_type_to_building_chains_junctions_tables |
按城镇类型纳入或排除建筑链。 |
slot_template_permitted_building_chains_tables |
控制特定建筑槽模板允许哪些建筑链、集合或 Superchain。 |
building_levels_tables
橙色框从左到右标出建筑等级 Key、所属建筑链、等级,以及建造时间和成本等基础字段。
身份与等级
| 字段 | 含义 |
|---|---|
level_name |
当前建筑等级的唯一 Key。效果、招募、驻军和升级表都引用它。 |
chain |
所属building_chains。同一链的多个等级通常填写同一个值。 |
level |
建筑显示等级。它不是升级关系本身。 |
building_instance_key |
战役地图建筑实例或显示系统使用的身份。特殊建筑必须沿模板核对。 |
split_chain_sort_order |
分支建筑链在界面中的排序。没有分支时沿用模板。 |
level=2不会自动让建筑从一级升到二级。真正的升级边由building_upgrades_junction_tables的from和to决定。
建造与维护
| 字段 | 含义 |
|---|---|
create_time |
建造所需回合。 |
create_cost |
基础建造成本。最终价格还可能受 Effect 和资源成本影响。 |
upkeep_cost |
建筑维护成本;多数普通建筑为零。 |
development_point_cost |
使用发展点或相应系统时的成本。只在模板系统中使用。 |
food_cost |
使用粮食成本的系统入口。并非所有派系都读取。 |
resource_cost |
引用资源成本记录。 |
resource_transaction_on_complete |
完成建造时触发的资源交易。 |
additional_loot_value |
对相关掠夺或战后价值的附加量。 |
可建造条件和状态
| 字段 | 含义 |
|---|---|
only_in_capital |
是否只允许在首府或相应首府槽位使用。 |
faction_unique |
是否为派系唯一。具体唯一范围要在游戏中验证。 |
primary_slot_building_building_level_requirement |
对主城建筑等级的要求。 |
resource_requirement |
建造所需的资源条件。 |
can_convert |
是否允许在占领转换等流程中转换。 |
can_be_damaged |
是否允许受损。 |
health_override |
特殊建筑生命覆盖值。普通建筑沿用模板。 |
visible_in_ui |
是否在通常界面中显示。隐藏不等于不可建造。 |
should_show_building_level_in_ui_for_technology |
科技界面引用建筑时是否显示等级。 |
commodity、commodity_vol、first_in_world_bundle、slave_cap_contribution等字段只在对应经济或派系系统中有意义。不要因为字段存在就全部填写。
建筑链、Superchain 与升级边
building_chains_tables
重要字段包括:
key:建筑链 Key。building_superchain:所属 Superchain。chain_category:建筑链分类。chain_tooltip:建筑浏览器中的说明入口。optional_tier_icon与optional_sort_order:等级图标和排序。can_be_dismantled:是否允许拆除。is_foreign_slot_chain:是否属于外来槽位链。- 百科相关字段:控制百科名称、分组和索引,不决定战役可建造性。
building_upgrades_junction_tables
每行只有两个核心字段:
| 字段 | 含义 |
|---|---|
from |
当前建筑等级 Key。 |
to |
可以升级到的建筑等级 Key。 |
线性链可以是1 → 2 → 3;分支链可以从同一个from连接多个to。不要把兵营的线性案例当成建筑系统只能线性升级。
名称、说明和图标
building_culture_variants_tables让同一建筑等级按使用者显示不同内容:
| 字段 | 含义 |
|---|---|
building |
引用建筑等级。 |
culture、subculture、faction |
适用范围;按模板选择需要填写的粒度。 |
name |
建筑名称。 |
description |
详细说明。 |
short_description |
短说明。 |
flavour |
背景描述。 |
icon |
建筑图标。 |
disables |
是否禁用该变体。它常用于覆盖更宽范围的可用记录。 |
display_tooltip |
是否显示相应提示。 |
building_frame_override |
特殊建筑框架覆盖。 |
同一个building可以有文化级、子文化级和派系级记录。游戏选择哪条取决于适用范围和原版覆盖结构,因此新增派系专属外观时应复制该派系附近的原版记录组合。
建筑效果
building_effects_junction_tables字段:
| 字段 | 含义 |
|---|---|
building |
提供效果的建筑等级。 |
effect |
引用 Effect。 |
value |
正常状态数值。单位由 Bonus Value 决定。 |
effect_scope |
作用于派系、地区、省份、军队或其他对象。 |
value_damaged |
建筑受损时的数值。 |
value_ruined |
建筑成为废墟时的数值。 |
context_requirement |
额外上下文条件。只在模板使用时复制。 |
一座建筑可以有多行效果,也可以没有效果而只提供招募、驻军或系统入口。经济建筑的案例不代表每座建筑都必须连接收入 Effect。
建筑招募与驻军
building_units_allowed_tables负责“建成这个等级后,可从该路径招募哪个兵种”。building_level_armed_citizenry_junctions_tables负责“这个建筑等级给城镇驻军添加哪个驻军组”。
两者互不替代。能招募不等于进入驻军,进入驻军也不等于可招募。
building_units_allowed_tables还包含XP、conditions、faction和enabled等字段;完整用法见《招募详解》。驻军链见《驻军详解》。
可用范围与槽位
建筑链出现在哪里,至少可能受三层影响:
building_chain_availabilities_tables:文化、子文化、派系和战役范围。settlement_type_to_building_chains_junctions_tables:城镇类型允许或排除哪些链。slot_template_permitted_building_chains_tables:当前建筑槽模板允许哪些链、集合或 Superchain。
此外,主城等级、资源、其他建筑、所有权内容包、气候和脚本系统也可能继续限制。只在building_levels_tables新增记录,不能保证它自动出现在所有城镇。
制作或复制建筑的推荐顺序
- 在游戏中找一个相同派系、相同槽位、相同用途的原版建筑。
- 从
building_culture_variants_tables或游戏名称定位它的buildingKey。 - 反查
building_levels_tables.chain和building_chains_tables.building_superchain。 - 导入建筑链、等级、升级边和实际使用的文化变体。
- 修改所有自定义 Key,并逐张连接表替换引用。
- 按需求添加效果、招募、驻军和前置;没有使用的分支不要复制。
- 从原版相同槽位模板查找可用范围和槽位许可。
- 添加本地化与图标,运行 RPFM 诊断。
- 新开战役检查建造、升级、拆除、占领转换和 AI 使用。
从
db.pack导入原版表后,把 Pack 内的data__重命名为自己的唯一表名。保留原名可能覆盖整张原版表。
常见错误
- 建筑不出现:检查链可用性、城镇类型、槽位模板、主城等级和派系范围。
- 建筑出现但无法升级:检查
building_upgrades_junction_tables,不要只看level。 - 建筑名称或图标不对:检查文化变体是否被更具体的派系记录覆盖。
- 效果影响全国而不是本地:检查
effect_scope。 - 建成后不能招募:检查
building_units_allowed_tables.unit是否为正确的main_unitsKey,以及派系和招募限制。 - 占领后建筑异常:检查
can_convert、Superchain、文化变体和原版转换结构。
游戏内验收
- 目标城镇和槽位中可以看到建筑链。
- 每条升级和分支路线都能正确选择。
- 成本、回合数、拆除和受损状态正确。
- 名称、说明、图标和建筑框架符合目标派系。
- 效果、招募和驻军分别生效,没有互相误判。
- 其他文化占领、转换或摧毁城镇时没有残留错误。
- AI 能正常建造,不会卡在无出口的升级节点。
RPFM 只能检查表结构和引用。建筑是否进入正确槽位、转换逻辑和 AI 行为仍必须在游戏中验证。

