实战用法
clear_rule 常用于国家焦点、事件选项或决议的后续逻辑中,用来撤销之前通过 set_rule 施加的行为限制,例如在外交危机缓和后解除宣战禁令,或在特定任务结束后恢复国家的正常行动能力。注意该 effect 的参数写法与 set_rule 完全镜像,填写你想要清除的那条规则即可。
# 某事件选项:外交危机解除,恢复宣战能力
option = {
name = my_event.1.a
clear_rule = {
can_not_declare_war = yes
}
}
配合关系
[has_active_rule](/wiki/trigger/has_active_rule):在清除规则前先用此触发器检测该规则是否仍处于激活状态,避免无效调用或逻辑混乱。
[add_political_power](/wiki/effect/add_political_power):常在同一事件选项中配合使用,表示国家付出政治资本换取行动自由(如解除宣战限制)。
[add_opinion_modifier](/wiki/effect/add_opinion_modifier):规则清除后往往伴随外交关系变化,用此命令同步调整与相关国家的关系修正。
[country_event](/wiki/effect/country_event):清除规则后触发后续事件,用于构建多阶段剧情链,保证叙事连贯性。
常见坑
- 规则名或值写错导致无法清除:
clear_rule 的子块内容必须与当初 set_rule 时完全一致(包括规则名和值),若拼写不符,游戏不会报错但规则依然保留,新手极易忽略这一点。
- scope 使用错误:
clear_rule 只能在 COUNTRY scope 下执行,若在 STATE 或 CHARACTER scope 中调用(例如写在某个单位领袖的 effect 块里而未切换回国家 scope),脚本会静默失效。