实战用法
当你需要判断某国正在发动进攻战但其特定盟友并未参与其中时,这个 trigger 非常有用。典型场景是设计"孤立主义"或"背刺"类事件——例如某国单独开战却未拉上核心盟友时触发外交惩罚或特殊决议。
# 示例:当玩家国家发动进攻战却没有特定盟友时,触发一个外交事件
country_event = {
id = my_mod.1
trigger = {
has_offensive_war_without_friend = {
target = GER # 判断是否没有德国作为盟友参战
}
}
# ...
}
配合关系
[has_defensive_war](/wiki/trigger/has_defensive_war) — 常与本 trigger 对比使用,区分当前国家究竟处于进攻战还是防御战状态,使条件逻辑更完整。
[any_allied_country](/wiki/trigger/any_allied_country) — 用于进一步枚举盟友状态,验证到底哪些盟友参战,与本 trigger 形成双重校验。
[has_war_with](/wiki/trigger/has_war_with)(即结合 [any_enemy_country](/wiki/trigger/any_enemy_country))— 确认交战对象,使"孤立进攻"的判断更加精准。
[add_opinion_modifier](/wiki/effect/add_opinion_modifier) — 当本 trigger 为真时,对相关国家施加外交舆论惩罚,是最常见的后续 effect 搭配。
常见坑
- 误以为 target 是敌方:
target 填写的是期望存在的盟友,而非交战对手。新手容易把目标国填成交战敌国,导致逻辑完全相反,trigger 永远返回错误结果。
- 忽略 scope 必须是 COUNTRY:将此 trigger 放在 STATE 或 CHARACTER scope 下使用会导致脚本报错或静默失效,务必确认外层 scope 是国家级别再写入此条件。