﻿namespace = el_landed_trigger

#choose a landless adventurer ## theme done
el_landed_trigger.0001 = {
	type = character_event
	theme = landless_adventurer
	title = el_landed_trigger.0001.t
	override_background = { reference = council_chamber }
	#window = big_event_window
	desc = el_landed_trigger.0001.desc.bis
	override_background = { reference = council_chamber }
	left_portrait = {
		character = scope:el_employer
		animation = thinking
		}
	right_portrait = {
		character = root.cp:councillor_steward
		animation = schadenfreude
		}
	widget = {
		gui = "event_window_el_landed_character"
		container = "custom_widgets_container"
	}
	immediate = {
		every_county = {
			every_county_province = {
				limit = {
					squared_distance = { target = root.capital_province value < el_squared_distance_camp } 
					}
				every_character_in_location = {
					limit = {
						has_government = landless_adventurer_government
						is_travelling = no
						is_at_war = no
						is_ai = yes
						is_in_army = no
						is_incapable = no
						NOT = { has_trait = infirm }
						is_adult = yes
						is_imprisoned = no
						NOT = { has_relation_rival = scope:el_employer }
						is_busy_in_events_unlocalised = no
						domicile.domicile_location = prev
						root = {
							NOT = {
								is_target_in_variable_list = {
									name = el_landed_refuted_list
									target = prev
								}
							}
						}
					}
					root = {
						add_to_variable_list = {
							name = el_landed_target_list
							target = prev
						}
					}
				}
			}
		}
		random_in_list = {
			variable = el_landed_target_list
			save_scope_as = el_adventurer_fin
		}		
	}		
	option = {
		name = el_landed_trigger.0001.a
		custom_tooltip = el_landed_trigger.0001.a.t.gen
		custom_tooltip = el_landed_trigger.0001.a.tt.gen
		if = {
			limit = { has_variable = el_landed_target  }
			var:el_landed_target = {save_scope_as = el_adventurer_fin }
		}
		clear_variable_list = el_landed_target_list
		remove_variable = el_landed_target
		scope:el_adventurer_fin = {
			location = {
				random_neighboring_province ={
					limit = { county.holder ?= { this = scope:el_employer } }
					save_scope_as = el_location_event
				}
			}
			if = {
				limit = { location = { this = scope:el_employer.capital_province } }
				start_travel_plan = {
					destination = scope:el_location_event
					on_arrival_event =  el_landed_trigger.0004
				}
			}
			else = {
				start_travel_plan = {
					destination = scope:el_employer.capital_province
					on_arrival_event =  el_landed_trigger.0004
				}
			}
		}
		scope:el_employer = {
			send_interface_toast = {
				type = event_toast_text_and_effect_good
				title = el_landed_trigger.0004.toast.b
				left_icon = scope:el_adventurer_fin
				desc = el_landed_trigger.0004.toast.b.desc
			}
		}
	}
	option = {
		name = el_landed_trigger.0001.d
		hidden_effect = {
			remove_character_flag = el_is_employing_adventurer
			remove_decision_cooldown = landed_el_decision
			clear_variable_list = el_landed_target_list
			remove_variable = el_landed_target
		}
	}
}

#choose a contract ## theme done
el_landed_trigger.0002 = {
	type = character_event
	theme = landless_adventurer
	title = el_landed_trigger.0002.t
	desc = el_landed_trigger.0002.desc
	#window = big_event_window
	override_background = { reference = throne_room }
	left_portrait = {
		character = scope:el_employer
		animation = debating
		}
	right_portrait = {
		character = scope:el_adventurer_fin
		animation = idle 
		}		
	immediate = {
	}
	trigger = {
		scope:el_employer = { is_alive = yes }
		scope:el_adventurer_fin = { is_alive = yes }
	}
	on_trigger_fail = {
		trigger_event = el_landed_trigger.0003
	}
	option = {
		name = el_landed_trigger.0002.a
		custom_tooltip = el_landed_trigger.0002.a.t
		custom_tooltip = el_landed_trigger.0002.a.tc
		custom_tooltip = el_landed_trigger.0002.a.tt
		custom_tooltip = el_landed_trigger.0002.a.ttt
		custom_tooltip = el_landed_trigger.0002.a.success.t
		remove_character_flag = el_is_employing_adventurer
		trigger = {
			any_knight ={
				count > 2
				highest_held_title_tier <= tier_county
				NOT = { has_character_flag = el_wait_to_train_knight }
			}
		}
		scope:el_adventurer_fin = {
			trigger_event = el_landed_contract_train_knight.0001
		}
	}
	option = {
		name = el_landed_trigger.0002.c
		custom_tooltip = el_landed_trigger.0002.c.t
		custom_tooltip = el_landed_trigger.0002.c.tc
		custom_tooltip = el_landed_trigger.0002.c.tt
		custom_tooltip = el_landed_trigger.0002.c.ttt
		custom_tooltip = el_landed_trigger.0002.c.success.t
		remove_character_flag = el_is_employing_adventurer
		trigger = {
			OR = {
				any_child ={
					count > 0
					age > 6
					age <= 14
					is_courtier_of = scope:el_employer
					is_landed = no
					NOT = { has_character_flag = el_landed_child_had_tutor }				
				}
				any_child = {
					any_child ={
						count > 0
						age > 6
						age <= 14
						is_courtier_of = scope:el_employer
						is_landed = no
						NOT = { has_character_flag = el_landed_child_had_tutor }
					}
				}
				any_courtier = { 
					count > 0
					age > 6
					age <= 14
					is_hostage_of = scope:el_employer
					NOT = { has_character_flag = el_landed_child_had_tutor }
				}
			}
		}
		scope:el_adventurer_fin = {
			trigger_event = el_landed_contract_tutor_child.0020
		}
	}
	option = {
		name = el_landed_trigger.0002.d
		custom_tooltip = el_landed_trigger.0002.d.t
		custom_tooltip = el_landed_trigger.0002.d.tc
		custom_tooltip = el_landed_trigger.0002.d.tt
		custom_tooltip = el_landed_trigger.0002.d.ttt
		custom_tooltip = el_landed_trigger.0002.d.tttt
		custom_tooltip = el_landed_trigger.0002.d.success.t
		remove_character_flag = el_is_employing_adventurer
		trigger = {
			OR = {
				any_neighboring_and_across_water_top_liege_realm_owner = {
					count > 0
					NOT = { is_tributary_of = scope:el_employer }
					any_sub_realm_county = {
						NOT = { has_variable = el_landed_des_nei_cournty_already }
						squared_distance = { target = scope:el_employer.capital_province value < el_squared_distance_max_travel } 
						holder = { 
							NOR = { 
								has_government = nomad_government 
								has_government = herder_government
							} 
						}
					}
				}
				any_neighboring_and_across_water_realm_same_rank_owner = {
					count > 0
					NOT = { is_tributary_of = scope:el_employer }
					any_sub_realm_county = {
						NOT = { has_variable = el_landed_des_nei_cournty_already }
						squared_distance = { target = scope:el_employer.capital_province value < el_squared_distance_max_travel } 
						holder = { 
							NOR = { 
								has_government = nomad_government 
								has_government = herder_government
							} 
						}
					}
				}
				any_land_neighboring_realm_with_tributaries_owner = {
					count > 0
					NOT = { is_tributary_of = scope:el_employer }
					any_sub_realm_county = {
						NOT = { has_variable = el_landed_des_nei_cournty_already }
						squared_distance = { target = scope:el_employer.capital_province value < el_squared_distance_max_travel } 
						holder = { 
							NOR = { 
								has_government = nomad_government 
								has_government = herder_government
							} 
						}
					}
				}
				AND = {
					is_independent_ruler = no
					any_sub_realm_county = {
						any_neighboring_county = {
							count > 0
							holder = {
								NOT = { this = scope:el_employer }
								NOT = { is_tributary_of = scope:el_employer }
								NOT = { is_vassal_or_below_of = scope:el_employer }
								NOR = { 
									has_government = nomad_government 
									has_government = herder_government
								} 
								any_sub_realm_county = {
									NOT = { has_variable = el_landed_des_nei_cournty_already }
									squared_distance = { target = scope:el_employer.capital_province value < el_squared_distance_max_travel } 
								}
							}
						}
					}
				}
			}
			NOT = { has_variable = el_landed_cant_use_des_nei }
		}
		scope:el_adventurer_fin = {
			trigger_event = el_landed_contract_des_nei.0020
		}
	}
	option = {
		name = el_landed_trigger.0002.e
		custom_tooltip = el_landed_trigger.0002.e.t
		custom_tooltip = el_landed_trigger.0002.e.tc
		custom_tooltip = el_landed_trigger.0002.e.tt
		custom_tooltip = el_landed_trigger.0002.e.ttt
		custom_tooltip = el_landed_trigger.0002.e.tttt
		custom_tooltip = el_landed_trigger.0002.e.success.t
		remove_character_flag = el_is_employing_adventurer
		trigger = {
			any_courtier_or_guest = {
				count > 1
				is_adult = yes
			}
			scope:el_adventurer_fin = {
				any_courtier = {
					count > 1
					is_male = yes
					is_adult = yes
				}
			}
			NOT = { has_variable = el_landed_cant_use_regale_court }
		}
		scope:el_adventurer_fin = {
			trigger_event = el_landed_contract_regale_court.0001
		}
	}
	option = {
		name = el_landed_trigger.0002.f
		custom_tooltip = el_landed_trigger.0002.f.t
		custom_tooltip = el_landed_trigger.0002.f.tc
		custom_tooltip = el_landed_trigger.0002.f.tt
		custom_tooltip = el_landed_trigger.0002.f.tttt
		custom_tooltip = el_landed_trigger.0002.f.success.t
		remove_character_flag = el_is_employing_adventurer
		trigger = {
			any_realm_province = {
				count > 0
				has_holding_type = city_holding 
				county = { NOT = { has_variable = el_landed_imp_dom_cournty_already } }
				squared_distance = { target = scope:el_employer.capital_province value < el_squared_distance_max_travel } 
				county.holder = scope:el_employer
			}
			NOT = { has_variable = el_landed_cant_use_imp_dom }
		}
		scope:el_adventurer_fin = {
			trigger_event = el_landed_contract_imp_dom.0020
		}
	}
	option = {
		name = el_landed_trigger.0002.g
		custom_tooltip = el_landed_trigger.0002.g.t
		custom_tooltip = el_landed_trigger.0002.g.tc
		custom_tooltip = el_landed_trigger.0002.g.tt		
		custom_tooltip = el_landed_trigger.0002.g.tttt
		custom_tooltip = el_landed_trigger.0002.g.success.t
		remove_character_flag = el_is_employing_adventurer
		trigger = {
			NOT = { 
				faith = { 
					has_doctrine_parameter = unreformed
				}
			}
			scope:el_adventurer_fin = {
				faith = scope:el_employer.faith
			}
			OR = {
				any_neighboring_and_across_water_top_liege_realm_owner = {
					count > 0
					NOT = { is_tributary_of = scope:el_employer }
					exists = capital_province
					NOT = { faith =   scope:el_employer.faith  }
					NOT = { has_character_flag = el_landed_con_nei_cant_be_conv }
					highest_held_title_tier  < tier_kingdom
					capital_province = { squared_distance = { target = scope:el_employer.capital_province value < el_squared_distance_max_travel } }
					NOT = { capital_county.faith = scope:el_employer.faith }
					NOT = {
						any_held_title = {
							is_head_of_faith = yes
						}
					}
				}
				any_neighboring_and_across_water_realm_same_rank_owner = {
					count > 0
					NOT = { is_tributary_of = scope:el_employer }
					exists = capital_province
					NOT = { faith =   scope:el_employer.faith  }
					NOT = { has_character_flag = el_landed_con_nei_cant_be_conv }
					highest_held_title_tier  < tier_kingdom
					capital_province = { squared_distance = { target = scope:el_employer.capital_province value < el_squared_distance_max_travel } }
					NOT = { capital_county.faith = scope:el_employer.faith }
					NOT = {
						any_held_title = {
							is_head_of_faith = yes
						}
					}
				}
				any_neighboring_and_across_water_top_liege_realm_owner = {
					NOT = { is_tributary_of = scope:el_employer }
					any_sub_realm_county = {
						count > 0
						holder = {
							NOT = { faith =  scope:el_employer.faith  }
							NOT = { has_character_flag = el_landed_con_nei_cant_be_conv }
							highest_held_title_tier  < tier_kingdom
							NOT = {
								any_held_title = {
									is_head_of_faith = yes
								}
							}
							capital_province = {
								squared_distance = { target = scope:el_employer.capital_province value < el_squared_distance_max_travel } 
							}
						}
						NOT = { faith = scope:el_employer.faith }
					}
				}
				any_land_neighboring_realm_with_tributaries_owner = {
					NOT = { is_tributary_of = scope:el_employer }
					any_sub_realm_county = {
						count > 0
						holder = {
							NOT = { faith =  scope:el_employer.faith  }
							NOT = { has_character_flag = el_landed_con_nei_cant_be_conv }
							highest_held_title_tier  < tier_kingdom
							NOT = {
								any_held_title = {
									is_head_of_faith = yes
								}
							}
							capital_province = {
								squared_distance = { target = scope:el_employer.capital_province value < el_squared_distance_max_travel } 
							}
						}
						NOT = { faith = scope:el_employer.faith }
					}
				}
				top_liege ?= {					
					any_sub_realm_county = {
						count > 0
						holder = {
							NOT = { this = scope:el_employer }
							NOT = { this = scope:el_employer.top_liege }
							NOT = { is_vassal_or_below_of = scope:el_employer }
							NOT = { faith =  scope:el_employer.faith  }
							NOT = { has_character_flag = el_landed_con_nei_cant_be_conv }
							highest_held_title_tier  < tier_kingdom
							NOT = {
								any_held_title = {
									is_head_of_faith = yes
								}
							}
							capital_province = {
								squared_distance = { target = scope:el_employer.capital_province value < el_squared_distance_max_travel } 
							}
						}
						NOT = { faith = scope:el_employer.faith }
					}
				}
			}
			NOT = { has_variable = el_landed_cant_use_con_nei }
		}
		scope:el_adventurer_fin = {
			trigger_event = el_landed_contract_con_nei.0020
		}
	}
	option = {
		name = el_landed_trigger.0002.h
		custom_tooltip = el_landed_trigger.0002.h.t
		custom_tooltip = el_landed_trigger.0002.h.tc
		custom_tooltip = el_landed_trigger.0002.h.tt
		custom_tooltip = el_landed_trigger.0002.h.ttt
		custom_tooltip = el_landed_trigger.0002.h.tttt
		custom_tooltip = el_landed_trigger.0002.h.success.t
		remove_character_flag = el_is_employing_adventurer
		trigger = {
			OR = {
				any_neighboring_and_across_water_top_liege_realm_owner = {
					count > 0
					NOT = { is_tributary_of = scope:el_employer }
					capital_province = { squared_distance = { target = scope:el_employer.capital_province value < el_squared_distance_max_travel } }
					has_targeting_faction = yes
					NOT = { has_character_flag = el_landed_sup_fac_cant_be_sup_fac }
					any_targeting_faction = {
						faction_is_at_war = no
						any_faction_member = {
							count > 0
							NOT = { this = scope:el_employer }
							#is_landed = yes
						}
					}
				}
				any_neighboring_and_across_water_realm_same_rank_owner = {
					count > 0
					NOT = { is_tributary_of = scope:el_employer }
					capital_province = { squared_distance = { target = scope:el_employer.capital_province value < el_squared_distance_max_travel } }
					has_targeting_faction = yes
					NOT = { has_character_flag = el_landed_sup_fac_cant_be_sup_fac }
					any_targeting_faction = {
						faction_is_at_war = no
						any_faction_member = {
							count > 0
							NOT = { this = scope:el_employer }
							#is_landed = yes
						}
					}
				}
				any_land_neighboring_realm_with_tributaries_owner = {
					count > 0
					NOT = { is_tributary_of = scope:el_employer }
					capital_province = { squared_distance = { target = scope:el_employer.capital_province value < el_squared_distance_max_travel } }
					has_targeting_faction = yes
					NOT = { has_character_flag = el_landed_sup_fac_cant_be_sup_fac }
					any_targeting_faction = {
						faction_is_at_war = no
						any_faction_member = {
							count > 0
							NOT = { this = scope:el_employer }
							#is_landed = yes
						}
					}
				}
				top_liege ?= {					
					any_sub_realm_county = {
						count > 0
						holder = {
							NOT = { this = scope:el_employer }
							NOT = { is_tributary_of = scope:el_employer }
							NOT = { is_vassal_or_below_of = scope:el_employer }
							has_targeting_faction = yes
							NOT = { has_character_flag = el_landed_sup_fac_cant_be_sup_fac }
							capital_province = {
								squared_distance = { target = scope:el_employer.capital_province value < el_squared_distance_max_travel } 
							}
							any_targeting_faction = {
								faction_is_at_war = no
								any_faction_member = {
									count > 0
									NOT = { this = scope:el_employer }
									#is_landed = yes
								}
							}
						}
					}
				}
			}
			NOT = { has_variable = el_landed_cant_use_sup_fac }
		}
		scope:el_adventurer_fin = {
			trigger_event = el_landed_contract_sup_fac.0020
		}
	}
	option = {
		name = el_landed_trigger.0002.b
		hidden_effect = {
			scope:el_adventurer_fin = {
				remove_character_flag = is_in_task_contract_event_chain
				current_travel_plan ?= { resume_travel_plan = yes }
			}
			remove_character_flag = el_is_employing_adventurer
			remove_character_flag = el_is_employing_adventurer_interac
			remove_decision_cooldown = landed_el_decision
			remove_interaction_cooldown = el_landed_invit_adventurer_interaction
		}
	}
}

el_landed_trigger.0003 = {
	hidden = yes		
	immediate = {
		if = {
			limit = { scope:el_employer = { is_alive = yes } }
			scope:el_employer = {
				remove_character_flag = el_is_employing_adventurer
				remove_character_flag = el_is_employing_adventurer_interac
			}
		}			
	}
}

el_landed_trigger.0004 = {
	hidden = yes		
	immediate = {
		if = {
			limit = { scope:el_employer = { is_alive = yes } }
			scope:el_adventurer_fin = {
				current_travel_plan ?= { pause_travel_plan = yes }
				trigger_event = {
					id = el_landed_trigger.0005
					days = 5
				}
			}
			scope:el_employer = {
				trigger_event = {
					id = el_landed_trigger.0002
					days = { 2 3 }
				}
				send_interface_toast = {
					type = event_toast_text_and_effect_good
					title = el_landed_trigger.0004.toast
					left_icon = scope:el_adventurer_fin
					desc = el_landed_trigger.0004.toast.desc
				}
			}
		}	
		else_if = {
			limit = { scope:el_employer = { is_alive = no } }
			scope:el_adventurer_fin = {
				current_travel_plan ?= { 
					if = {
						limit = { is_paused = yes }
						resume_travel_plan = yes 
					}
				}
			}
		}			
	}
}

el_landed_trigger.0005 = {
	hidden = yes		
	immediate = {
		if = {
			limit = { scope:el_employer = { is_alive = no } }
			scope:el_adventurer_fin = {
				current_travel_plan ?= { resume_travel_plan = yes }
			}
		}			
	}
}

##for nomad
el_landed_trigger.0010 = {
	type = character_event
	theme = landless_adventurer
	title = el_landed_trigger.0010.t
	override_background = { reference = council_chamber }
	#window = big_event_window
	desc = el_landed_trigger.0010.desc.bis
	override_background = { reference = council_chamber }
	left_portrait = {
		character = scope:el_employer
		animation = thinking
		}
	right_portrait = {
		character = root.cp:councillor_kurultai_1
		animation = schadenfreude
		}
	widget = {
		gui = "event_window_el_landed_character"
		container = "custom_widgets_container"
	}
	immediate = {
		every_county = {
			every_county_province = {
				limit = {
					squared_distance = { target = root.capital_province value < el_squared_distance_camp } 
					}
				every_character_in_location = {
					limit = {
						has_government = landless_adventurer_government
						is_travelling = no
						is_at_war = no
						is_ai = yes
						is_in_army = no
						is_incapable = no
						NOT = { has_trait = infirm }
						is_adult = yes
						is_imprisoned = no
						NOT = { has_relation_rival = scope:el_employer }
						is_busy_in_events_unlocalised = no
						domicile.domicile_location = prev
						root = {
							NOT = {
								is_target_in_variable_list = {
									name = el_landed_refuted_list
									target = prev
								}
							}
						}
					}
					root = {
						add_to_variable_list = {
							name = el_landed_target_list
							target = prev
						}
					}
				}
			}
		}
		random_in_list = {
			variable = el_landed_target_list
			save_scope_as = el_adventurer_fin
		}		
	}		
	option = {
		name = el_landed_trigger.0001.a
		custom_tooltip = el_landed_trigger.0001.a.t.gen
		custom_tooltip = el_landed_trigger.0001.a.tt.gen
		if = {
			limit = { has_variable = el_landed_target  }
			var:el_landed_target = {save_scope_as = el_adventurer_fin }
		}
		clear_variable_list = el_landed_target_list
		remove_variable = el_landed_target
		scope:el_adventurer_fin = {
			location = {
				random_neighboring_province ={
					limit = { county.holder ?= { this = scope:el_employer } }
					save_scope_as = el_location_event
				}
			}
			if = {
				limit = { location = { this = scope:el_employer.capital_province } }
				start_travel_plan = {
					destination = scope:el_location_event
					on_arrival_event =  el_landed_trigger.0004
				}
			}
			else = {
				start_travel_plan = {
					destination = scope:el_employer.capital_province
					on_arrival_event =  el_landed_trigger.0004
				}
			}
		}
		scope:el_employer = {
			send_interface_toast = {
				type = event_toast_text_and_effect_good
				title = el_landed_trigger.0004.toast.b
				left_icon = scope:el_adventurer_fin
				desc = el_landed_trigger.0004.toast.b.desc
			}
		}
	}
	option = {
		name = el_landed_trigger.0010.d
		hidden_effect = {
			remove_character_flag = el_is_employing_adventurer
			remove_decision_cooldown = landed_el_decision
			clear_variable_list = el_landed_target_list
			remove_variable = el_landed_target
		}
	}
}