﻿# invader appears, before story
spawn_vlaanderen_invader_effect = {
	random_county_in_region = {
		region = special_$INVADER_DYNN$_conquest_region_start
		title_province = { save_scope_as = invader_spawn_location }
	}

	if = {
		limit = { game_start_date = 867.1.1 }
		### create distant, dead ancestors
		character:90108 = { save_scope_as = boudewijn_ii_vlaanderen }
		create_character = {
			template = arnulf_i_vlaanderen_character_template
			dynasty = inherit
			father = scope:boudewijn_ii_vlaanderen
			location = scope:invader_spawn_location
			save_scope_as = arnulf_i_vlaanderen
		}
		create_character = {
			template = boudewijn_iii_vlaanderen_character_template
			dynasty = inherit
			father = scope:arnulf_i_vlaanderen
			location = scope:invader_spawn_location
			save_scope_as = boudewijn_iii_vlaanderen
		}
		create_character = {
			template = arnulf_ii_vlaanderen_character_template
			dynasty = inherit
			father = scope:boudewijn_iii_vlaanderen
			location = scope:invader_spawn_location
			save_scope_as = arnulf_ii_vlaanderen
		}
		create_character = {
			template = boudewijn_iv_vlaanderen_character_template
			dynasty = inherit
			father = scope:arnulf_ii_vlaanderen
			location = scope:invader_spawn_location
			save_scope_as = boudewijn_iv_vlaanderen
		}
		create_character = {
			template = boudewijn_v_vlaanderen_character_template
			dynasty = inherit
			father = scope:boudewijn_iv_vlaanderen
			location = scope:invader_spawn_location
			save_scope_as = boudewijn_v_vlaanderen
		}
		create_character = {
			template = boudewijn_vi_vlaanderen_character_template
			dynasty = inherit
			father = scope:boudewijn_v_vlaanderen
			location = scope:invader_spawn_location
			save_scope_as = boudewijn_vi_vlaanderen
		}
		create_character = {
			template = boudewijn_vii_vlaanderen_character_template
			dynasty = inherit
			father = scope:boudewijn_vi_vlaanderen
			location = scope:invader_spawn_location
			save_scope_as = boudewijn_vii_vlaanderen
		}
		create_character = {
			template = boudewijn_viii_vlaanderen_character_template
			dynasty = inherit
			father = scope:boudewijn_vii_vlaanderen
			location = scope:invader_spawn_location
			save_scope_as = boudewijn_viii_vlaanderen
		}
		create_character = {
			template = boudewijn_ix_vlaanderen_character_template
			dynasty = inherit
			father = scope:boudewijn_viii_vlaanderen
			location = scope:invader_spawn_location
			save_scope_as = boudewijn_ix_vlaanderen
		}
		create_character = { # father
			template = boudewijn_x_vlaanderen_character_template
			dynasty = inherit
			father = scope:boudewijn_ix_vlaanderen
			location = scope:invader_spawn_location
			save_scope_as = boudewijn_x_vlaanderen
		}
	}
	else_if = {
		limit = { game_start_date = 1066.9.15 }
		### create distant, dead ancestors
		character:10074 = { save_scope_as = boudewijn_vii_vlaanderen }
		create_character = {
			template = boudewijn_viii_vlaanderen_character_template
			dynasty = inherit
			father = scope:boudewijn_vii_vlaanderen
			location = scope:invader_spawn_location
			save_scope_as = boudewijn_viii_vlaanderen
		}
		create_character = {
			template = boudewijn_ix_vlaanderen_character_template
			dynasty = inherit
			father = scope:boudewijn_viii_vlaanderen
			location = scope:invader_spawn_location
			save_scope_as = boudewijn_ix_vlaanderen
		}
		create_character = { # father
			template = boudewijn_x_vlaanderen_character_template
			dynasty = inherit
			father = scope:boudewijn_ix_vlaanderen
			location = scope:invader_spawn_location
			save_scope_as = boudewijn_x_vlaanderen
		}
	}
	else = {
		character:90109 = { save_scope_as = boudewijn_x_vlaanderen } # boudewijn i vlaanderen, fallback to create dynasty link
	}

	# INVADER
	create_character = {
		template = boudewijn_xi_vlaanderen_character_template
		father = scope:boudewijn_x_vlaanderen
		dynasty = inherit
		location = scope:invader_spawn_location
		save_scope_as = invader
	}
	scope:invader = {
		add_gold = 1000
		add_prestige = 3000
		add_piety = 150
		
		dynasty = {
			add_dynasty_prestige_level = 1
			add_dynasty_prestige = 3000

			$INVADER_DYNN$_add_dynasty_perks_effect = yes
		}
		house = {
			set_house_name = hi_dynn_vlaanderen_house_constantinople
			set_coa = title:e_vlaanderen
		}

		# rivals
		set_random_rivalry_reason = {
			TARGET = title:e_byzantium.holder
			RELATION = grudge
		}
	}
}

vlaanderen_add_dynasty_perks_effect = {}

vlaanderen_maintenance_effect = {
	apply_invader_modifiers_effect = {
		INVADER_DYNN = $INVADER_DYNN$
	}
	spawn_$INVADER_DYNN$_family_effect = {
		INVADER_CHAR = $INVADER_CHAR$
	}
	spawn_invader_servants_effect = {
		INVADER_CHAR = $INVADER_CHAR$
	}
	form_the_$INVADER_DYNN$_title_effect = {
		#INVADER_DYNN = $INVADER_DYNN$
		INVADER_CHAR = $INVADER_CHAR$
		INVADER_TITLE = $INVADER_TITLE$
		LANDLESS_YES_NO = $LANDLESS_YES_NO$
	}
}

### populating the life of the invader character
spawn_vlaanderen_family_effect = {
	add_trait = crusader_king

	### spouse
	if = {
		limit = { game_start_date = 1066.9.15 }
		character:205897 = { save_scope_as = etienne_blois }
		create_character = {
			template = thibault_blois_character_template
			dynasty = inherit
			father = scope:etienne_blois
			employer = $INVADER_CHAR$
			save_scope_as = thibault_blois
		}
		create_character = {
			template = henri_blois_character_template
			dynasty = inherit
			father = scope:thibault_blois
			employer = $INVADER_CHAR$
			save_scope_as = henri_blois
		}
		create_character = {
			template = marie_blois_character_template
			dynasty = inherit
			father = scope:henri_blois
			employer = $INVADER_CHAR$
			save_scope_as = marie_blois
		}
		scope:marie_blois = {
			disease_immunity_short_effect = yes

			marry = $INVADER_CHAR$

			dynasty = {
				add_dynasty_prestige = 50
			}
		}
	}
	else = {
		create_character = {
			template = marie_blois_character_template
			dynasty = generate
			employer = $INVADER_CHAR$
			save_scope_as = marie_blois
		}
		scope:marie_blois = {
			disease_immunity_short_effect = yes

			marry = $INVADER_CHAR$

			dynasty = {
				set_dynasty_name = hi_dynn_blois
				set_coa = dynasty:721

				add_dynasty_prestige = 50
			}
			house = {
				set_house_name = hi_dynn_blois
			}
		}
	}

	### children
	create_character = {
		template = joan_vlaanderen_character_template
		dynasty = inherit
		employer = $INVADER_CHAR$
		mother = scope:marie_blois
		father = $INVADER_CHAR$
	}
	create_character = {
		template = margaret_ii_vlaanderen_character_template
		dynasty = inherit
		employer = $INVADER_CHAR$
		mother = scope:marie_blois
		father = $INVADER_CHAR$
	}

	### siblings
	create_character = {
		template = isabella_vlaanderen_character_template
		dynasty = inherit
		employer = $INVADER_CHAR$
		father = $INVADER_CHAR$.father
	}
	create_character = {
		template = yolanda_vlaanderen_character_template
		dynasty = inherit
		employer = $INVADER_CHAR$
		father = $INVADER_CHAR$.father
	}
	create_character = {
		template = philip_vlaanderen_character_template
		dynasty = inherit
		employer = $INVADER_CHAR$
		father = $INVADER_CHAR$.father
	}
	create_character = {
		template = henry_vlaanderen_character_template
		dynasty = inherit
		employer = $INVADER_CHAR$
		father = $INVADER_CHAR$.father
	}
	create_character = {
		template = sybille_vlaanderen_character_template
		dynasty = inherit
		employer = $INVADER_CHAR$
		father = $INVADER_CHAR$.father
	}
	create_character = {
		template = eustace_vlaanderen_character_template
		dynasty = inherit
		employer = $INVADER_CHAR$
		father = $INVADER_CHAR$.father
	}
}

# Make sure invader has troops
spawn_vlaanderen_troops_effect = {
	if = {
		limit = { has_character_flag = is_first_invader_flag }
		spawn_army = {
			name = vlaanderen_event_troops
			location = primary_title.title_capital_county.title_province
			war = scope:war
			war_keep_on_attacker_victory = yes
			uses_supply = no
			inheritable = yes
			
			levies = 1250
			men_at_arms = {
				type = pikemen_unit
				stacks = 7
			}
			men_at_arms = {
				type = armored_footmen
				stacks = 9
			}
			men_at_arms = {
				type = armored_horsemen
				stacks = 5
			}
		}
		spawn_vlaanderen_army_effect = yes
	}
	spawn_vlaanderen_army_effect = yes
	spawn_vlaanderen_army_effect = yes
	spawn_vlaanderen_army_effect = yes
	spawn_vlaanderen_army_effect = yes
}
spawn_vlaanderen_army_effect = {
	spawn_army = {
		name = vlaanderen_event_troops
		location = primary_title.title_capital_county.title_province
		war = scope:war
		uses_supply = no
		inheritable = no
		
		levies = 300
		men_at_arms = {
			type = pikemen_unit
			stacks = 9
		}
		men_at_arms = {
			type = pikemen_unit
			stacks = 9
		}
		men_at_arms = {
			type = armored_footmen
			stacks = 11
		}
		men_at_arms = {
			type = armored_footmen
			stacks = 11
		}
		men_at_arms = {
			type = armored_horsemen
			stacks = 10
		}
		men_at_arms = {
			type = trebuchet
			stacks = 7
		}
	}
}

shatter_byzantium_effect = {
	### only once
	set_global_variable = {
		name = fourth_crusade_effect_triggered
		value = yes
	}

	### kingdoms: de jure shift
	title:d_paphlagonia = { add_to_temporary_list = shatter_byzantium_k_nikaea }
	title:d_bucellaria = { add_to_temporary_list = shatter_byzantium_k_nikaea }
	title:d_optimatoi = { add_to_temporary_list = shatter_byzantium_k_nikaea }
	title:d_opsikion = { add_to_temporary_list = shatter_byzantium_k_nikaea }
	title:d_thracesia = { add_to_temporary_list = shatter_byzantium_k_nikaea }
	title:d_ephese = { add_to_temporary_list = shatter_byzantium_k_nikaea }
	hidden_effect = {
		every_in_list = {
			list = shatter_byzantium_k_nikaea
			every_in_de_jure_hierarchy = {
				limit = { tier = tier_duchy }
				set_de_jure_liege_title = title:k_nikaea
			}
		}
	}

	title:d_chaldia = { add_to_temporary_list = shatter_byzantium_k_trebizond }
	title:d_armeniac = { add_to_temporary_list = shatter_byzantium_k_trebizond }
	hidden_effect = {
		every_in_list = {
			list = shatter_byzantium_k_trebizond
			every_in_de_jure_hierarchy = {
				limit = {
					OR = {
						target_is_de_jure_liege_or_above = title:k_pontus
						target_is_de_jure_liege_or_above = title:k_anatolia
					}
					tier = tier_duchy
				}
				set_de_jure_liege_title = title:k_trebizond
			}
		}
	}

	title:d_krete = { add_to_temporary_list = shatter_byzantium_k_venice }
	title:d_cephalonia = { add_to_temporary_list = shatter_byzantium_k_venice }
	hidden_effect = {
		every_in_list = {
			list = shatter_byzantium_k_venice
			every_in_de_jure_hierarchy = {
				limit = { tier = tier_duchy }
				set_de_jure_liege_title = title:k_venice
			}
		}
	}

	title:d_mesopotamia = { add_to_temporary_list = shatter_byzantium_k_cappadocia }
	title:d_sebasteia = { add_to_temporary_list = shatter_byzantium_k_cappadocia }
	title:d_charsianon = { add_to_temporary_list = shatter_byzantium_k_cappadocia }
	title:d_cappadocia = { add_to_temporary_list = shatter_byzantium_k_cappadocia }
	title:d_anatolia = { add_to_temporary_list = shatter_byzantium_k_cappadocia }
	hidden_effect = {
		every_in_list = {
			list = shatter_byzantium_k_cappadocia
			every_in_de_jure_hierarchy = {
				limit = {
					OR = {
						target_is_de_jure_liege_or_above = title:k_pontus
						target_is_de_jure_liege_or_above = title:k_anatolia
					}
					tier = tier_duchy
				}
				if = {
					limit = { exists = title:k_cappadocia }
					set_de_jure_liege_title = title:k_cappadocia
				}
				else = {
					set_de_jure_liege_title = title:k_pontus
				}
			}
		}
	}

	# title:d_armeniac = { add_to_temporary_list = shatter_byzantium_k_candar }
	# title:d_paphlagonia = { add_to_temporary_list = shatter_byzantium_k_candar }
	# hidden_effect = {
	# 	every_in_list = {
	# 		list = shatter_byzantium_k_candar
	# 		every_in_de_jure_hierarchy = {
	# 			limit = {
	# 				OR = {
	# 					target_is_de_jure_liege_or_above = title:k_pontus
	# 					target_is_de_jure_liege_or_above = title:k_anatolia
	# 				}
	# 				tier = tier_duchy
	# 			}
	# 			set_de_jure_liege_title = title:k_candar
	# 		}
	# 	}
	# }

	# title:d_cilicia = { add_to_temporary_list = shatter_byzantium_k_karaman }
	# hidden_effect = {
	# 	every_in_list = {
	# 		list = shatter_byzantium_k_karaman
	# 		every_in_de_jure_hierarchy = {
	# 			limit = {
	# 				OR = {
	# 					target_is_de_jure_liege_or_above = title:k_pontus
	# 					target_is_de_jure_liege_or_above = title:k_anatolia
	# 				}
	# 				tier = tier_duchy
	# 			}
	# 			set_de_jure_liege_title = title:k_karaman
	# 		}
	# 	}
	# }

	# title:d_cibyrrhaeot = { add_to_temporary_list = shatter_byzantium_k_tekke }
	# hidden_effect = {
	# 	every_in_list = {
	# 		list = shatter_byzantium_k_tekke
	# 		every_in_de_jure_hierarchy = {
	# 			limit = {
	# 				OR = {
	# 					target_is_de_jure_liege_or_above = title:k_pontus
	# 					target_is_de_jure_liege_or_above = title:k_anatolia
	# 				}
	# 				tier = tier_duchy
	# 			}
	# 			set_de_jure_liege_title = title:k_tekke
	# 		}
	# 	}
	# }

	# title:d_anatolia = { add_to_temporary_list = shatter_byzantium_k_germiyan }
	# title:d_cappadocia = { add_to_temporary_list = shatter_byzantium_k_germiyan }
	# hidden_effect = {
	# 	every_in_list = {
	# 		list = shatter_byzantium_k_germiyan
	# 		every_in_de_jure_hierarchy = {
	# 			limit = {
	# 				OR = {
	# 					target_is_de_jure_liege_or_above = title:k_pontus
	# 					target_is_de_jure_liege_or_above = title:k_anatolia
	# 				}
	# 				tier = tier_duchy
	# 			}
	# 			set_de_jure_liege_title = title:k_germiyan
	# 		}
	# 	}
	# }

	### empires: de jure shift
	title:k_cyprus = { add_to_temporary_list = shatter_byzantium_e_arabia }
	hidden_effect = {
		every_in_list = {
			list = shatter_byzantium_e_arabia
			every_in_de_jure_hierarchy = {
				limit = {
					target_is_de_jure_liege_or_above = title:e_byzantium
					tier = tier_kingdom
				}
				set_de_jure_liege_title = title:k_egypt.de_jure_liege
			}
		}
	}

	title:k_nikaea = { add_to_temporary_list = shatter_byzantium_e_nikaea }
	title:k_trebizond = { add_to_temporary_list = shatter_byzantium_e_nikaea }
	title:k_rum = { add_to_temporary_list = shatter_byzantium_e_nikaea }
	hidden_effect = {
		every_in_list = {
			list = shatter_byzantium_e_nikaea
			every_in_de_jure_hierarchy = {
				limit = { tier = tier_kingdom }
				set_de_jure_liege_title = title:e_nikaea
			}
		}
	}

	if = {
		limit = { 
			NOR = {
				exists = title:k_dacia.de_jure_liege.holder
				exists = title:k_moldavia.de_jure_liege.holder
			}
		}
		title:k_bulgaria = { add_to_temporary_list = shatter_byzantium_e_bulgaria }
		title:k_dacia = { add_to_temporary_list = shatter_byzantium_e_bulgaria }
		title:k_moldavia = { add_to_temporary_list = shatter_byzantium_e_bulgaria }
		hidden_effect = {
			every_in_list = {
				list = shatter_byzantium_e_bulgaria
				every_in_de_jure_hierarchy = {
					limit = {
						tier = tier_kingdom
					}
					set_de_jure_liege_title = title:e_bulgaria
				}
			}
		}
	}
	else = {
		title:k_bulgaria = { add_to_temporary_list = shatter_byzantium_e_bulgaria }
		title:k_dacia = { add_to_temporary_list = shatter_byzantium_e_bulgaria }
		title:k_moldavia = { add_to_temporary_list = shatter_byzantium_e_bulgaria }
		hidden_effect = {
			every_in_list = {
				list = shatter_byzantium_e_bulgaria
				every_in_de_jure_hierarchy = {
					limit = {
						target_is_de_jure_liege_or_above = title:e_byzantium
						tier = tier_kingdom
					}
					set_de_jure_liege_title = title:k_hungary.de_jure_liege
				}
			}
		}
	}
	
	title:k_thessalonika = { add_to_temporary_list = shatter_byzantium_e_vlaanderen }
	title:k_hellas = { add_to_temporary_list = shatter_byzantium_e_vlaanderen }
	title:k_epirus = { add_to_temporary_list = shatter_byzantium_e_vlaanderen }
	hidden_effect = {
		every_in_list = {
			list = shatter_byzantium_e_vlaanderen
			every_in_de_jure_hierarchy = {
				limit = { tier = tier_kingdom }
				set_de_jure_liege_title = title:e_vlaanderen
			}
		}
	}

	title:k_venice = { add_to_temporary_list = shatter_byzantium_e_italy }
	title:k_sicily = { add_to_temporary_list = shatter_byzantium_e_italy }
	title:k_naples = { add_to_temporary_list = shatter_byzantium_e_italy }
	hidden_effect = {
		every_in_list = {
			list = shatter_byzantium_e_italy
			every_in_de_jure_hierarchy = {
				limit = {
					target_is_de_jure_liege_or_above = title:e_byzantium
					tier = tier_kingdom
				}
				set_de_jure_liege_title = title:e_italy
			}
		}
	}

	title:k_croatia = { add_to_temporary_list = shatter_byzantium_e_carpathia }
	title:k_bosnia = { add_to_temporary_list = shatter_byzantium_e_carpathia }
	title:k_serbia = { add_to_temporary_list = shatter_byzantium_e_carpathia }
	hidden_effect = {
		every_in_list = {
			list = shatter_byzantium_e_carpathia
			every_in_de_jure_hierarchy = {
				limit = {
					target_is_de_jure_liege_or_above = title:e_byzantium
					tier = tier_kingdom
				}
				set_de_jure_liege_title = title:k_hungary.de_jure_liege
			}
		}
	}

	title:k_armenia = { add_to_temporary_list = shatter_byzantium_e_persia }
	hidden_effect = {
		every_in_list = {
			list = shatter_byzantium_e_persia
			every_in_de_jure_hierarchy = {
				limit = {
					target_is_de_jure_liege_or_above = title:e_byzantium
					tier = tier_kingdom
				}
				set_de_jure_liege_title = title:d_kurdistan.de_jure_liege.de_jure_liege
			}
		}
	}

	if = {
		limit = {
			NOT = { title:k_rum.de_jure_liege = title:e_byzantium }
		}
		title:k_armenia = { add_to_temporary_list = shatter_byzantium_asia_minor }
		title:k_aydin = { add_to_temporary_list = shatter_byzantium_asia_minor }
		title:k_candar = { add_to_temporary_list = shatter_byzantium_asia_minor }
		title:k_eretnid = { add_to_temporary_list = shatter_byzantium_asia_minor }
		title:k_germiyan = { add_to_temporary_list = shatter_byzantium_asia_minor }
		title:k_karaman = { add_to_temporary_list = shatter_byzantium_asia_minor }
		title:k_mentese = { add_to_temporary_list = shatter_byzantium_asia_minor }
		title:k_ottoman = { add_to_temporary_list = shatter_byzantium_asia_minor }
		title:k_saruhan = { add_to_temporary_list = shatter_byzantium_asia_minor }
		title:k_tekke = { add_to_temporary_list = shatter_byzantium_asia_minor }
		hidden_effect = {
			every_in_list = {
				list = shatter_byzantium_asia_minor
				every_in_de_jure_hierarchy = {
					limit = {
						target_is_de_jure_liege_or_above = title:e_byzantium
						tier = tier_kingdom
					}
					set_de_jure_liege_title = title:k_rum.de_jure_liege
				}
			}
		}
	}

	# reset latin capital
	title:e_vlaanderen = { set_capital_county = title:c_byzantion }

	# final clean-up
	title:e_byzantium = {
		every_in_de_jure_hierarchy = {
			limit = { tier = tier_kingdom }
			set_de_jure_liege_title = title:e_nikaea
		}
	}

	### destroy e_byzantium title
	title:e_byzantium.holder = {
		every_vassal_or_below = {
			# save previous vassal owners
			if = {
				limit = {
					title:k_nikaea = { is_title_created = yes }
					title:k_nikaea.holder = { is_independent_ruler = no }
					title:k_nikaea.holder.top_liege = title:e_byzantium.holder
				}
				title:k_nikaea.holder = { save_scope_as = receiver_nikaea }
			}
			if = {
				limit = {
					title:k_trebizond = { is_title_created = yes }
					title:k_trebizond.holder = { is_independent_ruler = no }
					title:k_trebizond.holder.top_liege = title:e_byzantium.holder
				}
				title:k_trebizond.holder = { save_scope_as = receiver_trebizond }
			}
			if = {
				limit = {
					title:k_epirus = { is_title_created = yes }
					title:k_epirus.holder = { is_independent_ruler = no }
					title:k_epirus.holder.top_liege = title:e_byzantium.holder
				}
				title:k_epirus.holder = { save_scope_as = receiver_epirus }
			}
			if = {
				limit = {
					title:k_bulgaria = { is_title_created = yes }
					title:k_bulgaria.holder = { is_independent_ruler = no }
					title:k_bulgaria.holder.top_liege = title:e_byzantium.holder
				}
				title:k_bulgaria.holder = { save_scope_as = receiver_bulgaria }
			}
			if = {
				limit = {
					title:k_serbia = { is_title_created = yes }
					title:k_serbia.holder = { is_independent_ruler = no }
					title:k_serbia.holder.top_liege = title:e_byzantium.holder
				}
				title:k_serbia.holder = { save_scope_as = receiver_serbia }
			}
			if = {
				limit = {
					title:k_georgia = { is_title_created = yes }
					title:k_georgia.holder = { is_independent_ruler = no }
					title:k_georgia.holder.top_liege = title:e_byzantium.holder
				}
				title:k_georgia.holder = { save_scope_as = receiver_georgia }
			}

			# destroy vassal titles
			every_held_title = {
				limit = {
					tier > tier_county
					is_head_of_faith = no
					is_landless_type_title = no
				}
				prev = { destroy_title = prev }
			}
		}

		### destroy all other held titles, except for ERE, since we are going to look at their vassals now
		# this way, the old emperor may receive various kingdoms from below
		every_held_title = {
			limit = {
				tier > tier_county
				is_head_of_faith = no
				is_landless_type_title = no
				NOT = { this = title:e_byzantium } # ERE is destroyed at the very end
			}
			prev = { destroy_title = prev }
		}

		### nikaea
		# if a previous title owner exists: give them the title, UNLESS their current tier is king or above
		if = {
			limit = {
				OR = {
					NOT = { exists = scope:receiver_nikaea }
					scope:receiver_nikaea = { highest_held_title_tier >= tier_kingdom }
				}
			}
			ordered_vassal_or_below = { # choose (new) receiver
				limit = {
					highest_held_title_tier < tier_kingdom # you may only receive one successor kingdom
					any_held_title = {
						tier = tier_county
						de_jure_liege.de_jure_liege = title:k_nikaea
					}
				}
				order_by = max_military_strength
				position = 0
				save_scope_as = receiver_nikaea
			}
		}
		# nikaea title; not the actual k_nikaea, because we will grant them an empire anyway
		create_dynamic_title = {
			tier = kingdom
			name = tmp
		}
		create_title_and_vassal_change = {
			type = created
			save_scope_as = title_change
			add_claim_on_loss = no
		}
		scope:new_title = {
			set_no_automatic_claims = yes
			set_delete_on_destroy = yes
			change_title_holder = {
				holder = scope:receiver_nikaea
				change = scope:title_change
			}
		}
		# title:k_nikaea = {
		# 	change_title_holder = {
		# 		holder = scope:receiver_nikaea
		# 		change = scope:title_change
		# 	}
		# }
		resolve_title_and_vassal_change = scope:title_change
		# nikaea vassals
		every_vassal_or_below = {
			limit = {
				highest_held_title_tier < scope:new_title.holder.highest_held_title_tier
				any_held_title = {
					tier = tier_county
					de_jure_liege.de_jure_liege = title:k_nikaea
				}
			}
			create_title_and_vassal_change = {
				type = swear_fealty
				save_scope_as = title_change
				add_claim_on_loss = no
			}
			change_liege = {
				liege = scope:new_title.holder
				change = scope:title_change
			}
			resolve_title_and_vassal_change = scope:title_change
		}

		### trebizond
		# if a previous title owner exists: give them the title, UNLESS their current tier is king or above
		if = {
			limit = {
				OR = {
					NOT = { exists = scope:receiver_trebizond }
					scope:receiver_trebizond = { highest_held_title_tier >= tier_kingdom }
				}
			}
			ordered_vassal_or_below = { # choose (new) receiver
				limit = {
					title:k_trebizond = { is_title_created = no } # all vassal titles were destroyed further up; don't steal titles!
					highest_held_title_tier < tier_kingdom # you may only receive one successor kingdom
					any_held_title = {
						tier = tier_county
						de_jure_liege.de_jure_liege = title:k_trebizond
					}
				}
				order_by = max_military_strength
				position = 0
				save_scope_as = receiver_trebizond
			}
		}
		if = {
			limit = { exists = scope:receiver_trebizond }
			# trebizond title
			create_title_and_vassal_change = {
				type = created
				save_scope_as = title_change
				add_claim_on_loss = no
			}
			title:k_trebizond = {
				change_title_holder = {
					holder = scope:receiver_trebizond
					change = scope:title_change
				}
			}
			resolve_title_and_vassal_change = scope:title_change
			# trebizond vassals
			every_vassal_or_below = {
				limit = {
					highest_held_title_tier < title:k_trebizond.holder.highest_held_title_tier
					any_held_title = {
						tier = tier_county
						de_jure_liege.de_jure_liege = title:k_trebizond
					}
				}
				create_title_and_vassal_change = {
					type = swear_fealty
					save_scope_as = title_change
					add_claim_on_loss = no
				}
				change_liege = {
					liege = title:k_trebizond.holder
					change = scope:title_change
				}
				resolve_title_and_vassal_change = scope:title_change
			}
		}

		### epirus
		# if a previous title owner exists: give them the title, UNLESS their current tier is king or above
		if = {
			limit = {
				OR = {
					NOT = { exists = scope:receiver_epirus }
					scope:receiver_epirus = { highest_held_title_tier >= tier_kingdom }
				}
			}
			ordered_vassal_or_below = { # choose (new) receiver
				limit = {
					title:k_epirus = { is_title_created = no } # all vassal titles were destroyed further up; don't steal titles!
					highest_held_title_tier < tier_kingdom # you may only receive one successor kingdom
					any_held_title = {
						tier = tier_county
						de_jure_liege.de_jure_liege = title:k_epirus
					}
				}
				order_by = max_military_strength
				position = 0
				save_scope_as = receiver_epirus
			}
		}
		if = {
			limit = { exists = scope:receiver_epirus }
			# epirus title
			create_title_and_vassal_change = {
				type = created
				save_scope_as = title_change
				add_claim_on_loss = no
			}
			title:k_epirus = {
				change_title_holder = {
					holder = scope:receiver_epirus
					change = scope:title_change
				}
			}
			resolve_title_and_vassal_change = scope:title_change
			# epirus vassals
			every_vassal_or_below = {
				limit = {
					highest_held_title_tier < title:k_epirus.holder.highest_held_title_tier
					any_held_title = {
						tier = tier_county
						de_jure_liege.de_jure_liege = title:k_epirus
					}
				}
				create_title_and_vassal_change = {
					type = swear_fealty
					save_scope_as = title_change
					add_claim_on_loss = no
				}
				change_liege = {
					liege = title:k_epirus.holder
					change = scope:title_change
				}
				resolve_title_and_vassal_change = scope:title_change
			}
		}

		### bulgaria
		# if a previous title owner exists: give them the title (don't choose a new character), UNLESS their current tier is king or above
		if = {
			limit = {
				OR = {
					NOT = { exists = scope:receiver_bulgaria }
					scope:receiver_bulgaria = { highest_held_title_tier >= tier_kingdom }
				}
			}
			ordered_vassal_or_below = { # choose (new) receiver
				limit = {
					title:k_bulgaria = { is_title_created = no } # all vassal titles were destroyed further up; don't steal titles!
					highest_held_title_tier < tier_kingdom # you may only receive one successor kingdom
					any_held_title = {
						tier = tier_county
						de_jure_liege.de_jure_liege = title:k_bulgaria
					}
				}
				order_by = max_military_strength
				position = 0
				save_scope_as = receiver_bulgaria
			}
		}
		if = {
			limit = { exists = scope:receiver_bulgaria }
			# bulgaria title
			create_title_and_vassal_change = {
				type = created
				save_scope_as = title_change
				add_claim_on_loss = no
			}
			title:k_bulgaria = {
				change_title_holder = {
					holder = scope:receiver_bulgaria
					change = scope:title_change
				}
			}
			resolve_title_and_vassal_change = scope:title_change
			# bulgaria vassals
			every_vassal_or_below = {
				limit = {
					highest_held_title_tier < title:k_bulgaria.holder.highest_held_title_tier
					any_held_title = {
						tier = tier_county
						de_jure_liege.de_jure_liege = title:k_bulgaria
					}
				}
				create_title_and_vassal_change = {
					type = swear_fealty
					save_scope_as = title_change
					add_claim_on_loss = no
				}
				change_liege = {
					liege = title:k_bulgaria.holder
					change = scope:title_change
				}
				resolve_title_and_vassal_change = scope:title_change
			}
		}

		### serbia
		# if a previous title owner exists: give them the title, UNLESS their current tier is king or above
		if = {
			limit = {
				OR = {
					NOT = { exists = scope:receiver_serbia }
					scope:receiver_serbia = { highest_held_title_tier >= tier_kingdom }
				}
			}
			ordered_vassal_or_below = { # choose (new) receiver
				limit = {
					title:k_serbia = { is_title_created = no } # all vassal titles were destroyed further up; don't steal titles!
					highest_held_title_tier < tier_kingdom # you may only receive one successor kingdom
					any_held_title = {
						tier = tier_county
						de_jure_liege.de_jure_liege = title:k_serbia
					}
				}
				order_by = max_military_strength
				position = 0
				save_scope_as = receiver_serbia
			}
		}
		if = {
			limit = { exists = scope:receiver_serbia }
			# serbia title
			create_title_and_vassal_change = {
				type = created
				save_scope_as = title_change
				add_claim_on_loss = no
			}
			title:k_serbia = {
				change_title_holder = {
					holder = scope:receiver_serbia
					change = scope:title_change
				}
			}
			resolve_title_and_vassal_change = scope:title_change
			# serbia vassals
			every_vassal_or_below = {
				limit = {
					highest_held_title_tier < title:k_serbia.holder.highest_held_title_tier
					any_held_title = {
						tier = tier_county
						de_jure_liege.de_jure_liege = title:k_serbia
					}
				}
				create_title_and_vassal_change = {
					type = swear_fealty
					save_scope_as = title_change
					add_claim_on_loss = no
				}
				change_liege = {
					liege = title:k_serbia.holder
					change = scope:title_change
				}
				resolve_title_and_vassal_change = scope:title_change
			}
		}

		### georgia
		# if a previous title owner exists: give them the title, UNLESS their current tier is king or above
		if = {
			limit = {
				OR = {
					NOT = { exists = scope:receiver_georgia }
					scope:receiver_georgia = { highest_held_title_tier >= tier_kingdom }
				}
			}
			ordered_vassal_or_below = { # choose (new) receiver
				limit = {
					title:k_georgia = { is_title_created = no } # all vassal titles were destroyed further up; don't steal titles!
					highest_held_title_tier < tier_kingdom # you may only receive one successor kingdom
					any_held_title = {
						tier = tier_county
						de_jure_liege.de_jure_liege = title:k_georgia
					}
				}
				order_by = max_military_strength
				position = 0
				save_scope_as = receiver_georgia
			}
		}
		if = {
			limit = { exists = scope:receiver_georgia }
			# georgia title
			create_title_and_vassal_change = {
				type = created
				save_scope_as = title_change
				add_claim_on_loss = no
			}
			title:k_georgia = {
				change_title_holder = {
					holder = scope:receiver_georgia
					change = scope:title_change
				}
			}
			resolve_title_and_vassal_change = scope:title_change
			# georgia vassals
			every_vassal_or_below = {
				limit = {
					highest_held_title_tier < title:k_georgia.holder.highest_held_title_tier
					any_held_title = {
						tier = tier_county
						de_jure_liege.de_jure_liege = title:k_georgia
					}
				}
				create_title_and_vassal_change = {
					type = swear_fealty
					save_scope_as = title_change
					add_claim_on_loss = no
				}
				change_liege = {
					liege = title:k_georgia.holder
					change = scope:title_change
				}
				resolve_title_and_vassal_change = scope:title_change
			}
		}

		### venice
		if = {
			limit = { exists = title:c_venezia.holder }
			# list
			title:c_buthrotum = { add_to_temporary_list = potential_k_venice_ports }
			title:c_cephalonia = { add_to_temporary_list = potential_k_venice_ports }
			title:c_chania = { add_to_temporary_list = potential_k_venice_ports }
			title:c_chandax = { add_to_temporary_list = potential_k_venice_ports }
			title:c_euboea = { add_to_temporary_list = potential_k_venice_ports }
			title:c_naxos = { add_to_temporary_list = potential_k_venice_ports }
			# transfer
			create_title_and_vassal_change = {
				type = conquest
				save_scope_as = title_change
				add_claim_on_loss = yes
			}
			every_in_list = {
				list = potential_k_venice_ports # 662
				limit = { holder = { is_ai = yes } }
				change_title_holder = {
					holder = title:c_venezia.holder
					change = scope:title_change
				}
			}
			resolve_title_and_vassal_change = scope:title_change
		}

		### destroy every title held by emperor
		every_held_title = {
			limit = {
				tier >= tier_empire
				is_head_of_faith = no
				is_landless_type_title = no
			}
			prev = { destroy_title = prev }
		}

		# misc
		title:e_nikaea = {
			copy_title_history = title:e_byzantium
		}

		### hand out successor empire
		create_title_and_vassal_change = {
			type = created
			save_scope_as = title_change
			add_claim_on_loss = no
		}
		title:e_nikaea = {
			change_title_holder = {
				#holder = title:k_nikaea.holder
				holder = scope:new_title.holder
				change = scope:title_change
			}
		}
		resolve_title_and_vassal_change = scope:title_change

		scope:new_title.holder = { destroy_title = scope:new_title }

		# character modifier
		if = {
			limit = { exists = title:e_nikaea.holder } # suppress error log spam
			title:e_nikaea.holder = {
				# buffs
				add_character_modifier = first_laskaris_modifier
				add_character_modifier = historicinvasions_plot_armor
				add_character_flag = recent_nation_fracturing_faction_war # makes the AI unlikely to start dissolution factions
				add_character_flag = recent_independence_faction_war # makes the AI unlikely to start independence factions
				if = { # make invader immune to viking incursions
					limit = { # trigger of fp1_scandinavian_adventurers.0001
						has_fp1_dlc_trigger = yes
						NOT = { has_game_rule = fp1_scandi_adventurers_off }
						OR = {
							culture:norse = {
								NOT = { has_cultural_era_or_later = culture_era_early_medieval }
							}
							culture:norwegian = {
								NOT = { has_cultural_era_or_later = culture_era_early_medieval }
							}
							culture:danish = {
								NOT = { has_cultural_era_or_later = culture_era_early_medieval }
							}
							culture:swedish = {
								NOT = { has_cultural_era_or_later = culture_era_early_medieval }
							}
						}
					}
					add_character_modifier = fp1_reprieve_from_sa_modifier
				}
				# potentially generate family
				trigger_event = game_rule.1001
				# army for nikaea
				spawn_army = {
					uses_supply = no
					inheritable = yes
					name = event_troop_default_name
					levies = {
						value = 1500
					}
					men_at_arms = {
						type = cataphract
						stacks = 5
					}
					men_at_arms = {
						type = cataphract
						stacks = 5
					}
					men_at_arms = {
						type = pikemen_unit
						stacks = 7
					}
					men_at_arms = {
						type = pikemen_unit
						stacks = 7
					}
					men_at_arms = {
						type = light_horsemen
						stacks = 3
					}
					location = title:e_nikaea.title_capital_county.title_province # capital_province
				}
			}
		}

		# vassalize orthodox head of faith
		title:k_orthodox.holder = {
			create_title_and_vassal_change = {
				type = swear_fealty
				save_scope_as = title_change
				add_claim_on_loss = no
			}
			change_liege = {
				liege = title:e_nikaea.holder
				change = scope:title_change
			}
			resolve_title_and_vassal_change = scope:title_change
		}

		### succession laws
		# latin empire
		if = {
			limit = { title:e_vlaanderen.holder = { can_have_single_heir_succession_law_trigger = yes } }
			title:e_vlaanderen = { add_title_law = single_heir_succession_law }
		}
		else_if = {
			limit = { title:e_vlaanderen.holder = { can_have_high_partition_succession_law_trigger = yes } }
			title:e_vlaanderen = { add_title_law = high_partition_succession_law }
		}
		# nicene empire
		if = {
			limit = { exists = title:e_nikaea.holder } # suppress error log spam
			if = {
				limit = { title:e_nikaea.holder = { can_have_single_heir_succession_law_trigger = yes } }
				title:e_nikaea = { add_title_law = single_heir_succession_law }
			}
			else_if = {
				limit = { title:e_nikaea.holder = { can_have_high_partition_succession_law_trigger = yes } }
				title:e_nikaea = { add_title_law = high_partition_succession_law }
			}
		}

		### change faith of capitals to prevent instant conversion
		# Latin Empire
		if = {
			limit = {
				title:e_vlaanderen.title_capital_county.holder.top_liege = title:e_vlaanderen.holder
			}
			title:e_vlaanderen.title_capital_county = { set_county_faith = faith:catholic }
		}
		# else = { # countless errors
		# 	title:e_vlaanderen.holder.capital_county = { set_county_faith = faith:catholic }
		# }
		# Nicene Empire
		if = {
			limit = {
				title:e_nikaea.title_capital_county.holder.top_liege = title:e_nikaea.holder
			}
			title:e_nikaea.title_capital_county = { set_county_faith = faith:orthodox }
		}
		# else = { # countless errors
		# 	title:e_nikaea.holder.capital_county = { set_county_faith = faith:orthodox }
		# }

		### add truce
		title:e_vlaanderen.holder = {
			add_truce_both_ways = {
				character = title:e_nikaea.holder
				override = yes
				years = 7
				name = TRUCE_ENFORCE_TRUCE
			}
		}

		### notify players
		every_player = {
			limit = {
				OR = {
					has_religion = religion:christianity_religion
					has_religion = religion:islam_religion
				}
			}
			trigger_event = {
				id = vlaanderen_invasion.1105
				days = 1
			}
		}
	}

	### Constantinople is devastated
	title:e_vlaanderen.holder = {
		save_scope_as = occupant
		every_sub_realm_county = {
			limit = {
				# county has not been looted previously
				NOT = { has_variable = county_looted_by_invader }
				# error.log suppression if development is too low
				development_level > 0
			}
			change_development_level = {
				subtract = development_level
				multiply = 0.15
				floor = yes
			}
			hidden_effect = {
				every_county_province = {
					add_province_modifier = {
						modifier = recently_looted_modifier
						years = 3
					}
				}
			}
		}
	}
}

# latin
vlaanderen_crush_nikaea_decision_effect = {
	hidden_effect = { set_primary_title_to = title:e_vlaanderen }

	### merge de jure land
	hidden_effect = {
		title:e_nikaea = {
			every_in_de_jure_hierarchy = {
				limit = { tier = tier_kingdom }
				set_de_jure_liege_title = title:e_vlaanderen
			}
		}
	}

	### destroy title
	title:e_nikaea.holder = { destroy_title = title:e_nikaea }

	### develop the capital
	title:c_byzantion = { change_development_level = 5 }
	title:d_thrace = { change_county_control = 100 }

	### misc
	set_realm_capital = title:c_byzantion
	add_prestige = 5000
	dynasty = {
		add_dynasty_prestige = 2500
	}
	add_trait = augustus
	give_nickname = nick_hi_restorer

	# you may only enact the decision once
	add_to_global_variable_list = {
		name = unavailable_unique_decisions
		target = flag:vlaanderen_crush_nikaea_decision
	}
}

# greek
vlaanderen_restore_byzantium_decision_effect = {
	### title history
	hidden_effect = { title:e_byzantium = { copy_title_history = title:e_nikaea } }

	### hand out title
	create_title_and_vassal_change = {
		type = returned
		save_scope_as = title_change
		add_claim_on_loss = no
	}
	title:e_byzantium = {
		change_title_holder = {
			holder = root
			change = scope:title_change
		}
	}
	resolve_title_and_vassal_change = scope:title_change
	hidden_effect = { set_primary_title_to = title:e_byzantium }

	### merge de jure land
	hidden_effect = {
		title:e_nikaea = {
			every_in_de_jure_hierarchy = {
				limit = { tier = tier_kingdom }
				set_de_jure_liege_title = title:e_byzantium
			}
		}
		title:e_vlaanderen = {
			every_in_de_jure_hierarchy = {
				limit = { tier = tier_kingdom }
				set_de_jure_liege_title = title:e_byzantium
			}
		}
	}

	### destroy title
	title:e_nikaea.holder = { destroy_title = title:e_nikaea }
	title:e_vlaanderen.holder = { destroy_title = title:e_vlaanderen }

	### develop the capital
	title:c_byzantion = { change_development_level = 5 }
	title:d_thrace = { change_county_control = 100 }

	### misc
	set_realm_capital = title:c_byzantion
	add_prestige = 5000
	dynasty = { add_dynasty_prestige = 2500 }
	add_trait = augustus
	give_nickname = nick_hi_restorer

	# you may only enact the decision once
	add_to_global_variable_list = {
		name = unavailable_unique_decisions
		target = flag:vlaanderen_restore_byzantium_decision
	}
}

vlaanderen_call_to_arms_effect = {
	# scope to 4th crusade war
	random_character_war = {
		limit = {
			using_cb = historicinvasions_landless_invasion_war
			primary_attacker = title:e_vlaanderen.holder
			primary_defender = title:e_byzantium.holder
			title:e_vlaanderen = { is_landless_type_title = yes }
		}
		save_scope_as = fourth_crusade_war
	}

	# Venice
	title:c_venezia.holder = {
		if = {
			limit = {
				is_ai = yes
				has_government = republic_government

				# some requirements from below
				faith = faith:catholic
				sub_realm_size <= 24
				NOR = {
					this = title:e_vlaanderen.holder
					is_vassal_or_below_of = title:e_vlaanderen.holder
					this = title:e_byzantium.holder
					is_vassal_or_below_of = title:e_byzantium.holder
					is_allied_to = title:e_byzantium.holder
					has_truce = title:e_byzantium.holder
				}
			}
			add_to_list = fourth_crusade_war_attackers
		}
	}

	# random crusaders
	every_ruler = {
		limit = {
			is_landed = yes
			highest_held_title_tier >= tier_duchy
			faith = faith:catholic
			sub_realm_size >= 9
			sub_realm_size <= 24
			is_available_healthy_adult = yes
			is_at_war = no
			is_ai = yes
			NOR = {
				this = title:e_vlaanderen.holder
				is_vassal_or_below_of = title:e_vlaanderen.holder
				this = title:e_byzantium.holder
				is_vassal_or_below_of = title:e_byzantium.holder
				is_allied_to = title:e_byzantium.holder
				has_truce = title:e_byzantium.holder
			}
		}
		add_to_list = fourth_crusade_war_attackers
	}

	# add in as attackers
	ordered_in_list = {
		list = fourth_crusade_war_attackers
		order_by = current_military_strength
		max = 25
		check_range_bounds = no
		scope:fourth_crusade_war = { add_attacker = prev }
	}
}