实战用法
has_tech_bonus 常用于 focus tree 或 decision 的 available / trigger 块中,判断某国是否已通过某条科技奖励路径获得了特定技术或类别的加成,从而决定是否解锁后续选项或显示提示。例如在自定义国策树中,要求玩家先通过某条国策获得装甲科技加成才能推进下一步:
available = {
has_tech_bonus = {
category = armor
}
}
配合关系
[add_tech_bonus](/wiki/effect/add_tech_bonus):两者是一对经典组合——先用 has_tech_bonus 检查某类别的加成是否已存在,再用 add_tech_bonus 给予新的加成,避免重复叠加或形成逻辑冲突。
[has_completed_focus](/wiki/trigger/has_completed_focus):常见于"完成某国策后才拥有科技加成"的验证链,与 has_tech_bonus 并列写在同一 trigger 块中,确保条件严格。
[can_research](/wiki/trigger/can_research):在判断某技术加成是否有实际意义时,配合 can_research 检查该技术当前是否可研究,避免加成生效在已研究或未解锁的技术上造成无效判断。
[has_doctrine](/wiki/trigger/has_doctrine):当科技加成与学说相关联时,常用 has_doctrine 与 has_tech_bonus 共同限制某条路径,确保国家走在正确的军事学说分支上。
常见坑
technology 与 category 混用理解错误:新手常误以为两个字段必须同时填写,实际上填其中一个即可达成判断目的;若同时填写,需注意它们是"且"的关系,指定的 technology 必须同时属于指定 category,否则条件永远为假。
- 把它当作"已研究该技术"的替代判断:
has_tech_bonus 检查的是"是否拥有该科技的研究加成",而非"是否已研究完成该科技",两者含义截然不同——后者应使用 has_tech 来判断,混用会导致逻辑完全错误。