实战用法
strength_ratio 常用于 AI 决策或外交事件中,让某国在己方军力相对强势时才触发进攻、发出最后通牒或加入某个阵营。例如,可以在一个事件的 trigger 块中要求本国兵力是目标国的 1.5 倍以上,再允许宣战选项出现:
# 只有当本国估算兵力至少是德国的 1.5 倍时才显示此选项
trigger = {
strength_ratio = {
tag = GER
ratio = 1.5
}
}
配合关系
[enemies_strength_ratio](/wiki/trigger/enemies_strength_ratio):strength_ratio 针对指定 tag 做双边比较,而 enemies_strength_ratio 针对所有当前交战敌国加总;两者搭配可以同时满足"针对特定国家"与"针对整体敌方"的复合兵力判断。
[has_army_size](/wiki/trigger/has_army_size):兵力比例往往需要配合绝对兵力下限一起用,避免双方都很弱时比例条件意外触发。
[any_enemy_country](/wiki/trigger/any_enemy_country):在循环检测多个潜在敌国时,可在 any_enemy_country 的 limit 内嵌套 strength_ratio,筛选出己方具有明显优势的那个敌国。
[declare_war_on](/wiki/effect/declare_war_on):满足兵力比条件后,通常紧接着在 effect 块中执行宣战,是该 trigger 最典型的下游 effect。
常见坑
- 把比较方向搞反:
ratio 的含义是"scope 国 ÷ tag 国",值大于 1 表示 scope 国更强;新手常误以为值越小代表自己越强,或把 tag 填成自己想"压倒"的对象却搞反了分子分母,导致条件逻辑完全相反。
- 忽略"估算"性质导致结果不稳定:该 trigger 使用的是游戏内部的估算强度(包含训练中部队、装备库存等权重),与玩家直觉中的"在场兵力"存在偏差;在 AI 脚本里设定过于精确的阈值(如
ratio = 1.01)容易因估算波动而产生不稳定行为,建议留出合理余量。