﻿### War for the Dawn CB ###

war_for_the_dawn_cb = {
	group = invasion
	icon = invasion

	allow_hostages = no
	interface_priority = 110

	allowed_for_character = {
	NOT = { has_trait = other_trait }
	}

	allowed_against_character = {
		has_trait = nightking
		NOT = { has_character_flag = war_for_dawn_cooldown }
		#has_character_flag = long_night_cooldown 
	}

	target_titles = all
	ignore_effect = change_title_holder

	white_peace_possible = no 

	ai_score = {
		value = 100 # TODO
	}

	should_invalidate = {
		scope:defender = {
			NOT = { primary_title.tier >= tier_kingdom }
		}
	}

	cost = {
}

	on_declaration = {
		on_declared_war = yes
		#scope:defender = { every_vassal = { limit = { NOT = { has_faith = faith:cold_gods } } scope:war =  { add_attacker = prev } } }
	}

	on_victory_desc = {
		first_valid = {
			desc = war_for_the_dawn_victory_desc
		}
	}

	on_victory = {
	set_global_variable = {
					name = war_for_dawn_victory
					value = yes
				}
	scope:defender = { death = {
							death_reason = death_battle
							killer = scope:attacker
					}
					}
	
	}

	on_defeat_desc = {
		first_valid = {
			desc = war_for_the_dawn_defeat_desc
		}
	}

	on_defeat = {
		#EP2 accolade glory gain for winning against higher ranked enemy
		scope:defender = { accolade_defender_war_end_glory_gain_low_effect = yes }
		scope:defender = { add_character_flag = { flag = war_for_dawn_cooldown years = 5 } }
		# Prestige loss for the attacker
		scope:attacker = {
			add_prestige = -500
		}
		
		create_title_and_vassal_change = {
			type = conquest
			save_scope_as = change
			add_claim_on_loss = yes
		}
		
	scope:war = { every_war_attacker = {
				setup_invasion_cb = {
				titles = target_titles
				attacker = scope:defender
				defender = this
				change = scope:change
				take_occupied = yes
			}
			resolve_title_and_vassal_change = scope:change
				}
			}
			
		# Prestige for the defender
		scope:defender = {
			add_prestige = 5000
		}
		
		# Prestige for the attacker's war allies
		add_from_contribution_attackers = {
			prestige = minor_prestige_value
			opinion = {
				modifier = contributed_in_war
			}
		}

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

		# Truce
		add_truce_attacker_defeat_effect = yes
	}

	on_white_peace_desc = {
		first_valid = {
			desc = great_ranging_white_peace_desc
		}
	}

	on_invalidated_desc = {
		first_valid = {
			desc = great_ranging_invalidated_desc
		}
	}

	transfer_behavior = transfer

	on_primary_attacker_death = inherit
	on_primary_defender_death = inherit

	attacker_allies_inherit = yes
	defender_allies_inherit = yes
	attacker_capital_gives_war_score = no 				# No warscore from attacker capital
	defender_capital_gives_war_score = no 				# No warscore from defender capital
	imprisonment_by_attacker_give_war_score = no 		# No warscore when the attackers imprisons people
	imprisonment_by_defender_give_war_score = no 		# No warscore when the defenders imprisons people
	attacker_score_from_battle_scale = 300
	defender_score_from_battle_scale = 300
	attacker_score_from_occupation_scale = 10
	defender_score_from_occupation_scale = 10
	max_attacker_score_from_battles = 350
	max_defender_score_from_occupation = 50
	war_name = WAR_FOR_THE_DAWN_WAR_NAME
	war_name_base = WAR_FOR_THE_DAWN_WAR_NAME_BASE
	cb_name = WAR_FOR_THE_DAWN_WAR_CB

}

other_cb = {
	icon = invasion
	group = invasion

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

	allowed_for_character = {
	scope:attacker = {	has_trait = nightking
		NOT = { has_character_flag = long_night_cooldown }
	}
	
	}

	allowed_for_character_display_regardless = {
		
	}
	
	allowed_against_character = {
	
		NOT = { has_trait = other_trait }
	}
	target_titles = neighbor_land_or_water
	target_title_tier = kingdom
	target_de_jure_regions_above = yes
	ignore_effect = change_title_holder

	ai_can_target_all_titles = {
		has_trait = other_trait
	}
	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
		#AGOT Disabled
		## Tell the Romans to stop going adventuring into the steppe for no gods-damned reason.
		#multiply = byzantium_conquests_ai_score_value
		#multiply = muslim_invasions_prefer_nonmuslims_ai_score_value

		#AGOT Disabled
		##Declaring war on the frankokratia leader can really ruin the whole thing
		#if = {
		#	limit = {
		#		scope:defender = {
		#			any_owned_story = {
		#				story_type = frankokratia_story
		#				NOT = { has_variable = franko_war_complete }
		#			}
		#		}
		#	}
		#	multiply = 0
		#}
	}

	valid_to_start = {
		scope:target = {
	
				is_neighbor_to_realm = scope:attacker
			}
		}
		
	

	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 = {

	}
	
	on_declaration = {
		on_declared_war = yes
		scope:attacker = {
			#add_character_flag = used_lifetime_invasion
		}
			scope:defender = {
			
			
			every_vassal_or_below = {
					if = {
						limit = {
							any_held_title = {
								OR = {

									any_title_to_title_neighboring_and_across_water_county = {
										exists = holder
                                    holder = {   
											OR = { 
												is_vassal_or_below_of = scope:attacker
												this = scope:attacker
											} 
										}
									}

									any_title_to_title_neighboring_and_across_water_duchy = {
										exists = holder
                                    holder = {   
											OR = { 
												is_vassal_or_below_of = scope:attacker
												this = scope:attacker
											} 
										}
									}
								}
							}
						}
						scope:war = { add_defender = prev } 
						
					}
				}
			
			
		}
	}	

	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 }
		
		# Legitimacy
		add_legitimacy_attacker_victory_effect = yes

		# Influence
		add_influence_attacker_victory_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
		}

		show_as_tooltip = {
			every_in_list = {
				list = target_titles
				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
					}
				}
			}
		}
		
		hidden_effect = {
		scope:war = { every_war_defender = { 
			setup_invasion_cb = {
				titles = target_titles
				attacker = scope:attacker
				defender = this
				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 }
		scope:attacker = { add_character_flag = long_night_cooldown years = 5 }
		# Legitimacy
		add_legitimacy_attacker_defeat_effect = yes

		# Influence
		add_influence_attacker_defeat_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
	
	attacker_capital_gives_war_score = no 				# No warscore from attacker capital
	defender_capital_gives_war_score = no 				# No warscore from defender capital
	imprisonment_by_attacker_give_war_score = no 		# No warscore when the attackers imprisons people
	imprisonment_by_defender_give_war_score = no 		# No warscore when the defenders imprisons people


	war_name = "OTHER_WAR_NAME"
	war_name_base = "OTHER_WAR_NAME_BASE"
	cb_name = "OTHER_COUNTY_CB_NAME"

	interface_priority = 79

	use_de_jure_wargoal_only = yes
}





# Only copied over from Vanilla to remove references to innovation_reconquista, which we don't have.
# GT, 25 Jan 21
#
 
scouring_cb = {
	group = ambush
	#ai_only_against_neighbors = yes
	
	target_titles = all
	target_title_tier = all
	target_top_liege_if_outside_realm = no
	on_declaration = {
		on_declared_war = yes
	}

	# Root is the title
	# scope:attacker is the attacker
	# scope:defender is the defender
	
	transfer_behavior = transfer
	on_victory_desc = {}
	on_white_peace_desc = {}
	on_defeat_desc = {}
	on_invalidated_desc = {}
	on_invalidated = {
		war = {end_war	= defender}
		scope:attacker = {
			trigger_event = {
				id = agot_events_generic.0001
				days = 5
			}
		}
	}
	on_defeat = {
		scope:attacker = {
			trigger_event = {
				id = agot_events_generic.0001
				days = 5
			}
		}
		scope:defender = {
		
			trigger_event = {
				id = others_occupation.3
				days = 5
			}
		}

		scope:defender = {add_gold = 15 }
	}
	on_victory = {
		scope:defender = {
			trigger_event = {
				id = others_occupation.4
				days = 5
			}
		}
		
		scope:attacker = {
			trigger_event = {
				id = agot_events_generic.0001
				days = 5
			}
		}
		
		scope:defender.dynasty = {add_dynasty_prestige = -100}
	}
	attacker_allies_inherit = yes
	defender_allies_inherit = yes
	
	war_name = SCOURING_CB_NAME
	war_name_base = SCOURING_CB_NAME_BASE
	cb_name = SCOURING_CB
	interface_priority = 59
	
	ticking_war_score_targets_entire_realm = no
	max_defender_score_from_occupation = 150
	max_attacker_score_from_occupation = 150
	attacker_ticking_warscore = 0
	attacker_wargoal_percentage = 0.8
	
	max_ai_diplo_distance_to_title = 500
	
	on_primary_defender_death = invalidate
	on_primary_attacker_death = invalidate
	#transfer_behavior = invalidate
	
}
