命令百科

effect · remove_decision

Definition

  • Supported scope:COUNTRY
  • Supported target:none

Description

Remove specified active decision for scope country - Does not run the remove_effect or put the decision on cooldown. Ignores fire_only_once

实战 · 配合 · 坑

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

实战用法

remove_decision 常用于 mod 中需要手动清除某个进行中决议的场景,例如某个事件触发后强制取消玩家或 AI 正在激活的限时决议,或在国家转型(政变、内战结束)时清理旧阵营遗留的决议。值得注意的是,它不会触发决议的 remove_effect,也不会产生冷却时间,适合"静默撤销"的需求。

country_event = {
    id = my_mod.10
    # 政变成功,清除旧政府的外交斡旋决议
    immediate = {
        remove_decision = diplomatic_mediation_decision
    }
}

配合关系

  • [has_decision](/wiki/trigger/has_decision):在移除前先检查该决议是否处于激活状态,避免脚本报错或逻辑异常。
  • [activate_decision](/wiki/effect/activate_decision):与 remove_decision 形成"撤销-重新激活"组合,常用于重置决议状态或切换决议变体。
  • [add_days_remove](/wiki/effect/add_days_remove):若只想加速决议自然到期而非强制静默移除,可选此命令作为替代方案对比考量。
  • [clr_country_flag](/wiki/effect/clr_country_flag):决议激活时往往会设置国家 flag,移除决议后通常需要同步清除对应 flag,防止后续条件判断出错。

常见坑

  1. 误以为会触发 remove_effectremove_decision 属于"强制移除"而非正常到期,决议内定义的 remove_effect不会执行,如果该块里有重要的收尾逻辑(如清除 modifier、归还资源),必须在调用 remove_decision 的同一上下文中手动补写这些效果。
  2. 在非 COUNTRY scope 下使用:该 effect 仅支持 COUNTRY scope,若写在 every_owned_state 或角色相关的 scope 内会导致脚本解析错误,需确保执行块归属于正确的国家 scope。