CK3 DatabaseCrusader Kings III · 1.20.0.3 “Crozier” · unofficial

Casus belli · Conquest

Imperial Expedition

Imperial Expedition is a casus belli in Crusader Kings III (conquest). If the attacker wins: The attacker gains the contested Titles, and must then decide whether to turn them over to their Liege for Influence or keep them for …. If the defender wins: The defender keeps the contested Titles, and the attacker must pay them war reparations. Declaring it costs piety and prestige. The war goal is worth 80% war score. Patch 1.20.0.3, from game/common/casus_belli_types/07_ep3_wars.txt.

Quick answers (3)
What do you get for winning a Imperial Expedition war in CK3?
The attacker gains the contested Titles, and must then decide whether to turn them over to their Liege for Influence or keep them for … (patch 1.20.0.3).
What happens on a white peace?
The defender keeps the contested Title.
What does the Imperial Expedition casus belli cost?
piety and prestige; the amount depends on the titles, claims and distance, worked out when you declare.

How the war ends

Attacker wins

The attacker gains the contested Titles, and must then decide whether to turn them over to their Liege for Influence or keep them for …

White peace

The defender keeps the contested Title.

Defender wins

The defender keeps the contested Titles, and the attacker must pay them war reparations.

If the war becomes invalid

The … has ended: the defender no longer … any land in the target region.

Who can declare it

The game shows no text of its own for these conditions; the script is below.

Every conquest war (the group's allowed_for_character) (7 lines of game script)
herders_and_tributary_constraints = yes
pam_personal_pacifism_offensive_war_ban_trigger = yes
tgp_dynastic_cycle_offensive_wars_ban_trigger = yes
tgp_war_ban_all_ministers_trigger = yes
NOT = {
	government_has_flag = government_is_theocracy
}

As written in game/common/casus_belli_groups/00_casus_belli_groups.txt.

Attacker (allowed_for_character) (8 lines of game script)
top_liege != this
liege ?= {
	has_diarchy_active_parameter = unlock_diarch_requests_military_expedition_interaction
}
is_diarch_of_target = liege
NOT = {
	government_has_flag = government_is_landless_adventurer
}

As written in game/common/casus_belli_types/07_ep3_wars.txt.

Defender (allowed_against_character) (6 lines of game script)
scope:attacker = {
	ALL_FALSE = {
		top_liege = scope:defender.top_liege
		liege = scope:defender
	}
}

As written in game/common/casus_belli_types/07_ep3_wars.txt.

When it can start (valid_to_start) (10 lines of game script)
scope:target ?= {
	OR = {
		any_this_title_or_de_jure_above = {
			holder ?= scope:attacker.liege
		}
		any_title_to_title_neighboring_duchy = {
			holder.top_liege ?= scope:attacker.liege
		}
	}
}

As written in game/common/casus_belli_types/07_ep3_wars.txt.

Cost to declare

Costs piety and prestige. The amount is worked out when you declare (by the titles targeted, claims, distance and more), so the script is shown as written:

Cost (93 lines of game script)
piety = {
	add = common_cb_impious_piety_cost
	if = {
		limit = {
			scope:defender.faith = scope:attacker.faith
		}
		add = {
			value = 100
			desc = CB_SAME_FAITH_COST
		}
		add = {
			value = 10
			multiply = scope:attacker.realm_size
			desc = CB_REALM_SIZE_COST
			max = 800
		}
	}
	multiply = common_cb_piety_cost_multiplier
	if = {
		limit = {
			scope:attacker = {
				is_ai = yes
			}
		}
		multiply = 0
	}
}
prestige = {
	value = 0
	if = {
		limit = {
			scope:defender.faith != scope:attacker.faith
		}
		add = {
			value = 150
			desc = CB_COST_DIFFERENT_FAITH
		}
		add = {
			value = 10
			multiply = scope:attacker.realm_size
			desc = CB_REALM_SIZE_COST
			max = 800
		}
	}
	multiply = common_cb_prestige_cost_multiplier
	if = {
		limit = {
			scope:attacker.house = {
				OR = {
					has_house_modifier = fp2_struggle_hostility_house_culture_modifier
					has_house_modifier = fp2_struggle_hostility_house_combined_modifier
				}
			}
			any_in_global_list = {
				variable = fp2_struggle_ending_culture_list
				this = scope:attacker.culture
			}
			any_in_global_list = {
				variable = fp2_struggle_ending_culture_list
				this = scope:defender.culture
			}
		}
		divide = {
			value = 2
			desc = CB_COST_FP2_STRUGGLE_HOSTILITY_CULTURE_DISCOUNT
		}
	}
	if = {
		limit = {
			has_global_variable = fp2_struggle_compromise_ending
			any_in_global_list = {
				variable = fp2_struggle_ending_culture_list
				this = scope:attacker.culture
			}
			any_in_global_list = {
				variable = fp2_struggle_ending_culture_list
				this = scope:defender.culture
			}
		}
		multiply = {
			value = 2
			desc = CB_COST_FP2_STRUGGLE_COMPROMISE_MULTIPLIER
		}
	}
	if = {
		limit = {
			scope:attacker = {
				is_ai = yes
			}
		}
		multiply = 0
	}
}

As written in game/common/casus_belli_types/07_ep3_wars.txt.

Source: game/common/casus_belli_types/07_ep3_wars.txt and the English localisation, Crusader Kings III 1.20.0.3. “The attacker”, “the defender” stand where the game names the character; “…” marks other words it fills in during play.