# Naming convention:  use _trigger suffix, to avoid confusion with built-in triggers

can_be_mage_trigger = {
	NOT = { culture = wilderness }
	is_adult = yes
	prisoner = no
	trait = sorcerer
	NOT = { trait = incapable }
	NOT = { trait = in_hiding }
	NOT = { has_landed_title = d_thanedd }
	NOT = { has_landed_title = d_nilfgaard_academy }
	NOT = { has_landed_title = d_ban_ard_academy }
	liege = {
		NOT = { has_landed_title = d_thanedd }
		NOT = { has_landed_title = d_nilfgaard_academy }
		NOT = { has_landed_title = d_ban_ard_academy }
		mercenary = no
		NOT = { any_demesne_province = { terrain = magic_tower } }
	}
	liege = {
		NOT = { has_opinion_modifier = { who = PREV modifier = opinion_left_council } }
		NOT = { has_opinion_modifier = { who = PREV modifier = opinion_refused_council } }
	}
}

# Checks that character is a capable spellcaster
# Does not check for drained modifier
can_cast_spell_trigger = {
	OR = {
		trait = sorcerer
		trait = source
	}
	prisoner = no
	NOT = { trait = incapable }
}

can_be_healed_by_magic_trigger = {
	OR = {
		is_ill = yes
		trait = lovers_pox
		trait = wounded
		is_maimed_trigger = yes
		trait = infirm
		trait = blinded
		trait = eunuch
	}
}

# Education triggers

has_education_polymath_trigger = {
	OR = {
		trait = uneducated_buffoon
		trait = jack_of_all_trades
		trait = well_versed_polymath
		trait = wise_sage
	}
}

has_lifestyle_polymath_trigger = {
	always = no #TODO
}

child_personality_polymath_trigger = {
	always = no #TODO
}

# Checks whether THIS and FROM have the same racial trait
# This is typically checked for racist characters
# Vanilla conditions "race = FROM" cannot be used, because it compares ethnicities/cultures and not fantasy racial traits.
has_same_race_as_from_trigger = {
	OR = {
		AND = {
			trait = human_race
			FROM = { trait = human_race }
		}
		AND = {
			trait = dwarf_race
			FROM = { trait = dwarf_race }
		}
		AND = {
			trait = halfdwarf_race
			FROM = { trait = halfdwarf_race }
		}
		AND = {
			trait = elf_race
			FROM = { trait = elf_race }
		}
		AND = {
			trait = halfelf_race
			FROM = { trait = halfelf_race }
		}
		AND = {
			trait = dryad_race
			FROM = { trait = dryad_race }
		}
		AND = {
			trait = halfling_race
			FROM = { trait = halfling_race }
		}
		AND = {
			trait = halfhalfling_race
			FROM = { trait = halfhalfling_race }
		}
		AND = {
			trait = gnome_race
			FROM = { trait = gnome_race }
		}
		AND = {
			trait = halfgnome_race
			FROM = { trait = halfgnome_race }
		}
	}
}

# Character should get married
should_marry_trigger = {
	is_married = no
	is_marriage_adult = yes
	OR = {
		is_female = no
		AND = {
			is_consort = no
			NOT = { has_character_modifier = old_age }
		}
	}
	NOT = { trait = witcher }
	NOT = { trait = druid }
	NOT = { trait = sorcerer }
	NOT = { trait = adept }
	NOT = { is_ascetic_trigger = yes }
	NOT = { trait = celibate }
	NOT = { trait = incapable }
	NOT = { trait = eunuch }
}
