﻿namespace = el_landed_contract_des_nei

#choice of adventurer
el_landed_contract_des_nei.0001 = {
	hidden = yes
	type = character_event
	trigger = {
		scope:el_employer = { is_alive = yes }
		scope:el_adventurer_fin = { is_alive = yes }
	}
	on_trigger_fail = {
		trigger_event = el_landed_contract_des_nei.0006 
	}
	immediate = {
		scope:el_adventurer_fin = {
			if = {
				limit = { scope:el_employer = { is_alive = yes } }
				current_travel_plan ?= { pause_travel_plan = yes }
			}
			else_if = {
				limit = { scope:el_employer = { is_alive = no } }
				start_travel_plan = {
					destination = scope:el_adventurer_fin.domicile.domicile_location
					return_trip = no
				}
			}
		}
		scope:el_employer = {
			if = { 
				limit = { is_alive = yes }
				add_character_flag = {
					flag = el_is_employing_adventurer
					days = 365
				}
			}				
		}
	}
	option = {
		duel = {
			skills = { intrigue prowess }
			value = high_skill_rating
			#succed
			50 = {
				compare_modifier = {
					value = scope:duel_value
					multiplier = 3.5
				}
				el_landed_camp_purpose_bonus_more_modifier = { CAMP_PURPOSE = camp_purpose_mercenaries }
				el_landed_camp_purpose_bonus_more_modifier = { CAMP_PURPOSE = camp_purpose_brigands }
				el_landed_education_bonus_more_modifier = { SKILL = intrigue }
				el_landed_intelect_bonus_more_modifier = { SCOPE = el_adventurer_fin }
				modifier = {
					has_trait = gallowsbait
					add = 5
				}
				trigger_event = {
					id = el_landed_contract_des_nei.0007
					days = 7
				}
				el_landed_contract_des_nei_event_choose_effect = yes
				scope:el_employer = {
					trigger_event =  {
						id = el_landed_contract_des_nei.0002
						days = { 2 4 }
					}
				}
			}
			#fail
			50 = {
				compare_modifier = {
					value = scope:duel_value
					multiplier = -3.5
				}
				el_landed_camp_purpose_bonus_less_modifier = { CAMP_PURPOSE = camp_purpose_mercenaries }
				el_landed_camp_purpose_bonus_less_modifier = { CAMP_PURPOSE = camp_purpose_brigands }
				el_landed_education_bonus_less_modifier = { SKILL = intrigue }
				el_landed_intelect_bonus_less_modifier = { SCOPE = el_adventurer_fin }
				modifier = {
					has_trait = gallowsbait
					add = -5
				}
				trigger_event = {
					id = el_landed_contract_des_nei.0007
					days = 7
				}
				el_landed_contract_des_nei_event_choose_effect = yes
				scope:el_employer = {
					trigger_event =  {
					id = el_landed_contract_des_nei.0003
					days = { 2 4 }
					}
				}				
			}
		}
		ai_chance = {
				base = 100
		}
	}
}

#tutor succeed
el_landed_contract_des_nei.0002 = {
	type = character_event
	theme = landless_adventurer
	title = {
		first_valid = {
			#diplomacy
			triggered_desc = {
				trigger = { scope:el_adventurer_fin.var:el_des_nei_event_trigger = 1 }
				desc = el_landed_contract_des_nei.0002.t.raid
			}
			#martial
			triggered_desc = {
				trigger = { scope:el_adventurer_fin.var:el_des_nei_event_trigger = 2 }
				desc = el_landed_contract_des_nei.0002.t.bandits
			}
			#stewardship
			triggered_desc = {
				trigger = { scope:el_adventurer_fin.var:el_des_nei_event_trigger = 3 }
				desc = el_landed_contract_des_nei.0002.t.revolt
			}
		}
	}
	desc = { 
		first_valid = {
			#diplomacy
			triggered_desc = {
				trigger = { scope:el_adventurer_fin.var:el_des_nei_event_trigger = 1 }
				desc = el_landed_contract_des_nei.0002.desc.raid
			}
			#martial
			triggered_desc = {
				trigger = { scope:el_adventurer_fin.var:el_des_nei_event_trigger = 2 }
				desc = el_landed_contract_des_nei.0002.desc.bandits
			}
			#stewardship
			triggered_desc = {
				trigger = { scope:el_adventurer_fin.var:el_des_nei_event_trigger = 3 }
				desc = el_landed_contract_des_nei.0002.desc.revolt
			}
		}
	}
	override_effect_2d = {
		trigger = { scope:el_adventurer_fin.var:el_des_nei_event_trigger = 1 }
		reference = smoke
	}
	override_background = { 
		trigger = { scope:el_adventurer_fin.var:el_des_nei_event_trigger = 1 }
		reference = burning_building
	}
	override_background = {
		trigger = { scope:el_adventurer_fin.var:el_des_nei_event_trigger = 2 }
		reference = bp1_bonfire
	}
	override_background = {
		trigger = { scope:el_adventurer_fin.var:el_des_nei_event_trigger = 3 }
		reference = terrain_travel
	}
	window = big_event_window
	center_portrait = {
		trigger = { scope:el_adventurer_fin.var:el_des_nei_event_trigger = 2 }		
		character = scope:el_bandit
		animation = menacing  
		camera = camera_event_scheme_vs_center_look_left
	}
	#success
	left_portrait = {
		character = scope:el_adventurer_fin
		triggered_animation = {
			trigger = { 
				scope:el_adventurer_fin.var:el_des_nei_event_trigger = 1		
			}
			scripted_animation = duel_celebrate 
		}
		triggered_animation = {
			trigger = { 
				scope:el_adventurer_fin.var:el_des_nei_event_trigger = 2			
			}
			animation =  steward   			
		}
		triggered_animation = {
			trigger = { 
				scope:el_adventurer_fin.var:el_des_nei_event_trigger = 3			
			}
			animation = scheme
		}
	}
	#success
	right_portrait = {
		trigger = {
			OR = {
				scope:el_adventurer_fin.var:el_des_nei_event_trigger = 1	
				scope:el_adventurer_fin.var:el_des_nei_event_trigger = 3
			}
		}
		character = scope:el_peasant
		triggered_animation = {
			trigger = { 
				scope:el_adventurer_fin.var:el_des_nei_event_trigger = 1		
			}
			animation = fear
		}
		triggered_animation = {
			trigger = { 
				scope:el_adventurer_fin.var:el_des_nei_event_trigger = 2			
			}
			animation = wooden_sword_coup_degrace
		}
		triggered_animation = {
			trigger = { 
				scope:el_adventurer_fin.var:el_des_nei_event_trigger = 3			
			}
			animation = anger
		}
	}
	trigger = {
		scope:el_employer = { is_alive = yes }
		scope:el_adventurer_fin = { is_alive = yes }
	}
	on_trigger_fail = {
		trigger_event = el_landed_contract_des_nei.0006
	}	
	immediate = {
		create_character = {
			template = el_bandit_character
			gender = male
			location = scope:el_adventurer_fin.location
			faith = scope:el_adventurer_fin.location.faith
			culture = scope:el_adventurer_fin.location.culture
			save_scope_as = el_bandit
		}
		create_character = {
			template = peasant_character
			gender_female_chance = 40
			location = scope:el_adventurer_fin.location
			faith = scope:el_adventurer_fin.location.faith
			culture = scope:el_adventurer_fin.location.culture
			save_scope_as = el_peasant
		}	
	}
	option = {
		name = el_landed_contract_des_nei.0002.a
		el_landed_contract_des_nei_event_gain_effect = yes
		scope:el_adventurer_fin = {
			start_travel_plan = {
				destination = scope:el_employer.capital_province
				on_arrival_event = el_landed_contract_des_nei.0024
			}
		}		
	}
	after = {
		if = {
			limit = { scope:el_employer = { is_alive = no } }
			scope:el_adventurer_fin = {
				current_travel_plan ?= { resume_travel_plan = yes }
			}
		}
		hidden_effect = {
			if = {
				limit = { 
					exists = scope:el_bandit 
					NOT = { scope:el_adventurer_fin.var:el_des_nei_event_trigger = 2 }
				}					
				scope:el_bandit = {
					if = {
						limit = { is_alive = yes }
						death = {
							death_reason = death_vanished 
						}
					}
				}
			}
			if = {
				limit = { 
					exists = scope:el_peasant 
					NOT = { scope:el_adventurer_fin.var:el_des_nei_event_trigger = 3 }
				}
				scope:el_peasant = {
					if = {
						limit = { is_alive = yes }
						death = {
							death_reason = death_vanished 
						}
					}
				}
			}
		}
	}			
}

#train fail
el_landed_contract_des_nei.0003 = {
	type = character_event
	theme = landless_adventurer
	title = el_landed_contract_des_nei.0003.t
	desc = el_landed_contract_des_nei.0003.desc
	override_background = { reference = alley_day }
	window = big_event_window
	left_portrait = {
		character = scope:el_adventurer_fin
		animation = fear
	}
	right_portrait = {
		character = scope:el_guard
		scripted_animation = duel_wield_weapon
		camera = camera_event_scheme_far_right
	}
	trigger = {
		scope:el_employer = { is_alive = yes }
		scope:el_adventurer_fin = { is_alive = yes }
	}
	on_trigger_fail = {
		trigger_event = el_landed_contract_des_nei.0006
	}	
	immediate = {
		scope:el_adventurer_fin = {
			increase_wounds_no_death_effect = { REASON = fight }
		}
		create_character = {
			template = el_guard_template
			gender = male
			location = scope:el_adventurer_fin.location
			faith = scope:el_adventurer_fin.location.faith
			culture = scope:el_adventurer_fin.location.culture
			save_scope_as = el_guard
		}
		scope:el_guard = {
			add_character_flag = need_military_outfit
		}		
	}		
	option = {
		name = el_landed_contract_des_nei.0003.a
		scope:el_adventurer_fin = {
			start_travel_plan = {
				destination = scope:el_employer.capital_province
				on_arrival_event = el_landed_contract_des_nei.0025
			}
		}

	}
	after = {
		hidden_effect = {
			if = {
				limit = { exists = scope:el_guard }
				scope:el_guard = {
					if = {
						limit = { is_alive = yes }
						death = {
							death_reason = death_vanished 
						}
					}
				}
			}
		}		
	}		
}

#succeed contract
el_landed_contract_des_nei.0004 = {
	type = character_event
	theme = landless_adventurer
	title = el_landed_contract_des_nei.0004.t
	desc = el_landed_contract_des_nei.0004.desc
	#window = big_event_window
	override_background = { reference = throne_room }
	left_portrait = {
		character = scope:el_employer
		animation = admiration 
		}
	right_portrait = {
		character = scope:el_adventurer_fin
		animation = idle 
		}
		
	immediate = {
		set_variable = {
			name = el_landed_cant_use_des_nei
			value = yes
			days = 730
		}
		scope:el_adventurer_fin = {
			if = {
				limit = { scope:el_adventurer_fin.var:el_des_nei_event_trigger = 1 }
				el_landed__gallowsbait_gain_effect = { TRACK = marauder }
			}
			else_if = {
				limit = { scope:el_adventurer_fin.var:el_des_nei_event_trigger = 2 }
				el_landed__gallowsbait_gain_effect = { TRACK = bandit }
			}
			else_if = {
				limit = { scope:el_adventurer_fin.var:el_des_nei_event_trigger = 3 }
				el_landed__gallowsbait_gain_effect = { TRACK = trickster }
			}
		}
	}		
	option = {
		name = el_landed_contract_des_nei.0004.a
		pay_short_term_gold = {
			target = scope:el_adventurer_fin
			gold = medium_gold_value
		}
		scope:el_adventurer_fin = {
			#add_contact = scope:el_employer
			if = {
				limit = { has_variable = el_gallowsbait }
				add_trait = gallowsbait
			}
			add_prestige = medium_prestige_gain
			domicile = { change_provisions = minor_provisions_value }
		}

	}
	option = {
		name = el_landed_contract_des_nei.0004.b
		add_prestige = medium_prestige_loss
		scope:el_adventurer_fin = {
			if = {
				limit = { has_variable = el_gallowsbait }
				add_trait = gallowsbait
			}
			add_prestige = medium_prestige_gain		
			add_opinion = {
				target = scope:el_employer
				modifier = el_landed_refuse_payment
			}
			if = {
			limit = {
				NOT = { has_relation_rival = scope:el_employer }
			}
			set_relation_rival = {
				target = scope:el_employer
				reason = el_landed_refuse_payment_rival
			}
			}
			else_if = {
				limit = {
					has_relation_rival = scope:el_employer
					NOT = { has_relation_nemesis = scope:el_employer }
				}
				set_relation_nemesis = {
					target = scope:el_employer 
					reason = el_landed_refuse_payment_rival
				}
			}
		}
	}
	after = {
		scope:el_adventurer_fin = {
			remove_variable = el_des_nei_event_trigger
			remove_variable = el_des_nei_event_1
			remove_variable = el_des_nei_event_2
			remove_variable = el_des_nei_event_3
			remove_variable = el_gallowsbait
			remove_character_flag = is_in_task_contract_event_chain
			start_travel_plan = {
				destination = scope:el_adventurer_fin.domicile.domicile_location
				return_trip = no
			}
		}
		scope:el_employer = {
			remove_character_flag = el_is_employing_adventurer
		}
	}		
}

#fail contract
el_landed_contract_des_nei.0005 = {
	type = character_event
	theme = landless_adventurer
	title = el_landed_contract_des_nei.0005.t
	desc = el_landed_contract_des_nei.0005.desc
	#window = big_event_window
	override_background = { reference = throne_room }
	left_portrait = {
		character = scope:el_employer
		animation = disapproval 
		}
	right_portrait = {
		character = scope:el_adventurer_fin
		animation = disbelief 
		}
		
	immediate = {
		set_variable = {
			name = el_landed_cant_use_des_nei
			value = yes
			days = 730
		}
	}		
	option = {
		name = el_landed_contract_des_nei.0005.a
		scope:el_adventurer_fin = {
			if = {
				limit = { has_personality_dominant_trigger = yes }
				add_stress = medium_stress_impact_gain
			}	
		}
		scope:el_employer = {
			if = {
				limit = { has_personality_dominant_trigger = yes }
				add_stress = medium_stress_impact_gain
			}	
		}
	}
	
	after = {
		scope:el_adventurer_fin = {
			remove_variable = el_des_nei_event_trigger
			remove_variable = el_des_nei_event_1
			remove_variable = el_des_nei_event_2
			remove_variable = el_des_nei_event_3
			remove_character_flag = is_in_task_contract_event_chain
			start_travel_plan = {
				destination = scope:el_adventurer_fin.domicile.domicile_location
				return_trip = no
			}
		}
		scope:el_employer = {
			remove_character_flag = el_is_employing_adventurer
		}
	}
}

#clear if dead
el_landed_contract_des_nei.0006 = {
	hidden = yes
		immediate = {		
		scope:el_employer = {
			remove_character_flag = el_is_employing_adventurer
		}
		scope:el_adventurer_fin = {
			if = {
				limit = { is_alive = yes }
				remove_variable = el_des_nei_event_trigger
				remove_variable = el_des_nei_event_1
				remove_variable = el_des_nei_event_2
				remove_variable = el_des_nei_event_3
				remove_character_flag = is_in_task_contract_event_chain
				if = {
					limit = { current_travel_plan ?= { is_paused  = yes } }
					current_travel_plan ?= { resume_travel_plan = yes }
				}
			}
		}
	}
}

#clear if employer dead
el_landed_contract_des_nei.0007 = {
	hidden = yes
	immediate = {
		if = {
			limit = { scope:el_employer = { is_alive = no }}
			scope:el_employer = {
			}
			scope:el_adventurer_fin = {
				if = {
					limit = { is_alive = yes }
					remove_variable = el_des_nei_event_trigger
					remove_variable = el_des_nei_event_1
					remove_variable = el_des_nei_event_2
					remove_variable = el_des_nei_event_3
					remove_character_flag = is_in_task_contract_event_chain
					if = {
						limit = { current_travel_plan ?= { is_paused  = yes } }
						current_travel_plan ?= { resume_travel_plan = yes }
					}
				}
			}
		}
	}
}

#choice of target
el_landed_contract_des_nei.0010 = {
	type = character_event
	theme = landless_adventurer
	title = el_landed_contract_des_nei.0010.t
	desc = el_landed_contract_des_nei.0010.desc
	#window = big_event_window
	override_background = { reference = throne_room }
	left_portrait = {
		character = scope:el_employer 
		animation = thinking
		}
	right_portrait = {
		character = scope:el_adventurer_fin
		animation = idle
		}
	trigger = {
		scope:el_employer = { is_alive = yes }
		scope:el_adventurer_fin = { is_alive = yes }
	}
	on_trigger_fail = {
		trigger_event = el_landed_contract_des_nei.0006 
	}
	widget = {
		gui = "event_window_el_landed_character_ruler"
		container = "custom_widgets_container"
	}
	immediate = {
		add_character_flag = {
				flag = el_is_employing_adventurer
				days = 365
		}
		every_neighboring_and_across_water_top_liege_realm_owner = {
			limit = {
				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
						} 
					}
				}
			}
			root = {
				add_to_variable_list = {
					name = el_landed_target_list
					target = prev
				}
			}
		}
		every_neighboring_and_across_water_realm_same_rank_owner = {
			limit = {
				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
						} 
					}
				}
			}
			root = {
				add_to_variable_list = {
					name = el_landed_target_list
					target = prev
				}
			}
		}
		every_land_neighboring_realm_with_tributaries_owner = {
			limit = {
				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
						} 
					}
				}
			}
			root = {
				add_to_variable_list = {
					name = el_landed_target_list
					target = prev
				}
			}
		}
		if = {
			limit = { is_independent_ruler = no }
			every_sub_realm_county = {
				every_neighboring_county = {
					limit = {
						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 } 
							}
						}
					}
					holder = {
						root = {
							add_to_variable_list = {
								name = el_landed_target_list
								target = prev
							}
						}
					}
				}
			}
		}
		random_in_list = {
			variable = el_landed_target_list
			save_scope_as = el_landed_des_nei_fin
		}				
	}
	option = {
		name = el_landed_contract_des_nei.0010.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_landed_des_nei_fin }
		}
		clear_variable_list = el_landed_target_list 
		remove_variable = el_landed_target
		el_landed_contract_des_nei_pick_county_effect = yes
		scope:el_adventurer_fin = {
			start_travel_plan = {
				destination = scope:el_land_des_nei_location
				on_arrival_event =  el_landed_contract_des_nei.0001
			}
		}
	}
}

el_landed_contract_des_nei.0020 = {
	hidden = yes
	trigger = {
		scope:el_employer = { is_alive = yes }
		scope:el_adventurer_fin = { is_alive = yes }
	}
	on_trigger_fail = {
		trigger_event = el_landed_contract_des_nei.0007
	}
	immediate = {
		scope:el_employer = {
			trigger_event = el_landed_contract_des_nei.0010
		}
	}
}

el_landed_contract_des_nei.0024 = {
	hidden = yes
	immediate = {
		if = {
			limit = { scope:el_employer = { is_alive = no } }
			start_travel_plan = {
				destination = scope:el_adventurer_fin.domicile.domicile_location
				return_trip = no
			}
		}
		else_if = {
			limit = { scope:el_employer = { is_alive = yes } }
			scope:el_employer = {
				trigger_event = el_landed_contract_des_nei.0004
			}
		}
	}
}

el_landed_contract_des_nei.0025 = {
	hidden = yes
	immediate = {
		if = {
			limit = { scope:el_employer = { is_alive = no } }
			start_travel_plan = {
				destination = scope:el_adventurer_fin.domicile.domicile_location
				return_trip = no
			}
		}
		else_if = {
			limit = { scope:el_employer = { is_alive = yes } }
			scope:el_employer = {
				trigger_event = el_landed_contract_des_nei.0005
			}
		}
	}
}