命令百科

trigger · is_ironman

Definition

  • Supported scope:any
  • Supported target:none

Description

Check if current game is ironman.

实战 · 配合 · 坑

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

实战用法

is_ironman 常用于 mod 中需要区分铁人模式与普通模式的场景,例如在铁人模式下禁用某些"作弊性"的决策、事件选项,或者专门为铁人玩家解锁成就相关的触发条件。下面是一个典型用法——在决策的 available 块中,非铁人模式才允许使用某个调试/辅助决策:

# 仅允许非铁人模式玩家使用的辅助决策
my_debug_decision = {
    available = {
        NOT = { is_ironman = yes }
    }
    ...
}

# 反过来:铁人模式专属的成就校验事件选项
option = {
    trigger = {
        is_ironman = yes
    }
    name = "achievement_path.option_a"
    ...
}

配合关系

  • [game_rules_allow_achievements](/wiki/trigger/game_rules_allow_achievements):两者经常同时检查,铁人模式且规则允许成就时才触发特定逻辑,组合使用可精确锁定"标准成就局"环境。
  • [is_historical_focus_on](/wiki/trigger/is_historical_focus_on):mod 常将铁人模式 + 历史国策同时作为"正规局"判断条件,一起放在 AND 块中限制某些功能。
  • [difficulty](/wiki/trigger/difficulty):铁人模式往往与难度挂钩,二者配合可以针对"正式高难铁人局"给予差异化内容或平衡性调整。
  • [custom_trigger_tooltip](/wiki/trigger/custom_trigger_tooltip):当 is_ironman 嵌套在复杂条件中时,用它包裹可以向玩家显示更友好的提示文本,说明为何该选项在铁人模式下被锁定。

常见坑

  1. 将布尔值写反:新手有时写成 is_ironman = no 想表示"铁人模式下禁用",逻辑却写反了——is_ironman = no 在普通模式下为真,记住先想清楚"当前是/不是铁人"再决定用 yes 还是套一层 NOT = { is_ironman = yes }
  2. 误以为可以对 scope 加限定:该 trigger 支持任意 scope(any),但它始终检查的是当前存档是否为铁人模式,与当前迭代到哪个国家/州的 scope 无关,不要误以为切换到某个具体 scope 后行为会有差异。