﻿#establish satrapy CB - other idea

#ceremonial war, increases knight prowess based on title rank of enemy ( 0,1,2,4 )
#gain prestige, gain a legend seed if it's an empire
#give blademaster trait and XP to all knights, and accoldate xp THAT'S IT
#vulnerable to cheese, but I'm okay with it.

immortal_ceremonial_war_cb = {
	group = conquest
	icon = invasion

	allowed_for_character_display_regardless = {
		scope:attacker = {
			is_at_war = no
			NOT = { has_character_modifier = recent_ceremonial_war }
		}
		scope:defender = {
			highest_held_title_tier >= tier_kingdom
		}
	}
	
	allowed_for_character = {
		OR = {
			scope:attacker.dynasty = {
				has_dynasty_modifier = can_declare_immortal_war
			}
			scope:attacker = {
				has_character_modifier = access_ceremonial_war
			}
		}
	}

	allowed_against_character = {
		scope:attacker = {
			any_neighboring_top_liege_realm_owner = {
				this = scope:defender
			}
		}
	}
	
	on_declaration = {
		on_declared_war = yes
		scope:attacker = {
			add_character_modifier = {
				modifier = recent_ceremonial_war
				years = 10
			}
			if = {
				limit = {
					has_character_modifier = access_ceremonial_war
				}
				remove_character_modifier = access_ceremonial_war
			}
		}
	}
	
	cost = {
		prestige = 1000
	}

	on_victory_desc = {
		triggered_desc = {
			trigger = {
				scope:attacker = { is_local_player = yes }
			}
			desc = ceremonial_war_cb_desc_victory_attacker
		}
		triggered_desc = {
			trigger = {
				scope:defender = { is_local_player = yes }
			}
			desc = ceremonial_war_cb_desc_victory_defender
		}
	}
	
	on_victory = {
		add_legitimacy_attacker_victory_effect = yes
					
		scope:attacker = {
			every_courtier = { #permanent prowess increase
				limit = {
					is_knight_of = scope:attacker
				}
				add_prowess_skill = 2
			}

			every_courtier = {
				limit = {
					is_knight_of = scope:attacker
					prowess >= 12
					NOT = { has_trait = lifestyle_blademaster}
				}
				add_trait = lifestyle_blademaster
			}

			every_courtier = {
				limit = {
					is_knight_of = scope:attacker
					has_trait = lifestyle_blademaster
					NOT = { has_trait_xp = {
						trait = lifestyle_blademaster
						value >= 100
						}
					}
				}
				add_trait_xp = {
					trait = lifestyle_blademaster
				value = 25
				}
			}

			every_vassal = {
				limit = {
					is_knight_of = scope:attacker
				}
				add_prowess_skill = 2
			}

			every_vassal = {
				limit = {
					is_knight_of = scope:attacker
					prowess >= 12
					NOT = { has_trait = lifestyle_blademaster}
				}
				add_trait = lifestyle_blademaster
			}

			every_vassal = {
				limit = {
					is_knight_of = scope:attacker
					has_trait = lifestyle_blademaster
					NOT = { has_trait_xp = {
						trait = lifestyle_blademaster
						value >= 100
						}
					}
				}
				add_trait_xp = {
					trait = lifestyle_blademaster
					value = 25
				}
			}

			if = {
				limit = {
					has_dlc_feature = accolades
				}
				every_active_accolade = {
					add_glory = 300
				}
			}
			if = {
				limit = {
					NOT = { has_global_variable = cyrus_legend }
					scope:defender = {
						highest_held_title_tier >= tier_empire
					}
				}
				scope:attacker = {
					add_character_modifier = defeated_an_empire_in_ceremonial_war
				}
			}
			if = {
				limit = {
					has_character_flag = prepared_for_ceremonial_war
				}
				remove_character_flag = prepared_for_ceremonial_war
				trigger_event = achaemenid_legend_event.0021 
			}
		}
		# Prestige for the attacker's war allies
		add_from_contribution_attackers = {
			prestige = medium_prestige_value
			opinion = {
				modifier = contributed_in_war
			}
		}

		# Prestige for the defender's war allies
		add_from_contribution_defenders = {
			prestige = medium_prestige_value
			opinion = {
				modifier = contributed_in_war
			}
		}

		# Truce
		add_truce_attacker_victory_effect = yes
	}
	
	on_white_peace_desc = {
		desc = ceremonial_war_cb_desc_white_peace
	}
	
	on_white_peace = {
		scope:attacker = { show_pow_release_message_effect = yes }
		
		scope:defender = { accolade_defender_war_end_glory_gain_low_effect = yes }
		
		scope:attacker = {
			add_prestige = {
				value = -500
			}
			if = {
				limit = {
					has_character_flag = prepared_for_ceremonial_war
				}
				remove_character_flag = prepared_for_ceremonial_war
			}
		}
		
		add_from_contribution_attackers = {
			prestige = medium_prestige_value
			opinion = {
				modifier = contributed_in_war
			}
		}
		
		add_from_contribution_defenders = {
			prestige = medium_prestige_value
			opinion = {
				modifier = contributed_in_war
			}
		}
		
		add_truce_white_peace_effect = yes
	}
	
	on_defeat_desc = {
		desc = immortal_ceremonial_war_cb_defeat_desc
	}
	
	on_defeat = {
		add_legitimacy_attacker_defeat_effect = yes
		
		scope:defender = { accolade_defender_war_end_glory_gain_med_effect = yes }
		
		scope:defender = {
				every_courtier = { #permanent prowess increase
				limit = {
					is_knight_of = scope:defender
				}
				add_prowess_skill = 2
			}

			every_courtier = {
				limit = {
					is_knight_of = scope:defender
					prowess >= 12
					NOT = { has_trait = lifestyle_blademaster}
				}
				add_trait = lifestyle_blademaster
			}

			every_courtier = {
				limit = {
					is_knight_of = scope:defender
					has_trait = lifestyle_blademaster
					NOT = { has_trait_xp = {
						trait = lifestyle_blademaster
						value >= 100
						}
					}
				}
				add_trait_xp = {
					trait = lifestyle_blademaster
				value = 25
				}
			}

			every_vassal = {
				limit = {
					is_knight_of = scope:defender
				}
				add_prowess_skill = 2
			}

			every_vassal = {
				limit = {
					is_knight_of = scope:defender
					prowess >= 12
					NOT = { has_trait = lifestyle_blademaster}
				}
				add_trait = lifestyle_blademaster
			}

			every_vassal = {
				limit = {
					is_knight_of = scope:defender
					has_trait = lifestyle_blademaster
					NOT = { has_trait_xp = {
						trait = lifestyle_blademaster
						value >= 100
						}
					}
				}
				add_trait_xp = {
					trait = lifestyle_blademaster
					value = 25
				}
			}
			if = {
				limit = {
					has_dlc_feature = accolades
				}
				every_active_accolade = {
					add_glory = 300
				}
			}
		}
		
		scope:attacker = {
			show_pow_release_message_effect = yes
		}
		
		scope:attacker = {
			pay_short_term_gold_reparations_effect = {
				GOLD_VALUE = 3
			}
			add_prestige = {
				value = 1500
				multiply = -1.0
			}
			if = {
				limit = {
					has_character_flag = prepared_for_ceremonial_war
				}
				remove_character_flag = prepared_for_ceremonial_war
			}
		}
		
		# Prestige for Defender
		scope:defender = {
			add_prestige_war_defender_effect = {
				PRESTIGE_VALUE = major_prestige_value
			}
		}

		# Prestige for the attacker's war allies
		add_from_contribution_attackers = {
			prestige = medium_prestige_value
			opinion = {
				modifier = contributed_in_war
			}
		}

		# Prestige for the defender's war allies
		add_from_contribution_defenders = {
			prestige = medium_prestige_value
			opinion = {
				modifier = contributed_in_war
			}
		}

		# Truce
		add_truce_attacker_defeat_effect = yes
	}
	
	on_primary_attacker_death = inherit
	on_primary_defender_death = inherit
	
	transfer_behavior = transfer
	
	attacker_allies_inherit = yes
	defender_allies_inherit = yes
	
	war_name = "IMMORTAL_CEREMONIAL_WAR_NAME"
	cb_name_no_target = "IMMORTAL_CEREMONIAL_WAR_NAME_FALLBACK"
	
	interface_priority = 0
	
	attacker_wargoal_percentage = 0.8
	
	should_show_war_goal_subview = no
}

unite_persia_cb = {
	group = conquest
	icon = invasion

	combine_into_one = yes
	mutually_exclusive_titles = { always = no }
	
	allowed_for_character = {
		scope:attacker = {
			has_character_flag = can_unite_persia
		}
	}
	allowed_against_character = {
		scope:attacker = {
			ALL_FALSE = {
				top_liege = scope:defender.top_liege
				liege = scope:defender
			}
		}
	}

	valid_to_start = {
		scope:target = {
			tier = tier_county
			OR = {
				title_province = { geographical_region = world_middle_east_persia }
				county = {
					any_in_de_jure_hierarchy = {
						empire = title:e_persia
					}
				}
			}
		}
	}
	target_titles = all
	target_title_tier = all
	
	on_declaration = {
		on_declared_war = yes
	}
	
	cost = {
		prestige = {
			value = 50
			add = {
				every_in_list = {
					list = target_titles
					limit = { tier = tier_county }
					add = {
						value = 50
					}
				}
			}
		}
	}

	on_victory_desc = {
		desc = unite_persia_cb_victory_desc
	}
	
	on_victory = {
		scope:attacker = { show_pow_release_message_effect = yes }
		
		# Legitimacy
		add_legitimacy_attacker_victory_effect = yes
		
		create_title_and_vassal_change = {
			type = conquest
			save_scope_as = change
			add_claim_on_loss = yes
		}
		every_in_list = {
			list = target_titles
			change_title_holder_include_vassals = {
				holder = scope:attacker
				change = scope:change
			}
		}
		resolve_title_and_vassal_change = scope:change
				
		# Truce
		add_truce_attacker_victory_effect = yes
	}

	on_white_peace_desc = {
		desc = unite_persia_cb_white_peace_desc
	}
	
	on_white_peace = {
		scope:attacker = { show_pow_release_message_effect = yes }
		# Truce
		add_truce_white_peace_effect = yes
		scope:attacker = {
			add_prestige = {
			value = 250
			multiply = -1.0
			}
		}
	}

	on_defeat_desc = {
		desc = unite_persia_cb_defeat_desc
	}
	
	on_defeat = {
		scope:attacker = { show_pow_release_message_effect = yes }

		scope:attacker = {
			show_pow_release_message_effect = yes
		}
		
		scope:attacker = {
			pay_short_term_gold_reparations_effect = {
				GOLD_VALUE = 3
			}
			add_prestige = {
				value = 1500
				multiply = -1.0
			}
			add_legitimacy_attacker_defeat_effect = yes
			add_legitimacy = -200
		}
		
		# Prestige for Defender
		scope:defender = {
			add_prestige_war_defender_effect = {
				PRESTIGE_VALUE = major_prestige_value
			}
		}

		# Prestige for the attacker's war allies
		add_from_contribution_attackers = {
			prestige = medium_prestige_value
			opinion = {
				modifier = contributed_in_war
			}
		}

		# Prestige for the defender's war allies
		add_from_contribution_defenders = {
			prestige = medium_prestige_value
			opinion = {
				modifier = contributed_in_war
			}
		}

		# Truce
		add_truce_attacker_defeat_effect = yes
	}
	
	on_invalidated = {
	}
	
	should_invalidate = {
		NOT = {
			any_in_list = {
				list = target_titles
				any_in_de_jure_hierarchy = {
					tier >= tier_county
					exists = holder
					holder = {
						OR = {
							this = scope:defender
							target_is_liege_or_above = scope:defender
						}
					}
				}
			}
		}
	}
	
	on_invalidated_desc = {
		desc = unite_persia_cb_invalidated_desc
	}

	on_primary_attacker_death = inherit
	on_primary_defender_death = inherit
	
	transfer_behavior = transfer
	
	attacker_allies_inherit = yes
	defender_allies_inherit = yes
	
	war_name = "UNITE_PERSIA"
	cb_name_no_target = "UNITE_PERSIA_FALLBACK"
	
	interface_priority = 0
	
	#attacker_ticking_warscore = NWar::ATTACKER_TICKING_WAR_SCORE
	#attacker_ticking_warscore_delay = NWar::ATTACKER_TICKING_WAR_SCORE_DELAY_DAYS # e.g. { months = 12 }
	#defender_ticking_warscore = NWar::DEFENDER_TICKING_WAR_SCORE
	#defender_ticking_warscore_delay = NWar::DEFENDER_TICKING_WAR_SCORE_DELAY_DAYS # e.g. { months = 12 }
	#ticking_war_score_targets_entire_realm = yes
	attacker_wargoal_percentage = 0.8
	
	should_show_war_goal_subview = yes
}
	