命令百科

trigger · has_military_access_to

Definition

  • Supported scope:COUNTRY
  • Supported target:THIS, ROOT, PREV, FROM, OWNER, CONTROLLER, OCCUPIED, CAPITAL

Description

check country has military access to specified country

实战 · 配合 · 坑

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

实战用法

has_military_access_to 常用于外交或决策 mod 中,判断己方是否已取得某国的军事通行权,从而决定是否解锁特定战略决策或触发剧情事件。例如在一个"借道进攻"的任务链里,可以用它作为前置条件,防止玩家在尚未获得通行权时就执行穿越性战略部署:

available = {
    has_military_access_to = FROM
}

配合关系

  • [gives_military_access_to](/wiki/trigger/gives_military_access_to):两者互为镜像——has_military_access_to 检查"我能借道谁",gives_military_access_to 检查"我给了谁通行权",配合使用可完整描述双向通行状态。
  • [has_defensive_war_with](/wiki/trigger/has_defensive_war_with):判断双方是否处于战争状态,因为开战后通行协议通常失效,配合使用可避免逻辑矛盾。
  • [any_allied_country](/wiki/trigger/any_allied_country):在遍历盟友时嵌套 has_military_access_to,可以统计或确认联盟内哪些成员已授予通行权,用于复杂联合作战条件判断。
  • [diplomatic_relation](/wiki/effect/diplomatic_relation):当通行权条件满足时,用该 effect 进一步调整外交关系,形成"确认通行→更新关系"的完整逻辑链。

常见坑

  1. Scope 写错方向:新手容易把 scope 国和目标国搞反——has_military_access_to 的主语是"发起检查的国家",括号内填的是"被借道的目标国"。如果写反,条件永远不会按预期触发。
  2. 误以为包含战争状态:军事通行协议与交战状态是两套独立系统,与某国开战不等于自动拥有其通行权,依赖该 trigger 判断"是否能穿越领土作战"时须额外配合战争/联盟相关 trigger 做完整校验。