实战用法
add_to_war 常用于事件驱动的外交场景,例如某国在特定条件下被迫或主动加入盟友正在进行的战争,从而实现"拉入参战"的叙事效果。典型案例包括:历史线中苏联被迫对日宣战、小国在大国施压下加入某一阵营,或玩家 mod 中自定义战争联盟的扩展逻辑。
# 英国事件:苏联请求我方加入对波斯的战争
country_event = {
id = my_mod.42
option = {
name = my_mod.42.a
# 英国加入苏联一侧,对波斯宣战
ENG = {
add_to_war = {
targeted_alliance = SOV
enemy = PER
hostility_reason = asked_to_join
single_target_only = yes
}
}
}
}
配合关系
[has_defensive_war](/wiki/trigger/has_defensive_war) — 在加入战争前校验目标方是否处于防御战状态,避免逻辑矛盾(例如不能"加入进攻方"却让对方显示为进攻者)。
[declare_war_on](/wiki/effect/declare_war_on) — 当没有现成战争可加入、需要先由某一方发起战争时,先用此命令开战,再用 add_to_war 拉其他国家入局,二者共同构成完整的战争发动流程。
[has_war](/wiki/trigger/has_war)(注:若白名单中无此项,以下选用最接近的)[has_defensive_war_with](/wiki/trigger/has_defensive_war_with) — 确认指定战争确实存在且对方国家已在交战,是调用 add_to_war 前的必要前置校验。
[create_wargoal](/wiki/effect/create_wargoal) — 在加入战争后为己方补充战争目标,与 add_to_war 搭配使编入战争的国家拥有明确的战后诉求,而不仅仅是"无目标参战"。
常见坑
-
targeted_alliance 指向的国家必须已经在战争中,否则游戏会静默报错或直接忽略该指令。新手常犯的错误是在同一事件里先用 add_to_war 再用 declare_war_on 开战,导致执行顺序颠倒、targeted_alliance 尚未入战时指令无效。应先确保盟方已参战(用 [has_defensive_war_with](/wiki/trigger/has_defensive_war_with) 或类似触发器把关),再执行 add_to_war。
-
single_target_only 遗漏会导致意外的连锁宣战:若不填或设为 no,加入方将自动对 targeted_alliance 的所有现有敌人宣战,而非只针对 enemy 字段所指定的单一国家,容易在多战线 mod 中造成不可控的外交连锁反应。