CK3 DatabaseCrusader Kings III · 1.20.0.3 “Crozier” · unofficial

Casus belli · Conquest

Duchy Conquest

Duchy Conquest is a casus belli in Crusader Kings III (conquest). If the attacker wins: The attacker gains the contested Title. If the defender wins: The defender keeps the contested Title. 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/00_conquest.txt.

Quick answers (3)
What do you get for winning a Duchy Conquest war in CK3?
The attacker gains the contested Title (patch 1.20.0.3).
What happens on a white peace?
The defender keeps the contested Title.
What does the Duchy Conquest 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 Title.

White peace

The defender keeps the contested Title.

Defender wins

The defender keeps the contested Title.

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) (4 lines of game script)
can_use_conquest_cbs_trigger = yes
NOT = {
	government_has_flag = government_is_landless_adventurer
}

As written in game/common/casus_belli_types/00_conquest.txt.

Defender (allowed_against_character) (16 lines of game script)
scope:attacker = {
	ALL_FALSE = {
		top_liege = scope:defender.top_liege
		liege = scope:defender
	}
	trigger_if = {
		limit = {
			government_has_flag = government_is_nomadic
		}
		scope:defender = {
			NOT = {
				government_has_flag = government_is_nomadic
			}
		}
	}
}

As written in game/common/casus_belli_types/00_conquest.txt.

When it can start (valid_to_start) (31 lines of game script)
scope:target = {
	is_landless_type_title = no
	any_in_de_jure_hierarchy = {
		tier = tier_county
		neighboring_county_or_viking_conquest_trigger = {
			CHARACTER = root
		}
	}
}
scope:target = {
	trigger_if = {
		limit = {
			scope:attacker = {
				is_ai = yes
			}
		}
		any_in_de_jure_hierarchy = {
			continue = {
				tier > tier_county
			}
			count >= 2
			tier = tier_county
			holder ?= {
				OR = {
					this = scope:defender
					is_vassal_or_below_of = scope:defender
				}
			}
		}
	}
}

As written in game/common/casus_belli_types/00_conquest.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 (77 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
}
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
		}
	}
}

As written in game/common/casus_belli_types/00_conquest.txt.

Source: game/common/casus_belli_types/00_conquest.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.