﻿rus_invasion_war = {
	icon = invasion
	group = invasion

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

	allow_hostages = yes
	allowed_for_character = { has_character_flag = undertaking_rus_invasion }
	
	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
			this = title:e_russia
		}
	}

	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 = 1000
				desc = CB_BASE_COST
			}
			multiply = common_cb_prestige_cost_multiplier

			# AI gets it for free
			if = {
				limit = { scope:attacker = { is_ai = yes } }
				multiply = 0
			}
		}
	}
	
	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 }
		scope:attacker = {
			if = {
				limit = { is_ai = yes }
				start_wars_for_rus_effect = yes	
			}
			# Trigger Remnants of Khazars event if that's who defender was
			if = {
				limit = {
					scope:defender = {
						this = title:e_caspian-pontic_steppe.holder
					}
				}
				trigger_event = {
					id = rus_invasion.9
					days = { 30 90 }
				}
			}
		}
			
		#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
			}
		}
		
		show_as_tooltip = {
			every_in_list = {
				list = target_titles
				if = {
					limit = {
						scope:defender.primary_title.tier >= scope:attacker.primary_title.tier
					}
					custom_tooltip = invasion_title_transfer_tt
					custom_tooltip = invasion_title_transfer_2_tt
				}
				every_in_de_jure_hierarchy = {
				 	limit = {
				 		holder.top_liege = scope:defender
				 	}
					change_title_holder = {
						holder = scope:attacker
						change = scope:change
					}
				}
			}
			scope:defender = {
				every_sub_realm_county = {
					limit = {
						county_controller = scope:attacker
					}
					change_title_holder = {
						holder = scope:attacker
						change = scope:change
					}
				}
				# Vassal transfer tooltip for display
				every_vassal = {
					limit = {
						primary_title = {
							any_this_title_or_de_jure_above = {
								is_in_list = target_titles			
							}
						}
					}
					custom = invasion_vassal_transfer_tt
					change_liege = {
						liege = scope:attacker
						change = scope:change
					}
				}
			}
		}

		# Most of the title transfers are handled here
		hidden_effect = {
			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
		
		# Destroy any titles that should be destroyed
		every_in_list = {
			list = titles_to_destroy
			custom = invasion_titles_destroyed_tt
			save_scope_as = title_to_destroy
			scope:attacker = { destroy_title = scope:title_to_destroy }
		}
		# 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 }
		scope:attacker = {
			if = {
				limit = { is_ai = yes }
			start_wars_for_rus_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 }

		scope:attacker = {
			if = {
				limit = { is_ai = yes }
			start_wars_for_rus_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 = {
			custom_tooltip = {
				text = mongol_invasion_vassal_disapproves_defeat
				every_vassal = {
					custom = custom.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 = "RUS_INVASION_WAR_NAME"
	cb_name = "RUS_INVASION_EMPIRE_CB_NAME"
	
	interface_priority = 100
	
	use_de_jure_wargoal_only = yes
	
	attacker_wargoal_percentage = 0.5
	defender_ticking_warscore = 0.0125 # The AI has trouble multitasking, so we'll give them time.
	max_defender_score_from_occupation = 100 
	max_defender_score_from_battles = 80
	max_attacker_score_from_occupation = 200
	max_attacker_score_from_battles = 80 #Huge swathes of tribal land are not great to siege, so let's make sure battles give them momentum too.

	max_ai_diplo_distance_to_title = 500
}