Scripted effect
break_tributary_contract_due_to_attack_effect
break_tributary_contract_due_to_attack_effect = { DEFENDER = … }game/common/scripted_effects/00_war_effects.txt, line 627 (50 lines). Parameters: $DEFENDER$.
break_tributary_contract_due_to_attack_effect is a scripted effect in Crusader Kings III, written at line 627 of its file. A call passes 1 parameter: DEFENDER. The game's script calls it in 1 place, among them on_declared_war (scripted effect). Patch 1.20.1.2, from game/common/scripted_effects/00_war_effects.txt.
What it does
If
is_tributary_of = $DEFENDER$
Then
reverse_add_opinion = { modifier = tributary_ceased_payments_opinion target = $DEFENDER$ }$DEFENDER$ = { … }end_tributary = yes
Otherwise
If
a check the game hides
Then
reverse_add_opinion = { modifier = betrayal_opinion target = $DEFENDER$ opinion = -50 }
$DEFENDER$ = { … }
• the game's own tooltip text · ◦ our reading of the script line · code the script where neither exists
“They” is whatever it runs on (the scope it is called in). The scripted triggers and effects it calls link to their own pages; $PARAMETERS$ stay as written: each call fills them in.
The script as written (50 lines of game script)
break_tributary_contract_due_to_attack_effect = {
save_scope_as = attacker
if = {
limit = { is_tributary_of = $DEFENDER$ }
reverse_add_opinion = {
modifier = tributary_ceased_payments_opinion
target = $DEFENDER$
}
$DEFENDER$ = {
send_interface_toast = {
type = msg_tributary_contract_broken_due_to_war
left_icon = $DEFENDER$
right_icon = scope:attacker
}
}
send_interface_toast = {
type = msg_tributary_contract_broken_due_to_war
left_icon = scope:attacker
right_icon = $DEFENDER$
}
end_tributary = yes
}
else = {
if = {
limit = {
scope:attacker = {
NOT = { has_character_flag = allowed_war_declaration_sans_truce_penalties }
}
}
reverse_add_opinion = {
modifier = betrayal_opinion
target = $DEFENDER$
opinion = -50
}
}
send_interface_toast = {
type = msg_tributary_contract_broken_due_to_war
left_icon = scope:attacker
right_icon = $DEFENDER$
}
$DEFENDER$ = {
send_interface_toast = {
type = msg_tributary_contract_broken_due_to_war
left_icon = $DEFENDER$
right_icon = scope:attacker
}
end_tributary = yes
}
}
}As written in game/common/scripted_effects/00_war_effects.txt.
Where it is used
Every place in common/, events/ and history/ that calls break_tributary_contract_due_to_attack_effect.
Scripted effects (1)
Source: game/common/scripted_effects/00_war_effects.txt and every file of common/, events/ and history/ that calls it, Crusader Kings III 1.20.1.2.