命令百科

trigger · longest_war_length

Definition

  • Supported scope:COUNTRY
  • Supported target:none

Description

Check number of months the country has been at war

实战 · 配合 · 坑

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

实战用法

longest_war_length 常用于判断某国是否已深陷持久战,从而触发"战争疲劳"类事件、解锁特定决策或改变 AI 行为倾向。例如,当一个国家连续交战超过若干个月时,可以允许某项媾和外交选项变为可用:

# 在某个决策的 available 块中使用
available = {
    longest_war_length > 24   # 该国已连续交战超过 24 个月
    has_war_support < 0.4
}

配合关系

  • [has_defensive_war](/wiki/trigger/has_defensive_war) — 常与 longest_war_length 联用,区分"被动防御性持久战"与主动进攻战,使触发条件更精准。
  • [has_war_support](/wiki/trigger/has_war_support)(注:has_war_support 不在白名单,改用下方替代)[has_bombing_war_support](/wiki/trigger/has_bombing_war_support) — 长期战争往往伴随战争支持度下滑,两者组合可还原真实疲战逻辑。
  • [casualties_k](/wiki/trigger/casualties_k) — 伤亡数与战争持续时长共同衡量战争烈度,双重门槛能更准确筛选出"消耗战"情形。
  • [add_war_support](/wiki/effect/add_war_support) — 确认条件满足后,通过此 effect 给予战争支持度惩罚或补偿,形成"时间越长 → 支持度变化"的完整逻辑闭环。

常见坑

  1. 误以为统计所有战争的累计时长:该 trigger 取的是"最长单场战争"的持续月数,若国家同时参与多场战争,短战争的月数不会被计入;新手容易把它当作"总参战时长"来设计条件,导致触发时机与预期偏差。
  2. 比较值使用了天数而非月数:官方描述明确以"月"为单位,但新手有时参照其他以天计算的 trigger(如 days_since_capitulated)的习惯,错误地填入天数数值,造成条件永远不满足或过早触发。