Hands-On Usage
white_peace is commonly used in event-driven peace negotiation scenarios, such as automatically ending a war with a specific nation when the player accepts a diplomatic option, or triggering historical ceasefire agreements within focus trees. Note that ROOT is treated as the victorious party, which affects peace treaty naming and the trigger logic of related on-actions; therefore, choosing the initiating scope is critical.
# Finland accepts ceasefire agreement event
country_event = {
id = winter_war.5
option = {
name = "Accept peace terms"
# Called under SOV scope, SOV as victor, FIN as defeated
SOV = {
white_peace = {
tag = FIN
message = FIN_agree_peace
}
}
}
}
Synergy
[add_state_core](/wiki/effect/add_state_core) — After white peace, the victor typically needs to adjust core ownership for territories gained or ceded; both are commonly combined in the same option block.
[add_named_threat](/wiki/effect/add_named_threat) — Forced cessation can trigger international tensions; adding threat values after white peace makes global conditions feel more realistic.
[add_opinion_modifier](/wiki/effect/add_opinion_modifier) — Add diplomatic relation modifiers to both sides following the peace agreement, simulating post-war brief reconciliation or lingering hostility.
[has_defensive_war_with](/wiki/trigger/has_defensive_war_with) — Check in triggers whether both sides are in active defensive war beforehand, preventing unexpected white_peace calls when no war exists, which can cause script errors or silent failures.
Common Pitfalls
- Reversed scope direction causes inverted victor/defeated status:
white_peace treats ROOT (the nation in the current scope) as the victor; newcomers often mistakenly set the defeated party as the outer scope, resulting in peace treaty names and PC on-actions all triggering in reverse. Carefully confirm that SOV in SOV = { white_peace = { tag = FIN } } is the victor.
- Calling without checking if war exists: If the two nations are not currently at war,
white_peace will not execute and may produce silent errors. It is recommended to use [has_defensive_war_with](/wiki/trigger/has_defensive_war_with) or similar war state checks as conditional guards in the outer layer.