﻿# Eligibility used only by the optional Battlefield Duel Opportunities system.
# Opportunity stays separate from Unexpected Challenges.

battlefield_duel_opportunity_player_eligible_trigger = {
	is_ai = no
	is_alive = yes
	is_imprisoned = no
	is_commanding_army = yes
	commanding_army = { is_army_in_combat = yes }
	is_current_dragonrider_warfare = no
	NOT = { has_trait_rank = { trait = wounded rank >= 2 } }
	NOT = { has_character_flag = already_fighting }
	NOT = { has_variable = engaged_in_single_combat }
	NOT = { has_character_flag = battlefield_duel_pending_prompt }
	NOT = { has_character_flag = battlefield_duel_prompt_lock }
	NOT = { has_character_flag = battlefield_duel_ai_challenge_prompt }
	NOT = { has_character_flag = battlefield_duel_seek_combat_manual_prompt }
	NOT = { has_character_flag = battlefield_duel_combat_finished_flag }
	trigger_if = {
		limit = { has_game_rule = agot_battlefield_duel_cooldown_on }
		NOT = { has_character_flag = agot_battlefield_duel_cooldown }
							}
						}

# Keep war leaders and their heirs out of Opportunity duels.
battlefield_duel_opportunity_not_war_decider_trigger = {
	save_temporary_scope_as = battlefield_duel_opportunity_war_decider_candidate
	# Warless battles stay allowed. Stale war scopes fail safely.
	OR = {
		NOT = { exists = scope:battlefield_duel_opportunity_combat_side.combat.combat_war }
		trigger_if = {
			limit = { exists = scope:battlefield_duel_opportunity_combat_side.combat.combat_war }
			scope:battlefield_duel_opportunity_combat_side.combat.combat_war = {
				exists = primary_attacker
				exists = primary_defender
				trigger_if = {
					limit = { exists = primary_attacker }
					primary_attacker = {
						NOT = { this = scope:battlefield_duel_opportunity_war_decider_candidate }
						trigger_if = {
							limit = { exists = primary_heir }
							NOT = { primary_heir = scope:battlefield_duel_opportunity_war_decider_candidate }
						}
						trigger_if = {
							limit = { exists = player_heir }
							NOT = { player_heir = scope:battlefield_duel_opportunity_war_decider_candidate }
						}
				}
				}
				trigger_if = {
					limit = { exists = primary_defender }
					primary_defender = {
						NOT = { this = scope:battlefield_duel_opportunity_war_decider_candidate }
						trigger_if = {
							limit = { exists = primary_heir }
							NOT = { primary_heir = scope:battlefield_duel_opportunity_war_decider_candidate }
						}
						trigger_if = {
							limit = { exists = player_heir }
							NOT = { player_heir = scope:battlefield_duel_opportunity_war_decider_candidate }
						}
					}
				}
			}
		}
	}
}

# The actor and combat side are saved before this runs.
battlefield_duel_opportunity_candidate_trigger = {
	is_alive = yes
	is_imprisoned = no
	is_in_army = yes
	is_at_same_location = scope:battlefield_duel_opportunity_actor
	is_current_dragonrider_warfare = no
	NOT = { has_trait = incapable }
	NOT = { has_character_flag = already_fighting }
	NOT = { has_variable = engaged_in_single_combat }
	NOT = { has_character_flag = battlefield_duel_pending_prompt }
	NOT = { has_character_flag = battlefield_duel_prompt_lock }
	NOT = { has_character_flag = battlefiel_duel_recipient_spare }
	battlefield_duel_opportunity_not_war_decider_trigger = yes
	trigger_if = {
		limit = { has_game_rule = agot_battlefield_duel_cooldown_on }
		NOT = { has_character_flag = agot_battlefield_duel_cooldown }
	}
}
