﻿namespace = succession_crisis_heir_event

# ============================================================
# EVENT 0001: SUCCESSION CRISIS (HEIR'S PERSPECTIVE)
# ============================================================
succession_crisis_heir_event.0001 = {
	type = character_event
	theme = intrigue
	title = succession_crisis_heir_event.0001.t
	desc = succession_crisis_heir_event.0001.desc
	window = big_event_window
	
	immediate = {
		set_location = scope:heir_original_location

		# Primary Antagonist is the main claimant
		scope:primary_claimant = { save_scope_as = primary_antagonist }

		# Guard for the Secondary Rebel
		# We check if they exist before trying to save them as a scope here
		if = {
			limit = { exists = scope:secondary_rebel }
			scope:secondary_rebel = { save_scope_as = secondary_antagonist }
		}
	}

	left_portrait = {
		character = root 
		animation = map_rage
		camera = camera_body_right
	}

	right_portrait = {
		character = scope:primary_antagonist
		animation = frontend_right_idle
		camera = camera_body_left_slight
	}

	
	lower_left_portrait = {
		trigger = { exists = scope:secondary_antagonist }
		character = scope:secondary_antagonist
	}


	option = {
		name = succession_crisis_heir_event.0001.a 
		
		# Trigger the hidden travel plan creation event
		trigger_event = succession_crisis_travel.0001
	}

	option = {
		name = succession_crisis_heir_event.0001.b
	}
}
# ============================================================
# EVENT 0002: THE HEIR SECURES THE THRONE
# ============================================================
succession_crisis_heir_event.0002 = {
	type = character_event
	theme = realm
	title = succession_crisis_heir_event.0002.t
	desc = succession_crisis_heir_event.0002.desc
	window = big_event_window
	override_background = contest_bg_melee

	immediate = {
		current_travel_plan ?= {
			pause_travel_plan = yes
		}

		add_character_flag = crisis_race_winner
		remove_character_flag = race_participant

		random_in_list = {
			list = active_crisis_rebels
			save_scope_as = primary_rebel
		}

		if = {
			limit = { exists = scope:primary_claimant }
			scope:primary_claimant = {
				trigger_event = succession_crisis_claimant_event.0004
			}
		}
		if = {
			limit = { exists = scope:secondary_rebel }
			scope:secondary_rebel = {
				trigger_event = succession_crisis_claimant_event.0004
			}
		}

		# Populate the list with 5 characters
		while = {
			count = 5
			create_character = {
				template = generic_peasant_character
				gender = male
				age = { 20 50 }
				location = root.capital_province
				save_scope_as = new_filler_victim
			}
			add_to_list = {
				name = filler_victims
				value = scope:new_filler_victim
			}
		}
	}

	left_portrait = {
		character = root
		animation = marshal_shield
		camera = camera_body_right
	}
	right_portrait = {
		character = scope:primary_rebel
		animation = disapproval
		camera = camera_body_right
	}

	option = {
		name = succession_crisis_heir_event.0002.purge
		ai_chance = {
			base = 10
			modifier = {
				add = 50
				OR = {
					has_trait = sadistic
					has_trait = callous
				}
			}
			modifier = {
				add = 20
				OR = {
					has_trait = wrathful
					has_trait = vengeful
				}
			}
			modifier = {
				factor = 0
				OR = {
					has_trait = just
					has_trait = compassionate
				}
			}
		}

		# Kill the list after populating
		every_in_list = {
			list = filler_victims
			save_scope_as = filler_victim
			
			death = {
				death_reason = death_execution
				killer = root
			}
			send_interface_message = {
				type = event_toast_effect_bad
				title = PURGE_EXECUTION_TITLE
				desc = PURGE_EXECUTION_DESC
				left_icon = this
			}
		}

		add_dread = major_dread_gain
		
		if = {
			limit = {
				NOT = {
					capital_county = scope:crisis_destination.county
				}
			}
			trigger_event = {
				id = succession_crisis_misc.0014
				days = 1
			}
		}
	}

	option = {
		name = succession_crisis_heir_event.0002.extoll
		ai_chance = {
			base = 40
			modifier = {
				add = 20
				OR = {
					has_trait = just
					has_trait = honest
				}
			}
			modifier = {
				add = 10
				OR = {
					has_trait = compassionate
					has_trait = calm
				}
			}
		}
		add_legitimacy = major_legitimacy_gain
		add_prestige = major_prestige_gain
		add_piety = major_piety_gain
		
		if = {
			limit = {
				NOT = {
					capital_county = scope:crisis_destination.county
				}
			}
			trigger_event = {
				id = succession_crisis_misc.0014
				days = 1
			}
		}
	}

	option = {
		name = succession_crisis_heir_event.0002.c
		ai_chance = {
			base = 25
			modifier = {
				add = 20
				OR = {
					has_trait = brave
					has_trait = ambitious
				}
			}
			modifier = {
				add = 10
				has_trait = diligent
			}
		}
		succession_crisis_spawn_loyalist_army_effect = yes
		
		if = {
			limit = {
				NOT = {
					capital_county = scope:crisis_destination.county
				}
			}
			trigger_event = {
				id = succession_crisis_misc.0014
				days = 1
			}
		}
	}
}
# ============================================================
# EVENT 0003: THE RAVENS RETURN (Now Using Vassal's event instead)
# ============================================================
succession_crisis_heir_event.0003 = {
	type = character_event
	title = succession_crisis_heir_event.0003.t
	desc = succession_crisis_heir_event.0003.desc
	theme = merit
	window = big_event_window

	left_portrait = {
		character = root
		animation = holding_scrolls
		camera = camera_body_right
	}

	option = {
		name = succession_crisis_heir_event.0003.a
	}
}

# ============================================================
# EVENT 0004: THE HEIR ARRIVES LATE (LOSE EVENT)
# ============================================================
succession_crisis_heir_event.0004 = {
	type = character_event
	title = succession_crisis_heir_event.0004.t
	desc = succession_crisis_heir_event.0004.desc
	theme = coronation
	window = big_event_window

	immediate = {
		set_location = scope:heir_original_location

		save_scope_as = warleader

		scope:crisis_title = {
			holder = {
				save_scope_as = current_ruler
			}
		}
	}

	left_portrait = {
		character = root
		animation = map_worry
		camera = camera_event_center_pointing_slighty_left
	}

	right_portrait = {
		character = scope:current_ruler
		animation = emotion_thinking_scepter
		camera = camera_body_left
	}

	option = {
		name = succession_crisis_heir_event.0004.a
		custom_tooltip = succession_crisis_heir_event.0004.a.tt
		
		ai_chance = {
			base = 20
			modifier = { add = 100 has_trait = content }
			modifier = { add = 50 has_trait = lazy }
			modifier = { add = 75 has_trait = craven }
			modifier = { add = 30 has_trait = calm }
			modifier = { add = -100 has_trait = ambitious }
		}

		stress_impact = { lazy = -20 craven = -20 ambitious = 40 }
		
		remove_claim = scope:crisis_title

		scope:current_ruler = {
			trigger_event = {
				id = succession_crisis_misc.0005
				days = 1
			}
		}

		trigger_event = succession_crisis_travel.0002
	}

	option = {
		name = succession_crisis_heir_event.0004.b
		custom_tooltip = succession_crisis_heir_event.0004.b.tt

		trigger = {
			OR = {
				is_ruler = yes
				is_landless_adventurer = yes
			}
		}

		ai_chance = {
			base = 40
			modifier = { add = 200 has_trait = ambitious }
			modifier = { add = 100 has_trait = wrathful }
			modifier = { add = 100 has_trait = arrogant }
			modifier = { add = 50 has_trait = brave }
			modifier = { add = -50 has_trait = paranoid }
			modifier = { add = -100 has_trait = content }
			modifier = { add = -100 has_trait = craven }
		}

		hidden_effect = {
			succession_crisis_process_vassal_loyalty_effect = yes
		}

		save_scope_as = warleader
		scope:crisis_title = {
			holder = {
				save_scope_as = current_ruler
			}
		}

		trigger_event = succession_crisis_travel.0002

		scope:current_ruler = {
			trigger_event = {
				id = succession_crisis_claimant_event.0005
				days = { 7 30 }
			}
		}
	}

	option = {
		name = succession_crisis_heir_event.0004.c
		
		trigger = {
			is_adult = yes
			is_at_war = no
		}
		
		ai_chance = {
			base = 40
			modifier = { add = 30 has_trait = arrogant }
			modifier = { add = 30 has_trait = calm }
			modifier = { add = 20 has_trait = cynical }
			modifier = { add = 20 learning >= 15 }
			modifier = { add = 20 diplomacy >= 15 }
		}

		save_scope_as = claimant
		add_character_flag = debating
		add_character_flag = debate_target

		trigger_event = succession_crisis_travel.0002

		scope:current_ruler = {
			trigger_event = {
				id = succession_crisis_diplomacy_ruler.0001
				days = 7
			}
		}
	}
}
# ============================================================
# EVENT 0005: THE HEIR SECURES THE THRONE (NO OPPOSITION)
# ============================================================
succession_crisis_heir_event.0005 = {
	type = character_event
	title = succession_crisis_heir_event.0005.t
	desc = succession_crisis_heir_event.0005.desc
	theme = stewardship_domain_focus
	
	window = big_event_window

	left_portrait = {
		character = root
		animation = throne_room_writer
		camera = camera_body
	}

	option = {
		name = succession_crisis_heir_event.0005.a
		
		add_prestige = major_prestige_gain
		stress_impact = { shy = -20 craven = -20 content = -40 paranoid = 20 arrogant = -100 }
		add_legitimacy = medium_legitimacy_gain
		
		if = {
			limit = {
				NOT = {
					capital_county = scope:crisis_destination.county
				}
			}
			trigger_event = {
				id = succession_crisis_misc.0014
				days = 1
			}
		}
	}
}

# ============================================================
# EVENT 0006: THE HEIR IS NOTIFIED OF CIVIL WAR
# ============================================================
succession_crisis_heir_event.0006 = {
	type = character_event
	theme = war
	title = succession_crisis_heir_event.0006.t
	desc = succession_crisis_heir_event.0006.desc
	window = big_event_window
	override_background = ce1_legendary_battlefield
	override_effect_2d = { reference = smoke }
	
	immediate = {
		if = {
			limit = { NOT = { exists = scope:crisis_title } }
			primary_title = {
				save_scope_as = crisis_title
			}
		}

		if = {
			limit = { NOT = { exists = scope:warleader } }
			if = {
				limit = {
					exists = scope:crisis_title
					scope:crisis_title = { exists = var:claimant }
				}
				scope:crisis_title = {
					var:claimant = {
						save_scope_as = warleader
					}
				}
			}
			else = {
				scope:crisis_title = {
					random_claimant = {
						limit = { has_character_flag = active_crisis_rebel }
						save_scope_as = warleader
					}
				}
			}
		}

		if = {
			limit = { scope:warleader = { has_character_flag = crisis_heir_flag } }
			scope:warleader = { save_scope_as = crisis_heir }
		}
		else_if = {
			limit = { has_character_flag = crisis_heir_flag }
			save_scope_as = crisis_heir
		}
		else = {
			scope:crisis_title = {
				every_claimant = {
					limit = { has_character_flag = crisis_heir_flag }
					save_scope_as = crisis_heir
				}
			}
		}

		create_character = {
			template = generic_peasant_character
			gender = male
			age = { 20 50 }
			location = scope:warleader.location
			save_scope_as = random_left_character
		}
		
		create_character = {
			template = generic_peasant_character
			gender = male
			age = { 20 50 }
			location = scope:warleader.location
			save_scope_as = random_right_character
		}
	}

	left_portrait = {
		character = scope:random_left_character
		animation = random_weapon_celebrate
		camera = camera_event_center
	}

	center_portrait = {
		character = scope:warleader
		animation = random_weapon_celebrate
		camera = camera_event_center_moved_left
	}

	right_portrait = {
		character = scope:random_right_character
		animation = random_weapon_celebrate
		camera = camera_event_center_away_pointing_left_fov25
	}

	option = {
		name = succession_crisis_heir_event.0006.a


		hidden_effect = {
			scope:random_left_character = {
				death = {
					death_reason = death_vanished
				}
			}
			scope:random_right_character = {
				death = {
					death_reason = death_vanished
				}
			}
		}

		trigger_event = {
			id = succession_crisis_heir_event.0008
			days = { 30 60 }
		}
	}
}
# ============================================================
# EVENT 0007: THE SUCCESSION BEGINS (NOTIFICATION)
# ============================================================
succession_crisis_heir_event.0007 = {
	type = character_event
	theme = dynastic_cycle
	title = succession_crisis_heir_event.0007.t
	desc = succession_crisis_heir_event.0007.desc
	override_background = bp2_courtyard
	window = big_event_window

	immediate = {
		set_location = scope:heir_original_location
	}

	# The Heir receiving the news
	left_portrait = {
		character = root
		animation = chifonie_idle
		camera = camera_body_right
	}

	right_portrait = {
		character = scope:dead_predecessor
		animation = dead
		camera = camera_body_left_slight
	}

	option = {
		name = succession_crisis_heir_event.0007.a
		
		# Trigger the travel/crisis mechanics
		set_location = scope:heir_original_location
		trigger_event = succession_crisis_travel.0001
		
		# Immediate flavor impacts
		stress_impact = {
			ambitious = -20
			diligent = 10
			compassionate = 30
			callous = -10
		}
		
		custom_tooltip = succession_crisis_heir_event.0007.a.tt
	}

	option = {
		name = succession_crisis_heir_event.0007.b
		set_location = scope:heir_original_location

		stress_impact = {
			lazy = -20
			content = -20
		}
		custom_tooltip = succession_crisis_heir_event.0007.b.tt
	}
}

# ============================================================
# EVENT 0008:  WAR TRIGGER
# ============================================================
succession_crisis_heir_event.0008 = {
	type = character_event
	hidden = yes

	immediate = {
		if = {
			limit = {
				is_at_war_with = scope:warleader
			}
			scope:warleader = {
				trigger_event = succession_crisis_misc.0015
			}
		}
		else = {
			succession_crisis_start_war_effect = yes
		}
	}

}

# ============================================================
# EVENT 0009: HEIR ASSUMES WAR COMMAND (NOTIFICATION)
# ============================================================
succession_crisis_heir_event.0009 = {
	type = character_event
	theme = dynastic_cycle
	title = succession_crisis_heir_event.0009.t
	desc = succession_crisis_heir_event.0009.desc
	override_background = bp2_courtyard
	window = big_event_window

	immediate = {
		if = {
			limit = {
				NOT = { exists = scope:heir_original_location }
			}
			location = { save_scope_as = heir_original_location }
		}
		set_location = scope:heir_original_location
		add_character_flag = crisis_heir_flag
	}

	# The Heir receiving the news
	left_portrait = {
		character = root
		animation = chifonie_idle
		camera = camera_body_right
	}

	right_portrait = {
		character = scope:dead_predecessor
		animation = dead
		camera = camera_body_left_slight
	}

	option = {
		name = succession_crisis_heir_event.0009.a
		
		# Trigger the travel/crisis mechanics
		set_location = scope:heir_original_location
		trigger_event = succession_crisis_travel.0002
		
		# Immediate flavor impacts
		stress_impact = {
			ambitious = -20
			diligent = 10
			compassionate = 30
			callous = -10
		}
		
		custom_tooltip = succession_crisis_heir_event.0009.a.tt
	}

	option = {
		name = succession_crisis_heir_event.0009.b
		
		set_location = scope:heir_original_location
		
		custom_tooltip = succession_crisis_heir_event.0009.b.tt
	}
}


# ============================================================
# EVENT 0010: RENEW WAR
# ============================================================
succession_crisis_heir_event.0010 = {
	type = character_event
	title = succession_crisis_heir_event.0010.t
	desc = succession_crisis_heir_event.0010.desc
	theme = war
	window = big_event_window

	immediate = {

		save_scope_as = warleader

		scope:crisis_title = {
			holder = {
				save_scope_as = current_ruler
			}
		}
	}

	left_portrait = {
		character = root
		animation = map_worry
		camera = camera_event_center_pointing_slighty_left
	}

	right_portrait = {
		character = scope:current_ruler
		animation = emotion_thinking_scepter
		camera = camera_body_left
	}

	option = {
		name = succession_crisis_heir_event.0010.a
		custom_tooltip = succession_crisis_heir_event.0010.a.tt
		
		ai_chance = {
			base = 1000
			modifier = { add = 100 has_trait = content }
			modifier = { add = 50 has_trait = lazy }
			modifier = { add = 75 has_trait = craven }
			modifier = { add = 30 has_trait = calm }
			modifier = { add = -100 has_trait = ambitious }
		}

		stress_impact = { lazy = -20 craven = -20 ambitious = 40 }
		
		remove_claim = scope:crisis_title

		scope:current_ruler = {
			trigger_event = {
				id = succession_crisis_misc.0005
				days = 1
			}
		}
	}

	option = {
		name = succession_crisis_heir_event.0010.b
		custom_tooltip = succession_crisis_heir_event.0010.b.tt

		trigger = {
			OR = {
				is_ruler = yes
				is_landless_adventurer = yes
			}
		}

		ai_chance = {
			base = 40
			modifier = { add = 200 has_trait = ambitious }
			modifier = { add = 100 has_trait = wrathful }
			modifier = { add = 100 has_trait = arrogant }
			modifier = { add = 50 has_trait = brave }
			modifier = { add = -50 has_trait = paranoid }
			modifier = { add = -100 has_trait = content }
			modifier = { add = -100 has_trait = craven }
		}

		save_scope_as = warleader
		scope:crisis_title = {
			holder = {
				save_scope_as = current_ruler
			}
		}
		if = {
			limit = {
				is_landed = no
			}
			trigger_event = succession_crisis_misc.0001
		}

		scope:current_ruler = {
			trigger_event = {
				id = succession_crisis_claimant_event.0005
				days = { 7 30 }
			}
		}
	}
}

# ============================================================
# EVENT 0011: THE CLAIMANT IS NOTIFIED OF CIVIL WAR
# ============================================================
succession_crisis_heir_event.0011 = {
	type = character_event
	theme = war
	title = succession_crisis_claimant_event.0005.t
	desc = succession_crisis_claimant_event.0005.desc
	override_background = ce1_legendary_battlefield
	override_effect_2d = { reference = smoke }
	window = big_event_window

	immediate = {
		if = {
			limit = { scope:warleader = { has_character_flag = crisis_heir_flag } }
			scope:warleader = { save_scope_as = crisis_heir }
		}
		else_if = {
			limit = { has_character_flag = crisis_heir_flag }
			save_scope_as = crisis_heir
		}
		else = {
			scope:crisis_title = {
				every_claimant = {
					limit = { has_character_flag = crisis_heir_flag }
					save_scope_as = crisis_heir
				}
			}
		}

		create_character = {
			template = generic_peasant_character
			gender = male
			age = { 20 50 }
			location = scope:warleader.location
			save_scope_as = random_left_character
		}
		
		create_character = {
			template = generic_peasant_character
			gender = male
			age = { 20 50 }
			location = scope:warleader.location
			save_scope_as = random_right_character
		}

		debug_log = "Scope for warning event saved"
		debug_log_scopes = yes		
	}

	left_portrait = {
		character = scope:random_left_character
		animation = random_weapon_celebrate
		camera = camera_event_center
	}

	center_portrait = {
		character = scope:warleader
		animation = random_weapon_celebrate
		camera = camera_event_center_moved_left
	}

	right_portrait = {
		character = scope:random_right_character
		animation = random_weapon_celebrate
		camera = camera_event_center_away_pointing_left_fov25
	}

	option = {
		name = succession_crisis_claimant_event.0005.a


		hidden_effect = {
			scope:random_left_character = {
				death = {
					death_reason = death_vanished
				}
			}
			scope:random_right_character = {
				death = {
					death_reason = death_vanished
				}
			}
		}		

		trigger_event = {
			id = succession_crisis_claimant_event.0012
			days = { 30 60 }
		}
	}
}

succession_crisis_heir_event.0012 = {
	type = character_event
	hidden = yes

	immediate = {
		if = {
			limit = {
				is_at_war_with = scope:current_ruler
			}
			scope:current_ruler = {
				trigger_event = succession_crisis_misc.0015
			}
		}
		else = {
			sc_post_truce_war_effect = yes
		}
	}


}