﻿namespace = battlefield_duel

# When this fires, it owns both player-facing prompt slots for the battle.

battlefield_duel.9400 = {
	type = character_event
	title = battlefield_duel.9400.t
	desc = battlefield_duel.9400.desc
	theme = battle

	trigger = {
		is_ai = no
		is_alive = yes
		is_imprisoned = no
		battlefield_duel_lunatic_trait_trigger = yes
		has_character_flag = battlefield_duel_lunatic_prompt_ready
		exists = scope:battlefield_duel_lunatic_target
		scope:battlefield_duel_lunatic_target = {
			battlefield_duel_lunatic_friendly_target_trigger = yes
		}
	}

	override_background = { reference = battlefield_duel_presentation }
	left_portrait = {
		character = root
		animation = rage
	}
	right_portrait = {
		character = scope:battlefield_duel_lunatic_target
		animation = fear
	}

	immediate = {
		scope:battlefield_duel_lunatic_target = { save_scope_as = enemy_knight }
		battlefield_duel_set_prompt_lock_effect = yes

		if = {
			limit = {
				is_commanding_army = yes
				commanding_army = { is_army_in_combat = yes }
			}
			add_character_flag = {
				flag = battlefield_duel_ai_challenge_resolved_current_battle
				days = 30
			}
			remove_character_flag = battlefield_duel_ai_challenge_auto_window
			remove_character_flag = battlefield_duel_opportunity_window
			remove_character_flag = battlefield_duel_opportunity_prompt
			battlefield_duel_opportunity_clear_candidates_effect = yes
		}

		clear_saved_scope = battlefield_duel_manual_target
		clear_saved_scope = battlefield_duel_manual_actor
	}

	option = {
		name = battlefield_duel.9400.back_down
		flavor = battlefield_duel.9400.back_down.flavor
		scope:enemy_knight = {
			add_opinion = {
				target = root
				modifier = battlefield_duel_lunatic_mistook_me_for_foe_opinion
			}
		}
		battlefield_duel_lunatic_finish_route_effect = yes
	}

	option = {
		name = battlefield_duel.9400.continue

		trait = lunatic_1
		trait = lunatic_genetic

		flavor = battlefield_duel.9400.continue.flavor
		custom_tooltip = battlefield_duel.9400.continue.duel.tt
		custom_tooltip = battlefield_duel.9400.continue.wounds.tt
		custom_tooltip = battlefield_duel.9400.continue.fate.tt
		battlefield_duel_clear_prompt_lock_effect = yes
		battlefield_duel_lunatic_begin_friendly_duel_effect = yes
	}

	after = {
		remove_character_flag = battlefield_duel_lunatic_prompt_ready
		if = {
			limit = {
				NOT = { has_character_flag = battlefield_duel_lunatic_friendly_duel_active }
			}
			battlefield_duel_lunatic_finish_route_effect = yes
		}
	}
}

battlefield_duel.9401 = {
	type = character_event
	title = battlefield_duel.9401.t
	desc = battlefield_duel.9401.desc
	theme = battle

	trigger = {
		is_alive = yes
		is_imprisoned = no
		has_character_flag = battlefield_duel_lunatic_friendly_duel_active
		exists = scope:enemy_knight
		scope:enemy_knight = {
			is_alive = yes
			is_at_same_location = root
		}
		scope:sc_victor = scope:actor
	}

	override_background = { reference = battlefield_duel_terrain }
	left_portrait = {
		character = scope:actor
		animation = rage
	}
	right_portrait = {
		character = scope:enemy_knight
		animation = loss_1
	}

	immediate = {
		battlefield_duel_set_prompt_lock_effect = yes
		battlefield_duel_lunatic_apply_attacked_opinion_effect = yes
		battlefield_duel_win_effect = yes
	}

	option = {
		name = battlefield_duel.9401.spare
	}

	option = {
		name = battlefield_duel.9401.murder

		trait = lunatic_1
		trait = lunatic_genetic
		flavor = battlefield_duel.9401.murder.flavor

		stress_impact = {
			wrathful = medium_stress_impact_loss
			craven = major_stress_impact_gain
			sadistic = medium_stress_impact_loss
			vengeful = medium_stress_impact_loss
			content = medium_stress_impact_gain
			forgiving = major_stress_impact_gain
			humble = medium_stress_impact_gain
			compassionate = major_stress_impact_gain
		}

		if = {
			limit = { NOT = { has_trait = murderer } }
			show_as_tooltip = { add_trait = murderer }
		}
		show_as_tooltip = {
			add_kinslayer_trait_or_nothing_effect = { VICTIM = scope:enemy_knight }
		}
		show_as_tooltip = {
			scope:enemy_knight = {
				death = {
					killer = root
					death_reason = death_battlefield_duel_lunatic_public_murder
				}
			}
		}
		custom_tooltip = battlefield_duel.9401.murder.reactions.tt
		hidden_effect = {
			if = {
				limit = { NOT = { has_trait = murderer } }
				add_trait = murderer
			}
			battlefield_duel_lunatic_murder_execution_effect = yes
		}
	}

	after = {
		battlefield_duel_lunatic_finish_route_effect = yes
	}
}

battlefield_duel.9402 = {
	type = character_event
	title = battlefield_duel.9402.t
	desc = battlefield_duel.9402.desc
	theme = battle

	trigger = {
		is_alive = yes
		is_imprisoned = no
		has_character_flag = battlefield_duel_lunatic_friendly_duel_active
		exists = scope:enemy_knight
		scope:enemy_knight = {
			is_alive = yes
			is_at_same_location = root
		}
		scope:sc_loser = scope:actor
	}

	override_background = { reference = battlefield_duel_terrain }
	left_portrait = {
		character = scope:actor
		animation = pain
	}
	right_portrait = {
		character = scope:enemy_knight
		animation = war_defender
	}

	immediate = {
		battlefield_duel_set_prompt_lock_effect = yes
		battlefield_duel_lunatic_apply_attacked_opinion_effect = yes
	}

	option = {
		name = battlefield_duel.9402.a
	}

	after = {
		battlefield_duel_lunatic_finish_route_effect = yes
	}
}

battlefield_duel.9403 = {
	hidden = yes
	immediate = {
		if = {
			limit = { exists = scope:sc_attacker }
			scope:sc_attacker = {
				remove_variable = engaged_in_single_combat
				if = {
					limit = { has_character_flag = battlefield_duel_manual_sc_added_already_fighting }
					remove_character_flag = battlefield_duel_manual_sc_added_already_fighting
					remove_character_flag = already_fighting
				}
			}
		}
		if = {
			limit = { exists = scope:sc_defender }
			scope:sc_defender = {
				remove_variable = engaged_in_single_combat
				if = {
					limit = { has_character_flag = battlefield_duel_manual_sc_added_already_fighting }
					remove_character_flag = battlefield_duel_manual_sc_added_already_fighting
					remove_character_flag = already_fighting
				}
			}
		}
		battlefield_duel_lunatic_finish_route_effect = yes
	}
}
