命令百科

effect · declare_war_on

Definition

  • Supported scope:COUNTRY
  • Supported target:none

Description

declares war on specified country

实战 · 配合 · 坑

实战内容由 AI 生成,并已对照 vanilla 命令词表校验 —— 请当作起点而非权威依据。上方的定义节才是游戏自带文档原文。

实战用法

declare_war_on 常用于事件链或焦点树中触发脚本控制的战争,例如在某个国家完成特定国策后强制对目标宣战,绕过正常的战争理由流程。它也适合在 AI 行为脚本或隐藏事件中控制 AI 国家之间的战争爆发时机,实现剧情驱动的战争节点。

# 在一个国策完成后,让当前国家对目标国宣战
complete_national_focus = SOV_push_west
country_event = {
    id = sov.42
}

# 事件选项中触发宣战
country_event = {
    id = sov.42
    option = {
        name = sov.42.a
        declare_war_on = {
            target = POL
            type = annex_everything   # 战争目标类型,需配合 create_wargoal 或直接指定
        }
    }
}

配合关系

  • [can_declare_war_on](/wiki/trigger/can_declare_war_on):在执行宣战前检查是否满足宣战条件(如是否已处于战争状态、是否为盟友),避免脚本报错或逻辑矛盾。
  • [create_wargoal](/wiki/effect/create_wargoal):通常在宣战前先用此命令为战争创建合法的战争目标,使宣战有具体诉求而非无条件开战。
  • [add_to_war](/wiki/effect/add_to_war):宣战后可将其他国家拉入已有战争,与 declare_war_on 配合构建多方阵营战争。
  • [country_event](/wiki/effect/country_event):宣战后触发一系列后续事件(如盟友反应、民意变化),实现完整的战争触发叙事链。

常见坑

  1. 未检查目标是否已是交战方:直接对已处于同一战争中的敌对国再次调用 declare_war_on 会导致脚本错误或行为异常,应先用 [can_declare_war_on](/wiki/trigger/can_declare_war_on) 做前置判断。
  2. 在非 COUNTRY scope 下调用:此命令仅在国家 scope 下有效,若误写在 STATE 或 CHARACTER scope 中(例如在 every_owned_state 块内),游戏不会报明显错误但命令会被静默忽略,难以排查。