# Written by Flavio (HF.25499 - HF.25511)
# Written by Milla (HF.10500 - HF.10521)

namespace = HF

### MISSIONS ###

# Warrior Lodge Mission Tombola delay
character_event = {
	id = HF.25499

	hide_window = yes
	is_triggered_only = yes # on_society_bi_yearly_pulse

	immediate = {
		character_event = {
			id = HF.25500
			days = 7
			random = 7
		}
	}
}

## Warrior Lodge Mission Tombola
character_event = {
	id = HF.25500

	hide_window = yes
	is_triggered_only = yes

	is_in_society = yes
	only_capable = yes
	prisoner = no

	trigger = {
		is_member_of_any_warrior_lodge_trigger = yes
		is_inaccessible_trigger = no
		has_any_quest = no
		NOT = { has_character_modifier = quest_cooldown_timer }
	}

	immediate = {
		society = {
			random_society_member = {
				limit = {
					NOT = { character = ROOT }
					society_rank == 4
				}
				save_event_target_as = lodge_hero # Character for handing out missions...
			}
		}

		if = {
			limit = { is_landed = yes }
			capital_scope = { save_event_target_as = home_capital } # For some distance checks...
		}

		### AVAILABLE MISSIONS: ###
		# Raid and loot barony. ....................... HF.25501
		# Lose Weak Focus.............................. HF.25504
		# Duel <someone>. First blood. ................ HF.10500
		# Duel <someone>. To the death! ............... HF.10510
		# Wage war against someone! ................... HF.10512
		# Recruit child into warrior lodge! ........... HF.10520

		random_list = {
			20 = {
				trigger = { # Ruler should be allowed to loot at all in the first place
					is_landed = yes
					is_allowed_to_loot = yes
					top_liege = { is_allowed_to_loot = yes }

					# A lootable province must exist.
					any_independent_ruler = {
						NOR = {
							war_with = ROOT
							is_liege_or_above_of = ROOT
							has_non_aggression_pact_with = ROOT
							is_allied_with = ROOT

							trigger_if = {
								limit = { is_tributary = yes }

								suzerain = {
									OR = {
										character = ROOT
										is_vassal_or_below_of = ROOT
									}
								}
							}
						}

						trigger_if = {
							limit = { ROOT = { is_seafarer = yes } }
							distance_from_realm = { who = ROOT value < 250 }
						}
						trigger_else = {
							distance_from_realm = { who = ROOT value < 50 }
						}

						any_realm_province = {
							is_occupied = no
							NOT = { owned_by = ROOT }
							held_under_PREV = yes

							OR = {
								any_neighbor_province = {
									owner = {
										OR = {
											character = ROOT
											is_vassal_or_below_of = ROOT
										}
									}
								}

								ROOT = {
									any_demesne_province = {
										is_coastal = yes
										TECH_NAVAL >= 1
										can_naval_path_to = PREVPREV
										owned_by = PREV

										OR = {
											has_building = tb_shipyard_1
											has_building = ca_shipyard_1
											has_building = tp_shipyard_1
											has_building = ct_shipyard_1
										}
									}
								}
							}

							capital_holding = { NOT = { holding_type = nomad } }

							owner = {
								NOR = {
									same_society_as = ROOT
									top_liege = { same_society_as = ROOT }
								}
							}
						}
					}
				}
				society_quest_event = { id = HF.25502 } # Raid and loot barony.
			}
			20 = {
				trigger = {
					has_dlc = "Way of Life"
					is_landed = yes
					is_adult = yes

					NOR = {
						has_focus = focus_war
						has_focus = focus_hunting
						has_focus = focus_rulership
						has_focus = focus_carousing
					}
				}

				society_quest_event = { id = HF.25505 } # Lose Weak Focus.
			}
			20 = {
				trigger = {
					is_adult = yes

					society = {
						any_society_member = {
							ai = yes
							is_adult = yes
							is_inaccessible_or_incapable_trigger = no

							NOR = {
								character = ROOT
								has_character_modifier = bedridden_illness
								has_character_modifier = severe_illness
								has_character_flag = call_to_legend_active
							}
						}
					}
				}

				society_quest_event = { id = HF.10501 } # Duel <someone>. First blood.
			}
			5 = {
				trigger = {
					ai = no
					is_adult = yes

					OR = {
						any_society_member = {
							is_adult = yes
							ai = yes
							is_within_diplo_range = ROOT
							is_member_of_any_warrior_lodge_trigger = yes
							is_inaccessible_or_incapable_trigger = no

							NOR = {
								same_society_as = ROOT
								is_married = ROOT
								is_consort = ROOT
								has_character_modifier = bedridden_illness
								has_character_modifier = severe_illness
							}
						}

						any_rival = {
							is_adult = yes
							ai = yes
							is_inaccessible_or_incapable_trigger = no

							NOR = {
								has_character_modifier = bedridden_illness
								has_character_modifier = severe_illness
							}

							distance = {
								where = event_target:home_capital
								value < 1000
							}
						}

						any_realm_character = {
							is_adult = yes
							ai = yes
							is_inaccessible_or_incapable_trigger = no

							NOR = {
								is_married = ROOT
								is_consort = ROOT
								has_character_modifier = bedridden_illness
								has_character_modifier = severe_illness
							}
						}

						any_neighbor_independent_ruler = {
							any_realm_character = {
								is_adult = yes
								ai = yes
								is_inaccessible_or_incapable_trigger = no

								NOR = {
									is_married = ROOT
									is_consort = ROOT
									has_character_modifier = bedridden_illness
									has_character_modifier = severe_illness
								}

								distance = {
									where = event_target:home_capital
									value < 1000
								}
							}
						}
					}
				}

				society_quest_event = { id = HF.10511 } # Duel <someone>. To the death!
			}
			20 = {
				trigger = {
					is_landed = yes

					any_independent_ruler = {
						any_realm_title = {
							real_tier = COUNT

							ROOT = {
								can_use_cb = { # against target
									target = PREVPREV
									thirdparty_title = PREV
									casus_belli = pagan_county_conquest
								}
							}

							location = {
								OR = {
									can_naval_path_to = { target = event_target:home_capital distance < 1000 }
									can_land_path_to = { target = event_target:home_capital distance < 1000 }
								}
							}
						}
						top_liege = {
							NOT = { has_truce = ROOT }
							# target should not be stronger than 120% of your strength, and not weaker than 50% of your strength:
							relative_power = { who = ROOT power <  1.2 }
							relative_power = { who = ROOT power >= 0.5 }
						}
					}
				}

				society_quest_event = { id = HF.10513 } # Wage war against someone!
			}
			20 = {
				trigger = {
					is_playable = yes

					any_child = {
						is_in_society = no
						age >= 12
						prisoner = no
						NOT = { has_character_flag = flag_child_abandoned_lodge }

						trigger_if = { # AIs should only strive to recruit their main heir
							limit = { ROOT = { ai = yes } }
							is_primary_heir = ROOT
						}
					}
				}

				society_quest_event = { id = HF.10521 } # Recruit child into warrior lodge!
			}
			75 = { # AI bypasses missions at times
				trigger = { ai = yes }

				random_list = {
					70 = {
						mult_modifier = {
							factor = 0.9
							society_influence >= 30
						}
						mult_modifier = {
							factor = 0.9
							society_influence >= 40
						}
						mult_modifier = {
							factor = 0.8
							society_influence >= 50
						}
						mult_modifier = {
							factor = 0.7
							society_influence >= 70
						}
						mult_modifier = {
							factor = 0.6
							society_influence >= 80
						}
						mult_modifier = {
							factor = 0.5
							society_influence >= 90
						}

						add_mission_succeed_influence_effect = yes
					}
					30 = { add_mission_fail_influence_effect = yes }
				}

				random = {
					chance = 10
					character_event = { id = HF.25070 } # Small chance for tattoos to Rank 3 and 4s.
				}
			}
			200 = {
				trigger = { ai = yes }
				# Do nothing for AI
			}
		}
	}
}

### Raid and Loot Barony ###

# MISSION:
society_quest_event = {
	id = HF.25502
	desc = EVTDESCHF25502
	portrait = event_target:lodge_hero
	quest_target = event_target:wl_looting_target

	is_triggered_only = yes

	immediate = {
		random_independent_ruler = {
			limit = {
				NOR = {
					war_with = ROOT
					is_liege_or_above_of = ROOT
					has_non_aggression_pact_with = ROOT
					is_allied_with = ROOT
					same_society_as = ROOT

					trigger_if = {
						limit = { is_tributary = yes }

						suzerain = {
							OR = {
								character = ROOT
								is_vassal_or_below_of = ROOT
							}
						}
					}
				}

				trigger_if = {
					limit = { ROOT = { is_seafarer = yes } }
					distance_from_realm = { who = ROOT value < 250 }
				}
				trigger_else = {
					distance_from_realm = { who = ROOT value < 50 }
				}

				any_realm_province = {
					is_occupied = no
					held_under_PREV = yes

					owner = {
						NOR = {
							character = ROOT
							same_society_as = ROOT
						}
					}

					OR = {
						any_neighbor_province = {
							owner = {
								OR = {
									character = ROOT
									is_vassal_or_below_of = ROOT
								}
							}
						}

						ROOT = {
							any_demesne_province = {
								is_coastal = yes
								TECH_NAVAL >= 1
								can_naval_path_to = PREVPREV
								owned_by = PREV

								OR = {
									has_building = tb_shipyard_1
									has_building = ca_shipyard_1
									has_building = tp_shipyard_1
									has_building = ct_shipyard_1
								}
							}
						}
					}

					capital_holding = { NOT = { holding_type = nomad } }
				}
			}
			preferred_limit = {
				is_tribal = no
				is_nomadic = no
			}

			random_realm_province = {
				limit = {
					is_occupied = no
					held_under_PREV = yes

					owner = {
						NOR = {
							character = ROOT
							same_society_as = ROOT
						}
					}

					capital_holding = { NOT = { holding_type = nomad } }

					OR = {
						any_neighbor_province = {
							owner = {
								OR = {
									character = ROOT
									is_vassal_or_below_of = ROOT
								}
							}
						}

						ROOT = {
							any_demesne_province = {
								is_coastal = yes
								TECH_NAVAL >= 1
								can_naval_path_to = PREVPREV
								owned_by = PREV

								OR = {
									has_building = tb_shipyard_1
									has_building = ca_shipyard_1
									has_building = tp_shipyard_1
									has_building = ct_shipyard_1
								}
							}
						}
					}
				}
				preferred_limit = {
					trigger_if = {
						limit = { ROOT = { is_seafarer = yes } }
						distance_from_realm = { who = ROOT value < 200 }
					}

					capital_holding = {
						OR = { # Prefer cities and temples.
							holding_type = city
							holding_type = temple
						}
					}
				}
				preferred_limit = {
					trigger_if = {
						limit = { ROOT = { is_seafarer = yes } }
						distance_from_realm = { who = ROOT value < 200 }
					}

					capital_holding = {
						holding_type = castle # Or at least not tribes.
					}
				}
				preferred_limit = {
					trigger_if = {
						limit = { ROOT = { is_seafarer = yes } }
						distance_from_realm = { who = ROOT value < 200 }
					}
				}

				capital_holding = {
					save_event_target_as = wl_looting_target
				}
			}
		}
	}

	option = {
		name = ACCEPT

		event_target:wl_looting_target = {
			show_scope_change = no

			set_quest_target = {
				id = quest_warrior_lodge_raid_and_loot
				holder = ROOT
			}
		}
	}

	option = {
		name = DECLINE
		custom_tooltip = { text = decline_quest_tooltip }

		add_character_modifier = {
			name = quest_cooldown_timer
			days = 1000
			hidden = yes
		}

		ai_chance = { factor = 0 }
	}
}

# on_loot_settlement: Raid the province and end the quest.
character_event = {
	id = HF.25503
	desc = EVTDESCHF25503
	picture = GFX_evt_vikings_arriving_oldgods
	border = GFX_event_normal_frame_war

	is_triggered_only = yes

	trigger = {
		is_member_of_any_warrior_lodge_trigger = yes
		has_quest = quest_warrior_lodge_raid_and_loot
		FROM = { is_quest_target_of = ROOT }
	}

	option = {
		name = EVTOPTAHF25503

		clr_quest = quest_warrior_lodge_raid_and_loot
		add_society_currency_medium_effect = yes
		add_legend_progress_trivial_effect = yes

		if = {
			limit = {
				FROM = { holding_type = tribal }
			}

			scaled_wealth = {
				value = 1
				min = 20
				max = 50
			}
		}
		else_if = {
			limit = {
				FROM = { holding_type = castle }
			}

			scaled_wealth = {
				value = 1
				min =  50
				max = 150
			}
		}
		else_if = {
			limit = {
				FROM = {
					OR = {
						holding_type = city
						holding_type = temple
					}
				}
			}

			scaled_wealth = {
				value = 1
				min = 100
				max = 250
			}
		}

		hidden_effect = {
			FROM = {
				destroy_random_building = yes
				destroy_random_building = yes
			}
		}
	}
}


### Lose Weak Focus ###

# MISSION:
society_quest_event = {
	id = HF.25505
	portrait = event_target:lodge_hero

	desc = {
		text = EVTDESCAHF25505
		trigger = { has_character_flag = flag_renounce_focus_for_war }
	}
	desc = {
		text = EVTDESCBHF25505
		trigger = { has_character_flag = flag_renounce_focus_for_hunting }
	}
	desc = {
		text = EVTDESCCHF25505
		trigger = { has_character_flag = flag_renounce_focus_for_rulership }
	}
	desc = {
		text = EVTDESCDHF25505
		trigger = { has_character_flag = flag_renounce_focus_for_carousing }
	}

	is_triggered_only = yes

	has_dlc = "Way of Life"

	immediate = {
		random_list = {
			25 = { set_character_flag = flag_renounce_focus_for_war }
			25 = { set_character_flag = flag_renounce_focus_for_hunting }
			25 = { set_character_flag = flag_renounce_focus_for_rulership }
			25 = { set_character_flag = flag_renounce_focus_for_carousing }
		}
	}

	option = {
		name = ACCEPT

		trigger_switch = {
			on_trigger = has_character_flag

			flag_renounce_focus_for_war = {
				set_quest_target = {
					id = quest_warrior_lodge_weak_focus_to_war
					holder = ROOT
				}
			}
			flag_renounce_focus_for_hunting = {
				set_quest_target = {
					id = quest_warrior_lodge_weak_focus_to_hunting
					holder = ROOT
				}
			}
			flag_renounce_focus_for_rulership = {
				set_quest_target = {
					id = quest_warrior_lodge_weak_focus_to_rulership
					holder = ROOT
				}
			}
			flag_renounce_focus_for_carousing = {
				set_quest_target = {
					id = quest_warrior_lodge_weak_focus_to_carousing
					holder = ROOT
				}
			}
		}
	}

	option = {
		name = DECLINE
		custom_tooltip = { text = decline_quest_tooltip }

		add_character_modifier = {
			name = quest_cooldown_timer
			hidden = yes
			days = 1000
		}

		ai_chance = { factor = 0 }
	}

	after = {
		hidden_effect = { # For those who instantly select the focus, bypassing the mission-trigger
			trigger_switch = {
				on_trigger = has_character_flag

				flag_renounce_focus_for_war = {
					if = {
						limit = { has_focus = focus_war }
						character_event = { id = HF.25506 days = 1 }
					}
				}
				flag_renounce_focus_for_hunting = {
					if = {
						limit = { has_focus = focus_hunting }
						character_event = { id = HF.25507 days = 1 }
					}
				}
				flag_renounce_focus_for_rulership = {
					if = {
						limit = { has_focus = focus_rulership }
						character_event = { id = HF.25508 days = 1 }
					}
				}
				flag_renounce_focus_for_carousing = {
					if = {
						limit = { has_focus = focus_carousing }
						character_event = { id = HF.25509 days = 1 }
					}
				}
			}
		}

		clr_character_flag = flag_renounce_focus_for_war
		clr_character_flag = flag_renounce_focus_for_hunting
		clr_character_flag = flag_renounce_focus_for_rulership
		clr_character_flag = flag_renounce_focus_for_carousing
	}
}

# on_focus_selected: Changing to War focus.
character_event = {
	id = HF.25506
	desc = EVTDESCHF25506
	picture = GFX_evt_vikings_arriving_oldgods
	border = GFX_event_normal_frame_war

	is_triggered_only = yes

	is_in_society = yes

	trigger = {
		is_member_of_any_warrior_lodge_trigger = yes
		has_quest = quest_warrior_lodge_weak_focus_to_war
		has_focus = focus_war
	}

	option = {
		name = EVTOPTAHF25506

		clr_quest = quest_warrior_lodge_weak_focus_to_war
		add_society_currency_minor_effect = yes
		add_legend_progress_trivial_effect = yes
	}
}

# on_focus_selected: Changing to Hunting focus.
character_event = {
	id = HF.25507
	desc = EVTDESCHF25507
	picture = GFX_evt_mysterious_forest
	border = GFX_event_normal_frame_war

	is_triggered_only = yes

	is_in_society = yes

	trigger = {
		is_member_of_any_warrior_lodge_trigger = yes
		has_quest = quest_warrior_lodge_weak_focus_to_hunting
		has_focus = focus_hunting
	}

	option = {
		name = EVTOPTAHF25507

		clr_quest = quest_warrior_lodge_weak_focus_to_hunting
		add_society_currency_minor_effect = yes
		add_legend_progress_trivial_effect = yes
	}
}

# on_focus_selected: Changing to Rulership focus.
character_event = {
	id = HF.25508
	desc = EVTDESCHF25508
	picture = GFX_evt_tengri_throneroom_oldgods
	border = GFX_event_normal_frame_economy

	is_triggered_only = yes

	is_in_society = yes

	trigger = {
		is_member_of_any_warrior_lodge_trigger = yes
		has_quest = quest_warrior_lodge_weak_focus_to_rulership
		has_focus = focus_rulership
	}

	option = {
		name = EVTOPTAHF25508

		clr_quest = quest_warrior_lodge_weak_focus_to_rulership
		add_society_currency_minor_effect = yes
		add_legend_progress_trivial_effect = yes
	}
}

# on_focus_selected: Changing to Carousing focus.
character_event = {
	id = HF.25509
	desc = EVTDESCHF25509
	picture = GFX_evt_camaraderie
	border = GFX_event_normal_frame_diplomacy

	is_triggered_only = yes

	is_in_society = yes

	trigger = {
		is_member_of_any_warrior_lodge_trigger = yes
		has_quest = quest_warrior_lodge_weak_focus_to_carousing
		has_focus = focus_carousing
	}

	option = {
		name = EVTOPTAHF25509

		clr_quest = quest_warrior_lodge_weak_focus_to_carousing
		add_society_currency_minor_effect = yes
		add_legend_progress_trivial_effect = yes
	}
}


# MISSION:
# Hero character wants you to duel someone!
society_quest_event = {
	id = HF.10501
	portrait = event_target:lodge_hero

	desc = {
		text = EVTDESCHF10501_A # default
		trigger = { event_target:duel_target = { NOT = { character = event_target:lodge_hero } } }
	}
	desc = {
		text = EVTDESCHF10501_B # if target is also the person giving you the quest...
		trigger = { event_target:duel_target = { character = event_target:lodge_hero } }
	}

	is_triggered_only = yes

	immediate = {
		any_society_member = {
			limit = {
				same_society_as = ROOT
				ai = yes
				is_adult = yes
				is_inaccessible_or_incapable_trigger = no

				NOR = {
					character = ROOT
					has_character_modifier = bedridden_illness
					has_character_modifier = severe_illness
					has_character_flag = call_to_legend_active
				}
			}

			score_value = { # Prioritizes selecting some kind of warrior...
				value = 10
				matching_soldier_score = yes

				additive_modifier = { # best case (someone within diplo-range, not sick, not seriously injured already)...
					value = 2000
					is_within_diplo_range = ROOT
				}
				additive_modifier = { # second best choice (same, but outside of diplo-range)...
					value = 1000

					practical_age < 60
					has_medium_disability_trigger = no # limits the character to some extent
					is_maimed_trigger = no # has a maimed trait
					has_severe_disability_trigger = no
					character_disease_trigger = no
				}
				# third best option (now also injured or old folks allowed)...
			}

			save_event_target_as = duel_target
		}
	}

	option = {
		name = ACCEPT

		event_target:duel_target = {
			show_scope_change = no

			set_quest_target = {
				id = quest_warrior_lodge_duel_honor
				holder = ROOT
			}
		}
	}

	option = {
		name = DECLINE
		custom_tooltip = { text = decline_quest_tooltip }

		add_character_modifier = {
			name = quest_cooldown_timer
			hidden = yes
			days = 1000
		}

		ai_chance = { factor = 0 }
	}
}

# Hidden Cleanup event for (prematurely) dead quest targets...
character_event = {
	id = HF.10502

	hide_window = yes
	is_triggered_only = yes # on_death

	has_dlc = "Holy Fury"

	trigger = {
		is_quest_target = yes
	}

	immediate = {
		any_quester_targeting_this = {
			limit = {
				OR = {
					has_quest = quest_warrior_lodge_duel_honor
					has_quest = quest_warrior_lodge_duel_deadly
					has_quest = quest_warrior_lodge_war
					has_quest = quest_warrior_lodge_recruit
				}
			}
			character_event = { id = HF.10503 days = 15 } # Clears duel mission
		}
	}
}

# Notification "I have failed my mission duel <dead character>..."
character_event = {
	id = HF.10503
	picture = GFX_evt_battle
	border = GFX_event_normal_frame_war

	desc = {
		text = EVTDESC_HF_10503_duel
		trigger = {
			OR = {
				has_quest = quest_warrior_lodge_duel_honor
				has_quest = quest_warrior_lodge_duel_deadly
			}
			NOR = {
				has_quest = quest_warrior_lodge_war
				has_quest = quest_warrior_lodge_recruit
			}
		}
	}
	desc = {
		text = EVTDESC_HF_10503_war
		trigger = {
			has_quest = quest_warrior_lodge_war
			NOR = {
				has_quest = quest_warrior_lodge_duel_honor
				has_quest = quest_warrior_lodge_duel_deadly
				has_quest = quest_warrior_lodge_recruit
			}
		}
	}
	desc = {
		text = EVTDESC_HF_10503_recruit
		trigger = {
			has_quest = quest_warrior_lodge_recruit
			NOR = {
				has_quest = quest_warrior_lodge_duel_honor
				has_quest = quest_warrior_lodge_duel_deadly
				has_quest = quest_warrior_lodge_war
			}
		}
	}

	trigger = {
		OR = {
			has_quest = quest_warrior_lodge_duel_honor
			has_quest = quest_warrior_lodge_duel_deadly
			has_quest = quest_warrior_lodge_war
			has_quest = quest_warrior_lodge_recruit
		}
	}

	is_triggered_only = yes
	notification = yes

	has_dlc = "Holy Fury"

	option = {
		name = ALAS
		character_event = { id = HF.10504 days = 1 } # ACTUAL cleanup
	}
}

character_event = { #*Actual* clean up, because the event above can't handle all the instant stuff
	id = HF.10504

	hide_window = yes
	is_triggered_only = yes

	immediate = {
		if = {
			limit = { has_quest = quest_warrior_lodge_war }

			add_character_modifier = {
				name = quest_cooldown_timer
				days = 1000
				hidden = yes
			}
		}

		clr_quest = { id = quest_warrior_lodge_duel_honor failure = yes }
		clr_quest = { id = quest_warrior_lodge_duel_deadly failure = yes }
		clr_quest = { id = quest_warrior_lodge_war failure = yes }
		clr_quest = { id = quest_warrior_lodge_recruit failure = yes }
		clr_character_flag = deadly_duel@FROM
	}
}


# MISSION:
# Hero character wants you to duel and slay someone!
society_quest_event = {
	id = HF.10511
	portrait = event_target:lodge_hero
	quest_target = event_target:duel_target

	desc = {
		text = EVTDESCHF10511_A # default
		trigger = { event_target:duel_target = { is_member_of_any_warrior_lodge_trigger = yes } }
	}
	desc = {
		text = EVTDESCHF10511_B # if target is not in a warrior lodge...
		trigger = { event_target:duel_target = { is_member_of_any_warrior_lodge_trigger = no } }
	}

	is_triggered_only = yes

	immediate = {
		any_society_member = { # Best case... (a society member of *another* warrior lodge, who matches or is below your PCS)
			limit = {
				is_member_of_any_warrior_lodge_trigger = yes
				is_inaccessible_or_incapable_trigger = no
				is_adult = yes
				ai = yes
				is_within_diplo_range = ROOT
				top_liege = { is_landed = yes }

				NOR = {
					same_society_as = ROOT
					is_married = ROOT
					is_consort = ROOT
					has_character_modifier = bedridden_illness
					has_character_modifier = severe_illness
				}
			}

			score_value = {
				value = 10
				potential_rival_score = yes # Prioritizes selecting some kind of character you wouldn't get along with...
				disliked_target_selection_score = yes # Extra weight for characters you've encountered before...

				mult_modifier = { # Reduced chance to pick people currently at war (unable to duel)...
					factor = 0.1
					war = yes
				}
			}

			save_event_target_as = duel_target
		}
		if = { # 2nd best case (a rival) - PCS is second prio...
			limit = {
				NOT = { event_target:duel_target = { always = yes } }
			}

			any_rival = {
				limit = {
					is_inaccessible_or_incapable_trigger = no
					is_adult = yes
					ai = yes

					NOR = {
						has_character_modifier = bedridden_illness
						has_character_modifier = severe_illness
					}

					distance = {
						where = event_target:home_capital
						value < 1000
					}
				}

				score_value = { # Prioritizes selecting some kind of character you wouldn't get along with...
					value = 10
					potential_rival_score = yes # Prioritizes selecting some kind of character you wouldn't get along with...
					disliked_target_selection_score = yes # Extra weight for characters you've encountered before...
				}

				save_event_target_as = duel_target
			}
		}
		if = { # 3rd best case (a realm character) who fits the bill...
			limit = {
				NOT = { event_target:duel_target = { always = yes } }
			}

			any_realm_character = {
				limit = {
					is_inaccessible_or_incapable_trigger = no
					ai = yes
					is_adult = yes

					NOR = {
						is_married = ROOT
						is_consort = ROOT
						has_character_modifier = bedridden_illness
						has_character_modifier = severe_illness
					}
				}
				score_value = {
					value = 10
					potential_rival_score = yes # Prioritizes selecting some kind of character you wouldn't get along with...
					disliked_target_selection_score = yes # Extra weight for characters you've encountered before...
				}
				save_event_target_as = duel_target
			}
		}
		if = { # 4th case (a *neighbor's* realm character) who fits the bill...
			limit = {
				NOT = { event_target:duel_target = { always = yes } }
			}

			random_neighbor_independent_ruler = {
				limit = {
					any_realm_character = {
						is_inaccessible_or_incapable_trigger = no
						is_adult = yes
						ai = yes

						NOR = {
							is_married = ROOT
							is_consort = ROOT
							has_character_modifier = bedridden_illness
							has_character_modifier = severe_illness
						}

						distance = {
							where = event_target:home_capital
							value < 1000
						}
					}
				}
				any_realm_character = {
					limit = {
						is_inaccessible_or_incapable_trigger = no
						is_adult = yes
						ai = yes
						is_within_diplo_range = ROOT

						NOR = {
							is_married = ROOT
							is_consort = ROOT
							has_character_modifier = bedridden_illness
							has_character_modifier = severe_illness
						}

						distance = {
							where = event_target:home_capital
							value < 1000
						}
					}
					score_value = {
						value = 10
						potential_rival_score = yes # Prioritizes selecting some kind of character you wouldn't get along with...
						disliked_target_selection_score = yes # Extra weight for characters you've encountered before...
					}
					save_event_target_as = duel_target
				}
			}
		}
		if = { # Warrior Lodge members who are without diplomatic range, such as mercenaries
			limit = {
				NOT = { event_target:duel_target = { always = yes } }
			}
			any_society_member = {
				limit = {
					is_member_of_any_warrior_lodge_trigger = yes
					is_inaccessible_or_incapable_trigger = no
					is_adult = yes
					ai = yes
					is_within_diplo_range = ROOT

					NOR = {
						same_society_as = ROOT
						is_married = ROOT
						is_consort = ROOT
						has_character_modifier = bedridden_illness
						has_character_modifier = severe_illness
					}
				}

				score_value = {
					value = 10
					potential_rival_score = yes # Prioritizes selecting some kind of character you wouldn't get along with...
					disliked_target_selection_score = yes # Extra weight for characters you've encountered before...

					mult_modifier = { # Reduced chance to pick people currently at war (unable to duel)...
						factor = 0.1
						war = yes
					}
				}

				save_event_target_as = duel_target
			}
		}
	}

	option = {
		name = ACCEPT

		set_character_flag = deadly_duel@event_target:duel_target

		event_target:duel_target = {
			show_scope_change = no

			set_quest_target = {
				id = quest_warrior_lodge_duel_deadly
				holder = ROOT
			}
		}
	}

	option = {
		name = DECLINE
		custom_tooltip = { text = decline_quest_tooltip }

		add_character_modifier = {
			name = quest_cooldown_timer
			hidden = yes
			days = 1000
		}

		ai_chance = { factor = 0 }
	}
}


# MISSION:
# Hero character wants you to wage war against someone!
society_quest_event = {
	id = HF.10513
	portrait = event_target:lodge_hero
	quest_target = event_target:my_war_target

	desc = {
		text = EVTDESCHF10513 # default
		trigger = { event_target:my_war_target_holder = { NOT = { character = event_target:lodge_hero } } }
	}
	desc = {
		text = EVTDESCHF10513_B # if target is also the person giving you the quest...
		trigger = { event_target:my_war_target_holder = { character = event_target:lodge_hero } }
	}

	is_triggered_only = yes

	immediate = {
		# Declare a county conquest against someone
		random_independent_ruler = {
			limit = {
				any_realm_title = {
					real_tier = COUNT

					ROOT = {
						can_use_cb = { # against target
							target = PREVPREV
							thirdparty_title = PREV
							casus_belli = pagan_county_conquest
						}
					}

					location = {
						OR = {
							can_naval_path_to = { target = event_target:home_capital distance < 1000 }
							can_land_path_to = { target = event_target:home_capital distance < 1000 }
						}
					}

					holder_scope = {
						top_liege = {
							NOT = { has_truce = ROOT }
							# target should not be stronger than 120% of your strength, and not weaker than 50% of your strength.
							relative_power = { who = ROOT power <  1.2 }
							relative_power = { who = ROOT power >= 0.5 }
						}
					}
				}
			}

			random_realm_title = {
				limit = {
					real_tier = COUNT

					ROOT = {
						can_use_cb = { # against target
							target = PREVPREV
							thirdparty_title = PREV
							casus_belli = pagan_county_conquest
						}
					}

					location = {
						OR = {
							can_naval_path_to = { target = event_target:home_capital distance < 1000 }
							can_land_path_to = { target = event_target:home_capital distance < 1000 }
						}
					}

					holder_scope = {
						top_liege = {
							NOT = { has_truce = ROOT }
							# target should not be stronger than 120% of your strength, and not weaker than 50% of your strength.
							relative_power = { who = ROOT power <  1.2 }
							relative_power = { who = ROOT power >= 0.5 }
						}
					}
				}

				save_event_target_as = my_war_target

				holder_scope = {
					top_liege = {
						save_event_target_as = my_war_target_holder
					}
				}
			}
		}
	}

	option = {
		name = ACCEPT

		event_target:my_war_target = {
			show_scope_change = no

			set_quest_target = {
				id = quest_warrior_lodge_war
				holder = ROOT
			}
		}
	}

	option = {
		name = DECLINE
		custom_tooltip = { text = decline_quest_tooltip }

		add_character_modifier = {
			name = quest_cooldown_timer
			hidden = yes
			days = 1000
		}

		ai_chance = { factor = 0 }
	}
}

# Mission to Wage War complete: Warrior lodge hero says good job on the war!
letter_event = {
	id = HF.10514
	border = GFX_event_letter_frame_war
	portrait = event_target:lodge_hero

	desc = {
		text = EVTDESC_HF_10514_won
		trigger = { has_character_flag = won_war@event_target:defender_target }
	}
	desc = {
		text = EVTDESC_HF_10514_white_peace
		trigger = { has_character_flag = white_peace@event_target:defender_target }
	}
	desc = {
		text = EVTDESC_HF_10514_lost
		trigger = { has_character_flag = lost_war@event_target:defender_target }
	}

	is_triggered_only = yes

	trigger = {
		has_quest = quest_warrior_lodge_war
	}

	immediate = {
		hidden_effect = {
			if = { # Find some folks who are impressed by your victory...
				limit = { has_character_flag = won_war@event_target:defender_target }

				society = {
					any_society_member = {
						count = 3

						limit = {
							NOR = {
								character = ROOT
								character = event_target:defender_target
							}
						}

						score_value = { # Prioritizes selecting some kind of warrior...
							value = 10
							warrior_recruit_score = yes
						}

						set_character_flag = impressed@ROOT
					}
				}
			}

			# Selects someone to congratulate you...
			society = {
				random_society_member = {
					limit = {
						NOR = {
							character = ROOT
							character = event_target:defender_target
						}
					}

					preferred_limit = { society_rank == 4 }
					preferred_limit = { society_rank == 3 }
					preferred_limit = { society_rank == 2 }

					save_event_target_as = lodge_hero
				}
			}
		}
	}

	# I understand
	option = {
		name = {
			text = EVTOPTA_HF_10514_won
			trigger = { has_character_flag = won_war@event_target:defender_target }
		}
		name = {
			text = EVTOPTA_HF_10514_white_peace
			trigger = { has_character_flag = white_peace@event_target:defender_target }
		}
		name = {
			text = EVTOPTA_HF_10514_lost
			trigger = { has_character_flag = lost_war@event_target:defender_target }
		}

		trigger_switch = {
			on_trigger = has_character_flag

			won_war@event_target:defender_target = {
				add_society_currency_major_effect = yes

				society = {
					show_scope_change = no

					any_society_member = {
						show_scope_change = no

						limit = { has_character_flag = impressed@ROOT }

						opinion = {
							name = opinion_conquered_new_land
							who = ROOT
							years = 10
						}

						clr_character_flag = impressed@ROOT
					}
				}
			}
			white_peace@event_target:defender_target = { add_society_currency_medium_effect = yes }
			lost_war@event_target:defender_target = { add_society_currency_minor_effect = yes }
		}

		clr_quest = quest_warrior_lodge_war
		add_legend_progress_trivial_effect = yes
		clr_character_flag = won_war@event_target:defender_target
		clr_character_flag = white_peace@event_target:defender_target
		clr_character_flag = lost_war@event_target:defender_target
	}
}

# on_war_ended_victory: Clear Wage War mission correctly
# From = Attacker, Root = Defender
character_event = {
	id = HF.10515

	hide_window = yes
	is_triggered_only = yes # on_war_ended_victory

	has_dlc = "Holy Fury"

	trigger = {
		FROM = {
			is_member_of_any_warrior_lodge_trigger = yes
			has_quest = quest_warrior_lodge_war
		}
		thirdparty_title_scope = {
			always = yes # Attempt to weed out error.log entries, if war doesn't involve a title
			is_quest_target_of = FROM
		}
	}

	immediate = {
		# To handle Warrior Lodge mission "Wage War" completion...
		thirdparty_title_scope = {
			save_event_target_as = target_title
		}
		FROM = { save_event_target_as = attacker_target }
		save_event_target_as = defender_target

		event_target:attacker_target = {
			set_character_flag = won_war@event_target:defender_target
			letter_event = { id = HF.10514 days = 6 } # Hero character states that you completed the mission...
		}
	}
}

# on_war_ended_whitepeace: Clear Wage War mission correctly
# From = Attacker, Root = Defender
character_event = {
	id = HF.10516

	hide_window = yes
	is_triggered_only = yes # on_war_ended_whitepeace

	has_dlc = "Holy Fury"

	trigger = {
		FROM = {
			is_member_of_any_warrior_lodge_trigger = yes
			has_quest = quest_warrior_lodge_war
		}
		thirdparty_title_scope = {
			always = yes # Attempt to weed out error.log entries, if war doesn't involve a title
			is_quest_target_of = FROM
		}
	}

	immediate = {
		# To handle Warrior Lodge mission "Wage War" completion...
		thirdparty_title_scope = {
			save_event_target_as = target_title
		}
		FROM = { save_event_target_as = attacker_target }
		save_event_target_as = defender_target

		event_target:attacker_target = {
			set_character_flag = white_peace@event_target:defender_target
			letter_event = { id = HF.10514 days = 6 } # Hero character states that you completed the mission...
		}
	}
}

# on_war_ended_defeat: Clear Wage War mission correctly
# From = Attacker, Root = Defender
character_event = {
	id = HF.10517

	hide_window = yes
	is_triggered_only = yes # on_war_ended_defeat

	has_dlc = "Holy Fury"

	trigger = {
		FROM = {
			is_member_of_any_warrior_lodge_trigger = yes
			has_quest = quest_warrior_lodge_war
		}
		thirdparty_title_scope = {
			always = yes # Attempt to weed out error.log entries, if war doesn't involve a title
			is_quest_target_of = FROM
		}
	}

	immediate = {
		# To handle Warrior Lodge mission "Wage War" completion...
		thirdparty_title_scope = {
			save_event_target_as = target_title
		}
		FROM = { save_event_target_as = attacker_target }
		save_event_target_as = defender_target

		event_target:attacker_target = {
			set_character_flag = lost_war@event_target:defender_target
			letter_event = { id = HF.10514 days = 6 } # Hero character states that you completed the mission...
		}
	}
}

# on_war_ended_invalid: Clear Wage War mission correctly
# From = Attacker, Root = Defender
character_event = {
	id = HF.10518

	hide_window = yes
	is_triggered_only = yes # on_war_ended_invalid

	has_dlc = "Holy Fury"

	trigger = {
		FROM = {
			is_member_of_any_warrior_lodge_trigger = yes
			has_quest = quest_warrior_lodge_war
		}
		thirdparty_title_scope = {
			always = yes # Attempt to weed out error.log entries, if war doesn't involve a titlealways = yes # Attempt to weed out error.log entries, if war doesn't involve a title
			is_quest_target_of = FROM
		}
	}

	immediate = {
		# To handle Warrior Lodge mission "Wage War" completion...
		thirdparty_title_scope = {
			save_event_target_as = target_title
		}
		FROM = { save_event_target_as = attacker_target }
		save_event_target_as = defender_target

		event_target:attacker_target = {
			character_event = { id = HF.10503 days = 6 } # Mission target is no longer valid-notification...
		}
	}
}

# on_new_holder: Clear Raid Province mission if the province is now under your control.
# ROOT is the character, FROM is the title, FROMFROM is the old holder
character_event = {
	id = HF.25510

	hide_window = yes
	is_triggered_only = yes # on_new_holder(_inheritance/usurpation)

	immediate = {
		if = {
			limit = {
				is_member_of_any_warrior_lodge_trigger = yes
				has_quest = quest_warrior_lodge_raid_and_loot
				quest_target = {
					OR = {
						title = FROM
						dejure_liege_title = { title = FROM }
					}
				}
			}
			clr_quest = quest_warrior_lodge_raid_and_loot
		}

		any_liege = {
			limit = {
				is_member_of_any_warrior_lodge_trigger = yes
				has_quest = quest_warrior_lodge_raid_and_loot
				quest_target = {
					OR = {
						title = FROM
						dejure_liege_title = { title = FROM }
					}
				}
			}
			clr_quest = quest_warrior_lodge_raid_and_loot
		}
	}
}

# MISSION:
# Hero character wants you to Recruit Your Child
society_quest_event = {
	id = HF.10521
	desc = EVTDESCHF10521
	portrait = event_target:lodge_hero
	quest_target = event_target:recruit_to_be

	is_triggered_only = yes

	immediate = {
		random_child = { # Select a child to recruit
			limit = {
				age >= 12
				is_in_society = no
				prisoner = no
				NOT = { has_character_flag = flag_child_abandoned_lodge }

				trigger_if = { # AIs should only strive to recruit their main heir
					limit = { ROOT = { ai = yes } }
					is_primary_heir = ROOT
				}
			}
			preferred_limit = {
				is_primary_heir = ROOT
			}
			save_event_target_as = recruit_to_be
		}
	}

	option = {
		name = ACCEPT

		event_target:recruit_to_be = {
			show_scope_change = no

			set_quest_target = {
				id = quest_warrior_lodge_recruit
				holder = ROOT
			}
		}
	}

	option = {
		name = DECLINE
		custom_tooltip = { text = decline_quest_tooltip }

		add_character_modifier = {
			name = quest_cooldown_timer
			days = 1000
			hidden = yes
		}

		ai_chance = { factor = 0 }
	}
}
