namespace = ep3_emperor_yearly

############################
# EP3 Admin Emperor Events #
# by Jason Cantalini   	   #
# 3000 - 3500              #
############################

# Byzantine-only: your Varangians loot the palace after succession

ep3_emperor_yearly.3000 = {
	type = character_event
	title = ep3_emperor_yearly.3000.t
	desc = {
		desc = ep3_emperor_yearly.3000.desc
		first_valid = {
			triggered_desc = {
				trigger = {
					scope:varangian_leader = {
						is_courtier_of = root
					}
				}
				desc = ep3_emperor_yearly.3000.desc_leader
			}
			desc = ep3_emperor_yearly.3000.desc_no_leader
		}
	}
	theme = emperor
	override_background = { reference = throne_room }
	left_portrait = {
		character = root
		animation = disapproval
	}
	right_portrait = {
		character = scope:varangian_leader
		animation = celebrate_axe
		camera = camera_event_very_left
	}
	lower_right_portrait = {
		character = scope:varangian_2
	}
	lower_left_portrait = {
		character = scope:varangian_3
	}
	lower_center_portrait = {
		character = scope:dead_emperor
	}

	trigger = {
		has_ep3_dlc_trigger = yes
		primary_title = { has_variable = founded_varangian_guard }
	}

	immediate = {
		save_scope_as = root_scope
		#Choose which malus to use
		random_list = {
			#Artifact is damaged
			10 = {
				trigger = {
					any_character_artifact = {
						artifact_durability > 45
					}
				}
				add_character_flag = malus_broken_artifact
				random_character_artifact = {
					limit = {
						artifact_durability > 45
					}
					save_scope_as = broken_artifact
				}
				save_scope_value_as = {
					name = varangian_gold
					value = {
						value = 0
						add = {
							value = var:varangian_regiments
							multiply = 30
						}
					}
				}
			}
			#Artifact is stolen
			10 = {
				trigger = {
					any_character_artifact = {
						artifact_wealth_quality_average_value < 20
					}
				}
				random_character_artifact = {
					limit = {
						artifact_wealth_quality_average_value < 20
					}
					save_scope_as = stolen_artifact
				}
				add_character_flag = malus_stolen_artifact
				save_scope_value_as = {
					name = varangian_gold
					value = {
						value = 0
						add = {
							value = var:varangian_regiments
							multiply = 30
						}
					}
				}
			}
			##Court grandeur lost
			10 = {
				trigger = {
					has_royal_court = yes
					has_dlc_feature = royal_court
				}
				add_character_flag = malus_court_grandeur
				save_scope_value_as = {
					name = varangian_gold
					value = {
						value = 0
						add = {
							value = var:varangian_regiments
							multiply = 30
						}
					}
				}
			}
			##Gold is lost
			10 = {
				save_scope_value_as = {
					name = varangian_gold
					value = {
						value = 0
						add = {
							value = var:varangian_regiments
							multiply = 50
						}
					}
				}
			}
		}

		#Choose which bonus to give a refuser
		random_list = {
			5 = {
				trigger = {
					is_adult = yes
				}
				add_character_flag = refuse_bonus_dread
			}
			10 = {
				add_character_flag = refuse_bonus_prestige
			}
			5 = {
				add_character_flag = refuse_bonus_opinion
			}
		}

		#Choose which bonus to give an accepter
		random_list = {
			10 = {
				trigger = {
					max_number_maa_soldiers_of_base_type = {
						type = heavy_infantry
						value >= 300
					}
				}
				add_character_flag = accept_bonus_heavy_infantry
			}
			10 = {
				add_character_flag = accept_bonus_scheme_resist
			}
			10 = {
				add_character_flag = accept_bonus_army
			}
			10 = {
				add_character_flag = accept_bonus_legitimacy
			}
		}

		#Save a first Varangian to be the boss
		if = {
			limit = {
				any_court_position_holder = {
					type = akolouthos_court_position
					ep3_varangian_trigger = yes
					is_available = yes
				}
			}
			random_court_position_holder = {
				type = akolouthos_court_position
				save_scope_as = varangian_leader
			}
		}
		else_if = {
			limit = {
				any_court_position_holder = {
					type = bodyguard_court_position
					ep3_varangian_trigger = yes
					is_available = yes
				}
			}
			random_court_position_holder = {
				type = bodyguard_court_position
				limit = {
					ep3_varangian_trigger = yes
					is_available = yes
				}
				save_scope_as = varangian_leader
			}
		}
		else_if = {
			limit = {
				any_courtier = {
					ep3_varangian_trigger = yes
					is_available_adult = yes
				}
			}
			random_courtier = {
				limit = {
					ep3_varangian_trigger = yes
					is_available_adult = yes
				}
				save_scope_as = varangian_leader
			}
		}
		else_if = {
			limit = {
				current_date < 1066
			}
			#Norse
			create_character = {
				template = varangian_template
				location = root.location
				culture = culture:norse
				faith = root.faith
				dynasty = none
				save_scope_as = varangian_leader
			}
			scope:varangian_leader = {
				add_character_flag = need_military_outfit
			}
			hidden_effect = { add_visiting_courtier = scope:varangian_leader }
		}
		else = {
			#Anglo-Saxon
			create_character = {
				template = varangian_template
				location = root.location
				culture = culture:anglo_saxon
				faith = root.faith
				dynasty = none
				save_scope_as = varangian_leader
			}
			scope:varangian_leader = {
				add_character_flag = need_military_outfit
			}
			hidden_effect = { add_visiting_courtier = scope:varangian_leader }
		}
		#Save another Varangian
		if = {
			limit = {
				exists = scope:varangian_leader
				any_court_position_holder = {
					type = bodyguard_court_position
					ep3_varangian_trigger = yes
					is_available = yes
					this != scope:varangian_leader
				}
			}
			random_court_position_holder = {
				type = bodyguard_court_position
				limit = {
					ep3_varangian_trigger = yes
					is_available = yes
					this != scope:varangian_leader
				}
				save_scope_as = varangian_2
			}
		}
		else_if = {
			limit = {
				exists = scope:varangian_leader
				any_courtier = {
					ep3_varangian_trigger = yes
					is_available_adult = yes
					this != scope:varangian_leader
				}
			}
			random_courtier = {
				limit = {
					ep3_varangian_trigger = yes
					is_available_adult = yes
					this != scope:varangian_leader
				}
				save_scope_as = varangian_2
			}
		}
		#Save a third
		if = {
			limit = {
				exists = scope:varangian_leader
				exists = scope:varangian_2
				any_court_position_holder = {
					type = bodyguard_court_position
					ep3_varangian_trigger = yes
					is_available = yes
					NOR = {
						this = scope:varangian_leader
						this = scope:varangian_2
					}
				}
			}
			random_court_position_holder = {
				type = bodyguard_court_position
				limit = {
					ep3_varangian_trigger = yes
					is_available = yes
					NOR = {
						this = scope:varangian_leader
						this = scope:varangian_2
					}
				}
				save_scope_as = varangian_3
			}
		}
		else_if = {
			limit = {
				exists = scope:varangian_leader
				exists = scope:varangian_2
				any_courtier = {
					ep3_varangian_trigger = yes
					is_available_adult = yes
					NOR = {
						this = scope:varangian_leader
						this = scope:varangian_2
					}
				}
			}
			random_courtier = {
				limit = {
					ep3_varangian_trigger = yes
					is_available_adult = yes
					NOR = {
						this = scope:varangian_leader
						this = scope:varangian_2
					}
				}
				save_scope_as = varangian_3
			}
		}
	}

	#Have the Akolouthos seize some of the spoils
	option = {
		name = ep3_emperor_yearly.3000.a
		flavor = ep3_emperor_yearly.3000.a.flavor
		trigger = {
			employs_court_position = akolouthos_court_position
			any_court_position_holder = {
				type = akolouthos_court_position
				aptitude = {
					court_position = akolouthos_court_position
					value >= 3
				}
			}
		}
		add_internal_flag = special
		custom_tooltip = akolouthos_aptitude_option_unlock
		
		#Random refuse bonus effect
		if = {
			limit = {
				has_character_flag = refuse_bonus_prestige
			}
			if = {
				limit = {
					var:varangian_regiments >= 7
				}
				add_prestige = massive_prestige_gain
			}
			else_if = {
				limit = {
					var:varangian_regiments >= 4
				}
				add_prestige = major_prestige_gain
			}
			else = {
				add_prestige = medium_prestige_gain
			}
		}
		if = {
			limit = {
				has_character_flag = refuse_bonus_dread
			}
			if = {
				limit = {
					var:varangian_regiments >= 7
				}
				add_dread = major_dread_gain
				add_prestige = major_prestige_gain
			}
			else_if = {
				limit = {
					var:varangian_regiments >= 4
				}
				add_dread = medium_dread_gain
				add_prestige = medium_prestige_gain
			}
			else = {
				add_dread = minor_dread_gain
				add_prestige = minor_prestige_gain
			}
		}
		if = {
			limit = {
				has_character_flag = refuse_bonus_opinion
			}
			if = {
				limit = {
					var:varangian_regiments >= 7
				}
				every_vassal = {
					custom = every_parochial_vassal
					add_opinion = {
						modifier = respect_opinion
						opinion = 30
						target = root
					}
				}
				add_prestige = major_prestige_gain
			}
			else_if = {
				limit = {
					var:varangian_regiments >= 4
				}
				every_vassal = {
					custom = every_parochial_vassal
					add_opinion = {
						modifier = respect_opinion
						opinion = 20
						target = root
					}
				}
				add_prestige = medium_prestige_gain
			}
			else = {
				every_vassal = {
					custom = every_parochial_vassal
					add_opinion = {
						modifier = respect_opinion
						opinion = 10
						target = root
					}
				}
				add_prestige = minor_prestige_gain
			}
		}
		change_influence = medium_influence_gain
			
		remove_treasury_or_gold = {
			value = {
				value = 0
				add = {
					value = scope:varangian_gold
					multiply = 0.4
				}
			}
		}
		#Negative heavy inf and scheme resistance modifier
		add_character_modifier = {
			modifier = disrespected_varangians_modifier
			years = 10
		}
		if = {
			limit = {
				scope:varangian_leader = {
					is_courtier_of = root
				}
			}
			if = {
				limit = {
					scope:varangian_leader = { has_trait = loyal }
				}
				scope:varangian_leader = { remove_trait = loyal }
				reverse_add_opinion = {
					target = scope:varangian_leader
					modifier = angry_opinion
					opinion = -20
				}
			}
			else = {
				reverse_add_opinion = {
					target = scope:varangian_leader
					modifier = hate_opinion
					opinion = -40
				}
			}
		}
		if = {
			limit = {
				exists = scope:varangian_2
			}
			if = {
				limit = {
					scope:varangian_2 = { has_trait = loyal }
				}
				scope:varangian_2 = { remove_trait = loyal }
				reverse_add_opinion = {
					target = scope:varangian_2
					modifier = angry_opinion
					opinion = -20
				}
			}
			else = {
				reverse_add_opinion = {
					target = scope:varangian_2
					modifier = hate_opinion
					opinion = -40
				}
			}
		}
		if = {
			limit = {
				exists = scope:varangian_3
			}
			if = {
				limit = {
					scope:varangian_3 = { has_trait = loyal }
				}
				scope:varangian_3 = { remove_trait = loyal }
				reverse_add_opinion = {
					target = scope:varangian_3
					modifier = angry_opinion
					opinion = -20
				}
			}
			else = {
				reverse_add_opinion = {
					target = scope:varangian_3
					modifier = hate_opinion
					opinion = -40
				}
			}
		}
		#Apply randomized_malus
		if = {
			limit = {
				has_character_flag = malus_court_grandeur
				var:varangian_regiments >= 7
			}
			change_current_court_grandeur = minor_court_grandeur_loss
		}
		if = {
			limit = {
				has_character_flag = malus_broken_artifact
				var:varangian_regiments >= 7
			}
			scope:broken_artifact = {
				add_durability = -20
			}
		}
		if = {
			limit = {
				NOT = {
					scope:varangian_leader = {
						is_courtier_of = root
					}
				}
			}
			hidden_effect = {
				scope:varangian_leader = { move_to_pool = yes }
			}
		}
		
		stress_impact = {
			craven = medium_stress_impact_gain
			paranoid = medium_stress_impact_gain
			generous = medium_stress_impact_gain
			content = minor_stress_impact_gain
			just = minor_stress_impact_gain
		}
		ai_chance = {
			base = 50
			ai_value_modifier = {
				ai_greed = 1
				ai_boldness = 1
			}
			modifier = {
				factor = 0
				OR = {
					has_trait = craven
					has_trait = paranoid
					has_trait = generous
					has_trait = content
					has_trait = just
				}
			}
			modifier = {
				factor = 3
				short_term_gold <= 300
			}
			modifier = {
				factor = 0.5
				OR = {
					has_trait = content
					has_trait = just
				}
			}
		}
	}
	#Chastise the Varangians
	option = {
		trigger = {
			age >= 12
		}
		name = ep3_emperor_yearly.3000.b
		flavor = ep3_emperor_yearly.3000.b.flavor
		#Random refuse bonus effect
		if = {
			limit = {
				has_character_flag = refuse_bonus_prestige
			}
			if = {
				limit = {
					var:varangian_regiments >= 7
				}
				add_prestige = massive_prestige_gain
			}
			else_if = {
				limit = {
					var:varangian_regiments >= 4
				}
				add_prestige = major_prestige_gain
			}
			else = {
				add_prestige = medium_prestige_gain
			}
		}
		if = {
			limit = {
				has_character_flag = refuse_bonus_dread
			}
			if = {
				limit = {
					var:varangian_regiments >= 7
				}
				add_dread = major_dread_gain
				add_prestige = major_prestige_gain
			}
			else_if = {
				limit = {
					var:varangian_regiments >= 4
				}
				add_dread = medium_dread_gain
				add_prestige = medium_prestige_gain
			}
			else = {
				add_dread = minor_dread_gain
				add_prestige = minor_prestige_gain
			}
		}
		if = {
			limit = {
				has_character_flag = refuse_bonus_opinion
			}
			if = {
				limit = {
					var:varangian_regiments >= 7
				}
				every_vassal = {
					custom = every_parochial_vassal
					add_opinion = {
						modifier = respect_opinion
						opinion = 30
						target = root
					}
				}
				add_prestige = major_prestige_gain
			}
			else_if = {
				limit = {
					var:varangian_regiments >= 4
				}
				every_vassal = {
					custom = every_parochial_vassal
					add_opinion = {
						modifier = respect_opinion
						opinion = 20
						target = root
					}
				}
				add_prestige = medium_prestige_gain
			}
			else = {
				every_vassal = {
					custom = every_parochial_vassal
					add_opinion = {
						modifier = respect_opinion
						opinion = 10
						target = root
					}
				}
				add_prestige = minor_prestige_gain
			}
		}

		if = {
			limit = {
				var:varangian_regiments > 0
			}
			remove_long_term_gold = {
				value = scope:varangian_gold
			}
		}

		#show custom payout tooltip
		if = {
			limit = {
				exists = scope:varangian_3
			}
			custom_tooltip = major_gold_to_varangians_tooltip
		}
		else_if = {
			limit = {
				exists = scope:varangian_2
			}
			custom_tooltip = medium_gold_to_varangians_tooltip
		}
		else_if = {
			limit = {
				scope:varangian_leader = {
					is_courtier_of = root
				}
			}
			custom_tooltip = minor_gold_to_varangians_tooltip
		}
		
		if = {
			limit = {
				scope:varangian_leader = {
					is_courtier_of = root
				}
			}
			if = {
				limit = {
					scope:varangian_leader = { has_trait = loyal }
				}
				scope:varangian_leader = { remove_trait = loyal }
			}
			else = {
				reverse_add_opinion = {
					target = scope:varangian_leader
					modifier = angry_opinion
					opinion = -20
				}
			}
			hidden_effect = {
				pay_long_term_gold = {
					target = scope:varangian_leader
					gold = 25
				}
			}
		}
		if = {
			limit = {
				exists = scope:varangian_2
			}
			if = {
				limit = {
					scope:varangian_2 = { has_trait = loyal }
				}
				scope:varangian_2 = { remove_trait = loyal }
			}
			else = {
				reverse_add_opinion = {
					target = scope:varangian_2
					modifier = angry_opinion
					opinion = -20
				}
			}
			hidden_effect = {
				pay_long_term_gold = {
					target = scope:varangian_2
					gold = 25
				}
			}
		}
		if = {
			limit = {
				exists = scope:varangian_3
			}
			if = {
				limit = {
					scope:varangian_3 = { has_trait = loyal }
				}
				scope:varangian_3 = { remove_trait = loyal }
			}
			else = {
				reverse_add_opinion = {
					target = scope:varangian_3
					modifier = angry_opinion
					opinion = -20
				}
			}
			hidden_effect = {
				pay_long_term_gold = {
					target = scope:varangian_3
					gold = 25
				}
			}
		}
		#Negative heavy inf and scheme resistance modifier
		add_character_modifier = {
			modifier = disrespected_varangians_modifier
			years = 10
		}
		#Apply randomized_malus
		ep3_palace_looting_random_malus_effect = yes
		
		if = {
			limit = {
				NOT = {
					scope:varangian_leader = {
						is_courtier_of = root
					}
				}
			}
			hidden_effect = {
				scope:varangian_leader = { move_to_pool = yes }
			}
		}

		stress_impact = {
			craven = medium_stress_impact_gain
			paranoid = medium_stress_impact_gain
			generous = minor_stress_impact_gain
			content = minor_stress_impact_gain
			just = miniscule_stress_impact_gain
		}
		ai_chance = {
			base = 50
			ai_value_modifier = {
				ai_vengefulness = 1
			}
			modifier = {
				factor = 0
				OR = {
					has_trait = craven
					has_trait = paranoid
					has_trait = generous
					has_trait = content
				}
			}
			modifier = {
				factor = 0.5
				OR = {
					has_trait = generous
					has_trait = content
					has_trait = just
				}
			}
		}
	}
	#It's just tradition
	option = {
		name = ep3_emperor_yearly.3000.c
		flavor = ep3_emperor_yearly.3000.c.flavor
		if = {
			limit = {
				has_character_flag = accept_bonus_legitimacy
			}
			if = {
				limit = {
					var:varangian_regiments >= 7
				}
				add_legitimacy = major_legitimacy_gain
			}
			else_if = {
				limit = {
					var:varangian_regiments >= 3
				}
				add_legitimacy = medium_legitimacy_gain
			}
			else = {
				add_legitimacy = minor_legitimacy_gain
			}
		}
		if = {
			limit = {
				has_character_flag = accept_bonus_heavy_infantry
			}
			if = {
				limit = {
					var:varangian_regiments >= 7
				}
				add_character_modifier = {
					modifier = loyal_varangians_modifier
					years = 10
				}
				add_legitimacy = medium_legitimacy_gain
			}
			else_if = {
				limit = {
					var:varangian_regiments >= 3
				}
				add_character_modifier = {
					modifier = loyal_varangians_modifier
					years = 10
				}
				add_legitimacy = miniscule_legitimacy_gain
			}
			else = {
				add_character_modifier = {
					modifier = loyal_varangians_modifier
					years = 10
				}
			}
		}
		if = {
			limit = {
				has_character_flag = accept_bonus_scheme_resist
			}
			if = {
				limit = {
					var:varangian_regiments >= 7
				}
				add_character_modifier = {
					modifier = attentive_varangians_modifier
					years = 10
				}
				add_legitimacy = medium_legitimacy_gain
			}
			else_if = {
				limit = {
					var:varangian_regiments >= 3
				}
				add_character_modifier = {
					modifier = attentive_varangians_modifier
					years = 10
				}
				add_legitimacy = miniscule_legitimacy_gain
			}
			else = {
				add_character_modifier = {
					modifier = attentive_varangians_modifier
					years = 10
				}
			}
		}
		if = {
			limit = {
				has_character_flag = accept_bonus_army
			}
			if = {
				limit = {
					var:varangian_regiments >= 7
				}
				spawn_army = {
					name = eager_varangian_army
					levies = 600
					men_at_arms = {
						type = varangian_guards
						stacks = 4
					}
					location = root.capital_province
					uses_supply = yes
					inheritable = no
				}
			}
			else_if = {
				limit = {
					var:varangian_regiments >= 3
				}
				spawn_army = {
					name = eager_varangian_army
					levies = 300
					men_at_arms = {
						type = varangian_guards
						stacks = 2
					}
					location = root.capital_province
					uses_supply = yes
					inheritable = no
				}
			}
			else = {
				spawn_army = {
					name = eager_varangian_army
					levies = 100
					men_at_arms = {
						type = varangian_guards
						stacks = 1
					}
					location = root.capital_province
					uses_supply = yes
					inheritable = no
				}
			}
		}

		if = {
			limit = {
				var:varangian_regiments > 0
			}
			remove_long_term_gold = {
				value = scope:varangian_gold
			}
		}


		#show custom payout tooltip
		if = {
			limit = {
				exists = scope:varangian_3
			}
			custom_tooltip = major_gold_to_varangians_tooltip
		}
		else_if = {
			limit = {
				exists = scope:varangian_2
			}
			custom_tooltip = medium_gold_to_varangians_tooltip
		}
		else_if = {
			limit = {
				scope:varangian_leader = {
					is_courtier_of = root
				}
			}
			custom_tooltip = minor_gold_to_varangians_tooltip
		}

		if = {
			limit = {
				scope:varangian_leader = {
					is_courtier_of = root
				}
			}
			reverse_add_opinion = {
				target = scope:varangian_leader
				modifier = loyalty_opinion
				opinion = 60
			}
			hidden_effect = {
				pay_long_term_gold = {
					target = scope:varangian_leader
					gold = 25
				}
			}
		}
		if = {
			limit = {
				exists = scope:varangian_2
			}
			reverse_add_opinion = {
				target = scope:varangian_2
				modifier = loyalty_opinion
				opinion = 60
			}
			hidden_effect = {
				pay_long_term_gold = {
					target = scope:varangian_2
					gold = 25
				}
			}
		}
		if = {
			limit = {
				exists = scope:varangian_3
			}
			reverse_add_opinion = {
				target = scope:varangian_3
				modifier = loyalty_opinion
				opinion = 60
			}
			hidden_effect = {
				pay_long_term_gold = {
					target = scope:varangian_3
					gold = 25
				}
			}
		}

		#Apply randomized_malus
		ep3_palace_looting_random_malus_effect = yes

		stress_impact = {
			generous = miniscule_stress_impact_loss
			paranoid = minor_stress_impact_loss
			greedy = medium_stress_impact_gain
			vengeful = medium_stress_impact_gain
			arrogant = minor_stress_impact_gain
			arbitrary = minor_stress_impact_gain
		}
		ai_chance = {
			base = 200
			ai_value_modifier = {
				ai_greed = -0.5
				ai_boldness = -0.5
				ai_vengefulness = -1
			}
			modifier = {
				factor = 0
				OR = {
					has_trait = greedy
					has_trait = vengeful
					has_trait = arrogant
					has_trait = arbitrary
				}
			}
			modifier = {
				factor = 0.5
				OR = {
					has_trait = arrogant
					has_trait = arbitrary
				}
			}
		}
	}
	after = {
		if = {
			limit = {
				scope:varangian_leader = {
					has_character_flag = need_military_outfit
				}
			}
			scope:varangian_leader = {
				remove_character_flag = need_military_outfit
			}
		}
		if = {
			limit = {
				has_character_flag = malus_broken_artifact
			}
			remove_character_flag = malus_broken_artifact
		}
		if = {
			limit = {
				has_character_flag = malus_stolen_artifact
			}
			remove_character_flag = malus_stolen_artifact
		}
		if = {
			limit = {
				has_character_flag = malus_court_grandeur
			}
			remove_character_flag = malus_court_grandeur
		}
		if = {
			limit = {
				has_character_flag = refuse_bonus_dread
			}
			remove_character_flag = refuse_bonus_dread
		}
		if = {
			limit = {
				has_character_flag = refuse_bonus_opinion
			}
			remove_character_flag = refuse_bonus_opinion
		}
		if = {
			limit = {
				has_character_flag = refuse_bonus_prestige
			}
			remove_character_flag = refuse_bonus_prestige
		}
		if = {
			limit = {
				has_character_flag = accept_bonus_heavy_infantry
			}
			remove_character_flag = accept_bonus_heavy_infantry
		}
		if = {
			limit = {
				has_character_flag = accept_bonus_scheme_resist
			}
			remove_character_flag = accept_bonus_scheme_resist
		}
		if = {
			limit = {
				has_character_flag = accept_bonus_army
			}
			remove_character_flag = accept_bonus_army
		}
		if = {
			limit = {
				has_character_flag = accept_bonus_legitimacy
			}
			remove_character_flag = accept_bonus_legitimacy
		}
	}
}

#Byzantine emperor sends fireships to defend the strait of Marmara
ep3_emperor_yearly.3010 = {
	hidden = yes

	trigger = {
		#province is strait of Marmara
		scope:army.location = {
			OR = {
				this = province:947
				this = province:950
				this = province:948
				this = province:8667
				this = province:8668
				this = province:8665
			}
		}
		#A lot of jank would be introduced by multiplayer and armies continuing to move, unpaused
		has_multiple_players = no
		title:c_byzantion = { has_county_modifier = defensive_fire_dromons_modifier }
		NOT = { has_character_flag = used_fire_dromons }
		#this event is really going to f up the enemy army in a way no player will appreciate
		is_ai = yes
		
		#Is it at war with powerful ruler whose capital is Constantinople
		any_war_enemy = {
			is_landed = yes
			capital_county = title:c_byzantion
			capital_province = { is_occupied = no }
			culture = {
				OR = {
					this = culture:greek
					any_parent_culture_or_above = { this = culture:greek }
				}
			}
		}
	}

	immediate = {
		save_scope_as = invader
		scope:army.army_commander ?= { save_scope_as = invading_commander }
		random_war_enemy = {
			limit = {
				is_landed = yes
				capital_county = title:c_byzantion
				capital_province = { is_occupied = no }
				culture = {
					OR = {
						this = culture:greek
						any_parent_culture_or_above = { this = culture:greek }
					}
				}
			}
			save_scope_as = marmara_defender
		}
		scope:marmara_defender = {
			trigger_event = ep3_emperor_yearly.3011
		}
	}
}

ep3_emperor_yearly.3011 = {
	type = character_event
	title = ep3_emperor_yearly.3011.t
	desc = {
		desc = ep3_emperor_yearly.3011.intro
		first_valid = {
			triggered_desc = {
				trigger = {
					scope:invader = {
						this = scope:invading_commander
					}
				}
				desc = ep3_emperor_yearly.3011.liege_attacking
			}
			desc = ep3_emperor_yearly.3011.commander_attacking
		}
		desc = ep3_emperor_yearly.3011.desc
		triggered_desc = {
			trigger = {
				knows_language = language_greek
				OR = { religion = religion:eastern_orthodox_religion religion = religion:catholic_religion religion = religion:protestant_religion }
			}
			desc = ep3_emperor_yearly.3011.kyrie_eleison
		}
	}
	theme = war
	override_background = { reference = ep3_constantinople }
	left_portrait = {
		character = scope:city_defender
		animation = survey
		camera = camera_event_left_away
	}
	lower_right_portrait = {
		character = scope:invading_commander
	}

	immediate = {
		#perspective character for event window
		if = {
			limit = {
				is_available = yes
			}
			save_scope_as = city_defender
		}
		else_if = {
			limit = {
				cp:councillor_marshal ?= {
					is_available = yes
				}
			}
			cp:councillor_marshal = {
				save_scope_as = city_defender
			}
		}
		else_if = {
			limit = {
				OR = {
					has_diarchy_type = temporary_regency
					has_diarchy_type = regency
				}
				diarch = {
					is_available = yes
				}
			}
			diarch = { save_scope_as = city_defender }
		}
		else = {
			save_scope_as = city_defender
		}
		scope:city_defender = {
			add_character_flag = need_military_outfit
		}
		scope:invader = {
			if = {
				limit = {
					any_knight = {
						is_in_army = yes
						this != scope:invading_commander
					}
				}
				random_knight = {
					limit = {
						is_in_army = yes
						this != scope:invading_commander
					}
					save_scope_as = knight_1
				}
			}
			if = {
				limit = {
					any_knight = {
						is_in_army = yes
						NOR = {
							this = scope:knight_1
							this = scope:invading_commander
						}
					}
				}
				random_knight = {
					limit = {
						is_in_army = yes
						NOR = {
							this = scope:knight_1
							this = scope:invading_commander
						}
					}
					save_scope_as = knight_2
				}
			}
			if = {
				limit = {
					any_knight = {
						is_in_army = yes
						NOR = {
							this = scope:knight_1
							this = scope:knight_2
							this = scope:invading_commander
						}
					}
				}
				random_knight = {
					limit = {
						is_in_army = yes
						NOR = {
							this = scope:knight_1
							this = scope:knight_2
							this = scope:invading_commander
						}
					}
					save_scope_as = knight_3
				}
			}
			if = {
				limit = {
					any_knight = {
						is_in_army = yes
						NOR = {
							this = scope:knight_1
							this = scope:knight_2
							this = scope:knight_3
							this = scope:invading_commander
						}
					}
				}
				random_knight = {
					limit = {
						is_in_army = yes
						NOR = {
							this = scope:knight_1
							this = scope:knight_2
							this = scope:knight_3
							this = scope:invading_commander
						}
					}
					save_scope_as = knight_4
				}
			}
			if = {
				limit = {
					any_knight = {
						is_in_army = yes
						NOR = {
							this = scope:knight_1
							this = scope:knight_2
							this = scope:knight_3
							this = scope:knight_4
							this = scope:invading_commander
						}
					}
				}
				random_knight = {
					limit = {
						is_in_army = yes
						NOR = {
							this = scope:knight_1
							this = scope:knight_2
							this = scope:knight_3
							this = scope:knight_4
							this = scope:invading_commander
						}
					}
					save_scope_as = knight_5
				}
			}
		}
	}
	#Use the greek fire ships
	option = {
		name = ep3_emperor_yearly.3011.a
		add_character_flag = {
			flag = used_fire_dromons
			days = 30
		}
		custom_tooltip = unable_to_use_fire_ships_tooltip
		scope:city_defender = {
			duel = {
				skill = martial
				target = scope:invading_commander
				35 = { #Your fleet ruins the enemy
					desc = ep3_emperor_yearly.3011.a.success
					compare_modifier = {
						value = scope:duel_value
						multiplier = 3.5
						min = -34
					}
					modifier = {
						has_trait = forder
						add = 20
					}
					modifier = {
						highest_held_title_tier >= tier_empire
						
						add = 10
					}
					modifier = {
						scope:army = {
							army_size <= 1000
						}
						add = 10
					}
					modifier = {
						scope:army = {
							#Big enough army to actually siege the city
							army_size < 2500
						}
						add = 10
					}
					modifier = {
						scope:invading_commander = {
							has_trait = reckless
						}
						add = 10
					}
					modifier = {
						has_trait = reckless
						add = 10
					}
					modifier = {
						has_trait = aggressive_attacker
						add = 10
					}
					modifier = {
						has_trait = military_engineer
						add = 10
					}
					modifier = {
						scope:invading_commander = {
							has_trait = aggressive_attacker
						}
						add = 10
					}
					modifier = {
						province:496 = {
							has_building_or_higher = curtain_walls_01
						}
						add = 5
					}
					modifier = {
						province:496 = {
							has_building_or_higher = curtain_walls_03
						}
						add = 5
					}
					modifier = {
						province:496  = {
							has_building_or_higher = curtain_walls_05
						}
						add = 5
					}
					modifier = {
						province:496  = {
							has_building_or_higher = curtain_walls_07
						}
						add = 5
					}
					modifier = {
						province:496  = {
							has_building_or_higher = common_tradeport_01
						}
						add = 5
					}
					modifier = {
						province:496  = {
							has_building_or_higher = common_tradeport_03
						}
						add = 5
					}
					modifier = {
						province:496  = {
							has_building_or_higher = common_tradeport_05
						}
						add = 5
					}
					modifier = {
						province:496 = {
							has_building_or_higher = common_tradeport_07
						}
						add = 5
					}
					show_as_tooltip = { ep3_greek_fire_success_effect = yes }
					root = { add_character_flag = successful_greek_fire_attack }
				}
				50 = { #Your fleet does some damage
					desc = ep3_emperor_yearly.3011.a.fail
					compare_modifier = {
						value = scope:duel_value
						multiplier = -3.5
						min = -49
					}
					modifier = {
						has_trait = forder
						add = 40
					}
					modifier = {
						scope:army = {
							#Big enough army to actually siege the city
							army_size < 2500
						}
						add = 20
					}
					modifier = {
						scope:army = {
							army_size <= 1000
						}
						add = 20
					}
					modifier = {
						scope:invading_commander = {
							has_trait = reckless
						}
						add = 20
					}
					modifier = {
						scope:invading_commander = {
							has_trait = aggressive_attacker
						}
						add = 10
					}
					modifier = {
						has_trait = aggressive_attacker
						add = 20
					}
					modifier = {
						has_trait = military_engineer
						add = 20
					}
					modifier = {
						province:496 = {
							has_building_or_higher = curtain_walls_01
						}
						add = 10
					}
					modifier = {
						province:496 = {
							has_building_or_higher = curtain_walls_03
						}
						add = 10
					}
					modifier = {
						province:496 = {
							has_building_or_higher = curtain_walls_05
						}
						add = 10
					}
					modifier = {
						province:496 = {
							has_building_or_higher = curtain_walls_07
						}
						add = 10
					}
					modifier = {
						province:496 = {
							has_building_or_higher = common_tradeport_01
						}
						add = 10
					}
					modifier = {
						province:496 = {
							has_building_or_higher = common_tradeport_03
						}
						add = 10
					}
					modifier = {
						province:496 = {
							has_building_or_higher = common_tradeport_05
						}
						add = 10
					}
					modifier = {
						province:496 = {
							has_building_or_higher = common_tradeport_07
						}
						add = 10
					}
					show_as_tooltip = { ep3_greek_fire_fail_effect = yes }
					root = { add_character_flag = failed_greek_fire_attack }
				}
				15 = { #Your fleet does a little damage and... ruins themselves
					desc = ep3_emperor_yearly.3011.a.critical_fail
					compare_modifier = {
						value = scope:duel_value
						multiplier = -3.5
						min = -14
					}
					modifier = {
						scope:invading_commander = {
							has_trait = forder
						}
						add = 40
					}
					modifier = {
						scope:invading_commander = {
							has_trait = organizer
						}
						add = 20
					}
					modifier = {
						scope:invading_commander = {
							has_trait = cautious_leader
						}
						add = 20
					}
					modifier = {
						has_trait = cautious_leader
						add = 20
					}
					
					modifier = {
						scope:army = {
							army_size >= 5000
						}
						add = 20
					}
					modifier = {
						scope:army = {
							army_size >= 10000
						}
						add = 20
					}
					show_as_tooltip = { ep3_greek_fire_crit_fail_effect = yes }
					root = { add_character_flag = crit_failed_greek_fire_attack }
				}
			}
		}
		trigger_event = ep3_emperor_yearly.3012
		stress_impact = {
			compassionate = medium_stress_impact_gain
			cautious_leader = medium_stress_impact_gain
			patient = minor_stress_impact_gain
		}
		ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_vengefulness = 1
				ai_boldness = 1
			}
			modifier = {
				add = 20
				scope:city_defender = {
					martial >= high_skill_rating
				}
			}
			modifier = {
				add = 20
				scope:invading_commander = {
					martial <= high_skill_rating
				}
			}
			modifier = {
				factor = 0.5
				OR = {
					has_trait = compassionate
					has_trait = cautious_leader
				}
			}
			modifier = {
				factor = 2
				scope:army = {
					army_size >= 4000
				}
			}
			modifier = {
				factor = 2
				scope:army = {
					army_size >= 7000
				}
			}
		}
	}
	#Don't attack
	option = {
		name = ep3_emperor_yearly.3011.b
		if = {
			limit = {
				scope:army = {
					#Big enough army to actually siege the city
					army_size >= 4000
				}
			}
			add_prestige = medium_prestige_loss
		}
		else_if = {
			limit = {
				scope:army = {
					army_size >= 3000
				}
			}
			add_prestige = minor_prestige_loss
		}
		else = {
			add_prestige = miniscule_prestige_loss
		}
		stress_impact = {
			vengeful = medium_stress_impact_gain
			wrathful = medium_stress_impact_gain
			sadistic = miniscule_stress_impact_gain
			reckless = minor_stress_impact_gain
			brave = minor_stress_impact_gain
		}
		ai_chance = {
			base = 100
			ai_value_modifier = {
				ai_energy = -1
				ai_boldness = -1
			}
			modifier = {
				add = 20
				scope:city_defender = {
					martial < decent_skill_rating
				}
			}
			modifier = {
				add = 20
				scope:invading_commander = {
					martial > very_high_skill_rating
				}
			}
			modifier = {
				factor = 0.5
				OR = {
					has_trait = wrathful
					has_trait = vengeful
					has_trait = reckless
					has_trait = brave
				}
			}
			modifier = {
				factor = 2
				scope:army = {
					army_size <= 2000
				}
			}
			modifier = {
				factor = 2
				scope:army = {
					army_size < 1000
				}
			}
		}
	}
	after = {
		scope:city_defender = { remove_character_flag = need_military_outfit }
	}
}

ep3_emperor_yearly.3012 = {
	type = character_event
	title = ep3_emperor_yearly.3012.t
	desc = {
		desc = ep3_emperor_yearly.3012.intro
		#Triggered desc based on success
		first_valid = {
			triggered_desc = {
				trigger = {
					has_character_flag = successful_greek_fire_attack
				}
				desc = ep3_emperor_yearly.3012.attack_success
			}
			triggered_desc = {
				trigger = {
					has_character_flag = failed_greek_fire_attack
				}
				desc = ep3_emperor_yearly.3012.attack_fail
			}
			triggered_desc = {
				trigger = {
					has_character_flag = crit_failed_greek_fire_attack
				}
				desc = ep3_emperor_yearly.3012.attack_crit_fail
			}
		}
	}
	theme = war
	override_background = { reference = ocean }
	widget = {
		gui = "event_window_widget_vfx_heavy_smoke"
		container = "foreground_shader_vfx_container"
	}
	right_portrait = {
		character = scope:invading_commander
		triggered_animation = {
			trigger = {
				root = { has_character_flag = successful_greek_fire_attack }
			}
			animation = sword_yield_start
		}
		triggered_animation = {
			trigger = {
				root = { has_character_flag = failed_greek_fire_attack }
			}
			animation = fear
		}
		triggered_animation = {
			trigger = {
				root = { has_character_flag = crit_failed_greek_fire_attack }
			}
			animation = sword_coup_degrace
		}
	}

	immediate = {
		play_music_cue = "mx_cue_war_declared"
		#show effect as tooltip here
		create_character_memory = {
			type = endured_greek_fire_memory
			participants = {
				attacker = root
			}
		}
	}

	option = {
		name = {
			trigger = { has_character_flag = successful_greek_fire_attack }
			text = ep3_emperor_yearly.3012.a_success
		}
		name = {
			trigger = { has_character_flag = failed_greek_fire_attack }
			text = ep3_emperor_yearly.3012.a_fail
		}
		name = {
			trigger = { has_character_flag = crit_failed_greek_fire_attack }
			text = ep3_emperor_yearly.3012.a_crit_fail
		}

		if = {
			limit = { has_character_flag = successful_greek_fire_attack
			}
			ep3_greek_fire_success_effect = yes
		}
		if = {
			limit = {
				has_character_flag = failed_greek_fire_attack
			}
			ep3_greek_fire_fail_effect = yes
		}
		if = {
			limit = {
				has_character_flag = crit_failed_greek_fire_attack
			}
			ep3_greek_fire_crit_fail_effect = yes
		}
		#Apply memory to invading commander?
		if = {
			limit = {
				has_character_flag = successful_greek_fire_attack
			}
			stress_impact = {
				sadistic = medium_stress_impact_loss
				paranoid = minor_stress_impact_loss
				vengeful = medium_stress_impact_loss
				callous = minor_stress_impact_loss
			}
		}
	}
	after = {
		if = {
			limit = { has_character_flag = successful_greek_fire_attack
			}
			remove_character_flag = successful_greek_fire_attack
		}
		if = {
			limit = {
				has_character_flag = failed_greek_fire_attack
			}
			remove_character_flag = failed_greek_fire_attack
		}
		if = {
			limit = {
				has_character_flag = crit_failed_greek_fire_attack
			}
			remove_character_flag = crit_failed_greek_fire_attack
		}
	}
}
