实战用法
has_mastery 常用于设计国家专注树或决策的解锁条件,例如要求玩家在特定兵种方向积累足够经验后才能触发强化性奖励,从而鼓励玩家专注发展某一作战路线。在自定义战役 mod 中,也可用它来分阶段释放剧情事件,使叙事推进与军事成长挂钩。
# 当步兵精通达标时才允许触发某个决策
available = {
has_mastery = {
amount = 150
track = infantry
}
}
配合关系
[has_completed_track](/wiki/trigger/has_completed_track):常与 has_mastery 并列使用,前者检查某条路线是否已全部完成,后者检查累计精通量,两者共同构成"质量 + 数量"的双重门槛。
[add_mastery](/wiki/effect/add_mastery):作为奖励效果与该 trigger 配合——先用 has_mastery 判断精通值是否达到阶段目标,再用 add_mastery 叠加额外奖励,形成"检查 → 奖励"闭环。
[add_mastery_bonus](/wiki/effect/add_mastery_bonus):用于在精通量满足条件后进一步提升后续获取速率,与 has_mastery 配合实现滚雪球式成长设计。
[has_completed_subdoctrine](/wiki/trigger/has_completed_subdoctrine):精通值往往与子学说解锁挂钩,两者结合可精确限定"解锁了某子学说且精通量达标"的复合条件。
常见坑
track 字段值拼写错误:track 必须填写游戏内实际存在的精通轨道标识符(如 infantry、armor 等),若拼错或使用中文名,trigger 会静默失败(始终返回假),且不会给出报错提示,调试时极易忽视。
- 误以为检查的是单条轨道的精确值:官方描述明确是"any track of the given type",即只要同类型中有任意一条轨道达到指定量即为真,而非对所有轨道求和或要求全部达标,设计多轨道门槛时需额外添加其他条件来约束范围。