# Scripted triggers for adventurer events

same_sea_zone_province_trigger = {
	trigger_if = {
		limit = { region = custom_baltic_sea_zone }
		ROOT = { location = { region = custom_baltic_sea_zone } }
	}
	trigger_else_if = {
		limit = { region = custom_north_sea_zone }
		ROOT = { location = { region = custom_north_sea_zone } }
	}
	trigger_else_if = {
		limit = { region = custom_atlantic_zone }
		ROOT = { location = { region = custom_atlantic_zone } }
	}
	trigger_else_if = {
		limit = { region = custom_west_med_zone }
		ROOT = { location = { region = custom_west_med_zone } }
	}
	trigger_else_if = {
		limit = { region = custom_east_med_zone }
		ROOT = { location = { region = custom_east_med_zone } }
	}
	trigger_else_if = {
		limit = { region = custom_black_sea_zone }
		ROOT = { location = { region = custom_black_sea_zone } }
	}
	trigger_else_if = {
		limit = { region = custom_arctic_sea_zone }
		ROOT = { location = { region = custom_arctic_sea_zone } }
	}
	trigger_else_if = {
		limit = { region = custom_indian_sea_zone }
		ROOT = { location = { region = custom_indian_sea_zone } }
	}
	trigger_else = {
		always = no
	}
}

# THIS = title, ROOT = adventurer
plus_valid_adv_target_title_trigger = {
	has_holder = yes
	is_titular = no
	is_landless_type_title = no
	higher_real_tier_than = BARON

	# Either Duke+ tier or it's their primary title
	trigger_if = {
		limit = { lower_real_tier_than = DUKE }
		is_primary_holder_title = yes
	}

	trigger_if = {
		limit = {
			ROOT = {
				NOT = { has_character_flag = event_adventurer }
			}
		}

		# Ignore the gender stuff
		trigger_if = {
			limit = { has_gender_equal_game_rule_trigger = yes }

			trigger_if = {
				limit = {
					ROOT = {
						NOT = { has_strong_claim = PREV }
					}
				}

				holder_scope = {
					OR = {
						has_regent = yes
						trait = uncrowned
						ROOT = { trait = ambitious }
					}
				}
			}
		}
		trigger_else = {
			# Female claimants must be ambitious
			ROOT = {
				trigger_if = {
					limit = { is_female = yes }
					trait = ambitious
				}
			}

			trigger_if = {
				limit = {
					ROOT = {
						NOT = { has_strong_claim = PREV }
					}
				}

				holder_scope = {
					OR = {
						has_regent = yes
						is_female = yes
						trait = uncrowned
						ROOT = { trait = ambitious }
					}
				}
			}
		}
	}

	# Title holder must qualify
	holder_scope = {
		independent = yes
		demesne_size >= 1

		# Not held by theocracy unless not of the claimant's religion
		trigger_if = {
			limit = { is_theocracy = yes }
			NOT = { religion = ROOT }
		}
		# Cannot target nomads for their clan title or primary title
		trigger_else_if = {
			limit = { is_nomadic = yes }

			NOR = {
				clan_title = { title = PREVPREV }
				primary_title = { title = PREVPREV }
			}
		}
		# Cannot target merchant republics unless their capital is not de jure
		trigger_else_if = {
			limit = { is_merchant_republic = yes }

			NOT = {
				capital_holding = { de_jure_liege_or_above = PREVPREV }
			}
		}

		# Cannot target close relatives unless they are hated or the claimant is a bastard
		trigger_if = {
			limit = { is_close_relative = ROOT }

			ROOT = {
				OR = {
					trait = bastard
					opinion = {
						who = PREV
						value = -25
					}
				}
			}
		}

		# Cannot target a title that has the wrong gender law
		trigger_if = {
			limit = { has_law = agnatic_succession }
			ROOT = { is_female = no }
		}
		trigger_else_if = {
			limit = { has_law = enatic_succession }
			ROOT = { is_female = yes}
		}

		reverse_opinion = {
			who = ROOT
			value < 25
		}

		NOR = {
			is_married = ROOT
			has_character_modifier = holy_truce_timer
			has_character_modifier = adventurer_target_timer
			has_any_opinion_modifier = opinion_targeted_by_adventurer
			any_liege = { in_revolt = yes }
		}
	}
}

# THIS = adventurer
plus_valid_adventurer_trigger = {
	has_character_modifier = planning_claimant_adventure
	prisoner = no
	is_incapable = no

	NOR = {
		any_demesne_title = { adventurer = no }
	}

	any_opinion_modifier_target = {
		independent = yes
		demesne_size >= 1
		any_demesne_title = { claimed_by = PREVPREV }

		has_opinion_modifier = {
			name = opinion_targeted_by_adventurer
			who = PREV
		}

		reverse_has_opinion_modifier = {
			name = opinion_claimant_adventure_target
			who = PREV
		}
	}
}

# ROOT = adventurer
adventurerPlus_can_approach_trigger = {
	is_playable = yes
	num_of_count_titles >= 1

	capital_scope = {
		distance = {
			where = event_target:adventurer_origin
			value < 750
		}
	}

	trigger_if = {
		limit = {
			NOT = { religion = ROOT }
		}

		religion_group = ROOT

		NOR = {
			religion_group = muslim
			religion_group = pagan_group
		}
	}

	trigger_if = {
		limit = { independent = no }

		liege = {
			OR = {
				reverse_has_opinion_modifier = {
					name = let_adventurer_stay
					who = ROOT
				}

				reverse_has_opinion_modifier = {
					name = backed_adventurer
					who = ROOT
				}
			}
		}
	}

	NOR = {
		is_heresy_of = ROOT
		is_parent_religion = ROOT
		character = event_target:adventurer_target
		is_vassal_or_below_of = event_target:adventurer_target
		event_target:adventurer_target = { is_tributary = { suzerain = PREV } }
		reverse_has_opinion_modifier = { who = ROOT name = turned_adventurer_away }
		reverse_has_opinion_modifier = { who = ROOT name = let_adventurer_stay }
		reverse_has_opinion_modifier = { who = ROOT name = backed_adventurer }
		reverse_has_opinion_modifier = { who = ROOT name = betrayed_adventurer }
	}

	OR = {
		any_demesne_province = {
			NOT = { has_province_modifier = adventurer_recruited }
			owned_by = PREV
		}

		any_vassal = {
			is_playable = yes
			num_of_count_titles >= 1

			trigger_if = {
				limit = {
					NOT = { religion = ROOT }
				}

				religion_group = ROOT

				NOR = {
					religion_group = muslim
					religion_group = pagan_group
				}
			}

			NOR = {
				is_heresy_of = ROOT
				is_parent_religion = ROOT
				character = event_target:adventurer_target
				is_vassal_or_below_of = event_target:adventurer_target
				event_target:adventurer_target = { is_tributary = { suzerain = PREV } }
				reverse_has_opinion_modifier = { who = ROOT name = turned_adventurer_away }
				reverse_has_opinion_modifier = { who = ROOT name = let_adventurer_stay }
				reverse_has_opinion_modifier = { who = ROOT name = backed_adventurer }
				reverse_has_opinion_modifier = { who = ROOT name = betrayed_adventurer }
			}
		}
	}
}

# ROOT = adventurer
plus_common_cause_trigger = {
	OR = {
		is_close_relative = ROOT
		war_with = event_target:adventurer_target

		opinion = {
			who = ROOT
			value >= 40
		}

		opinion = {
			who = event_target:adventurer_target
			value < -40
		}
	}
}

# ROOT = adventurer
plus_likes_adventurer_target_trigger = {
	opinion = {
		who = event_target:adventurer_target
		value >= -20
	}

	OR = {
		is_close_relative = event_target:adventurer_target
		dynasty = event_target:adventurer_target

		opinion = {
			who = event_target:adventurer_target
			value >= 40
		}
	}
}

# ROOT = adventurer
plus_not_bad_candidate_trigger = {
	opinion = {
		who = ROOT
		value >= -20
	}

	OR = {
		intrigue < 8
		trait = honest
		trait = kind
		has_truce = event_target:adventurer_target
		war_with = event_target:adventurer_target
		is_rival = event_target:adventurer_target
		is_friend = ROOT

		opinion = {
			who = ROOT
			value >= 0
		}

		NOR = {
			trait = deceitful
			trait = ambitious
			trait = cruel
			is_allied_with = event_target:adventurer_target
		}
	}
}

# ROOT = adventuer, THIS = approached liege
plus_closest_to_adventurer_trigger = {
	capital_scope = {
		distance = { where = event_target:adventurer_location value < 75 }
	}
}

# ROOT = adventuer, THIS = approached liege
plus_close_to_adventurer_trigger = {
	capital_scope = {
		distance = { where = event_target:adventurer_location value >= 75 }
		distance = { where = event_target:adventurer_location value < 125 }
	}
}

# ROOT = adventuer, THIS = approached liege
plus_not_close_to_adventurer_trigger = {
	capital_scope = {
		distance = { where = event_target:adventurer_location value >= 125 }
		distance = { where = event_target:adventurer_location value < 200 }
	}
}

# ROOT = adventuer, THIS = approached liege
plus_far_from_adventurer_trigger = {
	capital_scope = {
		distance = { where = event_target:adventurer_location value >= 200 }
		distance = { where = event_target:adventurer_location value < 300 }
	}
}

# ROOT = adventuer, THIS = approached liege
plus_furthest_from_adventurer_trigger = {
	capital_scope = {
		distance = { where = event_target:adventurer_location value >= 300 }
		distance = { where = event_target:adventurer_location value < 450 }
	}
}

# ROOT = approached liege, FROM = adventurer
adventurerPlus_can_approach_vassal_trigger = {
	wealth >= 10
	is_adult = yes
	prisoner = no
	is_incapable = no

	OR = {
		dynasty = FROM
		is_close_relative = FROM
		any_spouse = { is_close_relative = FROM }
		opinion = { who = FROM value = 40 }
		opinion = { who = event_target:adventurer_target value < -40 }
	}

	NOR = {
		reverse_has_opinion_modifier = { who = FROM name = turned_adventurer_away }
		reverse_has_opinion_modifier = { who = FROM name = let_adventurer_stay }
		reverse_has_opinion_modifier = { who = FROM name = backed_adventurer }
		reverse_has_opinion_modifier = { who = FROM name = betrayed_adventurer }
		reverse_has_opinion_modifier = { who = FROM name = refused_adventurer }
	}
}

# ROOT = duchy adventurer, THIS = target
plus_duchy_target_trigger = {
	in_revolt = no

	trigger_if = {
		limit = { is_theocracy = yes }
		NOT = { religion = ROOT }
	}

	reverse_opinion = {
		who = ROOT
		value < 25
	}

	NOR = {
		same_realm = ROOT
		dynasty = ROOT
		is_married = ROOT
		has_any_opinion_modifier = opinion_targeted_by_adventurer
	}
}