命令百科

trigger · owns_any_state_of

Definition

  • Supported scope:COUNTRY
  • Supported target:none

Description

Check if the country owns any of the states in the list.

实战 · 配合 · 坑

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

实战用法

owns_any_state_of 常用于检查某国是否控制了某一地区的至少一个省份,典型场景包括:判断玩家是否已占领足够的领土以解锁后续决策、国策或事件。例如在一个"统一中东"题材 mod 中,可以用它判断是否持有核心地区任意一州来触发下一阶段任务。

# 某决策的 available 块:只要持有目标列表中任意一个州就可以激活
available = {
    owns_any_state_of = {
        619   # 开罗
        454   # 巴格达
        679   # 大马士革
    }
}

配合关系

  • [any_owned_state](/wiki/trigger/any_owned_state) — 当需要在拥有州上附加更细粒度的条件(如某州的建筑数量或人口)时,可与 owns_any_state_of 组合使用,后者快速筛选范围,前者进一步校验属性。
  • [controls_state](/wiki/trigger/controls_state)owns_any_state_of 仅检查所有权,而领土实际被敌军占领时所有权与控制权会分离,搭配此触发器可同时确认控制状态。
  • [add_state_core](/wiki/effect/add_state_core) — 常在 owns_any_state_of 为真时的 effect 块中使用,对已拥有的州补充核心,形成"占领→核心化"的完整逻辑链。
  • [has_completed_focus](/wiki/trigger/has_completed_focus) — 常作为并列条件:先完成特定国策、再持有目标州,两者同时满足才开放后续内容,避免玩家绕过剧情触发。

常见坑

  1. 把州 ID 写成省份 IDowns_any_state_of 接受的是州(state)编号,而非地图上的省份(province)编号,两者在同一地区可能相差数百,直接从 map 文件复制省份 ID 会导致条件永远不成立。
  2. 误以为"拥有"等于"控制":该 trigger 判断的是外交/游戏意义上的所有权(owner),被敌军占领的州仍算作己方所有,若逻辑上需要"实际掌控",必须额外用 controls_state 进行补充判断,否则会在战争中意外触发不应出现的奖励或事件。