CK3 DatabaseCrusader Kings III · 1.20.0.3 “Crozier” · unofficial

Casus belli · Holy wars

Great Holy War

Great Holy War is a casus belli in Crusader Kings III (holy wars). If the attacker wins: The main contributor gets the target kingdom. Titles in the target kingdom are handed out to the beneficiaries. If the defender wins: No titles change hands. The defenders divide Piety won. Patch 1.20.0.3, from game/common/casus_belli_types/00_religious_war.txt.

Quick answers (2)
What do you get for winning a Great Holy War war in CK3?
The main contributor gets the target kingdom. Titles in the target kingdom are handed out to the beneficiaries (patch 1.20.0.3).
What happens on a white peace?
There can be no white peace.

How the war ends

Attacker wins

The main contributor gets the target kingdom. Titles in the target kingdom are handed out to the beneficiaries

White peace

There can be no white peace

Defender wins

No titles change hands. The defenders divide Piety won.

If the war becomes invalid

The … has ended: it was no longer valid to continue.

Who can declare it

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

Every holy wars war (the group's allowed_for_character) (24 lines of game script)
OR = {
	top_liege = this
	any_liege_or_above = {
		faith = prev.faith
		count = all
	}
}
faith = {
	NOR = {
		has_doctrine_parameter = unreformed
		AND = {
			has_doctrine_parameter = holy_wars_forbidden
			NOT = {
				prev = {
					has_character_flag = bonus_major_holy_war
				}
			}
		}
	}
}
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

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

Attacker (allowed_for_character) (15 lines of game script)
faith = {
	exists = religious_head
	suitable_faith_for_directed_ghw_trigger = yes
	OR = {
		scope:attacker = this.religious_head
		scope:attacker = {
			any_vassal = {
				this = scope:attacker.faith.religious_head
			}
		}
	}
	religion = {
		exists = var:variable_ghw_unlocked
	}
}

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

Defender (allowed_against_character) (5 lines of game script)
scope:attacker.rite = {
	is_hostile_enough_for_holy_war_trigger = {
		RITE = scope:defender.rite
	}
}

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

When it can start (valid_to_start) (51 lines of game script)
scope:attacker.faith = {
	NOR = {
		exists = great_holy_war
		trigger_if = {
			limit = {
				scope:attacker = {
					is_ai = yes
				}
			}
			religion = {
				exists = var:variable_first_ghw_cooldown
			}
		}
	}
}
scope:target = {
	tier = tier_kingdom
	trigger_if = {
		limit = {
			scope:attacker = {
				is_ai = yes
			}
		}
		any_in_de_jure_hierarchy = {
			continue = {
				tier > tier_county
			}
			count >= 5
			tier = tier_county
			scope:attacker.rite = {
				is_hostile_enough_for_holy_war_trigger = {
					RITE = prev.holder.top_liege.rite
				}
			}
		}
	}
	trigger_else = {
		any_in_de_jure_hierarchy = {
			continue = {
				tier > tier_county
			}
			tier = tier_county
			scope:attacker.rite = {
				is_hostile_enough_for_holy_war_trigger = {
					RITE = prev.holder.top_liege.rite
				}
			}
		}
	}
}
exists = scope:defender

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

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