实战用法
在占领系统相关 mod 中,当某一动态合规或抵抗修正需要根据剧情事件或玩家决策被撤销时,使用此指令精准移除之前通过 add_state_resistance_compliance_modifier 施加的动态修正器,避免修正器永久堆叠。例如,玩家完成某项"安抚政策"事件后,移除之前施加的反抗压力修正:
# 在事件 option 中,完成安抚后移除对特定州的抵抗修正
option = {
name = pacify_event.1.a
remove_state_resistance_compliance_modifier = {
modifier = harsh_occupation_resistance_debuff
state = 738
}
}
配合关系
[add_state_resistance_compliance_modifier](/wiki/effect/add_state_resistance_compliance_modifier):添加动态修正的对应逆操作,通常成对出现,用于实现"施加→条件触发→移除"的完整生命周期管理。
[has_variable](/wiki/trigger/has_variable):在 if 块中先检查某变量确认该修正器当前是否处于激活状态,防止重复或错误移除。
[if](/wiki/effect/if):包裹本指令,确保只在满足特定条件(如州已被占领或事件已触发)时才执行移除,避免空操作或逻辑错误。
[custom_effect_tooltip](/wiki/effect/custom_effect_tooltip):由于动态修正器的移除在 UI 上不会自动生成友好描述,需要手动配合此指令向玩家展示清晰的效果提示。
常见坑
- 未标记
is_dynamic = yes 的修正器无法被此指令处理:新手常直接引用 resistance_modifiers.txt 或 compliance_modifiers.txt 中的静态修正器名称,导致指令静默失败而不报错,务必确认目标修正器定义中包含 is_dynamic = yes。
state 字段填写错误导致指令作用于错误地区:state 需填写正确的州 ID(整数),若在动态场景下州 ID 不固定,应通过变量或 scope 传递而非硬编码,否则可能移除了不该移除的州上的修正器。