全面战争模组中文站全面战争模组中文站
搜索/

搜索教程

输入标题,直接打开已发布教程。

输入教程标题开始搜索。

教程目录

特性详解

创建时间:2026年9月4日最后更新:2026年9月4日

角色特性由“特性身份—特性等级—等级效果”三层组成。角色在游戏中获得的是特性点数;点数达到character_trait_levels_tables的阈值后,才显示对应等级并应用该等级连接的 Effect。

完整数据链

character_traits_tables
    ├─ character_trait_levels_tables
    │      └─ trait_level_effects_tables
    ├─ trait_info_tables
    ├─ trait_to_antitraits_tables
    └─ 获得或移除来源
           ├─ 战役脚本
           ├─ 事件、任务、战后结果
           ├─ start_pos_character_traits_tables
           └─ 其他系统表

新建完三张核心表,只代表“这个特性可以存在”。它不会自动告诉游戏何时给角色加点。获得条件可能来自脚本或其他系统,必须另外追踪模板的授予来源。

核心表单

表单 负责什么
character_traits_tables 特性 Key、隐藏状态、不可回退等级、图标和优先级。
character_trait_levels_tables 每个显示等级的名称、说明、阈值和所属特性。
trait_level_effects_tables 每个特性等级实际提供的 Effect。
trait_info_tables 说明特性适用于什么对象。
trait_categories_tables 特性分类和分类图标。只在目标界面系统使用时添加。
trait_to_antitraits_tables 定义相反或互斥特性。
start_pos_character_traits_tables 在起始数据中给指定角色添加特性。普通动态获得不应依赖它。

当前 Assembly Kit 原始数据中的trait_triggers_tablestrait_to_included_agents_tables没有正式记录,不应把这些旧表名当成当前通用授予方法。

character_traits_tables

角色特性表的Key、等级控制、图标和界面字段

橙色框从左到右标出特性 Key、回退与隐藏控制、图标与优先级,以及其他界面行为字段。

字段 含义
key 特性唯一 Key。
no_going_back_level 达到指定等级后,特性点数不能再退回更低阶段的入口。按原版同类特性验证。
hidden 是否隐藏特性。隐藏特性可用于内部计数或脚本状态。
precedence 特性竞争或显示时的优先级入口。不是效果强度。
icon 特性图标。
ui_priority 特性在界面中的排序。
pre_battle_speech_parameter 战前语音参数。
remove_on_skill_reset 重置技能时是否移除。只对相关角色系统有意义。
authorcomment 开发备注,不是玩家文本。

character_trait_levels_tables

一项特性可以只有一级,也可以包含多个正向或负向阶段。

字段 含义
key 当前特性等级的唯一 Key。
trait 所属character_traits.key
level 显示等级序号。
threshold_points 达到该等级所需特性点数。
onscreen_name 当前等级显示名称。不同等级可以不同。
explanation_text 当前等级说明。
removal_text 点数下降或特性移除时的提示。
colour_text 文本颜色或界面样式入口。

阈值不必固定为1、2、3。有的特性每次行为加若干点,有的正负行为会互相抵消。复制时必须追踪授予脚本或事件怎样增减点数。

trait_level_effects_tables

字段 含义
trait_level 哪一个显示等级。
effect 提供哪个 Effect。
value 传给 Bonus Value 的数值。
effect_scope 影响角色、所属军队、派系或其他对象。

同一等级可以有多条 Effect。不同等级是“完整替换”还是“逐级叠加”,应通过原版数据和游戏行为确认,不能仅从level推断。

相反特性与互斥

trait_to_antitraits_tables使用traitantitrait建立相反关系。常见用途是让两种行为朝相反方向积累或互相移除,但实际点数变化仍由授予系统决定。

不要为了名字相反就建立关系。先找同类原版特性,确认脚本或系统是否读取该反特性关系。

特性适用对象

trait_info_tables包含:

  • trait:特性 Key。
  • applicable_to:适用对象类型。

此外,授予脚本、起始角色、派系和角色类型条件仍可能继续限制。applicable_to不是唯一权限表。

怎样找到特性的获得方式

  1. 用游戏简体中文名称定位character_trait_levels或本地化 Key。
  2. 从等级记录找到character_traits.key
  3. 全局搜索特性 Key,记录所有 DB 和脚本引用。
  4. 如果只在脚本中出现,查看脚本在什么事件、角色类型和条件下增加点数。
  5. 如果出现在起始数据、事件或任务表中,沿对应载荷继续追踪。
  6. 检查是否存在 antitrait、隐藏阶段或不可回退等级。

击败传奇领主、频繁伏击、长期征战等都只是可能的授予案例,不是特性系统的固定入口。

新建特性的推荐顺序

  1. 创建唯一的character_traits.key
  2. 创建至少一个特性等级,填写名称、说明和阈值。
  3. 为每个等级连接实际需要的 Effect。
  4. 设置适用对象和必要的反特性关系。
  5. 选择真实授予入口:脚本、事件、任务、起始角色或其他系统。
  6. 为获得、升级、下降和移除分别设计可验证条件。
  7. 运行 RPFM 诊断并检查脚本 Key。
  8. 在游戏中重复触发条件,验证点数、阶段和存档。

常见错误

  • 特性永远不出现:只做了定义,没有授予来源。
  • 特性出现但没有效果:缺少trait_level_effects或 Effect 链错误。
  • 一次触发直接跳到高等级:授予的点数超过多个阈值。
  • 负向行为不能降级:检查no_going_back_level和授予逻辑。
  • 错误角色获得:检查applicable_to以及脚本中的角色类型条件。
  • 名称随等级不变化:每个等级需要自己的显示文本。

游戏内验收

  • 正确角色在正确条件下获得特性点数。
  • 每个阈值只在预期时升级或降级。
  • 名称、说明、图标和颜色正确。
  • 每一级 Effect、Scope 和数值正确。
  • 相反行为和 antitrait 按预期工作。
  • 保存并读取后点数与当前等级保持一致。

RPFM 诊断无法执行授予脚本,也不能证明点数阈值的运行时变化。特性必须通过重复触发和存档读取验收。