实战用法
recall_attache 常用于外交关系破裂、宣战或切换阵营的 mod 场景,在双方关系恶化前自动撤回武官以保持逻辑一致性。例如在某国加入敌对阵营前,先收回派驻的武官:
# 德国对中国宣战前,先召回武官
GER = {
recall_attache = CHI
declare_war_on = {
target = CHI
type = annex_everything
}
}
配合关系
[has_attache](/wiki/trigger/has_attache):在执行召回前先检查己方是否确实在目标国有武官,避免对不存在的武官触发无效指令。
[has_attache_from](/wiki/trigger/has_attache_from):从目标国角度验证武官派驻关系是否存在,适合在目标国 scope 内做条件判断。
[declare_war_on](/wiki/effect/declare_war_on):宣战往往会自动中断武官关系,但手动提前召回可确保触发相关事件链或 flag 的正确顺序。
[add_opinion_modifier](/wiki/effect/add_opinion_modifier):召回武官通常伴随外交关系下降,配合此命令给双边施加舆论惩罚,使外交逻辑更完整。
常见坑
- 忘记检查武官是否存在:直接调用
recall_attache 而不用 has_attache 做前置判断,当武官并不存在时脚本不会报错但会静默失败,导致后续依赖该状态的逻辑出现意料外的结果。
- Scope 方向搞反:该 effect 的逻辑是"scope 国从 target 国召回武官",新手容易把 scope 和 target 对调,结果实际上是让对方国家执行召回,而非自己主动撤回武官。