命令百科

effect · remove_targeted_decision

Definition

  • Supported scope:STATE, COUNTRY
  • Supported target:none

Description

Removes targeted decisions or mission. 
Example: remove_targeted_decision = { target = TAG decision = decision_id_here

实战 · 配合 · 坑

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

实战用法

remove_targeted_decision 常用于 mod 中需要动态撤销针对特定目标的决策或任务的场合,例如当某个外交关系破裂、事件触发后取消正在进行的谈判决策,或者任务完成后清理不再相关的使命入口。典型场景是:玩家通过事件选项放弃某项外交行动,此时需要同时清除挂在目标国身上的对应决策。

# 在某国放弃结盟谈判时,移除针对目标国的外交决策
country_event = {
    id = my_mod.15
    option = {
        name = my_mod.15.a
        # 移除本国对 ENG 挂载的谈判决策
        remove_targeted_decision = {
            target = ENG
            decision = my_alliance_negotiation_decision
        }
    }
}

配合关系

  • [activate_targeted_decision](/wiki/effect/activate_targeted_decision):两者互为逆操作,通常在激活决策的条件不再满足时,用 remove_targeted_decision 将其撤销,形成完整的开关逻辑。
  • [has_active_mission](/wiki/trigger/has_active_mission):在 limittrigger 块中先检查目标是否真正持有对应使命/决策,再执行移除,可避免无效调用产生的日志警告。
  • [add_days_remove](/wiki/effect/add_days_remove):若只是希望决策在有限时间后自动消失,可用 add_days_remove 代替手动移除;但当需要立即且无条件清除时,remove_targeted_decision 才是正确选择,两者配合能处理不同的生命周期需求。
  • [activate_decision](/wiki/effect/activate_decision):与非目标版决策激活配合使用,可在同一 option 中先移除旧的 targeted 决策,再激活新的普通决策,实现决策状态的流畅切换。

常见坑

  1. target 填写错误导致静默失败target 必须是当前游戏中存在的国家 TAG 或合法的 STATE 引用,若目标国家已不存在或 TAG 拼写有误,游戏不会报错但决策不会被移除,新手常因此误以为脚本生效而实际上决策仍然挂载。
  2. 在错误的 scope 下执行:该 effect 需在拥有该决策的 COUNTRY 或 STATE scope 下调用,若在目标方的 scope 内执行(例如误用 every_allied_country 迭代到对方),会导致找不到决策而静默失败,务必确认执行 scope 是挂载决策的一方而非目标方。