namespace = est_chivalry

#Chivalry adopt, previous ruler gets chivalry trait. #(Ben_D): No longer relevant
#country_event = {
#	id = est_chivalry.1
#	hide_window = yes
#	is_triggered_only = yes
#	
#	trigger = {
#		has_active_tradition = tr_est_chivalry_adopt
#		from = {
#			Not = {
#				has_trait = leader_trait_commander_est_chivalry
#				has_trait = leader_trait_general_est_chivalry
#				has_trait = leader_trait_official_est_chivalry
#				has_trait = leader_trait_scientist_est_chivalry
#			}		
#		}
#	}
#
#	immediate = {
#		from = {
#			if = {
#				limit = { leader_class = commander }
#				add_trait = leader_trait_commander_est_chivalry
#				break = yes
#			}
#			if = {
#				limit = { leader_class = official }
#				add_trait = leader_trait_official_est_chivalry
#				break = yes
#			}
#			if = {
#				limit = { leader_class = scientist }
#				add_trait = leader_trait_scientist_est_chivalry
#				break = yes
#			}
#		}
#	}
#}

#Chivalry adopt, Admirals & Generals finally get their chivalry trait
country_event = {
	id = est_chivalry.1
	hide_window = yes
	is_triggered_only = yes

	immediate = {
		if = {
			limit = {
				has_active_tradition = tr_est_chivalry_adopt
			}
			every_owned_leader = {
				if = {
					limit = {
						has_trait = subclass_commander_admiral
					}
					add_trait = leader_trait_admiral_est_chivalry
				}
				else_if = {
					limit = {
						has_trait = subclass_commander_general
					}
					add_trait = leader_trait_general_est_chivalry
				}
			}
		}
	}
}
	
#Chivalry adopt, spawned leader gets chivalry trait.
country_event = {
	id = est_chivalry.2
	hide_window = yes
	is_triggered_only = yes
	
	trigger = {
		has_active_tradition = tr_est_chivalry_adopt
		from = {
			Not = {
#				has_trait = leader_trait_commander_est_chivalry #(Ben_D): Trait shouldn't be assigned before sub-class is determined
#				has_trait = leader_trait_general_est_chivalry
				has_trait = leader_trait_official_est_chivalry
				has_trait = leader_trait_scientist_est_chivalry
			}		
		}
	}

	immediate = {
		from = {
#			if = {
#				limit = { leader_class = commander }
#				add_trait = leader_trait_commander_est_chivalry
#				add_ruler_trait = leader_trait_ruler_est_chivalry #(Ben_D): All "ruler" related things are no longer relevant
#				break = yes
#			}
			if = {
				limit = { leader_class = official }
				add_trait = leader_trait_official_est_chivalry
#				add_ruler_trait = leader_trait_ruler_est_chivalry
				break = yes
			}
			if = {
				limit = { leader_class = scientist }
				add_trait = leader_trait_scientist_est_chivalry
#				add_ruler_trait = leader_trait_ruler_est_chivalry
				break = yes
			}
#			if = {
#				limit = { leader_class = ruler }
#				add_ruler_trait = leader_trait_ruler_est_chivalry
#				break = yes
#			}
		}
	}
}

#Chivalry adopt, hero trait on defense.
country_event = {
	id = est_chivalry.3
	hide_window = yes
	is_triggered_only = yes
	
	trigger = {
		has_active_tradition = tr_est_chivalry_adopt
	}
	
	immediate = {
		fromfrom = {
			set_timed_planet_flag = {
				flag = est_chivalry_adopt_tmp_planet_flag
				days = 1
			}
		}
		random_list = {
			1 = {}
			1 = {
				random_owned_army = {
					limit = {
						exists = leader
						leader = {
							has_trait = subclass_commander_general
						}
						planet = {
							has_planet_flag = est_chivalry_adopt_tmp_planet_flag
						}
					}
					leader = {
						add_trait = leader_trait_general_est_chivalry_hero
#						add_ruler_trait = leader_trait_ruler_est_chivalry_hero
					}
				}
			}
		}
	}	
}

#Chivalry adopt, hero trait on conquest.
country_event = {
	id = est_chivalry.4
	hide_window = yes
	is_triggered_only = yes
	
	trigger = {
		has_active_tradition = tr_est_chivalry_adopt
		fromfrom = {
			exists = leader
		}
	}
	
	immediate = {
		fromfrom = {
			set_timed_planet_flag = {
				flag = est_chivalry_adopt_tmp_planet_flag
				days = 1
			}
		}
		random_list = {
			4 = {}
			1 = {
				random_owned_army = {
					limit = {
						exists = leader
						leader = {
							has_trait = subclass_commander_general
						}
						planet = {
							has_planet_flag = est_chivalry_adopt_tmp_planet_flag
						}
					}
					leader = {
						add_trait = leader_trait_general_est_chivalry_hero
#						add_ruler_trait = leader_trait_ruler_est_chivalry_hero
					}
				}
			}
		}
	}	
}

#Chivalry adopt, hero trait on fleet victory.
country_event = {
	id = est_chivalry.5
	hide_window = yes
	is_triggered_only = yes
	
	trigger = {
		has_active_tradition = tr_est_chivalry_adopt
		fromfrom = {
			exists = leader		
		}
	}
	
	immediate = {
		fromfrom = {
			if = {
				limit = {
					has_hp_percentage > 0.95
				}
				break = yes
			}
			if = {
				limit = {
					has_hp_percentage > 0.8
				}
				random_list = {
					9 = {}
					1 = {
						leader = {
							if = {
								limit = {
									has_trait = subclass_commander_admiral
									NOT = {
										has_trait = leader_trait_admiral_est_chivalry_hero
									}
								}
								add_trait = leader_trait_admiral_est_chivalry_hero
#								add_ruler_trait = leader_trait_ruler_est_chivalry_hero		
							}
						}
					}
				}
				break = yes
			}
			if = {
				limit = {
					has_hp_percentage > 0.6
				}
				random_list = {
					6 = {}
					1 = {
						leader = {
							if = {
								limit = {
									has_trait = subclass_commander_admiral
									NOT = {
										has_trait = leader_trait_admiral_est_chivalry_hero
									}
								}
								add_trait = leader_trait_admiral_est_chivalry_hero
#								add_ruler_trait = leader_trait_ruler_est_chivalry_hero		
							}
						
						}
					}
				}
				break = yes
			}
			if = {
				limit = {
					has_hp_percentage > 0.4
				}
				random_list = {
					3 = {}
					1 = {
						leader = {
							if = {
								limit = {
									has_trait = subclass_commander_admiral
									NOT = {
										has_trait = leader_trait_admiral_est_chivalry_hero
									}
								}
								add_trait = leader_trait_admiral_est_chivalry_hero
#								add_ruler_trait = leader_trait_ruler_est_chivalry_hero		
							}
						
						}
					}
				}
				break = yes
			}
			if = {
				limit = {
					has_hp_percentage > 0.2
				}
				random_list = {
					1 = {}
					1 = {
						leader = {
							if = {
								limit = {
									has_trait = subclass_commander_admiral
									NOT = {
										has_trait = leader_trait_admiral_est_chivalry_hero
									}
								}
								add_trait = leader_trait_admiral_est_chivalry_hero
#								add_ruler_trait = leader_trait_ruler_est_chivalry_hero		
							}
						
						}
					}
				}
				break = yes
			}
			random_list = {
				1 = {}
				3 = {
					leader = {
						if = {
							limit = {
								has_trait = subclass_commander_admiral
								NOT = {
									has_trait = leader_trait_admiral_est_chivalry_hero
								}
							}
							add_trait = leader_trait_admiral_est_chivalry_hero
#							add_ruler_trait = leader_trait_ruler_est_chivalry_hero		
						}
					
					}
				}
			}
		}
	}	
}

#Chivalry adopt, hero trait on fleet victory, emergency FTL. Only one admiral can gain the trait.
fleet_event = {
	id = est_chivalry.6
	hide_window = yes
	is_triggered_only = yes
	
	trigger = {
		any_combatant_fleet = {
			owner = {
				has_active_tradition = tr_est_chivalry_adopt
			}
			exists = leader			
		}	
	}
	
	immediate = {
		every_combatant_fleet = {
			limit = {
				owner = {
					has_active_tradition = tr_est_chivalry_adopt
				}
				exists = leader		
			}
			if = {
				limit = {
					has_hp_percentage > 0.95
				}
				break = yes
			}
			if = {
				limit = {
					has_hp_percentage > 0.8
				}
				random_list = {
					9 = {}
					1 = {
						leader = {
							if = {
								limit = {
									has_trait = subclass_commander_admiral
									NOT = {
										has_trait = leader_trait_admiral_est_chivalry_hero
									}
								}
								add_trait = leader_trait_admiral_est_chivalry_hero
#								add_ruler_trait = leader_trait_ruler_est_chivalry_hero		
							}
						
						}
					}
				}
				break = yes
			}
			if = {
				limit = {
					has_hp_percentage > 0.6
				}
				random_list = {
					6 = {}
					1 = {
						leader = {
							if = {
								limit = {
									has_trait = subclass_commander_admiral
									NOT = {
										has_trait = leader_trait_admiral_est_chivalry_hero
									}
								}
								add_trait = leader_trait_admiral_est_chivalry_hero
#								add_ruler_trait = leader_trait_ruler_est_chivalry_hero		
							}
						
						}
					}
				}
				break = yes
			}
			if = {
				limit = {
					has_hp_percentage > 0.4
				}
				random_list = {
					3 = {}
					1 = {
						leader = {
							if = {
								limit = {
									has_trait = subclass_commander_admiral
									NOT = {
										has_trait = leader_trait_admiral_est_chivalry_hero
									}
								}
								add_trait = leader_trait_admiral_est_chivalry_hero
#								add_ruler_trait = leader_trait_ruler_est_chivalry_hero		
							}
						
						}
					}
				}
				break = yes
			}
			if = {
				limit = {
					fromfrom = {
						has_hp_percentage > 0.2
					}
				}
				random_list = {
					1 = {}
					1 = {
						leader = {
							if = {
								limit = {
									has_trait = subclass_commander_admiral
									NOT = {
										has_trait = leader_trait_admiral_est_chivalry_hero
									}
								}
								add_trait = leader_trait_admiral_est_chivalry_hero
#								add_ruler_trait = leader_trait_ruler_est_chivalry_hero		
							}
						
						}
					}
				}
				break = yes
			}
			random_list = {
				1 = {}
				3 = {
					leader = {
						if = {
							limit = {
								has_trait = subclass_commander_admiral
								NOT = {
									has_trait = leader_trait_admiral_est_chivalry_hero
								}
							}
							add_trait = leader_trait_admiral_est_chivalry_hero
#							add_ruler_trait = leader_trait_ruler_est_chivalry_hero		
						}
					
					}
				}
			}
		}
	}	
}

#Chivalry 5, gives unity when destroying ships.
country_event = {
	id = est_chivalry.7
	hide_window = yes
	is_triggered_only = yes
	
	trigger = {
		has_active_tradition = tr_est_chivalry_5
	}
	
	immediate = {
		FromFromFrom = {
			switch = {
				trigger = is_ship_size
				
				corvette = { root = {add_resource = { unity = 5 } } break = yes}
				destroyer = { root = {add_resource = { unity = 20 } } break = yes}
				cruiser = { root = {add_resource = { unity = 80 } } break = yes}
				battleship = { root = {add_resource = { unity = 160 } } break = yes}
				titan = { root = {add_resource = { unity = 640 } } break = yes}
				
				transport = { break = yes}
				constructor = { break = yes}
				colonizer = { break = yes}
				science = { break = yes}
				
				military_station_small = { root = {add_resource = { unity = 20 } } break = yes}
				military_station_medium = { root = {add_resource = { unity = 60 } } break = yes}
				military_station_large = { root = {add_resource = { unity = 120 } } break = yes}				
				
				mining_station = { break = yes}
				research_station = { break = yes}					
				observation_station = { break = yes}
				
				starbase_outpost = { root = {add_resource = { unity = 20 } } break = yes}
				starbase_starport = { root = {add_resource = { unity = 80 } } break = yes}
				starbase_starhold = { root = {add_resource = { unity = 160 } } break = yes}
				starbase_starfortress = { root = {add_resource = { unity = 320 } } break = yes}
				starbase_citadel = { root = {add_resource = { unity = 640 } } break = yes}

				starbase_swarm = { root = {add_resource = { unity = 160 } } break = yes}
				starbase_ai = { root = {add_resource = { unity = 160 } } break = yes}
				starbase_exd = { root = {add_resource = { unity = 160 } } break = yes}
				starbase_marauder = { root = {add_resource = { unity = 160 } } break = yes}
				ion_cannon = { root = {add_resource = { unity = 80 } } break = yes}

				colossus  = { root = {add_resource = { unity = 2500 } } break = yes}
				
				small_ship_swarm = { root = {add_resource = { unity = 5 } } break = yes}
				large_ship_swarm = { root = {add_resource = { unity = 20 } } break = yes}
				large_ship_carrier_swarm = { root = {add_resource = { unity = 80 } } break = yes}
				queen_swarm = { root = {add_resource = { unity = 160 } } break = yes}
				construction_ship_swarm = { break = yes}
				colony_ship_swarm = { break = yes}
				transport_ship_swarm = { break = yes}
				 
				small_ship_fallen_empire = { root = {add_resource = { unity = 30 } } break = yes}
				large_ship_fallen_empire = { root = {add_resource = { unity = 160 } } break = yes}
				massive_ship_fallen_empire = { root = {add_resource = { unity = 600 } } break = yes}
				military_station_large_fallen_empire = { root = {add_resource = { unity = 240 } } break = yes}
				military_station_small_fallen_empire = { root = {add_resource = { unity = 30 } } break = yes}
				 
				small_ship_ed = { root = {add_resource = { unity = 20 } } break = yes}
				medium_ship_ed = { root = {add_resource = { unity = 80 } } break = yes}
				large_ship_ed = { root = {add_resource = { unity = 160 } } break = yes}
				construction_ship_ed = { break = yes}
				dimensional_portal_ed = { break = yes}
				 
				psionic_avatar = { root = {add_resource = { unity = 600 } } break = yes}
				corrupted_avatar = { root = {add_resource = { unity = 600 } } break = yes}
				shroud_manifestation = { root = {add_resource = { unity = 600 } } break = yes}
				warped_consciousness = { root = {add_resource = { unity = 600 } } break = yes}
				
				enclave_station = { break = yes}
				space_dragon_red = { root = {add_resource = { unity = 5000 } } break = yes}
				stellarite = { root = {add_resource = { unity = 5000 } } break = yes}
				sphere = { root = {add_resource = { unity = 5000 } } break = yes}
				galleon = { root = {add_resource = { unity = 2500 } } break = yes}
				station_xl = { root = {add_resource = { unity = 2500 } } break = yes}
				station_l = { root = {add_resource = { unity = 1200 } } break = yes}
				station_m = { root = {add_resource = { unity = 1200 } } break = yes}
				station_s = { root = {add_resource = { unity = 160 } } break = yes}
				station_xs = { root = {add_resource = { unity = 60 } } break = yes}
				dimensional_horror = { root = {add_resource = { unity = 5000 } } break = yes}
				npc_warship_01 = { root = {add_resource = { unity = 1200 } } break = yes}
				homebase = { root = {add_resource = { unity = 1200 } } break = yes}
				hive_asteroid = { root = {add_resource = { unity = 600 } } break = yes}
				wraith_01_blue = { root = {add_resource = { unity = 5000 } } break = yes}
				wraith_01_red = { root = {add_resource = { unity = 5000 } } break = yes}
				wraith_01_yellow = { root = {add_resource = { unity = 5000 } } break = yes}
				space_dragon_baby = { root = {add_resource = { unity = 600 } } break = yes}
				 				 
				pirate_corvette = { root = {add_resource = { unity = 5 } } break = yes}
				pirate_destroyer = { root = {add_resource = { unity = 20 } } break = yes}
				pirate_cruiser = { root = {add_resource = { unity = 80 } } break = yes}
				pirate_station = { root = {add_resource = { unity = 40 } } break = yes}				 
				 
				marauder_corvette = { root = {add_resource = { unity = 5 } } break = yes}
				marauder_destroyer = { root = {add_resource = { unity = 20 } } break = yes}
				marauder_cruiser = { root = {add_resource = { unity = 80 } } break = yes}
				marauder_galleon = { root = {add_resource = { unity = 160 } } break = yes}
				marauder_station = { root = {add_resource = { unity = 40 } } break = yes}
				marauder_void_dwelling = { break = yes}				
				
				space_cloud = { root = {add_resource = { unity = 80 } } break = yes}
				space_amoeba = { root = {add_resource = { unity = 20 } } break = yes}
				space_amoeba_mother = { root = {add_resource = { unity = 80 } } break = yes}
				ancient_mining_drone = { root = {add_resource = { unity = 5 } } break = yes}
				ancient_corvette = { root = {add_resource = { unity = 5 } } break = yes}
				ancient_destroyer = { root = {add_resource = { unity = 20 } } break = yes}				
				
				small_ship_ai = { root = {add_resource = { unity = 80 } } break = yes}
				large_ship_ai = { root = {add_resource = { unity = 10 } } break = yes}
				military_station_large_ai = { root = {add_resource = { unity = 100 } } break = yes}
				military_station_small_ai = { root = {add_resource = { unity = 40 } } break = yes}
				core_ai = { break = yes}
				final_core_ai = { break = yes}
				construction_ship_ai = { break = yes}
				colony_ship_ai = { break = yes}
				transport_ship_ai = { break = yes}
			}
			root = {
				add_resource = { unity = 5 }
			} 
		}		
	}
}

#Chivalry finish, select a virtue.
country_event = {
	id = est_chivalry.8
	#hide_window = yes
	is_triggered_only = yes
	title = "est_chivalry_finish.name"
	desc =  "est_chivalry_finish.desc"
	picture = GFX_evt_throne_room
	
	trigger = {
		has_active_tradition = tr_est_chivalry_finish
	}
	
	immediate = {
		switch = {
			trigger = has_modifier 
			
			mod_est_chivalry_finish_courage = { remove_modifier = "mod_est_chivalry_finish_courage" }
			mod_est_chivalry_finish_charity = { remove_modifier = "mod_est_chivalry_finish_charity" }
			mod_est_chivalry_finish_humility = { remove_modifier = "mod_est_chivalry_finish_humility" }
			mod_est_chivalry_finish_duty = { remove_modifier = "mod_est_chivalry_finish_duty" }
			mod_est_chivalry_finish_kindness = { remove_modifier = "mod_est_chivalry_finish_kindness" }
			mod_est_chivalry_finish_patience = { remove_modifier = "mod_est_chivalry_finish_patience" }
			mod_est_chivalry_finish_moderation = { remove_modifier = "mod_est_chivalry_finish_moderation" }
			mod_est_chivalry_finish_diligence = { remove_modifier = "mod_est_chivalry_finish_diligence" }
		}
	}
	
	option = {
		name = "est_chivalty_finish.option.courage"
		add_modifier = {
			modifier = mod_est_chivalry_finish_courage
			days = -1
		}
	}
	option = {
		name = "est_chivalty_finish.option.charity"
		add_modifier = {
			modifier = mod_est_chivalry_finish_charity
			days = -1
		}
	}
	option = {
		name = "est_chivalty_finish.option.humility"
		custom_tooltip = "est_chivalty_finish_humility_tooltip"
		add_modifier = {
			modifier = mod_est_chivalry_finish_humility
			days = -1
		}
	}
	option = {
		name = "est_chivalty_finish.option.duty"
		add_modifier = {
			modifier = mod_est_chivalry_finish_duty
			days = -1
		}
	}
	option = {
		name = "est_chivalty_finish.option.kindness"
		add_modifier = {
			modifier = mod_est_chivalry_finish_kindness
			days = -1
		}
	}
	option = {
		name = "est_chivalty_finish.option.patience"
		add_modifier = {
			modifier = mod_est_chivalry_finish_patience
			days = -1
		}
	}
	option = {
		name = "est_chivalty_finish.option.moderation"
		add_modifier = {
			modifier = mod_est_chivalry_finish_moderation
			days = -1
		}
	}
	option = {
		name = "est_chivalty_finish.option.diligence"
		add_modifier = {
			modifier = mod_est_chivalry_finish_diligence
			days = -1
		}
	}	
}

