实战用法
is_researching_technology 常用于在某项研究进行中时动态解锁决策、触发事件或给予奖励,例如当国家正在研究某一坦克科技时弹出情报事件或加速进度。也可用于 AI 策略的 limit 块,避免 AI 重复触发与研究相关的行为。
# 当国家正在研究机械化步兵时,才允许激活某个特定决策
available = {
is_researching_technology = mechanised_infantry
}
配合关系
[can_research](/wiki/trigger/can_research):先用 can_research 确认该科技是否合法可研,再用 is_researching_technology 确认是否已经在队列中,两者配合避免逻辑空洞。
[add_tech_bonus](/wiki/effect/add_tech_bonus):在研究进行中奖励科研加成,配合 is_researching_technology 作为触发条件,实现"研究中追加 buff"的设计。
[has_completed_focus](/wiki/trigger/has_completed_focus):常见组合是先判断某国策已完成,再判断是否正在研究对应科技,构建层级解锁条件。
[amount_research_slots](/wiki/trigger/amount_research_slots):与研究槽数量条件并列使用,确保国家在资源充足时才触发相关奖励或事件。
常见坑
- 把它当"已研究完成"来用:
is_researching_technology 只检查正在研究中(即占用研究槽),不代表该科技已经解锁完毕;若要判断科技是否已研完,应使用 has_tech(注意:has_tech 不在本 scope 白名单内,但属于游戏内置 trigger,请勿与本 trigger 混淆)。
- 填写科技 key 错误:科技名必须与
technologies 文件夹中定义的 token 完全一致(区分大小写),填写显示名称或本地化字符串会导致条件永远返回假且不报错,极难排查。