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

	### Hadabanid
	character:159169 = { save_scope_as = dynasty_root } # born 820

	if = {
		limit = {
			game_start_date > 1049.1.1
			exists = character:159156
		}
		character:159156 = { save_scope_as = marwan_ayyubid }
	}
	else = {
		create_character = { # Merwan Rawadid
			template = marwan_ayyubid_character_template
			dynasty = inherit
			location = scope:invader_spawn_location
			father = scope:dynasty_root #todo
			save_scope_as = marwan_ayyubid
		}
	}
	
	create_character = { # GRANDFATHER
		template = shadhi_ayyubid_character_template
		dynasty = inherit
		location = scope:invader_spawn_location
		father = scope:marwan_ayyubid
		save_scope_as = shadhi_ayyubid
	}
	create_character = { # UNCLE
		template = shirkuh_ayyubid_character_template
		dynasty = inherit
		location = scope:invader_spawn_location
		father = scope:shadhi_ayyubid
		save_scope_as = shirkuh_ayyubid
	}
	create_character = { # FATHER
		template = ayyub_ayyubid_character_template
		dynasty = inherit
		location = scope:invader_spawn_location
		father = scope:shadhi_ayyubid
		save_scope_as = ayyub_ayyubid
		after_creation = {
			create_cadet_branch = {}
			father = { death = natural }
		}
	}

	create_character = { # INVADER
		template = saladin_ayyubid_character_template
		dynasty = inherit
		location = scope:invader_spawn_location
		father = scope:ayyub_ayyubid
		save_scope_as = invader
		after_creation = {
			add_character_flag = spawned_$INVADER_DYNN$
		}
	}
	scope:invader = {
		add_gold = 7500
		add_prestige = 2500
		add_piety = 650
		
		dynasty = {
			# set_dynasty_name = hi_dynn_hadabanid

			add_dynasty_prestige_level = 1
			add_dynasty_prestige = 4000

			$INVADER_DYNN$_add_dynasty_perks_effect = yes
		}
		house = {
			set_coa = title:e_ayyubid
			set_house_name = hi_dynn_hadabanid_house_ayyubid
		}

		add_pressed_claim = title:k_egypt
	}

	every_player = {
		trigger_event = $INVADER_DYNN$_invasion.1001 # Notification: Start of invasion
	}
}

ayyubid_add_dynasty_perks_effect = {
	add_dynasty_perk = warfare_legacy_1
	add_dynasty_perk = warfare_legacy_2
	add_dynasty_perk = warfare_legacy_3
}

spawn_ayyubid_invader_as_landless_adventurer_effect = {
	random_county_in_region = {
		region = special_$INVADER_DYNN$_conquest_region_3
		title_province = { save_scope_as = invader_spawn_location }
	}

	### Hadabanid
	character:159169 = { save_scope_as = dynasty_root } # born 820

	create_character = {
		template = marwan_ayyubid_character_template
		dynasty = inherit
		location = scope:invader_spawn_location
		father = scope:dynasty_root #todo
		save_scope_as = marwan_ayyubid
	}
	create_character = { # GRANDFATHER
		template = shadhi_ayyubid_character_template
		dynasty = inherit
		location = scope:invader_spawn_location
		father = scope:marwan_ayyubid
		save_scope_as = shadhi_ayyubid
	}
	create_character = { # UNCLE
		template = shirkuh_ayyubid_character_template
		dynasty = inherit
		location = scope:invader_spawn_location
		father = scope:shadhi_ayyubid
		save_scope_as = shirkuh_ayyubid
	}
	create_character = { # FATHER
		template = ayyub_ayyubid_character_template
		dynasty = inherit
		location = scope:invader_spawn_location
		father = scope:shadhi_ayyubid
		save_scope_as = ayyub_ayyubid
		after_creation = {
			create_cadet_branch = {}
			father = { death = natural }
		}
	}

	create_character = { # INVADER
		template = saladin_ayyubid_character_template
		dynasty = inherit
		location = scope:invader_spawn_location
		father = scope:ayyub_ayyubid
		save_scope_as = invader
	}
	scope:invader = {
		add_gold = 30
		add_prestige = 50
		add_piety = 20
		
		dynasty = {
			# set_dynasty_name = hi_dynn_hadabanid

			add_dynasty_prestige = 25
		}
		house = {
			set_coa = title:e_ayyubid
			set_house_name = hi_dynn_hadabanid_house_ayyubid
		}

		if = {
			limit = { has_ep3_dlc_trigger = yes }
			dynasty = {
				random_dynasty_member = {
					limit = { NOT = { this = scope:invader } }
					save_scope_as = laamp_inheritor
				}
			}
			if = {
				limit = { NOT = { exists = scope:laamp_inheritor } }
				scope:invader_spawn_location.county.holder = {
					save_scope_as = laamp_inheritor
				}
			}
			create_landless_adventurer_title_effect = {
				REASON = flag:voluntary
				FLAVOR_CHAR = scope:laamp_inheritor
			}
		}
	}

	every_player = {
		trigger_event = $INVADER_DYNN$_invasion.1002 # Notification: Start of invasion
	}
}

ayyubid_maintenance_effect = {
	apply_invader_modifiers_effect = {
		INVADER_DYNN = $INVADER_DYNN$
	}
	if = {
		limit = { $INVADER_CHAR$ = { has_character_flag = spawned_$INVADER_DYNN$ } }
		give_$INVADER_DYNN$_land_effect = {
			INVADER_DYNN = $INVADER_DYNN$
			INVADER_CHAR = $INVADER_CHAR$
			#STARTING_TIER = $STARTING_TIER$
		}
	}
	if = {
		limit = { game_start_date < 1171.1.1 }
		spawn_$INVADER_DYNN$_family_effect = {
			INVADER_CHAR = $INVADER_CHAR$
		}
	}
	else = { $INVADER_CHAR$ = { remove_character_flag = is_first_invader_flag } }
	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$
	}
}

# Give a suitable land to invader
give_ayyubid_land_effect = {
	set_local_variable = {
		name = ayyubid_max_start_counties_var
		value = 0
	}
	while = {
		limit = {
			local_var:ayyubid_max_start_counties_var < 9
		}
		random_county_in_region = {
			region = special_$INVADER_DYNN$_conquest_region_1 # egypt
			limit = {
				holder = { is_ai = yes }
				NOR = {
					this = title:c_cairo
					this = title:c_fayyum
					this = title:c_giza
					is_in_list = ayyubid_de_facto_starting_counties_list
				}
				#religion = $INVADER_CHAR$.religion
			}
			county = { add_to_temporary_list = ayyubid_de_facto_starting_counties_list }
		}
		change_local_variable = {
			name = ayyubid_max_start_counties_var
			add = 1
		}
	}
	create_title_and_vassal_change = {
		type = conquest
		save_scope_as = title_change
		add_claim_on_loss = no
	}
	every_in_list = {
		list = ayyubid_de_facto_starting_counties_list
		change_title_holder = {
			holder = $INVADER_CHAR$
			change = scope:title_change
		}
		set_county_faith = $INVADER_CHAR$.faith
	}
	resolve_title_and_vassal_change = scope:title_change
}

### populating the life of the invader character
spawn_ayyubid_family_effect = {
	# asimat, saladin's spouse
	create_character = {
		template = asimat_seljuk_character_template
		employer = $INVADER_CHAR$
		save_scope_as = asimat_seljuk
	}
	scope:asimat_seljuk = {
		marry = $INVADER_CHAR$
		disease_immunity_short_effect = yes
	}

	# al-afdal (son)
	create_character = {
		template = al-afdal_ayyubid_character_template
		dynasty = inherit
		employer = $INVADER_CHAR$
		mother = scope:asimat_seljuk
		father = $INVADER_CHAR$
		save_scope_as = al-afdal_ayyubid
	}
}

# Form and give titles
form_the_ayyubid_title_effect = {
	if = { # Saladin spawns as a vassal
		limit = {
			title:k_egypt = { is_title_created = yes }
			NOT = { exists = global_var:ayyubid_coup }
		}
		set_global_variable = { # stops story effect "succession weirdness" from triggering and ending the story, clears automatically as fallback
			name = $INVADER_DYNN$_coup
			value = yes
			days = 1825 # 5 years
		}

		# temporary vassal title
		create_dynamic_title = {
			tier = duchy
			name = $INVADER_DYNN$_COUP_TITLE
		}
		create_title_and_vassal_change = {
			type = created
			save_scope_as = change_one
		}
		scope:new_title = {
			change_title_holder = {
				holder = $INVADER_CHAR$
				change = scope:change_one
			}
			set_delete_on_destroy = yes
			set_no_automatic_claims = yes
			set_can_be_named_after_dynasty = no
			set_destroy_on_gain_same_tier = yes
		}
		resolve_title_and_vassal_change = scope:change_one
		scope:new_title = { generate_coa = yes }

		create_title_and_vassal_change = {
			type = swear_fealty
			save_scope_as = change_two
		}
		$INVADER_CHAR$ = {
			change_liege = {
				liege = title:k_egypt.holder
				change = scope:change_two
			}
		}
		resolve_title_and_vassal_change = scope:change_two

		spawn_army = {
			uses_supply = no
			inheritable = yes
			name = ayyubid_event_troops
			levies = {
				value = 2000
			}
			men_at_arms = {
				type = horse_archers
				stacks = 10
			}
			men_at_arms = {
				type = camel_rider
				stacks = 8
			}
			men_at_arms = {
				type = camel_rider
				stacks = 8
			}
			men_at_arms = {
				type = ayyar
				stacks = 12
			}
			men_at_arms = {
				type = ayyar
				stacks = 12
			}
			men_at_arms = {
				type = trebuchet
				stacks = 8
			}
			location = $INVADER_CHAR$.capital_province
		}
	}
	else = { # Saladin spawns independent
		# Create the title
		create_title_and_vassal_change = {
			type = created
			save_scope_as = title_change
			add_claim_on_loss = no
		}
		$INVADER_TITLE$ = {
			change_title_holder = {
				holder = $INVADER_CHAR$
				change = scope:title_change
			}
			set_landless_title = $LANDLESS_YES_NO$
		}
		becomes_independent = { change = scope:title_change }
		resolve_title_and_vassal_change = scope:title_change

		assert_if = {
			limit = { NOT = { exists = $INVADER_TITLE$ } }
			text = "Ayyubid Empire title was not created!"
		}

		set_primary_title_to = $INVADER_TITLE$

		every_vassal = {
			limit = { any_held_title = { is_head_of_faith = no } }
			trigger_event = {
				id = ayyubid_invasion.1007
				days = 14
			}
		}

		add_to_global_variable_list = {
			name = historicinvasions_titles
			target = flag:ayyubid_title_spawned
		}

		if = {
			limit = { exists = global_var:ayyubid_coup }
			remove_global_variable = ayyubid_coup
		}
	}

	add_dread = high_dread

	apply_invader_government_type_effect = { INVADER_CHAR = $INVADER_CHAR$ }

	if = {
		limit = {
			NOT = { exists = global_var:ayyubid_reinforcements }
		}
		set_global_variable = {
			name = ayyubid_reinforcements
			value = yes
			days = 3650 # 10 years
		}
		trigger_event = { # delayed to prevent error.log entry
			id = $INVADER_DYNN$_invasion.0100 # spawn troops
			days = 1
		}
	}
}

# Make sure invader has troops
spawn_ayyubid_troops_effect = {
	if = {
		limit = { has_character_flag = is_first_invader_flag }
		spawn_ayyubid_army_effect = yes
		spawn_ayyubid_army_effect = yes

	}
	spawn_ayyubid_army_effect = yes
	spawn_ayyubid_army_effect = yes
	spawn_ayyubid_army_effect = yes
}
spawn_ayyubid_army_effect = {
	spawn_army = {
		name = ayyubid_event_troops
		location = capital_province
		uses_supply = no
		inheritable = no
		
		levies = 250
		men_at_arms = {
			type = camel_rider
			stacks = 9
		}
		men_at_arms = {
			type = ayyar
			stacks = 18
		}
		men_at_arms = {
			type = bowmen
			stacks = 7
		}
		# siege
		men_at_arms = {
			type = trebuchet
			stacks = 7
		}
	}
}