实战用法
enemies_strength_ratio 常用于 AI 决策或事件中,判断己方与当前所有交战国的综合陆军实力对比,从而触发求和、撤退或反攻等逻辑。例如在一个"战局不利时寻求停战"的事件中,可以用它过滤出处于劣势的国家:
# 当己方军事力量不足敌方一半时,触发求和事件
country_event = {
id = my_mod.42
trigger = {
enemies_strength_ratio < 0.5
has_defensive_war = yes
}
}
配合关系
[fighting_army_strength_ratio](/wiki/trigger/fighting_army_strength_ratio):两者同为实力对比类 trigger,enemies_strength_ratio 衡量所有敌人的综合估算实力,而 fighting_army_strength_ratio 侧重实际交战部队,常对比使用以区分"纸面实力"与"前线压力"。
[has_defensive_war](/wiki/trigger/has_defensive_war):通常搭配使用,确保只在被动防御战场景下才评估敌我实力差距,避免在主动进攻时误触发退缩逻辑。
[any_enemy_country](/wiki/trigger/any_enemy_country):当需要进一步分析哪个具体敌国拉低了实力比时,用此 trigger 遍历所有敌人进行细粒度判断,与 enemies_strength_ratio 形成宏观+微观的两层检查。
[add_war_support](/wiki/effect/add_war_support):在判定己方实力占优(ratio > 1.0)时奖励战争意志,或在处于劣势时扣减,配合实力比做动态的士气管理。
常见坑
- 误以为比值基于真实兵力而非估算值:该 trigger 使用的是游戏内部的"估算"(estimated)实力,并非精确的师数量或装备数,AI 情报遮蔽、未探明的部队均会影响结果,不要用它做精确数值计算,只适合做阈值判断。
- 忘记 scope 必须是交战中的国家:若目标国当前没有任何战争,trigger 的对比对象为空,返回值可能出现非预期结果(通常为真或使条件失效),应先用
[has_defensive_war](/wiki/trigger/has_defensive_war) 或 [any_enemy_country](/wiki/trigger/any_enemy_country) 做前置保护,确保 scope 国确实处于战争状态。