﻿### EK NOTE: Removed references to vanilla religions

### Cultural trigger list

# drinks_alcohol_trigger - Would this person drink alcohol?
# holder_or_above_is_player_of_culture - Is this county's holder or anyone above them in the de facto hierarchy a player with the same culture?


######################
# Cultural triggers  #
######################

drinks_alcohol_trigger = {
	is_adult = yes
	custom_tooltip = {
		text = drinks_alcohol
		OR = {
			has_trait = drunkard
			faith_forbids_alcohol_trigger = no
		}
	}
}

faith_forbids_alcohol_trigger = {
	#EK DISABLED: these faiths don't exist
	#OR = {
	#	religion = religion:islam_religion # Prohibited by khamr, a prohibition against intoxicants
	#	religion = religion:jainism_religion # Prohibited along with the consumption of any fermented food
	#	AND = {
	#		has_trait = zealous
	#		religion = religion:buddhism_religion # Discouraged as it disrupts progress along the eightfold path
	#	}
	#}
}

holder_or_above_is_player_of_culture = {
	culture = {
		save_temporary_scope_as = this_culture
	}
	OR = {
		holder = {
			AND = {
				is_ai = no
				culture = scope:this_culture
			}
			any_liege_or_above = {
				is_ai = no
				culture = scope:this_culture
			}
		}
	}
}

culture_in_winter_geographical_region_trigger = {
	custom_description = {
		text = culture_in_winter_geographical_region_trigger_desc
		any_culture_county = { any_county_province = { geographical_region = mundus_climate_winter } } #EK EDIT: Added our own winter region
	}
}

culture_in_non_sedentary_geographical_region_trigger = {
	custom_description = {
		text = culture_in_non_sedentary_geographical_region_trigger_desc
		#EK DISABLED
		# any_culture_county = {
			# any_county_province = {
				# OR = {
					# geographical_region = world_steppe
				# }
			# }
		# }
		always = no
	}
}

culture_not_pacifistic_trigger = {
	custom_description = {
		text = culture_not_pacifist_trigger_desc
		NOT = {
			culture_tradition:tradition_pacifism = { is_in_list = traits }
		}
	}
}

culture_not_warlike_trigger = {
	custom_description = {
		text = culture_not_warlike_trigger_desc
		NOR = {
			culture_tradition:tradition_winter_warriors = { is_in_list = traits }
			culture_tradition:tradition_forest_fighters = { is_in_list = traits }
			culture_tradition:tradition_mountaineers = { is_in_list = traits }
			culture_tradition:tradition_warriors_of_the_dry = { is_in_list = traits }
			culture_tradition:tradition_highland_warriors = { is_in_list = traits }
			culture_tradition:tradition_jungle_warriors = { is_in_list = traits }
			culture_tradition:tradition_quarrelsome = { is_in_list = traits }
			culture_tradition:tradition_malleable_invaders = { is_in_list = traits }
			culture_tradition:tradition_hunters = { is_in_list = traits }
			culture_tradition:tradition_warrior_culture = { is_in_list = traits }
			culture_tradition:tradition_martial_admiration = { is_in_list = traits }
		}
	}
	custom_description = {
		text = culture_has_winter_warriors_desc
		NOT = {
			culture_tradition:tradition_winter_warriors = { is_in_list = traits }
		}
	}
	custom_description = {
		text = culture_has_forest_fighter_desc
		NOT = {
			culture_tradition:tradition_forest_fighters = { is_in_list = traits }
		}
	}
	custom_description = {
		text = culture_has_mountaineers_desc
		NOT = {
			culture_tradition:tradition_mountaineers = { is_in_list = traits }
		}
	}
	custom_description = {
		text = culture_has_warriors_of_the_dry_desc
		NOT = {
			culture_tradition:tradition_warriors_of_the_dry = { is_in_list = traits }
		}
	}
	custom_description = {
		text = culture_has_highland_warriors_desc
		NOT = {
			culture_tradition:tradition_highland_warriors = { is_in_list = traits }
		}
	}
	custom_description = {
		text = culture_has_jungle_warriors_desc
		NOT = {
			culture_tradition:tradition_jungle_warriors = { is_in_list = traits }
		}
	}
	custom_description = {
		text = culture_has_quarrelsome_desc
		NOT = {
			culture_tradition:tradition_quarrelsome = { is_in_list = traits }
		}
	}
	custom_description = {
		text = culture_has_malleable_invaders_desc
		NOT = {
			culture_tradition:tradition_malleable_invaders = { is_in_list = traits }
		}
	}
	custom_description = {
		text = culture_has_hunters_desc
		NOT = {
			culture_tradition:tradition_hunters = { is_in_list = traits }
		}
	}
	custom_description = {
		text = culture_has_warrior_culture_desc
		NOT = {
			culture_tradition:tradition_warrior_culture = { is_in_list = traits }
		}
	}
	custom_description = {
		text = culture_has_martial_admiration_desc
		NOT = {
			culture_tradition:tradition_martial_admiration = { is_in_list = traits }
		}
	}
}

should_have_same_faith_succession_trigger = {
	culture = {
		has_cultural_parameter = same_faith_inheritance_only
	}
	NOR = {
		government_has_flag = government_is_theocracy # Handled separately
		government_has_flag = government_is_holy_order # Handled separately
		government_has_flag = government_is_mercenary # Irrelevant
	}
}

not_tribal_raid_trigger = {
	culture = {
		has_cultural_parameter = not_tribal_raiding_malus
	}
	NOT = { government_has_flag = government_is_tribal }
}

culture_is_not_historical_hybrid_trigger = {
	#Used to tell if a hybrid culture is one of the historical hybrids or not, mainly in checks for AI hybridization checks related to game rules.
	#Expects to be used in culture scope
	#EK DISABLED
	# NOR = {
		# this = culture:norman
		# this = culture:maghrebi
		# this = culture:gaelic
		# this = culture:anglo_saxon
		# this = culture:scottish
		# this = culture:andalusian
		# this = culture:catalan
		# this = culture:english
		# this = culture:sicilian
		# this = culture:cisalpine
	# }
}

### EK TODO: Check if we actually cover all of our maa here
# Cultural MAA triggers - Used in various places for triggers, AI weights, etc.
culture_has_skirmisher_maa = {
	OR = {
		#EK EDIT
		has_cultural_parameter = unlock_maa_skaal_hunter
		has_cultural_parameter = unlock_maa_abecean_pirates
		has_cultural_parameter = unlock_maa_ashlander_champions
		has_cultural_parameter = unlock_maa_deathlands_slayers
		has_cultural_parameter = unlock_maa_soul_trappers
	}
}

culture_has_archer_maa = {
	OR = {
		#EK EDIT
		has_cultural_parameter = unlock_maa_winged_avengers
		has_cultural_parameter = unlock_maa_bosmer_stalkers
		has_cultural_parameter = unlock_maa_ut_nibenu_bowmen
		culture_has_crossbow_maa = yes
	}
}

#EK ADDITION
culture_has_crossbow_maa = {
	OR = {
		has_cultural_parameter = unlock_maa_dwemer_arbalesters
	}
}
#EK ADDITION END

culture_has_heavy_infantry_maa = {
	OR = {
		has_cultural_parameter = unlock_maa_huscarls
		#EK EDIT
		has_cultural_parameter = unlock_maa_breton_highlanders
		has_cultural_parameter = unlock_maa_armored_legionaires
		has_cultural_parameter = unlock_maa_dunmer_oathmen
		has_cultural_parameter = unlock_maa_orc_marauders
		has_cultural_parameter = unlock_maa_yokudan_way_of_the_sword
		has_cultural_parameter = unlock_maa_armored_legionaires
		has_cultural_parameter = unlock_maa_akaviri_dragon_hunters
	}
}

culture_has_pikemen_maa = { #I.e. Spearmen
	OR = {
		#EK EDIT
		has_innovation = innovation_black_marsh_materials
		has_cultural_parameter = unlock_maa_breton_pikemen_companies
	}
}

culture_has_light_cavalry_maa = {
	OR = {
		#EK EDIT
		has_innovation = innovation_guar
		has_innovation = innovation_durzog_breeding
		has_innovation = innovation_bristleback_taming
		has_innovation = innovation_ancient_roots
		has_innovation = innovation_lunar_lattice
		has_innovation = innovation_bloodforged_arms
		has_cultural_parameter = unlock_maa_light_grazing_horde
		has_cultural_parameter = unlock_maa_chaurus_riders
		has_cultural_parameter = unlock_maa_walk_worm_cavalry
	}
}

culture_has_heavy_cavalry_maa = {
	OR = {
		#EK EDIT
		has_cultural_parameter = unlock_maa_equestrian_brigade
	}
}

culture_has_archer_cavalry_maa = {
	OR = {
		has_cultural_parameter = unlock_maa_horse_archers
		has_cultural_parameter = unlock_maa_mangudai
		culture_head ?= {
			mpo_can_recruit_nomad_maa_trigger = yes
		}
		any_player = {
			culture = prev
			mpo_can_recruit_nomad_maa_trigger = yes
		}
	}
}

#Culture specialized in maa type
culture_specializes_in_skirmisher_maa = {
	OR = {
		has_cultural_tradition = tradition_forest_folk
		has_cultural_tradition = tradition_jungle_dwellers
		has_cultural_tradition = tradition_polders
		has_cultural_tradition = tradition_adaptive_skirmishing
		has_cultural_tradition = tradition_hit_and_run
		has_cultural_tradition = tradition_forest_wardens
		has_cultural_tradition = tradition_hussar
		has_cultural_tradition = tradition_fp3_pragmatic_creed
		culture_has_skirmisher_maa = yes
	}
}

culture_specializes_in_archer_maa = {
	OR = {
		has_cultural_tradition = tradition_forest_folk
		has_cultural_tradition = tradition_jungle_dwellers
		has_cultural_tradition = tradition_adaptive_skirmishing
		has_cultural_tradition = tradition_formation_fighting
		culture_has_archer_maa = yes
	}
}

culture_specializes_in_heavy_infantry_maa = {
	OR = {
		has_cultural_tradition = tradition_roman_legacy
		has_cultural_tradition = tradition_metal_craftsmanship
		has_cultural_tradition = tradition_mountain_homes
		has_cultural_tradition = tradition_stand_and_fight
		has_cultural_tradition = tradition_mobile_guards
		has_cultural_tradition = tradition_mountaineer_ruralism
		culture_has_heavy_infantry_maa = yes
	}
}

culture_specializes_in_pikemen_maa = {
	OR = {
		has_cultural_tradition = tradition_mountaineer_ruralism
		has_cultural_tradition = tradition_metal_craftsmanship
		has_cultural_tradition = tradition_mountain_homes
		has_cultural_tradition = tradition_formation_fighting
		has_cultural_tradition = tradition_stand_and_fight
		has_cultural_tradition = tradition_mobile_guards
		culture_has_pikemen_maa = yes
	}
}

culture_specializes_in_light_cavalry_maa = {
	OR = {
		has_cultural_tradition = tradition_dryland_dwellers
		has_cultural_tradition = tradition_pastoralists
		has_cultural_tradition = tradition_hit_and_run
		has_cultural_tradition = tradition_horse_breeder
		has_cultural_tradition = tradition_saharan_nomads
		culture_has_light_cavalry_maa = yes
	}
}

culture_specializes_in_heavy_cavalry_maa = {
	OR = {
		has_cultural_tradition = tradition_roman_legacy
		has_cultural_tradition = tradition_mountain_homes
		has_cultural_tradition = tradition_horse_breeder
		has_cultural_tradition = tradition_stand_and_fight
		has_cultural_tradition = tradition_mobile_guards
		has_cultural_tradition = tradition_ep3_indomitable_azatani
		has_cultural_tradition = tradition_mountaineer_ruralism
		culture_has_heavy_cavalry_maa = yes
	}
}

culture_specializes_in_archer_cavalry_maa = {
	OR = {
		has_cultural_tradition = tradition_ep3_indomitable_azatani
		has_cultural_tradition = tradition_horse_breeder
		has_cultural_tradition = tradition_mpo_iron_cavalry
		has_cultural_tradition = tradition_devoted_horsemanship
		culture_has_archer_cavalry_maa = yes
	}
}

###EK ADDITION: Added our Mages and Spellblades types
culture_has_mage_maa = {
	OR = {
		has_innovation = innovation_eton_nir_gryphon_riders
		has_cultural_parameter = unlock_maa_direnni_sorcerers
		has_cultural_parameter = unlock_maa_ayleid_sorcerers
		has_cultural_parameter = unlock_maa_ice_shamans #Rieklings and Riekr
		has_cultural_parameter = unlock_maa_nibenese_battlemages
	}
}

culture_has_spellblades_maa  = {
	OR = {
		has_cultural_parameter = unlock_maa_nedic_headhunters #Nedes
		has_cultural_parameter = unlock_maa_summerset_justiciars
		has_cultural_parameter = unlock_maa_breton_hedge_knights
		has_cultural_parameter = unlock_maa_knight_paladins
		has_cultural_parameter = unlock_maa_nightprowlers
	}
}
#EK ADDITION END

# Language trigger - Makes languages available when you diverge your culture
language_is_shown_trigger = {
	scope:character = {
		OR = {
			AND = {
				exists = var:legendary_culture
				var:legendary_culture = { has_cultural_pillar = $LANGUAGE$ }
			}
			AND = {
				# The target language needs to fulfill ALL of the following:
				any_sub_realm_county = { # Language needs to be well-represented within your realm
					percent >= 0.1
					culture = { has_cultural_pillar = $LANGUAGE$ }
				}
				any_sub_realm_county = { # Language needs to border your own culture
					culture = { has_cultural_pillar = $LANGUAGE$ }
					any_neighboring_county = {
						culture = { this = scope:character.culture }
					}
				}
				any_sub_realm_county = { # You need a minimum acceptance with any culture speaking the language
					culture = {
						has_cultural_pillar = $LANGUAGE$
						cultural_acceptance = {
							target = scope:character.culture
							value >= 25
						}
					}
				}
			}
		}
	}
}

# Language trigger - Makes heritages available when you diverge your culture
heritage_is_shown_trigger = {
	scope:character = {
		OR = {
			AND = {
				exists = var:legendary_culture
				var:legendary_culture = { has_cultural_pillar = $HERITAGE$ }
			}
			culture = { has_cultural_pillar = $HERITAGE$ }
		}
	}
}

# Checks if you could Hybridise with the culture without checking for acceptance
is_valid_for_hybridising_trigger = {
	$CHARACTER$ = {
		culture = {
			NOT = { has_same_culture_heritage = $CULTURE$ }
			culture_age >= culture_hybrid_cooldown
		}
		trigger_if = {
			limit = {
				NAND = {
					exists = var:special_culture
					var:special_culture = $CULTURE$
				}
			}
			custom_description = {
				text = culture_present_in_realm_for_hybridization
				any_sub_realm_county = {
					culture = $CULTURE$
				}
			}
		}
		custom_description = {
			text = culture_is_not_parent_culture
			culture = {
				NOT = {
					any_parent_culture = {
						this = $CULTURE$
					}
				}
			}
		}
		custom_description = {
			text = culture_is_not_child_culture
			$CULTURE$ = {
				NOT = {
					any_parent_culture = {
						this = $CHARACTER$.culture
					}
				}
			}
		}
	}
}

# Checks if you can currently hybridise with the culture
can_hybridize_culture_trigger = {
	is_valid_for_hybridising_trigger = {
		CHARACTER = $CHARACTER$
		CULTURE = $CULTURE$
	}
	$CHARACTER$ = {
		culture = {
			cultural_acceptance = { target = $CULTURE$ value >= hybridization_threshold_value }
		}
	}
}


### EK EDIT: Added our Provinces there
# Uses current scope and scope:culture
cultures_share_relevant_region_trigger = {
	OR = {
		AND = {
			culture_overlaps_geographical_region = mundus_tamriel_high_rock
			scope:culture = {
				culture_overlaps_geographical_region = mundus_tamriel_high_rock
			}
		}
		AND = {
			culture_overlaps_geographical_region = mundus_tamriel_hammerfell
			scope:culture = {
				culture_overlaps_geographical_region = mundus_tamriel_hammerfell
			}
		}
		AND = {
			culture_overlaps_geographical_region = mundus_tamriel_cyrodiil
			scope:culture = {
				culture_overlaps_geographical_region = mundus_tamriel_cyrodiil
			}
		}
		AND = {
			culture_overlaps_geographical_region = mundus_tamriel_skyrim
			scope:culture = {
				culture_overlaps_geographical_region = mundus_tamriel_skyrim
			}
		}
		AND = {
			culture_overlaps_geographical_region = mundus_tamriel_yokuda
			scope:culture = {
				culture_overlaps_geographical_region = mundus_tamriel_yokuda
			}
		}
		AND = {
			culture_overlaps_geographical_region = mundus_tamriel_summerset_isles
			scope:culture = {
				culture_overlaps_geographical_region = mundus_tamriel_summerset_isles
			}
		}
		AND = {
			culture_overlaps_geographical_region = mundus_tamriel_valenwood
			scope:culture = {
				culture_overlaps_geographical_region = mundus_tamriel_valenwood
			}
		}
		AND = {
			culture_overlaps_geographical_region = mundus_tamriel_elsweyr
			scope:culture = {
				culture_overlaps_geographical_region = mundus_tamriel_elsweyr
			}
		}
		AND = {
			culture_overlaps_geographical_region = mundus_tamriel_morrowind
			scope:culture = {
				culture_overlaps_geographical_region = mundus_tamriel_morrowind
			}
		}
		AND = {
			culture_overlaps_geographical_region = mundus_tamriel_black_marsh
			scope:culture = {
				culture_overlaps_geographical_region = mundus_tamriel_black_marsh
			}
		}
	}
}
#EK TODO: we need an is_carnivore_trigger for Bosmer :>
is_vegetarian_trigger = {
	OR = {
		culture = {
			has_cultural_parameter = cannot_hunt
		}
		faith_is_vegetarian_trigger = yes
	}
}

faith_is_vegetarian_trigger = {
	#EK DISABLED: these vegetarians don't exist in TES at least
	#faith = {
	#	OR = {
	#		religion = religion:buddhism_religion
	#		religion = religion:jainism_religion
	#		religion = religion:bon_religion
	#		this = faith:mazdakism
	#		this = faith:manichean
	#	}
	#}
}

culture_tradition_reduction_trigger = {
	scope:character = {
		has_variable_list = culture_tradition_reduction
		is_target_in_variable_list = {
			name = culture_tradition_reduction
			target = culture_tradition:$TRADITION$
		}
	}
}

