﻿namespace = el_landed_contract_train_knight

#choice of adventurer
el_landed_contract_train_knight.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_train_knight.0006 
	}
	immediate = {
		if = {
			limit = { 
				NOT = { exists = scope:el_adventurer_fin.var:contractstate }
				NOT = { exists = scope:el_adventurer_fin.var:contractfin }
			}
			scope:el_adventurer_fin = {
				set_variable = {
					name = contractfin
					value = 0 
				}
				set_variable = {
					name = contractstate
					value = 0 
				}
				add_character_flag = {
					flag = need_military_outfit
					days = 16
				}
			}
			scope:el_employer = {
				if = { 
					limit = { is_alive = yes }
					add_character_flag = {
						flag = el_is_employing_adventurer
						days = 365
					}
					every_knight = {
						limit = {
							highest_held_title_tier <= tier_county
							NOT = { has_character_flag = el_wait_to_train_knight }
						}
						add_to_list = el_knights_list
						add_character_flag = {
							flag = need_military_outfit
							days = 16
						}
					}
				}				
			}
		}
	}
	# adventurer try to train next knight
	option = {
		duel = {
			skills = { martial 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 = martial }
				el_landed_intelect_bonus_more_modifier = { SCOPE = el_adventurer_fin }
				trigger_event = {
					id = el_landed_contract_train_knight.0007
					days = 7
				}
				if = {
					limit = { scope:el_adventurer_fin.var:contractstate < 3 }
					random_in_list = {
						list = el_knights_list
						save_scope_as = el_knights
						remove_from_list = el_knights_list
					}
					scope:el_employer = {
						trigger_event =  {
							id = el_landed_contract_train_knight.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 = martial }
				el_landed_intelect_bonus_less_modifier = { SCOPE = el_adventurer_fin }
				trigger_event = {
					id = el_landed_contract_train_knight.0007
					days = 7
				}
				if = {
					limit = { scope:el_adventurer_fin.var:contractstate < 3 }
					random_in_list = {
						list = el_knights_list
						save_scope_as = el_knights
						remove_from_list = el_knights_list
					}
					scope:el_employer = {
						trigger_event =  {
							id = el_landed_contract_train_knight.0003
							days = { 2 4 }
						}
					}
				}
			}
		}
		ai_chance = {
				base = 100
		}
	}
}

#train succed
el_landed_contract_train_knight.0002 = {
	type = character_event
	theme = landless_adventurer
	title = el_landed_contract_train_knight.0002.t
	desc = el_landed_contract_train_knight.0002.desc
	override_background = { reference = army_camp }
	window = big_event_window
	left_portrait = {
		character = scope:el_knights
		animation = celebrate_sword 
		outfit_tags = { no_cloak }
		}
	right_portrait = {
		character = scope:el_adventurer_fin
		animation = marshal
		outfit_tags = { no_cloak }
		}
	trigger = {
		scope:el_employer = { is_alive = yes }
		scope:el_adventurer_fin = { is_alive = yes }
	}
	on_trigger_fail = {
		trigger_event = el_landed_contract_train_knight.0006
	}	
	immediate = {
		scope:el_adventurer_fin = {
			change_variable = {
					name = contractfin
					add = 1
			}
		}
		scope:el_knights = {
			el_landed_contrat_trait_knight_succeed_effect = {
				CATEGORY = commander
				INSTRUCTOR = el_adventurer_fin
				STUDENT = el_knights
				TRAIT_GAIN = train_gain
			}
			add_character_flag = { 
				flag = el_wait_to_train_knight
				days = 730
			}
		}		
	}
	option = {
		name = el_landed_contract_train_knight.0002.a
		scope:el_knights =  { 
			el_landed_contrat_trait_knight_prowess_aspirant_effect = { TRAIT_GAIN = train_gain }
			remove_character_flag = need_military_outfit
			remove_variable = el_aspirant
			remove_variable = el_trait
		}		
	}
	after = {
		if = {
			limit = { scope:el_employer = { is_alive = no } }
			scope:el_adventurer_fin = {
				current_travel_plan ?= { resume_travel_plan = yes }
			}
		}
		if = {
			limit = {
				scope:el_adventurer_fin.var:contractstate < 2
			}
			scope:el_adventurer_fin = {
				change_variable = {
					name = contractstate
					add = 1
				}
				trigger_event = el_landed_contract_train_knight.0001
			}
		}
		else = {
			scope:el_employer = {
				if = {
					limit = {
						scope:el_adventurer_fin.var:contractfin > 1
					}
					trigger_event = {
						id = el_landed_contract_train_knight.0004
						days =  2
					}
				}
				else = {
					trigger_event = {
						id = el_landed_contract_train_knight.0005
						days =  2
					}
				}
			}
		}						
	}			
}

#train fail
el_landed_contract_train_knight.0003 = {
	type = character_event
	theme = landless_adventurer
	title = el_landed_contract_train_knight.0003.t
	desc = el_landed_contract_train_knight.0003.desc
	override_background = { reference = army_camp }
	window = big_event_window
	left_portrait = {
		character = scope:el_knights
		animation = loss_1
		outfit_tags = { no_cloak }
		}
	right_portrait = {
		character = scope:el_adventurer_fin
		animation = marshal 
		outfit_tags = { no_cloak }
		}
	trigger = {
		scope:el_employer = { is_alive = yes }
		scope:el_adventurer_fin = { is_alive = yes }
	}
	on_trigger_fail = {
		trigger_event = el_landed_contract_train_knight.0006
	}	
	immediate = {
		scope:el_knights = {
			increase_wounds_no_death_effect = { REASON = training_accident }
			add_character_flag = { 
				flag = el_wait_to_train_knight
				days = 730
			}
		}
	}		
	option = {
		name = el_landed_contract_train_knight.0003.a
		scope:el_knights =  { 
			remove_character_flag = need_military_outfit
		}

	}
	after = {
		if = {
			limit = {
				scope:el_adventurer_fin.var:contractstate < 2
			}
			scope:el_adventurer_fin = {
				change_variable = {
					name = contractstate
					add = 1
				}
				trigger_event = el_landed_contract_train_knight.0001
			}
		}
		else = {
			scope:el_employer = {
				if = {
					limit = {
						scope:el_adventurer_fin.var:contractfin > 1
					}
					trigger_event = {
						id = el_landed_contract_train_knight.0004
						days =  2
					}
				}
				else = {
					trigger_event = {
						id = el_landed_contract_train_knight.0005
						days =  2
					}
				}
			}
		}						
	}		
}

#succeed contract
el_landed_contract_train_knight.0004 = {
	type = character_event
	theme = landless_adventurer
	title = el_landed_contract_train_knight.0004.t
	desc = el_landed_contract_train_knight.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 = {
		scope:el_employer = {
			every_in_list = {
				list = el_knights_list
				remove_character_flag = need_military_outfit
				remove_from_list = el_knights_list
			}
		}
		scope:el_adventurer_fin = {
			remove_character_flag = need_military_outfit
		}
	}		
	option = {
		name = el_landed_contract_train_knight.0004.a
		pay_short_term_gold = {
			target = scope:el_adventurer_fin
			gold = medium_gold_value
		}
		scope:el_adventurer_fin = {
			#add_contact = scope:el_employer
			add_prestige = medium_prestige_gain
			domicile = { change_provisions = minor_provisions_value }
		}

	}
	option = {
		name = el_landed_contract_train_knight.0004.b
		add_prestige = medium_prestige_loss
		scope:el_adventurer_fin = {
			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 = contractfin
			remove_variable = contractstate
			remove_character_flag = is_in_task_contract_event_chain
			current_travel_plan ?= { resume_travel_plan = yes }
		}
		scope:el_employer = {
			remove_character_flag = el_is_employing_adventurer
		}
	}		
}

#fail contract
el_landed_contract_train_knight.0005 = {
	type = character_event
	theme = landless_adventurer
	title = el_landed_contract_train_knight.0005.t
	desc = el_landed_contract_train_knight.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 = {
		scope:el_employer = {
			every_in_list = {
				list = el_knights_list
				remove_character_flag = need_military_outfit
				remove_from_list = el_knights_list
			}
		}
		scope:el_adventurer_fin = {
			remove_character_flag = need_military_outfit
		}
	}		
	option = {
		name = el_landed_contract_train_knight.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 = contractfin
			remove_variable = contractstate
			remove_character_flag = is_in_task_contract_event_chain
			current_travel_plan ?= { resume_travel_plan = yes }
		}
		scope:el_employer = {
			remove_character_flag = el_is_employing_adventurer
		}
	}
}

#clear if dead
el_landed_contract_train_knight.0006 = {
	hidden = yes
		immediate = {		
		scope:el_employer = {
			every_in_list = {
				list = el_knights_list
				remove_character_flag = need_military_outfit
				remove_from_list = el_knights_list
			}
			remove_character_flag = el_is_employing_adventurer
		}
		scope:el_adventurer_fin = {
			if = {
				limit = { is_alive = yes }
				remove_variable = contractfin
				remove_variable = contractstate
				remove_character_flag = is_in_task_contract_event_chain
				remove_character_flag = need_military_outfit
				if = {
					limit = { current_travel_plan ?= { is_paused  = yes } }
					current_travel_plan ?= { resume_travel_plan = yes }
				}
			}
		}
	}
}

#clear if employer dead
el_landed_contract_train_knight.0007 = {
	hidden = yes
	immediate = {
		if = {
			limit = { scope:el_employer = { is_alive = no }}
			scope:el_employer = {
				every_in_list = {
					list = el_knights_list
					remove_character_flag = need_military_outfit
					remove_from_list = el_knights_list
				}
			}
			scope:el_adventurer_fin = {
				if = {
					limit = { is_alive = yes }
					remove_variable = contractfin
					remove_variable = contractstate
					remove_character_flag = is_in_task_contract_event_chain
					remove_character_flag = need_military_outfit
					if = {
						limit = { current_travel_plan ?= { is_paused  = yes } }
						current_travel_plan ?= { resume_travel_plan = yes }
					}
				}
			}
		}
	}
}

