实战用法
white_peace 常用于事件驱动的和平谈判场景,例如当玩家接受某一外交选项时自动结束与特定国家的战争,或在焦点树中触发历史性停战协议。需要注意 ROOT 被视为胜利方,这会影响和平条约名称及相关 on-action 的触发逻辑,因此发起 scope 的选择至关重要。
# 芬兰接受停战协议事件
country_event = {
id = winter_war.5
option = {
name = "接受和平条款"
# 在 SOV scope 下调用,SOV 为胜利方,FIN 为失败方
SOV = {
white_peace = {
tag = FIN
message = FIN_agree_peace
}
}
}
}
配合关系
[add_state_core](/wiki/effect/add_state_core) — 白和之后,胜利方往往需要为所获得或放弃的领土调整核心归属,两者常在同一 option 块中组合使用。
[add_named_threat](/wiki/effect/add_named_threat) — 强制停战可能引发国际紧张局势,白和后附加威胁值使世界局势反应更真实。
[add_opinion_modifier](/wiki/effect/add_opinion_modifier) — 白和协议后为双方添加外交关系修正,模拟战后短暂的和解或敌意残留。
[has_defensive_war_with](/wiki/trigger/has_defensive_war_with) — 在触发器中先检测双方是否正处于防御战状态,避免在无战争时意外调用 white_peace 导致脚本报错或无效执行。
常见坑
- scope 方向写反导致胜负颠倒:
white_peace 以 ROOT(即当前 scope 所在国家)为胜利方,新手常误将失败方设为外层 scope,结果和平条约名称、PC on-action 全部反向触发,应仔细确认 SOV = { white_peace = { tag = FIN } } 中 SOV 才是胜者。
- 未判断战争是否存在就直接调用:如果两国当前并不处于交战状态,
white_peace 不会执行且可能产生静默错误,建议在外层配合 [has_defensive_war_with](/wiki/trigger/has_defensive_war_with) 或类似战争状态检测进行条件保护。