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

搜索教程

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

输入教程标题开始搜索。

教程目录

部队技能详解

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

部队技能不是一张表单里的一个数值,而是一条由“界面身份 → 运行规则 → 生效阶段 → 阶段效果 → 授予对象”组成的数据链。主动技能、被动技能、角色技能、装备技能、绑定法术和普通法术都复用这套底层框架,但它们的授予方式、消耗、目标和界面分类并不相同。

本文只讲 RPFM 中能够配置的数据。技能依赖的施法动画、粒子特效、声音、投射物模型或复合场景必须已有可用资源;只把 Key 填进表单,不会自动生成这些资产。

游戏界面中的正式名称是“部队技能”“主动技能”和“被动技能”。数据库仍使用abilityspecial_abilityphase等英文标识。下文面向玩家时统一写“技能”,只有表名和字段名保留数据库原名。

先看完整数据链

land_units_to_unit_abilites_junctions_tables
    ├─ land_unit ───────────────→ land_units_tables
    └─ ability ─────────────────→ unit_abilities_tables
                                      │ 相同 Key
                                      ↓
                                  unit_special_abilities_tables
                                      ├─ 主动/被动、次数、冷却、范围、目标
                                      ├─ projectile / bombardment / vortex / spawned_unit
                                      └─ special_ability_to_special_ability_phase_junctions_tables
                                              ↓
                                          special_ability_phases_tables
                                              ├─ special_ability_phase_stat_effects_tables
                                              ├─ special_ability_phase_attribute_effects_tables
                                              ├─ phase_display → special_ability_phase_displays_tables
                                              └─ special_ability_phases_to_additional_ui_effects_junctions_tables

按需扩展:
unit_abilities_to_additional_ui_effects_juncs_tables
special_ability_to_invalid_target_flags_tables
special_ability_to_invalid_usage_flags_tables
special_ability_to_auto_deactivate_flags_tables
special_ability_to_recharge_contexts_tables
special_ability_exclusive_toggle_groups_tables
unit_special_ability_to_special_ability_toggle_groups_junctions_tables
special_ability_behaviour_*_tables
special_ability_intensity_*_tables
effect_bonus_value_unit_ability_junctions_tables
unit_set_unit_ability_junctions_tables

最常见的阶段型技能至少需要四层记录:

  1. unit_abilities_tables:玩家看到什么,以及技能属于哪种界面类别。
  2. unit_special_abilities_tables:技能怎样启动、能用几次、冷却多久、以谁为目标。
  3. special_ability_to_special_ability_phase_junctions_tables:把技能连接到一个或多个阶段。
  4. special_ability_phases_tables及阶段效果表:真正改变数值、属性、生命、弹药或其他状态。

投射物、轰击、魔法漩涡和召唤类技能可能主要依靠载荷造成效果,阶段表只负责附加状态或根本不使用。不要强迫所有技能都套用同一条链。

需要哪些表单

表单 什么时候需要 负责什么
unit_abilities_tables 几乎所有可见技能都需要 定义技能 Key、名称、说明、图标、界面类型、来源类型、隐藏状态和增幅版本入口。
unit_special_abilities_tables 主动、被动及多数战斗技能需要 定义次数、持续时间、冷却、目标、范围、消耗、载荷、施放动作、AI 和自动战斗参数。
special_ability_to_special_ability_phase_junctions_tables 技能使用阶段时需要 把技能连接到阶段,并决定该阶段作用于自身、友军还是敌军。
special_ability_phases_tables 增益、减益、持续伤害、治疗、附魔等需要 定义阶段持续时间、正负面类型、生命与魔法变化、弹药、状态和显示入口。
special_ability_phase_stat_effects_tables 修改战斗数值时需要 给阶段添加近战攻防、护甲、领导力、速度、抗性等数值变化。
special_ability_phase_attribute_effects_tables 添加或压制单位属性时需要 在阶段内添加或移除潜行、不可阻挡、免疫心理等引擎属性。
special_ability_phase_displays_tables 阶段需要横幅、光环或实体特效时需要 连接阶段持续期间的视觉表现。
special_ability_phases_to_additional_ui_effects_junctions_tables 技能提示需要额外效果条目时需要 给阶段连接额外的界面说明。
unit_abilities_additional_ui_effects_tables 自定义额外说明时需要 定义额外界面文字、排序和正负面状态。
unit_abilities_to_additional_ui_effects_juncs_tables 整个技能需要额外说明时需要 把界面技能记录直接连接到额外说明。
land_units_to_unit_abilites_junctions_tables 兵种永久自带技能时常用 把技能连接给land_units_tables记录。表名中的abilites是原表保留的拼写。
unit_set_unit_ability_junctions_tables 一组单位统一获得技能时需要 通过单位集合批量连接技能。
effect_bonus_value_unit_ability_junctions_tables 科技、角色技能、特性或装备启用、禁用或修改技能时需要 把 Effect 与具体技能和 Bonus Value 连接。
各类限制、行为、强度和切换组表 模板本身使用时才需要 控制可用条件、目标排除、自动关闭、互斥开关、行为组和强度驱动。

没有阶段就不要创建阶段表,没有特殊限制就不要创建限制表。完整复制一套原版技能时,应先查清它实际引用了哪些分支,而不是把所有名字里含special_ability的表全部导入。

主动技能和被动技能到底差在哪里

主动技能

主动技能由玩家或 AI 下令使用,常见特征是:

  • unit_abilities_tables.source_type通常为activecharacteritemunit等符合来源的类型;
  • unit_special_abilities_tables.passive不勾选;
  • 可能设置使用次数、冷却、初始冷却、施放前摇、目标、范围和 AI 使用模板;
  • 效果可以来自阶段,也可以来自投射物、轰击、魔法漩涡、召唤等载荷。

被动技能

被动技能自动生效或在条件满足时自动启停,常见特征是:

  • unit_abilities_tables.source_type通常为passive或与实际来源一致的其他值;
  • unit_special_abilities_tables.passive勾选;
  • 常用无限持续阶段,或通过无效使用条件、自动关闭条件、强度和行为组决定何时生效;
  • 一般不需要玩家选择目标,但可能持续检查自身、周围友军或周围敌军。

source_type主要决定界面上的来源分类,passive才直接参与主动/被动运行方式。只改其中一处可能出现“界面写着被动技能,实际却要手动使用”或相反的错配。复制模板时必须同时检查两处。

不要混淆的其他机制

目标 应优先检查
森林隐蔽、引发恐惧、免疫心理等单位固有属性 unit_attributes_to_groups_junctions_tables和属性组,而不是先做技能。
近战攻击命中后施加状态 melee_weapons_tables.contact_phase及接触阶段。
投射物命中后施加状态 投射物、爆炸或接触阶段相关字段。
法术、绑定法术和魔法之风 同一技能框架,但还要处理法术载荷、魔法之风分组、增幅法术和授予链;见《法术详解》。
全战场任意位置使用的军队技能 可能由战斗资源、派系机制或脚本授予,不应默认连接给某个兵种。

怎样选择原版模板

不要只按技能名称或图标选择模板,要按运行机制选择。

想做的技能 优先比较的原版模板
点击后强化自身 同样只以自身为目标、持续时间相近、阶段修改相似数值的主动技能。
点击后强化友军 同样以友军单位或地面范围为目标、效果人数和作用半径相近的增益技能。
对敌军施加减益 同样使用单体或范围目标、同样刷新目标方式的妖法技能。
常驻自身被动 passive已勾选、阶段持续时间和启停条件相近的被动技能。
条件触发光环 同样使用effect_range、每帧更新目标、无效使用条件或强度系统的被动技能。
投射、轰击、魔法漩涡、召唤 同样填写对应载荷字段,并且动画、AI 模板和目标方式相近的原版技能。
阵型切换 同样使用formation及切换组的原版阵型技能。

查找步骤:

  1. 在游戏中找到两到三个机制相近的原版技能,记录准确的游戏内名称和拥有者。
  2. 用 RPFM 全局搜索名称,在 Loc 中找到unit_abilities_onscreen_name_技能Key
  3. 搜索技能 Key,查看它出现在unit_abilities_tablesunit_special_abilities_tables和哪些分支表中。
  4. 使用查找引用确认拥有者、阶段、Effect 和单位集合等关系。
  5. 比较多个模板共有的字段,再识别某个模板独有的例外。

某个技能由兵种永久自带,只能说明它适合直接连接;不能据此推断所有技能都必须写进兵种连接表。科技、角色技能、装备、派系机制和脚本都可能从其他入口授予同一个技能。

安全复制技能链

不要直接修改或保存db.pack。在自己的Mod类型 Pack 中准备记录时,可以使用两种方式。

新建空表单

  1. 在自己的 Pack 上右键,新建需要的 DB 表。
  2. 新增记录。
  3. 从依赖项中的模板逐列复制。
  4. 立刻把所有主 Key 改成带个人前缀的新 Key。

这种方法适合只有两三个字段的连接表。unit_special_abilities_tables字段很多,手工创建容易漏掉 AI、自动战斗、音频或特殊目标字段,通常更适合导入模板。

从依赖项导入原版表单

  1. 在依赖项中搜索技能 Key,打开它所在的原版表单。
  2. 将需要的表单导入自己的 Pack。
  3. 把导入后的data__重命名为自己的唯一子表名。
  4. 只保留模板技能及其真正需要的记录,反选删除其他行。
  5. 按数据链从外到内修改 Key,并同步更新所有引用。

原版 DB 子表通常也叫data__。Mod 中保留相同路径和子表名,可能覆盖原版整张子表,而不是只添加你留下的几行。每张导入表都应改名,例如twcn_tutorial_unit_abilitiestwcn_tutorial_special_ability_phases

建议先列出 Key 映射,避免漏改:

原技能 Key        → twcn_tutorial_skill_guard
原阶段 Key        → twcn_tutorial_skill_guard_phase
原阶段显示 Key    → twcn_tutorial_skill_guard_display
原额外界面效果 Key → twcn_tutorial_skill_guard_ui_effect

如果你只想复用原版技能,不要复制整条定义链,只在授予表中引用原版 Key。复制后不改 Key 会覆盖原技能,复制后漏改引用则会让自定义技能继续使用原版阶段。

技能的界面身份:unit_abilities_tables

部队技能的界面定义、图标和增幅入口

这张表回答“玩家看到什么”,但不决定技能造成多少伤害或增加多少属性。

字段 含义与使用要点
key 技能唯一 Key,也是unit_special_abilities_tables和各类授予表使用的连接值。新技能必须使用唯一前缀。
superseded_abilities_set 连接被替代技能集合,用于升级或互相取代的界面关系。只有模板使用时才复制。
requires_effect_enabling 勾选后,战役中通常需要 Effect 启用技能才会出现;不勾选时,直接授予的技能可以自行显示。角色技能或科技授予链必须结合原版 Effect 检查。
tooltip_text Assembly Kit 中的本地化字段。Pack 中通常对应 Loc Key unit_abilities_tooltip_text_技能Key,内容是技能说明。
onscreen_name Assembly Kit 中的本地化字段。Pack 中通常对应 Loc Key unit_abilities_onscreen_name_技能Key,内容是游戏内名称。
icon_name ui/battle ui/ability_icons/下的图标名,通常不写扩展名。自定义图标必须按原版目录和格式放入 Pack。
overpower_option 指向技能的另一版本。法术通常用它连接增幅法术;普通技能也可能用于升级变体,但不是所有技能都需要。
type 界面中的效果类型和图标分类,例如游戏内显示的增益、妖法、直接伤害、轰击、吹息、魔法射击、魔法漩涡或阵型。空值可能导致严重错误,必须复制相近模板。
video 可选预览视频入口,常见于法术浏览或说明界面。普通部队技能多为空。
uniqueness 界面稀有度或分类信息。它不是“这个技能只能存在一次”的运行开关。
is_unit_upgrade 是否作为可切换的单位升级出现在自定义战斗前端。崩溃、溃散等不可关闭的系统效果通常不会按普通升级处理。
is_hidden_in_ui 勾选后技能不在通常界面显示。隐藏不等于停止运行。
source_type 游戏界面的来源类别,例如activepassiveunititemcharacterspellboundarmy。应按玩家实际看到的来源选择,不要把字段英文直译成新的游戏术语。
is_hidden_in_ui_for_enemy 是否只对敌方界面隐藏。可用于不希望敌人提前看到的机制,但应沿用已验证模板。

名称和说明为什么不能只写在 DB 表里

RPFM 编辑 Pack 时,玩家实际看到的文字来自 Loc。常见键名为:

unit_abilities_onscreen_name_twcn_tutorial_skill_guard
unit_abilities_tooltip_text_twcn_tutorial_skill_guard

只复制 DB 记录而没有 Loc,游戏可能显示 Key、空白或原版文字。复制原版 Loc 后也必须改 Loc Key 后缀,否则会覆盖原版技能文字。

typesource_type不是同一个概念

  • type回答“这是什么效果形式”,例如增益、妖法或魔法射击。
  • source_type回答“它来自哪里”,例如主动技能、被动技能、装备或法术。

一个主动技能可以是增益,也可以是妖法;一个装备技能也可能使用和主动技能相同的效果类型。不要根据 Key 中有没有active来代替这两个字段。

技能的运行规则:unit_special_abilities_tables

这张表与unit_abilities_tables使用相同的key连接。字段很多,应按功能分组理解。

次数、时间和冷却

字段 含义与使用要点
key 必须对应unit_abilities_tables.key
num_uses 每场战斗可用次数。原版常用-1表示不按有限次数限制,但必须以同类模板为准。
active_time 技能活动时间。投射物类模板常用-1,因为弹丸寿命由投射物记录决定;阶段型技能通常与阶段持续时间协调。
recharge_time 冷却时间。-1常见于不使用普通冷却的被动技能。
initial_recharge 开战或技能获得后的初始冷却。
wind_up_time 下令后到正式生效之间的前摇时间,应与施放动作和显示效果对齐。
shared_recharge_time 给同组、同样配置共享冷却的技能设置公共冷却时间。不要把它当普通recharge_time使用。
update_phase_by_ability_duration 是否让阶段时间跟随技能活动时间更新。只在原版同类模板使用时沿用。

active_time、阶段duration和载荷寿命属于不同层。三者不一致时,可能出现按钮已结束但效果仍在、效果提前消失、显示一直不关闭等问题。

主动、被动和目标刷新

字段 含义与使用要点
passive 勾选为被动运行,不勾选为主动使用。
effect_range 技能收集受影响单位的作用半径。它不一定等于玩家点击目标的最远距离。
target_intercept_range 搜索或拦截目标的距离,常用于施放距离和条件检查;按同类模板理解。
min_range 不能在该距离以内使用,常见于需要最小施放距离的技能。
update_targets_every_frame 勾选后持续重新检查范围内目标;不勾选时通常只在开始时确定目标。移动光环与一次性范围技能的选择通常不同。
affect_self 目标收集时是否允许技能拥有者受到影响。
always_affect_self 即使普通目标筛选没有选中自己,也强制让施放者受影响。不要与affect_self混为一谈。
only_affect_target 只影响直接选中的目标,不继续搜索附近单位。
only_affect_owned_units 只影响符合所有权条件的单位,用于召唤物或特殊控制关系。
num_effected_friendly_units 最多影响多少友军。原版常用负值表示不按普通数量上限限制,但应复制模板。
num_effected_enemy_units 最多影响多少敌军。
target_self 是否允许选择或指向自身。
target_friends 是否允许以友军为目标。
target_enemies 是否允许以敌军为目标。
target_ground 是否允许以地面位置为目标。
target_ground_under_allies 是否允许选择友军脚下的地面。
target_ground_under_enemies 是否允许选择敌军脚下的地面。
affect_siege_equipment 是否影响攻城器械实体。

目标设置不是“勾得越多越兼容”。例如只想对敌军单位施放的减益技能,若同时允许地面和友军目标,玩家可能看到错误光标或 AI 选择错误对象。

四类主要载荷

字段 连接对象 常见用途
activated_projectile projectiles_tables.key 魔法射击、投掷物或其他从施放者发出的弹丸。
bombardment projectile_bombardments_tables.bombardment_key 从目标上空生成的一组投射物。
vortex battle_vortexs_tables.vortex_key 魔法漩涡、移动或持续区域伤害。
spawned_unit land_units_tables.key 召唤单位、变身替换、诱饵或代理单位。

这些字段可以与阶段同时使用,但每条伤害来源都会独立结算。复制技能时必须确认伤害究竟来自阶段、弹丸、爆炸、轰击还是魔法漩涡,避免把原版载荷和新阶段叠在一起造成双重伤害。

召唤、变身与特殊生成

字段 含义与使用要点
spawn_type 生成方式枚举,控制新单位怎样进入战场。
spawn_proxy_vfx 目标预览代理上的粒子特效。
spawn_is_transformation 生成单位是否替换原单位,属于变身流程。
spawn_is_decoy 新单位是否作为原单位的诱饵,界面可能继续展示拥有者数据。
spawn_shares_health_and_fatigue 变身前后是否共享生命和疲劳。
can_be_copied_to_transformation_unit 该技能是否可以复制给变身后的单位。

召唤和变身还会涉及单位许可、生成类型、动画、生命同步和脚本限制。只填写spawned_unit并不等于完成一套可靠的变身系统。

施放动作、范围显示与视觉

字段 含义与使用要点
wind_up_stance 前摇阶段请求的动作姿态。角色没有对应动作时可能站立不动或动作错误。
wind_down_stance 施放结束后的动作姿态。
use_loop_stance 是否循环播放姿态。
targetting_aoe 选择目标时显示的范围样式。
passive_aoe 已下令但尚未正式施放时的范围显示。
active_aoe 技能生效期间的范围显示。
activation_effect 下令或施放时播放的一次性粒子特效。
special_ability_display 连接特殊技能显示记录,可覆盖动画元数据相关效果。
composite_scene_group_on_wind_up 前摇时触发的复合场景组。
composite_scene_group_on_active 正式生效时触发的复合场景组。
display_stops_when_display_expires 让轰击或魔法漩涡的显示按资产自然结束;循环显示使用错误可能无法停止。
formation 连接特殊阵型类型。只用于确实改变阵型的技能。

失误、魔法之风和特殊资源

字段 含义与使用要点
mana_cost 消耗的魔法之风。普通部队技能通常为0;法术按普通版和增幅版分别设置。
miscast_chance 法术失误概率,数值通常按比例表示,例如0.5代表 50%。普通技能一般为0
miscast_explosion 失误时使用的爆炸记录。
miscast_global_bonus 是否接受全局失误概率修正。
current_mana_moves_to_reserve 是否把当前魔法之风移动到储备,属于特殊机制字段。
mom_vortex_key 特殊模式使用的魔法漩涡入口。没有完全匹配的原版模板时保持为空。

音频、语音和界面事件

字段 含义与使用要点
audio 技能音频定义。
voiceover_state 施放时触发的战斗语音状态。
audio_switch_ui_override 覆盖模块化界面音频开关。
audio_switch_casting_override 覆盖模块化施法音频开关。
audio_vo_actor_override 覆盖语音演员入口。
ability_available_ui_event 技能可用时触发的界面事件。没有明确模板时不要填写。

AI 与自动战斗

字段 含义与使用要点
ai_usage AI 使用模板,决定 AI 在什么战况和目标上倾向使用技能。
ai_usage_template_group AI 模板组;设置后可按组匹配多个模板。
additional_melee_cp 技能为自动战斗增加的近战战力。必须大于等于0,负值可能导致启动崩溃。
additional_missile_cp 技能为自动战斗增加的远程战力,同样不能为负。
autoresolver_usage 自动战斗怎样理解该技能,例如单体伤害、范围增益或默认处理。不能为空。
autoresolve_cp_multiplier 自动战斗战力倍率。
autoresolver_targets 自动战斗估算该技能影响的目标数量。

技能能在手动战斗使用,不代表自动战斗一定合理。新技能至少要复制机制相近模板的 AI 和自动战斗字段,再通过多次战斗比较验证。

其他高级字段

字段 含义与使用要点
unique_id 引擎使用的唯一数值标识。复制新技能时不能与其他技能冲突;优先使用 RPFM 提供的生成方式或经过检查的唯一值。
parent_ability 法术浏览等界面使用的父技能关系。带父技能的专用变体可能不会单独显示。
behaviour 连接特殊技能行为组。
intensity_based_activation 根据强度值自动启用或关闭,需配合强度表。
additional_melee_cpadditional_missile_cp 除自动战斗外也参与技能所附带的战力估值,不能随意留成负数。
audio_vo_actor_overridemom_vortex_key等末尾字段 只用于特定系统。空值不是“缺内容”,没有匹配机制时保持为空更安全。

技能与阶段的连接

special_ability_to_special_ability_phase_junctions_tables决定一个技能使用哪些阶段。

字段 含义与使用要点
special_ability 指向unit_special_abilities_tables.key
phase 指向special_ability_phases_tables.id
order 多阶段顺序。相同技能可有多个阶段,不能只复制第一条。
target_self 该阶段作用于施放者自身。
target_friends 该阶段作用于友军目标。
target_enemies 该阶段作用于敌军目标。

unit_special_abilities_tables中的目标字段负责“玩家或系统允许选谁”,连接表中的三个目标字段负责“这个阶段实际加给谁”。两层不一致时,可能出现能选中目标却没有效果,或技能只影响施放者而不影响点击目标。

多阶段技能可能让同一次使用先施加短暂前置状态,再进入主效果,最后进入收尾状态;也可能把不同阶段分别给自己、友军和敌军。不要因为order相同就认定记录重复,先比较三个目标勾选和阶段内容。

技能阶段:special_ability_phases_tables

身份、持续时间、正负面和基础控制

阶段 Key、持续时间、正负面类型和基础控制

字段 含义与使用要点
id 阶段唯一 Key,也是阶段效果表引用的值。
duration 阶段持续秒数。原版常用负值表示持续到其他机制终止,但不要脱离模板自行推断。
effect_type positivenegative等正负面分类,主要影响界面和属性效果方向;它不会自动把所有正数变成增益。
requested_stance 阶段期间请求的动作姿态。
cant_move 阶段期间不能接收移动或攻击命令,但实体仍可能射击、使用技能或进行近战反应。
freeze_fatigue 阶段期间固定疲劳状态。
fatigue_change_ratio 按比例改变疲劳。正负方向必须参考已验证模板。
inspiration_aura_range_mod 修改激励光环范围。
ability_recharge_change 改变目标技能的冷却时间;负值通常缩短,正值通常延长。

生命、复活、魔法之风和附魔

阶段的冷却、生命伤害、复活、魔法之风和附魔字段

字段 含义与使用要点
hp_change_frequency 每隔多少秒尝试一次生命变化。为0时不要假设会自动按每帧结算。
heal_amount 每次结算的总治疗量,在受影响实体之间分配。
damage_amount 每个受影响实体、每次结算受到的伤害。小单位规模下过低数值可能表现异常。
max_damaged_entities 每次伤害或治疗最多影响多少实体;负值常用于不设普通上限。
resurrect 过量治疗是否允许复活阵亡士兵。治疗单体角色时通常没有同样意义。
mana_regen_mod 每秒改变魔法之风恢复。
mana_max_depletion_mod 改变魔法之风最大耗竭值。
imbue_magical 阶段内赋予魔法攻击。
imbue_ignition 阶段内赋予燃烧攻击相关状态。该字段不是简单布尔值,应复制同类模板。

接触效果、显示、音频和作用对象

阶段的接触效果、显示、音频与作用对象

字段 含义与使用要点
imbue_contact 阶段内让目标攻击附带另一个接触阶段。由此可以形成“技能临时赋予命中效果”的链。
phase_display 连接special_ability_phase_displays_tables
phase_audio 阶段持续期间使用的音频定义。
is_hidden_in_ui 隐藏该阶段的界面条目,不等于停止阶段效果。
affects_allies 阶段是否标记为影响友军。
affects_enemies 阶段是否标记为影响敌军。

阶段内的affects_alliesaffects_enemies仍需与技能目标和阶段连接表保持一致。不要用它们单独替代目标配置。

弹药、传播、屏障和移除魔法攻击

阶段的弹药、传播、屏障和移除魔法攻击字段

字段 含义与使用要点
replenish_ammo 阶段开始时按单位最大弹药比例恢复弹药,也可以用负值消耗弹药。
composite_scene_group 阶段开始时触发复合场景组。
spreading 连接传播规则,让状态按特定方式扩散。
freeze_recharge 阶段期间停止目标技能冷却。
barrier_heal_amount 每次生命变化结算时按最大屏障生命比例恢复屏障。
remove_magical 阶段内移除魔法攻击。它与imbue_magical方向相反。

治疗、屏障、驱散和斩杀

阶段末尾的治疗、屏障、驱散和斩杀阈值

字段 含义与使用要点
heal_amount 当前 Schema 中的治疗量字段。旧版结构可能出现同名或重复历史字段,导入旧表时应让 RPFM 升级架构。
barrier_heal_amount 屏障恢复比例。没有屏障的单位不会因此自动获得屏障系统。
remove_magical 临时移除魔法攻击。
execute_ratio 目标生命比例低于或等于该阈值时直接击杀。它不是普通伤害倍率。

阶段数值效果

阶段数值、运算方式和对应战斗属性

special_ability_phase_stat_effects_tables一行只修改一个战斗数值。同一阶段可以有多行。

字段 含义与使用要点
phase 指向阶段 Key。
stat 指向可修改战斗数值,例如stat_melee_attackstat_melee_defencestat_armourstat_morale
value 修改值。具体单位取决于stathow
how 运算方式。常见add表示加减固定值,mult表示倍率。

例如:

stat_melee_attack  / -24 / add  → 近战攻击降低 24
stat_melee_damage_base / 1.15 / mult → 基础武器威力乘以 1.15

不要把mult=15当成“增加 15%”。原版倍率通常写成1.15一类系数;不同数值字段仍要对照同类模板和游戏实测。

阶段属性效果

阶段添加或压制单位属性

special_ability_phase_attribute_effects_tables修改的是引擎属性,不是普通数值。

字段 含义与使用要点
phase 指向阶段 Key。
attribute 指向unit_attributes_tables.key,例如潜行、不可被发现或其他内置属性。
attribute_type positive通常添加属性,negative通常压制属性。

属性 Key 的英文含义不能完全替代游戏表现。先找到一个确实拥有目标属性的原版技能,再复制其阶段属性记录并验证。

阶段显示效果和额外界面说明

阶段横幅、活动特效和实体特效

阶段实体特效挂点与缩放方式

special_ability_phase_displays_tables常用字段:

字段 含义与使用要点
key 显示记录唯一 Key。
banner_vfx 横幅或旗帜层面的特效。
active_vfx 阶段激活期间的通用特效。
entity_vfx 加在单位实体上的特效。
entity_vfx_attach_type 特效挂接方式或挂点类型。
use_new_vfx_scaling 是否使用新的特效缩放方式。

显示效果只负责“看起来怎样”,不会自动提供数值效果。反过来,阶段有效但没有显示记录时,数值仍可能生效,只是玩家难以判断状态是否存在。

阶段连接额外界面效果

额外界面说明链为:

special_ability_phases_tables.id
    ↓
special_ability_phases_to_additional_ui_effects_junctions_tables
    ↓
unit_abilities_additional_ui_effects_tables

unit_abilities_additional_ui_effects_tables中的localised_text负责说明文字,sort_order控制顺序,effect_state用于标记正面或负面显示。它只向玩家解释效果,不会代替阶段数值或属性记录。

使用条件、目标排除和自动关闭

这些表不是每个技能都需要,但它们经常决定被动技能和特殊主动技能是否可用。

表单 作用
special_ability_to_invalid_target_flags_tables 排除不允许成为目标的单位状态或类别。
special_ability_to_invalid_usage_flags_tables 当施放者或战场满足某状态时禁止使用。
special_ability_to_auto_deactivate_flags_tables 条件出现时自动关闭已经激活的技能。
special_ability_to_recharge_contexts_tables 规定技能在哪些上下文中进行冷却。
special_ability_invalid_usage_flags_tables 定义可供上面几张连接表引用的条件 Key 和界面说明。

原版条件覆盖近战状态、移动、飞行、生命比例、疲劳、领导力、弹药、周围敌我单位、是否为施法者、魔法之风等。不要根据英文 Key 猜方向;invalid表示“满足该条件时无效”,而有些 Key 本身又带notno,双重否定很容易填反。

检查方法:

  1. 查看模板使用的是invalid targetinvalid usage还是auto deactivate
  2. special_ability_invalid_usage_flags_tables中读取该 Key 的主说明和反向说明。
  3. 找另一个使用同一条件的原版技能,确认方向。
  4. 进游戏分别测试条件满足和不满足两种状态。

切换组、行为组和强度系统

互斥切换

special_ability_exclusive_toggle_groups_tablesunit_special_ability_to_special_ability_toggle_groups_junctions_tables用于把多个开关技能放进互斥组。常见效果是开启一种阵型、姿态或模式时,自动关闭同组其他选项。

不要仅仅因为两个技能图标相邻就给它们建立切换组;先确认原版是否允许同时激活。

行为组

special_ability_behaviour_groups_tablesspecial_ability_behaviour_to_types_tablesspecial_ability_behaviour_to_ability_junctions_tables用于把技能放入更高层的行为分类。只有原版模板实际引用时才复制整组关系。

强度驱动

special_ability_intensity_settings_tables及相关强度表用于根据某种累积值控制技能强度或自动启停。只有intensity_based_activation勾选并且完整强度链存在时才有意义。普通被动光环不需要为了“更高级”而接入强度系统。

把技能授予谁

兵种永久自带

兵种与部队技能的直接连接

land_units_to_unit_abilites_junctions_tables包含:

字段 含义
land_unit 获得技能的land_units_tables.key
ability 被授予的unit_abilities_tables.key

适用条件:技能确实应该成为该兵种的固定组成部分。复用原版技能时只添加这条连接即可,不需要复制技能定义。

一组单位统一获得

unit_set_unit_ability_junctions_tables适合已经由unit_sets_tables定义的一组单位。它不是“给一个单位添加技能”的更高级做法,而是单位集合本身就是设计对象时的入口。

由科技、角色技能、装备或其他 Effect 授予

常见链路是:

科技 / 角色技能 / 特性 / 装备
    ↓
effects_tables
    ↓
effect_bonus_value_unit_ability_junctions_tables
    ├─ unit_ability → 技能 Key
    └─ bonus_value_id → enable / disable / uses_mod / recharge_mod 等

这种路径适合“满足条件后才出现”“增加次数”“减少冷却”或“暂时禁用”。若requires_effect_enabling已勾选,却没有任何有效的enable链,技能可能在战役中不可见。

常见 Bonus Value:

Key 作用
enable / disable 启用或禁用技能。
uses_mod 加减使用次数。
recharge_mod 按百分比修改冷却。
active_time_mod 按百分比修改活动时间。
effect_range_mod 按百分比修改作用范围。
target_intercept_range_mod 按百分比修改目标距离。
cost_mod / cost_percentage_mod 修改魔法之风消耗。
miscast_percentage_mod 修改失误概率。
spell_mastery_percentage_mod 修改法术精通。

Effect 还必须被正确连接到科技、角色技能、特性、装备或事件。只创建effect_bonus_value_unit_ability_junctions_tables记录,不会自动让 Effect 生效。

从零制作主动技能

以下是通用顺序,不是要求所有技能使用同一载荷。

  1. 选择一个目标方式、载荷和 AI 用法都接近的原版主动技能。
  2. 复制unit_abilities_tables记录,改 Key、名称、说明、图标、typesource_type
  3. 复制unit_special_abilities_tables记录,改相同 Key,再调整次数、冷却、范围、目标和载荷。
  4. 若使用阶段,复制技能—阶段连接、阶段和所有阶段效果,逐层改 Key。
  5. 若使用投射物、轰击、魔法漩涡或召唤,复制或复用对应载荷链。
  6. 按永久连接、单位集合或 Effect 三种路径之一授予技能。
  7. 运行 RPFM 诊断,再进游戏检查按钮、目标、动画、效果和 AI。

从零制作被动技能

  1. 选择一个触发条件、范围和刷新方式相近的原版被动技能。
  2. unit_abilities_tables中使用符合游戏界面的source_type,通常为passive或实际来源类型。
  3. unit_special_abilities_tables中勾选passive,复制模板的活动时间、范围和目标刷新设置。
  4. 复制无限或条件控制的阶段,并建立阶段数值、属性和显示记录。
  5. 若被动需要条件,复制对应的无效使用、自动关闭、行为或强度连接。
  6. 授予目标单位并测试条件的正反两种状态。

诊断顺序

技能完全不出现

依次检查:

  1. 授予表中的单位 Key 和技能 Key 是否正确。
  2. unit_abilities_tablesunit_special_abilities_tables是否使用相同 Key。
  3. is_hidden_in_ui是否误勾选。
  4. requires_effect_enabling是否勾选但没有有效enableEffect。
  5. 主动/被动与source_type是否错配。
  6. 是否因无效使用条件而被隐藏或禁用。

技能有按钮但不能使用

检查目标字段、最小距离、目标距离、地面目标、无效目标条件、无效使用条件、次数、初始冷却和魔法之风消耗。还要确认施放者拥有模板要求的动作和载荷资源。

技能能使用但没有效果

检查技能—阶段连接中的目标勾选、阶段 Key、阶段持续时间、阶段效果的phase引用,以及伤害是否实际来自投射物、轰击或魔法漩涡。

数值生效但界面不显示

检查技能 Loc、type、阶段effect_type、阶段隐藏设置、阶段显示和额外界面效果。界面说明与运行效果是两条独立链。

效果结束后仍然残留

检查active_time与阶段duration、目标是否每帧刷新、显示是否循环、自动关闭条件、freeze_recharge和传播状态。不要只缩短按钮冷却来掩盖残留。

AI 从不使用或乱用

比较同类原版的ai_usage、AI 模板组、目标规则、效果人数和自动战斗字段。AI 需要能理解目标与收益,玩家能手动使用不等于 AI 会正确使用。

游戏内验收清单

RPFM 诊断只能发现架构、引用和部分字段问题,不能证明战斗行为正确。至少进行以下检查:

  1. 自定义战斗中,技能名称、说明、图标、类型和来源术语正确。
  2. 主动技能只在允许的目标和距离上出现可用光标。
  3. 使用次数、初始冷却、普通冷却、活动时间与设计一致。
  4. 自身、友军、敌军和地面目标分别按预期受到效果。
  5. 阶段数值、属性、生命、弹药、屏障或接触效果只结算一次。
  6. 技能结束、单位死亡、逃跑、变身或条件失效后,效果和显示都能正确移除。
  7. 被动技能在条件满足和不满足时分别测试,确认没有反向触发。
  8. AI 能在合理时机使用主动技能,自动战斗结果没有明显异常。
  9. 战役授予技能时,未解锁、已解锁、升级和失去来源四种状态都正确。
  10. 与其他 Mod 一起加载时,没有 Key 冲突、Loc 覆盖或共享原版记录被误改。