﻿### TFE EDIT: Added general war dec checks (tributaries), effect of new governments

invasion_war = {
	icon = invasion
	group = invasion

	combine_into_one = yes
	should_show_war_goal_subview = yes
	mutually_exclusive_titles = { always = yes }

	allowed_for_character = {
		OR = {
			government_has_flag = government_is_tribal
			faith = {
				has_doctrine_parameter = invasion_cb_enabled
			}
		}
		NOT = {
			has_character_flag = used_lifetime_invasion
		}
	}

	allowed_for_character_display_regardless = {
		trigger_if = {
			limit = {
				culture = {
					has_cultural_parameter = cb_lower_prestige_level_requirement
				}
			}
			prestige_level >= 3
		}
		trigger_else = {
			prestige_level >= 4
		}
	}
	
	allowed_against_character = {
		scope:attacker = {
			ALL_FALSE = {
				top_liege = scope:defender.top_liege
				liege = scope:defender
			}
		}
	}
	target_titles = all
	target_title_tier = kingdom
	target_de_jure_regions_above = yes
	ignore_effect = change_title_holder

	ai_can_target_all_titles = {
		can_use_viking_invasion_cbs_trigger = yes
	}
	ai_score_mult = {
		value = viking_conquest_ai_score_value

		# AI in struggles act insularly for wars that don't have a familial or legal basis.
		multiply = struggle_wars_prioritise_struggle_targets_value
	}

	valid_to_start = {
		scope:target = {
			any_in_de_jure_hierarchy = {
				tier = tier_county
				neighboring_county_or_viking_conquest_trigger = { CHARACTER = root }
			}
		}
		# Struggle constraint
		struggle_blocks_invasion_conquest_cb_trigger = yes
	}

	should_invalidate = {
		NOT = {
			any_in_list = {
				list = target_titles
				any_in_de_jure_hierarchy = {
					tier = tier_county
					holder = {
						target_is_same_character_or_above = scope:defender
					}
				}
			}
		}
	}

	on_invalidated_desc = msg_invasion_war_invalidated_message
	
	on_invalidated = {
		scope:attacker = {
			if = {
				limit = {
					is_alive = yes
				}
				remove_character_flag = used_lifetime_invasion # If the war is invalidated, you should be permitted to try again
			}
		}
	}

	cost = {
		piety = {
			value = 0
			add = common_cb_impious_piety_cost
		}
		prestige = {
			add = {
				value = 2000
				desc = CB_BASE_COST
			}

			multiply = common_cb_prestige_cost_multiplier
		}
	}
	
	on_declaration = {
		on_declared_war = yes
		scope:attacker = {
			add_character_flag = used_lifetime_invasion
		}
	}	

	on_victory_desc = {
		first_valid = {
			triggered_desc = {
				trigger = { scope:attacker = { is_local_player = yes } }
				desc = invasion_war_victory_desc_attacker
			}
			desc = invasion_war_victory_desc
		}
		triggered_desc = {
			trigger = { scope:attacker = { is_local_player = yes } }
			desc = invasion_war_warning_desc
		}
	}
	
	on_victory = {
		scope:attacker = { show_pow_release_message_effect = yes }

		#EP2 accolade glory gain for winning against higher ranked enemy
		scope:attacker = { accolade_attacker_war_end_glory_gain_high_effect = yes }

		create_title_and_vassal_change = {
			type = conquest
			save_scope_as = change
			add_claim_on_loss = yes
		}
		
		setup_invasion_cb = {
			titles = target_titles
			attacker = scope:attacker
			defender = scope:defender
			change = scope:change
			take_occupied = yes
		}
		resolve_title_and_vassal_change = scope:change

		# Attacker gets Prestige Experience, Defender loses Prestige, all other participants gain Prestige based on their war contribution.
		modify_all_participants_fame_values = {
			WINNER = scope:attacker
			LOSER = scope:defender
			FAME_BASE = scope:cb_prestige_factor # Set by 'setup_invasion_cb'
			IS_RELIGIOUS_WAR = no
			WINNER_FAME_SCALE = 10
			LOSER_FAME_SCALE = -10
			WINNER_ALLY_FAME_SCALE = 10
			LOSER_ALLY_FAME_SCALE = 10
		}

		# Truce
		add_truce_attacker_victory_effect = yes

		# FP1: note the victory for future memorialisation via stele (if applicable).
		scope:attacker = { fp1_remember_recent_conquest_victory_effect = yes }
	}

	on_white_peace_desc = {
		first_valid = {
			triggered_desc = {
				trigger = { scope:defender = { is_local_player = yes } }
				desc = invasion_war_white_peace_desc_defender
			}
			desc = invasion_war_white_peace_desc
		}
	}
	
	on_white_peace = {
		scope:attacker = { show_pow_release_message_effect = yes }

		#EP2 accolade glory gain for doing ok against higher ranked enemy
		scope:attacker = { accolade_attacker_war_end_glory_gain_low_effect = yes }
		scope:defender = { accolade_defender_war_end_glory_gain_med_effect = yes }

		# Allies on both sides get full prestige value for helping in the war, based on their war participation.
		modify_allies_of_participants_fame_values = {
			WINNER = scope:attacker # Not important as the scales are identical
			FAME_BASE = major_prestige_value
			IS_RELIGIOUS_WAR = no
			WINNER_ALLY_FAME_SCALE = 1
			LOSER_ALLY_FAME_SCALE = 1
		}

		# Truce
		add_truce_white_peace_effect = yes

		scope:attacker = {
			add_prestige = mongol_invasion_cb_prestige_white_peace
			stress_impact = {
				ambitious = medium_stress_impact_gain
				arrogant = medium_stress_impact_gain
			}
		}

		scope:defender = {
			stress_impact = {
				arrogant = medium_stress_impact_gain
			}
		}
	}

	on_defeat_desc = {
		first_valid = {
			triggered_desc = {
				trigger = { scope:defender = { is_local_player = yes } }
				desc = invasion_war_white_peace_desc_defender
			}
			desc = invasion_war_white_peace_desc
		}
	}
	
	on_defeat = {
		scope:attacker = { show_pow_release_message_effect = yes }

		#EP2 accolade glory gain for winning against higher ranked enemy
		scope:defender = { accolade_defender_war_end_glory_gain_high_effect = yes }

		# Prestige loss for the attacker
		scope:attacker = {
			pay_short_term_gold_reparations_effect = {
				GOLD_VALUE = 5
			}
			add_prestige = {
				value = massive_prestige_value
				multiply = -1.0
			}
		}
		
		setup_invasion_cb = {
			titles = target_titles
			attacker = scope:attacker
			defender = scope:defender
			claimant = scope:claimant
			victory = no
		}

		# Attacker loses Prestige, all other war participants gain Prestige (Defender gains full prestige, all allies on both sides gain based on war contribution).
		modify_all_participants_fame_values = {
			WINNER = scope:defender
			LOSER = scope:attacker
			FAME_BASE = scope:cb_prestige_factor # Set by 'setup_claim_cb'
			IS_RELIGIOUS_WAR = no
			WINNER_FAME_SCALE = scale_10_war_defender_win
			LOSER_FAME_SCALE = -10
			WINNER_ALLY_FAME_SCALE = 10
			LOSER_ALLY_FAME_SCALE = 10
		}
	
		add_truce_attacker_defeat_effect = yes
		
		scope:attacker = {
			save_temporary_scope_as = loser
		}
		on_lost_aggression_war_discontent_loss = yes
	}
	
	transfer_behavior = transfer
	
	on_primary_attacker_death = inherit
	on_primary_defender_death = inherit
	
	attacker_allies_inherit = yes
	defender_allies_inherit = yes
	
	war_name = "INVASION_WAR_NAME"
	war_name_base = "INVASION_WAR_NAME_BASE"
	cb_name = "INVASION_CB_NAME"
	
	interface_priority = 100
	
	use_de_jure_wargoal_only = yes
	
	attacker_wargoal_percentage = 0.8
	
	max_defender_score_from_occupation = 150
	max_attacker_score_from_occupation = 150
}

clan_invasion_war = {
	icon = invasion
	group = invasion

	combine_into_one = yes
	should_show_war_goal_subview = yes
	mutually_exclusive_titles = { always = yes }

	allowed_for_character = {
		government_has_flag = government_is_clan
		NOR = {
			has_character_flag = used_lifetime_invasion
			faith = { has_doctrine_parameter = invasion_cb_enabled }
		}
	}

	allowed_for_character_display_regardless = {
		trigger_if = {
			limit = {
				culture = {
					has_cultural_parameter = cb_lower_prestige_level_requirement
				}
			}
			prestige_level >= 3
		}
		trigger_else = {
			prestige_level >= 4
		}
	}
	
	allowed_against_character = {
		scope:attacker = {
			ALL_FALSE = {
				top_liege = scope:defender.top_liege
				liege = scope:defender
			}
		}
	}
	target_titles = all
	target_title_tier = all
	target_de_jure_regions_above = yes
	ignore_effect = change_title_holder
	ai_only_against_neighbors = yes

	ai_score_mult = {
		value = 1

		# AI in struggles act insularly for wars that don't have a familial or legal basis.
		multiply = struggle_wars_prioritise_struggle_targets_value
	}
	
	valid_to_start = {
		scope:target = {
			tier = tier_kingdom
		}
		# Struggle constraint
		struggle_blocks_invasion_conquest_cb_trigger = yes
	}

	should_invalidate = {
		NOT = {
			any_in_list = {
				list = target_titles
				any_in_de_jure_hierarchy = {
					tier = tier_county
					holder = {
						OR = {
							this = scope:defender
							target_is_liege_or_above = scope:defender
						}
					}
				}
			}
		}
	}

	on_invalidated_desc = msg_invasion_war_invalidated_message
	
	on_invalidated = {
		scope:attacker = {
			remove_character_flag = used_lifetime_invasion # If the war is invalidated, you should be permitted to try again
		}
	}

	cost = {
		piety = {
			value = 0
			add = common_cb_impious_piety_cost
		}
		prestige = {
			add = {
				value = 2000
				desc = CB_BASE_COST
			}

			multiply = common_cb_prestige_cost_multiplier
		}
	}
	
	on_declaration = {
		on_declared_war = yes
		scope:attacker = {
			add_character_flag = used_lifetime_invasion
		}
	}	

	on_victory_desc = {
		first_valid = {
			triggered_desc = {
				trigger = { scope:attacker = { is_local_player = yes } }
				desc = clan_invasion_war_victory_desc_attacker
			}
			desc = clan_invasion_war_victory_desc
		}
		triggered_desc = {
			trigger = { scope:attacker = { is_local_player = yes } }
			desc = invasion_war_warning_desc
		}
	}
	
	on_victory = {
		scope:attacker = { show_pow_release_message_effect = yes }

		#EP2 accolade glory gain for winning against higher ranked enemy
		scope:attacker = { accolade_attacker_war_end_glory_gain_high_effect = yes }

		create_title_and_vassal_change = {
			type = conquest
			save_scope_as = change
			add_claim_on_loss = yes
		}
		
		setup_invasion_cb = {
			titles = target_titles
			attacker = scope:attacker
			defender = scope:defender
			change = scope:change
			take_occupied = yes
		}

		#If target is lower tier, vassalise them.
		if = {
			limit = {
				scope:defender.primary_title.tier < scope:attacker.primary_title.tier
			}
			scope:defender = {
				change_liege = {
					liege = scope:attacker
					change = scope:change
				}
			}
		}

		#If target has any personally-held titles of equal tier, excepting empires take them.
		#If target is equal tier,
		if = {
			limit = {
				#Conquering, or indirectly butchering, an entire empire in one war is a bit much.
				NOT = { scope:defender.primary_title.tier = tier_empire }
				scope:defender.primary_title.tier = scope:attacker.primary_title.tier
			}
			every_in_list = {
				list = target_titles
				change_title_holder = {
					holder = scope:attacker
					change = scope:change
				}
			}
		}

		resolve_title_and_vassal_change = scope:change

		# Attacker gets Prestige Experience, Defender loses Prestige, all other participants gain Prestige based on their war contribution.
		# Prestige level progress for the attacker
		scope:attacker = {
			add_prestige_experience = {
				value = major_prestige_value
			}
		}

		# Prestige loss for the defender
		scope:defender = {
			add_prestige = {
				value = major_prestige_value
				multiply = -1.0
			}
		}

		# Allies on both sides get full prestige value for helping in the war, based on their war participation.
		modify_allies_of_participants_fame_values = {
			WINNER = scope:attacker
			FAME_BASE = major_prestige_value
			IS_RELIGIOUS_WAR = no
			WINNER_ALLY_FAME_SCALE = 1
			LOSER_ALLY_FAME_SCALE = 1
		}

		# Truce
		add_truce_attacker_victory_effect = yes

		# FP1: note the victory for future memorialisation via stele (if applicable).
		scope:attacker = { fp1_remember_recent_conquest_victory_effect = yes }
	}

	on_white_peace_desc = {
		first_valid = {
			triggered_desc = {
				trigger = { scope:defender = { is_local_player = yes } }
				desc = invasion_war_white_peace_desc_defender
			}
			desc = invasion_war_white_peace_desc
		}
	}
	
	on_white_peace = {
		scope:attacker = { show_pow_release_message_effect = yes }

		#EP2 accolade glory gain for doing ok against higher ranked enemy
		scope:attacker = { accolade_attacker_war_end_glory_gain_low_effect = yes }
		scope:defender = { accolade_defender_war_end_glory_gain_med_effect = yes }

		# Allies on both sides get full prestige value for helping in the war, based on their war participation.
		modify_allies_of_participants_fame_values = {
			WINNER = scope:attacker # Not important as the scales are identical
			FAME_BASE = major_prestige_value
			IS_RELIGIOUS_WAR = no
			WINNER_ALLY_FAME_SCALE = 1
			LOSER_ALLY_FAME_SCALE = 1
		}

		# Truce
		add_truce_white_peace_effect = yes

		scope:attacker = {
			add_prestige = mongol_invasion_cb_prestige_white_peace
			stress_impact = {
				ambitious = medium_stress_impact_gain
				arrogant = medium_stress_impact_gain
			}
		}

		scope:defender = {
			stress_impact = {
				arrogant = medium_stress_impact_gain
			}
		}
	}

	on_defeat_desc = {
		first_valid = {
			triggered_desc = {
				trigger = { scope:defender = { is_local_player = yes } }
				desc = invasion_war_white_peace_desc_defender
			}
			desc = invasion_war_white_peace_desc
		}
	}
	
	on_defeat = {
		scope:attacker = { show_pow_release_message_effect = yes }

		#EP2 accolade glory gain for winning against higher ranked enemy
		scope:defender = { accolade_defender_war_end_glory_gain_high_effect = yes }

		# Prestige loss for the attacker
		scope:attacker = {
			pay_short_term_gold_reparations_effect = {
				GOLD_VALUE = 5
			}
			add_prestige = {
				value = massive_prestige_value
				multiply = -1.0
			}
		}
		
		setup_invasion_cb = {
			titles = target_titles
			attacker = scope:attacker
			defender = scope:defender
			claimant = scope:claimant
			victory = no
		}

		# Attacker loses Prestige, all other war participants gain Prestige (Defender gains full prestige, all allies on both sides gain based on war contribution).
		modify_all_participants_fame_values = {
			WINNER = scope:defender
			LOSER = scope:attacker
			FAME_BASE = scope:cb_prestige_factor # Set by 'setup_claim_cb'
			IS_RELIGIOUS_WAR = no
			WINNER_FAME_SCALE = scale_10_war_defender_win
			LOSER_FAME_SCALE = -10
			WINNER_ALLY_FAME_SCALE = 10
			LOSER_ALLY_FAME_SCALE = 10
		}
	
		add_truce_attacker_defeat_effect = yes
		
		scope:attacker = {
			save_temporary_scope_as = loser
		}
		on_lost_aggression_war_discontent_loss = yes
	}
	
	transfer_behavior = transfer
	
	on_primary_attacker_death = inherit
	on_primary_defender_death = inherit
	
	attacker_allies_inherit = yes
	defender_allies_inherit = yes
	
	war_name = "INVASION_WAR_NAME"
	war_name_base = "INVASION_WAR_NAME_BASE"
	cb_name = "INVASION_CB_NAME"
	
	interface_priority = 100
	
	use_de_jure_wargoal_only = yes
	
	attacker_wargoal_percentage = 0.8
	max_defender_score_from_occupation = 150
	max_attacker_score_from_occupation = 150
	
	max_ai_diplo_distance_to_title = 500
}

mongol_invasion_war = {
	icon = invasion
	group = invasion

	combine_into_one = yes
	should_show_war_goal_subview = yes
	mutually_exclusive_titles = { always = yes }

	allowed_for_character = {
		this = title:e_mongol_empire.holder
		government_has_flag = government_is_tribal
		prestige_level >= 1
	}
	
	allowed_against_character = {
		scope:attacker = {
			ALL_FALSE = {
				top_liege = scope:defender.top_liege
				liege = scope:defender
			}
		}
	}
	target_titles = neighbor_land_or_water
	target_title_tier = all
	target_de_jure_regions_above = yes
	ignore_effect = change_title_holder
	
	valid_to_start = {
		scope:target = {
			tier = tier_kingdom
		}
	}

	should_invalidate = {
		NOT = {
			any_in_list = {
				list = target_titles
				any_in_de_jure_hierarchy = {
					tier = tier_county
					holder = {
						OR = {
							this = scope:defender
							target_is_liege_or_above = scope:defender
						}
					}
				}
			}
		}
	}

	on_invalidated_desc = msg_mongol_invasion_war_invalidated_message
	
	on_invalidated = {
	}

	cost = {
		piety = {
			value = 0
			add = common_cb_impious_piety_cost
		}
		prestige = {
			add = {
				value = 200
				desc = CB_BASE_COST
			}

			multiply = common_cb_prestige_cost_multiplier

			# Genghis Khan gets it for free
			if = {
				limit = { scope:attacker = { has_character_flag = is_temujin } }
				multiply = 0
			}
		}
	}
	
	on_declaration = {
		on_declared_war = yes
	}	

	on_victory_desc = {
		first_valid = {
			triggered_desc = {
				trigger = { scope:attacker = { is_local_player = yes } }
				desc = mongol_invasion_war_victory_desc_attacker
			}
			desc = mongol_invasion_war_victory_desc
		}
	}
	
	on_victory = {
		scope:attacker = { show_pow_release_message_effect = yes }

		#EP2 accolade glory gain for winning against higher ranked enemy
		scope:attacker = { accolade_attacker_war_end_glory_gain_high_effect = yes }

		create_title_and_vassal_change = {
			type = conquest
			save_scope_as = change
			add_claim_on_loss = yes
		}
		

		# go through the dejure hierarchy under target titles, transfer titles with same or worse tolerance holders (their religion equaly or less tolerated than the defender's),
		# take the holder as vassal otherwise and don't go deeper
		every_in_list = {
			list = target_titles
			custom_tooltip = CONQUEST_CB_TITLE
			every_in_de_jure_hierarchy = {
				continue = {
					OR = {
						NOT = {
							exists = holder
						}
						NOT = {
							holder = {
								target_is_liege_or_above = scope:defender
							}
						}
						AND = {
							scope:attacker.faith = {
								faith_hostility_level_comparison = {
									prev.holder.faith <= scope:defender.faith
								}
							}
							holder = {
								OR = {
									this = scope:defender
									target_is_liege_or_above = scope:defender
								}
							}
						}
					}
					tier > tier_county
				}
				limit = {
					#tier = tier_county
					exists = holder
					holder = {
						OR = {
							this = scope:defender
							target_is_liege_or_above = scope:defender
						}
					}
				}
				
				if = {
					limit = {
						OR = {
							scope:attacker.faith = {
								faith_hostility_level_comparison = {
									prev.holder.faith >= scope:defender.faith
								}
							}
							holder.primary_title.tier >= scope:attacker.primary_title.tier
						}
					}
					add_to_temporary_list = titles_taken
				}
				else = {
					holder = {
						add_to_temporary_list = vassals_taken
					}
				}
			}
		}

		every_in_list = {
			list = titles_taken
			change_title_holder = {
				holder = scope:attacker
				change = scope:change
				take_baronies = yes
			}
		}

		every_in_list = {
			list = vassals_taken
			change_liege = {
				liege = scope:attacker
				change = scope:change
			}
		}	
		resolve_title_and_vassal_change = scope:change

		# Allies on both sides get full prestige value for helping in the war, based on their war participation.
		modify_allies_of_participants_fame_values = {
			WINNER = scope:attacker
			FAME_BASE = mongol_invasion_cb_ally_prestige
			IS_RELIGIOUS_WAR = no
			WINNER_ALLY_FAME_SCALE = 1
			LOSER_ALLY_FAME_SCALE = 1
		}
		
		# Prestige level progress for the attacker
		scope:attacker = {
			add_prestige_experience = {
				value = mongol_invasion_cb_prestige_experience_gain
			}
		}

		# Truce
		add_truce_attacker_victory_effect = yes

		# FP1: note the victory for future memorialisation via stele (if applicable).
		scope:attacker = { fp1_remember_recent_conquest_victory_effect = yes }
	}

	on_white_peace_desc = {
		first_valid = {
			triggered_desc = {
				trigger = { scope:defender = { is_local_player = yes } }
				desc = invasion_war_white_peace_desc_defender
			}
			desc = invasion_war_white_peace_desc
		}
	}
	
	on_white_peace = {
		scope:attacker = { show_pow_release_message_effect = yes }

		#EP2 accolade glory gain for doing ok against higher ranked enemy
		scope:attacker = { accolade_attacker_war_end_glory_gain_low_effect = yes }
		scope:defender = { accolade_defender_war_end_glory_gain_med_effect = yes }

		# Allies on both sides get full prestige value for helping in the war, based on their war participation.
		modify_allies_of_participants_fame_values = {
			WINNER = scope:attacker # Not important as the scales are identical
			FAME_BASE = mongol_invasion_cb_ally_prestige
			IS_RELIGIOUS_WAR = no
			WINNER_ALLY_FAME_SCALE = 1
			LOSER_ALLY_FAME_SCALE = 1
		}

		add_truce_white_peace_effect = yes

		scope:attacker = {
			add_prestige = mongol_invasion_cb_prestige_white_peace
			stress_impact = {
				ambitious = medium_stress_impact_gain
				arrogant = medium_stress_impact_gain
			}
		}

		scope:defender = {
			stress_impact = {
				arrogant = medium_stress_impact_gain
			}
		}
	}

	on_defeat_desc = {
		first_valid = {
			triggered_desc = {
				trigger = { scope:defender = { is_local_player = yes } }
				desc = invasion_war_white_peace_desc_defender
			}
			desc = invasion_war_white_peace_desc
		}
	}
	
	on_defeat = {
		scope:attacker = { show_pow_release_message_effect = yes }

		#EP2 accolade glory gain for winning against higher ranked enemy
		scope:defender = { accolade_defender_war_end_glory_gain_high_effect = yes }

		# Allies on both sides get full prestige value for helping in the war, based on their war participation.
		modify_allies_of_participants_fame_values = {
			WINNER = scope:defender # Not important as the scales are identical
			FAME_BASE = mongol_invasion_cb_ally_prestige
			IS_RELIGIOUS_WAR = no
			WINNER_ALLY_FAME_SCALE = 1
			LOSER_ALLY_FAME_SCALE = 1
		}
	
		# Truce
		add_truce_attacker_defeat_effect = yes
			
		# piety change
		every_in_list = {
			list = target_titles
			
			scope:defender = {
				add_prestige = mongol_invasion_cb_prestige_gain
			}

			scope:attacker = {
				if = {
					limit = {
						scope:defender = { is_ai = no }
					}
					if = {
						limit = {
							monthly_character_income > 0
						}
						pay_short_term_income = {
							years = 3
							target = scope:defender
						}
					}
					else = {
						pay_short_term_gold = {
							target = scope:defender
							gold = medium_gold_value
						}
					}
				}
			}
		}
		
		scope:attacker = {
			every_vassal = {
				add_opinion = {
					modifier = liege_lost_mongol_invasion_war
					target = prev
				}
			}
		}
		
		scope:attacker = {
			save_temporary_scope_as = loser
		}
		on_lost_aggression_war_discontent_loss = yes
	}
	
	transfer_behavior = transfer
	
	on_primary_attacker_death = inherit
	on_primary_defender_death = inherit
	
	attacker_allies_inherit = yes
	defender_allies_inherit = yes
	
	war_name = "MONGOL_INVASION_WAR_NAME"
	cb_name = "MONGOL_INVASION_KINGDOM_CB_NAME"
	
	interface_priority = 100
	
	use_de_jure_wargoal_only = yes
	
	attacker_wargoal_percentage = 0.8
	max_defender_score_from_occupation = 150
	max_attacker_score_from_occupation = 150
	
	max_ai_diplo_distance_to_title = 500
}

mongol_realm_invasion_war = {
	icon = invasion
	group = invasion

	combine_into_one = yes
	should_show_war_goal_subview = yes
	mutually_exclusive_titles = { always = yes }

	allowed_for_character = {
		this = title:e_mongol_empire.holder
		is_ai = yes # To keep it clean and simple for players
		prestige_level >= 1
	}
	
	allowed_against_character = {
		NOT = { scope:defender.top_liege = scope:attacker }
		scope:attacker = {
			ALL_FALSE = {
				top_liege = scope:defender.top_liege
				liege = scope:defender
			}
		}
	}
	target_titles = neighbor_land_or_water
	target_title_tier = all
	target_de_jure_regions_above = yes
	use_de_jure_wargoal_only = yes
	ignore_effect = change_title_holder
	
	valid_to_start = {
		scope:target = {
			tier = tier_empire
		}
	}

	should_invalidate = {
		NOT = {
			any_in_list = {
				list = target_titles
				any_in_de_jure_hierarchy = {
					tier = tier_county
					holder = {
						OR = {
							this = scope:defender
							target_is_liege_or_above = scope:defender
						}
					}
				}
			}
		}
	}

	on_invalidated_desc = msg_mongol_invasion_war_invalidated_message
	
	on_invalidated = {
	}

	cost = {
		piety = {
			value = 0
			add = common_cb_impious_piety_cost
		}
		prestige = {
			add = {
				value = 200
				desc = CB_BASE_COST
			}

			multiply = common_cb_prestige_cost_multiplier

			# Genghis Khan gets it for free
			if = {
				limit = { scope:attacker = { has_character_flag = is_temujin } }
				multiply = {
					value = 0
					desc = CB_GENGHIS_KHAN_COST
				}
			}

			# If fired by the Mongol Invasion story, don't charge a cost
			if = {
				limit = { scope:attacker = { has_character_flag = free_mongol_cb } }
				multiply = {
					value = 0
					desc = CB_MONGOL_INVASIONS_COST
				}
			}
		}
	}
	
	on_declaration = {
		on_declared_war = yes
	}	

	on_victory_desc = {
		first_valid = {
			triggered_desc = {
				trigger = { scope:attacker = { is_local_player = yes } }
				desc = invasion_war_victory_desc_attacker
			}
			desc = invasion_war_victory_desc
		}
	}
	
	on_victory = {
		scope:attacker = { show_pow_release_message_effect = yes }

		#EP2 accolade glory gain for winning against higher ranked enemy
		scope:attacker = { accolade_attacker_war_end_glory_gain_very_high_effect = yes }

		create_title_and_vassal_change = {
			type = conquest
			save_scope_as = change
			add_claim_on_loss = yes
		}

		# Target titles + dominant empires only
		scope:defender = {
			# Check whether any additional empires should be considered target titles
				# First check for the primary defender
			every_realm_de_jure_empire = {
				limit = {
					any_in_de_jure_hierarchy = { # Then check how many de jure counties are in the Mongol Emperor's realm
						count >= 8 # This number determines how many counties activates the threshold for taking these titles
						continue = {
							tier > tier_county
						}
						exists = this
						tier = tier_county
						exists = holder
						holder.top_liege = scope:attacker
					}
				}
				add_to_temporary_list = target_titles
			}
			# Mark any empire-level titles for destruction after transfer
			every_realm_de_jure_empire = {
				limit = {
					holder = scope:defender
					is_in_list = target_titles
				}
				add_to_list = titles_to_destroy
			}
		}
		
		# Most of the title transfers are handled here
		setup_invasion_cb = {
			titles = target_titles
			attacker = scope:attacker
			defender = scope:defender
			change = scope:change
			take_occupied = yes
		}
		
		scope:defender = {
			every_sub_realm_county = {
				limit = {
					duchy.kingdom.empire = {
						is_in_list = target_titles
					}
				}
				save_temporary_scope_as = county
				random = {
					chance = scope:attacker.martial
					if = {
						limit = {
							NOT = { exists = var:looted_by_mongols }
							NOT = {
								holder = scope:attacker
							}
						}
						# Each County should only be devastated once
						set_variable = {
							name = looted_by_mongols
							value = yes
						}
						# Send a message (and gold!) to the Mongol Emperor
						scope:attacker = {
							send_interface_message = {
								type = mongol_occupation_good
								title = mongols_sieged_county.t
								left_icon = scope:county.holder
								right_icon = scope:county
								add_gold = {
									add = scope:county.development_level
									multiply = 5
								}
								if = {
									limit = {
										dread < 100
									}
									add_dread = 2
								}
								show_as_tooltip = {
									scope:county = {
										mongols_devastate_county_effect = yes
									}
								}
							}
							save_scope_as = mongol_emperor
							# Send a message to the County's owner
							scope:county.holder = {
								send_interface_message = {
									type = mongol_occupation_bad
									title = mongols_sieged_county.t
									left_icon = scope:mongol_emperor
									right_icon = scope:county
									scope:county = {
										mongols_devastate_county_effect = yes
									}
								}
							}
						}
					}
				}
			}
			every_vassal_or_below = {
				every_sub_realm_county = {
					limit = {
						holder = { is_ai = yes }
						duchy.kingdom.empire = {
							is_in_list = target_titles
						}
					}
					save_temporary_scope_as = county
					random = {
						chance = scope:attacker.martial
						if = {
							limit = {
								NOT = { exists = var:looted_by_mongols }
								NOT = {
									holder = scope:attacker
								}
							}
							# Each County should only be devastated once
							set_variable = {
								name = looted_by_mongols
								value = yes
							}
							# Send a message (and gold!) to the Mongol Emperor
							scope:attacker = {
								send_interface_message = {
									type = mongol_occupation_good
									title = mongols_sieged_county.t
									left_icon = scope:county.holder
									right_icon = scope:county
									add_gold = {
										add = scope:county.development_level
										multiply = 5
									}
									if = {
										limit = {
											dread < 100
										}
										add_dread = 2
									}
									show_as_tooltip = {
										scope:county = {
											mongols_devastate_county_effect = yes
										}
									}
								}
								save_scope_as = mongol_emperor
								# Send a message to the County's owner
								scope:county.holder = {
									send_interface_message = {
										type = mongol_occupation_bad
										title = mongols_sieged_county.t
										left_icon = scope:mongol_emperor
										right_icon = scope:county
										scope:county = {
											mongols_devastate_county_effect = yes
										}
									}
								}
							}
						}
					}
				}
			}
		}

		resolve_title_and_vassal_change = scope:change
		
		# Destroy any titles that should be destroyed
		every_in_list = {
			list = titles_to_destroy
			scope:attacker = {
				destroy_title = prev
			}
		}
		# If the defender was vassalised, take any Kingdom title they hold
		scope:defender = {
			if = {
				limit = {
					target_is_liege_or_above = scope:attacker
					any_held_title = {
						tier = tier_kingdom
					}
				}
				create_title_and_vassal_change = {
					type = conquest
					save_scope_as = change_two
					add_claim_on_loss = yes
				}
				every_held_title = {
					limit = {
						tier = tier_kingdom
					}
					change_title_holder = {
						holder = scope:attacker
						change = scope:change_two
					}
				}
				resolve_title_and_vassal_change = scope:change_two
			}
		}

		# Allies on both sides get full prestige value for helping in the war, based on their war participation.
		modify_allies_of_participants_fame_values = {
			WINNER = scope:attacker
			FAME_BASE = mongol_invasion_cb_ally_prestige
			IS_RELIGIOUS_WAR = no
			WINNER_ALLY_FAME_SCALE = 1
			LOSER_ALLY_FAME_SCALE = 1
		}
		
		# Prestige level progress for the attacker
		scope:attacker = {
			add_prestige_experience = {
				value = mongol_invasion_cb_prestige_experience_gain
			}
		}

		# Truce
		add_truce_attacker_victory_effect = yes

		# FP1: note the victory for future memorialisation via stele (if applicable).
		scope:attacker = { fp1_remember_recent_conquest_victory_effect = yes }
	}

	on_white_peace_desc = {
		first_valid = {
			triggered_desc = {
				trigger = { scope:defender = { is_local_player = yes } }
				desc = invasion_war_white_peace_desc_defender
			}
			desc = invasion_war_white_peace_desc
		}
	}
	
	on_white_peace = {
		scope:attacker = { show_pow_release_message_effect = yes }

		#EP2 accolade glory gain for doing ok against higher ranked enemy
		scope:attacker = { accolade_attacker_war_end_glory_gain_med_effect = yes }
		scope:defender = { accolade_defender_war_end_glory_gain_high_effect = yes }

		# Allies on both sides get full prestige value for helping in the war, based on their war participation.
		modify_allies_of_participants_fame_values = {
			WINNER = scope:attacker # Not important as the scales are identical
			FAME_BASE = mongol_invasion_cb_ally_prestige
			IS_RELIGIOUS_WAR = no
			WINNER_ALLY_FAME_SCALE = 1
			LOSER_ALLY_FAME_SCALE = 1
		}

		add_truce_white_peace_effect = yes

		scope:attacker = {
			add_prestige = mongol_invasion_cb_prestige_white_peace
			stress_impact = {
				ambitious = medium_stress_impact_gain
				arrogant = medium_stress_impact_gain
			}
		}

		scope:defender = {
			stress_impact = {
				arrogant = medium_stress_impact_gain
			}
		}
	}
	
	on_defeat_desc = {
		first_valid = {
			triggered_desc = {
				trigger = { scope:defender = { is_local_player = yes } }
				desc = invasion_war_white_peace_desc_defender
			}
			desc = invasion_war_white_peace_desc
		}
	}
	
	on_defeat = {
		scope:attacker = { show_pow_release_message_effect = yes }

		#EP2 accolade glory gain for winning against higher ranked enemy
		scope:defender = { accolade_defender_war_end_glory_gain_very_high_effect = yes }

		# Allies on both sides get full prestige value for helping in the war, based on their war participation.
		modify_allies_of_participants_fame_values = {
			WINNER = scope:defender
			FAME_BASE = mongol_invasion_cb_ally_prestige
			IS_RELIGIOUS_WAR = no
			WINNER_ALLY_FAME_SCALE = 1
			LOSER_ALLY_FAME_SCALE = 1
		}
	
		# Truce
		add_truce_attacker_defeat_effect = yes
			
		# piety change
		every_in_list = {
			list = target_titles
			
			scope:defender = {
				add_prestige = mongol_invasion_cb_prestige_gain
			}

			scope:attacker = {
				if = {
					limit = {
						scope:defender = { is_ai = no }
					}
					if = {
						limit = {
							monthly_character_income > 0
						}
						pay_short_term_income = {
							years = 3
							target = scope:defender
						}
					}
					else = {
						pay_short_term_gold = {
							target = scope:defender
							gold = medium_gold_value
						}
					}
				}
			}
		}
		
		scope:attacker = {
			every_vassal = {
				add_opinion = {
					modifier = liege_lost_mongol_invasion_war
					target = prev
				}
			}
		}
		
		scope:attacker = {
			save_temporary_scope_as = loser
		}
		on_lost_aggression_war_discontent_loss = yes
	}
	
	transfer_behavior = transfer
	
	on_primary_attacker_death = inherit
	on_primary_defender_death = inherit
	
	attacker_allies_inherit = yes
	defender_allies_inherit = yes
	
	war_name = "MONGOL_INVASION_WAR_NAME"
	cb_name = "MONGOL_INVASION_EMPIRE_CB_NAME"
	
	interface_priority = 100
	
	use_de_jure_wargoal_only = yes
	
	attacker_wargoal_percentage = 0.8
	max_defender_score_from_occupation = 150
	max_attacker_score_from_occupation = 150
	
	max_ai_diplo_distance_to_title = 500
}
