﻿lwxxx_start_will_effect = {
	primary_title = {
		save_temporary_scope_as = lwxxx_primary_title
		add_title_law = lwxxx_last_will_elective_succession_law
		add_to_list = lwxxx_elective_titles_list
	}

	ordered_held_title = {
		limit = { not = { this = scope:lwxxx_primary_title } }

		order_by = tier
		max = 10000
		check_range_bounds = no

		save_temporary_scope_as = lwxxx_vassal_title

		if = {
			limit = {
				not = {
					any_in_list = {
						list = lwxxx_elective_titles_list

						save_temporary_scope_as = lwxxx_de_jure_liege
						scope:lwxxx_vassal_title = { target_is_de_jure_liege_or_above = scope:lwxxx_de_jure_liege }
					}
				}
			}

			add_title_law = lwxxx_last_will_elective_succession_law
			add_to_list = lwxxx_elective_titles_list
		}
	}
}

lwxxx_discard_will_effect = {
	every_held_title = {
		limit = { has_title_law = lwxxx_last_will_elective_succession_law }

		clear_title_laws = yes
	}
}

lwxxx_grant_title_effect = {
	$CHARACTER$ = { save_temporary_scope_as = lwxxx_holder }

	create_title_and_vassal_change = {
		type = granted
		save_scope_as = change
		add_claim_on_loss = yes
	}

	$TITLE$ = {
		change_title_holder = {
			holder = scope:lwxxx_holder
			change = scope:change
		}
		remove_variable = $VARIABLE$
	}

	resolve_title_and_vassal_change = scope:change
}

lwxxx_claim_de_jure_vassals_effect = {
	$CHARACTER$ = { save_temporary_scope_as = lwxxx_de_jure_liege }
	$TITLE$ = { save_temporary_scope_as = lwxxx_de_jure_title }

	scope:lwxxx_de_jure_title = {
		# the title being granted to father
		if = {
			limit = { tier >= tier_duchy }

			every_de_jure_county_holder = {
				# every holder of one of father's de jure counties
				limit = {
					not = {
						any_held_title = {
							# all the holder's titles
							save_temporary_scope_as = lwxxx_held_title
							not = {
								# not part of father's de jure
								scope:lwxxx_de_jure_title = { is_de_jure_liege_or_above_target = scope:lwxxx_held_title }
							}
						}
					}
				}

				create_title_and_vassal_change = {
					type = swear_fealty
					save_scope_as = change
					add_claim_on_loss = no
				}

				change_liege = {
					liege = scope:lwxxx_de_jure_liege
					change = scope:change
				}

				resolve_title_and_vassal_change = scope:change
			}
		}
	}
}