实战用法
cancel_resistance 常用于占领事件或决议完成后,配合特定剧本逻辑彻底平息某地区的抵抗运动,例如玩家完成了某项"安抚行动"决议时立即取消该州的抵抗活动。也适用于 mod 中为某些核心国家设计"永久和平"的特殊历史节点,与禁用抵抗的指令联动实现长期压制效果。
# 某占领安抚决议的 complete_effect
complete_effect = {
every_state = {
limit = {
is_core_of = GER
is_controlled_by = ROOT
}
cancel_resistance = yes
force_disable_resistance = yes
}
}
配合关系
[force_disable_resistance](/wiki/effect/force_disable_resistance):官方明确推荐搭配使用,cancel_resistance 仅取消当前一次抵抗活动,而 force_disable_resistance 才能从根本上阻止后续抵抗再次触发,两者缺一不可。
[set_occupation_law](/wiki/effect/set_occupation_law):更换占领法令往往是触发或解除抵抗的前提条件,在同一 effect 块中配合使用可保证法令与抵抗状态同步更新。
[has_active_resistance](/wiki/trigger/has_active_resistance):在执行 cancel_resistance 前用该触发器判断当前州是否确实存在活跃抵抗,避免对无抵抗地区执行无意义操作,逻辑更严谨。
[set_compliance](/wiki/effect/set_compliance):在取消抵抗的同时调整服从度,使两项数值保持一致,防止出现服从度极低却无抵抗的不合理状态。
常见坑
- 误以为单独使用即可永久消除抵抗:
cancel_resistance 只是取消当前的抵抗活动,如果不同时调用 force_disable_resistance,下一个检查周期抵抗可能重新触发,导致效果看起来"没生效"。
- 忽略 scope 必须是 STATE:新手有时在 COUNTRY scope 下的循环体外直接调用此命令,或忘记用
limit 筛选目标州,导致脚本报错或对错误的州生效;务必确认执行时已进入具体的 STATE scope。