﻿replace_ceremonial_regent_faction = {
	casus_belli = replace_ceremonial_regent_faction_war

	name = FACTION_JAPANESE_REPLACE_REGENT_NAME_DYNAMIC

	desc = {
		first_valid = {
			desc = replace_ceremonial_regent_faction_desc
		}
		first_valid = {
			triggered_desc = {
				trigger = {
					faction_leader = { tgp_is_ceremonial_liege_trigger = yes }
				}
				desc = replace_ceremonial_regent_faction_desc_emperor
			}
		}
	}

	short_effect_desc = {
		first_valid = {
			triggered_desc = {
				trigger = {
					faction_leader ?= { tgp_is_ceremonial_liege_trigger = yes }
				}
				desc = replace_ceremonial_regent_faction_short_effect_desc_emperor
			}
			desc = replace_ceremonial_regent_faction_short_effect_desc_regent
		}
	}

	special_character_title = "FACTIONS_WINDOW_JAPANESE_REGENT"

	sort_order = 4

	show_special_title = yes

	multiple_targeting = yes

	discontent_progress = {
		base = 0
		common_discontent_progress_modifier = yes
	}

	power_threshold = {
		base = 80
		# Hard rule perk
		modifier = {
			add = 20
			faction_target = { has_perk = hard_rule_perk }
			desc = "FACTION_POWER_HARD_RULE"
		}
		#Lower the threshold depending on the state of other factions
		dynamic_power_threshold_scripted_modifier = {
			FACTION_TYPE1 = claimant_faction
			FACTION_TYPE2 = independence_faction
			FACTION_TYPE3 = populist_faction
		}
	}	

	demand = {
		save_scope_as = faction
		faction_leader = { save_scope_as = faction_leader }
		faction_target = { save_scope_as = faction_target }
		# Let the human players in the faction know that the demand will be sent
		every_faction_member = {
			limit = {
				is_ai = no
				NOT = { this = scope:faction.faction_leader }
			}
			trigger_event = tgp_faction_events.0105
		}
		# Send the actual demand in 5 days
		faction_target = {
			trigger_event = {
				id = tgp_faction_events.0101
				days = 5
			}
		}
	}

	ai_demand_chance = {
		base = 0
		# 30% base chance at minimum power (80%), increasing linearly
		compare_modifier = {
			value = faction_power
			multiplier = 0.375
		}
		# Once the faction has a good chance to win (10% stronger than liege) demand chance increases much more rapidly.
		compare_modifier = {
			trigger = {	faction_power > 110 }
			value = faction_power
			multiplier = 0.75
		}
		# Less likely if already in a war with an external ruler - the Liberty Faction is pretty sporting
		modifier = {
			add = -75
			faction_target = {
				any_war_enemy = {
					NOT = { target_is_liege_or_above = root.faction_target }
				}
			}
		}
	}

	on_war_start = {
		every_faction_member = {
			limit = { var:gathered_support_for_faction ?= root }
			spawn_army = {
				name = gathered_support_for_faction_army
				levies = {
					value = this.massive_influence_value
					multiply = 3
				}
				men_at_arms = {
					type = light_footmen
					stacks = 2
				}
				location = this.location
				war = root.faction_war
				inheritable = yes
			}
		}
	}

	is_shown = {
		tgp_realm_has_ceremonial_liege_trigger = yes
		has_dlc_feature = all_under_heaven
		NAND = {
			tgp_is_ceremonial_liege_trigger = yes
			tgp_is_ceremonial_regent_trigger = no
		}
	}

	is_valid = {
		trigger_if = {
			limit = { exists = faction_target }
			faction_target = { tgp_install_regent_faction_target_valid_trigger = yes }
		}
		trigger_if = {
			limit = { exists = special_character }
			special_character = { is_alive = yes }
		}
	}

	is_character_valid = {
		common_character_validity_trigger = { FACTION_TARGET = scope:faction.faction_target }
	}

	can_character_create_ui = {
		base_faction_trigger = { FACTION_TYPE = replace_ceremonial_regent_faction }
		common_can_character_create_trigger = { FACTION_TARGET = scope:target }
		tgp_install_regent_faction_can_create_trigger = yes
		NOR = {
			custom_tooltip = {
				text = not_house_head_allied_to_faction_target_trigger # this is correct, keys are swapped in loc
				house ?= scope:target.house
			}
			custom_tooltip = {
				text = not_house_member_of_faction_target_trigger # this is correct, keys are swapped in loc
				house.house_head ?= { is_allied_to = scope:target }
			}
		}
	}

	can_character_create = {
		common_can_character_create_trigger = { FACTION_TARGET = scope:target }
		tgp_install_regent_faction_can_create_trigger = yes
		trigger_if = {
			limit = {
				is_ai = yes
				is_male = yes
			}
			faith = {
				OR = {
					has_doctrine_parameter = male_dominated_law
					has_doctrine_parameter = gender_equal_law
				}
			}
		}
		trigger_else_if = {
			limit = {
				is_ai = yes
				is_female = yes
			}
			faith = {
				OR = {
					has_doctrine_parameter = female_dominated_law
					has_doctrine_parameter = gender_equal_law
				}
			}
		}
		trigger_else = {
			always = yes
		}
		NOR = {
			custom_tooltip = {
				text = not_house_head_allied_to_faction_target_trigger # this is correct, keys are swapped in loc
				house ?= scope:target.house
			}
			custom_tooltip = {
				text = not_house_member_of_faction_target_trigger # this is correct, keys are swapped in loc
				house.house_head ?= { is_allied_to = scope:target }
			}
		}
	}

	can_character_join = {
		common_can_character_join_trigger = { FACTION_TARGET = scope:faction.faction_target }
		NOR = {
			custom_tooltip = {
				text = not_house_head_allied_to_faction_target_trigger # this is correct, keys are swapped in loc
				house ?= scope:faction.faction_target.house
			}
			custom_tooltip = {
				text = not_house_member_of_faction_target_trigger # this is correct, keys are swapped in loc
				house.house_head ?= { is_allied_to = scope:faction.faction_target }
			}
		}
		japan_faction_cohesion_hard_trigger = yes
	}

	can_character_become_leader = {
		can_become_leader_of_faction_trigger = yes
		is_adult = yes
	}

	ai_create_score = {
		base = 0 # Join Weight is set primarily based on what Crown Laws a realm has.
		############
		# BLOCKERS #
		############
		common_create_faction_blockers = {
			FACTION_TARGET = scope:target
			FLAG = recent_replace_regent_faction_war
		}
		#######################
		# Standard AI Weights #
		#
		# Modifiers for Liberty Factions are inherently small.
		# This is because Liberty is the 'Default Faction' that vassals are join if they don't want/can't join any other faction.
		# 'Base Join Weight' depends on the current Crown Authority level.
		common_faction_modifiers = {
			FACTION_TARGET = scope:target
			OPINION_MULTIPLIER = -1
			MAX_OPINION = 0
			POWER = 0
			THRESHOLD = 80
		}
		replace_ceremonial_regent_faction_modifiers = { FACTION_TARGET = scope:target }
		#House Hostility from Armenian tradition
		modifier = {
			desc = "FACTION_REASON_HOUSE_HOSTILITY"
			NOT = { scope:target.house ?= root.house }
			culture = { has_cultural_parameter = house_hostility_more_common }
			factor = 1.25
		}
		modifier = {
			house.house_confederation.leading_house.house_head ?= root
			add = 50
		}
		# TODO_CD_JP_TGP AWAITING CODE SUPPORT
		#modifier = {
		#	confederation.leading_house.house_head ?= root
		#	tgp_confederation_military_power > scope:target.tgp_confederation_military_power_half
		#	add = 50
		#}

		# Extra check on leading house
	    modifier = {
	    	factor = 0
	    	NOT = { house.house_confederation.leading_house ?= house }
	    }
	}

	ai_join_score = {
		base = 0 # Join Weight is set primarily based on what Crown Laws a realm has.
		############
		# BLOCKERS #
		common_join_faction_blockers = { FACTION_TARGET = scope:faction.faction_target }
		#######################
		# Standard AI Weights #
		#AI
		# Modifiers for Liberty Factions are inherently small.
		# This is because Liberty is the 'Default Faction' that vassals are join if they don't want/can't join any other faction.
		common_faction_modifiers = {
			FACTION_TARGET = scope:faction.faction_target
			OPINION_MULTIPLIER = -1
			MAX_OPINION = 0
			POWER = scope:faction.faction_power
			THRESHOLD = scope:faction.faction_power_threshold
		}
		replace_ceremonial_regent_faction_modifiers = { FACTION_TARGET = scope:faction.faction_target }
		struggle_faction_modifiers = yes
		modifier = {
			is_allied_to = scope:faction.faction_leader
			NOT = { is_allied_to = scope:faction.faction_target }
			add = 25
		}
		modifier = {
			house ?= scope:faction.faction_leader.house
			add = 15
			desc = "FACTION_REASON_SAME_HOUSE_LEADER"
		}
		modifier = {
			dynasty ?= scope:faction.faction_leader.dynasty
			add = 10
			desc = "FACTION_REASON_SAME_DYNASTY_LEADER"
		}
		modifier = {
			house ?= scope:faction.faction_target.house
			add = -15
			desc = "FACTION_REASON_SAME_HOUSE_TARGET"
		}
		modifier = {
			dynasty ?= scope:faction.faction_target.dynasty
			add = -10
			desc = "FACTION_REASON_SAME_DYNASTY_TARGET"
		}
		#House Hostility from Armenian tradition
	    modifier = {
			desc = "FACTION_REASON_HOUSE_HOSTILITY"
			NOT = { scope:faction.faction_target.house ?= root.house }
			culture = { has_cultural_parameter = house_hostility_more_common }
			factor = 1.25
	    }
		#EP3 admin legitimacy event
		modifier = {
			desc = "FACTION_REASON_LOW_LEGITIMACY_CHALLENGER"
			add = 25
			scope:faction = {
				any_faction_member = { has_character_flag = low_legitimacy_admin_factions_flag }
			}
		}
	}

	on_creation = {
		save_scope_as = faction
		set_special_title = scope:faction.faction_leader.top_liege.primary_title
		set_special_character = scope:faction.faction_leader
		tgp_bloc_members_join_faction_effect = yes
		if = {
			limit = {
				any_player = {
					is_landless_adventurer = yes
					is_within_diplo_range = { CHARACTER = scope:faction.faction_target }
					OR = {
						has_contact = scope:faction.faction_leader
						NOT = { has_contact = scope:faction.faction_target }
					}
					any_character_task_contract = {
						has_task_contract_type = laamp_join_faction_contract
						count <= 3
					}
					can_create_task_contract = {
						type_name = laamp_join_faction_contract
						employer = scope:faction.faction_leader
					}
					save_temporary_scope_as = player_laamp
				}
			}
			scope:player_laamp = {
				create_task_contract = {
					task_contract_type = laamp_join_faction_contract
					task_contract_tier = scope:faction.faction_leader.task_contract_tier_value
					location = scope:faction.faction_leader.primary_title.title_province
					task_contract_employer = scope:faction.faction_leader
					target = scope:faction.faction_target
				}
			}
		}
	}

	county_allow_join = no
	county_allow_create = no
}

restore_ceremonial_liege_faction = {
	casus_belli = restore_ceremonial_liege_faction_war

	name = FACTION_JAPANESE_RESTORE_EMPEROR_NAME_DYNAMIC

	desc = {
		desc = restore_ceremonial_liege_faction_desc
	}
	short_effect_desc = restore_ceremonial_liege_faction_short_effect_desc

	special_character_title = "FACTIONS_WINDOW_JAPANESE_RESTORE_EMPEROR"

	sort_order = 4

	show_special_title = yes

	multiple_targeting = no

	discontent_progress = {
		base = 0
		common_discontent_progress_modifier = yes
	}

	power_threshold = {
		base = 80
		# Hard rule perk
		modifier = {
			add = 20
			faction_target = { has_perk = hard_rule_perk }
			desc = "FACTION_POWER_HARD_RULE"
		}
		#Lower the threshold depending on the state of other factions
		dynamic_power_threshold_scripted_modifier = {
			FACTION_TYPE1 = claimant_faction
			FACTION_TYPE2 = independence_faction
			FACTION_TYPE3 = populist_faction
		}
	}	

	demand = {
		save_scope_as = faction
		faction_leader = { save_scope_as = faction_leader }
		faction_target = { save_scope_as = faction_target }
		# Let the human players in the faction know that the demand will be sent
		every_faction_member = {
			limit = {
				is_ai = no
				NOT = { this = scope:faction.faction_leader }
			}
			trigger_event = tgp_faction_events.0205
		}
		# Send the actual demand in 5 days
		faction_target = {
			trigger_event = {
				id = tgp_faction_events.0201
				days = 5
			}
		}
	}

	ai_demand_chance = {
		base = 0
		# 30% base chance at minimum power (80%), increasing linearly
		compare_modifier = {
			value = faction_power
			multiplier = 0.375
		}
		# Once the faction has a good chance to win (10% stronger than liege) demand chance increases much more rapidly.
		compare_modifier = {
			trigger = {	faction_power > 110 }
			value = faction_power
			multiplier = 0.75
		}
		# Less likely if already in a war with an external ruler - the Liberty Faction is pretty sporting
		modifier = {
			add = -75
			faction_target = {
				any_war_enemy = {
					NOT = { target_is_liege_or_above = root.faction_target }
				}
			}
		}
	}

	on_war_start = {
		every_faction_member = {
			limit = { var:gathered_support_for_faction ?= root }
			spawn_army = {
				name = gathered_support_for_faction_army
				levies = {
					value = this.massive_influence_value
					multiply = 3
				}
				men_at_arms = {
					type = light_footmen
					stacks = 2
				}
				location = this.location
				war = root.faction_war
				inheritable = yes
			}
		}
	}

	is_shown = {
		tgp_realm_has_ceremonial_liege_trigger = yes
		top_liege = { tgp_has_ceremonial_liege_title_trigger = no }
		has_dlc_feature = all_under_heaven
	}

	is_valid = {
		trigger_if = {
			limit = { exists = special_character }
			special_character = { is_alive = yes }
		}
	}

	is_character_valid = {
		common_character_validity_trigger = { FACTION_TARGET = scope:faction.faction_target }
		trigger_if = {
			limit = { 
				government_is_japanese_trigger = yes
				exists = scope:faction.faction_leader
			}
			scope:faction = {
				any_faction_member = {
					this = root.house.house_confederation.leading_house.house_head
				}
			}
			house.house_confederation ?= {
				OR = {
					leading_house.house_head ?= scope:faction.faction_leader
					leading_house.house_head ?= { tgp_is_ceremonial_liege_trigger = yes }
				}
				OR = {
					has_cohesion_level_parameter = bloc_leader_unlocks_restore_emperor_faction
					root.joined_faction ?= {
						faction_is_at_war = yes
					}
				}
			}
		}
	}

	can_character_become_leader = {
		can_become_leader_of_faction_trigger = yes
	}

	can_character_create_ui = {
		base_faction_trigger = { FACTION_TYPE = restore_ceremonial_liege_faction }
		common_can_character_create_trigger = { FACTION_TARGET = scope:target }
		restore_ceremonial_liege_faction_can_create_trigger = yes
	}

	can_character_create = {
		common_can_character_create_trigger = { FACTION_TARGET = scope:target }
		restore_ceremonial_liege_faction_can_create_trigger = yes
	}

	can_character_join = {
		common_can_character_join_trigger = { FACTION_TARGET = scope:faction.faction_target }
		NOR = {
			house ?= {
				this = scope:faction.faction_target.house
				house_head ?= { is_allied_to = scope:faction.faction_target }
			}
			is_allied_to = scope:faction.faction_target
		}
		scope:faction.faction_target ?= {
			is_independent_ruler = yes
			tgp_realm_has_ceremonial_liege_trigger = yes
			tgp_has_ceremonial_liege_title_trigger = no
		}
	}

	ai_create_score = {
		base = 0 # Join Weight is set primarily based on what Crown Laws a realm has.
		############
		# BLOCKERS #
		############
		common_create_faction_blockers = {
			FACTION_TARGET = scope:target
			FLAG = recent_restore_ceremonial_liege_faction_war
		}
		#######################
		# Standard AI Weights #
		# 'Base Join Weight' depends on the current Crown Authority level.
		common_faction_modifiers = {
			FACTION_TARGET = scope:target
			OPINION_MULTIPLIER = -1
			MAX_OPINION = 0
			POWER = 0
			THRESHOLD = 80
		}
		restore_ceremonial_liege_faction_modifiers = { FACTION_TARGET = scope:target }
		#House Hostility from Armenian tradition
	    modifier = {
			desc = "FACTION_REASON_HOUSE_HOSTILITY"
			NOT = { scope:target.house ?= root.house }
			culture = { has_cultural_parameter = house_hostility_more_common }
			factor = 1.25
	    }

	    # Extra check on leading house
	    modifier = {
	    	factor = 0
	    	NOT = { house.house_confederation.leading_house ?= house }
	    }
	}

	ai_join_score = {
		base = 0 # Join Weight is set primarily based on what Crown Laws a realm has.
		############
		# BLOCKERS #
		common_join_faction_blockers = { FACTION_TARGET = scope:faction.faction_target }
		#######################
		# Standard AI Weights #
		common_faction_modifiers = {
			FACTION_TARGET = scope:faction.faction_target
			OPINION_MULTIPLIER = -1
			MAX_OPINION = 0
			POWER = scope:faction.faction_power
			THRESHOLD = scope:faction.faction_power_threshold
		}
		restore_ceremonial_liege_faction_modifiers = { FACTION_TARGET = scope:faction.faction_target }
		struggle_faction_modifiers = yes
		#House Hostility from Armenian tradition
	    modifier = {
			desc = "FACTION_REASON_HOUSE_HOSTILITY"
			NOT = { scope:faction.faction_target.house ?= root.house }
			culture = { has_cultural_parameter = house_hostility_more_common }
			factor = 1.25
	    }
		#EP3 admin legitimacy event
		modifier = {
			desc = "FACTION_REASON_LOW_LEGITIMACY_CHALLENGER"
			add = 25
			scope:faction = {
				any_faction_member = { has_character_flag = low_legitimacy_admin_factions_flag }
			}
		}
	}

	on_creation = {
		save_scope_as = faction
		scope:faction ?= {
			random_faction_member = {
				limit = {
					house.house_confederation.leading_house.house_head ?= this
				}
				save_scope_as = faction_leader_scope
			}
		}
	
		if = { # Japanese blocs
			limit = { scope:faction_leader_scope.house.house_confederation.leading_house ?= scope:faction_leader_scope.house }
			scope:faction_leader_scope.house.house_confederation ?= {
				every_confederation_member = {
					limit = { can_join_faction = scope:faction }
					join_faction = scope:faction
				}
			}
		}
		
		set_special_title = scope:faction_leader_scope.top_liege.primary_title.var:administrative_ui_special_title
		set_special_character = scope:faction_leader_scope.top_liege.primary_title.var:administrative_ui_special_title.holder

		if = {
			limit = {
				any_player = {
					is_landless_adventurer = yes
					is_within_diplo_range = { CHARACTER = scope:faction.faction_target }
					OR = {
						has_contact = scope:faction_leader_scope
						NOT = { has_contact = scope:faction.faction_target }
					}
					any_character_task_contract = {
						has_task_contract_type = laamp_join_faction_contract
						count <= 3
					}
					can_create_task_contract = {
						type_name = laamp_join_faction_contract
						employer = scope:faction_leader_scope
					}
					save_temporary_scope_as = player_laamp
				}
			}
			scope:player_laamp = {
				create_task_contract = {
					task_contract_type = laamp_join_faction_contract
					task_contract_tier = scope:faction_leader_scope.task_contract_tier_value
					location = scope:faction_leader_scope.primary_title.title_province
					task_contract_employer = scope:faction_leader_scope
					target = scope:faction.faction_target
				}
			}
		}
	}

	county_allow_join = no
	county_allow_create = no
}

ceremonial_claimant_faction = {
	casus_belli = ceremonial_claimant_faction_war

	short_effect_desc = claimant_faction_short_effect_desc

	sort_order = 1

	character_interaction = create_ceremonial_claimant_faction_against_interaction

	show_special_title = yes
	name = FACTION_CEREMONIAL_CLAIMANT_DYNAMIC_NAME

	claimant = yes

	discontent_progress = {
		base = 0

		common_discontent_progress_modifier = yes
	}

	power_threshold = {
		base = 80

		modifier = {
			add = 20 
			faction_target = {
				has_perk = hard_rule_perk
			}
			desc = "FACTION_POWER_HARD_RULE"
		} 

		#Lower the threshold depending on the state of other factions
		dynamic_power_threshold_scripted_modifier = {
			FACTION_TYPE1 = liberty_faction
			FACTION_TYPE2 = independence_faction
			FACTION_TYPE3 = populist_faction
		}
	}

	is_shown = {
		tgp_realm_has_ceremonial_liege_trigger = yes
		top_liege = { tgp_is_ceremonial_regent_trigger = yes }
		has_dlc_feature = all_under_heaven
		NAND = {
			tgp_is_ceremonial_liege_trigger = yes
			tgp_is_ceremonial_regent_trigger = no
		}
	}

	# Is valid?
	# (see also invalidate_claimant_factions_on_death_effect for what happens when the claimant dies)
	is_valid = { # If the FACTION itself is valid
		trigger_if = {
			limit = {
				OR = {
					exists = special_character
					exists = faction_war
				}
			}
			OR = {
				special_title.holder ?= faction_target
				special_title.holder.top_liege ?= faction_target
			}
			faction_target = { tgp_realm_has_ceremonial_liege_trigger = yes }
			OR = {
				special_character ?= {
					is_alive = yes
					#has_claim_on = root.special_title
					NOR = { 
						has_trait = incapable
						this = root.faction_target
					}
					trigger_if = { #If they're imprisoned by the faction target they can only be so for five years before invalidating
						limit = { is_imprisoned_by = root.faction_target }
						time_in_prison_type = { years < 5 }
					}
				}
				exists = faction_war
			}
		}
	}

	demand = { # The effect of pressing demand
		save_scope_as = faction
		faction_leader = { save_scope_as = faction_leader }
		faction_target = { save_scope_as = faction_target }
		special_character = { save_scope_as = faction_claimant }
		special_title = { save_scope_as = faction_targeted_title }
		# Let the human players in the faction know that the demand will be sent
		every_faction_member = {
			limit = {
				is_ai = no
				this != scope:faction.faction_leader
			}
			trigger_event = faction_demand.2015
		}
		# Send the actual demand in 5 days
		faction_target = {
			trigger_event = {
				id = faction_demand.2011
				days = 5
			}
		}
	}

	ai_demand_chance = {
		base = 0

		#Won't send ultimatum if the claimant is imprisoned by the faction-target!
		modifier = {
			add = -500
			special_character = { is_imprisoned_by = root.faction_target }
		}

		# Won't start a war is the Realm is fighting against a Dissolution faction or Independent factions: you want to get the best realm possible. Better wait a bit longer
		modifier = {
			add = -1000
			faction_target = {
				any_character_war = {
					OR = {
						using_cb = independence_faction_war
						using_cb = independence_war
						using_cb = nation_fracturing_faction_war
					}
				}
			}
		}

		# 40% base chance at minimum power (80%), increasing linearly
		compare_modifier = {
			value = faction_power
			multiplier = 0.5
		}

		# Once the faction has a good chance to win (10% stronger than liege) demand chance increases much more rapidly.
		compare_modifier = {
			trigger = {	faction_power > 110 }
			value = faction_power
			multiplier = 1
		}

		# Less likely if already in a war with an external ruler
		modifier = {
			add = -50
			faction_target = {
				any_war_enemy = {
					NOT = { target_is_liege_or_above = root.faction_target }
				}
			}
		}
	}

	on_war_start = {
		every_faction_member = {
			limit = {
				has_variable = gathered_support_for_faction
				var:gathered_support_for_faction = root
			}
			spawn_army = {
				name = gathered_support_for_faction_army
				levies = {
					value = this.massive_influence_value
					multiply = 3
				}
				men_at_arms = {
					type = light_footmen
					stacks = 2
				}
				location = this.location
				war = root.faction_war
				inheritable = yes
			}
		}
	}

	is_character_valid = { # Is the character valid to stay in the faction? This is also checked when creating it...
		common_character_validity_trigger = {
			FACTION_TARGET = scope:faction.faction_target
		}
		tgp_realm_has_ceremonial_liege_trigger = yes
		has_valid_faction_members_trigger = yes
	}

	can_character_create_ui = {
		base_faction_trigger = { FACTION_TYPE = ceremonial_claimant_faction }
		
		common_can_character_create_trigger = {
			FACTION_TARGET = scope:target
		}
		ceremonial_claimant_faction_can_create_trigger = yes
	}

	can_character_create = { # If a character is allowed to create the faction. The 'is_character_valid' block is also checked in conjunction with this when creating a faction.
		common_can_character_create_trigger = {
			FACTION_TARGET = scope:target
		}
		ceremonial_claimant_faction_can_create_trigger = yes
	}

	can_character_join = { # Can a character join an existing faction?
		common_can_character_join_trigger = {
			FACTION_TARGET = scope:faction.faction_target
		}
		japan_faction_cohesion_hard_trigger = yes
	}

	can_character_become_leader = {
		can_become_leader_of_faction_trigger = yes
	}

	ai_create_score = { # How likely is an AI to create a faction?
		base = -25

		####
		# BLOCKERS
		####
		common_create_faction_blockers = {
			FACTION_TARGET = scope:target
			FLAG = recent_ceremonial_claimant_faction_war
		}

		ceremonial_claimant_faction_blockers = {
			FACTION_TARGET = scope:target.top_liege.primary_title.var:administrative_ui_special_title.holder
			FACTION_CLAIMANT = scope:claimant
		}

		####
		# AI modifiers
		####
		common_faction_modifiers = {
			FACTION_TARGET = scope:target
			OPINION_MULTIPLIER = -1.5
			MAX_OPINION = 150
			POWER = 0
			THRESHOLD = 80
		}

		ceremonial_claimant_faction_modifiers = {
			FACTION_TARGET = scope:target.top_liege.primary_title.var:administrative_ui_special_title.holder
			FACTION_CLAIMANT = scope:claimant
			FACTION_TITLE = scope:title
		}

		# Extra check on leading house
	    modifier = {
	    	factor = 0
	    	NOT = { house.house_confederation.leading_house ?= house }
	    }
	}

	ai_join_score = { # How likely is an AI to join an existing faction?
		base = -25

		common_join_faction_blockers = {
			FACTION_TARGET = scope:faction.faction_target
		}

		ceremonial_claimant_faction_blockers = {
			FACTION_TARGET = scope:faction.faction_target 
			FACTION_CLAIMANT = scope:faction.special_character 
		}

		common_faction_modifiers = {
			FACTION_TARGET = scope:faction.faction_target
			OPINION_MULTIPLIER = -1
			MAX_OPINION = 100
			POWER = scope:faction.faction_power
			THRESHOLD = scope:faction.faction_power_threshold
		}

		ceremonial_claimant_faction_modifiers = {
			FACTION_TARGET = scope:target.top_liege.primary_title.var:administrative_ui_special_title.holder
			FACTION_CLAIMANT = scope:claimant
			FACTION_TITLE = scope:title
		}

		admin_faction_modifiers = {
			FACTION_TARGET = scope:faction.faction_target
			FACTION_TYPE = claimant_faction
		}		

		admin_claimant_faction_modifiers = {
			FACTION_TARGET = scope:faction.faction_target
			FACTION_CLAIMANT = scope:faction.special_character
		}

		# Faction 'Stacking' Factors, attempts to cluster AI rulers into several powerful factions instead of many weak ones.
		join_faction_stacking_modifiers = yes
		
		modifier = { # CE1 Divine Mandate perk
			desc = "FACTION_REASON_LEGITIMACY_LEGACY_4"
			liege.dynasty = { has_dynasty_perk = ce1_legitimacy_legacy_4 }
			add = -10
		}
		
		struggle_faction_modifiers = yes
		
		#EP3 admin legitimacy event
		modifier = {
			desc = "FACTION_REASON_LOW_LEGITIMACY_CHALLENGER"
			add = 25
			scope:faction = {
				any_faction_member = {
					has_character_flag = low_legitimacy_admin_factions_flag
				}
			}
		}

		#EP3 King of England disgruntled vassals/life threatened modifiers
		modifier = {
			desc = "FACTION_REASON_CLAIMANT_DISGRUNTLED_VASSALS"
			add = 25
			liege = {
				has_character_modifier = ep3_disgruntled_vassals_modifier
			}
		}
		modifier = {
			desc = "FACTION_REASON_CLAIMANT_DISGRUNTLED_VASSALS"
			add = 25
			liege = {
				has_character_modifier = ep3_life_threatened_modifier
			}
		}
	}

	is_county_valid = {
		scope:faction.faction_target = holder
	}

	can_county_join = {
		# Counties can only join if the De Jure belong to the title being claimed.
		exists = scope:faction.special_title
		target_is_de_jure_liege_or_above = scope:faction.special_title
	}

	county_join_score =  {
		base = -80 # Needs to be less than the weight set in 00_populist_faction.txt, or counties will never join a claimant faction over a populist faction.

		# Up to +3 join score per negative opinion (+80 at -27 opinion) if different culture. 
		compare_modifier = {
			desc = "FACTION_REASON_CLAIMANT_COUNTY_SHARED_CULTURE"
			trigger = {
				scope:faction.faction_target.culture != this.title_province.culture
				scope:faction.special_character.culture = this.title_province.culture 
			}
			value = county_opinion
			multiplier = -2.0
		}
		compare_modifier = {
			desc = "FACTION_REASON_CLAIMANT_COUNTY_SHARED_HERITAGE"
			trigger = {
				NOT = { this.title_province.culture = { has_same_culture_heritage = scope:faction.faction_target.culture } }
				this.title_province.culture = { has_same_culture_heritage = scope:faction.special_character.culture }
			}
			value = county_opinion
			multiplier = -2.0
		}

		# If we have better relations with the claimant's faith than our current liege's, gain up to +5 join score per negative opinion (at Righteous) down to +1 join score per negative opinion (at Hostile).
		compare_modifier = {
			desc = "FACTION_REASON_LIKE_CLAIMANT_FAITH"
			trigger = {
				faith = {
					faith_hostility_level_comparison = {
						scope:faction.faction_target.faith > scope:faction.special_character.faith
					}
				}
			}
			value = county_opinion
			multiplier = {
				value = 0.0
				if = {
					limit = {
						faith = {
							faith_hostility_level = {
								target = scope:faction.special_character.faith
								value = faith_hostile_level
							}
						}
					}
					value = -1.0 # Hostile
				}
				else_if = {
					limit = {
						faith = {
							faith_hostility_level = {
								target = scope:faction.special_character.faith
								value = faith_astray_level
							}
						}
					}
					value = -3.0 # Astray
				}
				else = {
					value = -5.0 # Righteous
				}
			}
		}

		legalism_virtue_and_sin_modifier = {
			TARGET = scope:faction.faction_target
			SCORE_PER_TRAIT = 50 # Worth ~12 opinion per virtue.
		}

		# Greatly reduced chance for a character's capital county to form a faction against them (extra -25 opinion needed).
		modifier = {
			desc = "FACTION_REASON_CAPITAL_COUNTY"
			add = -200
			this.title_province = scope:faction.faction_target.capital_province
		}
		
		# More likely to support adult claimants when a child is on the throne.
		modifier = {
			desc = "FACTION_REASON_ADULT_CLAIMANT_CHILD_RULER"
			add = 10
			exists = scope:faction.faction_target
			exists = scope:faction.special_character
			scope:faction.faction_target = { is_adult = no }
			scope:faction.special_character = { is_adult = yes }
		}

		# Peasants perfer magnanimous rulers over harsh or cruel ones.
		compare_modifier = {
			desc = "FACTION_REASON_CLAIMANT_KINDNESS"
			factor = {
				# Gets a value between 0 (max greedy/dishonorable/vengeful/cruel) and 800 (max honorable/compassionate/generous/forgiving).
				value = 400
				add = scope:faction.special_character.ai_honor
				add = scope:faction.special_character.ai_compassion
				subtract = scope:faction.special_character.ai_greed
				subtract = scope:faction.special_character.ai_vengefulness

				# Converts the personality score into a percentage between 0% (will never support) and 100% (really wants to support)
				divide = 800 
			}

			# How big the factor is for supporting this claimant over other factions at max support. 
			multiplier = 2
		}
	}

	on_creation = {
		save_scope_as = faction
		tgp_bloc_members_join_faction_effect = yes
		if = {
			limit = {
				any_player = {
					has_government = landless_adventurer_government
					is_within_diplo_range = { CHARACTER = scope:faction.faction_target }
					OR = {
						has_contact = scope:faction.faction_leader
						has_contact = scope:faction.special_character
						NOT = { has_contact = scope:faction.faction_target }
					}
					any_character_task_contract = {
						task_contract_type = laamp_join_faction_contract
						count <= 3
					}
					can_create_task_contract = {
						type_name = laamp_join_faction_contract
						employer = scope:faction.faction_leader
					}
					save_temporary_scope_as = player_laamp
				}
			}
			scope:player_laamp = {
				create_task_contract = {
					task_contract_type = laamp_join_faction_contract
					task_contract_tier = scope:faction.faction_leader.task_contract_tier_value
					location = scope:faction.faction_leader.primary_title.title_province
					task_contract_employer = scope:faction.faction_leader
					target = scope:faction.faction_target
				}
			}
		}
	}

	county_allow_join = yes
	county_allow_create = no
	county_power = county_levies_to_raise

	character_allow_create = yes

	character_allow_join = yes

	multiple_targeting = yes

	special_character_title = "FACTIONS_WINDOW_CLAIMANT"

	ignore_soft_block = yes
}

imperial_policy_faction = {
	casus_belli = imperial_policy_faction_war

	desc = imperial_policy_faction_desc

	short_effect_desc = imperial_policy_faction_short_effect_desc

	sort_order = 4

	is_shown = {
		realm_law_use_imperial_policy_trigger = yes
		NAND = {
			tgp_is_ceremonial_liege_trigger = yes
			tgp_is_ceremonial_regent_trigger = no
		}
	}

	discontent_progress = {
		base = 0

		common_discontent_progress_modifier = yes
	}

	power_threshold = {
		base = 80

		modifier = {
			add = 20
			faction_target = {
				has_perk = hard_rule_perk
			}
			desc = "FACTION_POWER_HARD_RULE"
		}

		#Lower the threshold depending on the state of other factions
		dynamic_power_threshold_scripted_modifier = {
			FACTION_TYPE1 = claimant_faction
			FACTION_TYPE2 = independence_faction
			FACTION_TYPE3 = liberty_faction
		}
	}

	demand = {
		save_scope_as = faction

		faction_leader = {
			save_scope_as = faction_leader
		}

		faction_target = {
			save_scope_as = faction_target
		}

		# Let the human players in the faction know that the demand will be sent
		every_faction_member = {
			limit = {
				is_ai = no
				this != scope:faction.faction_leader
			}
			trigger_event = faction_demand.0225
		}

		# Send the actual demand in 5 days
		faction_target = {
			trigger_event = {
				id = faction_demand.0221
				days = 5
			}
		}
	}

	ai_demand_chance = {
		base = 0

		# 30% base chance at minimum power (80%), increasing linearly
		compare_modifier = {
			value = faction_power
			multiplier = 0.375
		}

		# Once the faction has a good chance to win (10% stronger than liege) demand chance increases much more rapidly.
		compare_modifier = {
			trigger = {	faction_power > 110 }
			value = faction_power
			multiplier = 0.75
		}

		# Less likely if already in a war with an external ruler - the Liberty Faction is pretty sporting
		modifier = {
			add = -75
			faction_target = {
				any_war_enemy = {
					NOT = {
						target_is_liege_or_above = root.faction_target
					}
				}
			}
		}

		modifier = {
			add = -1000
			faction_target = {
				involved_activity ?= {
					has_activity_type = activity_coronation
					activity_host = prev
				}
			}
		}
	}

	on_war_start = {
		every_faction_member = {
			limit = {
				has_variable = gathered_support_for_faction
				var:gathered_support_for_faction = root
			}
			spawn_army = {
				name = gathered_support_for_faction_army
				levies = {
					value = this.massive_influence_value
					multiply = 3
				}
				men_at_arms = {
					type = light_footmen
					stacks = 2
				}
				location = this.location
				war = root.faction_war
				inheritable = yes
			}
		}
	}

	is_valid = {
		faction_target ?= {
			is_independent_ruler = yes
			realm_law_use_imperial_policy_trigger = yes
		}
	}

	is_character_valid = {
		common_character_validity_trigger = {
			FACTION_TARGET = scope:faction.faction_target
		}
		has_valid_faction_members_trigger = yes
	}

	can_character_create_ui = {
		base_faction_trigger = { FACTION_TYPE = imperial_policy_faction }
		common_can_character_create_trigger = {
			FACTION_TARGET = scope:target
		}
		imperial_policy_faction_can_create_trigger = yes
	}

	can_character_create = {
		common_can_character_create_trigger = {
			FACTION_TARGET = scope:target
		}
		imperial_policy_faction_can_create_trigger = yes
	}

	can_character_join = {
		common_can_character_join_trigger = {
			FACTION_TARGET = scope:faction.faction_target
		}
		
		trigger_if = {
			limit = {
				scope:faction.faction_target = { government_has_flag = government_is_administrative }
			}
			scope:faction.faction_target = {
				top_liege = this
			}
		}
		realm_law_use_imperial_policy_trigger = yes
		japan_faction_cohesion_trigger = yes
	}

	can_character_become_leader = {
		can_become_leader_of_faction_trigger = yes
	}

	ai_create_score = {
		base = 0 # Join Weight is set primarily based on what Crown Laws a realm has.

		############
		# BLOCKERS #
		############
		common_create_faction_blockers = {
			FACTION_TARGET = scope:target
			FLAG = recent_imperial_policy_faction_war
		}

		#######################
		# Standard AI Weights #
		#
		# Modifiers for Liberty Factions are inherently small.
		# This is because Liberty is the 'Default Faction' that vassals are join if they don't want/can't join any other faction.
		# 'Base Join Weight' depends on the current Crown Authority level.
		common_faction_modifiers = {
			FACTION_TARGET = scope:target
			OPINION_MULTIPLIER = -1
			MAX_OPINION = 0
			POWER = 0
			THRESHOLD = 80
		}

		imperial_policy_faction_modifiers = {
			FACTION_TARGET = scope:target
		}
		#House Hostility from Armenian tradition
	    modifier = {
			desc = "FACTION_REASON_HOUSE_HOSTILITY"

			scope:target.house ?= {
				this != root.house
			}
			culture = { has_cultural_parameter = house_hostility_more_common }

			factor = 1.25
	    }

	    # Extra check on leading house
	    modifier = {
	    	factor = 0
	    	NOT = { house.house_confederation.leading_house ?= house }
	    }
	}

	ai_join_score = {
		base = 0 # Join Weight is set primarily based on what Crown Laws a realm has.

		############
		# BLOCKERS #
		common_join_faction_blockers = {
			FACTION_TARGET = scope:faction.faction_target
		}
		
		#######################
		# Standard AI Weights #
		#AI
		# Modifiers for Liberty Factions are inherently small.
		# This is because Liberty is the 'Default Faction' that vassals are join if they don't want/can't join any other faction.
		common_faction_modifiers = {
			FACTION_TARGET = scope:faction.faction_target
			OPINION_MULTIPLIER = -1
			MAX_OPINION = 0
			POWER = scope:faction.faction_power
			THRESHOLD = scope:faction.faction_power_threshold
		}

		imperial_policy_faction_modifiers = {
			FACTION_TARGET = scope:faction.faction_target
		}

		struggle_faction_modifiers = yes

		#House Hostility from Armenian tradition
	    modifier = {
			desc = "FACTION_REASON_HOUSE_HOSTILITY"

			scope:faction.faction_target.house ?= {
				this != root.house
			}
			culture = { has_cultural_parameter = house_hostility_more_common }

			factor = 1.25
	    }
		#EP3 admin legitimacy event
		modifier = {
			desc = "FACTION_REASON_LOW_LEGITIMACY_CHALLENGER"
			add = 25
			scope:faction = {
				any_faction_member = {
					has_character_flag = low_legitimacy_admin_factions_flag
				}
			}
		}
	}

	on_creation = {
		save_scope_as = faction
		tgp_bloc_members_join_faction_effect = yes
		if = {
			limit = {
				any_player = {
					has_government = landless_adventurer_government
					is_within_diplo_range = { CHARACTER = scope:faction.faction_target }
					OR = {
						has_contact = scope:faction.faction_leader
						NOT = { has_contact = scope:faction.faction_target }
					}
					any_character_task_contract = {
						task_contract_type = laamp_join_faction_contract
						count <= 3
					}
					can_create_task_contract = {
						type_name = laamp_join_faction_contract
						employer = scope:faction.faction_leader
					}
					save_temporary_scope_as = player_laamp
				}
			}
			scope:player_laamp = {
				create_task_contract = {
					task_contract_type = laamp_join_faction_contract
					task_contract_tier = scope:faction.faction_leader.task_contract_tier_value
					location = scope:faction.faction_leader.primary_title.title_province
					task_contract_employer = scope:faction.faction_leader
					target = scope:faction.faction_target
				}
			}
		}
	}

	county_allow_join = no
	county_allow_create = no
}
