CK3 DatabaseCrusader Kings III · 1.20.1.2 “Crozier” · unofficial
Silk & Silverout Tue, Nov 17What's free, what needs the DLC, price →

Interaction · Landless adventurer actions

Change War Alignment

No costAccepted automatically

Switch sides in a War

What you need

You

The character you target

To send it

  • If any character war: You already switched sides in this War

To see it in the menu

  • Any war ally:
  • Any character war:
    • Is not war leader in the war against you
    • Not: The war’s casus belli is Great Holy War
    • Not: The war’s casus belli is Great Holy War
    • Any war participant:

Change War Alignment is a landless adventurer character interaction in Crusader Kings III. Accepted automatically. Patch 1.20.1.2, from game/common/character_interactions/06_ep3_laamp_interactions.txt.

for a guide, post or blog
Quick answers (1)
Will the AI accept Change War Alignment?
Yes: it is accepted automatically.

Will they accept?

The other character has no choice: the game accepts it automatically.

What happens

Effects

  • If

    • The war:
      • One of these

        • The war’s casus belli is Minor Holy
        • or

          The war’s casus belli is Holy
        • or

          The war’s casus belli is Major Holy
    • The target’s faith is your

    Then

  • Every character active contract:
    • Where: Task contract war is scope:war
    • complete_task_contract = failure_standard
  • The war:
    • If

      • is_defender = scope:secondary_recipient

      Then

      • add_defender = scope:actor

      Otherwise

      • add_attacker = scope:actor
  • Every character war:
    • Where:
      • One of these

        • Has the target as the war's attacker
        • or

          Has the target as the war's defender
    • remove_participant = scope:actor
  • add_prestige = { … }
  • If

    • scope:recipient.highest_held_title_tier >= tier_kingdom

    Then

  • If

    • NOT = { has_contact = scope:secondary_recipient }

    Then

    • add_contact = scope:secondary_recipient
  • If

    • Is allied to the target

    Then

    • break_alliance = scope:recipient
  • Stress and fulfillment impact: +80, and by trait: Disloyal -30, Ambitious -15, Arrogant -15, Callous -5, Arbitrary -5, Just +20, Humble +40, Content +40, Loyal +80
  • The character you target:
    • If

      • Does not have you as friend
      • Does not have you as best friend
      • Does not have you as rival
      • Does not have you as nemesis
      • Does not have you as potential rival

      Then

      • set_relation_potential_rival = scope:actor
    • Opinion: Turned Against Me in a War
  • The other character:
    • Opinion: Switched to My Side in a War
    • If played by the AI: Pay gold to you
  • The character you target › Every character war:
    • Only some of them (the filter is in the script below)
    • If

      • Has the target as the war's attacker

      Then

      • primary_defender = { … }

      Otherwise

      • primary_attacker = { … }

• the game's own tooltip text · ◦ our reading of the script line · code the script where neither exists

Who can use it and sees it (is_available, is_shown) (20 lines of game script)
is_available = is_at_war = yes
has_government = landless_adventurer_government
is_shown = scope:recipient = {
	this != scope:actor
	any_war_ally = {
		this = scope:actor
	}
	any_character_war = {
		NOT = {
			is_war_leader = scope:actor
		}
		NOR = {
			using_cb = undirected_great_holy_war
			using_cb = directed_great_holy_war
		}
		any_war_participant = {
			this = scope:recipient
		}
	}
}

As written in game/common/character_interactions/06_ep3_laamp_interactions.txt.

Can be sent when (is_valid…) (16 lines of game script)
scope:recipient = {
	trigger_if = {
		limit = {
			any_character_war = {
				has_variable_list = already_switched_side
			}
		}
		custom_tooltip = {
			text = laamp_war_change_sides_interaction.already_switched_side
			is_target_in_variable_list = {
				name = already_switched_side
				target = scope:actor
			}
		}
	}
}

As written in game/common/character_interactions/06_ep3_laamp_interactions.txt.

Effects (on_send, on_accept, on_decline) (257 lines of game script)
on_accept = scope:recipient = {
	save_scope_as = betrayed_leader
}
scope:secondary_recipient = {
	save_scope_as = new_leader
}
scope:actor = {
	frankokratia_remove__war_leader_var_effect = yes
	if = {
		limit = {
			any_character_war = {
				using_cb = crusading_claim_cb
				any_war_participant = {
					this = scope:recipient
				}
				any_war_participant = {
					any_owned_story = {
						type = frankokratia_story
						NOT = {
							any_in_list = {
								variable = frankokratia_leaders
								this = scope:actor
							}
						}
					}
				}
				any_war_defender = {
					this = scope:actor
				}
			}
		}
		random_character_war = {
			limit = {
				any_war_participant = {
					any_owned_story = {
						type = frankokratia_story
						NOT = {
							any_in_list = {
								variable = frankokratia_leaders
								this = scope:actor
							}
						}
					}
				}
				any_war_defender = {
					this = scope:actor
				}
			}
			random_war_participant = {
				limit = {
					any_owned_story = {
						type = frankokratia_story
						NOT = {
							any_in_list = {
								variable = frankokratia_leaders
								this = scope:actor
							}
						}
					}
				}
				random_owned_story = {
					type = frankokratia_story
					limit = {
						NOT = {
							any_in_list = {
								variable = frankokratia_leaders
								this = scope:actor
							}
						}
					}
					add_to_variable_list = {
						name = frankokratia_leaders
						target = scope:actor
					}
				}
			}
		}
	}
	random_character_war = {
		limit = {
			OR = {
				primary_attacker = scope:recipient
				primary_defender = scope:recipient
			}
			OR = {
				primary_attacker = scope:secondary_recipient
				primary_defender = scope:secondary_recipient
			}
		}
		save_scope_as = war
	}
	if = {
		limit = {
			scope:war = {
				using_non_ghw_holy_war_cb_trigger = yes
			}
			scope:recipient.faith = scope:actor.faith
		}
		add_piety_level = -1
	}
	every_character_active_contract = {
		limit = {
			var:task_contract_war = scope:war
		}
		complete_task_contract = failure_standard
	}
	if = {
		limit = {
			has_variable = owed_contract_assistance_war
			scope:recipient = {
				is_participant_in_war = scope:actor.var:owed_contract_assistance_war
			}
		}
		remove_variable = owed_contract_assistance_war
		remove_variable = owed_contract_assistance_contribution
		remove_variable = owed_contract_assistance_gold
	}
}
scope:war = {
	hidden_effect = {
		remove_participant = scope:actor
	}
	if = {
		limit = {
			is_defender = scope:secondary_recipient
		}
		add_defender = scope:actor
	}
	else = {
		add_attacker = scope:actor
	}
}
scope:actor = {
	every_character_war = {
		limit = {
			OR = {
				primary_attacker = scope:recipient
				primary_defender = scope:recipient
			}
			this != scope:war
		}
		remove_participant = scope:actor
	}
}
scope:actor = {
	add_prestige = {
		value = -250
		multiply = {
			value = scope:recipient.highest_held_title_tier
			add = -1
		}
	}
	if = {
		limit = {
			scope:recipient.highest_held_title_tier >= tier_kingdom
		}
		add_prestige_level = -1
	}
	if = {
		limit = {
			NOT = {
				has_contact = scope:secondary_recipient
			}
		}
		add_contact = scope:secondary_recipient
	}
	if = {
		limit = {
			is_allied_to = scope:recipient
		}
		break_alliance = scope:recipient
	}
	stress_and_fulfillment_impact = {
		base = major_stress_impact_gain
		disloyal = medium_stress_impact_loss
		ambitious = minor_stress_impact_loss
		arrogant = minor_stress_impact_loss
		callous = miniscule_stress_impact_loss
		arbitrary = miniscule_stress_impact_loss
		just = minor_stress_impact_gain
		humble = medium_stress_impact_gain
		content = medium_stress_impact_gain
		loyal = major_stress_impact_gain
	}
}
scope:recipient = {
	if = {
		limit = {
			can_set_relation_potential_rival_trigger = {
				CHARACTER = scope:actor
			}
		}
		set_relation_potential_rival = scope:actor
	}
	add_opinion = {
		modifier = switched_sides_in_war
		target = scope:actor
	}
}
scope:secondary_recipient = {
	add_opinion = {
		modifier = switched_to_my_side
		target = scope:actor
	}
	if = {
		limit = {
			is_ai = yes
		}
		pay_short_term_gold = {
			target = scope:actor
			gold = major_gold_value
		}
	}
}
scope:recipient = {
	every_character_war = {
		limit = {
			OR = {
				primary_attacker = scope:recipient
				primary_defender = scope:recipient
			}
			NOT = {
				is_war_leader = scope:actor
			}
			NOR = {
				using_cb = undirected_great_holy_war
				using_cb = directed_great_holy_war
			}
			any_war_participant = {
				this = scope:recipient
			}
			NOR = {
				primary_attacker = scope:secondary_recipient
				primary_defender = scope:secondary_recipient
			}
		}
		if = {
			limit = {
				primary_attacker = scope:recipient
			}
			primary_defender = {
				add_opinion = {
					modifier = left_war_early
					opinion = 40
					target = scope:actor
				}
			}
		}
		else = {
			primary_attacker = {
				add_opinion = {
					modifier = left_war_early
					opinion = 20
					target = scope:actor
				}
		
# … (cut here; the rest is in the file)

As written in game/common/character_interactions/06_ep3_laamp_interactions.txt.

Category
Landless adventurer actions
Again on the same character
after 3 years
In the menu
main list
ID
laamp_war_change_sides_interaction

Source: game/common/character_interactions/06_ep3_laamp_interactions.txt and the English localisation, Crusader Kings III 1.20.1.2. “You” is the character who sends it (scope:actor, or a puppet acting for you); “the character you target” is the recipient.

Spotted a mistake on this page?