实战用法
在涉及科学家系统的 mod 中,该 trigger 常用于限制决策或国策的可用性——只有当所在阵营的支持型科学家槽位尚有空余,且本国具备指定专精类型时,才允许玩家触发相关行动,避免无效分配。例如在一个扩展科研合作机制的 mod 中,可用它来限制"共享陆军研究"决策的 available 条件:
available = {
can_assign_supportive_scientist_to_faction = specialization_land
is_faction_leader = no
}
配合关系
[any_scientist](/wiki/trigger/any_scientist):先用此 trigger 检查本国是否存在符合条件的科学家,再搭配 can_assign_supportive_scientist_to_faction 确认槽位空余,双重把关防止无效操作。
[add_scientist_role](/wiki/effect/add_scientist_role):在 effect 块中为科学家添加支持型角色后,常在前置条件中用本 trigger 确认槽位充足,形成"先判断再执行"的标准流程。
[all_active_scientist](/wiki/trigger/all_active_scientist):与 all_active_scientist 配合可遍历当前活跃科学家,结合本 trigger 判断是否真的还有必要开放派遣入口。
[has_completed_focus](/wiki/trigger/has_completed_focus):常作为并列条件,要求国策完成后才解锁支持型科学家分配功能,增加解锁层次感。
常见坑
- 专精类型填写错误:新手容易将参数写成
land 或 specialization_land_doctrine 等不存在的值,正确写法是直接使用游戏内定义的专精标签(如 specialization_land、specialization_naval),填错后 trigger 会静默返回 false 而不报错,导致条件永远不成立。
- 忽略"阵营"前提:该 trigger 检查的是所在阵营的槽位,若当前国家不属于任何阵营(未加入或未建立阵营),trigger 同样会返回 false,需在外层先用相关条件确认国家处于某阵营中,否则单独使用会造成逻辑死角。