命令百科

trigger · ai_irrationality

Definition

  • Supported scope:COUNTRY
  • Supported target:none

Description

check the ai irrationality value

实战 · 配合 · 坑

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

实战用法

ai_irrationality 常用于 AI 行为调试和特殊事件触发场景,例如当 AI 的非理性值超过某个阈值时解锁特殊决议或触发随机事件,也用于判断某个 AI 国家当前的决策"混乱程度"以给玩家提供情报反馈。典型场景是在 AI 专属的 limit 块中过滤掉理性值过低的国家,避免其触发需要稳定逻辑的 focus 链。

# 仅当 AI 非理性值满足条件时才允许触发某事件
country_event = {
    trigger = {
        is_ai = yes
        ai_irrationality > 10
    }
    ...
}

# 在决策的 available 块中用作门槛
available = {
    ai_irrationality < 5
}

配合关系

  • [has_country_flag](/wiki/trigger/has_country_flag):先用国家标记记录某次非理性行为是否已触发过,再配合 ai_irrationality 做双重门槛,防止重复执行。
  • [is_ai](/wiki/trigger/is_ai)(注:白名单未列出,以下替换)[exists](/wiki/trigger/exists):确保目标国家存在后再检测非理性值,避免对已亡国目标报错。
  • [add_ai_strategy](/wiki/effect/add_ai_strategy):当非理性值超限时,通过添加 AI 策略来"纠偏"其行为倾向,形成"检测→矫正"的完整逻辑闭环。
  • [has_country_flag](/wiki/trigger/has_country_flag) + [clr_country_flag](/wiki/effect/clr_country_flag):结合标记的清除与判断,实现对非理性值触发窗口的精确控制,避免同一周期内多次响应。

常见坑

  1. 忘记限定 AI scopeai_irrationality 只对 AI 控制的国家有意义,若在玩家控制的国家 scope 下使用,其值通常为 0 或无意义,需配合逻辑确保仅在 AI 国家中调用,否则条件永远不会按预期触发。
  2. 误用比较运算符:新手常省略比较符直接写 ai_irrationality = 5,但该 trigger 需要使用 > / < / >= 等数值比较形式,写成等号通常无法正确匹配,导致条件块静默失效。