﻿##################################################
# Laamps
##################################################

create_landless_adventurer_title_history_effect = {
	holder ?= {
		if = {
			limit = {
				NOT = { has_realm_law = landless_adventurer_succession_law }
			}
			add_realm_law = landless_adventurer_succession_law
		}
	}
}

create_landless_minority_title_history_effect = {
	holder ?= {
		if = {
			limit = {
				NOT = { has_realm_law = confederate_partition_succession_law }
			}
			add_realm_law = confederate_partition_succession_law
		}
	}
}
create_landless_adventurer_title_effect = {
	save_scope_as = new_landless_adventurer
	if = {
		limit = {
			exists = house
		}
		house = { save_scope_as = new_landless_adventurer_house }
	}
	if = {
		limit = {
			exists = location
		}
		location = { save_scope_as = new_landless_adventurer_location }
	}
	save_scope_value_as = {
		name = adventurer_creation_reason
		value = $REASON$
	}
	$FLAVOR_CHAR$ = { save_scope_as = adventurer_flavor_char }
	hidden_effect = {
		random_list = {
			1000 = {
				trigger = {
					scope:warrior_youth ?= scope:new_landless_adventurer
					age <= 20
					exists = scope:host.house
				}
				create_adventurer_title = {
					name = adventurer_name_youths
					holder = scope:new_landless_adventurer
					article = DEFAULT_TITLE_NAME_ARTICLE
					save_scope_as = new_title
				}
			}
			10 = {
				create_adventurer_title = {
					name = adventurer_name_001
					holder = scope:new_landless_adventurer
					article = DEFAULT_TITLE_NAME_ARTICLE
					save_scope_as = new_title
				}
			}
			10 = {
				trigger = {
					exists = scope:new_landless_adventurer_house
				}
				create_adventurer_title = {
					name = adventurer_name_002
					holder = scope:new_landless_adventurer
					article = DEFAULT_TITLE_NAME_ARTICLE
					save_scope_as = new_title
				}
			}
			10 = {
				create_adventurer_title = {
					name = adventurer_name_003
					holder = scope:new_landless_adventurer
					article = DEFAULT_TITLE_NAME_ARTICLE
					save_scope_as = new_title
				}
			}
			10 = {
				create_adventurer_title = {
					name = adventurer_name_004
					holder = scope:new_landless_adventurer
					article = DEFAULT_TITLE_NAME_ARTICLE
					save_scope_as = new_title
				}
			}
			10 = {
				trigger = {
					NOT = {
						scope:new_landless_adventurer.culture = culture:kurdish
					}
				}
				create_adventurer_title = {
					name = adventurer_name_005
					holder = scope:new_landless_adventurer
					article = DEFAULT_TITLE_NAME_ARTICLE
					save_scope_as = new_title
				}
			}
			10 = {
				create_adventurer_title = {
					name = adventurer_name_006
					holder = scope:new_landless_adventurer
					article = DEFAULT_TITLE_NAME_ARTICLE
					save_scope_as = new_title
				}
			}
			10 = {
				create_adventurer_title = {
					name = adventurer_name_007
					holder = scope:new_landless_adventurer
					article = DEFAULT_TITLE_NAME_ARTICLE
					save_scope_as = new_title
				}
			}
			10 = {
				trigger = {
					exists = scope:new_landless_adventurer_house
				}
				create_adventurer_title = {
					name = adventurer_name_008
					holder = scope:new_landless_adventurer
					save_scope_as = new_title
				}
			}
			10 = {
				create_adventurer_title = {
					name = adventurer_name_009
					holder = scope:new_landless_adventurer
					article = DEFAULT_TITLE_NAME_ARTICLE
					save_scope_as = new_title
				}
			}
			7 = {
				trigger = {
					exists = scope:new_landless_adventurer_location
				}
				create_adventurer_title = {
					name = adventurer_name_010
					holder = scope:new_landless_adventurer
					article = DEFAULT_TITLE_NAME_ARTICLE
					save_scope_as = new_title
				}
			}
			7 = {
				trigger = {
					exists = scope:new_landless_adventurer_location
				}
				create_adventurer_title = {
					name = adventurer_name_011
					holder = scope:new_landless_adventurer
					article = DEFAULT_TITLE_NAME_ARTICLE
					save_scope_as = new_title
				}
			}
			7 = {
				trigger = {
					exists = scope:new_landless_adventurer_location
				}
				create_adventurer_title = {
					name = adventurer_name_012
					holder = scope:new_landless_adventurer
					article = DEFAULT_TITLE_NAME_ARTICLE
					save_scope_as = new_title
				}
			}
			7 = {
				trigger = {
					scope:new_landless_adventurer.ai_zeal > 0
				}
				create_adventurer_title = {
					name = adventurer_name_013
					holder = scope:new_landless_adventurer
					article = DEFAULT_TITLE_NAME_ARTICLE
					save_scope_as = new_title
				}
			}
			7 = {
				trigger = {
					scope:new_landless_adventurer.ai_zeal > 0
				}
				create_adventurer_title = {
					name = adventurer_name_014
					holder = scope:new_landless_adventurer
					article = DEFAULT_TITLE_NAME_ARTICLE
					save_scope_as = new_title
				}
			}
			7 = {
				trigger = {
					scope:new_landless_adventurer.ai_zeal > 0
				}
				create_adventurer_title = {
					name = adventurer_name_015
					holder = scope:new_landless_adventurer
					article = DEFAULT_TITLE_NAME_ARTICLE
					save_scope_as = new_title
				}
			}
			7 = {
				trigger = {
					OR = {
						has_martial_lifestyle_trait_trigger = yes
						ai_boldness >= medium_positive_ai_value
						has_trait = education_martial_prowess_1
						has_trait = education_martial_prowess_2
						has_trait = education_martial_prowess_3
						has_trait = education_martial_prowess_4
						has_education_martial_trigger = yes
					}
				}
				create_adventurer_title = {
					name = adventurer_name_016
					holder = scope:new_landless_adventurer
					article = DEFAULT_TITLE_NAME_ARTICLE
					save_scope_as = new_title
				}
			}
			7 = {
				trigger = {
					OR = {
						has_martial_lifestyle_trait_trigger = yes
						has_trait = lifestyle_blademaster
						has_trait = education_martial_prowess_1
						has_trait = education_martial_prowess_2
						has_trait = education_martial_prowess_3
						has_trait = education_martial_prowess_4
						has_education_martial_trigger = yes
					}
				}
				create_adventurer_title = {
					name = adventurer_name_017
					holder = scope:new_landless_adventurer
					article = DEFAULT_TITLE_NAME_ARTICLE
					save_scope_as = new_title
				}
			}
			7 = {
				trigger = {
					scope:new_landless_adventurer.ai_zeal > medium_negative_ai_value
					scope:new_landless_adventurer.ai_boldness >= 0
					NOT = {
						scope:new_landless_adventurer = {
							faith.religion = religion:west_african_bori_religion
						}
					}
				}
				create_adventurer_title = {
					name = adventurer_name_018
					holder = scope:new_landless_adventurer
					article = DEFAULT_TITLE_NAME_ARTICLE
					save_scope_as = new_title
				}
			}
			7 = {
				trigger = {
					scope:new_landless_adventurer.ai_zeal > medium_negative_ai_value
					scope:new_landless_adventurer.ai_greed >= 0
					NOT = {
						scope:new_landless_adventurer = {
							faith.religion = religion:west_african_bori_religion
						}
					}
				}
				create_adventurer_title = {
					name = adventurer_name_019
					holder = scope:new_landless_adventurer
					article = DEFAULT_TITLE_NAME_ARTICLE
					save_scope_as = new_title
				}
			}
			7 = {
				trigger = {
					scope:new_landless_adventurer.ai_zeal > medium_negative_ai_value
					scope:new_landless_adventurer.ai_compassion >= 0
					NOT = {
						scope:new_landless_adventurer = {
							faith.religion = religion:west_african_bori_religion
						}
					}
				}
				create_adventurer_title = {
					name = adventurer_name_020
					holder = scope:new_landless_adventurer
					article = DEFAULT_TITLE_NAME_ARTICLE
					save_scope_as = new_title
				}
			}
			7 = {
				trigger = {
					exists = scope:new_landless_adventurer_location.county
				}
				scope:new_landless_adventurer_location.county = {
					save_scope_as = new_landless_adventurer_county
				}
				create_adventurer_title = {
					name = adventurer_name_021
					holder = scope:new_landless_adventurer
					article = DEFAULT_TITLE_NAME_ARTICLE
					save_scope_as = new_title
				}
			}
			7 = {
				create_adventurer_title = {
					name = adventurer_name_022
					holder = scope:new_landless_adventurer
					article = DEFAULT_TITLE_NAME_ARTICLE
					save_scope_as = new_title
				}
			}
			10 = {
				trigger = {
					exists = scope:new_landless_adventurer_house
				}
				create_adventurer_title = {
					name = adventurer_name_023
					holder = scope:new_landless_adventurer
					article = DEFAULT_TITLE_NAME_ARTICLE
					save_scope_as = new_title
				}
			}
			10 = {
				trigger = {
					scope:new_landless_adventurer.ai_zeal > medium_negative_ai_value
					scope:new_landless_adventurer.ai_rationality >= 0
					#Many names using Allah already
					NOT = {
						scope:new_landless_adventurer = {
							faith.religion = religion:islam_religion
						}
					}
				}
				create_adventurer_title = {
					name = adventurer_name_024
					holder = scope:new_landless_adventurer
					article = DEFAULT_TITLE_NAME_ARTICLE
					save_scope_as = new_title
				}
			}
			7 = {
				trigger = {
					scope:new_landless_adventurer.ai_zeal < low_negative_ai_value
					scope:new_landless_adventurer.ai_compassion < medium_negative_ai_value
				}
				create_adventurer_title = {
					name = adventurer_name_025
					holder = scope:new_landless_adventurer
					article = DEFAULT_TITLE_NAME_ARTICLE
					save_scope_as = new_title
				}
			}
			10 = {
				create_adventurer_title = {
					name = adventurer_name_0026
					holder = scope:new_landless_adventurer
					save_scope_as = new_title
				}
			}
			5 = {
				trigger = {
					exists = scope:new_landless_adventurer.culture
					OR = {
						has_martial_lifestyle_trait_trigger = yes
						ai_boldness >= medium_positive_ai_value
						has_trait = education_martial_prowess_1
						has_trait = education_martial_prowess_2
						has_trait = education_martial_prowess_3
						has_trait = education_martial_prowess_4
						has_education_martial_trigger = yes
					}
				}
				create_adventurer_title = {
					name = adventurer_name_0027
					holder = scope:new_landless_adventurer
					article = DEFAULT_TITLE_NAME_ARTICLE
					save_scope_as = new_title
				}
			}
		}

		scope:new_title ?= {
			create_landless_adventurer_title_history_effect = yes
			set_variable = {
				name = adventurer_creation_reason
				value = scope:adventurer_creation_reason
			}
			set_variable = {
				name = adventurer_flavor_char
				value = scope:adventurer_flavor_char
			}
		}

		scope:new_title = { save_scope_as = new_landless_adventurer_title }
		scope:new_landless_adventurer = {
			if = {
				limit = {
					NOT = { has_government = landless_adventurer_government }
				}
				change_government = landless_adventurer_government
			}
			if = {
				limit = {
					NOT = { has_realm_law = landless_adventurer_succession_law }
				}
				add_realm_law = landless_adventurer_succession_law
			}
			if = {
				limit = {
					has_realm_law = crown_authority_0
				}
				remove_realm_law = crown_authority_0
			}
			domicile = { change_provisions = starting_provisions_value }
		}
		every_player = {
			limit = {
				NOR = {
					root ?= this
					this = scope:new_landless_adventurer
				}
				OR = {
					# Either they're important to us.
					is_close_or_extended_family_of = scope:new_landless_adventurer
					is_consort_of = scope:new_landless_adventurer
					has_important_relationship_with_character_trigger = { CHARACTER = scope:new_landless_adventurer }
					# Or they're just close enough.
					AND = {
						capital_province = { "squared_distance(scope:new_landless_adventurer.location)" <= squared_distance_medium }
						OR = {
							top_liege = root.top_liege
							any_neighboring_and_across_water_top_liege_realm_owner = { this = root.top_liege }
						}
					}
				}
			}
			send_interface_message = {
				type = msg_landless_adventurer_nearby
				title = nearby_landless_adventurer_created_message_title
				left_icon = scope:new_landless_adventurer
				right_icon = scope:adventurer_flavor_char
				switch = {
					trigger = scope:adventurer_creation_reason
					flag:conquest = { custom_tooltip = nearby_landless_adventurer_created_message_conquest_tt }
					flag:conquest_claim = { custom_tooltip = nearby_landless_adventurer_created_message_conquest_tt }
					flag:deposition = { custom_tooltip = nearby_landless_adventurer_created_message_deposition_tt }
					flag:succession = { custom_tooltip = nearby_landless_adventurer_created_message_succession_tt }
					flag:exile = { custom_tooltip = nearby_landless_adventurer_created_message_exile_tt }
					flag:voluntary = { custom_tooltip = nearby_landless_adventurer_created_message_voluntary_tt }
					flag:revocation = { custom_tooltip = nearby_landless_adventurer_created_message_revocation_tt }
					flag:runaway_allowed = { custom_tooltip = nearby_landless_adventurer_created_message_runaway_allowed_tt }
					flag:runaway_forbidden = { custom_tooltip = nearby_landless_adventurer_created_message_runaway_forbidden_tt }
					flag:wanderer = { custom_tooltip = nearby_landless_adventurer_created_message_wanderer_tt }
					flag:eradicate = { custom_tooltip = nearby_landless_adventurer_created_message_eradicate_tt }
					fallback = { custom_tooltip = nearby_landless_adventurer_created_message_fallback_tt }
				}
			}
		}
	}
	custom_tooltip = laamp_become_adventurer_tt
	if = {
		limit = {
			OR = {
				scope:adventurer_creation_reason = flag:deposition
				scope:adventurer_creation_reason = flag:conquest
				scope:adventurer_creation_reason = flag:conquest_claim
				scope:adventurer_creation_reason = flag:exile
			}
			NOT = { this = scope:adventurer_flavor_char }
		}
		add_opinion = {
			target = scope:adventurer_flavor_char
			modifier = demanded_eviction_opinion
		}
		remove_laamp_from_exiled_county_automatically_effect = {
			PROVINCE = scope:new_landless_adventurer.location
			LAAMP = scope:new_landless_adventurer
		}
		save_scope_value_as = {
			name = expelled
			value = yes
		}
	}
	hidden_effect = {
		if = {
			limit = {
				scope:new_landless_adventurer = {
					is_ai = no
				}
				NOT = { exists = scope:expelled }
			}
			populate_location_with_contracts_effect = {
				AREA_CHAR = scope:new_landless_adventurer
				AMOUNT = 3
			}
		}
		scope:new_landless_adventurer = {
			every_councillor = {
				if = {
					limit = {
						NOR = {
							has_council_position = councillor_court_chaplain
							has_council_position = councillor_spouse
						}
					}
					scope:new_landless_adventurer = {
						fire_councillor = prev
					}
					remove_opinion = {
						modifier = fired_from_council_opinion
						target = scope:new_landless_adventurer
					}
				}
				else_if = {
					limit = {
						NOR = {
							is_close_or_extended_family_of = scope:new_landless_adventurer
							has_relation_lover = scope:new_landless_adventurer
							has_relation_friend = scope:new_landless_adventurer
							is_consort_of = scope:new_landless_adventurer
							has_council_position = councillor_spouse
						}
					}
					death = {
						death_reason = death_vanished
					}
				}
			}
			every_courtier = {
				limit = {
					NOR = {
						is_close_or_extended_family_of = scope:new_landless_adventurer
						has_relation_lover = scope:new_landless_adventurer
						has_relation_friend = scope:new_landless_adventurer
						is_consort_of = scope:new_landless_adventurer
					}
				}
				move_to_pool = yes
			}
			# Give us a couple of starting chars if we're almost completely bereft.
			if = {
				limit = {
					any_courtier = { count <= 2 }
				}
				trigger_event = {
					id = ep3_laamps.1001
					weeks = { 2 6 }
				}
			}
		}
		trigger_event = { id = misc.0001 days = 1 }
		local_arbitration_boon_change_purpose_effect = yes
	}
	add_to_global_variable_list = {
		name = laamps_tally
		target = scope:new_landless_adventurer.primary_title
	}
	set_variable = flavourise_camp_purpose_wanderers
}

create_landless_minority_title_effect = {
	save_scope_as = new_landless_minority
	if = {
		limit = {
			NOT = { exists = dynasty }
		}
		create_dynasty = {
			spread_to_descendants = yes
		}
	}
	if = {
		limit = {
			exists = house
		}
		house = { save_scope_as = new_landless_minority_house }
	}
	if = {
		limit = {
			exists = location
		}
		location = { save_scope_as = new_landless_minority_location }
	}
	save_scope_value_as = {
		name = minority_creation_reason
		value = $REASON$
	}
	$FLAVOR_CHAR$ = { save_scope_as = minority_flavor_char }
	hidden_effect = {
		
		create_adventurer_title = {
			name = minority_name
			holder = scope:new_landless_minority
			article = DEFAULT_TITLE_NAME_ARTICLE
			government = landless_minority_government
			save_scope_as = new_title
		}
		scope:new_title ?= {
			create_landless_minority_title_history_effect = yes
			set_variable = {
				name = minority_creation_reason
				value = scope:minority_creation_reason
			}
			set_variable = {
				name = minority_flavor_char
				value = scope:minority_flavor_char
			}
		}

		scope:new_title = { save_scope_as = new_landless_minority_title }
		scope:new_landless_minority = {
			if = {
				limit = {
					NOT = { has_government = landless_minority_government }
				}
				change_government = landless_minority_government
			}
			if = {
				limit = {
					NOT = { has_realm_law = confederate_partition_succession_law }
				}
				add_realm_law = confederate_partition_succession_law
			}
			if = {
				limit = {
					has_realm_law = crown_authority_0
				}
				remove_realm_law = crown_authority_0
			}
			domicile = { change_provisions = starting_provisions_value }
		}
		every_player = {
			limit = {
				NOR = {
					root ?= this
					this = scope:new_landless_minority
				}
				OR = {
					# Either they're important to us.
					is_close_or_extended_family_of = scope:new_landless_minority
					is_consort_of = scope:new_landless_minority
					has_important_relationship_with_character_trigger = { CHARACTER = scope:new_landless_minority }
					# Or they're just close enough.
					AND = {
						capital_province = { "squared_distance(scope:new_landless_minority.location)" <= squared_distance_medium }
						OR = {
							top_liege = root.top_liege
							any_neighboring_and_across_water_top_liege_realm_owner = { this = root.top_liege }
						}
					}
				}
			}
			send_interface_message = {
				type = msg_landless_minority_nearby
				title = nearby_landless_minority_created_message_title
				left_icon = scope:new_landless_minority
				right_icon = scope:minority_flavor_char
				switch = {
					trigger = scope:minority_creation_reason
					flag:conquest = { custom_tooltip = nearby_landless_minority_created_message_conquest_tt }
					flag:conquest_claim = { custom_tooltip = nearby_landless_minority_created_message_conquest_tt }
					flag:deposition = { custom_tooltip = nearby_landless_minority_created_message_deposition_tt }
					flag:succession = { custom_tooltip = nearby_landless_minority_created_message_succession_tt }
					flag:exile = { custom_tooltip = nearby_landless_minority_created_message_exile_tt }
					flag:voluntary = { custom_tooltip = nearby_landless_minority_created_message_voluntary_tt }
					flag:revocation = { custom_tooltip = nearby_landless_minority_created_message_revocation_tt }
					flag:runaway_allowed = { custom_tooltip = nearby_landless_minority_created_message_runaway_allowed_tt }
					flag:runaway_forbidden = { custom_tooltip = nearby_landless_minority_created_message_runaway_forbidden_tt }
					flag:wanderer = { custom_tooltip = nearby_landless_minority_created_message_wanderer_tt }
					flag:eradicate = { custom_tooltip = nearby_landless_minority_created_message_eradicate_tt }
					fallback = { custom_tooltip = nearby_landless_minority_created_message_fallback_tt }
				}
			}
		}
	}
	custom_tooltip = laamp_become_minority_tt
	hidden_effect = {
		if = {
			limit = {
				scope:new_landless_minority = {
					is_ai = no
				}
				NOT = { exists = scope:expelled }
			}
			populate_location_with_contracts_effect = {
				AREA_CHAR = scope:new_landless_minority
				AMOUNT = 3
			}
		}
		scope:new_landless_minority = {
			every_courtier = {
				limit = {
					NOR = {
						is_close_or_extended_family_of = scope:new_landless_minority
						has_relation_lover = scope:new_landless_minority
						has_relation_friend = scope:new_landless_minority
						is_consort_of = scope:new_landless_minority
					}
				}
				move_to_pool = yes
			}
			# Give us a couple of starting chars if we're almost completely bereft.
			if = {
				limit = {
					is_ai = no
					any_courtier = { count <= 2 }
				}
				trigger_event = {
					id = ep3_laamps.1001
					weeks = { 2 6 }
				}
			}
			else = {
				create_character = {
					template = pool_repopulate_diplomacy
					dynasty = none
					culture = scope:new_landless_minority.culture
					faith = scope:new_landless_minority.faith
					location = root.location
					save_scope_as = diplomacy_1
					diplomacy = {
						min_template_high_skill
						max_template_high_skill
					}
					martial = {
						min_template_average_skill
						max_template_average_skill
					}
					stewardship = {
						min_template_average_skill
						max_template_average_skill
					}
					intrigue = {
						min_template_average_skill
						max_template_average_skill
					}
					learning = {
						min_template_average_skill
						max_template_average_skill
					}
					prowess = {
						min_template_average_skill
						max_template_average_skill
					}
					after_creation = { add_to_list = spawned_chars_list }
				}
				create_character = {
					template = pool_repopulate_diplomacy
					dynasty = none
					culture = scope:new_landless_minority.culture
					faith = scope:new_landless_minority.faith
					location = root.location
					save_scope_as = diplomacy_2
					diplomacy = {
						min_template_high_skill
						max_template_high_skill
					}
					martial = {
						min_template_average_skill
						max_template_average_skill
					}
					stewardship = {
						min_template_average_skill
						max_template_average_skill
					}
					intrigue = {
						min_template_average_skill
						max_template_average_skill
					}
					learning = {
						min_template_average_skill
						max_template_average_skill
					}
					prowess = {
						min_template_average_skill
						max_template_average_skill
					}
					after_creation = { add_to_list = spawned_chars_list }
				}
				create_character = {
					template = pool_repopulate_martial
					dynasty = none
					culture = scope:new_landless_minority.culture
					faith = scope:new_landless_minority.faith
					location = root.location
					save_scope_as = martial_1
					diplomacy = {
						min_template_average_skill
						max_template_average_skill
					}
					martial = {
						min_template_high_skill
						max_template_high_skill
					}
					stewardship = {
						min_template_average_skill
						max_template_average_skill
					}
					intrigue = {
						min_template_average_skill
						max_template_average_skill
					}
					learning = {
						min_template_average_skill
						max_template_average_skill
					}
					prowess = {
						min_template_average_skill
						max_template_average_skill
					}
					after_creation = { add_to_list = spawned_chars_list }
				}
				create_character = {
					template = pool_repopulate_martial
					dynasty = none
					culture = scope:new_landless_minority.culture
					faith = scope:new_landless_minority.faith
					location = root.location
					save_scope_as = martial_2
					diplomacy = {
						min_template_average_skill
						max_template_average_skill
					}
					martial = {
						min_template_high_skill
						max_template_high_skill
					}
					stewardship = {
						min_template_average_skill
						max_template_average_skill
					}
					intrigue = {
						min_template_average_skill
						max_template_average_skill
					}
					learning = {
						min_template_average_skill
						max_template_average_skill
					}
					prowess = {
						min_template_average_skill
						max_template_average_skill
					}
					after_creation = { add_to_list = spawned_chars_list }
				}
				create_character = {
					template = pool_repopulate_stewardship
					dynasty = none
					culture = scope:new_landless_minority.culture
					faith = scope:new_landless_minority.faith
					location = root.location
					save_scope_as = stewardship_1
					diplomacy = {
						min_template_average_skill
						max_template_average_skill
					}
					martial = {
						min_template_average_skill
						max_template_average_skill
					}
					stewardship = {
						min_template_high_skill
						max_template_high_skill
					}
					intrigue = {
						min_template_average_skill
						max_template_average_skill
					}
					learning = {
						min_template_average_skill
						max_template_average_skill
					}
					prowess = {
						min_template_average_skill
						max_template_average_skill
					}
					after_creation = { add_to_list = spawned_chars_list }
				}
				create_character = {
					template = pool_repopulate_stewardship
					dynasty = none
					culture = scope:new_landless_minority.culture
					faith = scope:new_landless_minority.faith
					location = root.location
					save_scope_as = stewardship_2
					diplomacy = {
						min_template_average_skill
						max_template_average_skill
					}
					martial = {
						min_template_average_skill
						max_template_average_skill
					}
					stewardship = {
						min_template_high_skill
						max_template_high_skill
					}
					intrigue = {
						min_template_average_skill
						max_template_average_skill
					}
					learning = {
						min_template_average_skill
						max_template_average_skill
					}
					prowess = {
						min_template_average_skill
						max_template_average_skill
					}
					after_creation = { add_to_list = spawned_chars_list }
				}
				create_character = {
					template = pool_repopulate_intrigue
					dynasty = none
					culture = scope:new_landless_minority.culture
					faith = scope:new_landless_minority.faith
					location = root.location
					save_scope_as = intrigue_1
					diplomacy = {
						min_template_average_skill
						max_template_average_skill
					}
					martial = {
						min_template_average_skill
						max_template_average_skill
					}
					stewardship = {
						min_template_average_skill
						max_template_average_skill
					}
					intrigue = {
						min_template_high_skill
						max_template_high_skill
					}
					learning = {
						min_template_average_skill
						max_template_average_skill
					}
					prowess = {
						min_template_average_skill
						max_template_average_skill
					}
					after_creation = { add_to_list = spawned_chars_list }
				}
				create_character = {
					template = pool_repopulate_intrigue
					dynasty = none
					culture = scope:new_landless_minority.culture
					faith = scope:new_landless_minority.faith
					location = root.location
					save_scope_as = intrigue_2
					diplomacy = {
						min_template_average_skill
						max_template_average_skill
					}
					martial = {
						min_template_average_skill
						max_template_average_skill
					}
					stewardship = {
						min_template_average_skill
						max_template_average_skill
					}
					intrigue = {
						min_template_high_skill
						max_template_high_skill
					}
					learning = {
						min_template_average_skill
						max_template_average_skill
					}
					prowess = {
						min_template_average_skill
						max_template_average_skill
					}
					after_creation = { add_to_list = spawned_chars_list }
				}
				create_character = {
					template = pool_repopulate_learning
					dynasty = none
					culture = scope:new_landless_minority.culture
					faith = scope:new_landless_minority.faith
					location = root.location
					save_scope_as = learning_1
					diplomacy = {
						min_template_average_skill
						max_template_average_skill
					}
					martial = {
						min_template_average_skill
						max_template_average_skill
					}
					stewardship = {
						min_template_average_skill
						max_template_average_skill
					}
					intrigue = {
						min_template_average_skill
						max_template_average_skill
					}
					learning = {
						min_template_high_skill
						max_template_high_skill
					}
					prowess = {
						min_template_average_skill
						max_template_average_skill
					}
					after_creation = { add_to_list = spawned_chars_list }
				}
				create_character = {
					template = pool_repopulate_learning
					dynasty = none
					culture = scope:new_landless_minority.culture
					faith = scope:new_landless_minority.faith
					location = root.location
					save_scope_as = learning_2
					diplomacy = {
						min_template_average_skill
						max_template_average_skill
					}
					martial = {
						min_template_average_skill
						max_template_average_skill
					}
					stewardship = {
						min_template_average_skill
						max_template_average_skill
					}
					intrigue = {
						min_template_average_skill
						max_template_average_skill
					}
					learning = {
						min_template_high_skill
						max_template_high_skill
					}
					prowess = {
						min_template_average_skill
						max_template_average_skill
					}
					after_creation = { add_to_list = spawned_chars_list }
				}
				create_character = {
					template = pool_repopulate_prowess
					dynasty = none
					culture = scope:new_landless_minority.culture
					faith = scope:new_landless_minority.faith
					location = root.location
					save_scope_as = prowess_1
					diplomacy = {
						min_template_average_skill
						max_template_average_skill
					}
					martial = {
						min_template_average_skill
						max_template_average_skill
					}
					stewardship = {
						min_template_average_skill
						max_template_average_skill
					}
					intrigue = {
						min_template_average_skill
						max_template_average_skill
					}
					learning = {
						min_template_average_skill
						max_template_average_skill
					}
					prowess = {
						min_template_high_skill
						max_template_high_skill
					}
					after_creation = { add_to_list = spawned_chars_list }
				}
				create_character = {
					template = pool_repopulate_prowess
					dynasty = none
					culture = scope:new_landless_minority.culture
					faith = scope:new_landless_minority.faith
					location = root.location
					save_scope_as = prowess_2
					diplomacy = {
						min_template_average_skill
						max_template_average_skill
					}
					martial = {
						min_template_average_skill
						max_template_average_skill
					}
					stewardship = {
						min_template_average_skill
						max_template_average_skill
					}
					intrigue = {
						min_template_average_skill
						max_template_average_skill
					}
					learning = {
						min_template_average_skill
						max_template_average_skill
					}
					prowess = {
						min_template_high_skill
						max_template_high_skill
					}
					after_creation = { add_to_list = spawned_chars_list }
				}
				create_character = {
					template = pool_repopulate_local_flavor
					dynasty = none
					culture = scope:new_landless_minority.culture
					faith = scope:new_landless_minority.faith
					location = root.location
					save_scope_as = women_1
					diplomacy = {
						min_template_average_skill
						max_template_average_skill
					}
					martial = {
						min_template_average_skill
						max_template_average_skill
					}
					stewardship = {
						min_template_average_skill
						max_template_average_skill
					}
					intrigue = {
						min_template_average_skill
						max_template_average_skill
					}
					learning = {
						min_template_average_skill
						max_template_average_skill
					}
					prowess = {
						min_template_average_skill
						max_template_average_skill
					}
					after_creation = { add_to_list = spawned_chars_list }
				}
				create_character = {
					template = pool_repopulate_local_flavor
					dynasty = none
					culture = scope:new_landless_minority.culture
					faith = scope:new_landless_minority.faith
					location = root.location
					save_scope_as = women_2
					diplomacy = {
						min_template_average_skill
						max_template_average_skill
					}
					martial = {
						min_template_average_skill
						max_template_average_skill
					}
					stewardship = {
						min_template_average_skill
						max_template_average_skill
					}
					intrigue = {
						min_template_average_skill
						max_template_average_skill
					}
					learning = {
						min_template_average_skill
						max_template_average_skill
					}
					prowess = {
						min_template_average_skill
						max_template_average_skill
					}
					after_creation = { add_to_list = spawned_chars_list }
				}
				create_character = {
					template = pool_repopulate_local_flavor
					dynasty = none
					culture = scope:new_landless_minority.culture
					faith = scope:new_landless_minority.faith
					location = root.location
					save_scope_as = women_3
					diplomacy = {
						min_template_average_skill
						max_template_average_skill
					}
					martial = {
						min_template_average_skill
						max_template_average_skill
					}
					stewardship = {
						min_template_average_skill
						max_template_average_skill
					}
					intrigue = {
						min_template_average_skill
						max_template_average_skill
					}
					learning = {
						min_template_average_skill
						max_template_average_skill
					}
					prowess = {
						min_template_average_skill
						max_template_average_skill
					}
					after_creation = { add_to_list = spawned_chars_list }
				}
				add_courtier = scope:women_1
				add_courtier = scope:women_2
				add_courtier = scope:women_3
				add_courtier = scope:martial_1
				add_courtier = scope:martial_2
				add_courtier = scope:diplomacy_1
				add_courtier = scope:diplomacy_2
				add_courtier = scope:stewardship_1
				add_courtier = scope:stewardship_2
				add_courtier = scope:learning_1
				add_courtier = scope:learning_2
				add_courtier = scope:intrigue_1
				add_courtier = scope:intrigue_2
				add_courtier = scope:prowess_1
				add_courtier = scope:prowess_2
			}
		}
		trigger_event = { id = misc.0001 days = 1 }
		local_arbitration_boon_change_purpose_effect = yes
	}
	add_to_global_variable_list = {
		name = laamps_tally
		target = scope:new_landless_minority.primary_title
	}
	set_variable = flavourise_camp_purpose_wanderers
}

destroy_landless_title_no_dlc_effect = {
	if = {
		limit = {
			NOT = { has_dlc_feature = roads_to_power }
			game_start_date = $DATE$
		}
		holder = { destroy_title = prev }
	}
}

set_landless_government_effect = {
	if = {
		limit = {
			has_dlc_feature = roads_to_power
		}
		change_government = landless_adventurer_government
	}
}

disburse_knight_errant_decision_rewards_effect = {
	add_trait = knight_errant
	house = {
		add_house_modifier = {
			modifier = ep3_knight_of_the_swan_house_modifier
		}
	}
	custom_tooltip = knight_errant_decision_armor_tt
	if = {
		limit = { has_dlc_feature = legends }
		create_swan_knight_legend_seed_effect = yes
	}
	if = {
		limit = { has_character_modifier = bandit_king_modifier }
		remove_character_modifier = bandit_king_modifier
	}
}

laamp_game_over_option_effect = {
	add_internal_flag = dangerous
	custom_tooltip = laamp_game_over_tt
	if = {
		limit = { exists = scope:new_landless_adventurer_title }
		hidden_effect = { 
			destroy_title = scope:new_landless_adventurer_title 
			add_character_flag = { flag = declined_become_laamp days = 1 } # The flag is temporary to make the player get a game over if they had no landed heir to take over their lands
			# While also making it so that if they did have an heir to take over they can later play as the old character if they somehow inherit from the heir
		}
	}
}

destroy_laamp_effect = {
	$ADVENTURER$ = {
		save_scope_as = the_adventurer
		# If we weren't an adventurer before, make us one.
		if = {
			limit = {
				NOT = { has_trait = adventurer }
			}
			add_trait = adventurer
		}
		hidden_effect = {
			every_courtier = {
				set_variable = {
					name = former_camp_leader
					value = scope:the_adventurer
				}
				add_trait = adventurer_follower
			}
		}
		custom_tooltip = {
			text = destroy_laamp_effect.tt.domicile_liquidated
			laamp_clear_domicile_buildings_effect = yes
		}
		# Contacts have opinions™ about you.
		## Be they good.
		every_contact = {
			limit = {
				opinion = {
					target = scope:the_adventurer
					value >= 1
				}
			}
			custom = custom.every_contact_with_positive_opinion
			add_opinion = {
				target = scope:the_adventurer
				modifier = pleased_former_contact_opinion
				opinion = 30
			}
			hidden_effect = {
				if = {
					limit = {
						can_set_relation_potential_friend_trigger = { CHARACTER = scope:the_adventurer }
					}
					set_relation_potential_friend = scope:the_adventurer
				}
			}
		}
		## Or bad.
		every_contact = {
			limit = {
				opinion = {
					target = scope:the_adventurer
					value < 1
				}
			}
			# And neutral but _eh_.
			custom = custom.every_contact_with_negative_opinion
			add_opinion = {
				target = scope:the_adventurer
				modifier = frustrated_former_contact_opinion
				opinion = -30
			}
			hidden_effect = {
				if = {
					limit = {
						can_set_relation_potential_rival_trigger = { CHARACTER = scope:the_adventurer }
					}
					set_relation_potential_rival = scope:the_adventurer
				}
			}
		}
		# Destroy your main title.
		every_held_title = {
			limit = { has_variable = adventurer_creation_reason }
			save_scope_as = landless_adventurer_title
			scope:the_adventurer = { destroy_title = scope:landless_adventurer_title }
		}
		# Ironically, we only want to use this effect if you're _not_ admin — it'll reset you nicely to the best government for you, but if you're admin, you should stay admin.
		if = {
			limit = {
				NOR = {
					government_has_flag = government_is_administrative
					government_has_flag = government_is_nomadic
					government_has_flag = government_is_steppe_admin
					government_has_flag = government_is_wanua
					government_has_flag = government_is_mandala
					government_has_flag = government_is_celestial
					government_has_flag = government_is_meritocratic
					government_has_flag = government_is_japan_feudal
				}
			}
			admin_government_reset_effect = yes #this only contains Clan, Tribal, Nomadic and Feudal
		}
		# Clean up story no-movement flags.
		remove_character_flag = laamp_stay_same_kingdom
	}
}

create_landless_adventurer_title_tooltip_effect = {
	show_as_tooltip = {
		custom_tooltip = laamp_become_adventurer_tt
		if = {
			limit = { exists = scope:new_landless_adventurer_title}
			show_as_tooltip = { get_title = scope:new_landless_adventurer_title }
		}
	}
}
create_landless_minority_title_tooltip_effect = {
	show_as_tooltip = {
		custom_tooltip = laamp_become_minority_tt
		if = {
			limit = { exists = scope:new_landless_minority_title}
			show_as_tooltip = { get_title = scope:new_landless_minority_title }
		}
	}
}

find_playable_relatives_effect = {
	if = {
		limit = {
			any_close_family_member = { playable_relative_trigger = yes }
		}
		ordered_close_family_member = {
			limit = { playable_relative_trigger = yes }
			order_by = highest_held_title_tier
			max = 3
			check_range_bounds = no
			if = {
				limit = { exists = scope:alt_2 }
				save_scope_as = alt_3
			}
			else_if = {
				limit = { exists = scope:alt_1 }
				save_scope_as = alt_2
			}
			else = { save_scope_as = alt_1 }
		}
	}
}

laamp_switch_playable_character_effect = {
	set_player_character = $NEW_CHARACTER$
	hidden_effect = {
		if = {
			limit = { exists = scope:new_landless_adventurer_title }
			destroy_title = scope:new_landless_adventurer_title
		}
	}
}

ep3_become_landed_save_liege_effect = {
	$TITLE_GIVER$ = { save_scope_as = ruler }
	save_scope_value_as = {
		name = override_independence_logic
		value = $ALWAYS_INDEPENDENT$
	}
	if = {
		limit = { scope:override_independence_logic = yes }
		# Do nothing, we're just here to block subsequent checks.
	}
	else_if = {
		limit = {
			scope:ruler = { top_liege != this }
			any_in_list = {
				list = $TITLE_LIST$
				tier = scope:ruler.highest_held_title_tier
			}
			NOT = {
				any_in_list = {
					list = $TITLE_LIST$
					tier > scope:ruler.highest_held_title_tier
				}
			}
		}
		scope:ruler.liege = { save_scope_as = new_liege }
	}
	else_if = {
		limit = {
			NOT = {
				any_in_list = {
					list = $TITLE_LIST$
					tier >= scope:ruler.highest_held_title_tier
				}
			}
		}
		scope:ruler = { save_scope_as = new_liege }
	}
}

ep3_become_landed_transfer_effect = {
	hidden_effect = {
		# Liquidate camp
		$TITLE_RECEIVER$ = { laamp_clear_domicile_buildings_liquidator_effect = yes }
	}
	$TITLE_RECEIVER$ = {
		if = {
			limit = { character:90028 ?= this }
			custom_tooltip = ep3_story_cycle_harrying.3053.b.tt
			add_character_flag = hereward_settled_flag
		}
		set_variable = {
			name = ascended_throne_reason
			value = $REASON$
			weeks = 1
		}
		save_scope_value_as = {
			name = ascended_throne_value
			value = $REASON$
		}
		set_variable = { # Used to prevent invalid NF creation
			name = laamp_invasion_flag
			value = scope:target
			days = 1
		}
	}
	create_title_and_vassal_change = {
		type = $TYPE$
		add_claim_on_loss = yes
		save_scope_as = title_change
	}
	scope:target.holder ?= { save_scope_as = old_holder }
	if = {
		limit = { NOT = { exists = scope:old_holder } }
		scope:target = {
			ordered_de_jure_county = {
				limit = { holder.top_liege = scope:defender.top_liege }
				order_by = development_level
				holder = { save_scope_as = old_holder }
			}
		}
	}
	scope:supporter ?= { save_scope_as = government_giver }
	if = {
		limit = { NOT = { exists = scope:government_giver } }
		scope:old_holder = { save_scope_as = government_giver }
	}
	scope:government_giver ?= {
		switch = {
			trigger = government_has_flag
			government_is_administrative = {
				save_scope_value_as = { name = old_government value = flag:admin }
			}
			government_is_clan = {
				save_scope_value_as = { name = old_government value = flag:clan }
			}
			government_is_tribal = {
				save_scope_value_as = { name = old_government value = flag:tribal }
			}
			government_is_wanua = {
				save_scope_value_as = { name = old_government value = flag:wanua }
			}
			government_is_nomadic = {
				save_scope_value_as = { name = old_government value = flag:nomad }
			}
			government_is_herder = {
				save_scope_value_as = { name = old_government value = flag:nomad }
			}
			government_is_celestial = {
				save_scope_value_as = { name = old_government value = flag:celestial }
			}
			government_is_steppe_admin = {
				save_scope_value_as = { name = old_government value = flag:steppe_admin }
			}
			government_is_meritocratic = {
				save_scope_value_as = { name = old_government value = flag:meritocratic }
			}
			government_is_japan_administrative = {
				save_scope_value_as = { name = old_government value = flag:japan_administrative }
			}
			government_is_japan_feudal = {
				save_scope_value_as = { name = old_government value = flag:japan_feudal }
			}
			government_is_mandala = {
				save_scope_value_as = { name = old_government value = flag:mandala }
			}
		}
	}
	if = {
		limit = {
			NOT = { exists = scope:new_capital }
		}
		ordered_in_list = {
			list = $TITLE_LIST$
			limit = { tier = tier_county }
			order_by = development_level
			save_scope_as = new_capital
		}
	}
	if = {
		limit = {
			NOT = { exists = scope:new_capital }
		}
		scope:new_primary_title ?= {
			ordered_de_jure_county = {
				limit = {
					holder = scope:defender
				}
				alternative_limit = {
					holder.top_liege = scope:defender.top_liege
				}
				order_by = development_level
				save_scope_as = new_capital
			}
		}
	}
	ordered_in_list = {
		list = $TITLE_LIST$
		order_by = tier
		save_scope_as = new_primary_title
	}
	$TITLE_RECEIVER$ = {
		if = {
			limit = {
				exists = scope:new_primary_title
				highest_held_title_tier > scope:new_primary_title.tier
				primary_title = { is_landless_type_title = no }
			}
			primary_title = { save_scope_as = new_primary_title }
		}
		else = {
			scope:new_primary_title ?= {
				change_title_holder_include_vassals = {
					holder = $TITLE_RECEIVER$
					change = scope:title_change
					take_baronies = no
				}
			}
		}
	}
	scope:new_primary_title ?= {
		every_de_jure_county = {
			limit = {
				NOT = { is_in_list = $TITLE_LIST$ }
				trigger_if = {
					limit = { exists = scope:defender }
					holder.top_liege ?= scope:defender.top_liege
				}
				trigger_if = {
					limit = { exists = scope:new_liege }
					holder.top_liege ?= scope:new_liege.top_liege
				}
			}
			change_title_holder_include_vassals = {
				holder = $TITLE_RECEIVER$
				change = scope:title_change
				take_baronies = no
			}
		}
	}
	every_in_list = {
		list = $TITLE_LIST$
		limit = {
			is_leased_out = no
			trigger_if = {
				limit = {
					NOT = { exists = var:ceremonial_title }
				}
				is_landless_type_title = no
			}
			is_head_of_faith = no
			tier >= tier_county
			trigger_if = {
				limit = { exists = scope:defender }
				holder.top_liege ?= scope:defender.top_liege
			}
			trigger_if = {
				limit = { exists = scope:new_liege }
				holder.top_liege ?= scope:new_liege.top_liege
			}
			NOT = { scope:new_primary_title ?= this }
		}
		change_title_holder_include_vassals = {
			holder = $TITLE_RECEIVER$
			change = scope:title_change
			take_baronies = no
		}
	}
	if = {
		limit = { has_character_flag = special_laamp_char }
		resolve_title_and_vassal_change = scope:title_change
		# Then we resolve vassalage separately, so that we can lock in tiers.
		create_title_and_vassal_change = {
			type = $TYPE$
			add_claim_on_loss = yes
			save_scope_as = title_change
		}
	}
	if = {
		limit = {
			exists = scope:new_liege
			trigger_if = {
				limit = { exists = scope:ascended_throne_value }
				NOR = {
					scope:ascended_throne_value = flag:conquest
					scope:ascended_throne_value = flag:conquest_claim
				}
			}
		}
		$TITLE_RECEIVER$ = {
			change_liege = {
				liege = scope:new_liege
				change = scope:title_change
			}
		}
	}
	else_if = {
		limit = { top_liege != this }
		becomes_independent = { change = scope:title_change }
	}
	resolve_title_and_vassal_change = scope:title_change
	# Because target may be either a title or a character, we check if a scope value has been set up in advance if this is being called from the Seize Realm scheme specifically
	if = {
		limit = {
			exists = scope:old_government_type
		}
		scope:old_government_type = {
			save_scope_as = old_government
		}
	}
	# Set government type
	if = {
		limit = {
			exists = scope:old_government
		}
		# We don't expect to actually trigger most of the below, as most are not valid targets to begin with, but all are included for completeness and mod support
		switch = {
			trigger = scope:old_government
			flag:feudal = {
				change_government = feudal_government
			}
			flag:republic = {
				change_government = republic_government
			}
			flag:theocracy = {
				change_government = theocracy_government
			}
			flag:clan = {
				change_government = clan_government
			}
			flag:tribal = {
				change_government = tribal_government
			}
			flag:wanua = {
				change_government = wanua_government
			}
			flag:holy_order = {
				change_government = holy_order_government
			}
			flag:administrative = {
				change_government = administrative_government
			}
			flag:nomad = {
				change_government = nomad_government
			}
			flag:herder = {
				change_government = herder_government
			}
			flag:celestial = {
				change_government = celestial_government
			}
			flag:mandala = {
				if = {
					limit = {
						faith = { has_doctrine = doctrine_polytheist }
					}
					change_government = mandala_government
					#Sort out the House shenanigans
					if = {
						limit = { is_house_head = no }
						house = { 
							if = {
								limit = {
									house_head = { 
										is_landed = no
										is_courtier_of = root
									}
								}
								set_house_head = root
							}
						}
					}
					else = {
						house ?= {
							set_house_aspiration = { type = no_aspect }
						}
					}
				}
				else = {
					if = {
						limit = { ep3_is_clan_inclined_trigger = yes }
						change_government = clan_government
					}
					else = { change_government = feudal_government }
				}
			}
			flag:steppe_admin = {
				change_government = steppe_admin_government
			}
			flag:meritocratic = {
				change_government = meritocratic_government
			}
			flag:japan_feudal = {
				change_government = japan_feudal_government
			}
			flag:japan_administrative = {
				if = {
					limit = { 
						scope:new_liege ?= { has_government = japan_administrative_government }
					}
					change_government = japan_administrative_government
				}
				else = { change_government = feudal_government }
			}
		}
	}
	# Otherwise we proceed as normal
	else = {
		$TITLE_RECEIVER$ = {
			# Change our government according to the government of our liege.
			## Nomad.
			if = {
				limit = {
					OR = {
						government_has_flag = government_is_nomadic
						scope:new_liege ?= { government_has_flag = government_is_nomadic }
						scope:old_government ?= flag:nomad
						scope:new_capital.title_province = {
							OR = {
								has_holding_type = nomad_holding
								has_holding_type = herder_holding
							}
						}
					}
				}
				hidden_effect = {
					every_held_title = {
						limit = {
							tier = tier_county
							title_province = { has_holding_type = herder_holding }
						}
						title_province = { set_holding_type = nomad_holding }
					}
				}
				change_government = nomad_government
			}
			## Soryo.
			else_if = {
				limit = {
					OR = {
						scope:new_liege ?= { government_has_flag = government_is_japan_feudal }
						scope:old_government ?= flag:japan_feudal
					}
				}
				change_government = japan_feudal_government
			}
			## Administrative.
			else_if = {
				limit = {
					OR = {
						scope:old_government ?= flag:admin
						scope:old_government ?= flag:celestial
						scope:old_government ?= flag:steppe_admin
						scope:old_government ?= flag:meritocratic
						scope:old_government ?= flag:japan_administrative
						scope:new_liege ?= { government_allows = administrative }
					}
				}
				change_to_administrative_effect = yes
			}
			## Clan.
			else_if = {
				limit = {
					OR = {
						scope:new_liege ?= { government_has_flag = government_is_clan }
						scope:old_government ?= flag:clan
						AND = {
							ep3_is_clan_inclined_trigger = yes
							top_liege = this
						}
					}
				}
				change_government = clan_government
			}
			## Tribal.
			else_if = {
				limit = {
					OR = {
						scope:new_liege ?= { government_has_flag = government_is_tribal }
						scope:old_government ?= flag:tribal
					}
				}
				change_government = tribal_government
			}
			## Wanua.
			else_if = {
				limit = {
					OR = {
						scope:new_liege ?= { government_has_flag = government_is_wanua }
						scope:old_government ?= flag:wanua
					}
				}
				change_government = wanua_government
			}
			## Mandala.
			else_if = {
				limit = {
					OR = {
						scope:new_liege ?= { government_has_flag = government_is_mandala }
						#scope:old_government ?= flag:mandala
						scope:target.holder = { government_has_flag = government_is_mandala }
					}
					faith = { has_doctrine = doctrine_polytheist }
				}
				change_government = mandala_government
				#Sort out the House shenanigans
				hidden_effect = {
					if = {
						limit = { is_house_head = no }
						house = { 
							if = {
								limit = {
									house_head = { 
										is_landed = no
										is_courtier_of = $TITLE_RECEIVER$
									}
								}
								set_house_head = $TITLE_RECEIVER$
							}
						}
					}
					else = {
						house ?= {
							set_house_aspiration = { type = no_aspect }
						}
					}
				}	
			}
			## Else feudal.
			else = {
				change_government = feudal_government
			}
		}
		# Ennobled adventurer penalties
		if = {
			limit = { $ENNOBLED_ADVENTURER$ = flag:yes }
			if = {
				limit = {
					calc_true_if = {
						amount = 3
						prestige_level <= 3
						scope:new_capital.culture ?= {
							NOR = {
								$TITLE_RECEIVER$.culture ?= this
								$TITLE_RECEIVER$.primary_spouse.culture ?= this
								$TITLE_RECEIVER$.primary_heir.culture ?= this
							}
						}
						scope:new_capital.faith != faith
					}
				}
				custom_tooltip = ep3_ennobled_adventurer_modifier_reason_3
				add_character_modifier = {
					modifier = ep3_ennobled_adventurer_modifier_3
					years = 30
				}
				custom_tooltip = ep3_ennobled_adventurer_modifier_rules
			}
			else_if = {
				limit = {
					calc_true_if = {
						amount = 2
						prestige_level <= 3
						scope:new_capital.culture ?= {
							NOR = {
								$TITLE_RECEIVER$.culture ?= this
								$TITLE_RECEIVER$.primary_spouse.culture ?= this
								$TITLE_RECEIVER$.primary_heir.culture ?= this
							}
						}
						scope:new_capital.faith != faith
					}
				}
				custom_tooltip = ep3_ennobled_adventurer_modifier_reason_2
				add_character_modifier = {
					modifier = ep3_ennobled_adventurer_modifier_2
					years = 20
				}
				custom_tooltip = ep3_ennobled_adventurer_modifier_rules
			}
			else_if = {
				limit = {
					calc_true_if = {
						amount = 1
						prestige_level <= 3
						scope:new_capital.culture ?= {
							NOR = {
								$TITLE_RECEIVER$.culture ?= this
								$TITLE_RECEIVER$.primary_spouse.culture ?= this
								$TITLE_RECEIVER$.primary_heir.culture ?= this
							}
						}
						scope:new_capital.faith != faith
					}
				}
				custom_tooltip = ep3_ennobled_adventurer_modifier_reason_1
				add_character_modifier = {
					modifier = ep3_ennobled_adventurer_modifier_1
					years = 10
				}
				custom_tooltip = ep3_ennobled_adventurer_modifier_rules
			}
		}
	}
	destroy_laamp_effect = { ADVENTURER = $TITLE_RECEIVER$ }
	# Setup NF if valid
	if = {
		limit = { government_allows = administrative }
		give_new_noble_family_title_effect = yes
	}
}

ep3_become_landed_cleanup_effect = {
	if = {
		limit = {
			exists = scope:supporter
			highest_held_title_tier < scope:supporter.highest_held_title_tier
		}
		create_title_and_vassal_change = {
			type = swear_fealty
			save_scope_as = change
			add_claim_on_loss = no
		}
		change_liege = {
			liege = scope:supporter
			change = scope:change
		}
		resolve_title_and_vassal_change = scope:change
		# Message for nearby rulers
		create_landed_ruler_message_effect = {
			LANDED = scope:attacker
			FLAVOR_CHAR = scope:supporter
			FLAVOR_TITLE = scope:attacker.primary_title
			REASON = flag:conquest_support
		}
	}
	else = {
		if = {
			limit = {
				top_liege != this
				NOT = { exists = scope:new_liege }
			}
			create_title_and_vassal_change = {
				type = conquest
				save_scope_as = change
				add_claim_on_loss = no
			}
			becomes_independent = { change = scope:change }
			resolve_title_and_vassal_change = scope:change
		}
		# Message for nearby rulers
		create_landed_ruler_message_effect = {
			LANDED = scope:attacker
			FLAVOR_CHAR = scope:defender
			FLAVOR_TITLE = scope:attacker.primary_title
			REASON = flag:conquest
		}
	}
}

ep3_become_landed_warning_effect = {
	$TITLE$ = { save_scope_as = title }
	$TITLE_RECEIVER$ = { custom_tooltip = seize_realm_warning }
}

purchase_land_interaction_effect = {
	# scope:actor = adventurer
	# scope:recipient = seller
	# purchased_titles = titles

	hidden_effect = {
		scope:actor = {
			if = {
				limit = { character:90028 ?= this }
				add_character_flag = hereward_settled_flag
			}
			if = {
				limit = {
					NOT = { has_trait = adventurer }
				}
				add_trait = adventurer
			}
			every_courtier = {
				set_variable = {
					name = former_camp_leader
					value = scope:actor
				}
				add_trait = adventurer_follower
			}
		}
	}

	# Determine hierarchy
	ep3_become_landed_save_liege_effect = {
		TITLE_GIVER = scope:recipient
		ALWAYS_INDEPENDENT = no
		TITLE_LIST = purchased_titles
	}
	# Purchase land specific
	scope:actor = {
		show_as_tooltip = {
			pay_short_term_gold = {
				gold = scope:purchase_land_cost
				target = scope:recipient
			}
		}
	}
	# Resolve title, liege, government changes
	ep3_become_landed_transfer_effect = {
		TITLE_RECEIVER = scope:actor
		TITLE_LIST = purchased_titles
		TYPE = granted
		REASON = flag:purchased
		ENNOBLED_ADVENTURER = flag:yes
	}
	# Extra purchase land specific
	scope:actor = {
		stress_impact = {
			greedy = minor_stress_impact_gain
			lazy = minor_stress_impact_loss
		}
	}
	# Effects on land giver
	scope:recipient = { add_legitimacy = scope:purchase_land_legitimacy_cost }
	# Messages for nearby players
	create_landed_ruler_message_effect = {
		LANDED = scope:actor
		FLAVOR_CHAR = scope:recipient
		FLAVOR_TITLE = scope:target
		REASON = flag:purchased
	}
	# Hook
	if = {
		limit = { scope:offer_hook = yes }
		scope:recipient = {
			add_hook = {
				type = obligation_hook
				target = scope:actor
			}
		}
	}
	#Handle the government types
	if = {
		limit = {
			scope:recipient = { government_has_flag = government_is_mandala }
			#... we're lenient
			faith = { has_doctrine = doctrine_polytheist }
		}
		#Sort out the House shenanigans
		if = {
			limit = { is_house_head = no }
			house = { 
				if = {
					limit = {
						house_head = { 
							is_landed = no
							is_courtier_of = root
						}
					}
					set_house_head = root
				}
			}
		}
		else = {
			house ?= {
				set_house_aspiration = { type = no_aspect }
			}
		}	
	}
	#Otherwise go vanilla
	else = {
		if = {
			limit = { ep3_is_clan_inclined_trigger = yes }
			change_government = clan_government
		}
		else = { change_government = feudal_government }
	}
}

purchase_land_interaction_shortened_effect = {
	scope:actor = {
		if = {
			limit = { character:90028 ?= this }
			custom_tooltip = ep3_story_cycle_harrying.3053.b.tt
			add_character_flag = hereward_settled_flag
		}
		show_as_tooltip = {
			pay_short_term_gold = {
				gold = scope:purchase_land_cost
				target = scope:recipient
			}
		}
		hidden_effect = {
			scope:recipient = { add_gold = scope:purchase_land_cost }
		}
	}
	scope:actor = {
		stress_impact = {
			humble = minor_stress_impact_gain
			lazy = minor_stress_impact_loss
		}
		if = {
			limit = {
				scope:target.tier = tier_duchy
			}
			custom_tooltip = purchase_land_interaction_shortened_effect_duchy_desc
		}
		else = {
			custom_tooltip = purchase_land_interaction_shortened_effect_county_desc
		}
		if = {
			limit = {
				scope:target.tier = tier_duchy
			}
			scope:target.title_capital_county = {
				save_scope_as = new_primary_title
			}
		}
		else = {
			scope:target = {
				save_scope_as = new_primary_title
			}
		}
		if = {
			limit = {
				calc_true_if = {
					amount = 3
					prestige_level <= 3
					OR = {
						scope:new_primary_title.culture != culture
						primary_spouse ?= {
							culture != scope:new_primary_title.culture
						}
						primary_heir ?= {
							culture != scope:new_primary_title.culture
						}
					}
					scope:new_primary_title.faith != faith
				}
			}
			custom_tooltip = ep3_ennobled_adventurer_modifier_reason_3
			add_character_modifier = {
				modifier = ep3_ennobled_adventurer_modifier_3
				years = 30
			}
			custom_tooltip = ep3_ennobled_adventurer_modifier_rules
		}
		else_if = {
			limit = {
				calc_true_if = {
					amount = 2
					prestige_level <= 3
					OR = {
						scope:new_primary_title.culture != culture
						primary_spouse ?= {
							culture != scope:new_primary_title.culture
						}
						primary_heir ?= {
							culture != scope:new_primary_title.culture
						}
					}
					scope:new_primary_title.faith != faith

				}
			}
			custom_tooltip = ep3_ennobled_adventurer_modifier_reason_2
			add_character_modifier = {
				modifier = ep3_ennobled_adventurer_modifier_2
				years = 20
			}
			custom_tooltip = ep3_ennobled_adventurer_modifier_rules
		}
		else_if = {
			limit = {
				calc_true_if = {
					amount = 1
					prestige_level <= 3
					OR = {
						scope:new_primary_title.culture != culture
						primary_spouse ?= {
							culture != scope:new_primary_title.culture
						}
						primary_heir ?= {
							culture != scope:new_primary_title.culture
						}
					}
					scope:new_primary_title.faith != faith

				}
			}
			custom_tooltip = ep3_ennobled_adventurer_modifier_reason_1
			add_character_modifier = {
				modifier = ep3_ennobled_adventurer_modifier_1
				years = 10
			}
			custom_tooltip = ep3_ennobled_adventurer_modifier_rules
		}

	}
}

procure_estate_interaction_effect = {
	if = {
		limit = { scope:piety_option = yes }
		if = {
			limit = { faith != scope:recipient.faith }
			set_character_faith = scope:recipient.faith
			add_character_flag = {
				flag = procure_estate_conversion
				months = 1
			}
		}
		scope:recipient = {
			add_piety = {
				value = procure_estate_interaction_cost_base_piety
				multiply = 0.5
			}
		}
	}
	else_if = {
		limit = { scope:gold_option = yes }
		show_as_tooltip = {
			pay_short_term_gold = {
				target = scope:recipient
				gold = procure_estate_interaction_cost_base_gold
			}
		}
		hidden_effect = {
			scope:recipient = { add_gold = procure_estate_interaction_cost_base_gold }
		}
	}
	else_if = {
		limit = { scope:hook = yes }
		scope:recipient = {
			add_hook = {
				target = scope:actor
				type = favor_hook
			}
		}
	}
	else = {
		scope:recipient = {
			add_prestige = {
				value = procure_estate_interaction_cost_base_prestige
				multiply = 0.25
			}
		}
	}
	scope:recipient = { change_influence = medium_influence_loss }
	#Scope:actor becomes ladmin
	scope:actor = {
		hidden_effect = {
			# Liquidate camp
			laamp_clear_domicile_buildings_liquidator_effect = yes
		}
		if = {
			limit = {
				scope:actor.house ?= {
					any_house_member = {
						any_held_title = { is_noble_family_title = yes }
						top_liege = scope:recipient.top_liege
					}
				}
			}
			found_cadet_house_decision_effect = {
				CHARACTER = scope:actor
				PRESTIGE = major_prestige_gain
			}
		}
		# Note our courtiers so that they don't escape.
		every_courtier = { add_to_list = courtiers_list }
		# Change liege
		destroy_laamp_effect = { ADVENTURER = scope:actor }
		hidden_effect  = {
			scope:recipient.top_liege = {
				add_courtier = scope:actor
				return_to_court = yes
			}
		}
		create_noble_family_effect = { GOVERNMENT_GIVER = scope:recipient }
		hidden_effect = {
			# Return any escaped courtiers.
			every_in_list = {
				list = courtiers_list
				limit = {
					NOT = { liege_or_court_owner = scope:actor }
				}
				scope:actor = { add_courtier = prev }
			}
			# And boot any new autogenned arrivals.
			every_courtier = {
				limit = {
					is_lowborn = yes
					NOR = {
						is_in_list = courtiers_list
						is_close_or_extended_family_of = scope:actor
						is_consort_of = scope:actor
						has_important_relationship_trigger = { CHARACTER = scope:actor }
					}
				}
				silent_disappearance_effect = yes
			}
		}
		create_title_and_vassal_change = {
			type = swear_fealty
			add_claim_on_loss = no
			save_scope_as = title_change
		}
		change_liege = {
			liege = scope:recipient.top_liege
			change = scope:title_change
		}
		resolve_title_and_vassal_change = scope:title_change
		hidden_effect = {
			domicile ?= {
				if = {
					limit = {
						NOT = { domicile_location = scope:recipient.capital_province }
					}
					move_domicile = scope:recipient.capital_province
				}
			}
		}
		add_character_modifier = {
			modifier = ep3_administrative_outsider_modifier
			years = 15
		}
	}
	scope:recipient.top_liege = {
		if = {
			limit = {
				is_ai = no
			}
			send_interface_message = {
				type = msg_landless_adventurer_nearby
				title = procure_estate_message_title
				left_icon = scope:actor
				right_icon = scope:recipient
				custom_tooltip = procure_estate_message_tt
			}
		}
		every_vassal_or_below = {
			limit = {
				is_ai = no
				NOT = { this = scope:actor }
			}
			send_interface_message = {
				type = msg_landless_adventurer_nearby
				title = procure_estate_message_title
				left_icon = scope:actor
				right_icon = scope:recipient
				custom_tooltip = procure_estate_message_tt
			}
		}
	}
}

negotiate_settlement_interaction_effect = {
	# scope:actor = offerer
	# scope:recipient = adventurer
	# offered_titles = titles

	hidden_effect = {
		scope:recipient = {
			if = {
				limit = {
					NOT = { has_trait = adventurer }
				}
				add_trait = adventurer
			}
			every_courtier = {
				set_variable = {
					name = former_camp_leader
					value = scope:recipient
				}
				add_trait = adventurer_follower
			}
		}
	}

	# Determine hierarchy
	ep3_become_landed_save_liege_effect = {
		TITLE_GIVER = scope:actor
		ALWAYS_INDEPENDENT = no
		TITLE_LIST = offered_titles
	}
	# Negotiate settlement specific
	scope:recipient = {
		# End relevant wars
		every_character_war = {
			limit = {
				OR = {
					primary_attacker = scope:recipient
					primary_defender = scope:recipient
				}
			}
			end_war = white_peace
		}
		# Remove from relevant wars
		every_character_war = {
			limit = {
				NOR = {
					primary_attacker = scope:recipient
					primary_defender = scope:recipient
				}
				any_war_defender = {
					OR = {
						this = scope:actor
						this.top_liege = scope:actor.top_liege
					}
				}
			}
			remove_participant = scope:recipient
		}
	}
	# Resolve title, liege, government changes
	ep3_become_landed_transfer_effect = {
		TITLE_RECEIVER = scope:recipient
		TITLE_LIST = offered_titles
		TYPE = granted
		REASON = flag:negotiated
		ENNOBLED_ADVENTURER = flag:yes
	}
	# Effects on land giver
	scope:actor = {
		add_legitimacy = scope:negotiate_settlement_legitimacy_cost
		stress_impact = {
			greedy = minor_stress_impact_gain
			vengeful = minor_stress_impact_gain
		}
	}
	# Messages for nearby players
	create_landed_ruler_message_effect = {
		LANDED = scope:recipient
		FLAVOR_CHAR = scope:actor
		FLAVOR_TITLE = scope:new_primary_title
		REASON = flag:negotiated
	}
	# And, just in case it's failed, make sure that we've vassalised our new friend.
	hidden_effect = {
		if = {
			limit = {
				scope:recipient = {
					highest_held_title_tier < scope:actor.highest_held_title_tier
					top_liege = this
				}
			}
			create_title_and_vassal_change = {
				type = swear_fealty
				save_scope_as = change
			}
			scope:recipient = {
				change_liege = {
					liege = scope:actor
					change = scope:change
				}
			}
			resolve_title_and_vassal_change = scope:change
		}
	}
}

create_landed_ruler_message_effect = {
	hidden_effect = {
		$LANDED$ = { save_scope_as = landed }
		$FLAVOR_CHAR$ = { save_scope_as = landed_flavor_char }
		$FLAVOR_TITLE$ = { save_scope_as = landed_flavor_title }
		save_scope_value_as = {
			name = landed_creation_reason
			value = $REASON$
		}
		every_player = {
			limit = {
				NOR = {
					this = scope:landed
					this = scope:landed_flavor_char
				}
				top_liege = scope:landed.top_liege
			}
			send_interface_message = {
				type = msg_landless_adventurer_nearby
				title = nearby_landed_ruler_created_message_title
				left_icon = scope:landed
				right_icon = scope:landed_flavor_char
				switch = {
					trigger = scope:landed_creation_reason
					flag:purchased = { custom_tooltip = nearby_landed_ruler_created_message_purchased_tt }
					flag:negotiated = { custom_tooltip = nearby_landed_ruler_created_message_negotiated_tt }
					flag:seized_pastureland = { custom_tooltip = nearby_landed_ruler_created_message_seized_pastureland_tt }
					flag:conquest_supporter = { custom_tooltip = nearby_landed_ruler_created_message_conquest_support_tt }
					flag:conquest = { custom_tooltip = nearby_landed_ruler_created_message_conquest_tt }
					flag:seize_realm = { custom_tooltip = nearby_landed_ruler_created_message_seize_realm_tt }
					flag:culture_champion = { custom_tooltip = nearby_landed_ruler_created_message_culture_champion_tt }
					fallback = { custom_tooltip = nearby_landed_ruler_created_message_fallback_tt }
				}
			}
		}
	}
}

conquest_supporter_memory_variable_effect = {
	set_variable = {
		name = ascended_throne_reason
		value = flag:conquest_supporter
		weeks = 1
	}
	set_variable = {
		name = ascended_throne_extra
		value = scope:supporter
		weeks = 1
	}
}

ep3_laamp_supporter_invalidated_effect = {
	if = {
		limit = { exists = var:adventurer_invasion_supporter }
		save_scope_as = adventurer
		var:adventurer_invasion_supporter ?= { save_scope_as = supporter }
		var:adventurer_invasion_target ?= { save_scope_as = war_target }
	}
	else_if = {
		limit = { exists = var:adventurer_invasion_supportee }
		var:adventurer_invasion_supportee ?= { save_scope_as = adventurer }
		var:adventurer_invasion_target ?= { save_scope_as = target }
		save_scope_as = supporter
	}
	if = {
		limit = {
			exists = scope:adventurer
			exists = scope:supporter
			exists = scope:war_target
		}
		scope:adventurer ?= {
			send_interface_message = {
				type = event_landless_adventurer_neutral
				title = ep3_laamp_sponsor_invalidated_title
				left_icon = scope:supporter
				right_icon = scope:war_target
				remove_variable = adventurer_invasion_supporter
				remove_variable = adventurer_invasion_target
				custom_tooltip = ep3_laamp_sponsor_invalidated_adventurer
			}
		}
		scope:supporter ?= {
			send_interface_message = {
				type = event_landless_adventurer_neutral
				title = ep3_laamp_sponsor_invalidated_title
				left_icon = scope:attacker
				right_icon = scope:war_target
				remove_variable = adventurer_invasion_supportee
				remove_variable = adventurer_invasion_target
				custom_tooltip = ep3_laamp_sponsor_invalidated_supporter
				if = {
					limit = { exists = var:adventurer_invasion_join_war }
					set_variable = {
						name = adventurer_invasion_join_war
						value = scope:actor
						years = 5
					}
				}
				if = {
					limit = { exists = var:adventurer_invasion_request_soldiers }
					set_variable = {
						name = adventurer_invasion_request_soldiers
						value = scope:actor
						years = 5
					}
				}
			}
		}
	}
}

ep3_laamp_support_variable_cleanup_effect = {
	if = {
		limit = { exists = var:adventurer_invasion_supporter }
		save_scope_as = adventurer
		var:adventurer_invasion_supporter ?= { save_scope_as = supporter }
		var:adventurer_invasion_target ?= { save_scope_as = war_target }
	}
	else_if = {
		limit = { exists = var:adventurer_invasion_supportee }
		var:adventurer_invasion_supportee ?= { save_scope_as = adventurer }
		var:adventurer_invasion_target ?= { save_scope_as = war_target }
		save_scope_as = supporter
	}
	scope:adventurer ?= {
		remove_variable = adventurer_invasion_supporter
		remove_variable = adventurer_invasion_target
	}
	scope:supporter ?= {
		remove_variable = adventurer_invasion_supportee
		remove_variable = adventurer_invasion_target
	}
}

seize_realm_scheme_success_effect = {
	# scope:target = ruler
	# scope:owner = adventurer

	hidden_effect = {
		scope:owner = {
			if = {
				limit = {
					NOT = { has_trait = adventurer }
				}
				add_trait = adventurer
			}
			every_courtier = {
				set_variable = {
					name = former_camp_leader
					value = scope:owner
				}
				add_trait = adventurer_follower
			}
		}
	}

	scope:target = {
		save_scope_as = background_dungeon_scope
		save_scope_as = background_courtyard_scope
		save_scope_as = background_throne_room_scope
		every_held_title = {
			limit = {
				is_leased_out = no
				is_landless_type_title = no
				is_head_of_faith = no
			}
			add_to_list = seized_titles
		}
		ordered_in_list = {
			list = seized_titles
			order_by = tier
			save_scope_as = realm_title
		}
	}
	# Determine independent vassals
	adventurer_realm_destabilisation_list_effect = {
		TITLE_GIVER = scope:target
		TITLE_RECEIVER = scope:owner
		TITLE = scope:target.primary_title
	}
	# Determine hierarchy
	ep3_become_landed_save_liege_effect = {
		TITLE_GIVER = scope:target
		ALWAYS_INDEPENDENT = no
		TITLE_LIST = seized_titles
	}
	# Resolve title, liege, government changes
	ep3_become_landed_transfer_effect = {
		TITLE_RECEIVER = scope:owner
		TITLE_LIST = seized_titles
		TYPE = usurped
		REASON = flag:seize_realm
		ENNOBLED_ADVENTURER = flag:yes
	}
	# Old ruler's fate
	if = {
		limit = { exists = scope:death }
		scope:target = {
			death = { death_reason = death_fight }
		}
	}
	else_if = {
		limit = { exists = scope:imprison }
		scope:target = { add_character_flag = was_abducted_block_notification_event }
		rightfully_imprison_character_less_verbose_effect = {
			TARGET = scope:target
			IMPRISONER = scope:owner
		}
	}
	add_clan_unity_interaction_effect = {
		CHARACTER = scope:owner
		TARGET = scope:target
		VALUE = medium_unity_loss
		DESC = clan_unity_seize_realm_attempted.desc
		REVERSE_NON_HOUSE_TARGET = no
	}
	successful_seize_realm_opinion_effect = {
		VICTIM = scope:target
		PLOTTER = scope:owner
	}
	# Vassals break away
	adventurer_realm_destabilisation_transfer_effect = {
		TITLE_RECEIVER = scope:owner
		TITLE_GIVER = scope:target
		TITLE = scope:realm_title
		TITLE_LIST = seized_titles
	}
	# Messages for nearby players
	create_landed_ruler_message_effect = {
		LANDED = scope:owner
		FLAVOR_CHAR = scope:target
		FLAVOR_TITLE = scope:realm_title
		REASON = flag:seize_realm
	}
	scope:owner = {
		create_character_memory = {
			type = seized_realm_memory
			participants = { deposed = scope:target }
		}
		ordered_memory = {
			memory_type = seized_realm_memory
			order_by = memory_creation_date
			if = {
				limit = {
					NOT = { exists = var:realm }
				}
				set_variable = {
					name = realm
					value = scope:realm_title
				}
			}
		}
	}
	scope:target = {
		create_character_memory = {
			type = realm_seized_memory
			participants = { deposer = scope:owner }
		}
		ordered_memory = {
			memory_type = realm_seized_memory
			order_by = memory_creation_date
			if = {
				limit = {
					NOT = { exists = var:realm }
				}
				set_variable = {
					name = realm
					value = scope:realm_title
				}
			}
		}
	}
}

seize_realm_scheme_failure_effect = {
	scope:scheme = { end_scheme = yes }
 	#Add Watchful Modifier to the target
	scope:target = {
		save_scope_as = background_dungeon_scope
		save_scope_as = background_courtyard_scope
		save_scope_as = background_throne_room_scope
		ordered_held_title = {
			limit = {
				is_leased_out = no
				is_landless_type_title = no
				is_head_of_faith = no
			}
			order_by = tier
			save_scope_as = realm_title
		}
		show_as_tooltip = {
			add_character_modifier = {
				modifier = watchful_modifier
				days = watchful_modifier_duration
			}
		}
	}
	# Old ruler's fate
	if = {
		limit = { exists = scope:death }
		scope:owner = {
			death = { death_reason = death_fight }
		}
	}
	else = {
		scope:owner = {
			create_character_memory = {
				type = seized_realm_failed_memory
				participants = { deposed = scope:target }
			}
			ordered_memory = {
				memory_type = seized_realm_failed_memory
				order_by = memory_creation_date
				if = {
					limit = {
						NOT = { exists = var:realm }
					}
					set_variable = {
						name = realm
						value = scope:realm_title
					}
				}
			}
		}
		if = {
			limit = { exists = scope:imprison }
			scope:owner = { add_character_flag = was_abducted_block_notification_event }
			rightfully_imprison_character_less_verbose_effect = {
				TARGET = scope:owner
				IMPRISONER = scope:target
			}
			hidden_effect = { change_prison_type = dungeon }
		}
	}
	attempted_seize_realm_opinion_effect = {
		VICTIM = scope:target
		PLOTTER = scope:owner
	}
	# If we're a clan this affects unity
	add_clan_unity_interaction_effect = {
		CHARACTER = scope:owner
		TARGET = scope:target
		VALUE = medium_unity_loss
		DESC = clan_unity_seize_realm_attempted.desc
		REVERSE_NON_HOUSE_TARGET = no
	}
	scope:target = {
		create_character_memory = {
			type = realm_seized_failed_memory
			participants = { deposer = scope:owner }
		}
		ordered_memory = {
			memory_type = realm_seized_failed_memory
			order_by = memory_creation_date
			if = {
				limit = {
					NOT = { exists = var:realm }
				}
				set_variable = {
					name = realm
					value = scope:realm_title
				}
			}
		}
	}
}

successful_seize_realm_opinion_effect = {
	$VICTIM$ = {
		if = {
			limit = { is_alive = yes }
			add_opinion = {
				target = $PLOTTER$
				modifier = seized_my_realm_crime
			}
			set_relation_rival = {
				target = scope:owner
				reason = rival_seized_realm_reason
			}
		}
		every_spouse = {
			limit = {
				NOR = {
					this = $PLOTTER$
					is_spouse_of = $PLOTTER$
					is_close_family_of = $PLOTTER$
				}
			}
			add_to_temporary_list = close_family_seize_realm_opinion_list
		}
		every_close_family_member = {
			limit = {
				NOR = {
					this = $PLOTTER$
					is_spouse_of = $PLOTTER$
					is_close_family_of = $PLOTTER$
				}
			}
			add_to_temporary_list = close_family_seize_realm_opinion_list
		}
		every_in_list = {
			list = close_family_seize_realm_opinion_list
			custom = all_close_family_and_spouses
			add_opinion = {
				target = $PLOTTER$
				modifier = seized_close_family_realm_crime
			}
		}
	}
}

attempted_seize_realm_opinion_effect = {
	$VICTIM$ = {
		if = {
			limit = { is_alive = yes }
			add_opinion = {
				target = $PLOTTER$
				modifier = attempted_to_seize_my_realm_crime
			}
		}
		every_spouse = {
			limit = { NOT = { this = $PLOTTER$ } }
			add_to_temporary_list = close_family_seize_realm_opinion_list
		}
		every_close_family_member = {
			limit = { NOT = { this = $PLOTTER$ } }
			add_to_temporary_list = close_family_seize_realm_opinion_list
		}

		if = {
			limit = {
				any_in_list = { list = close_family_seize_realm_opinion_list }
			}
			every_in_list = {
				list = close_family_seize_realm_opinion_list
				custom = all_close_family_and_spouses
				add_opinion = {
					target = $PLOTTER$
					modifier = attempted_to_seize_realm_close_family_crime
				}
			}
		}

	}
}

adventurer_realm_destabilisation_list_effect = {
	$TITLE_RECEIVER$ = { save_scope_as = adventurer }
	$TITLE$ = { save_scope_as = title }
	$TITLE_GIVER$ = {
		save_scope_as = ruler
		# Determine vassal sentiment - calculated before ruler change
		hidden_effect = {
			every_vassal = {
				limit = {
					highest_held_title_tier >= tier_county
					save_temporary_scope_as = vassal_temp
					# Only vassals who will not *still* be de jure vassals of the title loser via other titles
					trigger_if = {
						limit = {
							$TITLE_GIVER$ = {
								any_held_title = {
									tier >= scope:title.tier
									this != scope:title
								}
							}
						}
						any_held_title = {
							target_is_de_jure_liege_or_above = scope:title
						}
					}
					trigger_if = {
						limit = {
							government_allows = administrative
						}
						scope:title = {
							OR = {
								AND = {
									scope:ruler.primary_title.tier = tier_kingdom
									tier < tier_kingdom
								}
								tier < tier_empire
							}
						}
					}
				}
				# Calculate how likely are they to not become your vassal
				random = {
					chance = 0
					### FAITH/CULTURE
					modifier = { # Cultural acceptance differences
						add = {
							value = "culture.cultural_acceptance(scope:adventurer.culture)"
							subtract = 100
							abs = yes
							divide = 5
						}
						culture = {
							this != scope:adventurer.culture
							cultural_acceptance = {
								target = scope:adventurer.culture
								value < 50
							}
							OR = {
								this = scope:ruler.culture
								"cultural_acceptance(scope:ruler.culture)" > "cultural_acceptance(scope:adventurer.culture)"
							}
						}
					}
					modifier = { # Zealous of other faiths more likely
						add = {
							value = ai_zeal
							multiply = 0.15
							multiply = "scope:vassal_temp.faith.faith_hostility_level(scope:adventurer.faith)"
							max = 25
						}
						ai_zeal > low_positive_zeal
						faith = {
							this != scope:adventurer.faith
							"faith_hostility_level(scope:adventurer.faith)" > 0
						}
					}
					modifier = { # Theocatic Vassals of different faith more likely
						factor = 2
						has_government = theocracy_government
						faith != scope:adventurer.faith
					}
					### DISTANCE
					modifier = { # Distant vassals more likely
						add = {
							value = 0
							add = scope:distance
							if = {
								limit = { scope:distance >= squared_distance_medium }
								add = scope:distance
								multiply = 0.0001
							}
							max = 25
						}
						"capital_county.squared_distance(scope:ruler.capital_county)" >= squared_distance_medium
						capital_county = {
							save_temporary_scope_value_as = {
								name = distance
								value = "squared_distance(scope:ruler.capital_county)"
							}
						}
					}
					### PERSONALITY
					ai_value_modifier = {
						ai_boldness = 0.15
						ai_energy = 0.15
						ai_greed = 0.15
						ai_honor = -0.15
					}
					### OPINION
					opinion_modifier = { # More likely if dislikes adventurer
						opinion_target = scope:adventurer
						multiplier = -0.25
					}
					opinion_modifier = { # More likely if liked old ruler
						opinion_target = scope:ruler
						multiplier = 0.1
					}
					### STRENGTH
					modifier = { # Small vassals less likely
						add = -15
						tier_difference = {
							target = scope:ruler
							value <= -2
						}
					}
					modifier = {
						add = -25
						realm_size < tiny_realm_size
					}
					modifier = { # Powerful vassals more likely
						factor = 1.25
						is_powerful_vassal = yes
					}
					modifier = { # Powerful vassals more likely
						add = {
							value = highest_held_title_tier
							multiply = 5
						}
					}
					### RELEVANCE
					modifier = { # Fringe vassals more likely
						factor = 1.25
						any_sub_realm_county = {
							any_neighboring_county = { holder.top_liege != scope:ruler }
						}
					}
					modifier = { # Core vassals less likely
						factor = 0.75
						scope:ruler.capital_county.kingdom = {
							any_de_jure_county = { this = scope:vassal_temp.capital_county }
						}
					}
					### FAMILY
					modifier = { # Relatives of deposed more likely
						factor = 1.1
						is_close_family_of = scope:ruler
						NOT = { is_close_family_of = scope:adventurer }
					}
					modifier = { # Dynasts of deposed more likely
						factor = 1.1
						dynasty ?= {
							this = scope:ruler.dynasty
							this != scope:adventurer.dynasty
						}
					}
					modifier = { # Relatives of adventurer less likely
						factor = 0.75
						is_close_family_of = scope:adventurer
						NOT = { is_close_family_of = scope:ruler }
					}
					modifier = { # Dynasts of adventurer less likely
						factor = 0.75
						dynasty ?= {
							this = scope:adventurer.dynasty
							this != scope:ruler.dynasty
						}
					}
					### HOOKS
					modifier = {
						factor = 0
						scope:adventurer = { has_hook = scope:vassal_temp }
					}
					modifier = {
						factor = 2
						scope:ruler = { has_hook = scope:vassal_temp }
					}
					### TIER
					modifier = {
						factor = 1.5
						scope:ruler.primary_title.tier = tier_empire
					}
					modifier = {
						factor = 1.25
						scope:ruler.primary_title.tier = tier_kingdom
					}
					max = 95
					add_to_list = independent_vassals
				}
			}
			# Save heirs for claimant wars
			scope:title = {
				every_title_heir = {
					limit = {
						save_temporary_scope_as = heir_temp
						scope:title = {
							place_in_line_of_succession = {
								target = scope:heir_temp
								value <= 5
							}
						}
					}
					add_to_list = heirs
				}
			}
		}
	}
}

adventurer_realm_destabilisation_civil_war_effect = {
	$TITLE_GIVER$ = { save_scope_as = ruler }
	$TITLE_RECEIVER$ = { save_scope_as = adventurer }
	$TITLE$ = { save_scope_as = title }
	if = {
		limit = {
			any_in_list = { list = independent_vassals }
		}
		scope:ruler = {
			if = {
				limit = { is_alive = yes }
				save_scope_as = claimant
			}
			else_if = {
				limit = {
					any_in_list = { list = heirs }
				}
				random_in_list = {
					list = heirs
					limit = { has_strong_claim_on = scope:realm }
					alternative_limit = { has_weak_claim_on = scope:realm }
					weight = {
						base = 1
						modifier = { add = age }
					}
					save_scope_as = claimant
				}
			}
			else_if = {
				limit = {
					scope:title = {
						any_claimant = {
							this != scope:adventurer
						}
					}
				}
				scope:title = {
					random_claimant = {
						limit = { has_strong_claim_on = scope:realm }
						alternative_limit = { has_weak_claim_on = scope:realm }
						weight = {
							base = 1
							modifier = { add = age }
						}
						save_scope_as = claimant
					}
				}
			}
			else = {
				ordered_in_list = {
					list = independent_vassals
					order_by = max_military_strength
					save_scope_as = claimant
				}
			}
		}
		# Vassals Breakaway
		ordered_in_list = {
			list = independent_vassals
			limit = {
				can_create_faction = {
					type = claimant_faction
					target = scope:adventurer
				}
			}
			order_by = max_military_strength
			save_scope_as = revolt_leader
			create_faction = {
				type = claimant_faction
				target = scope:adventurer
			}
			joined_faction = {
				save_scope_as = faction
				set_special_character = scope:claimant
				set_special_title = scope:realm
			}
		}
		every_in_list = {
			list = independent_vassals
			limit = {
				this != scope:revolt_leader
				can_join_faction = scope:faction
			}
			join_faction = scope:faction
		}
		scope:faction = {
			faction_start_war = { title = scope:realm }
		}
	}
}

adventurer_realm_destabilisation_transfer_effect = {
	$TITLE_RECEIVER$ = { save_scope_as = adventurer }
	$TITLE_GIVER$ = { save_scope_as = ruler }
	$TITLE$ = { save_scope_as = title }
	if = {
		limit = {
			any_in_list = { list = independent_vassals }
		}
		# Vassals Breakaway
		create_title_and_vassal_change = {
			type = independency
			add_claim_on_loss = yes
			save_scope_as = change
		}
		hidden_effect = {
			every_in_list = {
				list = independent_vassals
				save_temporary_scope_as = vassal_temp
				if = {
					limit = {
						scope:adventurer = { top_liege = this }
						scope:ruler = {
							NOT = {
								any_held_title = {
									this != scope:title
									any_in_de_jure_hierarchy = { this = scope:vassal_temp.primary_title }
								}
							}
						}
					}
					becomes_independent = { change = scope:change }
				}
				else_if = {
					limit = {
						scope:ruler = {
							NOT = {
								any_held_title = {
									this != scope:title
									any_in_de_jure_hierarchy = { this = scope:vassal_temp.primary_title }
								}
							}
						}
					}
					change_liege = {
						liege = scope:adventurer.liege
						change = scope:change
					}
				}
				add_opinion = {
					modifier = seized_lieges_realm_crime
					target = scope:adventurer
				}
			}
		}
		resolve_title_and_vassal_change = scope:change
	}
	create_title_and_vassal_change = {
		type = conquest
		add_claim_on_loss = yes
		save_scope_as = change
	}
	hidden_effect = {
		every_in_list = {
			list = $TITLE_LIST$
			limit = { tier >= tier_county }
			custom_tooltip = CONQUEST_CB_TITLE
			every_in_de_jure_hierarchy = {
				continue = { tier >= tier_duchy }
				limit = {
					tier >= tier_county
					holder ?= {
						OR = {
							this = scope:ruler
							target_is_liege_or_above = scope:ruler
						}
					}
				}
				save_temporary_scope_as = title_temp
				if = {
					limit = {
						holder != scope:adventurer
						OR = {
							holder = scope:ruler
							holder.highest_held_title_tier >= scope:title.tier
							scope:adventurer = { has_claim_on = scope:title_temp }
						}
					}
					add_to_temporary_list = titles_taken
				}
				else = {
					holder = {
						if = {
							limit = {
								liege = scope:ruler
								NOT = { is_in_list = independent_vassals }
							}
							add_to_temporary_list = vassals_taken
						}
					}
				}
			}
		}
	}
	hidden_effect = {
		every_in_list = {
			list = vassals_taken
			change_liege = {
				liege = scope:adventurer
				change = scope:change
			}
		}
	}
	resolve_title_and_vassal_change = scope:change
}

player_adventurer_contract_generation_on_domicile_moved_effect = {
	if = {
		limit = { player_adventurer_sufficient_distance_for_contract_spawn_trigger = yes }
		save_temporary_scope_as = char_temp
		if = { # Explorers
			limit = { has_realm_law = camp_purpose_explorers }
			populate_task_contracts_for_area = {
				location = scope:char_temp.location
				amount = 1
				group = { laamp_contracts_transport_group }
			}
		}
		else_if = { # Mercenaries
			limit = { has_realm_law = camp_purpose_mercenaries }
			populate_task_contracts_for_area = {
				location = scope:char_temp.location
				amount = 1
				group = { laamp_contracts_war_group }
			}
			ordered_independent_ruler = {
				limit = {
					in_diplomatic_range = scope:char_temp
					scope:char_temp = {
						can_create_task_contract = {
							type_name = laamp_join_war_contract
							employer = prev
						}
					}
				}
				order_by = {
					value = 0
					subtract = "capital_county.squared_distance(scope:char_temp.domicile.domicile_location)"
				}
				ordered_character_war = {
					limit = {
						ep3_adventurer_mercenary_war_trigger = {
							EMPLOYER = prev
							LAAMP = scope:char_temp
						}
					}
					order_by = war_total_participants_current_strength_value
					primary_defender ?= { save_scope_as = defender }
					primary_attacker ?= { save_scope_as = attacker }
					save_scope_as = war
					scope:char_temp = {
						spawn_join_war_contracts_effect = {
							WAR = scope:war
							LAAMP = scope:char_temp
							ATTACKER = scope:attacker
							DEFENDER = scope:defender
						}
					}
				}
			}
			debug_log = "WAR_1"
			debug_log_scopes = yes
		}
		populate_location_with_contracts_effect = {
			AREA_CHAR = scope:char_temp
			AMOUNT = 3
		}
		# Log that we visited this place.
		add_to_variable_list = {
			name = laamp_recently_visited_kingdoms
			target = scope:kingdom_temp
			years = 5
		}
	}
}

player_adventurer_contract_generation_on_wait_in_place_effect = {
	if = {
		limit = { player_adventurer_sufficient_distance_for_contract_spawn_trigger = yes }
		# Track where we are.
		set_variable = {
			name = contract_passive_spawn_location
			value = location.kingdom
		}
		# Reset the tally.
		set_variable = {
			name = contract_passive_spawn_tally
			value = 0
		}
		# Queue up an additional contract.
		trigger_event = {
			id = ep3_laamps.9981
			months = { 4 6 }
		}
	}
}

contract_passive_spawn_effect = {
	#count how many contracts you already have
	every_character_task_contract = {
		add_to_list = num_of_contracts_before
	}
	# G'is a contract.
	populate_location_with_contracts_effect = {
		AREA_CHAR = root
		AMOUNT = $SPAWN_CONTRACTS$
	}
	#count them again to see if the effect above spawned something
	every_character_task_contract = {
		add_to_list = num_of_contracts_after
	}
	set_local_variable = {
		name = current_value
		value = list_size:num_of_contracts_before
	}
	# Make sure we don't get too many of them just sitting in one place.
	while = {
		limit = {
			local_var:current_value < list_size:num_of_contracts_after
		}
		increment_variable_effect = {
			VAR = contract_passive_spawn_tally
			VAL = 1
		}
		change_local_variable = {
			name = current_value
			add = 1
		}
	}
}

#spawns a valid task contract for a landless adventurer
# root = landless adventurer
# TASK_CONTRACT_TYPE = type name of a task contract you want to spawn
# SPAWN_POINT = where you want the task contract to appear on the map
laamp_spawn_valid_task_contract = {
	$SPAWN_POINT$ = {
		save_scope_as = spawn_location
	}
	random_ruler = {
		limit = {
			root = {
				can_create_task_contract = {
					type_name = $TASK_CONTRACT_TYPE$
					employer = prev
				}
			}
		}
		save_scope_as = employer
	}
	create_task_contract = {
		task_contract_type = $TASK_CONTRACT_TYPE$
		task_contract_tier = scope:employer.task_contract_tier_value
		location = scope:spawn_location
		task_contract_employer = scope:employer
	}
}

points_of_interest_tracker_effect = {
	if = {
		limit = {
			government_has_flag = government_is_landless_adventurer
			location = {
				save_temporary_scope_as = province_temp
				OR = {
					# Building flags
					has_any_point_of_interest_flag = yes
					# Capitals
					AND = {
						province_owner.top_liege.capital_province ?= this
						province_owner.top_liege ?= { highest_held_title_tier >= tier_kingdom }
					}
					# Grand Cities
					this = province:4828 #Baghdad
					this = province:2575 #Rome
					this = province:496 #Constantinople
					# Points of interest
					this = province:747 # Halikarnassos
					this = province:6053 # Alexandria
					# Legend stuff
					any_legend = {
						legend_owner.capital_province ?= scope:province_temp
						OR = {
							legend_quality = illustrious
							legend_quality = mythical
						}
					}
				}
			}
		}
		if = {
			limit = {
				NOT = {
					has_variable = poi_visited
				}
			}
			set_variable = {
				name = poi_visited
				value = 1
			}
		}
		else = {
			change_variable = {
				name = poi_visited
				add = 1
			}
		}
	}
}

zealous_missionary_conversion_effect = {
	if = {
		limit = {
			exists = location.barony.holder
			government_has_flag = government_is_landless_adventurer
			has_character_flag = zealous_missionary_timer
			location.county ?= { hasan_evangelize_province_trigger = yes }
		}
		trigger_event = ep3_laamp_decision_event.1103
	}
}

war_contracts_completed_tracker_effect = {
	if = {
		limit = {
			government_has_flag = government_is_landless_adventurer
			has_variable = war_contract_tracker
		}
		change_variable = {
			name = war_contract_tracker
			add = 1
		}
	}
	else_if = {
		limit = {
			government_has_flag = government_is_landless_adventurer
		}
		set_variable = {
			name = war_contract_tracker
			value = 1
		}
	}
}

bandit_king_maa_spawn_effect = {

	save_scope_as = bandit_king
	if = {
		limit = {
			has_character_modifier = bandit_king_modifier
		}
		set_variable = {
			name = maa_number
			value = 1
		}
		if = {
			limit = {
				scope:extra_reward ?= flag:yes
			}
			change_variable = {
				name = maa_number
				add = 2
			}
		}
		if = {
			limit = {
				calc_true_if = {
					amount >= 4
					has_trait_xp = {
						trait = gallowsbait
						track = bandit
						value >= 60
					}
					has_trait_xp = {
						trait = gallowsbait
						track = marauder
						value >= 60
					}
					has_trait_xp = {
						trait = gallowsbait
						track = poacher
						value >= 60
					}
					has_trait_xp = {
						trait = gallowsbait
						track = thief
						value >= 60
					}
					has_trait_xp = {
						trait = gallowsbait
						track = trickster
						value >= 60
					}
				}
			}
			change_variable = {
				name = maa_number
				add = 2
			}
		}
		else_if = {
			limit = {
				calc_true_if = {
					amount >= 2
					has_trait_xp = {
						trait = gallowsbait
						track = bandit
						value >= 60
					}
					has_trait_xp = {
						trait = gallowsbait
						track = marauder
						value >= 60
					}
					has_trait_xp = {
						trait = gallowsbait
						track = poacher
						value >= 60
					}
					has_trait_xp = {
						trait = gallowsbait
						track = thief
						value >= 60
					}
					has_trait_xp = {
						trait = gallowsbait
						track = trickster
						value >= 60
					}
				}
			}
			change_variable = {
				name = maa_number
				add = 1
			}
		}
		else_if = {
			limit = {
				OR = {
					has_trait_xp = {
						trait = gallowsbait
						track = bandit
						value >= 60
					}
					has_trait_xp = {
						trait = gallowsbait
						track = marauder
						value >= 60
					}
					has_trait_xp = {
						trait = gallowsbait
						track = poacher
						value >= 60
					}
					has_trait_xp = {
						trait = gallowsbait
						track = thief
						value >= 60
					}
					has_trait_xp = {
						trait = gallowsbait
						track = trickster
						value >= 60
					}
				}
			}
			change_variable = {
				name = maa_number
				add = 1
			}
		}
		custom_tooltip = bandit_king_maa_spawn_effect_desc #otherwise the tooltip looks crazy
		hidden_effect = {
			random_list = {
				1 = {
					spawn_army = {
						men_at_arms = {
							type = maa_poachers
							stacks = var:maa_number
						}
						inheritable = no
						uses_supply = yes
						location = scope:bandit_king.location
						name = ep3_poachers_army
					}
					spawn_army = {
						men_at_arms = {
							type = maa_thieves
							stacks = var:maa_number
						}
						inheritable = no
						uses_supply = yes
						location = scope:bandit_king.location
						name = ep3_bandits_army
					}
				}
				1 = {
					spawn_army = {
						men_at_arms = {
							type = maa_bandits
							stacks = var:maa_number
						}
						inheritable = no
						uses_supply = yes
						location = scope:bandit_king.location
						name = ep3_bandits_army
					}
					spawn_army = {
						men_at_arms = {
							type = maa_thieves
							stacks = var:maa_number
						}
						inheritable = no
						uses_supply = yes
						location = scope:bandit_king.location
						name = ep3_bandits_army
					}
				}
			}
		}
	}
}

absolve_crusaders_of_gallowsbait_effect = {
	if = {
		limit = {
			has_trait_xp = {
				trait = gallowsbait
				track = bandit
				value >= 1
			}
		}
		add_trait_xp = {
			trait = gallowsbait
			track = bandit
			value = crusader_absolution_xp_removed_per_track_value
		}
	}
	if = {
		limit = {
			has_trait_xp = {
				trait = gallowsbait
				track = trickster
				value >= 1
			}
		}
		add_trait_xp = {
			trait = gallowsbait
			track = trickster
			value = crusader_absolution_xp_removed_per_track_value
		}
	}
	if = {
		limit = {
			has_trait_xp = {
				trait = gallowsbait
				track = thief
				value >= 1
			}
		}
		add_trait_xp = {
			trait = gallowsbait
			track = thief
			value = crusader_absolution_xp_removed_per_track_value
		}
	}
	if = {
		limit = {
			has_trait_xp = {
				trait = gallowsbait
				track = poacher
				value >= 1
			}
		}
		add_trait_xp = {
			trait = gallowsbait
			track = poacher
			value = crusader_absolution_xp_removed_per_track_value
		}
	}
	if = {
		limit = {
			has_trait_xp = {
				trait = gallowsbait
				track = marauder
				value >= 1
			}
		}
		add_trait_xp = {
			trait = gallowsbait
			track = marauder
			value = crusader_absolution_xp_removed_per_track_value
		}
	}
	if = {
		limit = {
			has_trait_xp = {
				trait = gallowsbait
				track = bandit
				value <= crusader_absolution_min_xp_to_remove_trait_value
			}
			has_trait_xp = {
				trait = gallowsbait
				track = trickster
				value <= crusader_absolution_min_xp_to_remove_trait_value
			}
			has_trait_xp = {
				trait = gallowsbait
				track = thief
				value <= crusader_absolution_min_xp_to_remove_trait_value
			}
			has_trait_xp = {
				trait = gallowsbait
				track = poacher
				value <= crusader_absolution_min_xp_to_remove_trait_value
			}
			has_trait_xp = {
				trait = gallowsbait
				track = marauder
				value <= crusader_absolution_min_xp_to_remove_trait_value
			}
		}
		remove_trait = gallowsbait
	}
}

temporarily_lock_visit_settlement_effect = {
	set_variable = {
		name = ep3_laamp_decision_1000_is_visiting
		days = visit_settlement_lock_days
	}
}

##################################################
# Admin Government
##################################################

torture_grants_influence_effect = {
	if = {
		limit = {
			domicile ?= { has_domicile_parameter = estate_torture_grants_influence }
		}
		change_influence = medium_influence_gain
	}
}

create_noble_family_effect = {
	debug_log = create_noble_family_title
	save_scope_as = new_noble_family_holder
	$GOVERNMENT_GIVER$ = { save_scope_as = government_giver }
	hidden_effect = { # NF can only be held by house heads
		if = { # Start by checking that we are not the house head already
			limit = {
				exists = house.house_head
				NOT = { house.house_head = scope:new_noble_family_holder }
			}
			if = { # If not, let's see if it would be reasonable to become house head...
				limit = {
					house.house_head ?= {
						is_ai = yes # Don't steal house head from a player
						OR = {
							# Within same realm but less important
							AND = {
								top_liege = scope:new_noble_family_holder.top_liege
								OR = {
									is_ruler = no
									highest_held_title_tier < scope:new_noble_family_holder.highest_held_title_tier
								}
							}
							# Wanderer
							NOT = { exists = liege }
						}
					}
				}
				house = { set_house_head = scope:new_noble_family_holder }
			}
			else = { # ... Otherwise, we create a cadet branch
				create_cadet_branch = {}
			}
		}
	}
	scope:government_giver = {
		if = {
			limit = {
				scope:new_noble_family_holder = {
					NOT = {
						any_held_title = { is_noble_family_title = yes }
					}
				}
			}
			switch = {
				trigger = has_government
				japan_administrative_government = { # Japan has count level NFs
					scope:new_noble_family_holder = {
						give_noble_family_title = {
							name = noble_family_name
							tier = county
							article = DEFAULT_TITLE_NAME_ARTICLE
							government = japan_administrative_government
							save_scope_as = new_title
						}
					}
				}
				japan_feudal_government = { # Japan has count level NFs
					scope:new_noble_family_holder = {
						give_noble_family_title = {
							name = noble_family_name
							tier = county
							article = DEFAULT_TITLE_NAME_ARTICLE
							government = japan_feudal_government
							save_scope_as = new_title
						}
					}
				}
				celestial_government = { # China has different government
					scope:new_noble_family_holder = {
						give_noble_family_title = {
							name = noble_family_name
							tier = county
							article = DEFAULT_TITLE_NAME_ARTICLE
							government = celestial_government
							save_scope_as = new_title
						}
						trigger_event = {
							id = tgp_china_career.0001
							days = { 2 5 }
						}
					}
				}
				meritocratic_government = { # Meritocratic has different government
					scope:new_noble_family_holder = {
						give_noble_family_title = {
							name = noble_family_name
							tier = county
							article = DEFAULT_TITLE_NAME_ARTICLE
							government = meritocratic_government
							save_scope_as = new_title
						}
					}
				}
				steppe_admin_government = { # Steppe Admin has different government
					scope:new_noble_family_holder = {
						give_noble_family_title = {
							name = noble_family_name
							tier = county
							article = DEFAULT_TITLE_NAME_ARTICLE
							government = steppe_admin_government
							save_scope_as = new_title
						}
					}
				}
				fallback = {
					scope:new_noble_family_holder = {
						give_noble_family_title = {
							name = noble_family_name
							tier = duchy
							article = DEFAULT_TITLE_NAME_ARTICLE
							government = administrative_government
							save_scope_as = new_title
						}
					}
				}
			}
		}
		scope:new_title.holder ?= {
			save_scope_as = noble_family_head
			scope:new_title = { set_coa = scope:noble_family_head.house }
		}
		custom_description = { text = create_noble_family_tt }

		#Notifications
		every_player = {
			limit = {
				top_liege = scope:new_noble_family_holder.top_liege
				this != scope:new_noble_family_holder
				# China has hundreds of Noble Families, it gets spammy
				NOT = { government_allows = merit }
			}
			trigger_event = {
				id = ep3_emperor_yearly.2410
				days = 1
			}
		}
	}

	debug_log_scopes = yes
}

increase_governance_effect = {
	# VALUE - The amount of XP added to the Governor trait/increased chance to gain the Governor trait
	save_scope_value_as = {
		name = governor_xp_gain
		value = {
			value = $VALUE$
			if = {
				limit = {
					exists = scope:task_contract
				}
				multiply = governance_task_contract_tier_value

				if = {
					limit = {
						$VALUE$ > 0
						domicile ?= { has_domicile_parameter = estate_governor_trait_xp_bonus_for_contracts }
					}
					multiply = {
						value = 1
						add = estate_governance_contract_bonus_value
					}
				}
			}
		}
	}
	# Double-check if you have the governor trait - If not, let's make sure you get it
	if = {
		limit = {
			NOT = { has_trait = governor }
			is_governor = yes
		}
		add_trait = governor
	}
	# If you have the trait, let's increase your XP for it
	else_if = {
		limit = {
			has_trait = governor
		}
		add_trait_xp = {
			trait = governor
			value = scope:governor_xp_gain
		}
	}
}

spawn_governance_contract_effect = {
	save_scope_as = governor
	# Select the Contract Tier (somewhat randomized, based on your experience as a governor)
	random_list = {
		30 = {
			save_scope_value_as = {
				name = governance_task_contract_tier
				value = define:NTaskContract|LOW_TASK_CONTRACT_TIER
			}
		}
		20 = {
			save_scope_value_as = {
				name = governance_task_contract_tier
				value = define:NTaskContract|MEDIUM_TASK_CONTRACT_TIER
			}

			modifier = {
				add = 10
				has_trait = governor
			}
			modifier = {
				add = 10
				has_trait = governor
				has_trait_xp = {
					trait = governor
					value >= 40
				}
			}
		}
		10 = {
			save_scope_value_as = {
				name = governance_task_contract_tier
				value = define:NTaskContract|HIGH_TASK_CONTRACT_TIER
			}

			modifier = {
				add = 10
				has_trait = governor
			}
			modifier = {
				add = 10
				has_trait = governor
				has_trait_xp = {
					trait = governor
					value >= 40
				}
			}
			modifier = {
				add = 20
				has_trait = governor
				has_trait_xp = {
					trait = governor
					value >= 80
				}
			}
		}
	}

	# Select which contract to create
	trigger_event = {
		on_action = spawn_admin_governance_contract_on_action
	}
	
	play_sound_effect = "event:/DLC/EP3/SFX/Stingers/Byzantine_Flavor/ep3_mx_sting_byzantineflavor_become_governor"
}

manage_new_governance_contract_effect = {
	if = {
		limit = { exists = scope:target_province }
		if = {
			limit = {
				NOT = { has_character_flag = admin_governance_frequency_cooldown }
			}
			add_character_flag = { flag = admin_governance_frequency_cooldown years = 6 }
		}
		send_interface_message = {
			type = msg_governance_contracts
			title = msg_governance_contract_appear.t
			desc = msg_governance_contract_appear.desc
			right_icon = scope:target_province.county
		}
	}
	if = {
		limit = {
			is_ai = yes
			exists = scope:new_governance_issue
		}
		accept_task_contract = scope:new_governance_issue
	}
}

generate_governance_outcome_effect = {
	# INFO: We use this effect to randomize the options you get when doing a governor contract.
	# $OPTIONS$ is the number of options the event has - Never use less than four, and try to have six if possible.

	# Unlock a bonus option if you have enough exp in the Governor trait - We do this here (and not in the option) to avoid blocking the option due to exp decay (if game is unpaused).
	if = {
		limit = {
			has_trait = governor
			has_trait_xp = {
				trait = governor
				value >= 50
			}
		}
		save_scope_as = governance_option_a
	}

	# Check if you have the Governor trait
	if = {
		limit = { # If you have the trait with at least rank 1, we generate an extra option.
			has_trait = governor
			has_trait_xp = {
				trait = governor
				value >= 25
			}
		}
		save_scope_value_as = { name = governance_number_of_options value = 3 }
	}
	else = { # Otherwise, you only get two base options.
		save_scope_value_as = { name = governance_number_of_options value = 2 }
	}

	# Generate the options
	set_local_variable = {
		name = current_value
		value = 0
	}
	while = {
		limit = {
			local_var:current_value < scope:governance_number_of_options
		}
		random_list = {
			# There is no option A, as A should be unlocked for having the Governor trait at rank 2 (which is done in the corresponding event)
			20 = {
				trigger = {
					NOT = { exists = scope:governance_option_b }
				}
				save_scope_value_as = {
					name = governance_option_b
					value = yes
				}
				change_local_variable = {
					name = current_value
					add = 1
				}
			}
			20 = {
				trigger = {
					NOT = { exists = scope:governance_option_c }
				}
				save_scope_value_as = {
					name = governance_option_c
					value = yes
				}
				change_local_variable = {
					name = current_value
					add = 1
				}
			}
			20 = {
				trigger = {
					NOT = { exists = scope:governance_option_d }
				}
				save_scope_value_as = {
					name = governance_option_d
					value = yes
				}
				change_local_variable = {
					name = current_value
					add = 1
				}
			}
			20 = {
				trigger = {
					NOT = { exists = scope:governance_option_e }
					$OPTIONS$ >= 5
				}
				save_scope_value_as = {
					name = governance_option_e
					value = yes
				}
				change_local_variable = {
					name = current_value
					add = 1
				}
			}
			20 = {
				trigger = {
					NOT = { exists = scope:governance_option_f }
					$OPTIONS$ >= 6
				}
				save_scope_value_as = {
					name = governance_option_f
					value = yes
				}
				change_local_variable = {
					name = current_value
					add = 1
				}
			}
		}
	}
}

remove_other_eparch_modifiers_effect = {
	hidden_effect = { # No need to show this
		# Let's check for the county opinion modifier first
		scope:liege ?= {
			# We check and scope to all counties to make sure we remove any stray modifiers in case the capital is moved, etc.
			if = {
				limit = {
					any_realm_county = {
						any_county_province = {
							has_province_modifier = ep3_eparch_county_opinion_modifier
						}
					}
				}
				every_realm_county = {
					limit = {
						any_county_province = {
							has_province_modifier = ep3_eparch_county_opinion_modifier
						}
					}
					every_county_province = {
						limit = {
							has_province_modifier = ep3_eparch_county_opinion_modifier
						}
						remove_province_modifier = ep3_eparch_county_opinion_modifier
					}
				}
			}
		}
		
		# Next is the troop modifier
		scope:liege ?= {
			# We check and scope to all counties to make sure we remove any stray modifiers in case the capital is moved, etc.
			if = {
				limit = {
					any_realm_county = {
						any_county_province = {
							has_province_modifier = ep3_eparch_troops_modifier
						}
					}
				}
				every_realm_county = {
					limit = {
						any_county_province = {
							has_province_modifier = ep3_eparch_troops_modifier
						}
					}
					every_county_province = {
						limit = {
							has_province_modifier = ep3_eparch_troops_modifier
						}
						remove_province_modifier = ep3_eparch_troops_modifier
					}
				}
			}
		}
		
		# Next is the county control modifier
		scope:liege ?= {
			# We check and scope to all counties to make sure we remove any stray modifiers in case the capital is moved, etc.
			if = {
				limit = {
					any_realm_county = {
						any_county_province = {
							has_province_modifier = ep3_eparch_control_modifier
						}
					}
				}
				every_realm_county = {
					limit = {
						any_county_province = {
							has_province_modifier = ep3_eparch_control_modifier
						}
					}
					every_county_province = {
						limit = {
							has_province_modifier = ep3_eparch_control_modifier
						}
						remove_province_modifier = ep3_eparch_control_modifier
					}
				}
			}
		}
		
		# And finally, the development modifier
		scope:liege ?= {
			# We check and scope to all counties to make sure we remove any stray modifiers in case the capital is moved, etc.
			if = {
				limit = {
					any_realm_county = {
						any_county_province = {
							has_province_modifier = ep3_eparch_development_modifier
						}
					}
				}
				every_realm_county = {
					limit = {
						any_county_province = {
							has_province_modifier = ep3_eparch_development_modifier
						}
					}
					every_county_province = {
						limit = {
							has_province_modifier = ep3_eparch_development_modifier
						}
						remove_province_modifier = ep3_eparch_development_modifier
					}
				}
			}
		}
	}
}

eparch_neglecting_duty_effect = {
	custom_tooltip = {
		text = eparch_neglecting_duty_warning_tt
		
		# We check if you have neglected duties in the past
		if = {
			limit = {
				exists = var:eparch_neglecting_duty
			}
			# If you have, let's first increase the variable
			change_variable = { name = eparch_neglecting_duty add = 5 }
			
			# Then check if the liege notices and decide to take action
			random = {
				chance = {
					# Base value - Increases with each neglecting action
					value = var:eparch_neglecting_duty
					
					# Add the difference in intrigue skill
					add = {
						value = liege.intrigue
						subtract = intrigue
					}
					
					# Add the difference in influence level
					add = {
						value = liege.influence_level
						subtract = influence_level
						multiply = 5
					}
					
					# Lower the chance if you belong to a powerful or dominant family
					if = {
						limit = {
							house ?= { is_powerful_family = yes }
						}
						subtract = 10
					}
					if = {
						limit = {
							house ?= { is_dominant_family = yes }
						}
						subtract = 20
					}
					
					min = 5
					max = 90
				}
				
				# The liege have noticed - We reduce the variable slightly as a result (but never below 0)
				if = {
					limit = {
						exists = var:eparch_neglecting_duty
						var:eparch_neglecting_duty >= 20
					}
					change_variable = { name = eparch_neglecting_duty subtract = 20 }
				}
				else = {
					set_variable = { name = eparch_neglecting_duty value = 0 }
				}
				
				liege = {
					trigger_event = { id = ep3_eparch_event.9000 days = { 10 90 } }
				}
			}
		}
		else = { # If you haven't, we'll set the variable and give you a free pass (you only get it for your very first time though)
			set_variable = { name = eparch_neglecting_duty value = 0 }
		}
	}
}

add_influence_attacker_victory_effect = {
	scope:attacker = {
		if = {
			limit = { government_has_flag = government_has_influence }
			change_influence = major_influence_gain
		}
	}
}

add_influence_attacker_defeat_effect = {
	scope:defender = {
		if = {
			limit = { government_has_flag = government_has_influence }
			change_influence = medium_influence_gain
		}
	}
}

admin_change_government_effect = {
	# Make sure you only use this effect on characters you are sure should change government! Since we don't do any extended triggers here.
	# For a consistent behaviour, this effect is based on "convert_whole_realm_to_feudalism_effect"

	# First, let's see if the character only has their noble family title - then we don't bother changing their government
	# We only destroy the family title to make sure it doesn't linger
	if = {
		limit = {
			is_landed = no
			any_held_title = {
				is_noble_family_title = yes
			}
			NOT = {
				any_held_title = {
					is_noble_family_title = no
				}
			}
		}
		every_held_title = {
			limit = {
				is_noble_family_title = yes
			}
			save_temporary_scope_as = family_title
			prev = { destroy_title = scope:family_title }
		}
	}

	# If not, let's change the government type
	# If liege has clan - Become clan!
	else_if = {
		limit = {
			top_liege != this
			OR = {
				liege = { government_has_flag = government_is_clan }
				AND = {
					liege = { government_has_flag = government_is_tribal }
					religion = religion:islam_religion
				}
			}
		}
		change_government = clan_government
	}
	# If liege has japanese feudal - Become japanese feudal!
	else_if = {
		limit = {
			is_independent_ruler = no
			OR = {
				liege = { government_has_flag = government_is_japan_feudal }
				AND = {
					liege = { government_has_flag = government_is_japan_feudal }
					NOT = { religion = religion:islam_religion }
				}
			}
		}
		change_government = japan_feudal_government
	}
	# If liege has feudal - Become feudal!
	else_if = {
		limit = {
			top_liege != this
			OR = {
				liege = { government_has_flag = government_is_feudal }
				AND = {
					liege = { government_has_flag = government_is_tribal }
					NOT = { religion = religion:islam_religion }
				}
			}
		}
		change_government = feudal_government
	}
	# If you're an independent Muslim ruler - Become clan!
	else_if = {
		limit = {
			top_liege = this
			faith = { religion_tag = islam_religion }
		}
		change_government = clan_government
	}
	# If you're an independent ruler with anything else - Become feudal!
	else = { change_government = feudal_government }

	# Finally, let's double-check and see if there are any remaining family titles we should destroy
	if = {
		limit = {
			any_held_title = {
				is_noble_family_title = yes
			}
		}
		every_held_title = {
			limit = {
				is_noble_family_title = yes
			}
			save_temporary_scope_as = family_title
			prev = { destroy_title = scope:family_title }
		}
	}
}

##################################################
# Dynasty Legacy: Bureaucracy
##################################################

ep3_dynasty_legacy_add_legitimacy_effect = {
	scope:activity = {
		if = {
			limit = {
				scope:host = {
					government_allows = administrative
					OR = {
						dynasty = { has_dynasty_perk = ep3_administrative_legacy_3 }
						top_participant_group:dynastic_cycle ?= {
							participant_group_type = conservative_movement
						}
					}
				}
				# Does the activity location have a domicile owned by a house member
				# Does that domicile have the Reception Hall building
				activity_location = {
					any_province_domicile = {
						owner = { house ?= scope:host.house }
						OR = {
							has_domicile_building_or_higher = reception_hall_01
							has_domicile_building_or_higher = east_asian_estate_reception_hall_01
						}
					}
				}
			}
			activity_location = {
				random_province_domicile = {
					limit = {
						owner = { house ?= scope:host.house }
						OR = {
							has_domicile_building_or_higher = reception_hall_01
							has_domicile_building_or_higher = east_asian_estate_reception_hall_01
						}
					}
					owner = { save_scope_as = reception_hall_owner }
				}
			}
			scope:host = {
				house = {
					if = {
						limit = {
							NOT = {
								has_variable = ep3_legacy_legitimacy_counter
							}
						}
						# Set the initial value
						set_variable = {
							name = ep3_legacy_legitimacy_counter
							value = 10
						}
					}
					else = {
						change_variable = {
							name = ep3_legacy_legitimacy_counter
							add = 10
						}
					}
				}
				if = {
					limit = {
						primary_title.tier = tier_empire
					}
					send_interface_toast = {
						type = event_toast_effect_good
						title = ep3_dynasty_legacy_gain_legitimacy_effect_title
						left_icon = scope:host
						right_icon = scope:host.primary_title
						add_legitimacy = 10
					}
				}
				else = {
					house = {
						every_house_member = {
							limit = { is_ai = no }
							send_interface_message = {
								type = event_generic_good_text
								title = ep3_dynasty_legacy_add_legitimacy_effect_title
								desc = ep3_dynasty_legacy_add_legitimacy_effect_desc
								left_icon = scope:host
								right_icon = house
							}
						}
					}
				}
			}
		}
	}
}

##################################################
# Byzantium
##################################################

remove_a_criminal_trait_in_faith_effect = {
	$CHARACTER$ = {
		if = {
			limit = {
				has_trait = adulterer
				trait_is_criminal_in_faith_trigger = { TRAIT = adulterer FAITH = $FAITH$ GENDER_CHARACTER = $CHARACTER$ }
			}
			remove_trait = adulterer
		}
		else_if = {
			limit = {
				has_trait = fornicator
				trait_is_criminal_in_faith_trigger = { TRAIT = fornicator FAITH = $FAITH$ GENDER_CHARACTER = $CHARACTER$ }
			}
			remove_trait = fornicator
		}
		else_if = {
			limit = {
				has_trait = sodomite
				trait_is_criminal_in_faith_trigger = { TRAIT = sodomite FAITH = $FAITH$ GENDER_CHARACTER = $CHARACTER$ }
			}
			remove_trait = sodomite
		}
		else_if = {
			limit = {
				has_trait = deviant
				trait_is_criminal_in_faith_trigger = { TRAIT = deviant FAITH = $FAITH$ GENDER_CHARACTER = $CHARACTER$ }
			}
			remove_trait = deviant
		}
		else_if = {
			limit = {
				has_trait = kinslayer_3
				trait_is_criminal_in_faith_trigger = { TRAIT = kinslayer_3 FAITH = $FAITH$ GENDER_CHARACTER = $CHARACTER$ }
			}
			remove_trait = kinslayer_3
		}
		else_if = {
			limit = {
				has_trait = kinslayer_2
				trait_is_criminal_in_faith_trigger = { TRAIT = kinslayer_2 FAITH = $FAITH$ GENDER_CHARACTER = $CHARACTER$ }
			}
			remove_trait = kinslayer_2
		}
		else_if = {
			limit = {
				has_trait = kinslayer_1
				trait_is_criminal_in_faith_trigger = { TRAIT = kinslayer_1 FAITH = $FAITH$ GENDER_CHARACTER = $CHARACTER$ }
			}
			remove_trait = kinslayer_1
		}
		else_if = {
			limit = {
				has_trait = witch
				trait_is_criminal_in_faith_trigger = { TRAIT = witch FAITH = $FAITH$ GENDER_CHARACTER = $CHARACTER$ }
			}
			remove_trait = witch
		}
		else_if = {
			limit = {
				has_trait = cannibal
				trait_is_criminal_in_faith_trigger = { TRAIT = cannibal FAITH = $FAITH$ GENDER_CHARACTER = $CHARACTER$ }
			}
			remove_trait = cannibal
		}
		else_if = {
			limit = {
				has_trait = incestuous
				trait_is_criminal_in_faith_trigger = { TRAIT = incestuous FAITH = $FAITH$ GENDER_CHARACTER = $CHARACTER$ }
			}
			remove_trait = incestuous
		}
	}
}

##################################################
# Chariot Races
##################################################

gather_charioteers_effect = {
	scope:activity = {
		random_list = {
			50 = {
				set_variable = {
					name = num_blues
					value = 2
				}
			}
			50 = {
				set_variable = {
					name = num_blues
					value = 3
				}
			}
		}
		random_list = {
			50 = {
				set_variable = {
					name = num_greens
					value = 2
				}
			}
			50 = {
				set_variable = {
					name = num_greens
					value = 3
				}
			}
		}
		random_list = {
			50 = {
				set_variable = {
					name = num_whites
					value = 2
				}
			}
			50 = {
				set_variable = {
					name = num_whites
					value = 3
				}
			}
		}
		random_list = {
			50 = {
				set_variable = {
					name = num_reds
					value = 2
				}
			}
			50 = {
				set_variable = {
					name = num_reds
					value = 3
				}
			}
		}

		ordered_attending_character = {
			order_by = chariot_ordering_value
			max = 12
			check_range_bounds = no
			save_temporary_scope_as = temp_character
			if = {
				limit = {
					OR = {
						has_court_position = charioteer_court_position
						trigger_if = {
							limit = {
								available_charioteers_spots_trigger = { TEAM = green }
							}
							has_trait = charioteer_green
						}
						trigger_if = {
							limit = {
								available_charioteers_spots_trigger = { TEAM = blue }
							}
							has_trait = charioteer_blue
						}
						trigger_if = {
							limit = {
								available_charioteers_spots_trigger = { TEAM = red }
							}
							has_trait = charioteer_red
						}
						trigger_if = {
							limit = {
								available_charioteers_spots_trigger = { TEAM = white }
							}
							has_trait = charioteer_white
						}
					}
				}
				scope:activity = {
					add_to_guest_subset = {
						name = charioteers
						target = scope:temp_character
					}
				}
			}
		}

		# Finalize the list of charioteers
		chariot_racers_setup_effect = { TEAM = green }
		chariot_racers_setup_effect = { TEAM = blue }
		chariot_racers_setup_effect = { TEAM = red }
		chariot_racers_setup_effect = { TEAM = white }
		# And filter everyone remaining to spectators.
		every_attending_character = {
			limit = {
				NOT = {
					is_in_guest_subset = { name = charioteers }
				}
			}
			save_scope_as = temp_character
			scope:activity = {
				add_to_guest_subset = {
					name = spectators
					target = scope:temp_character
				}
			}
		}
	}
}

chariot_racers_setup_effect = { # If you need to create additional racers
	while = {
		count = 5
		limit = {
			available_charioteers_spots_trigger = { TEAM = $TEAM$ }
		}
		create_character = {
			template = charioteer_template
			employer = scope:activity.activity_host
			save_scope_as = temp_charioteer
		}
		scope:temp_charioteer = {
			add_trait = charioteer_$TEAM$
			add_trait_xp = {
				trait = charioteer_$TEAM$
				value = { 5 50 }
			}
			add_to_activity = scope:activity
		}
		scope:activity = {
			add_to_guest_subset = {
				name = charioteers
				target = scope:temp_charioteer
			}
		}
	}
}

# Each character is assigned Odds to Win, Odds to Place, and Odds to Show
# Win: come in first place
# Place: come in first or second place
# Show: come in first, second, or third place
calculate_chariot_race_odds_effect = {
	calculate_chariot_odds_to_win_effect = yes
	calculate_chariot_odds_to_place_effect = yes
	calculate_chariot_odds_to_show_effect = yes
}

# Odds are represented in the format A:B, where A is the number of ways/opportunities a character has to succeed, and B represents how many ways/opportunities they have to fail
# These same calculations are done for the teams overall
# Individual odds are saved on the individual character
# Team odds are saved on the activity scope
calculate_chariot_odds_to_win_effect = {
	scope:activity = {
		### INDIVIDUAL ODDS
		# Set odds to win
		set_variable = {
			name = total_chance_win
			value = 0
		}
		# Set odds_win_a (number of ways to win)
		every_guest_subset = {
			name = charioteers
			set_variable = {
				name = odds_win_a
				value = charioteer_chance_to_win
			}
			scope:activity = {
				change_variable = {
					name = total_chance_win
					add = {
						value = prev.charioteer_chance_to_win
						min = 1
					}
				}
			}
		}
		# set odds_win_b (number of ways to lose)
		every_guest_subset = {
			name = charioteers
			set_variable = {
				name = odds_win_b
				value = {
					value = scope:activity.var:total_chance_win
					subtract = var:odds_win_a
					min = 1
				}
			}
		}

		# Calc percent chance to win
		every_guest_subset = {
			name = charioteers
			set_variable = {
				name = percent_chance_to_win
				value = {
					add = var:odds_win_a
					divide = {
						value = 0
						add = var:odds_win_a
						add = var:odds_win_b
					}
					multiply = 100
					min = 1
					max = 99
				}
			}
		}
		##########

		### TEAM ODDS
		# For each of the 4 teams, we calculate their odds to win/place/show. These variables are saved on the activity
		# BLUES
		# Initialize variables
		set_variable = {
			name = blue_odds_win_a
			value = 0
		}
		set_variable = {
			name = blue_odds_win_b
			value = 0
		}

		# Account for each team member
		every_guest_subset = {
			name = charioteers
			limit = { has_trait = charioteer_blue }
			scope:activity = {
				change_variable = {
					name = blue_odds_win_a
					add = {
						value = prev.var:odds_win_a
						min = 1
					}
				}
			}
		}
		# Set the B variable based on the total amount of chance - the opporutnity for success
		change_variable = {
			name = blue_odds_win_b
			add = {
				value = var:total_chance_win
				subtract = var:blue_odds_win_a
				min = 1
			}
		}
		# Calculate the percentage chance of success for readability
		set_variable = {
			name = blue_percent_chance_to_win
			value = {
				add = var:blue_odds_win_a
				divide = {
					value = 0
					add = var:blue_odds_win_a
					add = var:blue_odds_win_b
				}
				multiply = 100
				min = 1
				max = 99
			}
		}

		# GREENS
		# Initialize variables
		set_variable = {
			name = green_odds_win_a
			value = 0
		}
		set_variable = {
			name = green_odds_win_b
			value = 0
		}

		# Account for each team member
		every_guest_subset = {
			name = charioteers
			limit = { has_trait = charioteer_green }
			scope:activity = {
				change_variable = {
					name = green_odds_win_a
					add = {
						value = prev.var:odds_win_a
						min = 1
					}
				}
			}
		}
		# Set the B variable based on the total amount of chance - the opporutnity for success
		change_variable = {
			name = green_odds_win_b
			add = {
				value = var:total_chance_win
				subtract = var:green_odds_win_a
				min = 1
			}
		}
		# Calculate the percentage chance of success for readability
		set_variable = {
			name = green_percent_chance_to_win
			value = {
				add = var:green_odds_win_a
				divide = {
					value = 0
					add = var:green_odds_win_a
					add = var:green_odds_win_b
				}
				multiply = 100
				min = 1
				max = 99
			}
		}

		# WHITES
		# Initialize variables
		set_variable = {
			name = white_odds_win_a
			value = 0
		}
		set_variable = {
			name = white_odds_win_b
			value = 0
		}

		# Account for each team member
		every_guest_subset = {
			name = charioteers
			limit = { has_trait = charioteer_white }
			scope:activity = {
				change_variable = {
					name = white_odds_win_a
					add = {
						value = prev.var:odds_win_a
						min = 1
					}
				}
			}
		}
		# Set the B variable based on the total amount of chance - the opporutnity for success
		change_variable = {
			name = white_odds_win_b
			add = {
				value = var:total_chance_win
				subtract = var:white_odds_win_a
				min = 1
			}
		}
		# Calculate the percentage chance of success for readability
		set_variable = {
			name = white_percent_chance_to_win
			value = {
				add = var:white_odds_win_a
				divide = {
					value = 0
					add = var:white_odds_win_a
					add = var:white_odds_win_b
				}
				multiply = 100
				min = 1
				max = 99
			}
		}

		# REDS
		# Initialize variables
		set_variable = {
			name = red_odds_win_a
			value = 0
		}
		set_variable = {
			name = red_odds_win_b
			value = 0
		}

		# Account for each team member
		every_guest_subset = {
			name = charioteers
			limit = { has_trait = charioteer_red }
			scope:activity = {
				change_variable = {
					name = red_odds_win_a
					add = {
						value = prev.var:odds_win_a
						min = 1
					}
				}
			}
		}
		# Set the B variable based on the total amount of chance - the opporutnity for success
		change_variable = {
			name = red_odds_win_b
			add = {
				value = var:total_chance_win
				subtract = var:red_odds_win_a
				min = 1
			}
		}
		# Calculate the percentage chance of success for readability
		set_variable = {
			name = red_percent_chance_to_win
			value = {
				add = var:red_odds_win_a
				divide = {
					value = 0
					add = var:red_odds_win_a
					add = var:red_odds_win_b
				}
				multiply = 100
				min = 1
				max = 99
			}
		}
	}
}

calculate_chariot_odds_to_place_effect = {
	scope:activity = {
		### INDIVIDUAL ODDS
		# Set odds to place
		set_variable = {
			name = total_chance_place
			value = 0
		}
		every_guest_subset = {
			name = charioteers
			set_variable = {
				name = odds_place_a
				value = {
					value = charioteer_chance_to_win
					multiply = 2
				}
			}
			scope:activity = {
				change_variable = {
					name = total_chance_place
					add = {
						value = prev.charioteer_chance_to_win
						min = 1
					}
				}
			}
		}
		every_guest_subset = {
			name = charioteers
			set_variable = {
				name = odds_place_b
				value = {
					value = scope:activity.var:total_chance_place
					subtract = var:odds_place_a
					min = 1
				}
			}
		}

		# Calc percent chance to win
		every_guest_subset = {
			name = charioteers
			set_variable = {
				name = percent_chance_to_place
				value = {
					add = var:odds_place_a
					divide = {
						value = 0
						add = var:odds_place_a
						add = var:odds_place_b
					}
					multiply = 100
					min = 1
					max = 99
				}
			}
		}
		##########

		### TEAM ODDS
		# For each of the 4 teams, we calculate their odds to win/place/show. These variables are saved on the activity
		# Initialize variables
		set_variable = {
			name = blue_odds_place_a
			value = 0
		}
		set_variable = {
			name = blue_odds_place_b
			value = 0
		}

		# Account for each team member
		every_guest_subset = {
			name = charioteers
			limit = { has_trait = charioteer_blue }
			scope:activity = {
				change_variable = {
					name = blue_odds_place_a
					add = {
						value = prev.var:odds_place_a
						min = 1
					}
				}
			}
		}
		# Set the B variable based on the total amount of chance - the opporutnity for success
		change_variable = {
			name = blue_odds_place_b
			add = {
				value = var:total_chance_place
				subtract = var:blue_odds_place_a
				min = 1
			}
		}
		# Calculate the percentage chance of success for readability
		set_variable = {
			name = blue_percent_chance_to_place
			value = {
				add = var:blue_odds_place_a
				divide = {
					value = 0
					add = var:blue_odds_place_a
					add = var:blue_odds_place_b
				}
				multiply = 100
				min = 1
				max = 99
			}
		}

		# GREENS
		# Initialize variables
		set_variable = {
			name = green_odds_place_a
			value = 0
		}
		set_variable = {
			name = green_odds_place_b
			value = 0
		}

		# Account for each team member
		every_guest_subset = {
			name = charioteers
			limit = { has_trait = charioteer_green }
			scope:activity = {
				change_variable = {
					name = green_odds_place_a
					add = {
						value = prev.var:odds_place_a
						min = 1
					}
				}
			}
		}
		# Set the B variable based on the total amount of chance - the opporutnity for success
		change_variable = {
			name = green_odds_place_b
			add = {
				value = var:total_chance_place
				subtract = var:green_odds_place_a
				min = 1
			}
		}
		# Calculate the percentage chance of success for readability
		set_variable = {
			name = green_percent_chance_to_place
			value = {
				add = var:green_odds_place_a
				divide = {
					value = 0
					add = var:green_odds_place_a
					add = var:green_odds_place_b
				}
				multiply = 100
				min = 1
				max = 99
			}
		}

		# WHITES
		# Initialize variables
		set_variable = {
			name = white_odds_place_a
			value = 0
		}
		set_variable = {
			name = white_odds_place_b
			value = 0
		}

		# Account for each team member
		every_guest_subset = {
			name = charioteers
			limit = { has_trait = charioteer_white }
			scope:activity = {
				change_variable = {
					name = white_odds_place_a
					add = {
						value = prev.var:odds_place_a
						min = 1
					}
				}
			}
		}
		# Set the B variable based on the total amount of chance - the opporutnity for success
		change_variable = {
			name = white_odds_place_b
			add = {
				value = var:total_chance_place
				subtract = var:white_odds_place_a
				min = 1
			}
		}
		# Calculate the percentage chance of success for readability
		set_variable = {
			name = white_percent_chance_to_place
			value = {
				add = var:white_odds_place_a
				divide = {
					value = 0
					add = var:white_odds_place_a
					add = var:white_odds_place_b
				}
				multiply = 100
				min = 1
				max = 99
			}
		}


		# REDS
		# Initialize variables
		set_variable = {
			name = red_odds_place_a
			value = 0
		}
		set_variable = {
			name = red_odds_place_b
			value = 0
		}

		# Account for each team member
		every_guest_subset = {
			name = charioteers
			limit = { has_trait = charioteer_red }
			scope:activity = {
				change_variable = {
					name = red_odds_place_a
					add = {
						value = prev.var:odds_place_a
						min = 1
					}
				}
			}
		}
		# Set the B variable based on the total amount of chance - the opporutnity for success
		change_variable = {
			name = red_odds_place_b
			add = {
				value = var:total_chance_place
				subtract = var:red_odds_place_a
				min = 1
			}
		}
		# Calculate the percentage chance of success for readability
		set_variable = {
			name = red_percent_chance_to_place
			value = {
				add = var:red_odds_place_a
				divide = {
					value = 0
					add = var:red_odds_place_a
					add = var:red_odds_place_b
				}
				multiply = 100
				min = 1
				max = 99
			}
		}
	}
}

calculate_chariot_odds_to_show_effect = {
	scope:activity = {
		### INDIVIDUAL ODDS
		# Set odds to show
		set_variable = {
			name = total_chance_show
			value = 0
		}
		every_guest_subset = {
			name = charioteers
			set_variable = {
				name = odds_show_a
				value = {
					value = charioteer_chance_to_win
					multiply = 3
					min = 1
				}
			}
			scope:activity = {
				change_variable = {
					name = total_chance_show
					add = {
						value = prev.charioteer_chance_to_win
						min = 1
					}
				}
			}
		}
		every_guest_subset = {
			name = charioteers
			set_variable = {
				name = odds_show_b
				value = {
					value = scope:activity.var:total_chance_show
					subtract = var:odds_show_a
					min = 1
				}
			}
		}

		# Calc percent chance to show
		every_guest_subset = {
			name = charioteers
			set_variable = {
				name = percent_chance_to_show
				value = {
					add = var:odds_show_a
					divide = {
						value = var:odds_show_a
						add = scope:activity.var:total_chance_show
					}
					multiply = 100
					min = 1
					max = 99
				}
			}
		}
		##########

		### TEAM ODDS
		# For each of the 4 teams, we calculate their odds to win/place/show. These variables are saved on the activity
		# BLUES
		# Initialize variables
		set_variable = {
			name = blue_odds_show_a
			value = 0
		}
		set_variable = {
			name = blue_odds_show_b
			value = 0
		}

		# Account for each team member
		every_guest_subset = {
			name = charioteers
			limit = { has_trait = charioteer_blue }
			scope:activity = {
				change_variable = {
					name = blue_odds_show_a
					add = {
						value = prev.var:odds_show_a
						min = 1
					}
				}
			}
		}
		# Set the B variable based on the total amount of chance - the opporutnity for success
		change_variable = {
			name = blue_odds_show_b
			add = {
				value = var:total_chance_show
				subtract = var:blue_odds_show_a
				min = 1
			}
		}
		# Calculate the percentage chance of success for readability
		set_variable = {
			name = blue_percent_chance_to_show
			value = {
				add = var:blue_odds_show_a
				divide = {
					value = 0
					add = var:blue_odds_show_a
					add = var:blue_odds_show_b
				}
				multiply = 100
				min = 1
				max = 99
			}
		}

		# GREENS
		# Initialize variables
		set_variable = {
			name = green_odds_show_a
			value = 0
		}
		set_variable = {
			name = green_odds_show_b
			value = 0
		}

		# Account for each team member
		every_guest_subset = {
			name = charioteers
			limit = { has_trait = charioteer_green }
			scope:activity = {
				change_variable = {
					name = green_odds_show_a
					add = {
						value = prev.var:odds_show_a
						min = 1
					}
				}
			}
		}
		# Set the B variable based on the total amount of chance - the opporutnity for success
		change_variable = {
			name = green_odds_show_b
			add = {
				value = var:total_chance_show
				subtract = var:green_odds_show_a
				min = 1
			}
		}
		# Calculate the percentage chance of success for readability
		set_variable = {
			name = green_percent_chance_to_show
			value = {
				add = var:green_odds_show_a
				divide = {
					value = 0
					add = var:green_odds_show_a
					add = var:green_odds_show_b
				}
				multiply = 100
				min = 1
				max = 99
			}
		}

		# WHITES
		# Initialize variables
		set_variable = {
			name = white_odds_show_a
			value = 0
		}
		set_variable = {
			name = white_odds_show_b
			value = 0
		}

		# Account for each team member
		every_guest_subset = {
			name = charioteers
			limit = { has_trait = charioteer_white }
			scope:activity = {
				change_variable = {
					name = white_odds_show_a
					add = {
						value = prev.var:odds_show_a
						min = 1
					}
				}
			}
		}
		# Set the B variable based on the total amount of chance - the opporutnity for success
		change_variable = {
			name = white_odds_show_b
			add = {
				value = var:total_chance_show
				subtract = var:white_odds_show_a
				min = 1
			}
		}
		# Calculate the percentage chance of success for readability
		set_variable = {
			name = white_percent_chance_to_show
			value = {
				add = var:white_odds_show_a
				divide = {
					value = 0
					add = var:white_odds_show_a
					add = var:white_odds_show_b
				}
				multiply = 100
				min = 1
				max = 99
			}
		}

		# REDS
		# Initialize variables
		set_variable = {
			name = red_odds_show_a
			value = 0
		}
		set_variable = {
			name = red_odds_show_b
			value = 0
		}

		# Account for each team member
		every_guest_subset = {
			name = charioteers
			limit = { has_trait = charioteer_red }
			scope:activity = {
				change_variable = {
					name = red_odds_show_a
					add = {
						value = prev.var:odds_show_a
						min = 1
					}
				}
			}
		}
		# Set the B variable based on the total amount of chance - the opporutnity for success
		change_variable = {
			name = red_odds_show_b
			add = {
				value = var:total_chance_show
				subtract = var:red_odds_show_a
				min = 1
			}
		}
		# Calculate the percentage chance of success for readability
		set_variable = {
			name = red_percent_chance_to_show
			value = {
				add = var:red_odds_show_a
				divide = {
					value = 0
					add = var:red_odds_show_a
					add = var:red_odds_show_b
				}
				multiply = 100
				min = 1
				max = 99
			}
		}
	}
}

calculate_chariot_payout_effect = {
	scope:activity = {
		every_guest_subset = {
			name = charioteers
			set_variable = {
				name = win_payout
				value = {
					add = var:odds_win_b
					subtract = {
						value = var:odds_win_b
						multiply = 0.3
					}
					save_temporary_value_as = temp_val
					subtract = {
						value = scope:temp_val
						multiply = bookkeeper_small_commission_value
						round = yes
					}
					divide = var:odds_win_a
					add = 1
					min = 1.1
				}
			}
			set_variable = {
				name = place_payout
				value = {
					add = var:odds_place_b
					subtract = {
						value = var:odds_place_b
						multiply = 0.3
					}
					save_temporary_value_as = temp_val
					subtract = {
						value = scope:temp_val
						multiply = bookkeeper_medium_commission_value
						round = yes
					}
					divide = var:odds_place_a
					add = 1
					min = 1.1
				}
			}
			set_variable = {
				name = show_payout
				value = {
					add = var:odds_show_b
					subtract = {
						value = var:odds_show_b
						multiply = 0.3
					}
					save_temporary_value_as = temp_val
					subtract = {
						value = scope:temp_val
						multiply = bookkeeper_large_commission_value
						round = yes
					}
					divide = var:odds_show_a
					add = 1
					min = 1.1
				}
			}
		}
		set_variable = {
			name = blue_win_payout
			value = {
				add = var:blue_odds_win_b
				subtract = {
					value = var:blue_odds_win_b
					multiply = bookkeeper_small_commission_value
					round = yes
				}
				divide = var:blue_odds_win_a
				add = 1
				min = 1.1
			}
		}
		set_variable = {
			name = blue_place_payout
			value = {
				add = var:blue_odds_place_b
				subtract = {
					value = var:blue_odds_place_b
					multiply = bookkeeper_medium_commission_value
					round = yes
				}
				divide = var:blue_odds_place_a
				add = 1
				min = 1.1
			}
		}
		set_variable = {
			name = blue_show_payout
			value = {
				add = var:blue_odds_show_b
				subtract = {
					value = var:blue_odds_show_b
					multiply = bookkeeper_large_commission_value
					round = yes
				}
				divide = var:blue_odds_show_a
				add = 1
				min = 1.1
			}
		}

		set_variable = {
			name = green_win_payout
			value = {
				add = var:green_odds_win_b
				subtract = {
					value = var:green_odds_win_b
					multiply = bookkeeper_small_commission_value
					round = yes
				}
				divide = var:green_odds_win_a
				add = 1
				min = 1.1
			}
		}
		set_variable = {
			name = green_place_payout
			value = {
				add = var:green_odds_place_b
				subtract = {
					value = var:green_odds_place_b
					multiply = bookkeeper_medium_commission_value
					round = yes
				}
				divide = var:green_odds_place_a
				add = 1
				min = 1.1
			}
		}
		set_variable = {
			name = green_show_payout
			value = {
				add = var:green_odds_show_b
				subtract = {
					value = var:green_odds_show_b
					multiply = bookkeeper_large_commission_value
					round = yes
				}
				divide = var:green_odds_show_a
				add = 1
				min = 1.1
			}
		}

		set_variable = {
			name = white_win_payout
			value = {
				add = var:white_odds_win_b
				subtract = {
					value = var:white_odds_win_b
					multiply = bookkeeper_small_commission_value
					round = yes
				}
				divide = var:white_odds_win_a
				add = 1
				min = 1.1
			}
		}
		set_variable = {
			name = white_place_payout
			value = {
				add = var:white_odds_place_b
				subtract = {
					value = var:white_odds_place_b
					multiply = bookkeeper_medium_commission_value
					round = yes
				}
				divide = var:white_odds_place_a
				add = 1
				min = 1.1
			}
		}
		set_variable = {
			name = white_show_payout
			value = {
				add = var:white_odds_show_b
				subtract = {
					value = var:white_odds_show_b
					multiply = bookkeeper_large_commission_value
					round = yes
				}
				divide = var:white_odds_show_a
				add = 1
				min = 1.1
			}
		}

		set_variable = {
			name = red_win_payout
			value = {
				add = var:red_odds_win_b
				subtract = {
					value = var:red_odds_win_b
					multiply = bookkeeper_small_commission_value
					round = yes
				}
				divide = var:red_odds_win_a
				add = 1
				min = 1.1
			}
		}
		set_variable = {
			name = red_place_payout
			value = {
				add = var:red_odds_place_b
				subtract = {
					value = var:red_odds_place_b
					multiply = bookkeeper_medium_commission_value
					round = yes
				}
				divide = var:red_odds_place_a
				add = 1
				min = 1.1
			}
		}
		set_variable = {
			name = red_show_payout
			value = {
				add = var:red_odds_show_b
				subtract = {
					value = var:red_odds_show_b
					multiply = bookkeeper_large_commission_value
					round = yes
				}
				divide = var:red_odds_show_a
				add = 1
				min = 1.1
			}
		}

	}
}

set_or_increment_lucky_better_variable = {
	if = {
		limit = {
			NOT = { has_variable = lucky_bet_counter }
		}
		set_variable = {
			name = lucky_bet_counter
			value = 1
		}
	}
	else = {
		change_variable = {
			name = lucky_bet_counter
			add = 1
		}
		if = {
			limit = {
				var:lucky_bet_counter >= 5
				has_any_nickname = no
			}
			send_interface_toast = {
				# works for our purposes "New Nickname"
				title = sell_titles_nickname_gained
				left_icon = this
				give_nickname = nick_the_lucky
			}
		}
	}
}

disburse_chariot_race_activity_host_rewards = {
	scope:activity = {
		add_activity_log_entry = {
			key = chariot_race_host_rewards
			score = 100
			show_in_conclusion = yes
			character = root
			location = root.location

			root = {
				# Some base influence
				change_influence = medium_influence_gain
				# Extra influence rewards for having a successful wager
				if = {
					limit = {
						has_character_flag = successful_bet
						has_variable = wager_type
					}
					switch = {
						trigger = var:wager_type
						flag:win = {
							change_influence = medium_influence_gain
						}
						flag:place = {
							change_influence = minor_influence_gain
						}
						flag:show = {
							change_influence = miniscule_influence_gain
						}
					}
				}

				# Rewards for employing a charioteer who wins/places/shows
				if = {
					limit = { employs_court_position = charioteer_court_position }
					if = {
						limit = {
							any_court_position_holder = {
								type = charioteer_court_position
								scope:activity.var:first_place ?= this
							}
						}
						change_influence = monumental_influence_gain
					}
					else_if = {
						limit = {
							any_court_position_holder = {
								type = charioteer_court_position
								scope:activity.var:second_place ?= this
							}
						}
						change_influence = massive_influence_gain
					}
					else_if = {
						limit = {
							any_court_position_holder = {
								type = charioteer_court_position
								scope:activity.var:third_place ?= this
							}
						}
						change_influence = major_influence_gain
					}
				}

				#Legitimacy and popular opinion for how fancy your chariot races were
				if = {
					limit = {
						scope:activity = {
							has_activity_option = {
								category = chariot_option_entertainment
								option = chariot_entertainment_bad
							}
						}
					}
					if = {
						limit = {
							scope:host.capital_county = {
								county_opinion > 0
							}
						}
						add_legitimacy = miniscule_legitimacy_gain
						if = {
							limit = { has_activity_intent = reduce_stress_intent }
							stress_impact = {
								base = major_stress_loss
								athletic = miniscule_stress_loss
								gregarious = miniscule_stress_loss
							}
						}
						custom_tooltip = chariot_race_reward_high_county_opinion_tt
					}
					else_if = {
						limit = {
							scope:host.capital_county = {
								county_opinion <= -50
							}
						}
						add_legitimacy = 5
						if = {
							limit = { has_activity_intent = reduce_stress_intent }
							stress_impact = {
								base = medium_stress_loss
								athletic = miniscule_stress_loss
								gregarious = miniscule_stress_loss
							}
						}
						custom_tooltip = chariot_race_reward_low_county_opinion_tt
					}
					else = {
						add_legitimacy = 10
					}
				}
				else_if = {
					limit = {
						scope:activity = {
							has_activity_option = {
								category = chariot_option_entertainment
								option = chariot_entertainment_normal
							}
						}
					}
					if = {
						limit = {
							scope:host.capital_county = {
								county_opinion > 0
							}
						}
						add_legitimacy = minor_legitimacy_gain
						if = {
							limit = { has_activity_intent = reduce_stress_intent }
							stress_impact = {
								base = massive_stress_loss
								athletic = miniscule_stress_loss
								gregarious = miniscule_stress_loss
							}
						}
						capital_county = {
							change_county_control = miniscule_county_control_gain
						}

						custom_tooltip = chariot_race_reward_high_county_opinion_tt
					}
					else_if = {
						limit = {
							scope:host.capital_county = {
								county_opinion <= -50
							}
						}
						add_legitimacy = 10
						if = {
							limit = { has_activity_intent = reduce_stress_intent }
							stress_impact = {
								base = major_stress_loss
								athletic = miniscule_stress_loss
								gregarious = miniscule_stress_loss
							}
						}
						custom_tooltip = chariot_race_reward_low_county_opinion_tt
					}
					else = {
						add_legitimacy = miniscule_legitimacy_gain
					}
					scope:host.capital_county = {
						add_county_modifier = {
							modifier = ep3_chariot_race_weak_appeasement_modifier
							years = 10
						}
					}
				}
				else_if = {
					limit = {
						scope:activity = {
							has_activity_option = {
								category = chariot_option_entertainment
								option = chariot_entertainment_good
							}
						}
					}
					if = {
						limit = {
							scope:host.capital_county = {
								county_opinion > 0
							}
						}
						add_legitimacy = medium_legitimacy_gain
						if = {
							limit = { has_activity_intent = reduce_stress_intent }
							stress_impact = {
								base = monumental_stress_loss
								athletic = miniscule_stress_loss
								gregarious = miniscule_stress_loss
							}
						}
						capital_county = {
							change_county_control = minor_county_control_gain
						}
						custom_tooltip = chariot_race_reward_high_county_opinion_tt
					}
					else_if = {
						limit = {
							scope:host.capital_county = {
								county_opinion <= -50
							}
						}
						add_legitimacy = miniscule_legitimacy_gain
						if = {
							limit = { has_activity_intent = reduce_stress_intent }
							stress_impact = {
								base = miniscule_stress_loss
								athletic = massive_stress_loss
								gregarious = miniscule_stress_loss
							}
						}
						custom_tooltip = chariot_race_reward_low_county_opinion_tt
					}
					else = {
						add_legitimacy = minor_legitimacy_gain
					}
					scope:host.capital_county = {
						add_county_modifier = {
							modifier = ep3_chariot_race_strong_appeasement_modifier
							years = 10
						}
					}
				}
			}
		}
	}
}

disburse_chariot_race_activity_spectator_rewards = {
	# Some smaller amounts of Influence rewards for having a successful wager
	if = {
		limit = {
			has_character_flag = successful_bet
			has_variable = wager_type
		}
		switch = {
			trigger = var:wager_type
			flag:win = {
				change_influence = medium_influence_gain
			}
			flag:place = {
				change_influence = minor_influence_gain
			}
			flag:show = {
				change_influence = miniscule_influence_gain
			}
		}
	}

	# Rewards for employing a charioteer who wins/places/shows
	# You get more influence if your charioteer is successful
	if = {
		limit = {
			any_court_position_holder = {
				type = charioteer_court_position
				scope:activity.var:first_place ?= this
			}
		}
		change_influence = monumental_influence_gain
		if = {
			limit = { has_activity_intent = reduce_stress_intent }
			stress_impact = {
				base = monumental_stress_loss
				athletic = miniscule_stress_loss
				gregarious = miniscule_stress_loss
			}
		}
	}
	else_if = {
		limit = {
			any_court_position_holder = {
				type = charioteer_court_position
				scope:activity.var:second_place ?= this
			}
		}
		change_influence = massive_influence_gain
		if = {
			limit = { has_activity_intent = reduce_stress_intent }
			stress_impact = {
				base = massive_stress_loss
				athletic = miniscule_stress_loss
				gregarious = miniscule_stress_loss
			}
		}
	}
	else_if = {
		limit = {
			any_court_position_holder = {
				type = charioteer_court_position
				scope:activity.var:third_place ?= this
			}
		}
		change_influence = major_influence_gain
		if = {
			limit = { has_activity_intent = reduce_stress_intent }
			stress_impact = {
				base = massive_stress_loss
				athletic = miniscule_stress_loss
				gregarious = miniscule_stress_loss
			}
		}
	}
	else_if = {
		limit = { has_activity_intent = reduce_stress_intent }
		stress_impact = {
			base = miniscule_stress_loss
			athletic = major_stress_loss
			gregarious = miniscule_stress_loss
		}
	}
}

disburse_chariot_race_activity_charioteer_rewards = {
	# Give them some xp based on place finished
	if = {
		limit = { this = scope:activity.var:first_place }
		scope:activity = {
			add_activity_log_entry = {
				key = charioteer_gained_trait_xp_key
				score = 110
				character = scope:activity.var:first_place
				scope:activity.var:first_place = {
					distribute_charioteer_trait_xp_effect = { VALUE = 15 } }
			}
		}
	}
	else_if = {
		limit = { this = scope:activity.var:second_place }
		scope:activity = {
			add_activity_log_entry = {
				key = charioteer_gained_trait_xp_key
				score = 110
				character = scope:activity.var:second_place
				scope:activity.var:second_place = { distribute_charioteer_trait_xp_effect = { VALUE = 12 } }
			}
		}
	}
	else_if = {
		limit = { this = scope:activity.var:third_place }
		scope:activity = {
			add_activity_log_entry = {
				key = charioteer_gained_trait_xp_key
				score = 110
				character = scope:activity.var:third_place
				scope:activity.var:third_place = { distribute_charioteer_trait_xp_effect = { VALUE = 8 } }
			}
		}
	}
	else = {
		scope:activity = {
			add_activity_log_entry = {
				key = charioteer_gained_trait_xp_key
				score = 110
				character = prev
				prev = { distribute_charioteer_trait_xp_effect = { VALUE = 3 } }
			}
		}
	}
}

# Used to show how much a character gets from a successful wager in end of the race event chariot_race.0600
individual_chariot_race_payout_effect = {
	save_scope_as = current_gambler
	if = {
		limit = {
			var:wager_type ?= flag:win
			var:wager_target ?= scope:activity.var:first_place
		}
		add_gold = {
			value = scope:current_gambler.var:wager_value
			multiply = scope:activity.var:first_place.var:win_payout
			max = scope:current_gambler.monumental_gold_value
		}
	}
	else_if = {
		limit = {
			var:wager_type ?= flag:place
			OR = {
				var:wager_target ?= scope:activity.var:first_place
				var:wager_target ?= scope:activity.var:second_place
			}
		}
		add_gold = {
			value = scope:current_gambler.var:wager_value
			multiply = scope:activity.var:second_place.var:place_payout
			max = scope:current_gambler.monumental_gold_value
		}
	}
	else_if = {
		limit = {
			var:wager_type ?= flag:show
			OR = {
				var:wager_target ?= scope:activity.var:first_place
				var:wager_target ?= scope:activity.var:second_place
				var:wager_target ?= scope:activity.var:third_place
			}
		}
		add_gold = {
			value = scope:current_gambler.var:wager_value
			multiply = scope:activity.var:third_place.var:show_payout
			max = scope:current_gambler.monumental_gold_value
		}
	}
	# Handle team based bets
	else_if = {
		limit = {
			var:wager_type ?= flag:win
			var:wager_target ?= scope:current_gambler
		}
		switch = {
			trigger = var:wager_team
			flag:blues = {
				if = {
					limit = { scope:activity.var:first_place = { has_trait = charioteer_blue } }
					add_gold = {
						value = scope:current_gambler.var:wager_value
						multiply = scope:activity.var:blue_win_payout
						max = scope:current_gambler.monumental_gold_value
					}
				}
			}
			flag:greens = {
				if = {
					limit = { scope:activity.var:first_place = { has_trait = charioteer_green } }
					add_gold = {
						value = scope:current_gambler.var:wager_value
						multiply = scope:activity.var:green_win_payout
						max = scope:current_gambler.monumental_gold_value
					}
				}
			}
			flag:whites = {
				if = {
					limit = { scope:activity.var:first_place = { has_trait = charioteer_white } }
					add_gold = {
						value = scope:current_gambler.var:wager_value
						multiply = scope:activity.var:white_win_payout
						max = scope:current_gambler.monumental_gold_value
					}
				}
			}
			flag:reds = {
				if = {
					limit = { scope:activity.var:first_place = { has_trait = charioteer_red } }
					add_gold = {
						value = scope:current_gambler.var:wager_value
						multiply = scope:activity.var:red_win_payout
						max = scope:current_gambler.monumental_gold_value
					}
				}
			}
		}
	}
	else_if = {
		limit = {
			var:wager_type ?= flag:place
			var:wager_target ?= scope:current_gambler
		}
		switch = {
			trigger = var:wager_team
			flag:blues = {
				if = {
					limit = {
						OR = {
							scope:activity.var:first_place = { has_trait = charioteer_blue }
							scope:activity.var:second_place = { has_trait = charioteer_blue }
						}
					}
					add_gold = {
						value = scope:current_gambler.var:wager_value
						multiply = scope:activity.var:blue_place_payout
						max = scope:current_gambler.monumental_gold_value
					}
				}
			}
			flag:greens = {
				if = {
					limit = {
						OR = {
							scope:activity.var:first_place = { has_trait = charioteer_green }
							scope:activity.var:second_place = { has_trait = charioteer_green }
						}
					}
					add_gold = {
						value = scope:current_gambler.var:wager_value
						multiply = scope:activity.var:green_place_payout
						max = scope:current_gambler.monumental_gold_value
					}
				}
			}
			flag:whites = {
				if = {
					limit = {
						OR = {
							scope:activity.var:first_place = { has_trait = charioteer_white }
							scope:activity.var:second_place = { has_trait = charioteer_white }
						}
					}
					add_gold = {
						value = scope:current_gambler.var:wager_value
						multiply = scope:activity.var:white_place_payout
						max = scope:current_gambler.monumental_gold_value
					}
				}
			}
			flag:reds = {
				if = {
					limit = {
						OR = {
							scope:activity.var:first_place = { has_trait = charioteer_red }
							scope:activity.var:second_place = { has_trait = charioteer_red }
						}
					}
					add_gold = {
						value = scope:current_gambler.var:wager_value
						multiply = scope:activity.var:red_place_payout
						max = scope:current_gambler.monumental_gold_value
					}
				}
			}
		}
	}
	else_if = {
		limit = {
			var:wager_type ?= flag:show
			var:wager_target ?= scope:current_gambler
		}
		switch = {
			trigger = var:wager_team
			flag:blues = {
				if = {
					limit = {
						OR = {
							scope:activity.var:first_place = { has_trait = charioteer_blue }
							scope:activity.var:second_place = { has_trait = charioteer_blue }
							scope:activity.var:third_place = { has_trait = charioteer_blue }
						}
					}
					add_gold = {
						value = scope:current_gambler.var:wager_value
						multiply = scope:activity.var:blue_show_payout
						max = scope:current_gambler.monumental_gold_value
					}
				}
			}
			flag:greens = {
				if = {
					limit = {
						OR = {
							scope:activity.var:first_place = { has_trait = charioteer_green }
							scope:activity.var:second_place = { has_trait = charioteer_green }
							scope:activity.var:third_place = { has_trait = charioteer_green }
						}
					}
					add_gold = {
						value = scope:current_gambler.var:wager_value
						multiply = scope:activity.var:green_show_payout
						max = scope:current_gambler.monumental_gold_value
					}
				}
			}
			flag:whites = {
				if = {
					limit = {
						OR = {
							scope:activity.var:first_place = { has_trait = charioteer_white }
							scope:activity.var:second_place = { has_trait = charioteer_white }
							scope:activity.var:third_place = { has_trait = charioteer_white }
						}
					}
					add_gold = {
						value = scope:current_gambler.var:wager_value
						multiply = scope:activity.var:white_show_payout
						max = scope:current_gambler.monumental_gold_value
					}
				}
			}
			flag:reds = {
				if = {
					limit = {
						OR = {
							scope:activity.var:first_place = { has_trait = charioteer_red }
							scope:activity.var:second_place = { has_trait = charioteer_red }
							scope:activity.var:third_place = { has_trait = charioteer_red }
						}
					}
					add_gold = {
						value = scope:current_gambler.var:wager_value
						multiply = scope:activity.var:red_show_payout
						max = scope:current_gambler.monumental_gold_value
					}
				}
			}
		}
	}
	else_if = {
		limit = { has_variable = wager_value }
		custom_tooltip = chariot_race_lost_bet_tt
	}
}

chariot_race_payout_effect = {
	scope:activity = {
		every_guest_subset = {
			name = spectators
			save_scope_as = current_gambler
			if = {
				limit = {
					var:wager_type ?= flag:win
					var:wager_target ?= scope:activity.var:first_place
				}
				set_or_increment_lucky_better_variable = yes
				add_character_flag = successful_bet
				scope:activity = {
					add_activity_log_entry = {
						key = chariot_race_betting_char_outcome_key
						score = 100
						show_in_conclusion = yes
						character = scope:current_gambler
						scope:current_gambler = {
							add_gold = {
								value = scope:current_gambler.var:wager_value
								multiply = scope:activity.var:first_place.var:win_payout
								max = scope:current_gambler.monumental_gold_value
							}
						}
						change_variable = {
							name = chariot_race_pot
							subtract = {
								value = scope:current_gambler.var:wager_value
								multiply = scope:activity.var:first_place.var:win_payout
							}
						}
					}
				}
			}
			else_if = {
				limit = {
					var:wager_type ?= flag:place
					OR = {
						var:wager_target ?= scope:activity.var:first_place
						var:wager_target ?= scope:activity.var:second_place
					}
				}
				set_or_increment_lucky_better_variable = yes
				add_character_flag = successful_bet
				scope:activity = {
					add_activity_log_entry = {
						key = chariot_race_betting_char_outcome_key
						score = 100
						show_in_conclusion = yes
						character = scope:current_gambler
						scope:current_gambler = {
							add_gold = {
								value = scope:current_gambler.var:wager_value
								multiply = scope:activity.var:second_place.var:place_payout
								max = scope:current_gambler.monumental_gold_value
							}
						}
						change_variable = {
							name = chariot_race_pot
							subtract = {
								value = scope:current_gambler.var:wager_value
								multiply = scope:activity.var:second_place.var:place_payout
							}
						}
					}
				}
			}
			else_if = {
				limit = {
					var:wager_type ?= flag:show
					OR = {
						var:wager_target ?= scope:activity.var:first_place
						var:wager_target ?= scope:activity.var:second_place
						var:wager_target ?= scope:activity.var:third_place
					}
				}
				set_or_increment_lucky_better_variable = yes
				add_character_flag = successful_bet
				scope:activity = {
					add_activity_log_entry = {
						key = chariot_race_betting_char_outcome_key
						score = 100
						show_in_conclusion = yes
						character = scope:current_gambler
						scope:current_gambler = {
							add_gold = {
								value = scope:current_gambler.var:wager_value
								multiply = scope:activity.var:third_place.var:show_payout
								max = scope:current_gambler.monumental_gold_value
							}
						}
						change_variable = {
							name = chariot_race_pot
							subtract = {
								value = scope:current_gambler.var:wager_value
								multiply = scope:activity.var:third_place.var:show_payout
							}
						}
					}
				}
			}
			# Handle team based bets
			else_if = {
				limit = {
					var:wager_type ?= flag:win
					var:wager_target ?= this
				}
				switch = {
					trigger = var:wager_team
					flag:blues = {
						if = {
							limit = { scope:activity.var:first_place = { has_trait = charioteer_blue } }
							set_or_increment_lucky_better_variable = yes
							add_character_flag = successful_bet
							scope:activity = {
								add_activity_log_entry = {
									key = chariot_race_betting_team_outcome_key
									score = 100
									show_in_conclusion = yes
									character = scope:current_gambler
									scope:current_gambler = {
										add_gold = {
											value = scope:current_gambler.var:wager_value
											multiply = scope:activity.var:blue_win_payout
											max = scope:current_gambler.monumental_gold_value
										}
									}
									change_variable = {
										name = chariot_race_pot
										subtract = {
											value = scope:current_gambler.var:wager_value
											multiply = scope:activity.var:blue_win_payout
										}
									}
								}
							}
						}
					}
					flag:greens = {
						if = {
							limit = { scope:activity.var:first_place = { has_trait = charioteer_green } }
							set_or_increment_lucky_better_variable = yes
							add_character_flag = successful_bet
							scope:activity = {
								add_activity_log_entry = {
									key = chariot_race_betting_team_outcome_key
									score = 100
									show_in_conclusion = yes
									character = scope:current_gambler
									scope:current_gambler = {
										add_gold = {
											value = scope:current_gambler.var:wager_value
											multiply = scope:activity.var:green_win_payout
											max = scope:current_gambler.monumental_gold_value
										}
									}
									change_variable = {
										name = chariot_race_pot
										subtract = {
											value = scope:current_gambler.var:wager_value
											multiply = scope:activity.var:green_win_payout
										}
									}
								}
							}
						}
					}
					flag:whites = {
						if = {
							limit = { scope:activity.var:first_place = { has_trait = charioteer_white } }
							set_or_increment_lucky_better_variable = yes
							add_character_flag = successful_bet
							scope:activity = {
								add_activity_log_entry = {
									key = chariot_race_betting_team_outcome_key
									score = 100
									show_in_conclusion = yes
									character = scope:current_gambler
									scope:current_gambler = {
										add_gold = {
											value = scope:current_gambler.var:wager_value
											multiply = scope:activity.var:white_win_payout
											max = scope:current_gambler.monumental_gold_value
										}
									}
									change_variable = {
										name = chariot_race_pot
										subtract = {
											value = scope:current_gambler.var:wager_value
											multiply = scope:activity.var:white_win_payout
										}
									}
								}
							}
						}
					}
					flag:reds = {
						if = {
							limit = { scope:activity.var:first_place = { has_trait = charioteer_red } }
							set_or_increment_lucky_better_variable = yes
							add_character_flag = successful_bet
							scope:activity = {
								add_activity_log_entry = {
									key = chariot_race_betting_team_outcome_key
									score = 100
									show_in_conclusion = yes
									character = scope:current_gambler
									scope:current_gambler = {
										add_gold = {
											value = scope:current_gambler.var:wager_value
											multiply = scope:activity.var:red_win_payout
											max = scope:current_gambler.monumental_gold_value
										}
									}
									change_variable = {
										name = chariot_race_pot
										subtract = {
											value = scope:current_gambler.var:wager_value
											multiply = scope:activity.var:red_win_payout
										}
									}
								}
							}
						}
					}
				}
			}
			else_if = {
				limit = {
					var:wager_type ?= flag:place
					var:wager_target ?= this
				}
				switch = {
					trigger = var:wager_team
					flag:blues = {
						if = {
							limit = {
								OR = {
									scope:activity.var:first_place = { has_trait = charioteer_blue }
									scope:activity.var:second_place = { has_trait = charioteer_blue }
								}
							}
							set_or_increment_lucky_better_variable = yes
							add_character_flag = successful_bet
							scope:activity = {
								add_activity_log_entry = {
									key = chariot_race_betting_team_outcome_key
									score = 100
									show_in_conclusion = yes
									character = scope:current_gambler
									scope:current_gambler = {
										add_gold = {
											value = scope:current_gambler.var:wager_value
											multiply = scope:activity.var:blue_place_payout
											max = scope:current_gambler.monumental_gold_value
										}
									}
									change_variable = {
										name = chariot_race_pot
										subtract = {
											value = scope:current_gambler.var:wager_value
											multiply = scope:activity.var:blue_place_payout
										}
									}
								}
							}
						}
					}
					flag:greens = {
						if = {
							limit = {
								OR = {
									scope:activity.var:first_place = { has_trait = charioteer_green }
									scope:activity.var:second_place = { has_trait = charioteer_green }
								}
							}
							set_or_increment_lucky_better_variable = yes
							add_character_flag = successful_bet
							scope:activity = {
								add_activity_log_entry = {
									key = chariot_race_betting_team_outcome_key
									score = 100
									show_in_conclusion = yes
									character = scope:current_gambler
									scope:current_gambler = {
										add_gold = {
											value = scope:current_gambler.var:wager_value
											multiply = scope:activity.var:green_place_payout
											max = scope:current_gambler.monumental_gold_value
										}
									}
									change_variable = {
										name = chariot_race_pot
										subtract = {
											value = scope:current_gambler.var:wager_value
											multiply = scope:activity.var:green_place_payout
										}
									}
								}
							}
						}
					}
					flag:whites = {
						if = {
							limit = {
								OR = {
									scope:activity.var:first_place = { has_trait = charioteer_white }
									scope:activity.var:second_place = { has_trait = charioteer_white }
								}
							}
							set_or_increment_lucky_better_variable = yes
							add_character_flag = successful_bet
							scope:activity = {
								add_activity_log_entry = {
									key = chariot_race_betting_team_outcome_key
									score = 100
									show_in_conclusion = yes
									character = scope:current_gambler
									scope:current_gambler = {
										add_gold = {
											value = scope:current_gambler.var:wager_value
											multiply = scope:activity.var:white_place_payout
											max = scope:current_gambler.monumental_gold_value
										}
									}
									change_variable = {
										name = chariot_race_pot
										subtract = {
											value = scope:current_gambler.var:wager_value
											multiply = scope:activity.var:white_place_payout
										}
									}
								}
							}
						}
					}
					flag:reds = {
						if = {
							limit = {
								OR = {
									scope:activity.var:first_place = { has_trait = charioteer_red }
									scope:activity.var:second_place = { has_trait = charioteer_red }
								}
							}
							set_or_increment_lucky_better_variable = yes
							add_character_flag = successful_bet
							scope:activity = {
								add_activity_log_entry = {
									key = chariot_race_betting_team_outcome_key
									score = 100
									show_in_conclusion = yes
									character = scope:current_gambler
									scope:current_gambler = {
										add_gold = {
											value = scope:current_gambler.var:wager_value
											multiply = scope:activity.var:red_place_payout
											max = scope:current_gambler.monumental_gold_value
										}
									}
									change_variable = {
										name = chariot_race_pot
										subtract = {
											value = scope:current_gambler.var:wager_value
											multiply = scope:activity.var:red_place_payout
										}
									}
								}
							}
						}
					}
				}
			}
			else_if = {
				limit = {
					var:wager_type ?= flag:show
					var:wager_target ?= this
				}
				switch = {
					trigger = var:wager_team
					flag:blues = {
						if = {
							limit = {
								OR = {
									scope:activity.var:first_place = { has_trait = charioteer_blue }
									scope:activity.var:second_place = { has_trait = charioteer_blue }
									scope:activity.var:third_place = { has_trait = charioteer_blue }
								}
							}
							set_or_increment_lucky_better_variable = yes
							add_character_flag = successful_bet
							scope:activity = {
								add_activity_log_entry = {
									key = chariot_race_betting_team_outcome_key
									score = 100
									show_in_conclusion = yes
									character = scope:current_gambler
									scope:current_gambler = {
										add_gold = {
											value = scope:current_gambler.var:wager_value
											multiply = scope:activity.var:blue_show_payout
											max = scope:current_gambler.monumental_gold_value
										}
									}
									change_variable = {
										name = chariot_race_pot
										subtract = {
											value = scope:current_gambler.var:wager_value
											multiply = scope:activity.var:blue_show_payout
										}
									}
								}
							}
						}
					}
					flag:greens = {
						if = {
							limit = {
								OR = {
									scope:activity.var:first_place = { has_trait = charioteer_green }
									scope:activity.var:second_place = { has_trait = charioteer_green }
									scope:activity.var:third_place = { has_trait = charioteer_green }
								}
							}
							set_or_increment_lucky_better_variable = yes
							add_character_flag = successful_bet
							scope:activity = {
								add_activity_log_entry = {
									key = chariot_race_betting_team_outcome_key
									score = 100
									show_in_conclusion = yes
									character = scope:current_gambler
									scope:current_gambler = {
										add_gold = {
											value = scope:current_gambler.var:wager_value
											multiply = scope:activity.var:green_show_payout
											max = scope:current_gambler.monumental_gold_value
										}
									}
									change_variable = {
										name = chariot_race_pot
										subtract = {
											value = scope:current_gambler.var:wager_value
											multiply = scope:activity.var:green_show_payout
										}
									}
								}
							}
						}
					}
					flag:whites = {
						if = {
							limit = {
								OR = {
									scope:activity.var:first_place = { has_trait = charioteer_white }
									scope:activity.var:second_place = { has_trait = charioteer_white }
									scope:activity.var:third_place = { has_trait = charioteer_white }
								}
							}
							set_or_increment_lucky_better_variable = yes
							add_character_flag = successful_bet
							scope:activity = {
								add_activity_log_entry = {
									key = chariot_race_betting_team_outcome_key
									score = 100
									show_in_conclusion = yes
									character = scope:current_gambler
									scope:current_gambler = {
										add_gold = {
											value = scope:current_gambler.var:wager_value
											multiply = scope:activity.var:white_show_payout
											max = scope:current_gambler.monumental_gold_value
										}
									}
									change_variable = {
										name = chariot_race_pot
										subtract = {
											value = scope:current_gambler.var:wager_value
											multiply = scope:activity.var:white_show_payout
										}
									}
								}
							}
						}
					}
					flag:reds = {
						if = {
							limit = {
								OR = {
									scope:activity.var:first_place = { has_trait = charioteer_red }
									scope:activity.var:second_place = { has_trait = charioteer_red }
									scope:activity.var:third_place = { has_trait = charioteer_red }
								}
							}
							set_or_increment_lucky_better_variable = yes
							add_character_flag = successful_bet
							scope:activity = {
								add_activity_log_entry = {
									key = chariot_race_betting_team_outcome_key
									score = 100
									show_in_conclusion = yes
									character = scope:current_gambler
									scope:current_gambler = {
										add_gold = {
											value = scope:current_gambler.var:wager_value
											multiply = scope:activity.var:red_show_payout
											max = scope:current_gambler.monumental_gold_value
										}
									}
									change_variable = {
										name = chariot_race_pot
										subtract = {
											value = scope:current_gambler.var:wager_value
											multiply = scope:activity.var:red_show_payout
										}
									}
								}
							}
						}
					}
				}
			}
		}
	}
}

clear_placement_variables_effect = {
	switch = {
		trigger = has_variable
		first_place = { remove_variable = first_place }
		second_place = { remove_variable = second_place }
		third_place = { remove_variable = third_place }
		fourth_place = { remove_variable = fourth_place }
		fifth_place = { remove_variable = fifth_place }
		sixth_place = { remove_variable = sixth_place }
		seventh_place = { remove_variable = seventh_place }
		eighth_place = { remove_variable = eighth_place }
		ninth_place = { remove_variable = ninth_place }
		tenth_place = { remove_variable = tenth_place }
		eleventh_place = { remove_variable = eleventh_place }
		twelfth_place = { remove_variable = twelfth_place }
	}
}

chariot_race_remove_variables_effect = {
	scope:activity = {
		# Clean up variables we used for calculations on both Charioteers and Spectators
		every_guest_subset = {
			name = charioteers
			remove_variable = odds_win_a
			remove_variable = odds_win_b
			remove_variable = odds_place_a
			remove_variable = odds_place_b
			remove_variable = odds_show_a
			remove_variable = odds_show_b
			remove_variable = percent_chance_to_win
			remove_variable = percent_chance_to_place
			remove_variable = percent_chance_to_show
			remove_variable = win_payout
			remove_variable = place_payout
			remove_variable = show_payout
			remove_variable = current_place_in_race
		}
		every_guest_subset = {
			name = spectators
			remove_variable = wager_team
			remove_variable = wager_type
			remove_variable = wager_target
			remove_variable = wager_value
			if = {
				limit = { has_character_flag = successful_bet }
				remove_character_flag = successful_bet
			}
		}
		# Really for error suppression only since variables saved on activities are destroyed when the activity is over
		switch = {
			trigger = has_variable
			blue_percent_chance_to_win = { remove_variable = blue_percent_chance_to_win }
			blue_percent_chance_to_show = { remove_variable = blue_percent_chance_to_show }
			blue_percent_chance_to_place = { remove_variable = blue_percent_chance_to_place }
			green_percent_chance_to_win = { remove_variable = green_percent_chance_to_win }
			green_percent_chance_to_place = { remove_variable = green_percent_chance_to_place }
			green_percent_chance_to_show = { remove_variable = green_percent_chance_to_show }
			white_percent_chance_to_place = { remove_variable = white_percent_chance_to_place }
			white_percent_chance_to_win = { remove_variable = white_percent_chance_to_win }
			white_percent_chance_to_show = { remove_variable = white_percent_chance_to_show }
			red_percent_chance_to_win = { remove_variable = red_percent_chance_to_win }
			red_percent_chance_to_place = { remove_variable = red_percent_chance_to_place }
			red_percent_chance_to_show = { remove_variable = red_percent_chance_to_show }
			dead_charioteers = { remove_variable = dead_charioteers }
		}
		clear_placement_variables_effect = yes
	}
}

advance_place_in_ranking_effect = {
	$NEW_LEADING_CHAR$ = { save_scope_as = char_advanced }
	$NEW_TRAILING_CHAR$ = { save_scope_as = char_passed }
	scope:char_advanced = {
		change_variable = {
			name = chariot_race_victory_score
			add = {
				value = scope:char_passed.var:chariot_race_victory_score
				subtract = scope:char_advanced.var:chariot_race_victory_score
				add = 1
			}
		}

	}
	scope:activity = { update_chariot_race_standings_effect = yes }
}

# Use this effect to update the current standings of the race based on each charioteer's victory score
update_chariot_race_standings_effect = {
	scope:activity = {
		# Ensure we have dead characters saved for the gui
		if = {
			limit = {
				has_variable = first_place
				var:first_place = { is_alive = no }
			}
			add_to_variable_list = {
				name = dead_charioteers
				target = var:first_place
			}
		}
		else_if = {
			limit = {
				has_variable = second_place
				var:second_place = { is_alive = no }
			}
			add_to_variable_list = {
				name = dead_charioteers
				target = var:second_place
			}
		}
		else_if = {
			limit = {
				has_variable = third_place
				var:third_place = { is_alive = no }
			}
			add_to_variable_list = {
				name = dead_charioteers
				target = var:third_place
			}
		}
		else_if = {
			limit = {
				has_variable = fourth_place
				var:fourth_place = { is_alive = no }
			}
			add_to_variable_list = {
				name = dead_charioteers
				target = var:fourth_place
			}
		}
		else_if = {
			limit = {
				has_variable = fifth_place
				var:fifth_place = { is_alive = no }
			}
			add_to_variable_list = {
				name = dead_charioteers
				target = var:fifth_place
			}
		}
		else_if = {
			limit = {
				has_variable = sixth_place
				var:sixth_place = { is_alive = no }
			}
			add_to_variable_list = {
				name = dead_charioteers
				target = var:sixth_place
			}
		}
		else_if = {
			limit = {
				has_variable = seventh_place
				var:seventh_place = { is_alive = no }
			}
			add_to_variable_list = {
				name = dead_charioteers
				target = var:seventh_place
			}
		}
		else_if = {
			limit = {
				has_variable = eighth_place
				var:eighth_place = { is_alive = no }
			}
			add_to_variable_list = {
				name = dead_charioteers
				target = var:eighth_place
			}
		}
		else_if = {
			limit = {
				has_variable = ninth_place
				var:ninth_place = { is_alive = no }
			}
			add_to_variable_list = {
				name = dead_charioteers
				target = var:ninth_place
			}
		}
		else_if = {
			limit = {
				has_variable = tenth_place
				var:tenth_place = { is_alive = no }
			}
			add_to_variable_list = {
				name = dead_charioteers
				target = var:tenth_place
			}
		}
		else_if = {
			limit = {
				has_variable = eleventh_place
				var:eleventh_place = { is_alive = no }
			}
			add_to_variable_list = {
				name = dead_charioteers
				target = var:eleventh_place
			}
		}
		else_if = {
			limit = {
				has_variable = twelfth_place
				var:twelfth_place = { is_alive = no }
			}
			add_to_variable_list = {
				name = dead_charioteers
				target = var:twelfth_place
			}
		}
		# Clear the variables so we get rid of any dead characters
		clear_placement_variables_effect = yes
		# Get a count of how many living charioteers we have
		set_variable = {
			name = num_charioteers
			value = 0
		}
		# Iterate over the list of charioteers and save each as a variable according to their place
		ordered_guest_subset = {
			name = charioteers
			order_by = charioteer_victory_score_value
			max = 12
			check_range_bounds = no
			limit = { is_alive = yes }
			save_temporary_scope_as = current_charioteer
			# increment variable
			scope:activity = {
				change_variable = {
					name = num_charioteers
					add = 1
				}
			}
			if = {
				limit = { has_variable = current_place_in_race }
				remove_variable = current_place_in_race
			}
			# scripted effect to set variable based on current count (num_charioteers)
			assign_charioteer_to_place_variable_effect = yes
		}
	}
}

# Used in update_chariot_race_standings_effect to set variables on both the activity and the individual charioteers
assign_charioteer_to_place_variable_effect = {
	scope:activity = {
		switch = {
			trigger = var:num_charioteers
			1 = {
				set_variable = {
					name = first_place
					value = scope:current_charioteer
				}
				scope:current_charioteer = {
					set_variable = {
						name = current_place_in_race
						value = 1
					}
				}
			}
			2 = {
				set_variable = {
					name = second_place
					value = scope:current_charioteer
				}
				scope:current_charioteer = {
					set_variable = {
						name = current_place_in_race
						value = 2
					}
				}
			}
			3 = {
				set_variable = {
					name = third_place
					value = scope:current_charioteer
				}
				scope:current_charioteer = {
					set_variable = {
						name = current_place_in_race
						value = 3
					}
				}
			}
			4 = {
				set_variable = {
					name = fourth_place
					value = scope:current_charioteer
				}
				scope:current_charioteer = {
					set_variable = {
						name = current_place_in_race
						value = 4
					}
				}
			}
			5 = {
				set_variable = {
					name = fifth_place
					value = scope:current_charioteer
				}
				scope:current_charioteer = {
					set_variable = {
						name = current_place_in_race
						value = 5
					}
				}
			}
			6 = {
				set_variable = {
					name = sixth_place
					value = scope:current_charioteer
				}
				scope:current_charioteer = {
					set_variable = {
						name = current_place_in_race
						value = 6
					}
				}
			}
			7 = {
				set_variable = {
					name = seventh_place
					value = scope:current_charioteer
				}
				scope:current_charioteer = {
					set_variable = {
						name = current_place_in_race
						value = 7
					}
				}
			}
			8 = {
				set_variable = {
					name = eighth_place
					value = scope:current_charioteer
				}
				scope:current_charioteer = {
					set_variable = {
						name = current_place_in_race
						value = 8
					}
				}
			}
			9 = {
				set_variable = {
					name = ninth_place
					value = scope:current_charioteer
				}
				scope:current_charioteer = {
					set_variable = {
						name = current_place_in_race
						value = 9
					}
				}
			}
			10 = {
				set_variable = {
					name = tenth_place
					value = scope:current_charioteer
				}
				scope:current_charioteer = {
					set_variable = {
						name = current_place_in_race
						value = 10
					}
				}
			}
			11 = {
				set_variable = {
					name = eleventh_place
					value = scope:current_charioteer
				}
				scope:current_charioteer = {
					set_variable = {
						name = current_place_in_race
						value = 11
					}
				}
			}
			12 = {
				set_variable = {
					name = twelfth_place
					value = scope:current_charioteer
				}
				scope:current_charioteer = {
					set_variable = {
						name = current_place_in_race
						value = 12
					}
				}
			}
		}
	}
}

distribute_charioteer_trait_xp_effect = {
	switch = {
		trigger = has_trait
		charioteer_blue = {
			if = {
				limit = { has_court_position = charioteer_court_position }
				employer = {
					send_interface_toast = {
						title = charioteer_trait_xp_gain_message
						left_icon = prev
						prev = {
							add_trait_xp = {
								trait = charioteer_blue
								value = $VALUE$
							}
						}
					}
				}
			}
			else = {
				add_trait_xp = {
					trait = charioteer_blue
					value = $VALUE$
				}
			}
		}
		charioteer_green = {
			if = {
				limit = { has_court_position = charioteer_court_position }
				employer = {
					send_interface_toast = {
						title = charioteer_trait_xp_gain_message
						left_icon = prev
						prev = {
							add_trait_xp = {
								trait = charioteer_green
								value = $VALUE$
							}
						}
					}
				}
			}
			else = {
				add_trait_xp = {
					trait = charioteer_green
					value = $VALUE$
				}
			}
		}
		charioteer_white = {
			if = {
				limit = { has_court_position = charioteer_court_position }
				employer = {
					send_interface_toast = {
						title = charioteer_trait_xp_gain_message
						left_icon = prev
						prev = {
							add_trait_xp = {
								trait = charioteer_white
								value = $VALUE$
							}
						}
					}
				}
			}
			else = {
				add_trait_xp = {
					trait = charioteer_white
					value = $VALUE$
				}
			}
		}
		charioteer_red = {
			if = {
				limit = { has_court_position = charioteer_court_position }
				employer = {
					send_interface_toast = {
						title = charioteer_trait_xp_gain_message
						left_icon = prev
						prev = {
							add_trait_xp = {
								trait = charioteer_red
								value = $VALUE$
							}
						}
					}
				}
			}
			else = {
				add_trait_xp = {
					trait = charioteer_red
					value = $VALUE$
				}
			}
		}
	}
}

remove_dead_charioteer_from_race = {
	scope:activity = {
		add_to_variable_list = {
			name = dead_charioteers
			target = prev
		}
	}
}

### END CHARIOT RACE

ep3_send_akolouthos_message_loyal = {
	send_interface_message = {
		type = msg_akolouthos_steels_varangians
		title = ep3_akolouthos_events.1000
		desc =  ep3_akolouthos_events.1000_loyal_notification_tooltip

		left_icon = scope:trait_getter
		scope:trait_getter = {
			add_trait = loyal
			add_opinion = {
				target = root
				modifier = loyalty_opinion
				opinion = 40
			}
		}
		custom_tooltip = akolouthos_effect_tooltip
	}
}

ep3_send_akolouthos_message_varangian = {
	send_interface_message = {
		type = msg_akolouthos_steels_varangians
		title = ep3_akolouthos_events.1000
		desc =  ep3_akolouthos_events.1000_varangian_notification_tooltip

		left_icon = scope:trait_getter
		scope:trait_getter = {
			add_trait = varangian
			add_opinion = {
				target = root
				modifier = loyalty_opinion
				opinion = 40
			}
		}
		custom_tooltip = akolouthos_effect_tooltip
	}
}

ep3_palace_looting_random_malus_effect = {
	if = {
		limit = {
			has_character_flag = malus_court_grandeur
			var:varangian_regiments >= 7
		}
		change_current_court_grandeur = massive_court_grandeur_loss
	}
	else_if = {
		limit = {
			has_character_flag = malus_court_grandeur
			var:varangian_regiments >= 4
		}
		change_current_court_grandeur = major_court_grandeur_loss
	}
	else_if = {
		limit = {
			has_character_flag = malus_court_grandeur
		}
		change_current_court_grandeur = medium_court_grandeur_loss
	}
	if = {
		limit = {
			has_character_flag = malus_broken_artifact
		}
		scope:broken_artifact = {
			add_durability = -40
		}
	}
	if = {
		limit = {
			has_character_flag = malus_stolen_artifact
		}
		destroy_artifact = scope:stolen_artifact
	}
}

ep3_child_castration_effect = {
	add_trait = beardless_eunuch
	torture_memory_effect = {
		VICTIM = scope:recipient
		TORTURER = scope:actor
		TYPE = castrated_beardless
	}
	#Eunuch bonus effects
	custom_tooltip = castration_increased_aptitude
	if = {
		limit = {
			scope:actor = {
				is_landed_or_landless_administrative = yes
			}
		}
		custom_tooltip = castration_governor_efficiency
	}
	#might get hurt
	custom_tooltip = castration_wounded_chance
	hidden_effect = {
		random_list = {
			5 = {
				add_character_modifier = {
					modifier = brutal_castration_modifier
					years = 5
				}
			}
			5 = {
				modifier = {
					add = 5
					employs_court_position = court_physician_court_position
				}
				modifier = {
					add = 5
					employs_court_position = court_physician_court_position
					court_position:court_physician_court_position = {
						aptitude = {
							court_position = court_physician_court_position
							value >= 1
						}
					}
				}
				modifier = {
					add = 10
					employs_court_position = court_physician_court_position
					court_position:court_physician_court_position = {
						aptitude = {
							court_position = court_physician_court_position
							value >= 2
						}
					}
				}
				modifier = {
					add = 10
					employs_court_position = court_physician_court_position
					court_position:court_physician_court_position = {
						aptitude = {
							court_position = court_physician_court_position
							value >= 3
						}
					}
				}
				modifier = {
					add = 10
					employs_court_position = court_physician_court_position
					court_position:court_physician_court_position = {
						aptitude = {
							court_position = court_physician_court_position
							value >= 4
						}
					}
				}
			}
		}
	}
}

ep3_youth_castration_effect = {
	add_trait = eunuch_1
	torture_memory_effect = {
		VICTIM = scope:recipient
		TORTURER = scope:actor
		TYPE = castrated
	}
	#eunuch bonus effects
	custom_tooltip = castration_increased_aptitude
	if = {
		limit = {
			scope:actor = {
				is_landed_or_landless_administrative = yes
			}
		}
		custom_tooltip = castration_governor_efficiency
	}
	#might get wounded
	custom_tooltip = castration_wounded_chance
	hidden_effect = {
		random_list = {
			10 = {
				add_character_modifier = {
					modifier = brutal_castration_modifier
					years = 5
				}
			}
			5 = {
				modifier = {
					add = 5
					employs_court_position = court_physician_court_position
				}
				modifier = {
					add = 5
					employs_court_position = court_physician_court_position
					court_position:court_physician_court_position = {
						aptitude = {
							court_position = court_physician_court_position
							value >= 1
						}
					}
				}
				modifier = {
					add = 10
					employs_court_position = court_physician_court_position
					court_position:court_physician_court_position = {
						aptitude = {
							court_position = court_physician_court_position
							value >= 2
						}
					}
				}
				modifier = {
					add = 10
					employs_court_position = court_physician_court_position
					court_position:court_physician_court_position = {
						aptitude = {
							court_position = court_physician_court_position
							value >= 3
						}
					}
				}
				modifier = {
					add = 10
					employs_court_position = court_physician_court_position
					court_position:court_physician_court_position = {
						aptitude = {
							court_position = court_physician_court_position
							value >= 4
						}
					}
				}
			}
		}
	}
}

ep3_greek_fire_success_effect = {
	scope:invading_commander = {
		add_character_modifier = {
			modifier = ravaged_by_greek_fire_modifier
			years = 1
		}
		add_stress = major_stress_impact_gain
	}
	scope:army = {
		deplete_army_by_percentage = 0.9
	}
	scope:invading_commander = {
		custom_tooltip = two_knights_killed_tooltip
		hidden_effect = {
			scope:knight_1 ?= {
				death = {
					death_reason = death_greek_fire
					killer = scope:city_defender
				}
			}
			scope:knight_2 ?= {
				death = {
					death_reason = death_greek_fire
					killer = scope:city_defender
				}
			}
		}
		custom_tooltip = three_knights_killed_tooltip
		hidden_effect = {
			scope:knight_3 ?= {
				increase_wounds_effect = { REASON = greek_fire }
			}
			scope:knight_4 ?= {
				increase_wounds_effect = { REASON = greek_fire }
			}
			scope:knight_5 ?= {
				increase_wounds_effect = { REASON = greek_fire }
			}
		}
	}

}

ep3_greek_fire_fail_effect = {
	scope:invading_commander = {
		add_character_modifier = {
			modifier = assaulted_by_greek_fire_modifier
			years = 1
		}
		add_stress = medium_stress_impact_gain
	}
	scope:knight_1 ?= {
		death = {
			death_reason = death_greek_fire
			killer = scope:city_defender
		}
	}
	scope:army = {
		deplete_army_by_percentage = 0.4
	}
	scope:invading_commander = {
		custom_tooltip = two_knights_wounded_tooltip
		hidden_effect = {
			scope:knight_2 ?= {
				increase_wounds_effect = { REASON = greek_fire }
			}
			scope:knight_3 ?= {
				increase_wounds_effect = { REASON = greek_fire }
			}
		}
	}
}

ep3_greek_fire_crit_fail_effect = {
	scope:invading_commander = {
		add_character_modifier = {
			modifier = assaulted_by_greek_fire_modifier
			years = 1
		}
	}
	scope:army = {
		deplete_army_by_percentage = 0.1
	}
	scope:invading_commander = {
		custom_tooltip = two_knights_wounded_tooltip
		hidden_effect = {
			scope:knight_1 ?= {
				increase_wounds_effect = { REASON = greek_fire }
			}
			scope:knight_2 ?= {
				increase_wounds_effect = { REASON = greek_fire }
			}
		}
	}

	root.capital_county = {
		add_county_modifier = {
			modifier = defenders_immolated_modifier
			years = 10
		}
	}
	#You lose the greek fire fleet modifier
	title:c_byzantion = {
		remove_county_modifier = defensive_fire_dromons_modifier
	}
}

save_traveler_culture_effect = {
	random_culture_global = {
		limit = {
			exists = culture_head
			this != root.culture
		}
		save_scope_as = traveler_culture
	}
	#save second culture
	random_culture_global = {
		limit = {
			exists = culture_head
			this != root.culture
			OR = {
				AND = {
					culture_overlaps_geographical_region = world_europe
					scope:traveler_culture = { culture_overlaps_geographical_region = world_europe }
				}
				AND = {
					culture_overlaps_geographical_region = world_asia_minor
					scope:traveler_culture = { culture_overlaps_geographical_region = world_europe }
				}
				AND = {
					culture_overlaps_geographical_region = world_europe
					scope:traveler_culture = { culture_overlaps_geographical_region = world_asia_minor }
				}
				AND = {
					culture_overlaps_geographical_region = world_asia_minor
					scope:traveler_culture = { culture_overlaps_geographical_region = world_asia_minor }
				}
				AND = {
					culture_overlaps_geographical_region = world_asia_minor
					scope:traveler_culture = { culture_overlaps_geographical_region = world_middle_east }
				}
				AND = {
					culture_overlaps_geographical_region = world_middle_east
					scope:traveler_culture = { culture_overlaps_geographical_region = world_asia_minor }
				}
				AND = {
					culture_overlaps_geographical_region = world_middle_east
					scope:traveler_culture = { culture_overlaps_geographical_region = world_middle_east }
				}
				AND = {
					culture_overlaps_geographical_region = world_africa
					scope:traveler_culture = { culture_overlaps_geographical_region = world_africa }
				}
				AND = {
					culture_overlaps_geographical_region = world_steppe
					scope:traveler_culture = { culture_overlaps_geographical_region = world_steppe }
				}
				AND = {
					culture_overlaps_geographical_region = world_tibet
					scope:traveler_culture = { culture_overlaps_geographical_region = world_tibet }
				}
				AND = {
					culture_overlaps_geographical_region = world_tibet
					scope:traveler_culture = { culture_overlaps_geographical_region = world_india}
				}
				AND = {
					culture_overlaps_geographical_region = world_india
					scope:traveler_culture = { culture_overlaps_geographical_region = world_tibet }
				}
				AND = {
					culture_overlaps_geographical_region = world_india
					scope:traveler_culture = { culture_overlaps_geographical_region = world_india }
				}
				AND = {
					culture_overlaps_geographical_region = world_burma
					scope:traveler_culture = { culture_overlaps_geographical_region = world_india }
				}
				AND = {
					culture_overlaps_geographical_region = world_india
					scope:traveler_culture = { culture_overlaps_geographical_region = world_burma }
				}
				AND = {
					culture_overlaps_geographical_region = world_tibet
					scope:traveler_culture = { culture_overlaps_geographical_region = world_burma }
				}
				AND = {
					culture_overlaps_geographical_region = world_burma
					scope:traveler_culture = { culture_overlaps_geographical_region = world_tibet }
				}
				AND = {
					culture_overlaps_geographical_region = world_tibet
					scope:traveler_culture = { culture_overlaps_geographical_region = world_asia_china }
				}
				AND = {
					culture_overlaps_geographical_region = world_asia_china
					scope:traveler_culture = { culture_overlaps_geographical_region = world_asia_china }
				}
				AND = {
					culture_overlaps_geographical_region = world_asia_china
					scope:traveler_culture = { culture_overlaps_geographical_region = world_asia_southeast }
				}
				AND = {
					culture_overlaps_geographical_region = world_asia_china
					scope:traveler_culture = { culture_overlaps_geographical_region = world_asia_korea }
				}
				AND = {
					culture_overlaps_geographical_region = world_asia_china
					scope:traveler_culture = { culture_overlaps_geographical_region = world_asia_japan }
				}
				AND = {
					culture_overlaps_geographical_region = world_asia_korea
					scope:traveler_culture = { culture_overlaps_geographical_region = world_asia_china }
				}
				AND = {
					culture_overlaps_geographical_region = world_asia_korea
					scope:traveler_culture = { culture_overlaps_geographical_region = world_asia_japan }
				}
				AND = {
					culture_overlaps_geographical_region = world_asia_korea
					scope:traveler_culture = { culture_overlaps_geographical_region = world_asia_korea }
				}
				AND = {
					culture_overlaps_geographical_region = world_asia_japan
					scope:traveler_culture = { culture_overlaps_geographical_region = world_asia_japan }
				}
				AND = {
					culture_overlaps_geographical_region = world_asia_japan
					scope:traveler_culture = { culture_overlaps_geographical_region = world_asia_china }
				}
				AND = {
					culture_overlaps_geographical_region = world_asia_japan
					scope:traveler_culture = { culture_overlaps_geographical_region = world_asia_korea }
				}
			}
			cultural_acceptance = {
				target = scope:traveler_culture
				value >= 5
			}
		}
		alternative_limit = {
			this = root.culture
		}
		save_scope_as = traveler_culture_2
	}
}
ep3_ai_castration_effect = {
	random = {
		chance = 50
		add_trait = beardless_eunuch
		random_list = {
			5 = {
				add_character_modifier = {
					modifier = brutal_castration_modifier
					years = 5
				}
			}
			5 = {}
			5 = {
				trigger = {
					liege ?= { employs_court_position = court_physician_court_position }
				}
				modifier = {
					add = 5
					liege.court_position:court_physician_court_position = {
						aptitude = {
							court_position = court_physician_court_position
							value >= 1
						}
					}
				}
				modifier = {
					add = 10
					liege.court_position:court_physician_court_position = {
						aptitude = {
							court_position = court_physician_court_position
							value >= 2
						}
					}
				}
				modifier = {
					add = 10
					liege.court_position:court_physician_court_position = {
						aptitude = {
							court_position = court_physician_court_position
							value >= 3
						}
					}
				}
				modifier = {
					add = 10
					liege.court_position:court_physician_court_position = {
						aptitude = {
							court_position = court_physician_court_position
							value >= 4
						}
					}
				}
			}
		}
	}
}

ep3_story_cycle_admin_eunuch_upgrade_modifier_effect = {
	save_scope_value_as = {
		name = modifier_type
		value = flag:$TYPE$
	}
	switch = {
		trigger = has_character_modifier
		admin_eunuch_$TYPE$_1_modifier = {
			hidden_effect = { remove_character_modifier = admin_eunuch_$TYPE$_1_modifier }
			add_character_modifier = admin_eunuch_$TYPE$_2_modifier
		}
		admin_eunuch_$TYPE$_2_modifier = {
			hidden_effect = { remove_character_modifier = admin_eunuch_$TYPE$_2_modifier }
			add_character_modifier = admin_eunuch_$TYPE$_3_modifier
		}
		admin_eunuch_$TYPE$_3_modifier = {
			hidden_effect = { remove_character_modifier = admin_eunuch_$TYPE$_3_modifier }
			add_character_modifier = admin_eunuch_$TYPE$_4_modifier
		}
		admin_eunuch_$TYPE$_4_modifier = {
			hidden_effect = { remove_character_modifier = admin_eunuch_$TYPE$_4_modifier }
			add_character_modifier = admin_eunuch_$TYPE$_5_modifier
		}
		admin_eunuch_$TYPE$_5_modifier = {
			hidden_effect = { remove_character_modifier = admin_eunuch_$TYPE$_5_modifier }
			add_character_modifier = admin_eunuch_$TYPE$_6_modifier
		}
		admin_eunuch_$TYPE$_6_modifier = {
			hidden_effect = { remove_character_modifier = admin_eunuch_$TYPE$_6_modifier }
			add_character_modifier = admin_eunuch_$TYPE$_7_modifier
		}
		admin_eunuch_$TYPE$_7_modifier = {
			hidden_effect = { remove_character_modifier = admin_eunuch_$TYPE$_7_modifier }
			add_character_modifier = admin_eunuch_$TYPE$_8_modifier
		}
		admin_eunuch_$TYPE$_8_modifier = {
			if = {
				limit = {
					scope:modifier_type = flag:eunuch
					NOT = { has_hook = top_liege }
				}
				add_hook = {
					type = influence_hook
					target = top_liege
				}
			}
			else_if = {
				limit = {
					scope:modifier_type = flag:eunuch
					NOT = { has_strong_hook = top_liege }
				}
				remove_hook = { target = top_liege }
				add_hook = {
					type = strong_influence_hook
					target = top_liege
				}
			}
			else = { change_influence = medium_influence_gain }
		}
		fallback = { add_character_modifier = admin_eunuch_$TYPE$_4_modifier }
	}
}

ep3_story_cycle_admin_eunuch_matching_modifier_effect = {
	$FIRST$ = {
		switch = {
			trigger = has_character_modifier
			admin_eunuch_$FIRST_TYPE$_1_modifier = {
				$SECOND$ = { add_character_modifier = admin_eunuch_$SECOND_TYPE$_1_modifier }
			}
			admin_eunuch_$FIRST_TYPE$_2_modifier = {
				$SECOND$ = { add_character_modifier = admin_eunuch_$SECOND_TYPE$_2_modifier }
			}
			admin_eunuch_$FIRST_TYPE$_3_modifier = {
				$SECOND$ = { add_character_modifier = admin_eunuch_$SECOND_TYPE$_3_modifier }
			}
			admin_eunuch_$FIRST_TYPE$_4_modifier = {
				$SECOND$ = { add_character_modifier = admin_eunuch_$SECOND_TYPE$_4_modifier }
			}
			admin_eunuch_$FIRST_TYPE$_5_modifier = {
				$SECOND$ = { add_character_modifier = admin_eunuch_$SECOND_TYPE$_5_modifier }
			}
			admin_eunuch_$FIRST_TYPE$_6_modifier = {
				$SECOND$ = { add_character_modifier = admin_eunuch_$SECOND_TYPE$_6_modifier }
			}
			admin_eunuch_$FIRST_TYPE$_7_modifier = {
				$SECOND$ = { add_character_modifier = admin_eunuch_$SECOND_TYPE$_7_modifier }
			}
			admin_eunuch_$FIRST_TYPE$_8_modifier = {
				$SECOND$ = { add_character_modifier = admin_eunuch_$SECOND_TYPE$_8_modifier }
			}
		}
	}
}

ep3_story_cycle_admin_eunuch_downgrade_modifier_effect = {
	save_scope_value_as = {
		name = modifier_type
		value = flag:$TYPE$
	}
	switch = {
		trigger = has_character_modifier
		admin_eunuch_$TYPE$_1_modifier = {
			if = {
				limit = { scope:modifier_type = flag:eunuch }
				progress_towards_rival_effect = {
					REASON = rival_admin_eunuch
					CHARACTER = top_liege
					OPINION = default_rival_opinion
				}
			}
			else = { change_influence = medium_influence_loss }
		}
		admin_eunuch_$TYPE$_2_modifier = {
			hidden_effect = { remove_character_modifier = admin_eunuch_$TYPE$_2_modifier }
			add_character_modifier = admin_eunuch_$TYPE$_1_modifier
			if = { # Harder to say no the further you go
				limit = { scope:modifier_type = flag:liege }
				change_influence = miniscule_influence_loss
			}
		}
		admin_eunuch_$TYPE$_3_modifier = {
			hidden_effect = { remove_character_modifier = admin_eunuch_$TYPE$_3_modifier }
			add_character_modifier = admin_eunuch_$TYPE$_2_modifier
			if = { # Harder to say no the further you go
				limit = { scope:modifier_type = flag:liege }
				change_influence = miniscule_influence_loss
			}
		}
		admin_eunuch_$TYPE$_4_modifier = {
			hidden_effect = { remove_character_modifier = admin_eunuch_$TYPE$_4_modifier }
			add_character_modifier = admin_eunuch_$TYPE$_3_modifier
			if = { # Harder to say no the further you go
				limit = { scope:modifier_type = flag:liege }
				change_influence = minor_influence_loss
			}
		}
		admin_eunuch_$TYPE$_5_modifier = {
			hidden_effect = { remove_character_modifier = admin_eunuch_$TYPE$_5_modifier }
			add_character_modifier = admin_eunuch_$TYPE$_4_modifier
			if = { # Harder to say no the further you go
				limit = { scope:modifier_type = flag:liege }
				change_influence = minor_influence_loss
			}
		}
		admin_eunuch_$TYPE$_6_modifier = {
			hidden_effect = { remove_character_modifier = admin_eunuch_$TYPE$_6_modifier }
			add_character_modifier = admin_eunuch_$TYPE$_5_modifier
			if = { # Harder to say no the further you go
				limit = { scope:modifier_type = flag:liege }
				change_influence = medium_influence_loss
			}
		}
		admin_eunuch_$TYPE$_7_modifier = {
			hidden_effect = { remove_character_modifier = admin_eunuch_$TYPE$_7_modifier }
			add_character_modifier = admin_eunuch_$TYPE$_6_modifier
			if = { # Harder to say no the further you go
				limit = { scope:modifier_type = flag:liege }
				change_influence = medium_influence_loss
			}
		}
		admin_eunuch_$TYPE$_8_modifier = {
			hidden_effect = { remove_character_modifier = admin_eunuch_$TYPE$_8_modifier }
			add_character_modifier = admin_eunuch_$TYPE$_7_modifier
			if = { # Harder to say no the further you go
				limit = { scope:modifier_type = flag:liege }
				change_influence = major_influence_loss
			}
		}
		fallback = { add_character_modifier = admin_eunuch_$TYPE$_3_modifier }
	}
}

ep3_story_cycle_admin_eunuch_clear_modifier_effect = {
	switch = {
		trigger = has_character_modifier
		admin_eunuch_$TYPE$_1_modifier = { remove_character_modifier = admin_eunuch_$TYPE$_1_modifier }
		admin_eunuch_$TYPE$_2_modifier = { remove_character_modifier = admin_eunuch_$TYPE$_2_modifier }
		admin_eunuch_$TYPE$_3_modifier = { remove_character_modifier = admin_eunuch_$TYPE$_3_modifier }
		admin_eunuch_$TYPE$_4_modifier = { remove_character_modifier = admin_eunuch_$TYPE$_4_modifier }
		admin_eunuch_$TYPE$_5_modifier = { remove_character_modifier = admin_eunuch_$TYPE$_5_modifier }
		admin_eunuch_$TYPE$_6_modifier = { remove_character_modifier = admin_eunuch_$TYPE$_6_modifier }
		admin_eunuch_$TYPE$_7_modifier = { remove_character_modifier = admin_eunuch_$TYPE$_7_modifier }
		admin_eunuch_$TYPE$_8_modifier = { remove_character_modifier = admin_eunuch_$TYPE$_8_modifier }
	}
}

ep3_give_eunuch_effect = {
	$TAKER$ = {
		add_courtier = $EUNUCH$
	}
	$GIVER$ = {
		change_influence = {
			value = 100
			add = $EUNUCH$.sum_of_all_skills_value
			if = {
				limit = {
					$EUNUCH$ = { has_trait = beardless_eunuch }
				}
				multiply = 1.5
			}
		}
	}
}

##################################################
# Misc
##################################################

# Picks a random valid maa type for OWNER to create
ep3_pick_random_maa_regiment_effect = {
	save_temporary_scope_value_as = {
		name = include_basic_maa
		value = $INCLUDE_BASIC_MAA$
	}
	save_temporary_scope_value_as = {
		name = include_siege_maa
		value = $INCLUDE_SIEGE_MAA$
	}
	$OWNER$ = {
		random_list = {
			1 = {
				trigger = {
					scope:include_basic_maa = yes
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:light_footmen
				}
			}
			1 = {
				trigger = {
					scope:include_basic_maa = yes
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:bowmen
				}
			}
			1 = {
				trigger = {
					scope:include_basic_maa = yes
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:light_horsemen
				}
			}
			1 = {
				trigger = {
					scope:include_basic_maa = yes
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:pikemen_unit
				}
			}
			# TRIBAL
			1 = {
				trigger = {
					culture = { has_innovation = innovation_elephantry }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:war_elephant
				}
			}
			1 = {
				trigger = {
					culture = { has_innovation = innovation_war_camels }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:camel_rider
				}
			}
			1 = {
				trigger = {
					culture = { has_innovation = innovation_arched_saddle }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:armored_horsemen
				}
			}
			1 = {
				trigger = {
					culture = {
						has_innovation = innovation_catapult
						NOR = {
							has_cultural_pillar = heritage_chinese
							has_cultural_pillar = heritage_korean
							has_cultural_pillar = heritage_japonic
						}
					}
					scope:include_siege_maa = yes
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:onager
				}
			}
			1 = {
				trigger = {
					culture = {
						has_innovation = innovation_catapult
						OR = {
							has_cultural_pillar = heritage_chinese
							has_cultural_pillar = heritage_korean
							has_cultural_pillar = heritage_japonic
						}
					}
					scope:include_siege_maa = yes
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:ballista
				}
			}
			# EARLY
			1 = {
				trigger = {
					culture = { has_innovation = innovation_quilted_armor }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:armored_footmen
				}
			}
			1 = {
				trigger = {
					culture = {
						has_innovation = innovation_mangonel
						NOR = {
							has_cultural_pillar = heritage_chinese
							has_cultural_pillar = heritage_korean
							has_cultural_pillar = heritage_japonic
						}
					}
					scope:include_siege_maa = yes
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:mangonel
				}
			}
			1 = {
				trigger = {
					culture = {
						has_innovation = innovation_mangonel
						OR = {
							has_cultural_pillar = heritage_chinese
							has_cultural_pillar = heritage_korean
							has_cultural_pillar = heritage_japonic
						}
					}
					scope:include_siege_maa = yes
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:cloud_ladder
				}
			}
			# HIGH
			1 = {
				trigger = {
					culture = {
						has_innovation = innovation_trebuchet
						NOR = {
							has_cultural_pillar = heritage_chinese
							has_cultural_pillar = heritage_korean
							has_cultural_pillar = heritage_japonic
						}
					}
					scope:include_siege_maa = yes
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:trebuchet
				}
			}
			1 = {
				trigger = {
					culture = {
						has_innovation = innovation_trebuchet
						OR = {
							has_cultural_pillar = heritage_chinese
							has_cultural_pillar = heritage_korean
							has_cultural_pillar = heritage_japonic
						}
					}
					scope:include_siege_maa = yes
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:siege_tower
				}
			}
			1 = {
				trigger = {
					culture = { has_innovation = innovation_advanced_bowmaking }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:crossbowmen
				}
			}
			# LATE
			1 = {
				trigger = {
					culture = {
						has_cultural_parameter = unlock_late_medieval_gunpowder_units
						NOR = {
							has_cultural_pillar = heritage_chinese
							has_cultural_pillar = heritage_korean
							has_cultural_pillar = heritage_japonic
						}
					}
					scope:include_siege_maa = yes
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:bombard
				}
			}
			1 = {
				trigger = {
					culture = {
						has_cultural_parameter = unlock_late_medieval_gunpowder_units
						OR = {
							has_cultural_pillar = heritage_chinese
							has_cultural_pillar = heritage_korean
							has_cultural_pillar = heritage_japonic
						}
					}
					scope:include_siege_maa = yes
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:cannon
				}
			}
			# CULTURAL INNOVATIONS
			1 = {
				trigger = {
					culture = { has_innovation = innovation_bamboo_bows }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:paiks
				}
			}
			1 = {
				trigger = {
					culture = { has_innovation = innovation_zweihanders }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:landsknecht
				}
			}
			1 = {
				trigger = {
					culture = { has_innovation = innovation_adaptive_militia }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:goedendag
				}
			}
			1 = {
				trigger = {
					culture = { has_innovation = innovation_valets }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:gendarme
				}
			}
			1 = {
				trigger = {
					culture = { has_innovation = innovation_rocket_cart }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:rocket_carts
				}
			}
			1 = {
				trigger = {
					culture = { has_innovation = innovation_pike_columns }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:picchieri
				}
			}
			1 = {
				trigger = {
					culture = { has_innovation = innovation_legionnaires }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:praetorian
				}
			}
			1 = {
				trigger = {
					culture = { has_innovation = innovation_desert_tactics }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:chasseur
				}
			}
			1 = {
				trigger = {
					culture = { has_innovation = innovation_caballeros }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:caballero
				}
			}
			1 = {
				trigger = {
					culture = { has_innovation = innovation_hobbies }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:hobelar
				}
			}
			1 = {
				trigger = {
					culture = { has_innovation = innovation_rectilinear_schiltron }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:schiltron
				}
			}
			1 = {
				trigger = {
					culture = { has_innovation = innovation_sahel_horsemen }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:sahel_horsemen
				}
			}
			1 = {
				trigger = {
					culture = { has_innovation = innovation_sarawit }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:sarawit
				}
			}
			1 = {
				trigger = {
					culture = { has_innovation = innovation_repeating_crossbow }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:shenbigong
				}
			}
			1 = {
				trigger = {
					culture = { has_innovation = innovation_pole_vault }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:guanch_vaulter
				}
			}
			1 = {
				trigger = {
					culture = { has_cultural_parameter = unlock_maa_huscarls }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:huscarl
				}
			}
			1 = {
				trigger = {
					culture = { has_cultural_parameter = unlock_maa_longbowmen }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:longbowmen
				}
			}
			1 = {
				trigger = {
					culture = { has_cultural_parameter = unlock_maa_monaspa }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:monaspa
				}
			}
			1 = {
				trigger = {
					culture = { has_cultural_parameter = unlock_maa_cataphract }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:cataphract
				}
			}
			1 = {
				trigger = {
					culture = { has_cultural_parameter = unlock_maa_metsanvartija }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:metsanvartija
				}
			}
			1 = {
				trigger = {
					culture = { has_cultural_parameter = unlock_maa_maturkan_warriors }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:maturkan_warriors
				}
			}
			1 = {
				trigger = {
					OR = {
						culture = { has_cultural_parameter = unlock_maa_horse_archers }
						mpo_can_recruit_nomad_maa_trigger = yes
					}
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:horse_archers
				}
			}
			1 = {
				trigger = {
					culture = { has_cultural_parameter = unlock_maa_ayyar }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:ayyar
				}
			}
			1 = {
				trigger = {
					culture = { has_cultural_parameter = unlock_maa_mubarizun }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:mubarizun
				}
			}
			1 = {
				trigger = {
					culture = { has_cultural_parameter = unlock_maa_mulaththamun }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:mulaththamun
				}
			}
			1 = {
				trigger = {
					culture = { has_cultural_parameter = unlock_maa_archers_of_the_nile }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:archers_of_the_nile
				}
			}
			1 = {
				trigger = {
					culture = { has_cultural_parameter = unlock_maa_druzhina }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:druzhina
				}
			}
			1 = {
				trigger = {
					culture = { has_cultural_parameter = unlock_maa_hussar }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:hussar
				}
			}
			1 = {
				trigger = {
					culture = { has_cultural_parameter = unlock_maa_horn_warrior }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:horn_warrior
				}
			}
			1 = {
				trigger = {
					culture = { has_cultural_parameter = unlock_maa_bush_hunter }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:bush_hunter
				}
			}
			1 = {
				trigger = {
					culture = { has_cultural_parameter = unlock_maa_shomer }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:shomer
				}
			}
			1 = {
				trigger = {
					culture = { has_cultural_parameter = unlock_maa_garudas }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:garudas
				}
			}
			1 = {
				trigger = {
					culture = { has_cultural_parameter = unlock_maa_khandayat }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:khandayat
				}
			}
			1 = {
				trigger = {
					culture = { has_cultural_parameter = unlock_maa_mountaineer }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:mountaineer
				}
			}
			1 = {
				trigger = {
					culture = { has_cultural_parameter = unlock_maa_guinea_warrior }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:guinea_warrior
				}
			}
			1 = {
				trigger = {
					culture = { has_cultural_parameter = unlock_maa_abudrar }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:abudrar
				}
			}
			1 = {
				trigger = {
					culture = { has_cultural_parameter = unlock_maa_zbrojnosh }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:zbrojnosh
				}
			}
			1 = {
				trigger = {
					culture = { has_cultural_parameter = unlock_maa_palace_guards }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:palace_guards
				}
			}
			1 = {
				trigger = {
					dynasty ?= {
						has_dynasty_perk = fp3_khvarenah_legacy_4
					}
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:asawira
				}
			}
			1 = {
				trigger = {
					culture = { has_cultural_parameter = unlock_maa_tarkhan }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:tarkhan
				}
			}
			1 = {
				trigger = {
					culture = { has_cultural_parameter = unlock_maa_zupin_warrior }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:zupin_warrior
				}
			}
			1 = {
				trigger = {
					culture = { has_cultural_parameter = unlock_maa_tawashi }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:tawashi
				}
			}
			1 = {
				trigger = {
					dynasty ?= {
						has_dynasty_perk = warfare_legacy_5
					}
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:house_guard
				}
			}
			1 = {
				trigger = {
					any_active_accolade = {
						primary_type = {
							this = accolade_type:archer_attribute
						}
						accolade_rank >= 3
					}
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:accolade_maa_archers
				}
			}
			1 = {
				trigger = {
					any_active_accolade = {
						primary_type = {
							this = accolade_type:skirmisher_attribute
						}
						accolade_rank >= 3
					}
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:accolade_maa_skirmishers
				}
			}
			1 = {
				trigger = {
					any_active_accolade = {
						primary_type = {
							this = accolade_type:pike_attribute
						}
						accolade_rank >= 3
					}
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:accolade_maa_pikes
				}
			}
			1 = {
				trigger = {
					any_active_accolade = {
						primary_type = {
							this = accolade_type:outrider_attribute
						}
						accolade_rank >= 3
					}
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:accolade_maa_outriders
				}
			}
			1 = {
				trigger = {
					any_active_accolade = {
						primary_type = {
							this = accolade_type:vanguard_attribute
						}
						accolade_rank >= 3
					}
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:accolade_maa_vanguards
				}
			}
			1 = {
				trigger = {
					any_active_accolade = {
						primary_type = {
							this = accolade_type:lancer_attribute
						}
						accolade_rank >= 3
					}
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:accolade_maa_lancers
				}
			}
			1 = {
				trigger = {
					any_active_accolade = {
						primary_type = {
							this = accolade_type:crossbowmen_attribute
						}
						accolade_rank >= 3
					}
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:accolade_maa_crossbowers
				}
			}
			1 = {
				trigger = {
					any_active_accolade = {
						primary_type = {
							this = accolade_type:camelry_attribute
						}
						accolade_rank >= 3
					}
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:accolade_maa_cameliers
				}
			}
			1 = {
				trigger = {
					any_active_accolade = {
						primary_type = {
							this = accolade_type:elephantry_attribute
						}
						accolade_rank >= 3
					}
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:accolade_maa_elephantiers
				}
			}
			1 = {
				trigger = {
					any_active_accolade = {
						primary_type = {
							this = accolade_type:horse_archer_attribute
						}
						accolade_rank >= 3
					}
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:accolade_maa_horse_archers
				}
			}
			1 = {
				trigger = {
					culture = { has_cultural_parameter = unlock_maa_vigmen }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:vigmen
				}
			}
			1 = {
				trigger = {
					culture = { has_cultural_parameter = unlock_maa_bondi }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:bondi
				}
			}
			1 = {
				trigger = {
					culture = { has_cultural_parameter = unlock_maa_varangian_veterans }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:varangian_veterans
				}
			}
			1 = {
				trigger = {
					culture = { has_cultural_parameter = unlock_maa_ayrudzi }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:ayrudzi
				}
			}
			1 = {
				trigger = {
					mpo_can_recruit_nomad_maa_trigger = yes
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:steppe_raiders
				}
			}
			1 = {
				trigger = {
					culture = { has_cultural_parameter = unlock_maa_conrois }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:conrois
				}
			}
			1 = {
				trigger = {
					culture = { has_cultural_parameter = unlock_maa_akritai }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:akritai
				}
			}
			1 = {
				trigger = {
					culture = { has_cultural_parameter = unlock_maa_ballistrai }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:ballistrai
				}
			}
			1 = {
				trigger = {
					culture = { has_cultural_parameter = unlock_maa_skoutatoi }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:skoutatoi
				}
			}
			1 = {
				trigger = {
					culture = { has_cultural_parameter = unlock_warrior_monk_units }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:warrior_monks
				}
			}
			1 = {
				trigger = {
					culture = { has_cultural_parameter = unlock_emishi_horse_archers_units }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:emishi_horse_archers
				}
			}
			1 = {
				trigger = {
					culture = { has_cultural_parameter = unlock_mounted_samurai_units }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:japanese_horse_archers
				}
			}
			1 = {
				trigger = {
					culture = { has_cultural_parameter = unlock_maa_pesilat }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:pesilat_warriors
				}
			}
			1 = {
				trigger = {
					culture = { has_cultural_parameter = unlock_maa_gakgung_archers }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:gakgung_archers
				}
			}
			1 = {
				trigger = {
					culture = { has_cultural_parameter = unlock_infantry_samurai_units }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:samurai
				}
			}
			1 = {
				trigger = {
					culture = { has_cultural_parameter = unlock_zhanmadao }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:zhanmadao_infantry
				}
			}
			1 = {
				trigger = {
					culture = { has_cultural_parameter = unlock_burenjia }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:burenjia
				}
			}
			1 = {
				trigger = {
					culture = { has_innovation = innovation_tiefutu }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:tiefutu
				}
			}
			1 = {
				trigger = {
					culture = { has_cultural_parameter = unlock_maa_black_armor_cavalry }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:black_armor_cavalry
				}
			}
			1 = {
				trigger = {
					exists = scope:title
					scope:title = title:e_byzantium
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:varangian_guards
				}
			}
			1 = {
				trigger = {
			   		domicile ?= { has_domicile_parameter = camp_unlocks_handpicked_faithful_maa_type }
				}
				save_scope_value_as = {
					name = maa_to_create
					value = flag:handpicked_faithful
				}
			}
		}
	}
	#in case you don't fullfil any criteria just pick a random default maa
	if = {
		limit = {
			NOT = { exists = scope:maa_to_create }
		}
		random_list = {
			1 = {
				save_scope_value_as = {
					name = maa_to_create
					value = flag:light_footmen
				}
			}
			1 = {
				save_scope_value_as = {
					name = maa_to_create
					value = flag:bowmen
				}
			}
			1 = {
				save_scope_value_as = {
					name = maa_to_create
					value = flag:light_horsemen
				}
			}
			1 = {
				save_scope_value_as = {
					name = maa_to_create
					value = flag:pikemen_unit
				}
			}
		}
	}
}

# creates the maa type for OWNER of SIZE set by the above
ep3_create_random_maa_regiment_effect = {
	$OWNER$ = {
		switch = {
			trigger = scope:maa_to_create
			flag:light_footmen = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = light_footmen
					SIZE = $SIZE$
				}
			}
			flag:bowmen = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = bowmen
					SIZE = $SIZE$
				}
			}
			flag:light_horsemen = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = light_horsemen
					SIZE = $SIZE$
				}
			}
			flag:pikemen_unit = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = pikemen_unit
					SIZE = $SIZE$
				}
			}
			flag:war_elephant = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = war_elephant
					SIZE = $SIZE$
				}
			}
			flag:camel_rider = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = camel_rider
					SIZE = $SIZE$
				}
			}
			flag:armored_horsemen = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = armored_horsemen
					SIZE = $SIZE$
				}
			}
			flag:onager = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = onager
					SIZE = $SIZE$
				}
			}
			flag:armored_footmen = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = armored_footmen
					SIZE = $SIZE$
				}
			}
			flag:mangonel = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = mangonel
					SIZE = $SIZE$
				}
			}
			flag:trebuchet = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = trebuchet
					SIZE = $SIZE$
				}
			}
			flag:crossbowmen = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = crossbowmen
					SIZE = $SIZE$
				}
			}
			flag:bombard = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = bombard
					SIZE = $SIZE$
				}
			}
			flag:paiks = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = paiks
					SIZE = $SIZE$
				}
			}
			flag:landsknecht = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = landsknecht
					SIZE = $SIZE$
				}
			}
			flag:goedendag = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = goedendag
					SIZE = $SIZE$
				}
			}
			flag:gendarme = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = gendarme
					SIZE = $SIZE$
				}
			}
			flag:picchieri = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = picchieri
					SIZE = $SIZE$
				}
			}
			flag:praetorian = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = praetorian
					SIZE = $SIZE$
				}
			}
			flag:chasseur = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = chasseur
					SIZE = $SIZE$
				}
			}
			flag:caballero = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = caballero
					SIZE = $SIZE$
				}
			}
			flag:hobelar = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = hobelar
					SIZE = $SIZE$
				}
			}
			flag:schiltron = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = schiltron
					SIZE = $SIZE$
				}
			}
			flag:sahel_horsemen = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = sahel_horsemen
					SIZE = $SIZE$
				}
			}
			flag:sarawit = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = sarawit
					SIZE = $SIZE$
				}
			}
			flag:shenbigong = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = shenbigong
					SIZE = $SIZE$
				}
			}
			flag:guanch_vaulter = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = guanch_vaulter
					SIZE = $SIZE$
				}
			}
			flag:huscarl = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = huscarl
					SIZE = $SIZE$
				}
			}
			flag:longbowmen = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = longbowmen
					SIZE = $SIZE$
				}
			}
			flag:monaspa = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = monaspa
					SIZE = $SIZE$
				}
			}
			flag:cataphract = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = cataphract
					SIZE = $SIZE$
				}
			}
			flag:metsanvartija = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = metsanvartija
					SIZE = $SIZE$
				}
			}
			flag:maturkan_warriors = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = maturkan_warriors
					SIZE = $SIZE$
				}
			}
			flag:horse_archers = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = horse_archers
					SIZE = $SIZE$
				}
			}
			flag:ayyar = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = ayyar
					SIZE = $SIZE$
				}
			}
			flag:mubarizun = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = mubarizun
					SIZE = $SIZE$
				}
			}
			flag:mulaththamun = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = mulaththamun
					SIZE = $SIZE$
				}
			}
			flag:archers_of_the_nile = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = archers_of_the_nile
					SIZE = $SIZE$
				}
			}
			flag:druzhina = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = druzhina
					SIZE = $SIZE$
				}
			}
			flag:hussar = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = hussar
					SIZE = $SIZE$
				}
			}
			flag:horn_warrior = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = horn_warrior
					SIZE = $SIZE$
				}
			}
			flag:bush_hunter = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = bush_hunter
					SIZE = $SIZE$
				}
			}
			flag:shomer = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = shomer
					SIZE = $SIZE$
				}
			}
			flag:garudas = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = garudas
					SIZE = $SIZE$
				}
			}
			flag:khandayat = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = khandayat
					SIZE = $SIZE$
				}
			}
			flag:mountaineer = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = mountaineer
					SIZE = $SIZE$
				}
			}
			flag:guinea_warrior = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = guinea_warrior
					SIZE = $SIZE$
				}
			}
			flag:abudrar = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = abudrar
					SIZE = $SIZE$
				}
			}
			flag:zbrojnosh = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = zbrojnosh
					SIZE = $SIZE$
				}
			}
			flag:palace_guards = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = palace_guards
					SIZE = $SIZE$
				}
			}
			flag:asawira = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = asawira
					SIZE = $SIZE$
				}
			}
			flag:tarkhan = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = tarkhan
					SIZE = $SIZE$
				}
			}
			flag:zupin_warrior = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = zupin_warrior
					SIZE = $SIZE$
				}
			}
			flag:tawashi = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = tawashi
					SIZE = $SIZE$
				}
			}
			flag:house_guard = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = house_guard
					SIZE = $SIZE$
				}
			}
			flag:accolade_maa_archers = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = accolade_maa_archers
					SIZE = $SIZE$
				}
			}
			flag:accolade_maa_skirmishers = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = accolade_maa_skirmishers
					SIZE = $SIZE$
				}
			}
			flag:accolade_maa_pikes = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = accolade_maa_pikes
					SIZE = $SIZE$
				}
			}
			flag:accolade_maa_outriders = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = accolade_maa_outriders
					SIZE = $SIZE$
				}
			}
			flag:accolade_maa_vanguards = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = accolade_maa_vanguards
					SIZE = $SIZE$
				}
			}
			flag:accolade_maa_lancers = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = accolade_maa_lancers
					SIZE = $SIZE$
				}
			}
			flag:accolade_maa_crossbowers = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = accolade_maa_crossbowers
					SIZE = $SIZE$
				}
			}
			flag:accolade_maa_cameliers = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = accolade_maa_cameliers
					SIZE = $SIZE$
				}
			}
			flag:accolade_maa_elephantiers = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = accolade_maa_elephantiers
					SIZE = $SIZE$
				}
			}
			flag:accolade_maa_horse_archers = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = accolade_maa_horse_archers
					SIZE = $SIZE$
				}
			}
			flag:vigmen = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = vigmen
					SIZE = $SIZE$
				}
			}
			flag:bondi = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = bondi
					SIZE = $SIZE$
				}
			}
			flag:varangian_veterans = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = varangian_veterans
					SIZE = $SIZE$
				}
			}
			flag:ayrudzi = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = ayrudzi
					SIZE = $SIZE$
				}
			}
			flag:steppe_raiders = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = steppe_raiders
					SIZE = $SIZE$
				}
			}
			flag:conrois = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = conrois
					SIZE = $SIZE$
				}
			}
			flag:akritai = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = akritai
					SIZE = $SIZE$
				}
			}
			flag:ballistrai = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = ballistrai
					SIZE = $SIZE$
				}
			}
			flag:skoutatoi = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = skoutatoi
					SIZE = $SIZE$
				}
			}
			flag:varangian_guards = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = varangian_guards
					SIZE = $SIZE$
				}
			}
			flag:handpicked_faithful = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = handpicked_faithful
					SIZE = $SIZE$
				}
			}
			flag:emishi_horse_archers = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = emishi_horse_archers
					SIZE = $SIZE$
				}
			}
			flag:japanese_horse_archers = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = japanese_horse_archers
					SIZE = $SIZE$
				}
			}
			flag:warrior_monks = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = warrior_monks
					SIZE = $SIZE$
				}
			}
			flag:gakgung_archers = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = gakgung_archers
					SIZE = $SIZE$
				}
			}
			flag:pesilat_warriors = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = pesilat_warriors
					SIZE = $SIZE$
				}
			}
			flag:samurai = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = samurai
					SIZE = $SIZE$
				}
			}
			flag:zhanmadao_infantry = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = zhanmadao_infantry
					SIZE = $SIZE$
				}
			}
			flag:burenjia = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = burenjia
					SIZE = $SIZE$
				}
			}
			flag:tiefutu = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = tiefutu
					SIZE = $SIZE$
				}
			}
			flag:black_armor_cavalry = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = black_armor_cavalry
					SIZE = $SIZE$
				}
			}
			flag:rocket_carts = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = rocket_carts
					SIZE = $SIZE$
				}
			}
			flag:ballista = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = ballista
					SIZE = $SIZE$
				}
			}
			flag:cloud_ladder = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = cloud_ladder
					SIZE = $SIZE$
				}
			}
			flag:siege_tower = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = siege_tower
					SIZE = $SIZE$
				}
			}
			flag:cannon = {
				create_maa_or_upgrade_regiment_effect = {
					TYPE = cannon
					SIZE = $SIZE$
				}
			}
		}
	}
}

create_maa_or_upgrade_regiment_effect = {
	if = {
		limit = {
			any_maa_regiment = {
				is_maa_type = $TYPE$
				can_upgrade_maa = yes
			}
		}
		random_maa_regiment = {
			limit = {
				is_maa_type = $TYPE$
				can_upgrade_maa = yes
			}
			change_maa_regiment_size = $SIZE$
		}
	}
	else = {
		create_maa_regiment = {
			type = $TYPE$
			check_can_recruit = no
			size = $SIZE$
		}
	}
}

ep3_missionary_effect = {
	# Same religion or unreformed or Hasan, convert to the preacher's faith
	if = {
		limit = {
			OR = {
				$LOCATION$.religion = $PREACHER$.religion
				$LOCATION$.faith = { has_doctrine_parameter = unreformed }
				character:41702 ?= $PREACHER$
			}
		}
		$LOCATION$ = {
			set_county_faith = $PREACHER$.faith
		}
	}
	# Preacher is Gnostic, convert the locals to a regionally appropriate form of Gnosticism
	else_if = {
		limit = {
			$PREACHER$.faith = {
				OR = {
					has_doctrine = tenet_gnosticism
					has_doctrine = special_doctrine_is_gnostic_faith
				}
			}
			$LOCATION$.religion = {
				any_faith = {
					has_doctrine = tenet_gnosticism
				}
			}
		}
		$LOCATION$ = {
			religion = {
				random_faith = {
					limit = {
						OR = {
							has_doctrine = tenet_gnosticism
							has_doctrine = special_doctrine_is_gnostic_faith
						}
					}
					$LOCATION$ = { set_county_faith = prev }
				}
			}
		}
	}
	# Otherwise, reduce popular opinion
	else = {
		$LOCATION$ = {
			add_county_modifier = {
				modifier = ep3_religious_doubts
				years = 15
			}
		}
	}
}
ep3_hasan_missionary_effect = {
	ep3_hasan_advance_radicalism = yes
	ep3_missionary_effect = {
		PREACHER = $PREACHER$
		LOCATION = $LOCATION$
	}
}
ep3_hasan_advance_radicalism = {
	if = {
		limit = {
			any_owned_story = {
				type = story_hasan
			}
		}
		custom_tooltip = {
			text = advance_to_the_assassins_tt
			random_owned_story = {
				type = story_hasan
				if = {
					limit = {
						exists = var:radical_points
					}
					change_variable = {
						name = radical_points
						add = 1
					}
				}
				else = {
					set_variable = {
						name = radical_points
						value = 1
					}
				}
			}
		}
	}
}
hasan_sabbah_ignite_decision_effect = {
	if = {
		limit = {
			hasan_sabbah_event_troops_value <= 1000
		}
		spawn_army = {
			name = hasan_fanatics
			men_at_arms = {
				type = asawira
				stacks = 1
			}
			levies = hasan_sabbah_event_troops_value
			inheritable = yes
			location = root.domicile.domicile_location
			war_keep_on_attacker_victory = yes
		}
		spawn_army = {
			name = hasan_fanatics
			men_at_arms = {
				type = asawira
				stacks = 1
			}
			levies = hasan_sabbah_event_troops_value
			inheritable = yes
			location = root.domicile.domicile_location
			war_keep_on_attacker_victory = yes
		}
		spawn_army = {
			name = hasan_fanatics
			men_at_arms = {
				type = ayyar
				stacks = 1
			}
			levies = hasan_sabbah_event_troops_value
			inheritable = yes
			location = root.domicile.domicile_location
			war_keep_on_attacker_victory = yes
		}
		spawn_army = {
			name = hasan_fanatics
			men_at_arms = {
				type = ayyar
				stacks = 1
			}
			levies = hasan_sabbah_event_troops_value
			inheritable = yes
			location = root.domicile.domicile_location
			war_keep_on_attacker_victory = yes
		}
		spawn_army = {
			name = hasan_fanatics
			men_at_arms = {
				type = ayyar
				stacks = 1
			}
			levies = hasan_sabbah_event_troops_value
			inheritable = yes
			location = root.domicile.domicile_location
			war_keep_on_attacker_victory = yes
		}
	}
	else_if = {
		limit = {
			hasan_sabbah_event_troops_value <= 2000
		}
		spawn_army = {
			name = hasan_fanatics
			men_at_arms = {
				type = asawira
				stacks = 1
			}
			men_at_arms = {
				type = ayyar
				stacks = 1
			}
			levies = hasan_sabbah_event_troops_value
			inheritable = yes
			location = root.domicile.domicile_location
			war_keep_on_attacker_victory = yes
		}
		spawn_army = {
			name = hasan_fanatics
			men_at_arms = {
				type = asawira
				stacks = 1
			}
			men_at_arms = {
				type = ayyar
				stacks = 1
			}
			levies = hasan_sabbah_event_troops_value
			inheritable = yes
			location = root.domicile.domicile_location
			war_keep_on_attacker_victory = yes
		}
		spawn_army = {
			name = hasan_fanatics
			men_at_arms = {
				type = asawira
				stacks = 1
			}
			men_at_arms = {
				type = ayyar
				stacks = 1
			}
			levies = hasan_sabbah_event_troops_value
			inheritable = yes
			location = root.domicile.domicile_location
			war_keep_on_attacker_victory = yes
		}
		spawn_army = {
			name = hasan_fanatics
			men_at_arms = {
				type = asawira
				stacks = 1
			}
			men_at_arms = {
				type = ayyar
				stacks = 1
			}
			levies = hasan_sabbah_event_troops_value
			inheritable = yes
			location = root.domicile.domicile_location
			war_keep_on_attacker_victory = yes
		}
		spawn_army = {
			name = hasan_fanatics
			men_at_arms = {
				type = ayyar
				stacks = 2
			}
			levies = hasan_sabbah_event_troops_value
			inheritable = yes
			location = root.domicile.domicile_location
			war_keep_on_attacker_victory = yes
		}
	}
	else_if = {
		limit = {
			hasan_sabbah_event_troops_value <= 3000
		}
		spawn_army = {
			name = hasan_fanatics
			men_at_arms = {
				type = asawira
				stacks = 1
			}
			men_at_arms = {
				type = ayyar
				stacks = 2
			}
			levies = hasan_sabbah_event_troops_value
			inheritable = yes
			location = root.domicile.domicile_location
			war_keep_on_attacker_victory = yes
		}
		spawn_army = {
			name = hasan_fanatics
			men_at_arms = {
				type = asawira
				stacks = 1
			}
			men_at_arms = {
				type = ayyar
				stacks = 2
			}
			levies = hasan_sabbah_event_troops_value
			inheritable = yes
			location = root.domicile.domicile_location
			war_keep_on_attacker_victory = yes
		}
		spawn_army = {
			name = hasan_fanatics
			men_at_arms = {
				type = asawira
				stacks = 1
			}
			men_at_arms = {
				type = ayyar
				stacks = 2
			}
			levies = hasan_sabbah_event_troops_value
			inheritable = yes
			location = root.domicile.domicile_location
			war_keep_on_attacker_victory = yes
		}
		spawn_army = {
			name = hasan_fanatics
			men_at_arms = {
				type = asawira
				stacks = 1
			}
			men_at_arms = {
				type = ayyar
				stacks = 2
			}
			levies = hasan_sabbah_event_troops_value
			inheritable = yes
			location = root.domicile.domicile_location
			war_keep_on_attacker_victory = yes
		}
		spawn_army = {
			name = hasan_fanatics
			men_at_arms = {
				type = asawira
				stacks = 1
			}
			men_at_arms = {
				type = ayyar
				stacks = 2
			}
			levies = hasan_sabbah_event_troops_value
			inheritable = yes
			location = root.domicile.domicile_location
			war_keep_on_attacker_victory = yes
		}
	}
	else_if = {
		limit = {
			hasan_sabbah_event_troops_value > 3000
		}
		spawn_army = {
			name = hasan_fanatics
			men_at_arms = {
				type = asawira
				stacks = 2
			}
			men_at_arms = {
				type = ayyar
				stacks = 2
			}
			levies = hasan_sabbah_event_troops_value
			inheritable = yes
			location = root.domicile.domicile_location
			war_keep_on_attacker_victory = yes
		}
		spawn_army = {
			name = hasan_fanatics
			men_at_arms = {
				type = asawira
				stacks = 2
			}
			men_at_arms = {
				type = ayyar
				stacks = 2
			}
			levies = hasan_sabbah_event_troops_value
			inheritable = yes
			location = root.domicile.domicile_location
			war_keep_on_attacker_victory = yes
		}
		spawn_army = {
			name = hasan_fanatics
			men_at_arms = {
				type = asawira
				stacks = 2
			}
			men_at_arms = {
				type = ayyar
				stacks = 2
			}
			levies = hasan_sabbah_event_troops_value
			inheritable = yes
			location = root.domicile.domicile_location
			war_keep_on_attacker_victory = yes
		}
		spawn_army = {
			name = hasan_fanatics
			men_at_arms = {
				type = asawira
				stacks = 2
			}
			men_at_arms = {
				type = ayyar
				stacks = 2
			}
			levies = hasan_sabbah_event_troops_value
			inheritable = yes
			location = root.domicile.domicile_location
			war_keep_on_attacker_victory = yes
		}
		spawn_army = {
			name = hasan_fanatics
			men_at_arms = {
				type = asawira
				stacks = 2
			}
			men_at_arms = {
				type = ayyar
				stacks = 2
			}
			levies = hasan_sabbah_event_troops_value
			inheritable = yes
			location = root.domicile.domicile_location
			war_keep_on_attacker_victory = yes
		}
	}
	start_war = {
		cb = ep3_hasan_assassin_war
		target = root.location.county.holder.top_liege
		target_title = root.location.county.holder.top_liege.primary_title
	}
}
hasan_sabbah_end_war = {
	# Offer Hasan the opportunity to become landed
	hidden_effect = {
		if = {
			limit = {
				$SELJUK$ = {
					any_sub_realm_barony = {
						title_province = { has_building_or_higher = alamut_castle_01 }
					}
				}
			}
			$SELJUK$ = {
				random_sub_realm_barony = {
					limit = {
						title_province = { has_building_or_higher = alamut_castle_01 }
					}
					county = {
						save_scope_as = hasan_home
					}
				}
			}
		}
		else_if = {
			limit = {
				$SELJUK$ = {
					any_sub_realm_county = {
						faith = $HASAN$.faith
						holder = { is_ai = yes }
					}
				}
			}
			$SELJUK$ = {
				random_sub_realm_county = {
					limit = {
						faith = $HASAN$.faith
						holder = { is_ai = yes }
					}
					save_scope_as = hasan_home
				}
			}
		}
		else = {
			$SELJUK$ = {
				random_sub_realm_county = {
					limit = {
						holder = { is_ai = yes }
					}
					save_scope_as = hasan_home
				}
			}
		}
		$HASAN$ = {
			if = {
				limit = {
					any_owned_story = {
						type = story_hasan
						exists = var:preferred_caliph
					}
				}
				random_owned_story = {
					type = story_hasan
					var:preferred_caliph = { save_scope_as = caliph }
				}
			}
			trigger_event = {
				id = hasan_sabbah.1050
			}
			if = {
				limit = {
					is_ai = no
				}
				add_achievement_global_variable_effect = {
					VARIABLE = finished_the_old_man_of_the_mountain_achievement
					VALUE = yes
				}
			}
		}
	}
	create_title_and_vassal_change = {
		type = independency
		save_scope_as = change
	}
	$HASAN$ = {
		add_prestige = medium_prestige_value
	}
	$SELJUK$ = {
		add_prestige = {
			value = medium_prestige_value
			multiply = -1
		}

		every_vassal = {
			limit = {
				highest_held_title_tier > tier_barony
			}
			change_liege_or_become_independent = {
				CHANGE = scope:change
				VASSAL = this
			}
		}

		every_vassal = {
			limit = { is_ai = no }
			send_interface_toast = {
				type = msg_gained_independence
				title = liege_primary_title_dissolution
				desc = liege_primary_title_dissolution_desc
				left_icon = $SELJUK$
			}
		}
	}
	resolve_title_and_vassal_change = scope:change
	$SELJUK$ = {
		every_held_title = {
			limit = {
				tier >= tier_duchy
				is_head_of_faith = no
				NOT = { this = $SELJUK$.capital_county.duchy }
			}
			add_to_temporary_list = titles_to_destroy
		}
	}
	every_in_list = {
		list = titles_to_destroy
		$HASAN$ = {
			destroy_title = prev
		}
	}
	$SELJUK$ = {
		if = {
			limit = {
				government_has_flag = government_is_administrative
			}
			admin_government_reset_effect = yes
		}
	}
	# LEGITIMACY FROM LOSING FACTION WAR
	faction_war_end_defeat_legitimacy_effect = yes
	# End Hasan's story cycle
	hidden_effect = {
		$HASAN$ = {
			if = {
				limit = {
					any_owned_story = {
						type = story_hasan
					}
				}
				random_owned_story = {
					type = story_hasan
					end_story = yes
				}
			}
		}
	}
}

reinforce_soldiers_regiment_effect = {
	save_scope_as = laamp_temp
	# For the value.
	save_temporary_scope_as = actor
	custom_tooltip = {
		text = reinforce_soldiers_effect_tt
		every_maa_regiment = {
			limit = { maa_regiments_valid_for_cheap_reinforcement_trigger = yes }
			change_maa_troops_count = reinforce_soldiers_regiment_soldiers_value
		}
	}
}

refill_maa_with_provisions_effect = {
	save_scope_as = laamp_temp
	while = {
		limit = {
			scope:actor.domicile.provisions > 0
			any_maa_regiment = {
				maa_regiments_valid_to_refill_trigger = yes
			}
		}
		random_maa_regiment = {
			limit = {
				maa_regiments_valid_to_refill_trigger = yes
			}
			save_scope_as = maa_scope
			save_scope_value_as = {
				name = current_provisions_max_value_scope
				value = scope:actor.domicile.provisions
			}
			scope:actor.domicile ?= {
				change_provisions = {
					value = {
						add = scope:maa_scope.replenishable_troops_value
						divide = provision_refill_value
						max = scope:current_provisions_max_value_scope
						multiply = -1
					}
				}
			}
			change_maa_troops_count = replenishable_troops_with_provisions_value
		}
	}
}

refill_maa_with_gold_effect = {
	save_scope_as = laamp_temp
	while = {
		limit = {
			scope:actor.gold > 0
			any_maa_regiment = {
				maa_regiments_valid_to_refill_trigger = yes
			}
		}
		random_maa_regiment = {
			limit = {
				maa_regiments_valid_to_refill_trigger = yes
			}
			save_scope_as = maa_scope
			save_scope_value_as = {
				name = current_gold_max_value_scope
				value = scope:actor.gold
			}
			scope:actor = {
				remove_short_term_gold = {
					add = scope:maa_scope.replenishable_troops_value
					divide = gold_refill_value
					max = scope:current_gold_max_value_scope
				}
			}
			change_maa_troops_count = replenishable_troops_with_gold_value
		}
	}
}

admin_government_reset_effect = {
	if = {
		limit = { is_landed = yes } # error suppression
		### NOMADIC
		if = {
			limit = {
				OR = {
					government_has_flag = government_is_nomadic
					capital_province = {
						OR = {
							has_holding_type = nomad_holding
							has_holding_type = herder_holding
						}
					}
				}
			}
			change_government = nomad_government
		}
		### TRIBAL - are all of your holdings Tribal?
		if = {
			limit = {
				NOT = {
					any_held_title = {
						trigger_if = {
							limit = { tier <= tier_county }
							title_province ?= {
								NOT = { has_holding_type = tribal_holding }
							}
						}
						trigger_else = {
							title_capital_county.title_province ?= {
								NOT = { has_holding_type = tribal_holding }
							}
						}
					}
				}
			}
			change_government = tribal_government
		}
		### CLAN - are you a Muslim or from a Clan culture?
		else_if = {
			limit = {
				OR = {
					faith = { religion_tag = islam_religion }
					culture = {
						OR = {
							has_cultural_pillar = heritage_arabic
							has_cultural_pillar = heritage_iranian
							has_cultural_pillar = heritage_turkic
						}
					}
				}
			}
			change_government = clan_government
		}
		### FEUDAL - fallback playable case
		else = { change_government = feudal_government }
	}
}

create_basic_peasant_effect = {
	create_character = {
		template = peasant_character
		location = root.location
		dynasty = none
		culture = scope:new_landless_minority.culture
		faith = scope:new_landless_minority.faith
		gender_female_chance = 50
		after_creation = {
			set_to_lowborn = yes
		}
		save_scope_as = peasant
	}
}

fire_governor_long_war_response_events = {
	if = {
		limit = {
			scope:defender = {
				government_has_flag = government_is_administrative
				top_liege = this
				any_vassal = {
					is_governor = yes
					NOR = {
						this = scope:attacker
						is_allied_to = scope:attacker
					}
				}
			}
		}
		scope:defender = {
			random_vassal = {
				limit = {
					is_governor = yes
					NOR = {
						this = scope:attacker
						is_allied_to = scope:attacker
					}
				}
				save_scope_as = def_governor_1
				trigger_event = {
					id = ep3_governor_yearly.3010
					months = 24
				}
			}
		}
		scope:defender = {
			random_vassal = {
				limit = {
					is_governor = yes
					NOR = {
						this = scope:attacker
						is_allied_to = scope:attacker
						this = scope:def_governor_1
					}
				}
				save_scope_as = def_governor_2
				trigger_event = {
					id = ep3_governor_yearly.3010
					months = 28
				}
			}
		}
		scope:defender = {
			random_vassal = {
				limit = {
					is_governor = yes
					NOR = {
						this = scope:attacker
						is_allied_to = scope:attacker
						this = scope:def_governor_1
						this = scope:def_governor_2
					}
				}
				save_scope_as = def_governor_3
				trigger_event = {
					id = ep3_governor_yearly.3010
					months = 32
				}
			}
		}
		scope:defender = {
			random_vassal = {
				limit = {
					is_governor = yes
					NOR = {
						this = scope:attacker
						is_allied_to = scope:attacker
						this = scope:def_governor_1
						this = scope:def_governor_2
						this = scope:def_governor_3
					}
				}
				save_scope_as = def_governor_4
				trigger_event = {
					id = ep3_governor_yearly.3010
					months = 36
				}
			}
		}
		scope:defender = {
			random_vassal = {
				limit = {
					is_governor = yes
					NOR = {
						this = scope:attacker
						is_allied_to = scope:attacker
						this = scope:def_governor_1
						this = scope:def_governor_2
						this = scope:def_governor_3
						this = scope:def_governor_4
					}
				}
				save_scope_as = def_governor_5
				trigger_event = {
					id = ep3_governor_yearly.3010
					months = 42
				}
			}
		}
		scope:defender = {
			random_vassal = {
				limit = {
					is_governor = yes
					NOR = {
						this = scope:attacker
						is_allied_to = scope:attacker
						this = scope:def_governor_1
						this = scope:def_governor_2
						this = scope:def_governor_3
						this = scope:def_governor_4
						this = scope:def_governor_5
					}
				}
				save_scope_as = def_governor_6
				trigger_event = {
					id = ep3_governor_yearly.3010
					months = 54
				}
			}
		}
	}
	if = {
		limit = {
			scope:attacker = {
				government_has_flag = government_is_administrative
				top_liege = this
				any_vassal = {
					is_governor = yes
					NOR = {
						this = scope:defender
						is_allied_to = scope:defender
					}
				}
			}
		}
		scope:attacker = {
			random_vassal = {
				limit = {
					is_governor = yes
					NOR = {
						this = scope:defender
						is_allied_to = scope:defender
					}
				}
				save_scope_as = att_governor_1
				trigger_event = {
					id = ep3_governor_yearly.3010
					months = 24
				}
			}
		}
		scope:attacker = {
			random_vassal = {
				limit = {
					is_governor = yes
					NOR = {
						this = scope:defender
						is_allied_to = scope:defender
						this = scope:att_governor_1
					}
				}
				save_scope_as = att_governor_2
				trigger_event = {
					id = ep3_governor_yearly.3010
					months = 28
				}
			}
		}
		scope:attacker = {
			random_vassal = {
				limit = {
					is_governor = yes
					NOR = {
						this = scope:defender
						is_allied_to = scope:defender
						this = scope:att_governor_1
						this = scope:att_governor_2
					}
				}
				save_scope_as = att_governor_3
				trigger_event = {
					id = ep3_governor_yearly.3010
					months = 32
				}
			}
		}
		scope:attacker = {
			random_vassal = {
				limit = {
					is_governor = yes
					NOR = {
						this = scope:defender
						is_allied_to = scope:defender
						this = scope:att_governor_1
						this = scope:att_governor_2
						this = scope:att_governor_3
					}
				}
				save_scope_as = att_governor_4
				trigger_event = {
					id = ep3_governor_yearly.3010
					months = 36
				}
			}
		}
		scope:attacker = {
			random_vassal = {
				limit = {
					is_governor = yes
					NOR = {
						this = scope:defender
						is_allied_to = scope:defender
						this = scope:att_governor_1
						this = scope:att_governor_2
						this = scope:att_governor_3
						this = scope:att_governor_4
					}
				}
				save_scope_as = att_governor_5
				trigger_event = {
					id = ep3_governor_yearly.3010
					months = 42
				}
			}
		}
		scope:attacker = {
			random_vassal = {
				limit = {
					is_governor = yes
					NOR = {
						this = scope:defender
						is_allied_to = scope:defender
						this = scope:att_governor_1
						this = scope:att_governor_2
						this = scope:att_governor_3
						this = scope:att_governor_4
						this = scope:att_governor_5
					}
				}
				save_scope_as = att_governor_6
				trigger_event = {
					id = ep3_governor_yearly.3010
					months = 54
				}
			}
		}
	}
}

ep3_governor_yearly_3010_war_aid_effect = {
	if = {
		limit = {
			scope:emperor = {
				is_defender_in_war = scope:war
			}
		}
		scope:war = {
			add_defender = scope:governor
		}
	}
	else = {
		scope:war = {
			add_attacker = scope:governor
		}

	}
	if = {
		limit = {
			root = scope:emperor
		}
		hidden_effect = {
			reverse_add_opinion = {
				target = scope:emperor
				opinion = 20
				modifier = grateful_opinion
			}
		}
	}
	else = {
		reverse_add_opinion = {
			target = scope:emperor
			opinion = 20
			modifier = grateful_opinion
		}
	}
	pay_short_term_gold = {
		target = scope:emperor
		gold = medium_gold_value
	}
	if = {
		limit = {
			can_add_hook = {
				target = scope:emperor
				type = favor_hook
			}
		}
		add_hook = {
			target = scope:emperor
			type = favor_hook
		}
	}
	else = {
		change_influence = major_influence_gain
	}
}
ep3_admin_war_aftermath_effect = {
	scope:war = {
		if = {
			limit = {
				any_war_participant = {
					is_landed = yes
					government_has_flag = government_is_administrative
				}
			}
			every_war_participant = {
				limit = {
					is_landed = yes
					government_has_flag = government_is_administrative
				}
				primary_title = {
					set_variable = {
						name = admin_war_aftermath_var
						years = 5
					}
				}
			}
		}
	}
}

state_faith_conversion_add_piety_effect = {
	if = {
		limit = {
			scope:actor = {
				top_liege = { government_allows = state_faith }
				faith = top_liege.primary_title.state_faith
			}
			scope:recipient.top_liege = { government_allows = state_faith }
		}
		scope:actor = {
			add_piety = medium_piety_gain
		}
	}
}

state_faith_refuse_conversion_add_piety_effect = {
	if = {
		limit = {
			scope:actor.top_liege = { government_allows = state_faith }
			scope:recipient = {
				top_liege = { government_allows = state_faith }
				faith = top_liege.primary_title.state_faith
			}
		}
		scope:recipient = { add_piety = medium_piety_gain }
	}
}

# EP3 Laamp possibility warning
ep3_war_loss_adventurer_tt_effect = {
	save_scope_as = war_loser
	if = {
		limit = {
			has_ep3_dlc_trigger = yes
			NOT = {
				any_held_title = {
					OR = {
						is_landless_type_title = yes
						is_noble_family_title = yes
					}
				}
			}
			trigger_if = {
				limit = { any_in_list = { list = target_titles } }
				OR = {
					# You are losing all your counties and have no vassals to steal from
					AND = {
						any_held_county = {
							count = all
							OR = {
								is_in_list = target_titles
								target_is_de_jure_liege_or_above = scope:war_loser.primary_title
							}
						}
						any_vassal = {
							count = 0
							highest_held_title_tier >= tier_county
						}
					}
					# You are losing all your held titles
					any_held_title = {
						count = all
						OR = {
							is_in_list = target_titles
							target_is_de_jure_liege_or_above = scope:war_loser.primary_title
						}
					}
				}
			}
		}
		custom_tooltip = laamp_may_become_adventurer_tt
	}
}

add_randomised_double_moon_modifier_effect = {
	hidden_effect = {
		scope:double_moon_book = {
			random_list = {
				1 = {
					add_artifact_modifier = artifact_prowess_2_modifier
					set_artifact_description = double_moon_tome_desc_1
				}
				1 = {
					add_artifact_modifier = artifact_knight_effectiveness_4_modifier
					set_artifact_description = double_moon_tome_desc_2
				}
				1 = {
					add_artifact_modifier = artifact_stewardship_1_modifier
					set_artifact_description = double_moon_tome_desc_3
				}
				1 = {
					add_artifact_modifier = artifact_diplomacy_1_modifier
					set_artifact_description = double_moon_tome_desc_4
				}
				1 = {
					add_artifact_modifier = artifact_health_gain_1_modifier
					set_artifact_description = double_moon_tome_desc_5
				}
				1 = {
					add_artifact_modifier = artifact_monthly_minor_prestige_3_modifier
					set_artifact_description = double_moon_tome_desc_6
				}
				1 = {
					add_artifact_modifier = artifact_monthly_prestige_3_modifier
					set_artifact_description = double_moon_tome_desc_7
				}
				1 = {
					add_artifact_modifier = artifact_dynasty_opinion_2_modifier
					set_artifact_description = double_moon_tome_desc_8
				}
				1 = {
					add_artifact_modifier = artifact_learn_language_scheme_phase_duration_add_2_modifier
					set_artifact_description = double_moon_tome_desc_9
				}
				1 = {
					add_artifact_modifier = artifact_diplomacy_per_prestige_level_modifier
					set_artifact_description = double_moon_tome_desc_10
				}
				1 = {
					add_artifact_modifier = artifact_mercenary_hire_cost_mult_2_modifier
					set_artifact_description = double_moon_tome_desc_11
				}
				1 = {
					add_artifact_modifier = artifact_general_opinion_1_modifier
					set_artifact_description = double_moon_tome_desc_12
				}
				1 = {
					add_artifact_modifier = artifact_independent_ruler_opinion_2_modifier
					set_artifact_description = double_moon_tome_desc_13
				}
				1 = {
					add_artifact_modifier = artifact_clergy_opinion_2_modifier
					set_artifact_description = double_moon_tome_desc_14
				}
			}
		}
	}
}

random_rain_snow_chance_effect = {
	random_list = {
		10 = {	# Snow
			trigger = {
				location = {
					OR = {
						has_province_modifier = winter_mild_modifier
						has_province_modifier = winter_normal_modifier
						has_province_modifier = winter_harsh_modifier
					}
				}
			}
			save_scope_as = snow_day
		}
		10 = { # Rain
			trigger = {
				location = {
					NOR = {
						has_province_modifier = winter_mild_modifier
						has_province_modifier = winter_normal_modifier
						has_province_modifier = winter_harsh_modifier
					}
				}
			}
			modifier = {
				factor = 1.02
				location.county = { is_riverside_county = yes }
			}
			modifier = {
				factor = 0.05
				location = {
					OR = {
						terrain = desert
						terrain = drylands
						terrain = desert_mountains
						terrain = oasis

					}
				}
			}
			save_scope_as = rain_day
		}
		10 = {} # No rain
	}
}

governor_resignation_title_transfer_effect = {
	save_scope_as = resigner
	top_liege = { save_scope_as = emperor }
	force_step_down_landed_titles = yes
}

boost_governor_efficiency_success_effect = {
	scope:actor = {
		send_interface_toast = {
			type = event_toast_effect_good
			title = boost_efficiency_success_desc
			left_icon = scope:recipient

			scope:recipient ?= {
				send_interface_toast = {
					type = event_toast_effect_good
					title = boost_efficiency_success_desc
					left_icon = scope:actor
					if = {
						limit = { has_character_modifier = ep3_damage_efficiency_modifier }
						remove_character_modifier = ep3_damage_efficiency_modifier
						if = {
							limit = { var:ep3_governor_efficiency_stack = 1 }
							remove_variable = ep3_governor_efficiency_stack
						}
						else = {
							change_variable = {
								name = ep3_governor_efficiency_stack
								add = -1
							}
						}
					}
					else = {
						add_character_modifier = {
							modifier = ep3_boost_efficiency_modifier
							years = 10
						}
						if = {
							limit = { has_variable = ep3_governor_efficiency_stack }
							set_variable = {
								name = ep3_governor_efficiency_stack
								value = {
									value = scope:recipient.var:ep3_governor_efficiency_stack
									add = 1
									max = 5
								}
								years = 10
							}
						}
						else = {
							set_variable = {
								name = ep3_governor_efficiency_stack
								value = 1
								years = 10
							}
						}
					}
					if = {
						limit = {
							opinion = {
								target = scope:actor
								value >= 15
							}
						}
						scope:actor = {
							progress_towards_friend_effect = {
								REASON = friend_boosted_gov_efficiency
								CHARACTER = scope:recipient
								OPINION = default_friend_opinion
							}
						}
					}
					else_if = {
						limit = { is_ai = yes }
						add_opinion = {
							target = scope:actor
							modifier = boosted_efficiency_opinion
						}
					}
				}
			}
			# Merit based realm gain some merit for improving others
			if = {
				limit = {
					government_allows = merit
				}
				change_merit = medium_merit_gain
			}
		}
	}
}

boost_governor_efficiency_duel_effect = {
	scope:actor = {
		duel = {
			skill = $SKILL$
			value = mediocre_skill_rating
			10 = {
				compare_modifier = {
					value = scope:duel_value
					multiplier = 1.5
					min = -49
				}
				min = 2
				desc = boost_efficiency_success_desc
				send_interface_toast = {
					type = event_toast_effect_good
					title = boost_efficiency_success_desc
					left_icon = scope:recipient
					boost_governor_efficiency_success_effect = yes
				}
			}
			10 = {
				compare_modifier = {
					value = scope:duel_value
					multiplier = -1.5
					min = -49
				}
				min = 2
				desc = boost_efficiency_failure_desc
				send_interface_toast = {
					type = event_toast_text_bad
					title = boost_efficiency_failure_desc
					left_icon = scope:recipient
					desc = NO_EFFECT
				}
			}
		}
	}
}

damage_governor_efficiency_success_effect = {
	scope:recipient ?= {
		send_interface_toast = {
			type = event_toast_effect_bad
			title = damage_efficiency_success_desc
			left_icon = scope:actor
			if = {
				limit = { has_character_modifier = ep3_boost_efficiency_modifier }
				remove_character_modifier = ep3_boost_efficiency_modifier
				if = {
					limit = { var:ep3_governor_efficiency_stack = 1 }
					remove_variable = ep3_governor_efficiency_stack
				}
				else = {
					change_variable = {
						name = ep3_governor_efficiency_stack
						add = -1
					}
				}
			}
			else = {
				add_character_modifier = {
					modifier = ep3_damage_efficiency_modifier
					years = 10
				}
				if = {
					limit = { has_variable = ep3_governor_efficiency_stack }
					set_variable = {
						name = ep3_governor_efficiency_stack
						value = {
							value = scope:recipient.var:ep3_governor_efficiency_stack
							add = 1
							max = 5
						}
						years = 10
					}
				}
				else = {
					set_variable = {
						name = ep3_governor_efficiency_stack
						value = 1
						years = 10
					}
				}
			}
			if = {
				limit = { is_ai = yes }
				add_opinion = {
					target = scope:actor
					modifier = damaged_efficiency_opinion
				}
			}
		}
	}
}

damage_governor_efficiency_duel_effect = {
	scope:actor = {
		duel = {
			skill = $SKILL$
			value = mediocre_skill_rating
			10 = {
				compare_modifier = {
					value = scope:duel_value
					multiplier = 1.5
					min = -49
				}
				min = 2
				desc = damage_efficiency_success_desc
				send_interface_toast = {
					type = event_toast_effect_good
					title = damage_efficiency_success_desc
					left_icon = scope:recipient
					damage_governor_efficiency_success_effect = yes
				}
			}
			10 = {
				compare_modifier = {
					value = scope:duel_value
					multiplier = -1.5
					min = -49
				}
				min = 2
				desc = damage_efficiency_failure_desc
				send_interface_toast = {
					type = event_toast_text_bad
					title = damage_efficiency_success_desc
					left_icon = scope:recipient
					desc = NO_EFFECT
				}
			}
		}
	}
}

# NF Adoption effect
noble_family_adoption_effect = {
	$ADOPTEE$ = {
		if = {
			limit = {
				exists = house.house_head
			}
			house.house_head = {  #We do this first, otherwise house head will already mean someone else.
				if = {
					limit = {
						$ADOPTER$.culture = { has_cultural_parameter = wider_adoption }
						$ADOPTEE$ = {
							culture = { has_cultural_parameter = wider_adoption }
							NOT = {
								any_parent = {
									is_alive = yes
									can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = liege }
								}
							}
						}
					}
					add_opinion = {
						modifier = adopted_my_house_member_opinion
						opinion = 25
						target = $ADOPTER$
					}
				}
				else = {
					add_opinion = {
						modifier = adopted_my_house_member_opinion
						opinion = -25
						target = $ADOPTER$
					}
				}
				if = {
					limit = {
						has_hook_of_type = {
							type = house_head_hook
							target = $ADOPTEE$
						}
					}
					remove_hook = {
						type = house_head_hook
						target = $ADOPTEE$
					}
				}
			}
		}
	}
	$ADOPTER$ = {
		if = {
			limit = { scope:gold = yes }
			pay_short_term_gold = {
				target = $ADOPTEE$
				gold = $ADOPTER$.minor_gold_value
			}
		}
		if = {
			limit = { scope:hook = yes }
			use_hook = $ADOPTEE$
		}
		$ADOPTEE$ = { set_house = $ADOPTER$.house }
		# Zealous vassals *hate* you adopting a heretic
		house = {
			every_house_member = {
				custom = every_zealot_house_member_tt
				limit = {
					ai_zeal >= medium_positive_ai_value
					faith = { faith_hostility_level = { target = $ADOPTEE$.faith value >= faith_astray_level } }
					NOT = { this = $ADOPTER$ }
				}
				add_opinion = {
					modifier = adopted_new_house_member_opinion
					opinion = -20
					target = $ADOPTER$
				}
			}
			every_house_member = {
				custom = every_close_family_house_member_tt
				limit = {
					NOT = { this = $ADOPTER$ }
					is_close_family_of = $ADOPTER$
					NAND = {
						ai_zeal >= medium_positive_ai_value
						faith = { faith_hostility_level = { target = $ADOPTEE$.faith value >= faith_astray_level } }
					}
					NAND = {
						$ADOPTER$.culture = { has_cultural_parameter = wider_adoption }
						$ADOPTEE$ = {
							culture = { has_cultural_parameter = wider_adoption }
							NOT = {
								any_parent = {
									is_alive = yes
									can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = liege }
								}
							}
						}
					}
				}
				add_opinion = {
					modifier = adopted_new_house_member_opinion
					opinion = -10
					target = $ADOPTER$
				}
			}
		}
	}
	$ADOPTEE$ = {
		#adopted should travel
		if = {
			limit = { exists = $ADOPTER$.capital_province }
			$ADOPTER$.capital_province = { save_scope_as = destination_province }
		}
		else_if = {
			limit = { exists = $ADOPTER$.host.capital_province }
			$ADOPTER$.host.capital_province = { save_scope_as = destination_province }
		}
		else_if = {
			limit = { exists = $ADOPTER$.domicile.domicile_location }
			$ADOPTER$.domicile.domicile_location = { save_scope_as = destination_province }
		}
		else = {
			$ADOPTER$.location = { save_scope_as = destination_province }
		}
		save_scope_as = adoptee
		$ADOPTER$ = { save_scope_as = adopter }
		if = {
			limit = {
				any_relation = {
					type = guardian
					NOT = { this = $ADOPTER$ }
				}
			}
			random_relation = {
				type = guardian
				limit = { NOT = { this = $ADOPTER$ } }
				save_scope_as = old_guardian
			}
			remove_guardian_effect = {
				GUARDIAN = scope:old_guardian
				WARD = scope:adoptee
				RETURN_WARD = no
				HIDE_OPINION = no
			}
		}
		if = {
			limit = { NOT = { scope:destination_province = $ADOPTEE$.location } }
			set_variable = {
				name = adoptee_travelling_to_adopter
				years = 2
				value = scope:adopter
			}
			start_travel_plan = {
				destination = scope:destination_province
				on_start_on_action = on_adoptee_depart_for_adopter
				on_travel_planner_cancel_on_action = on_adoptee_depart_travel_planner_exit
				on_arrival_on_action = on_adoptee_arrive_at_adopter
				on_arrival_destinations = last
				return_trip = no # One way
			}
			custom_tooltip = adoptee_leaves_for_adopter_tt
		}
		else_if = {
			limit = {
				$ADOPTER$ = {
					NOT = { is_in_the_same_court_as = $ADOPTEE$ }
				}
			}
			$ADOPTER$ = { add_courtier = $ADOPTEE$ }
		}
		#No final else, in this situation they are already in the right location and the right court.
	}
}

# Create icon artifacts
## Court Artifact - Large
create_artifact_court_icon_large_effect = {
	# Get the character the artifact is being made for.
	$OWNER$ = { save_scope_as = owner }
	$PAINTER$ = { save_scope_as = painter }

	hidden_effect_new_object = {
		# Get artifact quality, wealth, and materials
		get_artifact_quality_effect = yes
		get_artifact_wealth_effect = yes
		# Create the artifact
		scope:owner = {
			if = {
				limit = {
					exists = scope:inspiration_owner
				}
				create_artifact = {
					name = artifact_wall_court_icon_large_name
					description = placeholder # Will be regenerated in the post-creation effects
					creator = scope:painter
					visuals = icon_court_large
					type = wall_big
					modifier = artifact_placeholder_modifier
					save_scope_as = newly_created_artifact
					wealth = scope:wealth
					quality = scope:quality
				}
			}
			else_if = {
				limit = {
					exists = scope:adventurer
				}
				create_artifact = {
					name = artifact_wall_court_icon_large_name
					description = placeholder # Will be regenerated in the post-creation effects
					creator = scope:adventurer
					visuals = icon_court_large
					type = wall_big
					modifier = artifact_placeholder_modifier
					save_scope_as = newly_created_artifact
					wealth = scope:wealth
					quality = scope:quality
					history = {
						location = scope:location
						actor = scope:adventurer
						recipient = root
						type = discovered
					}
				}
			}
			else = {
				create_artifact = {
					name = artifact_wall_court_icon_large_name
					description = placeholder # Will be regenerated in the post-creation effects
					creator = scope:painter
					visuals = icon_court_large
					type = wall_big
					modifier = artifact_placeholder_modifier
					save_scope_as = newly_created_artifact
					wealth = scope:wealth
					quality = scope:quality
				}
			}
		}
		scope:newly_created_artifact = {
			set_artifact_description = artifact_wall_court_icon_large_description
			# Set piety
			add_2_scaled_artifact_modifier_devotion_effect = yes

			if = {
				limit = {
					OR = {
						rarity = famed
						rarity = illustrious
					}
				}
				add_scaled_artifact_modifier_dynasty_prestige_effect = yes
			}
			remove_artifact_modifier = artifact_placeholder_modifier
		}
	}
}

## Court Artifact - Small
create_artifact_court_icon_small_effect = {
	# Get the character the artifact is being made for.
	$OWNER$ = { save_scope_as = owner }
	$PAINTER$ = { save_scope_as = painter }

	hidden_effect_new_object = {
		# Get artifact quality, wealth, and materials
		get_artifact_quality_effect = yes
		get_artifact_wealth_effect = yes
		# Create the artifact
		scope:owner = {
			if = {
				limit = {
					exists = scope:inspiration_owner
				}
				create_artifact = {
					name = artifact_wall_court_icon_small_name
					description = placeholder # Will be regenerated in the post-creation effects
					creator = scope:painter
					visuals = icon_court_small
					type = wall_small
					modifier = artifact_placeholder_modifier
					save_scope_as = newly_created_artifact
					wealth = scope:wealth
					quality = scope:quality
				}
			}
			else_if = {
				limit = {
					exists = scope:adventurer
				}
				create_artifact = {
					name = artifact_wall_court_icon_small_name
					description = placeholder # Will be regenerated in the post-creation effects
					creator = scope:adventurer
					visuals = icon_court_small
					type = wall_small
					modifier = artifact_placeholder_modifier
					save_scope_as = newly_created_artifact
					wealth = scope:wealth
					quality = scope:quality
					history = {
						location = scope:location
						actor = scope:adventurer
						recipient = root
						type = discovered
					}
				}
			}
			else = {
				create_artifact = {
					name = artifact_wall_court_icon_small_name
					description = placeholder # Will be regenerated in the post-creation effects
					creator = scope:painter
					visuals = icon_court_small
					type = wall_small
					modifier = artifact_placeholder_modifier
					save_scope_as = newly_created_artifact
					wealth = scope:wealth
					quality = scope:quality
				}
			}
		}
		scope:newly_created_artifact = {
			set_artifact_description = artifact_wall_court_icon_small_description
			# Set piety
			add_2_scaled_artifact_modifier_devotion_effect = yes

			if = {
				limit = {
					OR = {
						rarity = famed
						rarity = illustrious
					}
				}
				add_scaled_artifact_modifier_dynasty_prestige_effect = yes
			}
			remove_artifact_modifier = artifact_placeholder_modifier
		}
	}
}

## Trinket Artifact
create_artifact_trinket_icon_effect = {
	# Get the character the artifact is being made for.
	$OWNER$ = { save_scope_as = owner }
	$PAINTER$ = { save_scope_as = painter }

	hidden_effect_new_object = {
		# Get artifact quality, wealth, and materials
		get_artifact_quality_effect = yes
		get_artifact_wealth_effect = yes
		# Create the artifact
		scope:owner = {
			if = {
				limit = {
					exists = scope:inspiration_owner
				}
				create_artifact = {
					name = artifact_trinket_icon_name
					description = placeholder # Will be regenerated in the post-creation effects
					creator = scope:painter
					visuals = trinket_icon
					type = miscellaneous
					modifier = artifact_placeholder_modifier
					save_scope_as = newly_created_artifact
					wealth = scope:wealth
					quality = scope:quality
				}
			}
			else_if = {
				limit = {
					exists = scope:adventurer
				}
				create_artifact = {
					name = artifact_trinket_icon_name
					description = placeholder # Will be regenerated in the post-creation effects
					creator = scope:adventurer
					visuals = icon_court_small
					type = miscellaneous
					modifier = artifact_placeholder_modifier
					save_scope_as = newly_created_artifact
					wealth = scope:wealth
					quality = scope:quality
					history = {
						location = scope:location
						actor = scope:adventurer
						recipient = root
						type = discovered
					}
				}
			}
			else = {
				create_artifact = {
					name = artifact_trinket_icon_name
					description = placeholder # Will be regenerated in the post-creation effects
					creator = scope:painter
					visuals = trinket_icon
					type = miscellaneous
					modifier = artifact_placeholder_modifier
					save_scope_as = newly_created_artifact
					wealth = scope:wealth
					quality = scope:quality
				}
			}
		}
		scope:newly_created_artifact = {
			set_artifact_description = artifact_trinket_icon_description
			# Set piety
			add_scaled_artifact_modifier_piety_effect = yes

			if = {
				limit = {
					OR = {
						rarity = famed
						rarity = illustrious
					}
				}
				add_scaled_artifact_modifier_learning_lifestyle_xp_effect = yes
			}
			remove_artifact_modifier = artifact_placeholder_modifier
		}
	}
}

## Trinket Artifact
create_artifact_trinket_icon_ancient_effect = {
	# Get the character the artifact is being made for.
	$OWNER$ = { save_scope_as = owner }

	hidden_effect_new_object = {
		# Get artifact quality, wealth, and materials
		get_artifact_quality_effect = yes
		get_artifact_wealth_effect = yes
		# Create the artifact
		scope:owner = {
			create_artifact = {
				name = artifact_trinket_icon_name
				description = placeholder # Will be regenerated in the post-creation effects
				visuals = trinket_icon
				type = miscellaneous
				modifier = artifact_placeholder_modifier
				save_scope_as = newly_created_artifact
				wealth = scope:wealth
				quality = scope:quality
				history = { type = created_before_history }
			}
		}
		scope:newly_created_artifact = {
			set_artifact_description = artifact_trinket_icon_description
			# Set piety
			add_scaled_artifact_modifier_piety_effect = yes

			if = {
				limit = {
					OR = {
						rarity = famed
						rarity = illustrious
					}
				}
				add_scaled_artifact_modifier_learning_lifestyle_xp_effect = yes
			}
			remove_artifact_modifier = artifact_placeholder_modifier
		}
	}
}
# Scheme bonuses from being the emperor, or member of a dominant/powerful family
ep3_actor_scheme_modifier_effect = {
	scope:new_scheme ?= {
		# Emperor enjoys a significant bonus to all admin related schemes
		if = {
			limit = { scope:actor = scope:actor.top_liege }
			add_scheme_modifier = { type = admin_emperor_scheme_modifier }
		}
		# Dominant and Powerful Families enjoys a decent bonus to all admin related schemes
		else_if = {
			limit = {
				scope:actor.house ?= { is_dominant_family = yes }
			}
			add_scheme_modifier = { type = admin_dominant_family_scheme_modifier }
		}
		else_if = {
			limit = {
				scope:actor.house ?= { is_powerful_family = yes }
			}
			add_scheme_modifier = { type = admin_powerful_family_scheme_modifier }
		}
	}
}

#Complete war group task contracts, used in war_on_actions
war_task_contracts_completion_effect = {
	#Join War Contract and Help Claimant Contract
	scope:war = {
		if = {
			limit = {
				any_war_participant = {
					any_character_active_contract = {
						OR = {
							AND = {
								has_task_contract_type = laamp_join_war_contract
								var:task_contract_war ?= scope:war
							}
							AND = {
								has_task_contract_type = laamp_help_claimant_contract
								task_contract_employer = scope:war.primary_attacker
							}
						}
						save_temporary_scope_as = relevant_contract
					}
				}
			}
			scope:relevant_contract = {
				if = {
					limit = {
						scope:war = {
							war_contribution = {
								target = scope:relevant_contract.task_contract_taker
								value > 0
							}
						}
					}
					complete_task_contract = success_standard
				}
				else = {
					complete_task_contract = failure_standard
				}
			}
		}
		if = {
			limit = {
				primary_attacker = {
					has_variable = valuable_prisoners
				}
			}
			primary_attacker = {
				remove_variable = valuable_prisoners
			}
		}
		if = {
			limit = {
				primary_defender = {
					has_variable = valuable_prisoners
				}
			}
			primary_defender = {
				remove_variable = valuable_prisoners
			}
		}
		if = {
			limit = {
				using_civil_war_cb_trigger = yes
				any_war_participant = {
					any_character_active_contract = {
						task_contract_type = laamp_join_faction_contract
						task_contract_employer = {
							is_participant_in_war = scope:war
						}
					}
				}
			}
			every_war_participant = {
				every_character_active_contract = {
					task_contract_type = laamp_join_faction_contract
					limit = {
						task_contract_employer = {
							is_participant_in_war = scope:war
						}
					}
					if = {
						limit = {
							task_contract_taker = scope:winner
						}
						complete_task_contract = success_standard
					}
					else = {
						complete_task_contract = failure_standard
					}
				}
			}
		}
	}
}

#If a landless adventurer was hired as a mercenary and contributed in a war they get paid, used in war_on_actions, relevant flag set by hire_laamp_mercenaries_interaction or ep3_interactions_events.0112
laamp_as_mercenary_payout_effect = {
	scope:war = {
		if = {
			limit = {
				any_war_participant = {
					has_character_flag = joined_as_mercenary
					is_attacker_in_war = scope:war
					NOT = { is_leader_in_war = scope:war }
					OR = {
						has_raised_armies = yes
						scope:war = {
							war_contribution = {
								target = prev
								value > 0
							}
						}
					}
				}
			}
			every_war_participant = {
				limit = {
					has_character_flag = joined_as_mercenary
					is_attacker_in_war = scope:war
					NOT = { is_leader_in_war = scope:war }
					OR = {
						has_raised_armies = yes
						scope:war = {
							war_contribution = {
								target = prev
								value > 0
							}
						}
					}
				}
				add_to_list = laamp_mercenaries
				remove_character_flag = joined_as_mercenary
			}
			primary_attacker = {
				save_scope_as = employer
				trigger_event = {
					id = ep3_interactions_events.0121
					days = { 3 7 }
				}
			}
			every_in_list = {
				list = laamp_mercenaries
				scope:employer = {
					remove_list_variable = {
					 	name = hired_mercenaries
					 	target = prev
					}
				}
			}
		}
		if = {
			limit = {
				any_war_participant = {
					has_character_flag = joined_as_mercenary
					is_defender_in_war = scope:war
					NOT = { is_leader_in_war = scope:war }
					OR = {
						has_raised_armies = yes
						scope:war = {
							war_contribution = {
								target = prev
								value > 0
							}
						}
					}
				}
			}
			every_war_participant = {
				limit = {
					has_character_flag = joined_as_mercenary
					is_defender_in_war = scope:war
					NOT = { is_leader_in_war = scope:war }
					OR = {
						has_raised_armies = yes
						scope:war = {
							war_contribution = {
								target = prev
								value > 0
							}
						}
					}
				}
				add_to_list = laamp_mercenaries
				remove_character_flag = joined_as_mercenary
			}
			primary_defender = {
				save_scope_as = employer
				trigger_event = {
					id = ep3_interactions_events.0121
					days = { 3 7 }
				}
			}
			every_in_list = {
				list = laamp_mercenaries
				scope:employer = {
					remove_list_variable = {
					 	name = hired_mercenaries
					 	target = prev
					}
				}
			}
		}
	}
}

# root - casus_belli
# war - war provided by the casus_belli
# attacker - primary attacker from the casus_belli
# defender - primary defender from the casus_belli
laamp_as_mercenary_payout_tooltip_effect = {
	show_as_tooltip = {
		scope:defender = {
			if = {
				limit = {
					exists = scope:war
					any_war_ally = {
						has_government = landless_adventurer_government
						OR = {
							any_character_active_contract = {
								has_task_contract_type = laamp_join_war_contract
								var:task_contract_war ?= scope:war
							}
							AND = {
								has_variable = owed_contract_assistance_gold
								var:owed_contract_assistance_war ?= scope:war
							}
							has_variable = joined_as_mercenary
						}
					}
				}
				every_war_ally = {
					if = {
						limit = {
							has_government = landless_adventurer_government
						}
						save_scope_as = laamp_temp
						save_scope_as = actor
						save_scope_value_as = {
							name = war_contribution_value
							value = "scope:war.war_contribution(scope:laamp_temp)"
						}
						if = {
							limit = {
								any_character_active_contract = {
									has_task_contract_type = laamp_join_war_contract
									var:task_contract_war = scope:war
								}
							}
							every_character_active_contract = {
								limit = {
									has_task_contract_type = laamp_join_war_contract
									var:task_contract_war = scope:war
								}
								show_as_tooltip = {
									task_contract_employer = {
										save_scope_as = employer
										custom_tooltip = ep3_join_war_payment_tt
										pay_short_term_gold = {
											target = scope:laamp_temp
											gold = ep3_hire_laamp_mercs_payment_value
										}
									}
								}
							}
						}
						if = {
							limit = {
								has_variable = joined_as_mercenary
								scope:defender = {
									is_target_in_variable_list = {
										name = hired_mercenaries
										target = scope:laamp_temp
									}
								}
							}
							scope:defender = {
								save_scope_as = employer
								custom_tooltip = ep3_hire_laamp_mercs_payment_tt
								pay_short_term_gold = {
									target = scope:laamp_temp
									gold = ep3_hire_laamp_mercs_payment_value
								}
							}
						}
						if = {
							limit = {
								has_variable = owed_contract_assistance_gold
								var:owed_contract_assistance_war ?= scope:war
							}
							save_scope_as = contract_assistance_helper
							scope:defender = {
								save_scope_as = recipient
								custom_tooltip = contract_assistance_interaction_condition_tt
								pay_short_term_gold = {
									target = scope:actor
									gold = scope:actor.var:owed_contract_assistance_gold
								}
							}
						}
					}
				}
			}
		}
		scope:attacker = {
			if = {
				limit = {
					exists = scope:war
					any_war_ally = {
						has_government = landless_adventurer_government
						OR = {
							any_character_active_contract = {
								has_task_contract_type = laamp_join_war_contract
								var:task_contract_war = scope:war
							}
							AND = {
								has_variable = owed_contract_assistance_gold
								var:owed_contract_assistance_war ?= scope:war
							}
							has_variable = joined_as_mercenary
						}
					}
				}
				every_war_ally = {
					if = {
						limit = {
							has_government = landless_adventurer_government
						}
						save_scope_as = laamp_temp
						save_scope_as = actor
						save_scope_value_as = {
							name = war_contribution_value
							value = "scope:war.war_contribution(scope:laamp_temp)"
						}
						if = {
							limit = {
								any_character_active_contract = {
									has_task_contract_type = laamp_join_war_contract
									var:task_contract_war = scope:war
								}
							}
							every_character_active_contract = {
								limit = {
									has_task_contract_type = laamp_join_war_contract
									var:task_contract_war = scope:war
								}
								show_as_tooltip = {
									task_contract_employer = {
										save_scope_as = employer
										custom_tooltip = ep3_hire_laamp_mercs_payment_tt
										pay_short_term_gold = {
											target = scope:laamp_temp
											gold = ep3_hire_laamp_mercs_payment_value
										}
									}
								}
							}
						}
						if = {
							limit = {
								has_variable = joined_as_mercenary
								scope:attacker = {
									is_target_in_variable_list = {
										name = hired_mercenaries
										target = scope:laamp_temp
									}
								}
							}
							scope:attacker = {
								save_scope_as = employer
								custom_tooltip = ep3_hire_laamp_mercs_payment_tt
								pay_short_term_gold = {
									target = scope:laamp_temp
									gold = ep3_hire_laamp_mercs_payment_value
								}
							}
						}
						if = {
							limit = {
								has_variable = owed_contract_assistance_gold
								var:owed_contract_assistance_war ?= scope:war
							}
							save_scope_as = contract_assistance_helper
							scope:attacker = {
								custom_tooltip = contract_assistance_interaction_condition_tt
								pay_short_term_gold = {
									target = scope:actor
									gold = scope:actor.var:owed_contract_assistance_gold
								}
							}
						}
					}
				}
			}
		}
	}
}

chariot_race_sow_discord_strong_response_effect = {
	if = {
		limit = {
			root = {
				this = scope:host
			}
		}
		scope:host = {
			capital_county = {
				change_county_control = {
					value = -3
					multiply = scope:activity.var:counter_chant_count
				}
			}
			custom_tooltip = counter_chants_strong_modifier_tooltip
			hidden_effect = {
				scope:activity = {
					every_in_list = {
						variable = counter_chanters
						scope:host = {
							capital_county = {
								add_county_modifier = {
									modifier = strong_sow_discord_modifier
									years = 10
								}
							}
						}
					}
				}
			}
		}
	}
	else = {
		scope:host = {
			capital_county = {
				add_county_modifier = {
					modifier = strong_sow_discord_modifier
					years = 10
				}
				change_county_control = -3
			}
		}
	}
}
chariot_race_sow_discord_weak_response_effect = {
	if = {
		limit = {
			root = {
				this = scope:host
			}
		}
		scope:host = {
			custom_tooltip = counter_chants_weak_modifier_tooltip
			hidden_effect = {
				scope:activity = {
					every_in_list = {
						variable = counter_chanters
						scope:host = {
							capital_county = {
								add_county_modifier = {
									modifier = weak_sow_discord_modifier
									years = 10
								}
							}
						}
					}
				}
			}
		}
	}
	else = {
		scope:host = {
			capital_county = {
				add_county_modifier = {
					modifier = weak_sow_discord_modifier
					years = 10
				}
			}
		}
	}
}
chariot_race_sow_discord_normal_response_effect = {
	if = {
		limit = {
			root = {
				this = scope:host
			}
		}
		scope:host = {
			capital_county = {
				change_county_control = {
					value = -1
					multiply = scope:activity.var:counter_chant_count
				}
			}
			custom_tooltip = counter_chants_normal_modifier_tooltip
			hidden_effect = {
				scope:activity = {
					every_in_list = {
						variable = counter_chanters
						scope:host = {
							capital_county = {
								add_county_modifier = {
									modifier = normal_sow_discord_modifier
									years = 10
								}
							}
						}
					}
				}
			}
		}
	}
	else = {
		scope:host = {
			capital_county = {
				add_county_modifier = {
					modifier = normal_sow_discord_modifier
					years = 10
				}
				custom_tooltip = modifier_stacking_chariot_tooltip
				change_county_control = -1
			}
		}
	}
}

#############
# Camp Party
#############

camp_party_completed_log_entry_effect = {
	involved_activity = {
		add_activity_log_entry = {
			key = camp_party_completed_log_entry_effect
			tags = { completed }
			score = 100
			show_in_conclusion = yes
			character = root
			#Effects
			root = {
				disburse_camp_party_reward_effect = yes
			}
		}
	}
}

disburse_camp_party_reward_effect = {
	involved_activity ?= {
		###Non-progression linked
		#Drinks
		scope:host = {
			#For highest level drinks
			if = {
				limit = {
					involved_activity = {
						has_activity_option = {
							category = camp_party_option_drinks
							option = camp_party_drinks_abundant
						}
					}
				}
				add_character_modifier = {
					modifier = ep3_master_of_ceremonies
					years = 3
				}
			}

			#For any level of drinks
			#Opinion
			if = {
				limit = {
					involved_activity = {
						OR = {
							has_activity_option = {
								category = camp_party_option_drinks
								option = camp_party_drinks_abundant
							}
							has_activity_option = {
								category = camp_party_option_drinks
								option = camp_party_drinks_adequate
							}
						}
					}
				}
				involved_activity = {
					every_attending_character = {
						limit = {
							this != scope:host
						}
						custom = every_attending_guest
						add_opinion = {
							modifier = feast_life_of_the_party_opinion
							target = scope:host
							opinion = 35
						}
					}
				}
			}

			# Reveler Trait
			if = {
				limit = {
					involved_activity = {
						OR = {
							has_activity_option = {
								category = camp_party_option_drinks
								option = camp_party_drinks_abundant
							}
							has_activity_option = {
								category = camp_party_option_drinks
								option = camp_party_drinks_adequate
							}
						}
					}
				}
				if = {
					limit = {
						NOT = {
							has_trait = lifestyle_reveler
						}
					}
					add_trait = lifestyle_reveler
				}
				add_trait_xp = {
					trait = lifestyle_reveler
					value = {
						integer_range = {
							min = small_lifestyle_random_xp_low
							max = small_lifestyle_random_xp_high
						}
					}
				}
			}
		}

		#100 Carousing
		if = {
			limit = { var:activity_special_type_progression >= 100 }

			#Stress Loss
			every_attending_character = {
				custom = every_attending_guest
				add_stress = -150
			}

			#Host effects
			scope:host = {
				hidden_effect = {
					domicile = {
						random_list = {
							1 = {
								trigger = {
									has_domicile_building_or_higher = camp_main_01
									NOT = { has_domicile_building = camp_main_04 }
								}
								switch = {
									trigger = has_domicile_building
									camp_main_01 = { add_domicile_building = camp_main_02 }
									camp_main_02 = { add_domicile_building = camp_main_03 }
									camp_main_03 = { add_domicile_building = camp_main_04 }
								}
							}
							1 = {
								trigger = {
									has_domicile_building_or_higher = supply_tent_01
									NOT = { has_domicile_building = supply_tent_06 }
								}
								switch = {
									trigger = has_domicile_building
									supply_tent_01 = { add_domicile_building = supply_tent_02 }
									supply_tent_02 = { add_domicile_building = supply_tent_03 }
									supply_tent_03 = { add_domicile_building = supply_tent_04 }
									supply_tent_04 = { add_domicile_building = supply_tent_05 }
									supply_tent_05 = { add_domicile_building = supply_tent_06 }
								}
							}
							1 = {
								trigger = {
									has_domicile_building_or_higher = barber_tent_01
									NOT = { has_domicile_building = barber_tent_06 }
								}
								switch = {
									trigger = has_domicile_building
									barber_tent_01 = { add_domicile_building = barber_tent_02 }
									barber_tent_02 = { add_domicile_building = barber_tent_03 }
									barber_tent_03 = { add_domicile_building = barber_tent_04 }
									barber_tent_04 = { add_domicile_building = barber_tent_05 }
									barber_tent_05 = { add_domicile_building = barber_tent_06 }
								}
							}
							1 = {
								trigger = {
									has_domicile_building_or_higher = baggage_train_01
									NOT = { has_domicile_building = baggage_train_06 }
								}
								switch = {
									trigger = has_domicile_building
									baggage_train_01 = { add_domicile_building = baggage_train_02 }
									baggage_train_02 = { add_domicile_building = baggage_train_03 }
									baggage_train_03 = { add_domicile_building = baggage_train_04 }
									baggage_train_04 = { add_domicile_building = baggage_train_05 }
									baggage_train_05 = { add_domicile_building = baggage_train_06 }
								}
							}
							1 = {
								trigger = {
									has_domicile_building_or_higher = camp_fire_01
									NOT = { has_domicile_building = camp_fire_06 }
								}
								switch = {
									trigger = has_domicile_building
									camp_fire_01 = { add_domicile_building = camp_fire_02 }
									camp_fire_02 = { add_domicile_building = camp_fire_03 }
									camp_fire_03 = { add_domicile_building = camp_fire_04 }
									camp_fire_04 = { add_domicile_building = camp_fire_05 }
									camp_fire_05 = { add_domicile_building = camp_fire_06 }
								}
							}
							1 = {
								trigger = {
									has_domicile_building_or_higher = proving_grounds_01
									NOT = { has_domicile_building = proving_grounds_06 }
								}
								switch = {
									trigger = has_domicile_building
									proving_grounds_01 = { add_domicile_building = proving_grounds_02 }
									proving_grounds_02 = { add_domicile_building = proving_grounds_03 }
									proving_grounds_03 = { add_domicile_building = proving_grounds_04 }
									proving_grounds_04 = { add_domicile_building = proving_grounds_05 }
									proving_grounds_05 = { add_domicile_building = proving_grounds_06 }
								}
							}
							1 = {
								trigger = {
									has_domicile_building_or_higher = camp_perimeter_01
									NOT = { has_domicile_building = camp_perimeter_06 }
								}
								switch = {
									trigger = has_domicile_building
									camp_perimeter_01 = { add_domicile_building = camp_perimeter_02 }
									camp_perimeter_02 = { add_domicile_building = camp_perimeter_03 }
									camp_perimeter_03 = { add_domicile_building = camp_perimeter_04 }
									camp_perimeter_04 = { add_domicile_building = camp_perimeter_05 }
									camp_perimeter_05 = { add_domicile_building = camp_perimeter_06 }
								}
							}
						}
					}
				}

				custom_tooltip = activity_camp_party_reward_upgrade_building

				custom_tooltip = camp_party_100_contracts_get

				hidden_effect = {
					contract_passive_spawn_effect = {
						SPAWN_CONTRACTS = 2
					}
				}

				#Provisions
				domicile = {
					change_provisions = massive_provisions_gain
				}

				#Lifestyle XP
				bp2_lifestyle_xp_gain_per_type_effect = { VALUE = major }

				add_character_flag = {
					flag = better_recruitment_visit_holding_flag
					years = 1
				}
			}
		}

		#75+ Carousing
		else_if = {
			limit = {
				var:activity_special_type_progression < 100
				var:activity_special_type_progression >= 75
			}

			#Stress Loss
			every_attending_character = {
				custom = every_attending_guest
				add_stress = -100
			}

			#Contract spawn & flag assign
			scope:host = {
				custom_tooltip = camp_party_75_contracts_get

				hidden_effect = {
					contract_passive_spawn_effect = {
						SPAWN_CONTRACTS = 1
					}
				}

				#Provisions
				domicile = {
					change_provisions = major_provisions_gain
				}

				#Lifestyle XP
				bp2_lifestyle_xp_gain_per_type_effect = { VALUE = medium }

				add_character_flag = {
					flag = better_recruitment_visit_holding_flag
					years = 1
				}
			}
		}
		#50+ Carousing
		else_if = {
			limit = {
				var:activity_special_type_progression < 75
				var:activity_special_type_progression >= 50
			}

			#Stress Loss
			every_attending_character = {
				custom = every_attending_guest
				add_stress = -75
			}

			#Contract spawn and flag assign
			scope:host = {
				#Provisions
				domicile = {
					change_provisions = medium_provisions_gain
				}

				#Lifestyle XP
				bp2_lifestyle_xp_gain_per_type_effect = { VALUE = minor }

				add_character_flag = {
					flag = better_recruitment_visit_holding_flag
					years = 1
				}
			}
		}
		#25+ Carousing
		else = {
			#Stress Loss
			every_attending_character = {
				custom = every_attending_guest
				add_stress = -50
			}

			scope:host = {
				add_character_flag = {
					flag = cheaper_provisions_visit_holding_flag
					years = 1
				}
			}
		}

		scope:host = {
			if = {
				limit = {
					has_activity_intent = fireside_chat_intent
				}
				hidden_effect = {
					remove_character_modifier = ep3_fireside_chat_modifier_3
					remove_character_modifier = ep3_fireside_chat_modifier_2
					remove_character_modifier = ep3_fireside_chat_modifier_1
				}
				if = {
					limit = {
						involved_activity = {
							any_attending_character = {
								count >= 4
								OR = {
									has_character_modifier = ep3_fireside_chat_diplomacy
									has_character_modifier = ep3_fireside_chat_learning
									has_character_modifier = ep3_fireside_chat_intrigue
									has_character_modifier = ep3_fireside_chat_stewardship
									has_character_modifier = ep3_fireside_chat_martial
								}
							}
						}
					}
					add_character_modifier = {
						modifier = ep3_fireside_chat_modifier_3
						years = 10
					}
				}
				else_if = {
					limit = {
						involved_activity = {
							any_attending_character = {
								count >= 2
								OR = {
									has_character_modifier = ep3_fireside_chat_diplomacy
									has_character_modifier = ep3_fireside_chat_learning
									has_character_modifier = ep3_fireside_chat_intrigue
									has_character_modifier = ep3_fireside_chat_stewardship
									has_character_modifier = ep3_fireside_chat_martial
								}
							}
						}
					}
					add_character_modifier = {
						modifier = ep3_fireside_chat_modifier_2
						years = 10
					}
				}
				else = {
					add_character_modifier = {
						modifier = ep3_fireside_chat_modifier_1
						years = 10
					}
				}
			}
		}
	}
}

ep3_camp_party_visit_holding_skills_boost = {
	add_diplomacy_skill = { 1 3 }
	add_martial_skill = { 1 3 }
	add_stewardship_skill = { 1 3 }
	add_intrigue_skill = { 1 3 }
	add_learning_skill = { 1 3 }
}

#Setting up the Fens as a pseudo-custom region
ep3_the_fens_list_effect = {
	province:1525 = { add_to_list = the_fens } #b_lynn
	province:1534 = { add_to_list = the_fens } #b_cambridgeshire
	province:1535 = { add_to_list = the_fens } #b_radfield
	province:1536 = { add_to_list = the_fens } #b_papworth
	province:1537 = { add_to_list = the_fens } #b_ely
	province:1541 = { add_to_list = the_fens } #b_hurstingstone
	province:1542 = { add_to_list = the_fens } #b_norman_cross
	province:1584 = { add_to_list = the_fens } #b_stamford
	province:1585 = { add_to_list = the_fens } #b_boston
	province:1601 = { add_to_list = the_fens } #b_peterborough
}

#Used for setting up the Harrying of the North widget for events
#Requires use of ep3_harrying_widget_clear_effect in the 'after' as well
ep3_harrying_widget_setup_effect = {
	global_var:harrying_of_the_north = { save_scope_as = story }
	## First, identify our widget character.
	save_scope_as = scope_character
	## Then transfer over some suitable variables for the UI.
	set_variable = {
		name = pacification_gui
		value = scope:story.var:pacification
	}
	set_variable = {
		name = resistance_gui
		value = scope:story.var:resistance
	}
}

#Increase pacification
ep3_increase_pacification_effect = {
	save_scope_as = origin_char
	scope:story = {
		change_variable = {
			name = pacification
			add = $AMOUNT$
		}
	}
	set_variable = {
		name = pacification_gui
		value = scope:story.var:pacification
	}
	if = { #Display in red if Anglo-Saxon
		limit = {
			culture = culture:anglo_saxon
		}
		custom_tooltip = ep3_increase_pacification_effect_tt_negative
	}
	else = { #Otherwise in green
		custom_tooltip = ep3_increase_pacification_effect_tt_positive
	}

	if = {
		limit = {
			exists = scope:story.var:ruler_england
		}
		scope:story.var:ruler_england = {
			send_interface_message = {
				type = msg_pacification_rise
				title = harrying.notification_pacification_rise
				desc = harrying_pacification_rise
			}
		}
	}

	if = {
		limit = {
			character:90028 = {
				is_alive = yes
				NOT = {
					has_character_flag = hereward_settled_flag
				}
			}
		}
		character:90028 = {
			send_interface_message = {
				type = msg_pacification_rise
				title = harrying.notification_pacification_rise
				desc = harrying_pacification_rise
			}
		}
	}

	if = {
		limit = {
			scope:story.var:ruler_england = {
				any_vassal = {
					culture = culture:anglo_saxon
				}
			}
		}
		scope:story.var:ruler_england = {
			every_vassal = {
				limit = {
					culture = culture:anglo_saxon
				}
				send_interface_message = {
					type = msg_pacification_rise
					title = harrying.notification_pacification_rise
					desc = harrying_pacification_rise
				}
			}
		}
	}
}

#Increase pacification - large
ep3_increase_pacification_large_effect = {
	save_scope_as = origin_char
	scope:story = {
		change_variable = {
			name = pacification
			add = 2
		}
	}
	set_variable = {
		name = pacification_gui
		value = scope:story.var:pacification
	}
	if = { #Display in red if Anglo-Saxon
		limit = {
			culture = culture:anglo_saxon
		}
		custom_tooltip = ep3_increase_pacification_effect_tt_negative_large
	}
	else = { #Otherwise in green
		custom_tooltip = ep3_increase_pacification_effect_tt_positive_large
	}

	if = {
		limit = {
			exists = scope:story.var:ruler_england
		}
		scope:story.var:ruler_england = {
			send_interface_message = {
				type = msg_pacification_rise
				title = harrying.notification_pacification_rise
				desc = harrying_pacification_rise
			}
		}
	}

	if = {
		limit = {
			character:90028 = {
				is_alive = yes
				NOT = {
					has_character_flag = hereward_settled_flag
				}
			}
		}
		character:90028 = {
			send_interface_message = {
				type = msg_pacification_rise
				title = harrying.notification_pacification_rise
				desc = harrying_pacification_rise
			}
		}
	}

	if = {
		limit = {
			scope:story.var:ruler_england = {
				any_vassal = {
					culture = culture:anglo_saxon
				}
			}
		}
		scope:story.var:ruler_england = {
			every_vassal = {
				limit = {
					culture = culture:anglo_saxon
				}
				send_interface_message = {
					type = msg_pacification_rise
					title = harrying.notification_pacification_rise
					desc = harrying_pacification_rise
				}
			}
		}
	}
}

#Increase resistance
ep3_increase_resistance_effect = {
	save_scope_as = origin_char
	scope:story = {
		change_variable = {
			name = resistance
			add = $AMOUNT$
		}
	}
	set_variable = {
		name = resistance_gui
		value = scope:story.var:resistance
	}
	if = { #Display in green if Anglo-Saxon
		limit = {
			culture = culture:anglo_saxon
		}
		custom_tooltip = ep3_increase_resistance_effect_tt_positive
	}
	else = { #Otherwise in green
		custom_tooltip = ep3_increase_resistance_effect_tt_negative
	}

	if = {
		limit = {
			exists = scope:story.var:ruler_england
		}
		scope:story.var:ruler_england = {
			send_interface_message = {
				type = msg_resistance_rise
				title = harrying.notification_resistance_rise
				desc = harrying_resistance_rise
			}
		}
	}

	if = {
		limit = {
			character:90028 = {
				is_alive = yes
				NOT = {
					has_character_flag = hereward_settled_flag
				}
			}
		}
		character:90028 = {
			send_interface_message = {
				type = msg_resistance_rise
				title = harrying.notification_resistance_rise
				desc = harrying_resistance_rise
			}
		}
	}

	if = {
		limit = {
			scope:story.var:ruler_england = {
				any_vassal = {
					culture = culture:anglo_saxon
				}
			}
		}
		scope:story.var:ruler_england = {
			every_vassal = {
				limit = {
					culture = culture:anglo_saxon
				}
				send_interface_message = {
					type = msg_resistance_rise
					title = harrying.notification_resistance_rise
					desc = harrying_resistance_rise
				}
			}
		}
	}
}

#Increase resistance - large
ep3_increase_resistance_large_effect = {
	save_scope_as = origin_char
	scope:story = {
		change_variable = {
			name = resistance
			add = 2
		}
	}
	set_variable = {
		name = resistance_gui
		value = scope:story.var:resistance
	}
	if = { #Display in green if Anglo-Saxon
		limit = {
			culture = culture:anglo_saxon
		}
		custom_tooltip = ep3_increase_resistance_effect_tt_positive_large
	}
	else = { #Otherwise in green
		custom_tooltip = ep3_increase_resistance_effect_tt_negative_large
	}

	if = {
		limit = {
			exists = scope:story.var:ruler_england
		}
		scope:story.var:ruler_england = {
			send_interface_message = {
				type = msg_resistance_rise
				title = harrying.notification_resistance_rise
				desc = harrying_resistance_rise
			}
		}
	}

	if = {
		limit = {
			character:90028 = {
				is_alive = yes
				NOT = {
					has_character_flag = hereward_settled_flag
				}
			}
		}
		character:90028 = {
			send_interface_message = {
				type = msg_resistance_rise
				title = harrying.notification_resistance_rise
				desc = harrying_resistance_rise
			}
		}
	}

	if = {
		limit = {
			scope:story.var:ruler_england = {
				any_vassal = {
					culture = culture:anglo_saxon
				}
			}
		}
		scope:story.var:ruler_england = {
			random_vassal = {
				limit = {
					culture = culture:anglo_saxon
				}
				send_interface_message = {
					type = msg_resistance_rise
					title = harrying.notification_resistance_rise
					desc = harrying_resistance_rise
				}
			}
		}
	}
}

#Decrease pacification
ep3_decrease_pacification_effect = {
	save_scope_as = origin_char
	if = {
		limit = { scope:story.var:pacification != 0 }
		scope:story = {
			change_variable = {
				name = pacification
				add = -1
			}
		}
		set_variable = {
			name = pacification_gui
			value = scope:story.var:pacification
		}
		if = { #Display in green if Anglo-Saxon
			limit = {
				culture = culture:anglo_saxon
			}
			custom_tooltip = ep3_decrease_pacification_effect_tt_positive
		}
		else = { #Otherwise in green
			custom_tooltip = ep3_decrease_pacification_effect_tt_negative
		}

		if = {
			limit = {
				exists = scope:story.var:ruler_england
			}
			scope:story.var:ruler_england = {
				send_interface_message = {
					type = msg_pacification_falls
					title = harrying.notification_pacification_fall
					desc = harrying_pacification_fall
				}
			}
		}

		if = {
			limit = {
				character:90028 = {
					is_alive = yes
					NOT = {
						has_character_flag = hereward_settled_flag
					}
				}
			}
			character:90028 = {
				send_interface_message = {
					type = msg_pacification_falls
					title = harrying.notification_pacification_fall
					desc = harrying_pacification_fall
				}
			}
		}

		if = {
			limit = {
				scope:story.var:ruler_england = {
					any_vassal = {
						culture = culture:anglo_saxon
					}
				}
			}
			scope:story.var:ruler_england = {
				every_vassal = {
					limit = {
						culture = culture:anglo_saxon
					}
					send_interface_message = {
						type = msg_pacification_falls
						title = harrying.notification_pacification_fall
						desc = harrying_pacification_fall
					}
				}
			}
		}
	}
}

#Decrease resistance
ep3_decrease_resistance_effect = {
	save_scope_as = origin_char
	if = {
		limit = { scope:story.var:pacification != 0 }
		scope:story = {
			change_variable = {
				name = resistance
				add = -1
			}
		}
		set_variable = {
			name = resistance_gui
			value = scope:story.var:resistance
		}
		if = { #Display in red if Anglo-Saxon
			limit = {
				culture = culture:anglo_saxon
			}
			custom_tooltip = ep3_decrease_resistance_effect_tt_negative
		}
		else = { #Otherwise in green
			custom_tooltip = ep3_decrease_resistance_effect_tt_positive
		}

		if = {
			limit = {
				exists = scope:story.var:ruler_england
			}
			scope:story.var:ruler_england = {
				send_interface_message = {
					type = msg_resistance_falls
					title = harrying.notification_resistance_fall
					desc = harrying_resistance_fall
				}
			}
		}

		if = {
			limit = {
				character:90028 = {
					is_alive = yes
					NOT = {
						has_character_flag = hereward_settled_flag
					}
				}
			}
			character:90028 = {
				send_interface_message = {
					type = msg_resistance_falls
					title = harrying.notification_resistance_fall
					desc = harrying_resistance_fall
				}
			}
		}

		if = {
			limit = {
				scope:story.var:ruler_england = {
					any_vassal = {
						culture = culture:anglo_saxon
					}
				}
			}
			scope:story.var:ruler_england = {
				every_vassal = {
					limit = {
						culture = culture:anglo_saxon
					}
					send_interface_message = {
						type = msg_resistance_falls
						title = harrying.notification_resistance_fall
						desc = harrying_resistance_fall
					}
				}
			}
		}
	}
}

#Used for clearing widget data from the participants
ep3_harrying_widget_clear_effect = {
	remove_variable = pacification_gui
	remove_variable = resistance_gui
}

# Effect for handling players and AI continuing as landless if deposed
# Should be used over the standard effect in most cases (except barons/unlanded AI etc.)
# DEPOSER should be whoever has caused the deposal - faction leader, ultimatum giver, etc.
depose_effect = {
	show_as_tooltip = { depose = yes }
	save_scope_as = allow_imprisoned_landless
	if = {
		limit = { is_valid_for_laampdom = yes }
		custom_tooltip = laamp_may_become_adventurer_tt
	}
	set_variable = {
		name = deposed_primary_title
		value = primary_title
		months = 1
	}
	# Maintenance scopes
	save_scope_as = defender
	$DEPOSER$ = {
		save_scope_as = attacker
		save_scope_as = winner
	}
	# ACH crown laws reset
	if = {
		limit = {
			has_variable = crowned_king_var
		}
		remove_variable = crowned_king_var
		if = {
			limit = {
				NOT = { has_game_rule = coronation_laws_off }
				OR = {
					has_realm_law = crowned_king
					has_realm_law = crowned_emperor
				}
			}
			add_realm_law_skip_effects = uncrowned
		}
	}
	if = {
		limit = {
			has_variable = crowned_emperor_var
		}
		remove_variable = crowned_emperor_var
		if = {
			limit = {
				NOT = { has_game_rule = coronation_laws_off }
				OR = {
					has_realm_law = crowned_king
					has_realm_law = crowned_emperor
				}
			}
			add_realm_law_skip_effects = uncrowned
		}
	}
	every_held_title = { add_to_list = target_titles }
	trigger_event = ep3_laamps.0002
}

# Effect for handling players and AI continuing as landless if banished
# Should be used over the standard effect in most cases (except barons/unlanded AI etc.)
# BANISHER should be whoever has caused the banishment - imprisoner, ultimatum giver, etc.
banish_effect = {
	show_as_tooltip = { banish = yes }
	save_scope_as = allow_imprisoned_landless
	if = {
		limit = { is_valid_for_laampdom = yes }
		custom_tooltip = laamp_may_become_adventurer_tt
	}
	$BANISHER$ = { save_scope_as = banisher }
	trigger_event = ep3_laamps.0021
}

#Used for setting up the Peasant Leader widget for events
#Requires use of ep3_peasant_leader_widget_clear_effect in the 'after' as well
ep3_peasant_leader_widget_setup_effect = {
	set_variable = {
		name = support_gui
		value = scope:task_contract.var:support
	}
	set_variable = {
		name = control_gui
		value = scope:task_contract.var:control
	}
	set_variable = {
		name = num_of_corrupt_counties_gui
		value = scope:task_contract.var:num_of_corrupt_counties
	}
}
#Increase support
ep3_increase_peasant_support_effect = {
	scope:task_contract = {
		change_variable = {
			name = support
			add = 1
		}
		add_to_variable_list = {
			name = supported_counties
			target = scope:corrupt_province.county
		}
	}
	custom_tooltip = ep3_support_peasants_effect_tt
	scope:task_contract.var:task_contract_councillor_liege ?= {
		send_interface_message = {
			type = msg_peasant_supported
			title = msg_peasant_supported.title
			desc = msg_peasant_supported.desc
		}
	}
	scope:task_contract.var:task_contract_councillor ?= {
		send_interface_message = {
			type = msg_peasant_supported
			title = msg_peasant_supported.title
			desc = msg_peasant_supported.desc
		}
	}
}
#Increase control
ep3_increase_peasant_control_effect = {
	scope:task_contract = {
		change_variable = {
			name = control
			add = 1
		}
	}
	custom_tooltip = ep3_control_peasants_effect_tt
	scope:task_contract.var:task_contract_councillor_liege ?= {
		send_interface_message = {
			type = msg_peasant_controlled
			title = msg_peasant_controlled.title
			desc = msg_peasant_controlled.desc
		}
	}
	scope:task_contract.var:task_contract_councillor ?= {
		send_interface_message = {
			type = msg_peasant_controlled
			title = msg_peasant_controlled.title
			desc = msg_peasant_controlled.desc
		}
	}
}
#Used for clearing widget data from the participants
ep3_peasant_leader_widget_clear_effect = {
	remove_variable = support_gui
	remove_variable = control_gui
	remove_variable = num_of_corrupt_counties_gui
}

ep3_join_faction_war_effect = {
	# Use hook/pay gold
	scope:actor = {
		if = {
			limit = {
				scope:hook = yes
				has_hook = scope:recipient
			}
			use_hook = scope:recipient
		}
		if = {
			limit = { scope:gold = yes }
			pay_short_term_gold = {
				gold = scope:actor.medium_gold_value
				target = scope:recipient
			}
		}
	}
	# Gain some influence
	scope:recipient = {
		change_influence = 75
		# Remove from existing faction if swapping
		if = {
			limit = { exists = joined_faction }
			leave_faction = joined_faction
		}
		if = {
			limit = { target_is_liege_or_above = scope:secondary_recipient }
			add_faction_cooldown_effect = { YEARS = 5 }
		}
		remove_character_flag = under_offer_join_faction_war_flag
	}
	scope:actor.joined_faction.faction_war = {
		if = {
			limit = { is_defender = scope:actor }
			add_defender = scope:recipient
		}
		else = { add_attacker = scope:recipient }
	}
}

ep3_switch_faction_war_sides_effect = {
	scope:actor = {
		if = {
			limit = {
				scope:hook = yes
				has_hook = scope:recipient
			}
			use_hook = scope:recipient
		}
		if = {
			limit = { scope:gold = yes }
			pay_short_term_gold = {
				gold = scope:actor.medium_gold_value
				target = scope:recipient
			}
		}
	}
	scope:recipient = {
		change_influence = 150
		# Remove from existing faction if swapping
		if = {
			limit = { exists = joined_faction }
			leave_faction = joined_faction
		}
		if = {
			limit = { target_is_liege_or_above = scope:secondary_recipient }
			add_faction_cooldown_effect = { YEARS = 5 }
		}
	}
	scope:actor = {
		every_character_war = {
			limit = { ep3_switch_faction_war_sides_war_trigger = yes }
			hidden_effect = { remove_participant = scope:recipient }
			if = {
				limit = { is_defender = scope:actor }
				add_defender = scope:recipient
				hidden_effect = {
					primary_attacker = {
						add_opinion = {
							target = scope:recipient
							modifier = betrayed_me_opinion
							opinion = -25
						}
					}
				}
			}
			else = {
				add_attacker = scope:recipient
				primary_defender = {
					hidden_effect = {
						add_opinion = {
							target = scope:recipient
							modifier = betrayed_me_opinion
							opinion = -25
						}
					}
				}
			}
		}
	}
	scope:recipient = { custom_tooltip = ep3_switch_faction_war_sides_cooldown_effect_tt }
}

ep3_raid_insight_effect = {
	add_character_modifier = {
		modifier = raid_insight_$TYPE$
		years = 5
	}
}

# Set up titles in the new realm.
# Determine potential breakaways
ep3_landless_invasion_titles_taken_effect = {
	# Determine independent vassals
	adventurer_realm_destabilisation_list_effect = {
		TITLE_RECEIVER = $TITLE_RECEIVER$
		TITLE_GIVER = $TITLE_GIVER$
		TITLE = $TITLE$
	}
	# Determine hierarchy
	ep3_become_landed_save_liege_effect = {
		TITLE_GIVER = $TITLE_GIVER$
		ALWAYS_INDEPENDENT = yes
		TITLE_LIST = $TITLE_LIST$
	}
	# Resolve title, liege, government changes
	if = {
		limit = { exists = scope:claimant }
		ep3_become_landed_transfer_effect = {
			TITLE_RECEIVER = $TITLE_RECEIVER$
			TITLE_LIST = $TITLE_LIST$
			TYPE = conquest_claim
			REASON = flag:conquest_claim
			ENNOBLED_ADVENTURER = flag:yes
		}
	}
	else = {
		ep3_become_landed_transfer_effect = {
			TITLE_RECEIVER = $TITLE_RECEIVER$
			TITLE_LIST = $TITLE_LIST$
			TYPE = conquest
			REASON = flag:conquest
			ENNOBLED_ADVENTURER = flag:yes
		}
	}
	# Vassals break away
	adventurer_realm_destabilisation_transfer_effect = {
		TITLE = $TITLE$
		TITLE_RECEIVER = $TITLE_RECEIVER$
		TITLE_GIVER = $TITLE_GIVER$
		TITLE_LIST = $TITLE_LIST$
	}
}

governor_contract_invalidated_message_effect = {
	task_contract_taker ?= {
		save_scope_as = task_contract_character
		send_interface_message = {
			type = event_generic_bad_with_text
			title = admin_contract_invalidated_title
			left_icon = scope:task_contract_character
			desc = admin_contract_invalidated_desc

			current_travel_plan ?= { 
				if = {
					limit = { can_cancel = yes }
					cancel_travel_plan = yes
				}
			}
		}
	}
}

assign_favourite_child_effect = {
	$ACTOR$ = {
		random_relation = {
			type = favorite_child
			save_scope_as = current_favorite
		}
		send_interface_toast = {
			title = choose_favorite_interaction_notification
			left_icon = $ACTOR$
			right_icon = $RECIPIENT$
			if = {
				limit = {
					exists = scope:current_favorite
				}
				remove_relation_favorite_child = scope:current_favorite
				scope:current_favorite = {
					add_opinion = {
						target = $ACTOR$
						modifier = no_more_favorite_opinion
					}
				}
			}
			set_relation_favorite_child = { reason = favorite_child_chosen target = $RECIPIENT$ }
			$RECIPIENT$ = {
				add_opinion = {
					target = $ACTOR$
					modifier = made_favorite_opinion
				}
			}
			custom_tooltip = choose_favorite_interaction_notification.tt
		}
		hidden_effect = {
			every_close_or_extended_family_member = {
				limit = {
					NOT = { this = $RECIPIENT$ }
					OR = {
						is_child_of = $ACTOR$
						is_grandchild_of = $ACTOR$
						is_great_grandchild_of = $ACTOR$
					}
				}
				add_opinion = {
					target = $ACTOR$
					modifier = has_favorite_opinion
				}
				add_opinion = {
					target = $RECIPIENT$
					modifier = is_favorite_opinion
				}
			}
		}
	}
}

add_random_internal_estate_building = {
	random_list = {
		10 = {
			trigger = {
				NOT = { has_domicile_building_or_higher = servants_quarters_01 }
			}
			add_domicile_building = servants_quarters_01
			if = {
				limit = { has_domicile_building = estate_main_03 }
				add_domicile_building = servants_quarters_02
			}
		}
		10 = {
			trigger = {
				NOT = { has_domicile_building_or_higher = library_01 }
			}
			add_domicile_building = library_01
			if = {
				limit = { has_domicile_building = estate_main_03 }
				add_domicile_building = library_02
			}
		}
		10 = {
			trigger = {
				NOT = { has_domicile_building_or_higher = bath_01 }
			}
			add_domicile_building = bath_01
			if = {
				limit = { has_domicile_building = estate_main_03 }
				add_domicile_building = bath_02
			}
		}
		10 = {
			trigger = {
				NOT = { has_domicile_building_or_higher = courtyard_01 }
			}
			add_domicile_building = courtyard_01
			if = {
				limit = { has_domicile_building = estate_main_03 }
				add_domicile_building = courtyard_02
			}
		}
		10 = {
			trigger = {
				NOT = { has_domicile_building_or_higher = prison_01 }
			}
			add_domicile_building = prison_01
			if = {
				limit = { has_domicile_building = estate_main_03 }
				add_domicile_building = prison_02
			}
		}
		10 = {
			trigger = {
				NOT = { has_domicile_building_or_higher = living_quarters_01 }
			}
			add_domicile_building = living_quarters_01
			if = {
				limit = { has_domicile_building = estate_main_03 }
				add_domicile_building = living_quarters_02
			}
		}
		10 = {
			trigger = {
				NOT = { has_domicile_building_or_higher = trophy_room_01 }
			}
			add_domicile_building = trophy_room_01
			if = {
				limit = { has_domicile_building = estate_main_03 }
				add_domicile_building = trophy_room_02
			}
		}
		10 = {
			trigger = {
				NOT = { has_domicile_building_or_higher = office_01 }
			}
			add_domicile_building = office_01
			if = {
				limit = { has_domicile_building = estate_main_03 }
				add_domicile_building = office_02
			}
		}
		10 = {
			trigger = {
				NOT = { has_domicile_building_or_higher = guest_room_01 }
			}
			add_domicile_building = guest_room_01
			if = {
				limit = { has_domicile_building = estate_main_03 }
				add_domicile_building = guest_room_02
			}
		}
		10 = {
			trigger = {
				NOT = { has_domicile_building_or_higher = wine_cellar_01 }
			}
			add_domicile_building = wine_cellar_01
			if = {
				limit = { has_domicile_building = estate_main_03 }
				add_domicile_building = wine_cellar_02
			}
		}
	}
}

fill_external_estate_building_effect = {
	switch = {
		trigger = has_domicile_building_or_higher
		estate_main_05 = {
			while = {
				limit = { free_external_domicile_building_slots >= 1 }
				add_random_external_estate_building = yes
			}
		}
		estate_main_04 = {
			while = {
				limit = { free_external_domicile_building_slots >= 2 }
				add_random_external_estate_building = yes
			}
		}
		estate_main_03 = {
			while = {
				limit = { free_external_domicile_building_slots >= 3 }
				add_random_external_estate_building = yes
			}
		}
		estate_main_02 = {
			while = {
				limit = { free_external_domicile_building_slots >= 4 }
				add_random_external_estate_building = yes
			}
		}
		estate_main_01 = {
			while = {
				limit = { free_external_domicile_building_slots >= 5 }
				add_random_external_estate_building = yes
			}
		}
	}
}

add_random_external_estate_building = {
	if = {
		limit = {
			free_external_domicile_building_slots >= 1
		}
		random_list = {
			10 = {
				trigger = {
					NOR = { 
						has_domicile_building_or_higher = temple_small_01
						owner = {
							government_has_flag = government_is_celestial 
						}
					}
				}
				add_domicile_building = temple_small_01
				if = {
					limit = { has_domicile_building = estate_main_03 }
					add_domicile_building = temple_small_02
				}
			}
			10 = {
				trigger = {
					NOT = { has_domicile_building_or_higher = barracks_01 }
				}
				add_domicile_building = barracks_01
				if = {
					limit = { has_domicile_building = estate_main_03 }
					add_domicile_building = barracks_02
				}
			}
			10 = {
				trigger = {
					NOT = { has_domicile_building_or_higher = watchtower_01 }
				}
				add_domicile_building = watchtower_01
				if = {
					limit = { has_domicile_building = estate_main_03 }
					add_domicile_building = watchtower_02
				}
			}
			10 = {
				trigger = {
					NOR = { 
						has_domicile_building_or_higher = vineyard_01 
						owner.culture ?= {
							has_innovation = innovation_champa_rice
						}
					}
				}
				add_domicile_building = vineyard_01
				if = {
					limit = { has_domicile_building = estate_main_03 }
					add_domicile_building = vineyard_02
				}
			}
			10 = {
				trigger = {
					NOT = { has_domicile_building_or_higher = guardhouse_01 }
				}
				add_domicile_building = guardhouse_01
				if = {
					limit = { has_domicile_building = estate_main_03 }
					add_domicile_building = guardhouse_02
				}
			}
			10 = {
				trigger = {
					NOT = { has_domicile_building_or_higher = garden_01 }
				}
				add_domicile_building = garden_01
				if = {
					limit = { has_domicile_building = estate_main_03 }
					add_domicile_building = garden_02
				}
			}
			10 = {
				trigger = {
					NOT = { has_domicile_building_or_higher = storage_01 }
				}
				add_domicile_building = storage_01
				if = {
					limit = { has_domicile_building = estate_main_03 }
					add_domicile_building = storage_02
				}
			}
			10 = {
				trigger = {
					NOR = { 
						has_domicile_building_or_higher = grain_field_01
						owner.culture ?= {
							has_innovation = innovation_champa_rice
						}
					}
				}
				add_domicile_building = grain_field_01
				if = {
					limit = { has_domicile_building = estate_main_03 }
					add_domicile_building = grain_field_02
				}
			}
			10 = {
				trigger = {
					NOT = { 
						has_domicile_building_or_higher = rice_field_01
					}
					owner.culture ?= {
						has_innovation = innovation_champa_rice
					}
				}
				add_domicile_building = rice_field_01
				if = {
					limit = { has_domicile_building = estate_main_03 }
					add_domicile_building = rice_field_02
				}
			}
			10 = {
				trigger = {
					NOT = { has_domicile_building_or_higher = stable_01 }
				}
				add_domicile_building = stable_01
				if = {
					limit = { has_domicile_building = estate_main_03 }
					add_domicile_building = stable_02
				}
			}
			10 = {
				trigger = {
					NOT = { has_domicile_building_or_higher = workshop_01 }
				}
				add_domicile_building = workshop_01
				if = {
					limit = { has_domicile_building = estate_main_03 }
					add_domicile_building = workshop_02
				}
			}
			10 = {
				trigger = {
					NOT = { has_domicile_building_or_higher = market_01 }
				}
				add_domicile_building = market_01
				if = {
					limit = { has_domicile_building = estate_main_03 }
					add_domicile_building = market_02
				}
			}
			10 = {
				trigger = {
					NOT = { has_domicile_building_or_higher = grazing_land_01 }
				}
				add_domicile_building = grazing_land_01
				if = {
					limit = { has_domicile_building = estate_main_03 }
					add_domicile_building = grazing_land_02
				}
			}
			10 = {
				trigger = {
					NOR = { 
						has_domicile_building_or_higher = olive_01 
						owner.culture ?= {
							has_innovation = innovation_champa_rice
						}
					}
				}
				add_domicile_building = olive_01
				if = {
					limit = { has_domicile_building = estate_main_03 }
					add_domicile_building = olive_02
				}
			}
		}
	}
}

estate_newly_built_grain_field_effect = {
	scope:owner = {
		if = {
			limit = {
				is_alive = yes
				years_from_game_start >= 1
			}
			random = {
				chance = 75
				add_character_flag = {
					flag = domicile_new_built_grain_field
					months = 1
				}
				trigger_event = {
					id = ep3_governor_yearly.3001
					days = 5
				}
			}
		}
	}
}

demand_pastureland_adventurer_interaction_effect = {
	# scope:actor = adventurer
	# scope:recipient = herder
	# seized_pastureland = titles
	scope:target = { add_to_list = seized_pastureland }
	scope:recipient = { save_scope_as = defender }

	hidden_effect = {
		scope:actor = {
			if = {
				limit = { character:90028 ?= this }
				add_character_flag = hereward_settled_flag
			}
			if = {
				limit = {
					NOT = { has_trait = adventurer }
				}
				add_trait = adventurer
			}
			every_courtier = {
				set_variable = {
					name = former_camp_leader
					value = scope:actor
				}
				add_trait = adventurer_follower
			}
		}
	}

	# Determine hierarchy
	ep3_become_landed_save_liege_effect = {
		TITLE_GIVER = scope:recipient
		ALWAYS_INDEPENDENT = no
		TITLE_LIST = seized_pastureland
	}
	# Resolve title, liege, government changes
	ep3_become_landed_transfer_effect = {
		TITLE_RECEIVER = scope:actor
		TITLE_LIST = seized_pastureland
		TYPE = granted
		REASON = flag:seized_pastureland
		ENNOBLED_ADVENTURER = flag:yes
	}
	# Messages for nearby players
	create_landed_ruler_message_effect = {
		LANDED = scope:actor
		FLAVOR_CHAR = scope:recipient
		FLAVOR_TITLE = scope:target
		REASON = flag:seized_pastureland
	}
}
