namespace = esap_ethics

# Egalitarian, bonus while all pops under utopian living conditions
country_event = {
	id = esap_ethics.1
	hide_window = yes
	is_triggered_only = yes
	
	trigger = {
		has_ascension_perk = ap_esap_egalitarian_1
	}
	
	immediate = {
		every_owned_colony = {
			if = {
				limit = { happiness_planet < 70 }
				if = {
					limit = { Not = { has_modifier = mod_esap_egalitarian_1 } }
					add_modifier = {
						modifier = "mod_esap_egalitarian_1"
						days = -1
					}
				}
			}
			else = {
				if = {
					limit = { has_modifier = mod_esap_egalitarian_1 }
					remove_modifier = "mod_esap_egalitarian_1"
				}
			}
		}
	}
}

#Egalitarian 2, add special trait to leader.
country_event = {
	id = esap_ethics.2
	hide_window = yes
	is_triggered_only = yes

	trigger = {
		has_ascension_perk = ap_esap_egalitarian_2
		from = {
			NOT = { has_leader_flag = flag_esap_egalitarian_2_trait_added }
			has_total_skill > 2
		}
	}
	
	immediate = {
		if = {
			limit = { has_ascension_perk = ap_esap_egalitarian_2 }
			from = {
				set_leader_flag = flag_esap_egalitarian_2_trait_added
				if = {
					limit = { is_ruler = yes }
					random_list = {
						1 = { add_trait = { trait = leader_trait_ruler_esap_egalitarian_2_nerd } }
						1 = { add_trait = { trait = leader_trait_ruler_esap_egalitarian_2_competitive } }
						1 = { add_trait = { trait = leader_trait_ruler_esap_egalitarian_2_race_watcher } }
						1 = { add_trait = { trait = leader_trait_ruler_esap_egalitarian_2_academic } }
						1 = { add_trait = { trait = leader_trait_ruler_esap_egalitarian_2_stargazer } }
						1 = { add_trait = { trait = leader_trait_ruler_esap_egalitarian_2_shrewd_politician } }
						1 = { add_trait = { trait = leader_trait_ruler_esap_egalitarian_2_military_background } }
						1 = { add_trait = { trait = leader_trait_ruler_esap_egalitarian_2_progressive } }
						1 = { add_trait = { trait = leader_trait_ruler_esap_egalitarian_2_pious } }
					}
				}
				if = {
					limit = { leader_class = scientist }
					random_list = {
						1 = { add_trait = { trait = leader_trait_scientist_esap_egalitarian_2_bioinformatician } }
						1 = { add_trait = { trait = leader_trait_scientist_esap_egalitarian_2_navy_background } }
						1 = { add_trait = { trait = leader_trait_scientist_esap_egalitarian_2_racer } }
						1 = { add_trait = { trait = leader_trait_scientist_esap_egalitarian_2_mathematician } }
						1 = { add_trait = { trait = leader_trait_scientist_esap_egalitarian_2_explorer } }
						1 = { add_trait = { trait = leader_trait_scientist_esap_egalitarian_2_systematic } }
						1 = { add_trait = { trait = leader_trait_scientist_esap_egalitarian_2_traveler } }
						1 = { add_trait = { trait = leader_trait_scientist_esap_egalitarian_2_chemist } }
					}
				}
				if = {
					limit = { leader_class = official }
					random_list = {
						1 = { add_trait = { trait = leader_trait_governor_esap_egalitarian_2_entrepreneur } }
						1 = { add_trait = { trait = leader_trait_governor_esap_egalitarian_2_strict } }
						1 = { add_trait = { trait = leader_trait_governor_esap_egalitarian_2_ascetic } }
						1 = { add_trait = { trait = leader_trait_governor_esap_egalitarian_2_ecologist } }
						1 = { add_trait = { trait = leader_trait_governor_esap_egalitarian_2_ambitious } }
						1 = { add_trait = { trait = leader_trait_governor_esap_egalitarian_2_orator } }
					}
				}
				if = {
					limit = { leader_class = commander }
					random_list = {
						1 = { add_trait = { trait = leader_trait_general_esap_egalitarian_2_impetuous } }
						1 = { add_trait = { trait = leader_trait_general_esap_egalitarian_2_careful } }
						1 = { add_trait = { trait = leader_trait_general_esap_egalitarian_2_courageous } }
						1 = { add_trait = { trait = leader_trait_general_esap_egalitarian_2_planer } }
						1 = { add_trait = { trait = leader_trait_general_esap_egalitarian_2_unpredictable } }
					}
				}
				if = {
					limit = { leader_class = commander }
					random_list = {
							1 = { add_trait = { trait = leader_trait_admiral_esap_egalitarian_2_intelligent } }
							1 = { add_trait = { trait = leader_trait_admiral_esap_egalitarian_2_bad_tempered } }
							1 = { add_trait = { trait = leader_trait_admiral_esap_egalitarian_2_tactical } }
							1 = { add_trait = { trait = leader_trait_admiral_esap_egalitarian_2_spaceborn } }
							1 = { add_trait = { trait = leader_trait_admiral_esap_egalitarian_2_battleborn } }
							1 = { add_trait = { trait = leader_trait_admiral_esap_egalitarian_2_shipwrighter } }
							1 = { add_trait = { trait = leader_trait_admiral_esap_egalitarian_2_energy_weapons } }
							1 = { add_trait = { trait = leader_trait_admiral_esap_egalitarian_2_explosive_weapons } }
							1 = { add_trait = { trait = leader_trait_admiral_esap_egalitarian_2_kinetic_weapons } }
							1 = { add_trait = { trait = leader_trait_admiral_esap_egalitarian_2_physicist } }
					}
				}
			}
		}
	}
}

#Militarist 1, adds modifier to larger ships
ship_event = {
	id = esap_ethics.3
	hide_window = yes
	is_triggered_only = yes
	
	trigger = {
		owner = {
			has_ascension_perk = ap_esap_militarist_1
		}	
		Or = {
			is_ship_size = battleship
			is_ship_size = titan
		}
	}
	
	immediate = {
		add_modifier = {
			modifier = "mod_esap_militarist_1"
			days = -1
		}
	}
}

# Militarist 2, updates penalty from not waging war.
country_event = {
	id = esap_ethics.4
	hide_window = yes
	is_triggered_only = yes
	
	trigger = {
		has_ascension_perk = ap_esap_militarist_2	
	}
	
	immediate = {
		if = {
			limit = { is_at_war = yes }
			if = { 
				limit = {
					check_variable = {
						which = var_esap_militarist_2_years_of_peace
						value > 0
					}
				}
				subtract_variable = {
					which = var_esap_militarist_2_years_of_peace
					value = 1
				}
			}
		}
		else = {
			if = { 
				limit = {
					check_variable = {
						which = var_esap_militarist_2_years_of_peace
						value < 10
					}
				}
				change_variable = {
					which = var_esap_militarist_2_years_of_peace
					value = 1
				}
			}
		}
		switch = {
			trigger = has_modifier

			mod_esap_militarist_2_1 = { remove_modifier = "mod_esap_militarist_2_1" break = yes}
			mod_esap_militarist_2_2 = { remove_modifier = "mod_esap_militarist_2_2" break = yes}
			mod_esap_militarist_2_3 = { remove_modifier = "mod_esap_militarist_2_3" break = yes}
			mod_esap_militarist_2_4 = { remove_modifier = "mod_esap_militarist_2_4" break = yes}
			mod_esap_militarist_2_5 = { remove_modifier = "mod_esap_militarist_2_5" break = yes}
			mod_esap_militarist_2_6 = { remove_modifier = "mod_esap_militarist_2_6" break = yes}
			mod_esap_militarist_2_7 = { remove_modifier = "mod_esap_militarist_2_7" break = yes}
			mod_esap_militarist_2_8 = { remove_modifier = "mod_esap_militarist_2_8" break = yes}
			mod_esap_militarist_2_9 = { remove_modifier = "mod_esap_militarist_2_9" break = yes}
			mod_esap_militarist_2_10 = { remove_modifier = "mod_esap_militarist_2_10" break = yes}
		}
		if = {
			limit = {
				check_variable = { which=var_esap_militarist_2_years_of_peace value=0 }
			}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_militarist_2_years_of_peace value=1 }
			}
			add_modifier = { modifier="mod_esap_militarist_2_1" days=-1}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_militarist_2_years_of_peace value=2 }
			}
			add_modifier = { modifier="mod_esap_militarist_2_2" days=-1}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_militarist_2_years_of_peace value=3 }
			}
			add_modifier = { modifier="mod_esap_militarist_2_3" days=-1}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_militarist_2_years_of_peace value=4 }
			}
			add_modifier = { modifier="mod_esap_militarist_2_4" days=-1}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_militarist_2_years_of_peace value=5 }
			}
			add_modifier = { modifier="mod_esap_militarist_2_5" days=-1}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_militarist_2_years_of_peace value=6 }
			}
			add_modifier = { modifier="mod_esap_militarist_2_6" days=-1}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_militarist_2_years_of_peace value=7 }
			}
			add_modifier = { modifier="mod_esap_militarist_2_7" days=-1}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_militarist_2_years_of_peace value=8 }
			}
			add_modifier = { modifier="mod_esap_militarist_2_8" days=-1}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_militarist_2_years_of_peace value=99 }
			}
			add_modifier = { modifier="mod_esap_militarist_2_9" days=-1}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_militarist_2_years_of_peace value=10 }
			}
			add_modifier = { modifier="mod_esap_militarist_2_10" days=-1}
			break = yes
		}
	}
}	

# Pacifist 1, Galcom effect
country_event = {
	id = esap_ethics.9
	hide_window = yes
	is_triggered_only = yes
	
	immediate = {
		if = {
			limit = {
				any_galcom_member = {
					has_ascension_perk = ap_esap_pacifist_1
				}
			}
			every_galcom_member = {
				limit = {		# Tested OR gate and gives the modifiers to pacifists too
					NOT = { has_modifier = mod_esap_pacifist_1 }
					is_pacifist = no
					is_gestalt = no
					# NOT = {							
					# 	is_same_value = root
					# }
				}
				add_modifier = {
					modifier = mod_esap_pacifist_1
					days = 3600
				}
			}
		}
		else = {
			break = yes
		}
	}
}	


# Pacifist 2, updates bonus from not waging war.
country_event = {
	id = esap_ethics.5
	hide_window = yes
	is_triggered_only = yes
	
	trigger = {
		has_ascension_perk = ap_esap_pacifist_2	
	}
	
	immediate = {
		if = {
			limit = { is_at_war = yes }
			subtract_variable = {
				which = var_esap_pacifist_2_years_of_peace
				value = 5
			}
			if = {
				limit = { check_variable = { which=var_esap_pacifist_2_years_of_peace value < 0 } }
				set_variable = {
					which = var_esap_pacifist_2_years_of_peace
					value = 0
				}
			}
		}
		else = {
			if = {
				limit = { check_variable = { which=var_esap_pacifist_2_years_of_peace value < 50 } }
				change_variable = {
					which = var_esap_pacifist_2_years_of_peace
					value = 1
				}
			}
		}
		if = {
			limit = {
				check_variable = { which=var_esap_pacifist_2_years_of_peace value=0 }
			}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_pacifist_2_years_of_peace value=1 }
			}
			add_modifier = { modifier="mod_esap_pacifist_2_1" years=1}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_pacifist_2_years_of_peace value=2 }
			}
			add_modifier = { modifier="mod_esap_pacifist_2_2" years=1}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_pacifist_2_years_of_peace value=3 }
			}
			add_modifier = { modifier="mod_esap_pacifist_2_3" years=1}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_pacifist_2_years_of_peace value=4 }
			}
			add_modifier = { modifier="mod_esap_pacifist_2_4" years=1}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_pacifist_2_years_of_peace value=5 }
			}
			add_modifier = { modifier="mod_esap_pacifist_2_5" years=1}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_pacifist_2_years_of_peace value=6 }
			}
			add_modifier = { modifier="mod_esap_pacifist_2_6" years=1}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_pacifist_2_years_of_peace value=7 }
			}
			add_modifier = { modifier="mod_esap_pacifist_2_7" years=1}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_pacifist_2_years_of_peace value=8 }
			}
			add_modifier = { modifier="mod_esap_pacifist_2_8" years=1}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_pacifist_2_years_of_peace value=9 }
			}
			add_modifier = { modifier="mod_esap_pacifist_2_9" years=1}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_pacifist_2_years_of_peace value=10 }
			}
			add_modifier = { modifier="mod_esap_pacifist_2_10" years=1}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_pacifist_2_years_of_peace value=11 }
			}
			add_modifier = { modifier="mod_esap_pacifist_2_11" years=1}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_pacifist_2_years_of_peace value=12 }
			}
			add_modifier = { modifier="mod_esap_pacifist_2_12" years=1}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_pacifist_2_years_of_peace value=13 }
			}
			add_modifier = { modifier="mod_esap_pacifist_2_13" years=1}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_pacifist_2_years_of_peace value=14 }
			}
			add_modifier = { modifier="mod_esap_pacifist_2_14" years=1}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_pacifist_2_years_of_peace value=15 }
			}
			add_modifier = { modifier="mod_esap_pacifist_2_15" years=1}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_pacifist_2_years_of_peace value=16 }
			}
			add_modifier = { modifier="mod_esap_pacifist_2_16" years=1}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_pacifist_2_years_of_peace value=17 }
			}
			add_modifier = { modifier="mod_esap_pacifist_2_17" years=1}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_pacifist_2_years_of_peace value=18 }
			}
			add_modifier = { modifier="mod_esap_pacifist_2_18" years=1}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_pacifist_2_years_of_peace value=19 }
			}
			add_modifier = { modifier="mod_esap_pacifist_2_19" years=1}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_pacifist_2_years_of_peace value=20 }
			}
			add_modifier = { modifier="mod_esap_pacifist_2_20" years=1}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_pacifist_2_years_of_peace value=21 }
			}
			add_modifier = { modifier="mod_esap_pacifist_2_21" years=1}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_pacifist_2_years_of_peace value=22 }
			}
			add_modifier = { modifier="mod_esap_pacifist_2_22" years=1}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_pacifist_2_years_of_peace value=23 }
			}
			add_modifier = { modifier="mod_esap_pacifist_2_23" years=1}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_pacifist_2_years_of_peace value=24 }
			}
			add_modifier = { modifier="mod_esap_pacifist_2_24" years=1}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_pacifist_2_years_of_peace value=25 }
			}
			add_modifier = { modifier="mod_esap_pacifist_2_25" years=1}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_pacifist_2_years_of_peace value=26 }
			}
			add_modifier = { modifier="mod_esap_pacifist_2_26" years=1}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_pacifist_2_years_of_peace value=27 }
			}
			add_modifier = { modifier="mod_esap_pacifist_2_27" years=1}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_pacifist_2_years_of_peace value=28 }
			}
			add_modifier = { modifier="mod_esap_pacifist_2_28" years=1}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_pacifist_2_years_of_peace value=29 }
			}
			add_modifier = { modifier="mod_esap_pacifist_2_29" years=1}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_pacifist_2_years_of_peace value=30 }
			}
			add_modifier = { modifier="mod_esap_pacifist_2_30" years=1}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_pacifist_2_years_of_peace value=31 }
			}
			add_modifier = { modifier="mod_esap_pacifist_2_31" years=1}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_pacifist_2_years_of_peace value=32 }
			}
			add_modifier = { modifier="mod_esap_pacifist_2_32" years=1}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_pacifist_2_years_of_peace value=33 }
			}
			add_modifier = { modifier="mod_esap_pacifist_2_33" years=1}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_pacifist_2_years_of_peace value=34 }
			}
			add_modifier = { modifier="mod_esap_pacifist_2_34" years=1}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_pacifist_2_years_of_peace value=35 }
			}
			add_modifier = { modifier="mod_esap_pacifist_2_35" years=1}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_pacifist_2_years_of_peace value=36 }
			}
			add_modifier = { modifier="mod_esap_pacifist_2_36" years=1}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_pacifist_2_years_of_peace value=37 }
			}
			add_modifier = { modifier="mod_esap_pacifist_2_37" years=1}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_pacifist_2_years_of_peace value=38 }
			}
			add_modifier = { modifier="mod_esap_pacifist_2_38" years=1}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_pacifist_2_years_of_peace value=39 }
			}
			add_modifier = { modifier="mod_esap_pacifist_2_39" years=1}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_pacifist_2_years_of_peace value=40 }
			}
			add_modifier = { modifier="mod_esap_pacifist_2_40" years=1}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_pacifist_2_years_of_peace value=41 }
			}
			add_modifier = { modifier="mod_esap_pacifist_2_41" years=1}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_pacifist_2_years_of_peace value=42 }
			}
			add_modifier = { modifier="mod_esap_pacifist_2_42" years=1}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_pacifist_2_years_of_peace value=43 }
			}
			add_modifier = { modifier="mod_esap_pacifist_2_43" years=1}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_pacifist_2_years_of_peace value=44 }
			}
			add_modifier = { modifier="mod_esap_pacifist_2_44" years=1}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_pacifist_2_years_of_peace value=45 }
			}
			add_modifier = { modifier="mod_esap_pacifist_2_45" years=1}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_pacifist_2_years_of_peace value=46 }
			}
			add_modifier = { modifier="mod_esap_pacifist_2_46" years=1}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_pacifist_2_years_of_peace value=47 }
			}
			add_modifier = { modifier="mod_esap_pacifist_2_47" years=1}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_pacifist_2_years_of_peace value=48 }
			}
			add_modifier = { modifier="mod_esap_pacifist_2_48" years=1}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_pacifist_2_years_of_peace value=49 }
			}
			add_modifier = { modifier="mod_esap_pacifist_2_49" years=1}
			break = yes
		}
		if = {
			limit = {
				check_variable = { which=var_esap_pacifist_2_years_of_peace value=50 }
			}
			add_modifier = { modifier="mod_esap_pacifist_2_50" years=1}
			break = yes
		}
	}
}	

# Materialist 1, bonus to Science Ship when built.
ship_event = {
	id = esap_ethics.6
	hide_window = yes
	is_triggered_only = yes
	
	trigger = {
		owner = {
			has_ascension_perk = ap_esap_materialist_1
		}	
		is_ship_size = science
	}
	
	immediate = {
		add_modifier = {
			modifier = "mod_esap_materialist_1"
			days = -1
		}
	}
}

# Materialist 1, bonus when planet surveyed
ship_event = {
	id = esap_ethics.7
	is_triggered_only = yes
	hide_window = yes
	
	trigger = {
		owner = {
			has_ascension_perk = ap_esap_materialist_1
		}	
	}
	
	immediate = {
		owner = {
			add_monthly_resource_mult = { 
				resource = engineering_research
				value = 0.10 
				max = 1000
				min = 1
			}
			add_monthly_resource_mult = { 
				resource = physics_research
				value = 0.10 
				max = 1000
				min = 1
			}
			add_monthly_resource_mult = { 
				resource = society_research
				value = 0.10 
				max = 1000
				min = 1
			}
		}
	}
}

# Materialist 2, unity from researching techs
country_event = {
	id = esap_ethics.8
	hide_window = yes
	is_triggered_only = yes
	
	trigger = {
		has_ascension_perk = ap_esap_materialist_2
	}
	
	immediate = {
		add_monthly_resource_mult = {
			resource = unity
			value = 2
			min = 10
			max = 10000
		}
	}
}	
