﻿namespace = battlefield_duel

# A successful roll can wait for eligibility, but it never rolls twice.

battlefield_duel.9300 = {
	hidden = yes
	trigger = {
		is_ai = no
		is_alive = yes
		is_imprisoned = no
		is_commanding_army = yes
		commanding_army = { is_army_in_combat = yes }
		has_character_flag = battlefield_duel_opportunity_window
		has_character_flag = battlefield_duel_opportunity_roll_done_current_battle
		NOT = { has_character_flag = battlefield_duel_combat_finished_flag }
	}

	immediate = {
		if = {
			limit = { is_current_dragonrider_warfare = yes }
			battlefield_duel_opportunity_clear_transient_effect = yes
		}
		else_if = {
			limit = { NOT = { has_character_flag = calculated_dragon_modifier } }
			trigger_event = { id = battlefield_duel.9300 days = 1 }
		}
		else_if = {
			limit = { NOT = { battlefield_duel_opportunity_player_eligible_trigger = yes } }

			trigger_event = { id = battlefield_duel.9300 days = 1 }
		}
		else = {

			battlefield_duel_lunatic_try_shared_roll_effect = yes
			if = {
				limit = {
					has_character_flag = battlefield_duel_lunatic_prompt_ready
					exists = scope:battlefield_duel_lunatic_target
				}
				clear_saved_scope = enemy_knight
				clear_saved_scope = enemy_commander
				clear_saved_scope = war_leader
				scope:battlefield_duel_lunatic_target = { save_scope_as = enemy_knight }
				trigger_event = { id = battlefield_duel.9400 }
			}
			else = {
				battlefield_duel_opportunity_collect_candidates_effect = yes
				if = {
					limit = { exists = scope:battlefield_duel_opportunity_candidate_1 }
					add_character_flag = { flag = battlefield_duel_opportunity_prompt days = 2 }
					trigger_event = { id = battlefield_duel.9301 }
				}
				else = {

					trigger_event = { id = battlefield_duel.9300 days = 1 }
				}
			}
		}
	}
}

battlefield_duel.9301 = {
	type = character_event
	window = bdp_battlefield_duel_character_event
	theme = battle
	title = {
		first_valid = {
			triggered_desc = {
				trigger = { exists = scope:battlefield_duel_opportunity_candidate_2 }
				desc = battlefield_duel.9301.t.plural
			}
			desc = battlefield_duel.9301.t.single
		}
	}
	desc = {
		first_valid = {
			triggered_desc = {
				trigger = { exists = scope:battlefield_duel_opportunity_candidate_2 }
				desc = battlefield_duel.9301.desc.plural
			}
			desc = battlefield_duel.9301.desc.single
		}
	}

	trigger = {
		battlefield_duel_opportunity_player_eligible_trigger = yes
		has_character_flag = battlefield_duel_opportunity_prompt
		exists = scope:battlefield_duel_opportunity_candidate_1
	}

	override_background = { reference = battlefield_duel_presentation }
	right_portrait = {
		character = scope:battlefield_duel_opportunity_candidate_1
		animation = marshal
	}
	left_portrait = {
		character = scope:battlefield_duel_opportunity_candidate_2
		animation = marshal
		trigger = { exists = scope:battlefield_duel_opportunity_candidate_2 }
	}
	immediate = {
		remove_character_flag = battlefield_duel_opportunity_window
	}

	option = {
		name = battlefield_duel.9301.challenge_1
		flavor = battlefield_duel.9301.challenge_1.flavor
		trigger = {
			exists = scope:battlefield_duel_opportunity_candidate_1
			scope:battlefield_duel_opportunity_candidate_1 = { battlefield_duel_opportunity_candidate_trigger = yes }
		}
		custom_tooltip = battlefield_duel.9301.challenge_1.tt
		hidden_effect = {
			root = { save_scope_as = battlefield_duel_manual_actor }
			scope:battlefield_duel_opportunity_candidate_1 = { save_scope_as = battlefield_duel_manual_target }
			battlefield_duel_opportunity_begin_manual_seek_effect = yes
		}
	}

	option = {
		name = battlefield_duel.9301.challenge_2
		flavor = battlefield_duel.9301.challenge_2.flavor
		trigger = {
			exists = scope:battlefield_duel_opportunity_candidate_2
			scope:battlefield_duel_opportunity_candidate_2 = { battlefield_duel_opportunity_candidate_trigger = yes }
		}
		custom_tooltip = battlefield_duel.9301.challenge_2.tt
		hidden_effect = {
			root = { save_scope_as = battlefield_duel_manual_actor }
			scope:battlefield_duel_opportunity_candidate_2 = { save_scope_as = battlefield_duel_manual_target }
			battlefield_duel_opportunity_begin_manual_seek_effect = yes
		}
	}

	option = {
		name = battlefield_duel.9301.dismiss
		flavor = battlefield_duel.9301.dismiss.flavor
	}

	after = {
		remove_character_flag = battlefield_duel_opportunity_prompt
		battlefield_duel_opportunity_clear_candidates_effect = yes
	}
}
