﻿#enhanced with code by Rylock
HRT_unification_cb = {
	icon = HRT_unification_cb
	group = conquest

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

	attacker_score_from_occupation_scale = 150
	attacker_score_from_battles_scale = 150
	defender_score_from_battles_scale = 150

	allowed_for_character = {
		scope:attacker = {
			#NOT = { this = title:e_hre.holder }
			HRT_is_emperor_trigger = yes
			highest_held_title_tier = tier_kingdom
			is_independent_ruler = yes
		}
	}
	
	allowed_against_character = {
		scope:defender = {
			any_sub_realm_county = {
				any_county_province = {
					geographical_region = HRT_core_territory
				}
			}
		}
		NOR = {
			scope:defender = { target_is_liege_or_above = scope:attacker }
			scope:attacker = { target_is_liege_or_above = scope:defender }
			faith:catholic.religious_head = scope:defender
		}
	}
	target_titles = neighbor_land
	target_title_tier = duchy
	target_de_jure_regions_above = yes
	ignore_effect = change_title_holder
	ai_only_against_neighbors = yes

	ai_score_mult = {
		value = hre_conquest_ai_score_value

		# As a feudal gov, do not attack tribal
		add = {
			every_in_list = {
				list = target_titles
				if = {
					limit = { feudal_clan_tribal_conquest_constraints = yes }
					add = -1000
				}
			}
		}
	}
	
	valid_to_start = {
		scope:target = {
			any_in_de_jure_hierarchy = {
				tier = tier_county
				title_province = { geographical_region = HRT_core_territory }
			}
		}
	}

	allowed_for_character_display_regardless = {
		custom_tooltip = {
			text = HRT_unification_war_authority_req
			OR = {
				scope:attacker.var:HRT_authority >= HRT_unification_authority_value
				scope:attacker = { has_character_modifier = HRT_preparing_for_unification_war }
			}
		}
		trigger_if = {
			limit = { is_ai = no }
			prestige_level >= medium_prestige_level
		}
		trigger_else = {
			OR = {
				sub_realm_size >= 25
				ai_boldness >= medium_positive_ai_value
			}
		}
	}

	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_religious_war_invalidation_region_message

	on_invalidated = {
	}

	cost = {
		piety = {
			add = common_cb_impious_piety_cost
			if = {
				limit = { scope:attacker = { is_ai = no } }
				add = {
					value = 5
					multiply = scope:attacker.realm_size
					desc = CB_REALM_SIZE_COST
					max = 500
				}
			}
			else = {
				add = 100
			}
			multiply = common_cb_piety_cost_multiplier
		}
		prestige = {
			value = 0
			if = {
				limit = { scope:attacker = { is_ai = no } }
				add = {
					value = 5
					multiply = scope:attacker.realm_size
					desc = CB_REALM_SIZE_COST
					max = 500
				}
			}
			multiply = common_cb_prestige_cost_multiplier
		}
	}

on_declaration = {
		on_declared_war = yes
		scope:attacker = {
			change_variable = {
				name = HRT_authority
				subtract = HRT_unification_authority_value
			}
		}
	}

	on_victory_desc = {
		first_valid = {
			triggered_desc = {
				trigger = { scope:attacker = { is_local_player = yes } }
				desc = county_conquest_cb_victory_desc_attacker
			}
			desc = county_conquest_cb_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_med_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 eligible vassals and sieze counties from ineligible ones
		every_in_list = {
			list = target_titles
			custom_tooltip = CONQUEST_CB_TITLE

			conquest_cb_title_transfer = {
				RELIGIOUS_WAR = no
			}
		}

		every_in_list = {
			list = vassals_taken
			change_liege = {
				liege = scope:attacker
				change = scope:change
			}
		}
	
		every_in_list = {
			list = titles_taken
			change_title_holder = {
				holder = scope:attacker
				change = scope:change
				take_baronies = 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 = medium_prestige_value
			IS_RELIGIOUS_WAR = no
			WINNER_FAME_SCALE = 1
			LOSER_FAME_SCALE = -1
			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 }
		
		if = { # Warning that only counties are changing hands
			limit = {
				any_in_list = {
					list = target_titles
					tier = tier_duchy
				}
			}
			random_in_list = {
				list = target_titles
				limit = { tier = tier_duchy }
				save_scope_as = de_jure_target
			}
		}
		if = {
			limit = {
				any_in_list = {
					list = target_titles
					tier = tier_duchy
					holder = scope:defender
				}
			}
			if = {
				limit = {
					scope:defender = {
						any_held_title = {
							tier = tier_county
							NOT = { target_is_de_jure_liege_or_above = scope:de_jure_target }
						}
					}
				}
				custom_tooltip = conquest_title_not_transferred_tt
			}
			else = { custom_tooltip = conquest_title_destroyed_tt }
		}
		else = {
			if = {
				limit = {
					any_in_list = {
						list = target_titles
						tier = tier_duchy
						is_title_created = yes
					}
				}
				custom_tooltip = conquest_title_usurp_tt
			}
			else = { custom_tooltip = conquest_title_create_tt }
		}	
	}

	on_white_peace_desc = {
		first_valid = {
			triggered_desc = {
				trigger = { scope:defender = { is_local_player = yes } }
				desc = county_conquest_cb_white_peace_desc_defender
			}
			desc = county_conquest_cb_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:defender = { accolade_defender_war_end_glory_gain_low_effect = yes }

		# Prestige loss for the attacker
		scope:attacker = {
			add_prestige = {
				value = minor_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 # not impactful as the scale are identical
			FAME_BASE = medium_prestige_value
			IS_RELIGIOUS_WAR = no
			WINNER_ALLY_FAME_SCALE = 1
			LOSER_ALLY_FAME_SCALE = 1
		}
		
		# Truce
		add_truce_white_peace_effect = yes
	}

	on_defeat_desc = {
		first_valid = {
			triggered_desc = {
				trigger = { scope:defender = { is_local_player = yes } }
				desc = county_conquest_cb_defeat_desc_defender
			}
			triggered_desc = {
				trigger = {
					scope:attacker = {
						is_local_player = yes
						has_targeting_faction = yes
					}
				}
				desc = county_conquest_cb_defeat_desc_attacker
			}
			desc = county_conquest_cb_defeat_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_med_effect = yes }
		
		# Prestige loss for the attacker
		scope:attacker = {
			pay_short_term_gold_reparations_effect = {
				GOLD_VALUE = 3
			}
			add_prestige = {
				value = major_prestige_value
				multiply = -1.0
			}
		}

		# Prestige for Defender
		scope:defender = {
			add_prestige_war_defender_effect = {
				PRESTIGE_VALUE = major_prestige_value
			}
		}

		# 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 = medium_prestige_value
			IS_RELIGIOUS_WAR = no
			WINNER_ALLY_FAME_SCALE = 1
			LOSER_ALLY_FAME_SCALE = 1
		}
	
		# Truce
		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 = "HRT_UNIFICATION_WAR_SPECIFIC_NAME"
	war_name_base = "HRT_UNIFICATION_WAR_SPECIFIC_NAME_BASE"
	cb_name = HRT_UNIFICATION_SPECIFIC_NAME
	interface_priority = 198 #Below take all and regular dejure.

	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
	
	on_invalidated_desc = msg_invalidate_war_title
}