﻿namespace = succession_crisis_claimant_event

# ============================================================
# EVENT 0001: SUCCESSION CRISIS (CLAIMANT'S PERSPECTIVE)
# ============================================================
succession_crisis_claimant_event.0001 = {
	type = character_event
	theme = realm
	title = succession_crisis_claimant_event.0001.t
	desc = succession_crisis_claimant_event.0001.desc
	window = big_event_window
	
	immediate = {
		save_scope_as = warleader
		save_scope_as = claimant
		
		scope:crisis_title = {
			holder = {
				save_scope_as = current_ruler
			}
		}
		
		# The Heir is the primary obstacle
		scope:crisis_heir = { save_scope_as = primary_antagonist }

		# Find the one other person in the rebel list (excluding ourselves)
		random_in_list = {
			list = active_crisis_rebels
			limit = { NOT = { this = root } }
			save_scope_as = other_claimant
		}
	}

	# The Claimant (You)
	left_portrait = { 
		character = root 
		animation = interested
		camera = camera_body 
	}

	# The Heir
	right_portrait = { 
		character = scope:primary_antagonist 
		animation = paranoia
		camera = camera_body_left_slight 
	}

	# The Rival Claimant (Only shows if they exist)
	lower_left_portrait = { 
		trigger = { exists = scope:other_claimant }
		character = scope:other_claimant 
	}

	# Press the claim
	option = {
		name = succession_crisis_claimant_event.0001.a
		
		ai_chance = {
			base = 100
		}
		
		# Trigger the hidden travel plan creation event
		trigger_event = succession_crisis_travel.0001
	}

	# Decline the claim
	option = {
		name = succession_crisis_claimant_event.0001.b
		
		ai_chance = {
			base = 0
		}
		
		# Remove from the list of rebels so they aren't considered a contender
		remove_from_list = active_crisis_rebels
		
		# Clean up the flag for the crisis
		remove_character_flag = active_succession_crisis

		# Lose the claim on the title
		remove_claim = scope:crisis_title

		# Trigger event for the current ruler
		scope:current_ruler = {
			trigger_event = {
				id = succession_crisis_misc.0005
				days = { 30 60 }
			}
		}

		custom_tooltip = succession_crisis_claimant_event.0001.b.tt
	}
}
# ============================================================
# EVENT 0002: THE USURPER SECURES THE THRONE (CLAIMANT WIN)
# ============================================================
succession_crisis_claimant_event.0002 = {
	type = character_event
	title = succession_crisis_claimant_event.0002.t
	desc = succession_crisis_claimant_event.0002.desc
	theme = realm
	window = big_event_window

	trigger = {
		NOT = { has_character_flag = debating }
		NOT = { has_character_flag = in_debate }
	}

	immediate = {
		current_travel_plan ?= {
			pause_travel_plan = yes
		}
		
		remove_character_flag = race_participant
		# 1. Establish/Safety check scopes
		if = {
			limit = { NOT = { scope:crisis_title = { exists = this } } }
			scope:crisis_heir = {
				primary_title = { save_scope_as = crisis_title }
			}
		}

		scope:crisis_heir = {
			if = {
				limit = {
					exists = location
				}
				location = {
					save_scope_as = heir_original_location
				}
			}
		}
	}

	left_portrait = {
		character = root
		animation = laugh
	}

	right_portrait = {
		character = scope:crisis_heir
		animation = anger
	}

	# OPTION A: TAKE THE THRONE (AI WILL ALWAYS CHOOSE THIS)
	option = {
		name = succession_crisis_claimant_event.0002.a
		
		ai_chance = {
			base = 100 # High weight ensures preference
		}
		
		# SET THE WINNING FLAG
		add_character_flag = crisis_race_winner
		
		# USURPATION
		succession_crisis_execute_usurpation_effect = yes

		# ARMIES
		succession_crisis_spawn_loyalist_army_effect = yes

		# Trigger capital/misc logic for the new usurper
		if = {
			limit = {
				NOT = {
					capital_county = scope:crisis_destination.county
				}
			}
			trigger_event = {
				id = succession_crisis_misc.0014
				days = 1
			}
		}

		# NOTIFY LOSERS
		scope:crisis_heir = {
			trigger_event = succession_crisis_heir_event.0004
			# If the heir is unlanded (not a ruler/adventurer), make them an adventurer camp for the war
			if = {
				limit = {
					is_ruler = no
				}
				trigger_event = succession_crisis_misc.0001	
			}
			if = {
				limit = {
					is_adult = no
				}
				designate_diarch_or_secretariat_effect = { ACTOR = root }
			}
		}

		# Notify other rebels
		every_in_list = {
			list = active_crisis_rebels
			limit = { NOT = { this = root } }
			trigger_event = succession_crisis_claimant_event.0004
		}

		# UI NOTIFICATION
	}

	# OPTION B: WITHDRAW CLAIM (AI WILL NEVER CHOOSE THIS)
	option = {
		name = succession_crisis_claimant_event.0002.b
		
		ai_chance = {
			base = 0 
		}

		# The Claimant loses their claim and stops the crisis
		remove_claim = scope:crisis_title
		remove_character_flag = active_succession_crisis
	}
}
# ============================================================
# EVENT 0004: THE CLAIMANT ARRIVES LATE (LOSE EVENT)
# ============================================================
succession_crisis_claimant_event.0004 = {
	type = character_event
	title = succession_crisis_claimant_event.0004.t
	desc = succession_crisis_claimant_event.0004.desc
	theme = realm
	window = big_event_window

	immediate = {
		save_scope_as = warleader

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

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

	right_portrait = {
		character = scope:current_ruler
		animation = chaplain
		camera = camera_body_left_slight
	}

	# OPTION A: WITHDRAW CLAIM
	option = {
		name = succession_crisis_claimant_event.0004.a
		custom_tooltip = succession_crisis_claimant_event.0004.a.tt
		
		ai_chance = {
			base = 10
			
			modifier = {
				add = 20
				has_trait = craven
			}
			modifier = {
				add = 20
				has_trait = content
			}
			modifier = {
				add = 10
				has_trait = humble
			}
			modifier = {
				add = 50
				opinion = {
					target = scope:current_ruler
					value >= 60
				}
			}
		}
		
		remove_claim = scope:crisis_title

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

		trigger_event = {
			id = succession_crisis_travel.0002
			days = 1
		}
	}

	# OPTION B: WAR
	option = {
		name = succession_crisis_claimant_event.0004.b
		custom_tooltip = succession_crisis_claimant_event.0004.b.tt

		ai_chance = {
			base = 40
			
			modifier = {
				add = 30
				has_trait = ambitious
			}
			modifier = {
				add = 30
				has_trait = wrathful
			}
			modifier = {
				add = 20
				has_trait = brave
			}
			modifier = {
				add = 50
				opinion = {
					target = scope:current_ruler
					value <= -40
				}
			}
		}

		if = {
			limit = {
				is_landed = no
			}
			trigger_event = succession_crisis_misc.0001
		}

		hidden_effect = {
			succession_crisis_process_vassal_loyalty_effect = yes
		}

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

		scope:current_ruler = {
			trigger_event = {
				id = succession_crisis_heir_event.0006
				days = { 7 30 }
			}
		}

		trigger_event = {
			id = succession_crisis_travel.0002
			days = 1
		}
	}

	# OPTION C: DEBATE
	option = {
		name = succession_crisis_claimant_event.0004.c
		
		trigger = {
			is_adult = yes
			is_at_war = no
		}
		
		ai_chance = {
			base = 1000
			
			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 CLAIMANT IS NOTIFIED OF CIVIL WAR
# ============================================================
succession_crisis_claimant_event.0005 = {
	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.0008
			days = { 30 60 }
		}
	}
}
# ============================================================
# EVENT 0008: WAR TRIGGER
# ============================================================
succession_crisis_claimant_event.0008 = {
	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 = {
			succession_crisis_start_war_effect = yes
		}
	}


}

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

	immediate = {
	}

	# 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_claimant_event.0009.a
		
		# Trigger the travel/crisis mechanics
		
		# Immediate flavor impacts
		stress_impact = {
			ambitious = -20
			diligent = 10
			compassionate = 30
			callous = -10
		}
		
		custom_tooltip = succession_crisis_claimant_event.0009.a.tt
	}
}


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

	immediate = {
		scope:crisis_title = {
			holder = { save_scope_as = current_ruler }
		}
		add_character_flag = active_crisis_rebel
	}

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

	right_portrait = {
		character = scope:current_ruler
		animation = chaplain
		camera = camera_body_left_slight
	}

	# OPTION A: WITHDRAW CLAIM
	option = {
		name = succession_crisis_claimant_event.0010.a
		custom_tooltip = succession_crisis_claimant_event.0010.a.tt
		
		ai_chance = {
			base = 0
			
			modifier = {
				add = 20
				has_trait = craven
			}
			modifier = {
				add = 20
				has_trait = content
			}
			modifier = {
				add = 10
				has_trait = humble
			}
			modifier = {
				add = 50
				opinion = {
					target = scope:current_ruler
					value >= 60
				}
			}
		}
		
		remove_claim = scope:crisis_title
	}

	# OPTION B: WAR
	option = {
		name = succession_crisis_claimant_event.0010.b
		custom_tooltip = succession_crisis_claimant_event.0010.b.tt

		ai_chance = {
			base = 1000
			
			modifier = {
				add = 30
				has_trait = ambitious
			}
			modifier = {
				add = 30
				has_trait = wrathful
			}
			modifier = {
				add = 20
				has_trait = brave
			}
			modifier = {
				add = 50
				opinion = {
					target = scope:current_ruler
					value <= -40
				}
			}
		}

		if = {
			limit = {
				is_landed = no
			}
			trigger_event = succession_crisis_misc.0001
		}

		scope:current_ruler = {
			trigger_event = {
				id = succession_crisis_heir_event.0006
				days = { 7 30 }
			}
		}
	}
}

# ============================================================
# EVENT 0011: THE CLAIMANT IS NOTIFIED OF CIVIL WAR
# ============================================================
succession_crisis_claimant_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_claimant_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
		}
	}


}