﻿namespace = tgp_movement_events

###################################################################################
## By Veronica Pazos
## tgp_movement_events.0001 - Marshal urges you to prepare for Expansion
## tgp_movement_events.0010 - Try to convince an undecided ruler to join your movement
## tgp_movement_events.0020 - Another Advancement member wants to focus on innovations
## tgp_movement_events.0030 - Movement member sends you a letter asking for support
## tgp_movement_events.0040 - Hegemon sends envoy thanking you for being Pro-Song
## tgp_movement_events.0050 - Elder takes interest in you
## tgp_movement_events.0060 - Antagonize another movement
## tgp_movement_events.0070 - Councillor of your highest skill helps you study
## tgp_movement_events.0080 - Family member asks you to focus on your family
## tgp_movement_events.0090 - Movement member wants to make amends
## tgp_movement_events.0100 - Ask a Movement Leader to abandon their Movement
## tgp_movement_events.0110 - Movement member sends you some books
## tgp_movement_events.0120 - Movement member teaches you Confucianism
## tgp_movement_events.0130 - Movement member teaches you the language of the capital
## tgp_movement_events.0140 - Disciple brings you a gift
## tgp_movement_events.0150 - Shinto visitor at court
## tgp_movement_events.0160 - Promise Movement leader to not scheme against each other
###################################################################################

# Marshal urges you to prepare for Expansion
tgp_movement_events.0001 = {
	type = character_event
	title = tgp_movement_events.0001.t
	desc = tgp_movement_events.0001.desc
	left_portrait = {
		character = root
		animation = interested
	}
	right_portrait = {
		character = scope:marshal
		animation = relaxed_spear
	}
	theme = dynastic_cycle
	override_background = { reference = courtyard }
	cooldown = { years = 10 }

	trigger = {
		is_available_adult = yes
		has_tgp_dlc_trigger = yes
		government_has_flag = government_is_celestial
		top_participant_group:dynastic_cycle ?= {
			participant_group_type = expansion_movement
		}
		NOT = {
			situation:dynastic_cycle ?= {
				situation_current_phase = situation_dynastic_cycle_phase_stability_expansion
			}
		}
	}

	immediate = {
		top_participant_group:dynastic_cycle ?= {
			save_scope_as = my_movement
		}
		if = {
			limit = {
				exists = cp:councillor_marshal
				cp:councillor_marshal = { 
					is_available_healthy_ai_adult = yes 
					is_ruler = no
				}
			}
			cp:councillor_marshal = { save_scope_as = marshal }
		}
		else_if = {
			limit = {
				any_knight = { 
					is_available_healthy_ai_adult = yes 
					is_ruler = no
				}
			}
			ordered_knight = {
				limit = { 
					is_available_healthy_ai_adult = yes 
					is_ruler = no
				}
				order_by = martial
				save_scope_as = marshal
			}
		}
		else = {
			hidden_effect_new_object = {
				create_character = {
					template = knight
					dynasty = none
					location = root.location
					culture = root.location.culture
					faith = root.location.faith
					gender_female_chance = root_soldier_female_chance
					save_scope_as = marshal
				}
			}
		}
		scope:marshal = {
			assign_quirk_effect = yes
			add_character_flag = need_military_outfit
			hidden_effect = {
				if = {
					limit = { NOT = { is_courtier_of = root } }
					root = { add_courtier = prev }
				}
			}
		}
	}

	option = { # Get a military trait
		name = tgp_movement_events.0001.aa
		trigger = {
			vassal_contract_has_flag = celestial_military_appointment
			number_of_commander_traits < 3
		}
		add_internal_flag = special
		reason = celestial_military_appointment
		custom_tooltip = {
			text = tgp_movement_events.0001.c.tt
			give_random_commander_trait_effect = yes
		}
		stress_impact = {
			diligent = medium_stress_impact_loss
			brave = medium_stress_impact_loss
			lazy = major_stress_impact_gain
		}
		ai_chance = {
			base = 100
			modifier = {
				OR = {
					has_trait = diligent
					has_trait = brave
				}
				factor = 2
			}
			modifier = {
				OR = {
					has_trait = ambitious
					has_trait = lazy
				}
				factor = 0
			}
		}
	}

	option = { # Get movement power
		name = tgp_movement_events.0001.a
		custom_tooltip = event_increase_movement_power_medium_effect_tooltip
		scope:my_movement = {
			event_change_movement_power_effect = {
				VALUE = event_increase_movement_power_medium_value
			}
		}
		stress_impact = {
			ambitious = medium_stress_impact_loss
		}
		ai_chance = {
			base = 100
			modifier = {
				has_trait = ambitious
				factor = 2
			}
		}
	}

	option = { # Get influence
		name = tgp_movement_events.0001.b
		change_influence = medium_influence_gain
		stress_impact = {
			deceitful = medium_stress_impact_loss
			honest = medium_stress_impact_gain
		}
		ai_chance = {
			base = 100
			modifier = {
				has_trait = deceitful
				factor = 2
			}
			modifier = {
				has_trait = honest
				factor = 0
			}
		}
	}

	option = { # Just some martial XP
		name = tgp_movement_events.0001.c
		trigger = {
			NOT = { vassal_contract_has_flag = celestial_military_appointment }
		}
		add_martial_lifestyle_xp = medium_lifestyle_xp
		stress_impact = {
			ambitious = medium_stress_impact_gain
		}
		ai_chance = {
			base = 100
			modifier = {
				has_lifestyle = martial_lifestyle
				factor = 3
			}
			modifier = {
				has_trait = ambitious
				factor = 0
			}
		}
	}
}

# Try to convince an undecided ruler to join your movement
scripted_trigger tpg_movement_events_0010_valid_ruler = {
	is_available_healthy_ai_adult = yes
	government_has_flag = government_is_celestial
	top_participant_group:dynastic_cycle ?= {
		participant_group_type = undecided_movement
	}
	opinion = {
		target = root
		value >= 0
	}
}

scripted_trigger tgp_movement_events_0010_valid_courtier = {
	is_available_healthy_ai_adult = yes
	is_councillor = no
	NOT = { is_close_family_or_spouse_trigger = { CHARACTER = scope:other_ruler } }
}

tgp_movement_events.0010 = {
	type = character_event
	title = tgp_movement_events.0010.t
	desc = tgp_movement_events.0010.desc
	left_portrait = {
		character = root
		animation = debating
	}
	right_portrait = {
		character = scope:courtier
		animation = interested
	}
	lower_right_portrait = scope:other_ruler
	theme = dynastic_cycle
	override_background = { reference = courtyard }
	cooldown = { years = 10 }

	trigger = {
		is_available_adult = yes
		has_tgp_dlc_trigger = yes
		government_has_flag = government_is_celestial
		top_participant_group:dynastic_cycle ?= {
			OR = {
				participant_group_type = expansion_movement
				participant_group_type = advancement_movement
				participant_group_type = pro_hegemon_movement
				participant_group_type = conservative_movement
			}
		}
		any_ruler = {
			tpg_movement_events_0010_valid_ruler = yes
		}
	}

	immediate = {
		assign_quirk_effect = yes
		top_participant_group:dynastic_cycle ?= {
			save_scope_as = my_movement
		}
		random_ruler = {
			limit = { tpg_movement_events_0010_valid_ruler = yes }
			weight = {
				base = 1
				modifier = {
					is_close_family_of = root
					add = 10
				}
				modifier = {
					is_extended_family_of = root
					add = 5
				}
				modifier = {
					OR = {
						has_relation_friend = root
						has_relation_lover = root
					}
					add = 5
				}
			}
			save_scope_as = other_ruler
			if = {
				limit = {
					any_courtier = { tgp_movement_events_0010_valid_courtier = yes }
				}
				ordered_courtier = {
					limit = {
						tgp_movement_events_0010_valid_courtier = yes
					}
					order_by = diplomacy
					set_location = root.location
					save_scope_as = courtier
				}
			}
			else = {
				hidden_effect_new_object = {
					create_character = {
						location = root.location
						template = diplomacy_court_position_holder_template
						gender_female_chance = root_soldier_female_chance
						faith = scope:other_ruler.capital_county.faith
						culture = scope:other_ruler.capital_county.culture
						save_scope_as = courtier
					}
				}
				hidden_effect = {
					add_courtier = scope:courtier
				}
			}
		}
	}

	option = { # They switch movements
		name = tgp_movement_events.0010.a
		change_influence = medium_influence_gain
		duel = {
			skill = diplomacy
			value = average_skill_rating
			50 = {
			 	compare_modifier = {
					value = scope:duel_value
					multiplier = 3.5
				}
				desc = tgp_movement_events.0010.a.success
			 	send_interface_toast = {
				 	title = tgp_movement_events.0010.a.success
				 	left_icon = scope:other_ruler
				 	tgp_dynastic_cycle_add_to_movement_effect = { CHAR = scope:other_ruler }
			 	}
		 	}
		 	50 = {
			 	compare_modifier = {
				 	value = scope:duel_value
				 	multiplier = -3.5
			 	}
				desc = tgp_movement_events.0010.a.failure
			 	send_interface_toast = {
				 	title = tgp_movement_events.0010.a.failure
				 	left_icon = scope:other_ruler
				 	scope:other_ruler = {
						add_opinion = {
							target = root
							modifier = annoyed_opinion
							opinion = -5
						}
					}
			 	}
		 	}
		}
		stress_impact = {
			arrogant = medium_stress_impact_loss
		}
		ai_chance = {
			base = 100
			modifier = {
				has_trait = arrogant
				factor = 2
			}
		}
	}

	option = { # You get Movement Power
		name = tgp_movement_events.0010.b
		custom_tooltip = event_increased_personal_movement_power_tt
		event_change_movement_power_effect = {
			VALUE = event_increase_movement_power_major_value
		}
		stress_impact = {
			ambitious = medium_stress_impact_loss
		}
		ai_chance = {
			base = 100
			modifier = {
				has_trait = ambitious
				factor = 2
			}
		}
	}

	option = { # Get Merit
		name = tgp_movement_events.0010.c
		change_merit = medium_merit_gain
		scope:other_ruler = {
			add_opinion = {
				target = root
				modifier = grateful_opinion
				opinion = 15
			}
		}
		stress_impact = {
			ambitious = medium_stress_impact_loss
		}
		ai_chance = {
			base = 100
			modifier = {
				has_trait = ambitious
				factor = 2
			}
		}
	}
}

# Another Advancement member wants to focus on innovations
scripted_trigger tpg_movement_events_0020_valid_ruler = {
	this != root
	is_available_healthy_ai_adult = yes
	government_has_flag = government_is_celestial
	top_participant_group:dynastic_cycle ?= {
		participant_group_type = advancement_movement
	}
	culture = root.culture
}

tgp_movement_events.0020 = {
	type = character_event
	title = tgp_movement_events.0020.t
	desc = tgp_movement_events.0020.desc
	left_portrait = {
		character = root
		triggered_animation = {
			trigger = {
				OR = {
					has_trait = arbitrary
					has_trait = arrogant
					has_trait = ambitious
				}
			}
			animation = dismissal
		}
		animation = interested
		camera = camera_event_crowd
	}
	right_portrait = {
		character = scope:courtier
		animation = gongshou
	}
	lower_right_portrait = scope:other_ruler
	theme = dynastic_cycle
	override_background = { reference = throne_room }
	cooldown = { years = 10 }

	trigger = {
		is_available_adult = yes
		has_tgp_dlc_trigger = yes
		government_has_flag = government_is_celestial
		top_participant_group:dynastic_cycle ?= {
			participant_group_type = advancement_movement
		}
		any_ruler = {
			tpg_movement_events_0020_valid_ruler = yes
		}
	}

	immediate = {
		culture = { save_scope_as = my_culture }
		top_participant_group:dynastic_cycle ?= {
			save_scope_as = my_movement
		}
		random_ruler = {
			limit = { tpg_movement_events_0020_valid_ruler = yes }
			save_scope_as = other_ruler
			if = {
				limit = {
					any_courtier = { tgp_movement_events_0010_valid_courtier = yes }
				}
				ordered_courtier = {
					limit = {
						tgp_movement_events_0010_valid_courtier = yes
					}
					order_by = diplomacy
					set_location = root.location
					save_scope_as = courtier
				}
			}
			else = {
				hidden_effect_new_object = {
					create_character = {
						location = root.location
						template = diplomacy_court_position_holder_template
						gender_female_chance = root_soldier_female_chance
						faith = scope:other_ruler.capital_county.faith
						culture = scope:other_ruler.capital_county.culture
						save_scope_as = courtier
					}
				}
				hidden_effect = {
					add_courtier = scope:courtier
				}
			}
		}
		scope:courtier = { assign_quirk_effect = yes }
	}

	option = { # Get extra bonuses
		name = tgp_movement_events.0020.aa
		trigger = {
			has_trait = architect
			NOT = { has_character_modifier = tgp_advancement_innovations_modifier }
		}
		add_character_modifier = tgp_advancement_innovations_modifier # Forever
		scope:my_culture = {
			add_fascination_progress = 5
		}
		if = {
			limit = {
				is_ai = no
				has_any_nickname = no
			}
			random = {
				chance = 25
				give_nickname = nick_the_wise
			}
		}
		stress_impact = {
			diligent = medium_stress_impact_loss
			brave = medium_stress_impact_loss
			ambitious = medium_stress_impact_gain
			lazy = major_stress_impact_gain
		}
		ai_chance = {
			base = 100
			modifier = {
				OR = {
					has_trait = diligent
					has_trait = brave
				}
				factor = 2
			}
			modifier = {
				OR = {
					has_trait = ambitious
					has_trait = lazy
				}
				factor = 0
			}
		}
	}

	option = { # Get Innovation Progress
		name = tgp_movement_events.0020.a
		trigger = {
			NOT = { has_trait = architect }
		}
		scope:my_culture = {
			add_fascination_progress = 5
		}
		custom_tooltip = event_decrease_movement_power_minor_effect_tooltip
		scope:my_movement = {
			event_change_movement_power_effect = {
				VALUE = event_decrease_movement_power_minor_value
			}
		}
		stress_impact = {
			ambitious = medium_stress_impact_gain
			arrogant = medium_stress_impact_gain
			diligent = medium_stress_impact_loss
			humble = medium_stress_impact_loss
		}
		ai_chance = {
			base = 50
			modifier = {
				OR = {
					has_trait = ambitious
					has_trait = arrogant
				}
				factor = 2
			}
			modifier = {
				OR = {
					has_trait = diligent
					has_trait = humble
				}
				factor = 0
			}
		}
	}

	option = { # Focus on movement
		name = tgp_movement_events.0020.b
		custom_tooltip = event_increase_movement_power_medium_effect_tooltip
		scope:my_movement = {
			event_change_movement_power_effect = {
				VALUE = event_increase_movement_power_medium_value
			}
		}
		stress_impact = {
			ambitious = medium_stress_impact_loss
			arrogant = medium_stress_impact_loss
			diligent = medium_stress_impact_gain
			humble = medium_stress_impact_gain
		}
		ai_chance = {
			base = 100
			modifier = {
				OR = {
					has_trait = ambitious
					has_trait = arrogant
				}
				factor = 0
			}
			modifier = {
				OR = {
					has_trait = diligent
					has_trait = humble
				}
				factor = 2
			}
		}
	}

	option = { # Get Merit
		name = tgp_movement_events.0020.c
		change_merit = medium_merit_gain
		stress_impact = {
			diligent = medium_stress_impact_loss
		}
		ai_chance = {
			base = 100
			modifier = {
				has_lifestyle = learning_lifestyle
				factor = 2
			}
			modifier = {
				has_trait = diligent
				factor = 2
			}
		}
	}
}

# Movement member sends you a letter asking for support
scripted_trigger tpg_movement_events_0030_valid_ruler = {
	this != root
	is_available_healthy_ai_adult = yes
	government_has_flag = government_is_celestial
	top_participant_group:dynastic_cycle ?= root.top_participant_group:dynastic_cycle
	opinion = {
		target = root
		value >= 0
	}
}

tgp_movement_events.0030 = {
	type = letter_event
	opening = tgp_movement_events.0030.opening
	desc = tgp_movement_events.0030.desc
	sender = scope:other_ruler

	cooldown = { years = 5 }

	trigger = {
		is_available_adult = yes
		has_tgp_dlc_trigger = yes
		government_has_flag = government_is_celestial
		exists = top_participant_group:dynastic_cycle
		any_ruler = { tpg_movement_events_0030_valid_ruler = yes }
	}

	immediate = {
		top_participant_group:dynastic_cycle ?= {
			save_scope_as = my_movement
		}
		random_ruler = {
			limit = { tpg_movement_events_0030_valid_ruler = yes }
			weight = {
				base = 1
				modifier = {
					has_relation_potential_friend = root
					add = 25
				}
				modifier = {
					is_close_family_of = root
					add = 10
				}
				modifier = {
					is_extended_family_of = root
					add = 5
				}
				modifier = {
					OR = {
						has_relation_friend = root
						has_relation_lover = root
						has_relation_disciple = root
					}
					add = 5
				}
			}
			save_scope_as = other_ruler
		}
	}

	option = { # Sure
		name = tgp_movement_events.0030.a
		change_merit = medium_merit_gain
		scope:other_ruler = { change_merit = medium_merit_gain }
		progress_towards_friend_effect = {
			REASON = friend_same_movement_reason
			CHARACTER = scope:other_ruler
			OPINION = default_friend_opinion
		}
		ai_chance = {
			base = 100
			modifier = {
				OR = {
					has_trait = gregarious
					has_trait = generous
				}
				factor = 2
			}
		}
	}

	option = { # Nah
		name = tgp_movement_events.0030.b
		change_influence = major_influence_gain
		ai_chance = {
			base = 100
			modifier = {
				OR = {
					has_trait = deceitful
					has_trait = callous
					has_trait = arrogant
				}
				factor = 2
			}
		}
	}
}

# Hegemon sends envoy thanking you for being Pro-Song
scripted_trigger tgp_movement_events_0040_valid_courtier = {
	is_available_healthy_ai_adult = yes
	is_councillor = no
	NOT = { is_close_family_or_spouse_trigger = { CHARACTER = scope:hegemon } }
	can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = scope:hegemon }
}

tgp_movement_events.0040 = {
	type = character_event
	title = tgp_movement_events.0040.t
	desc = tgp_movement_events.0040.desc
	left_portrait = {
		character = root
		triggered_animation = {
			trigger = {
				OR = {
					has_trait = arbitrary
					has_trait = arrogant
					has_trait = ambitious
				}
			}
			animation = dismissal
		}
		animation = interested
		camera = camera_event_left_crowning_observation
	}
	right_portrait = {
		character = scope:courtier
		animation = gongshou_with_hu
	}
	lower_right_portrait = scope:hegemon
	theme = dynastic_cycle
	override_background = { reference = throne_room }
	cooldown = { years = 10 }

	trigger = {
		is_available_adult = yes
		has_tgp_dlc_trigger = yes
		government_has_flag = government_is_celestial
		top_participant_group:dynastic_cycle ?= {
			participant_group_type = pro_hegemon_movement
		}
		exists = title:h_china.holder # There's an Hegemon
	}

	immediate = {
		top_participant_group:dynastic_cycle ?= {
			save_scope_as = my_movement
		}
		title:h_china.holder = {
			save_scope_as = hegemon
			if = {
				limit = {
					any_courtier = { tgp_movement_events_0040_valid_courtier = yes }
				}
				ordered_courtier = {
					limit = {
						tgp_movement_events_0040_valid_courtier = yes
					}
					order_by = diplomacy
					set_location = root.location
					save_scope_as = courtier
				}
			}
			else = {
				hidden_effect_new_object = {
					create_character = {
						location = root.location
						template = diplomacy_court_position_holder_template
						gender_female_chance = root_soldier_female_chance
						faith = scope:hegemon.capital_county.faith
						culture = scope:hegemon.capital_county.culture
						save_scope_as = courtier
					}
				}
				hidden_effect = {
					add_courtier = scope:courtier
				}
			}
		}
	}

	option = { # Yippieeee
		name = tgp_movement_events.0040.a
		custom_tooltip = event_increase_movement_power_major_effect_tooltip
		change_influence = minor_influence_gain
		scope:my_movement = {
			event_change_movement_power_effect = {
				VALUE = event_increase_movement_power_major_value
			}
		}
		stress_impact = {
			ambitious = medium_stress_impact_gain
			arrogant = medium_stress_impact_gain
			diligent = medium_stress_impact_loss
			humble = medium_stress_impact_loss
		}
		ai_chance = {
			base = 100
			modifier = {
				OR = {
					has_trait = ambitious
					has_trait = arrogant
				}
				factor = 2
			}
			modifier = {
				OR = {
					has_trait = diligent
					has_trait = humble
				}
				factor = 0
			}
		}
	}

	option = { # I will always be loyal!
		name = tgp_movement_events.0040.b
		custom_tooltip = {
			text = dynastic_cycle_cannot_leave_movement_tt
			set_variable = {
				name = dynastic_cycle_cannot_leave_movement_var
				years = 15
			}
		}
		add_character_modifier = {
			modifier = tgp_loyal_subject_modifier
			years = 15
		}
		stress_impact = {
			ambitious = medium_stress_impact_loss
			arrogant = medium_stress_impact_loss
			diligent = medium_stress_impact_gain
			humble = medium_stress_impact_gain
		}
		ai_chance = {
			base = 100
			modifier = {
				OR = {
					has_trait = ambitious
					has_trait = arrogant
				}
				factor = 0
			}
			modifier = {
				OR = {
					has_trait = diligent
					has_trait = humble
				}
				factor = 2
			}
		}
	}

	option = { # Please please please tell everyone
		name = tgp_movement_events.0040.c
		add_prestige = medium_prestige_gain
		every_vassal = {
			limit = { has_vassal_stance = courtly }
			custom = every_courtly_vassal
			add_opinion = {
				target = root
				modifier = admiration_opinion
				opinion = 15
			}
		}
		stress_impact = {
			diligent = medium_stress_impact_loss
		}
		ai_chance = {
			base = 100
			modifier = {
				has_lifestyle = learning_lifestyle
				factor = 2
			}
			modifier = {
				has_trait = diligent
				factor = 2
			}
		}
	}
}

# Elder takes interest in you
scripted_trigger tgp_movement_events_0050_valid_elder = {
	is_available_healthy_ai_adult = yes
	government_allows = merit
	merit_level >= root.merit_level
	OR = {
		merit_level >= merit_level_expected_empire_value
		has_trait = confucian_education
	}
	top_liege = root.top_liege # Someone that makes sense
	NOR = {
		this = root.liege
		this = root.top_liege
	}
}

tgp_movement_events.0050 = {
	type = character_event
	title = tgp_movement_events.0050.t
	desc = {
		desc = tgp_movement_events.0050.desc.intro
		first_valid = {
			triggered_desc = {
				trigger = { highest_skill = diplomacy }
				desc = tgp_movement_events.0050.desc.diplomacy
			}
			triggered_desc = {
				trigger = { highest_skill = stewardship }
				desc = tgp_movement_events.0050.desc.stewardship
			}
			triggered_desc = {
				trigger = { highest_skill = intrigue }
				desc = tgp_movement_events.0050.desc.intrigue
			}
			triggered_desc = {
				trigger = { highest_skill = learning }
				desc = tgp_movement_events.0050.desc.learning
			}
			triggered_desc = {
				trigger = { highest_skill = martial }
				desc = tgp_movement_events.0050.desc.martial
			}
		}
		desc = tgp_movement_events.0050.desc.outro
	}
	left_portrait = {
		character = root
		triggered_animation = {
			trigger = {
				OR = {
					has_trait = content
					has_trait = craven
					stress_level >= 1
				}
			}
			animation = worry
		}
		animation = interested
	}
	right_portrait = {
		character = scope:new_elder
		animation = debating
	}
	lower_left_portrait = {
		trigger = { exists = scope:old_elder }
		character = scope:old_elder
	}
	theme = merit
	override_background = { reference = study }
	cooldown = { years = 10 }

	trigger = {
		is_available_adult = yes
		has_tgp_dlc_trigger = yes
		government_allows = merit # Not Celestial specific
		OR = { # You're good or a player
			AND = {
				is_ai = no
				has_any_decent_skill_rating = yes
			}
			has_any_high_skill_rating = yes
		}
		NOT = { any_relation = { type = disciple } } # You're not an elder yourself
		OR = { # You don't have an elder or they're pretty bad
			NOT = {	any_relation = { type = elder } }
			any_relation = {
				type = elder
				OR = {
					merit_level <= root.merit_level
					merit_level <= merit_level_expected_empire_value
				}
			}
		}
		any_ruler = {
			tgp_movement_events_0050_valid_elder = yes
		}
	}

	immediate = {
		top_participant_group:dynastic_cycle ?= {
			save_scope_as = my_movement
		}
		if = {
			limit = {
				any_relation = { type = elder }
			}
			random_relation = {
				type = elder
				save_scope_as = old_elder
			}
		}
		random_ruler = {
			limit = { tgp_movement_events_0050_valid_elder = yes }
			weight = {
				base = 1
				modifier = {
					has_same_highest_skill = { CHARACTER = root }
					add = 100
				}
			}
			save_scope_as = new_elder
		}
	}

	option = { # Get a new Elder
		name = tgp_movement_events.0050.a
		if = {
			limit = { exists = scope:old_elder }
			remove_relation_disciple = scope:old_elder
			scope:old_elder = {
				add_opinion = {
					target = root
					modifier = disappointed_opinion
					opinion = -10
				}
			}
		}
		scope:new_elder = { set_relation_disciple = root }
		change_merit = medium_merit_gain
		stress_impact = {
			ambitious = medium_stress_impact_gain
			arrogant = medium_stress_impact_gain
			diligent = medium_stress_impact_loss
			humble = medium_stress_impact_loss
		}
		ai_chance = {
			base = 100
			modifier = {
				OR = {
					has_trait = ambitious
					has_trait = arrogant
				}
				factor = 2
			}
			modifier = {
				OR = {
					has_trait = diligent
					has_trait = humble
				}
				factor = 0
			}
		}
	}

	option = { # I will ALWAYS be loyal to old_elder
		name = tgp_movement_events.0050.b
		trigger = { exists = scope:old_elder }
		add_prestige = minor_prestige_gain
		scope:old_elder = {
			add_opinion = {
				target = root
				modifier = grateful_opinion
				opinion = 20
			}
		}
		if = {
			limit = { NOT = { has_trait = loyal } }
			add_trait = loyal
		}
		stress_impact = {
			ambitious = medium_stress_impact_loss
			arrogant = medium_stress_impact_loss
			diligent = medium_stress_impact_gain
			humble = medium_stress_impact_gain
		}
		ai_chance = {
			base = 100
			modifier = {
				OR = {
					has_trait = ambitious
					has_trait = arrogant
				}
				factor = 0
			}
			modifier = {
				OR = {
					has_trait = diligent
					has_trait = humble
				}
				factor = 2
			}
		}
	}

	option = { # I need to focus on STUDYING
		name = tgp_movement_events.0050.c
		gain_appropriate_lifestyle_major_xp_effect = yes
		stress_impact = {
			diligent = medium_stress_impact_loss
		}
		ai_chance = {
			base = 100
			modifier = {
				has_lifestyle = learning_lifestyle
				factor = 2
			}
			modifier = {
				has_trait = diligent
				factor = 2
			}
		}
	}
}

# Antagonize another movement
scripted_trigger tgp_movement_events_0060_valid_rival = {
	is_available_healthy_ai_adult = yes
	government_has_flag = government_is_celestial
	top_participant_group:dynastic_cycle ?= {
		NOT = {
			participant_group_type = undecided_movement
		}
		trigger_if = {
			limit = {
				exists = root.top_participant_group:dynastic_cycle
			}
			this != root.top_participant_group:dynastic_cycle
		}
	}
	opinion = {
		target = root
		value <= -10
	}
}

tgp_movement_events.0060 = {
	type = character_event
	title = tgp_movement_events.0060.t
	desc = tgp_movement_events.0060.desc
	left_portrait = {
		character = root
		triggered_animation = {
			trigger = {
				OR = {
					has_trait = compassionate
					has_trait = calm
				}
			}
			animation = stress
		}
		animation = scheme
	}
	lower_right_portrait = {
		character = scope:rival
	}
	theme = dynastic_cycle
	override_background = { reference = study }
	cooldown = { years = 10 }

	trigger = {
		is_available_adult = yes
		has_tgp_dlc_trigger = yes
		government_has_flag = government_is_celestial
		top_participant_group:dynastic_cycle ?= {
			NOT = { participant_group_type = undecided_movement }
		}
		any_ruler = {
			tgp_movement_events_0060_valid_rival = yes
		}
	}

	immediate = {
		assign_quirk_effect = yes
		top_participant_group:dynastic_cycle ?= {
			save_scope_as = my_movement
		}
		random_ruler = {
			limit = { tgp_movement_events_0060_valid_rival = yes }
			weight = {
				base = 1
				modifier = {
					OR = {
						has_relation_potential_rival = root
						has_relation_rival = root
					}
					add = 25
				}
				modifier = {
					is_any_movement_leader = yes
					add = 15
				}
			}
			top_participant_group:dynastic_cycle ?= {
				save_scope_as = rival_movement
			}
			save_scope_as = rival
		}
	}

	option = { # You convince everyone
		name = tpg_movement_events.0060.aa
		trigger = {
			has_focus_or_focus_trait_trigger = { FOCUS = intrigue_skulduggery_focus }
		}
		reason = lifestyle_focus
		add_internal_flag = special
		custom_tooltip = tgp_movement_events.0060.a.rival_tt
		scope:rival_movement = {
			event_change_movement_power_effect = {
				VALUE = event_decrease_movement_power_medium_value
			}
		}
		custom_tooltip = event_increase_movement_power_major_effect_tooltip
		scope:my_movement = {
			event_change_movement_power_effect = {
				VALUE = event_increase_movement_power_major_value
			}
		}
		add_intrigue_lifestyle_xp = medium_lifestyle_xp
		stress_impact = {
			deceitful = major_stress_impact_loss
			honest = major_stress_impact_gain
			forgiving = major_stress_impact_gain
		}
		ai_chance = {
			base = 100
			modifier = {
				has_trait = deceitful
				factor = 2
			}
			modifier = {
				OR = {
					has_trait = honest
					has_trait = forgiving
				}
				factor = 0
			}
		}
	}

	option = { # Scheme against them
		name = tgp_movement_events.0060.a
		if = {
			limit = {
				NOT = {
					any_scheme = {
						is_hostile = yes
						scheme_target_character = scope:rival
					}
				}
			}
			start_scheme = {
				type = challenge_status
				target_character = scope:rival
			}
			custom_tooltip = {
				text = tgp_movement_events.0060.a.tt
				random_scheme = {
					limit = {
						scheme_type = challenge_status
						scheme_target_character = scope:rival
					}
					add_scheme_modifier = { type = extra_success_chance_modifier }
				}
			}
		}
		else = {
			random_scheme = {
				limit = {
					is_hostile = yes
					scheme_target_character = scope:guest
				}
				add_scheme_modifier = {
					type = massive_extra_success_chance_modifier
				}
			}
		}
		custom_tooltip = tgp_movement_events.0060.a.rival_tt
		scope:rival_movement = {
			event_change_movement_power_effect = {
				VALUE = event_decrease_movement_power_medium_value
			}
		}
		stress_impact = {
			deceitful = medium_stress_impact_loss
			vengeful = medium_stress_impact_loss
			honest = medium_stress_impact_gain
			compassionate = medium_stress_impact_gain
			forgiving = major_stress_impact_gain
		}
		ai_chance = {
			base = 100
			modifier = {
				OR = {
					has_trait = deceitful
					has_trait = vengeful
				}
				factor = 2
			}
			modifier = {
				OR = {
					has_trait = honest
					has_trait = compassionate
					has_trait = forgiving
				}
				factor = 0
			}
		}
	}

	option = { # Focus on getting Movement Power
		name = tgp_movement_events.0060.b
		custom_tooltip = event_increase_movement_power_medium_effect_tooltip
		scope:my_movement = {
			event_change_movement_power_effect = {
				VALUE = event_increase_movement_power_medium_value
			}
		}
		stress_impact = {
			ambitious = medium_stress_impact_loss
			deceitful = medium_stress_impact_gain
		}
		ai_chance = {
			base = 100
			modifier = {
				has_trait = ambitious
				factor = 2
			}
			modifier = {
				has_trait = deceitful
				factor = 0
			}
		}
	}

	option = { # Forgive and forget
		name = tgp_movement_events.0060.c
		if = {
			limit = {
				faith = {
					OR = {
						trait_is_virtue = calm
						trait_is_virtue = compassionate
					}
				}
			}
			add_piety = medium_piety_gain
			if = {
				limit = { exists = cp:councillor_court_chaplain }
				cp:councillor_court_chaplain = {
					add_opinion = {
						target = root
						modifier = pious_opinion
						opinion = 15
					}
				}
			}
		}
		else = {
			add_prestige = minor_prestige_gain
		}
		stress_impact = {
			forgiving = major_stress_impact_loss
			callous = major_stress_impact_gain
			vengeful = major_stress_impact_gain
			deceitful = major_stress_impact_gain
		}
		ai_chance = {
			base = 100
			modifier = {
				has_trait = forgiving
				factor = 2
			}
			modifier = {
				OR = {
					has_trait = callous
					has_trait = vengeful
					has_trait = deceitful
				}
				factor = 2
			}
		}
	}
}

# Councillor of your highest skill helps you study
scripted_trigger tgp_movement_events_0070_valid_councillor = {
	is_available_healthy_ai_adult = yes
	government_has_flag = government_is_celestial
	has_same_highest_skill = { CHARACTER = root }
	opinion = {
		target = root
		value >= 10
	}
}

tgp_movement_events.0070 = {
	type = character_event
	title = tgp_movement_events.0070.t
	desc = tgp_movement_events.0070.desc
	left_portrait = {
		character = root
		triggered_animation = {
			trigger = {
				OR = {
					has_trait = lazy
					has_trait = intellect_bad
				}
			}
			animation = stress
		}
		animation = interested
	}
	right_portrait = {
		character = scope:councillor
		animation = happy_teacher
	}
	theme = merit
	override_background = { reference = study }
	cooldown = { years = 10 }

	trigger = {
		is_available_adult = yes
		has_tgp_dlc_trigger = yes
		government_has_flag = government_is_celestial
		any_councillor = { tgp_movement_events_0070_valid_councillor = yes }
	}

	immediate = {
		top_participant_group:dynastic_cycle ?= {
			save_scope_as = my_movement
		}
		random_councillor = {
			limit = { tgp_movement_events_0070_valid_councillor = yes }
			weight = {
				base = 1
				modifier = {
					has_relation_potential_friend = root
					add = 5
				}
			}
			assign_quirk_effect = yes
			save_scope_as = councillor
		}
	}

	option = { # Become friends
		name = tgp_movement_events.0070.a
		progress_towards_friend_effect = {
			REASON = friend_studied_together
			CHARACTER = scope:councillor
			OPINION = default_friend_opinion
		}
		stress_impact = {
			base = medium_stress_impact_loss
			gregarious = medium_stress_impact_loss
			lazy = medium_stress_impact_loss
			diligent = major_stress_impact_gain
		}
		ai_chance = {
			base = 100
			modifier = {
				OR = {
					has_trait = gregarious
					has_trait = lazy
				}
				factor = 2
			}
			modifier = {
				has_trait = diligent
				factor = 0
			}
		}
	}

	option = { # Encourage _them_ to focus on their job
		name = {
			trigger = {
				scope:councillor = { is_spouse_of = root }
			}
			text = tgp_movement_events.0070.b.spouse
		}
		name = {
			trigger = {
				NOT = { scope:councillor = { is_spouse_of = root } }
			}
			text = tgp_movement_events.0070.b.councillor
		}
		if = {
			limit = { scope:councillor = { is_spouse_of = root } }
			scope:councillor = { add_highest_skill_two_points_effect = yes }
		}
		else = {
			scope:councillor = {
				councillor_increase_relevant_skill_two_points_effect = yes
			}
		}
		stress_impact = {
			callous = medium_stress_impact_loss
			lazy = medium_stress_impact_loss
			diligent = major_stress_impact_gain
		}
		ai_chance = {
			base = 100
			modifier = {
				OR = {
					has_trait = callous
					has_trait = lazy
				}
				factor = 2
			}
			modifier = {
				has_trait = diligent
				factor = 0
			}
		}
	}

	option = { # Study
		name = tgp_movement_events.0070.c
		add_highest_skill_point_effect = yes
		scope:councillor = { add_highest_skill_point_effect = yes }
		stress_impact = {
			base = medium_stress_impact_gain
			diligent = medium_stress_impact_loss
			lazy = major_stress_impact_gain
		}
		ai_chance = {
			base = 100
			modifier = {
				OR = {
					has_lifestyle = learning_lifestyle
					has_trait = diligent
				}
				factor = 2
			}
			modifier = {
				has_trait = lazy
				factor = 0
			}
		}
	}
}

# Family member asks you to focus on your family
scripted_trigger tgp_movement_events_0080_valid_family_member = {
	is_available_healthy_ai_adult = yes
	government_has_flag = government_is_celestial
	house = root.house # Just in case
	opinion = {
		target = root
		value >= 10
	}
	gold >= major_gold_value
	NOT = { has_trait = greedy }
	OR = { # Someone that'd want you to focus on Family
		top_participant_group:dynastic_cycle ?= {
			participant_group_type = conservative_movement
		}
		influence_level >= 2
		prestige_level >= 2
		has_trait = ambitious
		has_trait = arrogant
		has_trait = generous
		has_relation_friend = root
		has_relation_lover = root
	}
}

tgp_movement_events.0080 = {
	type = character_event
	title = tgp_movement_events.0080.t
	desc = tgp_movement_events.0080.desc
	left_portrait = {
		character = root
		triggered_animation = {
			trigger = {
				OR = {
					has_trait = humble
					has_trait = content
					has_trait = lazy
				}
			}
			animation = dismissal
		}
		animation = interested
	}
	right_portrait = {
		character = scope:family_member
		animation = fanning
	}
	theme = administrative
	override_background = { reference = relaxing_room }
	cooldown = { years = 10 }

	trigger = {
		is_available_adult = yes
		has_tgp_dlc_trigger = yes
		government_has_flag = government_is_celestial
		any_close_or_extended_family_member = {
			tgp_movement_events_0080_valid_family_member = yes
		}
	}

	weight_multiplier = {
		base = 1
		modifier = {
			top_participant_group:dynastic_cycle ?= {
				participant_group_type = conservative_movement
			}
			add = 1
		}
	}

	immediate = {
		save_scope_as = root_scope
		top_participant_group:dynastic_cycle ?= {
			save_scope_as = my_movement
		}
		random_close_or_extended_family_member = {
			limit = { tgp_movement_events_0080_valid_family_member = yes }
			weight = {
				base = 1
				modifier = {
					OR = {
						has_relation_potential_friend = root
						has_relation_friend = root
					}
					add = 5
				}
			}
			assign_quirk_effect = yes
			save_scope_as = family_member
		}
		domicile ?= {
			set_variable = {
				name = subsidised_estate_var
				value = 3
			}
		}
	}

	option = { # Get extra stuff if you are a Conservative
		name = tgp_movement_events.0080.aa
		trigger = {
			top_participant_group:dynastic_cycle ?= {
				participant_group_type = conservative_movement
			}
		}
		add_internal_flag = special
		reason = movement
		add_character_modifier = tgp_subsidised_estate_buildings_modifier
		scope:family_member = {
			remove_short_term_gold = medium_gold_value
		}
		add_prestige = medium_prestige_gain
		stress_impact = {
			generous = medium_stress_impact_gain
			humble = medium_stress_impact_gain
			content = medium_stress_impact_gain
		}
		ai_chance = {
			base = 100
			modifier = {
				has_trait = diligent
				factor = 2
			}
			modifier = {
				has_trait = arrogant
				factor = 0
			}
		}
	}

	option = { # Thank you mate
		name = tgp_movement_events.0080.a
		trigger = {
			NOT = {
				top_participant_group:dynastic_cycle ?= {
					participant_group_type = conservative_movement
				}
			}
		}
		add_character_modifier = tgp_subsidised_estate_buildings_modifier
		scope:family_member = {
			remove_short_term_gold = medium_gold_value
		}

		stress_impact = {
			generous = medium_stress_impact_gain
			humble = medium_stress_impact_gain
			content = medium_stress_impact_gain
		}
		ai_chance = {
			base = 100
			modifier = {
				OR = {
					has_trait = gregarious
					has_trait = lazy
				}
				factor = 2
			}
			modifier = {
				has_trait = diligent
				factor = 0
			}
		}
	}

	option = { # This is not the way, focus on our movement
		name = tpg_movement_events.0080.b
		change_influence = medium_influence_gain
		custom_tooltip = event_increase_movement_power_medium_effect_tooltip
		scope:my_movement = {
			event_change_movement_power_effect = {
				VALUE = event_increase_movement_power_medium_value
			}
		}
		scope:family_member = {
			remove_short_term_gold = medium_gold_value
			add_opinion = {
				target = root
				modifier = annoyed_opinion
				opinion = -10
			}
		}

		stress_impact = {
			generous = medium_stress_impact_gain
			humble = medium_stress_impact_gain
			content = medium_stress_impact_gain
		}
		ai_chance = {
			base = 100
			modifier = {
				OR = {
					has_trait = callous
					has_trait = lazy
				}
				factor = 2
			}
			modifier = {
				has_trait = diligent
				factor = 0
			}
		}
	}

	option = { # Keep the money, bestie
		name = tgp_movement_events.0080.c
		progress_towards_friend_effect = {
			REASON = friend_rejected_funds
			CHARACTER = scope:family_member
			OPINION = default_friend_opinion
		}
		if = {
			limit = {
				faith = {
					OR = {
						trait_is_virtue = generous
						trait_is_virtue = humble
					}
				}
			}
			add_piety = medium_piety_gain
			every_vassal = {
				limit = { has_vassal_stance = zealot }
				custom = every_zealot_vassal
				add_opinion = {
					target = root
					modifier = pious_opinion
					opinion = 5
				}
			}
		}
		stress_impact = {
			gregarious = medium_stress_impact_loss
			generous = medium_stress_impact_loss
			content = medium_stress_impact_loss
			humble = medium_stress_impact_loss
			arrogant = major_stress_impact_gain
			greedy = major_stress_impact_gain
			avaricious = major_stress_impact_gain
		}
		ai_chance = {
			base = 100
			modifier = {
				OR = {
					has_lifestyle = learning_lifestyle
					has_trait = diligent
				}
				factor = 2
			}
			modifier = {
				has_trait = lazy
				factor = 0
			}
		}
	}
}

# Movement member wants to make ammnds
scripted_trigger tpg_movement_events_0090_valid_ruler = {
	this != root
	is_available_healthy_ai_adult = yes
	government_has_flag = government_is_celestial
	top_participant_group:dynastic_cycle ?= root.top_participant_group:dynastic_cycle
	opinion = {
		target = root
		value <= -10
	}
	NOT = { has_trait = vengeful } # They would NEVER
}

tgp_movement_events.0090 = {
	type = character_event
	title = tgp_movement_events.0090.t
	desc = tgp_movement_events.0090.desc
	left_portrait = {
		character = root
		triggered_animation = {
			trigger = {
				OR = {
					has_trait = callous
					has_trait = vengeful
					has_trait = wrathful
				}
			}
			animation = dismissal
		}
		triggered_animation = {
			trigger = {
				OR = {
					has_trait = arrogant
					has_trait = brave
				}
			}
			animation = laugh
		}
		animation = japanese_war_fan
		camera = camera_event_left_pointing_right
	}
	right_portrait = {
		character = scope:courtier
		animation = gongshou
	}
	lower_right_portrait = scope:other_ruler
	theme = dynastic_cycle
	override_background = { reference = garden }
	cooldown = { years = 10 }

	trigger = {
		is_available_adult = yes
		has_tgp_dlc_trigger = yes
		government_has_flag = government_is_celestial
		top_participant_group:dynastic_cycle ?= {
			NOT = { participant_group_type = undecided_movement }
		}
		situation:dynastic_cycle ?= {
			NOT = { situation_current_phase = situation_dynastic_cycle_phase_chaos }
		}
		any_ruler = { tpg_movement_events_0090_valid_ruler = yes }
	}

	weight_multiplier = {
		base = 1
		modifier = {
			any_relation = { type = rival }
			add = 1
		}
	}

	immediate = {
		top_participant_group:dynastic_cycle ?= {
			save_scope_as = my_movement
		}
		random_ruler = {
			limit = { tpg_movement_events_0090_valid_ruler = yes }
			weight = {
				base = 1
				modifier = {
					has_relation_nemesis = root
					add = 100
				}
				modifier = {
					has_relation_rival = root
					add = 100
				}
				modifier = {
					any_memory = {
						has_memory_category = negative
						any_memory_participant = { this = root }
					}
					add = 50
				}
				modifier = {
					has_trait = forgiving
					add = 10
				}
				modifier = {
					opinion = {
						target = root
						value < -25
					}
					add = 5
				}
				modifier = {
					opinion = {
						target = root
						value < -50
					}
					add = 5
				}
			}
			assign_quirk_effect = yes
			save_scope_as = other_ruler
			if = {
				limit = {
					any_courtier = { tgp_movement_events_0010_valid_courtier = yes }
				}
				ordered_courtier = {
					limit = {
						tgp_movement_events_0010_valid_courtier = yes
					}
					order_by = diplomacy
					set_location = root.location
					save_scope_as = courtier
				}
			}
			else = {
				hidden_effect_new_object = {
					create_character = {
						location = root.location
						template = diplomacy_court_position_holder_template
						gender_female_chance = root_soldier_female_chance
						faith = scope:other_ruler.capital_county.faith
						culture = scope:other_ruler.capital_county.culture
						save_scope_as = courtier
					}
				}
				hidden_effect = {
					add_courtier = scope:courtier
				}
			}
		}
	}

	option = { # They should KNEEL
		name = tgp_movement_events.0090.aa
		trigger = {
			OR = {
				has_trait = callous
				has_trait = vengeful
				has_trait = wrathful
			}
		}
		add_dread = medium_dread_gain
		scope:other_ruler = {
			add_opinion = {
				target = root
				modifier = humiliated_opinion
				opinion = -15
			}
		}
		every_vassal = {
			limit = { has_vassal_stance = belligerent }
			custom = every_belligerent_vassal
			add_opinion = {
				target = root
				modifier = respect_opinion
				opinion = 10
			}
		}
		stress_impact = {
			ambitious = medium_stress_impact_loss
		}
		ai_chance = {
			base = 100
			modifier = {
				has_trait = ambitious
				factor = 2
			}
		}
	}

	option = { # Nah
		name = tgp_movement_events.0090.a
		change_influence = major_influence_gain
		stress_impact = {
			ambitious = medium_stress_impact_loss
		}
		ai_chance = {
			base = 100
			modifier = {
				has_trait = ambitious
				factor = 2
			}
		}
	}

	option = { # I do this ONLY for our party
		name = tgp_movement_events.0090.b
		custom_tooltip = event_increase_movement_power_medium_effect_tooltip
		scope:my_movement = {
			event_change_movement_power_effect = {
				VALUE = event_increase_movement_power_medium_value
			}
		}
		stress_impact = {
			deceitful = medium_stress_impact_loss
			honest = medium_stress_impact_gain
		}
		ai_chance = {
			base = 100
			modifier = {
				has_trait = deceitful
				factor = 2
			}
			modifier = {
				has_trait = honest
				factor = 0
			}
		}
	}

	option = { # Apology accepted
		name = tgp_movement_events.0090.c
		if = {
			limit = { has_relation_nemesis = scope:other_ruler }
			remove_relation_nemesis = scope:other_ruler
		}
		else_if = {
			limit = { has_relation_rival = scope:other_ruler }
			remove_relation_rival = scope:other_ruler
		}
		progress_towards_friend_effect = {
			REASON = friend_same_movement_reason
			CHARACTER = scope:other_ruler
			OPINION = default_friend_opinion
		}
		stress_impact = {
			ambitious = medium_stress_impact_gain
		}
		ai_chance = {
			base = 100
			modifier = {
				has_lifestyle = martial_lifestyle
				factor = 3
			}
			modifier = {
				has_trait = ambitious
				factor = 0
			}
		}
	}
}

# Ask a Movement Leader to abandon their Movement
scripted_trigger tgp_movement_events_0100_valid_rival = {
	this != root
	is_available_healthy_ai_adult = yes
	government_has_flag = government_is_celestial
	is_any_movement_leader = yes
	NOR = {
		top_participant_group:dynastic_cycle ?= root.top_participant_group:dynastic_cycle
		top_participant_group:dynastic_cycle ?= { participant_group_type = undecided_movement }
	}
}

scripted_trigger tgp_movement_events_0100_valid_spymaster = {
	is_available_healthy_ai_adult = yes
	intrigue >= decent_skill_rating
}

scripted_effect tgp_movement_events_0100_remove_from_movement_effect = {
	custom_tooltip = tgp_movement_events_0100_remove_from_movement_effect_tt
	set_variable = {
		name = movement_member
		value = flag:undecided
	}
	scope:rival_movement = {
		set_variable = {
			name = movement_power
			value = movement_power_value
		}
	}
}

tgp_movement_events.0100 = {
	type = character_event
	title = tgp_movement_events.0100.t
	desc = tgp_movement_events.0100.desc
	left_portrait = {
		character = root
		triggered_animation = {
			trigger = {
				OR = {
					has_trait = compassionate
					has_trait = forgiving
					has_trait = content
				}
			}
			animation = worry
		}
		animation = spymaster
		camera = camera_event_very_left
	}
	right_portrait = {
		character = scope:spymaster
		animation = scheme
		camera = camera_event_very_right
	}
	lower_right_portrait = scope:rival
	theme = dynastic_cycle
	override_background = { reference = corridor_night }
	cooldown = { years = 10 }

	trigger = {
		is_available_adult = yes
		has_tgp_dlc_trigger = yes
		government_has_flag = government_is_celestial
		top_participant_group:dynastic_cycle ?= {
			NOT = { participant_group_type = undecided_movement }
		}
		situation:dynastic_cycle = {
			any_situation_participant = { tgp_movement_events_0100_valid_rival = yes }
		}
		OR = { # You are important enough
			is_any_movement_leader = yes
			influence_level >= 4
			merit_level >= 4
		}
		OR = { # You have someone that can do the job
			exists = cp:councillor_spymaster
			any_courtier = { tgp_movement_events_0100_valid_spymaster = yes }
		}
	}

	weight_multiplier = {
		base = 1
		modifier = {
			any_relation = { type = rival }
			add = 1
		}
	}

	immediate = {
		top_participant_group:dynastic_cycle ?= {
			save_scope_as = my_movement
		}
		if = {
			limit = {
				exists = cp:councillor_spymaster
			}
			cp:councillor_spymaster = { save_scope_as = spymaster }
		}
		else = {
			ordered_courtier = {
				limit = { tgp_movement_events_0100_valid_spymaster = yes }
				order_by = intrigue
				save_scope_as = spymaster
			}
		}
		scope:spymaster = { assign_quirk_effect = yes }
		situation:dynastic_cycle = {
			random_situation_participant = {
				limit = { tgp_movement_events_0100_valid_rival = yes }
				weight = {
					base = 1
					modifier = {
						has_relation_nemesis = root
						add = 100
					}
					modifier = {
						has_relation_rival = root
						add = 100
					}
					modifier = {
						any_memory = {
							has_memory_category = negative
							any_memory_participant = { this = root }
						}
						add = 50
					}
					modifier = {
						has_trait = forgiving
						add = 10
					}
					modifier = {
						opinion = {
							target = root
							value < -25
						}
						add = 5
					}
					modifier = {
						opinion = {
							target = root
							value < -50
						}
						add = 5
					}
				}
				assign_quirk_effect = yes
				save_scope_as = rival
				top_participant_group:dynastic_cycle = { save_scope_as = rival_movement }
			}
		}
	}

	option = { # If you have a hook/secret on them, insta win
		name = tgp_movement_events.0100.aa
		trigger = {
			OR = {
				has_hook = scope:rival
				scope:rival = {
					any_secret = {
						is_known_by = root
					}
				}
			}
		}
		add_internal_flag = special
		reason = hook
		remove_hook = { target = scope:rival }
		scope:rival = {
			tgp_movement_events_0100_remove_from_movement_effect = yes
		}
	}

	option = { # Ask them to leave
		name = tgp_movement_events.0100.a
		change_influence = major_influence_loss
		scope:spymaster = {
			duel = {
				skill = intrigue
				target = scope:rival
				25 = {
					compare_modifier = {
						value = scope:duel_value
						multiplier = 3.5
					}
					desc = tgp_movement_events.0100.a.success
					root = {
						send_interface_toast = {
							title = tgp_movement_events.0100.a.success
							left_icon = scope:rival
							scope:rival = {
								tgp_movement_events_0100_remove_from_movement_effect = yes
							}
						}
					}
				}
				75 = {
					compare_modifier = {
						value = scope:duel_value
						multiplier = -3.5
					}
					desc = tgp_movement_events.0100.a.failure
					root = {
						send_interface_toast = {
							title = tgp_movement_events.0100.a.failure
							left_icon = root
							add_prestige = medium_prestige_loss
						}
					}
				}
			}
		}
		stress_impact = {
			ambitious = medium_stress_impact_loss
			deceitful = medium_stress_impact_loss
			honest = major_stress_impact_gain
		}
		ai_chance = {
			base = 100
			modifier = {
				OR = {
					has_trait = ambitious
					has_trait = deceitful
				}
				factor = 2
			}
			modifier = {
				has_trait = honest
				factor = 0
			}
		}
	}

	option = { # Pay them to leave
		name = tgp_movement_events.0100.b
		pay_short_term_gold = {
			target = scope:rival
			gold = major_gold_value
		}
		duel = {
			skills = { diplomacy intrigue }
			target = scope:rival
			50 = {
				compare_modifier = {
					value = scope:duel_value
					multiplier = 3.5
				}
				modifier = {
					scope:rival = { has_trait = greedy }
					add = 25
				}
				modifier = {
					scope:rival = { gold <= medium_gold_value }
					add = 10
				}
				desc = tgp_movement_events.0100.a.success
				send_interface_toast = {
					title = tgp_movement_events.0100.a.success
					left_icon = scope:rival
					scope:rival = {
						tgp_movement_events_0100_remove_from_movement_effect = yes
					}
				}
			}
			50 = {
				compare_modifier = {
					value = scope:duel_value
					multiplier = -3.5
				}
				desc = tgp_movement_events.0100.a.failure
				send_interface_toast = {
					title = tgp_movement_events.0100.a.failure
					left_icon = root
					root = { add_prestige = medium_prestige_loss }
				}
			}
		}
		stress_impact = {
			ambitious = medium_stress_impact_loss
			honest = major_stress_impact_gain
			greedy = major_stress_impact_gain
		}
		ai_chance = {
			base = 100
			modifier = {
				has_trait = deceitful
				factor = 2
			}
			modifier = {
				OR = {
					gold <= massive_gold_value
					has_trait = greedy
					has_trait = honest
				}
				factor = 0
			}
		}
	}

	option = { # Just undermine them
		name = tgp_movement_events.0100.c
		custom_tooltip = tgp_movement_events.0060.a.rival_tt
		scope:rival_movement = {
			event_change_movement_power_effect = {
				VALUE = event_decrease_movement_power_medium_value
			}
		}
		stress_impact = {
			ambitious = medium_stress_impact_gain
		}
		ai_chance = {
			base = 100
			modifier = {
				has_trait = ambitious
				factor = 0
			}
		}
	}
}

# Movement member sends you some books
scripted_trigger tpg_movement_events_0110_valid_ruler = {
	this != root
	is_available_healthy_ai_adult = yes
	government_has_flag = government_is_celestial
	trigger_if = {
		limit = {
			exists = top_participant_group:dynastic_cycle
		}
		top_participant_group:dynastic_cycle ?= root.top_participant_group:dynastic_cycle
	}
	top_participant_group:dynastic_cycle ?= {
		NOT = { participant_group_type = undecided_movement }
	}
	learning >= decent_skill_rating
	opinion = {
		target = root
		value >= 0
	}
}

tgp_movement_events.0110 = {
	type = letter_event
	opening = tgp_movement_events.0110.opening
	desc = tgp_movement_events.0110.desc
	sender = scope:other_ruler

	cooldown = { years = 5 }

	trigger = {
		is_available_adult = yes
		has_tgp_dlc_trigger = yes
		government_has_flag = government_is_celestial
		exists = top_participant_group:dynastic_cycle
		any_ruler = { tpg_movement_events_0110_valid_ruler = yes }
	}

	immediate = {
		save_scope_as = root_scope
		top_participant_group:dynastic_cycle ?= {
			save_scope_as = my_movement
		}
		random_ruler = {
			limit = { tpg_movement_events_0110_valid_ruler = yes }
			weight = {
				base = 1
				modifier = {
					has_relation_potential_friend = root
					add = 25
				}
				modifier = {
					is_close_family_of = root
					add = 10
				}
				modifier = {
					is_extended_family_of = root
					add = 5
				}
				modifier = {
					OR = {
						has_relation_friend = root
						has_relation_lover = root
						has_relation_disciple = root
					}
					add = 5
				}
			}
			save_scope_as = other_ruler
			hidden_effect_new_object = {
				create_artifact_book_effect = {
					OWNER = scope:other_ruler
					CREATOR = scope:other_ruler
					SET_SUBJECT = flag:no
					SET_TOPIC = flag:no
				}
			}
		}
		hidden_effect = {
			scope:newly_created_artifact = {
				set_artifact_description = artifact_movement_gift_desc
				set_artifact_rarity = masterwork
			}
		}
	}

	option = { # So nice of you!
		name = tgp_movement_events.0110.a
		gain_appropriate_lifestyle_medium_xp_effect = yes
		progress_towards_friend_effect = {
			REASON = friend_sent_books_reason
			CHARACTER = scope:other_ruler
			OPINION = default_friend_opinion
		}
		ai_chance = {
			base = 100
			modifier = {
				OR = {
					has_trait = gregarious
					has_trait = diligent
				}
				factor = 2
			}
		}
	}

	option = { # I'll put it in my library
		name = tgp_movement_events.0110.b
		add_prestige = medium_prestige_gain
		ai_chance = {
			base = 100
			modifier = {
				OR = {
					has_trait = arrogant
					has_trait = lazy
				}
				factor = 2
			}
		}
	}

	after = {
		scope:newly_created_artifact = { set_owner = root }
	}
}

# Movement member teaches you Confucianism
scripted_trigger tpg_movement_events_0120_valid_ruler = {
	this != root
	is_ai = yes
	is_adult = yes
	government_has_flag = government_is_celestial
	top_participant_group:dynastic_cycle ?= root.top_participant_group:dynastic_cycle
	has_trait = confucian_education
	opinion = {
		target = root
		value >= 0
	}
}

scripted_effect tpg_movement_events_0120_confucian_education_effect = {
	if = {
		limit = {
			NOT = { has_trait = confucian_education }
		}
		add_trait_force_tooltip = confucian_education
	}
	else = {
		add_trait_xp = {
			trait = confucian_education
			value = lifestyle_confucian_education_xp_gain_medium_value
		}
	}
}

scripted_effect tpg_movement_events_0120_lifestyle_reveler_effect = {
	if = {
		limit = {
			NOT = { has_trait = lifestyle_reveler }
		}
		random = {
			chance = 25
			add_trait_force_tooltip = lifestyle_reveler
		}
	}
	else = {
		add_trait_xp = {
			trait = lifestyle_reveler
			value = lifestyle_confucian_education_xp_gain_medium_value
		}
	}
}

tgp_movement_events.0120 = {
	type = activity_event
	title = tgp_movement_events.0120.t
	desc = tgp_movement_events.0120.desc
	left_portrait = {
		character = root
		triggered_animation = {
			trigger = {
				OR = {
					has_trait = arrogant
					has_trait = callous
				}
			}
			animation = eyeroll
		}
		triggered_animation = {
			trigger = {
				OR = {
					has_trait = lazy
					learning <= decent_skill_rating
				}
				NOT = { has_trait = diligent }
			}
			animation = boredom
		}
		animation = drink
	}
	right_portrait = {
		character = scope:other_ruler
		animation = debating
	}
	theme = feast_activity
	cooldown = { years = 10 }

	trigger = {
		is_available_adult = yes
		has_tgp_dlc_trigger = yes
		government_has_flag = government_is_celestial
		exists = top_participant_group:dynastic_cycle
		OR = { # You don't have the trait or you don't have the trait maxed out
			NOT = { has_trait = confucian_education }
			has_trait_xp = { trait = confucian_education value <= 75 }
		}
		involved_activity = {
			any_attending_character = { tpg_movement_events_0120_valid_ruler = yes }
		}
	}

	immediate = {
		top_participant_group:dynastic_cycle ?= {
			save_scope_as = my_movement
		}
		involved_activity = {
			save_scope_as = activity
			activity_host = { save_scope_as = host }
			random_attending_character = {
				limit = { tpg_movement_events_0120_valid_ruler = yes }
				weight = {
					base = 1
					modifier = {
						has_relation_potential_friend = root
						add = 25
					}
					modifier = {
						is_close_family_of = root
						add = 10
					}
					modifier = {
						is_extended_family_of = root
						add = 5
					}
					modifier = {
						OR = {
							has_relation_friend = root
							has_relation_lover = root
							has_relation_disciple = root
						}
						add = 5
					}
				}
				save_scope_as = other_ruler
				assign_quirk_effect = yes
			}
		}
	}

	option = { # Teach me!
		name = tgp_movement_events.0120.a
		tpg_movement_events_0120_confucian_education_effect = yes
		stress_impact = {
			diligent = major_stress_impact_loss
			arrogant = major_stress_impact_gain
			lazy = major_stress_impact_gain
			lifestyle_reveler = major_stress_impact_gain
			drunkard = major_stress_impact_gain
		}
		ai_chance = {
			base = 100
			modifier = {
				OR = {
					has_trait = arrogant
					has_trait = lifestyle_reveler
					has_trait = lazy
					has_trait = drunkard
				}
				factor = 0
			}
			modifier = {
				has_trait = diligent
				factor = 2
			}
		}
	}

	option = { # We are here to spread the word of my_movement
		name = tgp_movement_events.0120.b
		custom_tooltip = event_increase_movement_power_minor_effect_tooltip
		scope:my_movement = {
			event_change_movement_power_effect = {
				VALUE = event_increase_movement_power_minor_value
			}
		}
		stress_impact = {
			ambitious = medium_stress_impact_loss
			diligent = medium_stress_impact_gain
			lifestyle_reveler = major_stress_impact_gain
			drunkard = major_stress_impact_gain
		}
		ai_chance = {
			base = 100
			modifier = {
				has_trait = ambitious
				factor = 2
			}
			modifier = {
				OR = {
					has_trait = diligent
					has_trait = lifestyle_reveler
					has_trait = drunkard
				}
				factor = 0
			}
		}
	}

	option = { # This is a FEAST
		name = tgp_movement_events.0120.c
		tpg_movement_events_0120_lifestyle_reveler_effect = yes
		 scope:activity = {
        	every_attending_character = {
	            limit = { NOT = { this = root } }
				custom = custom.every_attending_character
	            add_opinion = {
	                target = root
	                modifier = amused_opinion
	                opinion = 5
	            }
	        }
        }
		stress_impact = {
			base = medium_stress_impact_loss
			lifestyle_reveler = medium_stress_impact_loss
			drunkard = medium_stress_impact_loss
			diligent = major_stress_impact_gain
		}
		ai_chance = {
			base = 100
			modifier = {
				OR = {
					has_trait = lifestyle_reveler
					has_trait = drunkard
				}
				factor = 2
			}
			modifier = {
				has_trait = diligent
				factor = 0
			}
		}
	}
}

# Movement member teaches you the language of the capital
scripted_trigger tpg_movement_events_0130_valid_ruler = {
	this != root
	is_ai = yes
	is_adult = yes
	government_has_flag = government_is_celestial
	top_participant_group:dynastic_cycle ?= root.top_participant_group:dynastic_cycle
	opinion = {
		target = root
		value >= 0
	}
	knows_language_of_culture = top_liege.capital_county.culture # They are of the same culture
}

scripted_trigger tgp_movement_events_0130_valid_courtier = {
	is_available_healthy_ai_adult = yes
	is_councillor = no
	NOT = { is_close_family_or_spouse_trigger = { CHARACTER = scope:other_ruler } }
	knows_language_of_culture = scope:capital_culture
}

tgp_movement_events.0130 = {
	type = character_event
	title = tgp_movement_events.0130.t
	desc = tgp_movement_events.0130.desc
	left_portrait = {
		character = root
		triggered_animation = {
			trigger = {
				OR = {
					has_trait = arrogant
					has_trait = callous
				}
			}
			animation = eyeroll
		}
		triggered_animation = {
			trigger = {
				OR = {
					has_trait = lazy
					learning <= decent_skill_rating
				}
				NOT = { has_trait = diligent }
			}
			animation = worry
		}
		animation = interested
		camera = camera_event_crowd
	}
	right_portrait = {
		character = scope:courtier
		animation = obsequious_bow
	}
	lower_right_portrait = scope:other_ruler
	theme = dynastic_cycle
	override_background = { reference = throne_room }
	cooldown = { years = 10 }

	trigger = {
		is_available_adult = yes
		has_tgp_dlc_trigger = yes
		government_has_flag = government_is_celestial
		exists = top_participant_group:dynastic_cycle
		NOT = { knows_language_of_culture = top_liege.capital_county.culture }
		any_ruler = { tpg_movement_events_0130_valid_ruler = yes }
	}

	immediate = {
		top_liege.capital_county.culture = { save_scope_as = capital_culture }
		top_participant_group:dynastic_cycle ?= {
			save_scope_as = my_movement
		}
		random_ruler = {
			limit = { tpg_movement_events_0130_valid_ruler = yes }
			weight = {
				base = 1
				modifier = {
					has_relation_potential_friend = root
					add = 25
				}
				modifier = {
					is_close_family_of = root
					add = 10
				}
				modifier = {
					is_extended_family_of = root
					add = 5
				}
				modifier = {
					OR = {
						has_relation_friend = root
						has_relation_lover = root
						has_relation_disciple = root
					}
					add = 5
				}
			}
			save_scope_as = other_ruler
			if = {
				limit = {
					any_courtier = { tgp_movement_events_0130_valid_courtier = yes }
				}
				ordered_courtier = {
					limit = {
						tgp_movement_events_0130_valid_courtier = yes
					}
					order_by = diplomacy
					set_location = root.location
					save_scope_as = courtier
				}
			}
			else = {
				hidden_effect_new_object = {
					create_character = {
						location = root.location
						template = diplomacy_court_position_holder_template
						gender_female_chance = root_soldier_female_chance
						faith = scope:other_ruler.faith
						culture = scope:capital_culture
						save_scope_as = courtier
					}
				}
				hidden_effect = {
					add_courtier = scope:courtier
				}
			}
			scope:courtier = { assign_quirk_effect = yes }
		}
	}

	option = { # Learn the language!
		name = tgp_movement_events.0130.a
		start_scheme = {
			type = learn_language
			target_character = scope:other_ruler
		}
		custom_tooltip = diplomacy_family.2250.b.tt
		hidden_effect = {
			random_scheme = {
				limit = {
					scheme_type = learn_language
					scheme_target_character = scope:other_ruler
				}
				add_scheme_modifier = {
					type = extra_success_chance_modifier
				}
			}
		}

		stress_impact = {
			diligent = medium_stress_impact_loss
			humble = medium_stress_impact_loss
			lazy = medium_stress_impact_gain
			arrogant = medium_stress_impact_gain
		}
		ai_chance = {
			base = 100
			modifier = {
				OR = {
					has_trait = humble
					has_trait = diligent
				}
				factor = 0
			}
			modifier = {
				OR = {
					has_trait = arrogant
					has_trait = lazy
				}
				factor = 0
			}
		}
	}

	option = { # Convert
		name = tgp_movement_events.0130.b
		add_prestige = major_prestige_loss
		set_culture = scope:capital_culture
		stress_impact = {
			base = massive_stress_impact_gain
			arrogant = medium_stress_impact_gain
		}
		ai_chance = {
			base = 25
			modifier = {
				has_trait = humble
				add = 75
			}
			modifier = {
				has_trait = arrogant
				factor = 0
			}
		}
	}

	option = { # I'm good tyyyy
		name = tgp_movement_events.0130.c
		culture = {
			change_cultural_acceptance = {
				target = scope:capital_culture
				value = minor_cultural_acceptance_gain
				desc = cultural_acceptance_gain_event
			}
		}
		add_character_modifier = {
			modifier = tgp_cultural_harmony_modifier
			years = 15
		}
		stress_impact = {
			arrogant = medium_stress_impact_loss
			lazy = medium_stress_impact_loss
		}
		ai_chance = {
			base = 100
			modifier = {
				OR = {
					has_trait = arrogant
					has_trait = lazy
				}
				factor = 2
			}
		}
	}
}

# Disciple brings you a gift
scripted_trigger tgp_movement_events_0140_valid_disciple = {
	is_available_healthy_ai_adult = yes
	opinion = {
		target = root
		value >= 10
	}
}

scripted_trigger tgp_movement_events_0140_valid_artifact = {
	is_equipped = no
	NOT = { rarity = common }
	artifact_can_be_gift_to_trigger = { RECIPIENT = root }
}

scripted_effect tgp_movement_events_0140_create_artifact_effect = {
	random_list = {
		10 = {
			create_artifact_weapon_effect = {
				OWNER = scope:disciple
				CREATOR = scope:disciple
				SET_WEAPON_TYPE = flag:no
			}
		}
		10 = {
			create_artifact_armor_effect = {
				OWNER = scope:disciple
				CREATOR = scope:disciple
				SET_ARMOR_TYPE = flag:no
			}
		}
		10 = {
			create_artifact_book_effect = {
				OWNER = scope:disciple
				CREATOR = scope:disciple
				SET_SUBJECT = flag:no
				SET_TOPIC = flag:no
			}
		}
	}
	hidden_effect = {
		scope:newly_created_artifact = {
			save_scope_as = disciple_gift
			set_artifact_description = disciple_gift_desc
			set_artifact_rarity = masterwork
		}
	}
}

tgp_movement_events.0140 = {
	type = character_event
	title = tgp_movement_events.0140.t
	desc = tgp_movement_events.0140.desc
	left_portrait = {
		character = root
		animation = happiness
		camera = camera_event_crowd
	}
	right_portrait = {
		character = scope:disciple
		animation = gongshou
	}
	artifact = {
		position = lower_right_portrait
		target = scope:disciple_gift
	}
	theme = dynastic_cycle
	override_background = { reference = garden }
	cooldown = { years = 10 }

	trigger = {
		is_available_adult = yes
		has_tgp_dlc_trigger = yes
		government_has_flag = government_is_celestial
		top_participant_group:dynastic_cycle ?= {
			NOT = { participant_group_type = undecided_movement }
		}
		any_relation = {
			type = disciple
			tgp_movement_events_0140_valid_disciple = yes
		}
	}

	immediate = {
		save_scope_as = root_scope
		top_participant_group:dynastic_cycle ?= {
			save_scope_as = my_movement
		}
		ordered_relation = {
			type = disciple
			limit = { tgp_movement_events_0140_valid_disciple = yes }
			order_by = "opinion(root)"
			assign_quirk_effect = yes
			save_scope_as = disciple
			if = {
				limit = {
					any_character_artifact = { tgp_movement_events_0140_valid_artifact = yes }
				}
				ordered_character_artifact = {
					limit = { tgp_movement_events_0140_valid_artifact = yes }
					order_by = artifact_rarity
					save_scope_as = disciple_gift
				}
			}
			else = {
				tgp_movement_events_0140_create_artifact_effect = yes
			}
		}
	}

	option = { # Thank you for the gift!
		name = tgp_movement_events.0140.a
		scope:disciple_gift = { set_owner = root }
		scope:disciple = {
			add_opinion = {
				target = root
				modifier = grateful_opinion
				opinion = 15
			}
		}
		stress_impact = {
			humble = medium_stress_impact_loss
			greedy = medium_stress_impact_loss
			diligent = medium_stress_impact_gain
			ambitious = medium_stress_impact_gain
		}
		ai_chance = {
			base = 100
			modifier = {
				OR = {
					has_trait = humble
					has_trait = greedy
				}
				factor = 2
			}
			modifier = {
				OR = {
					has_trait = diligent
					has_trait = ambitious
				}
				factor = 0
			}
		}
	}

	option = { # Remember we do this for the MOVEMENT
		name = tgp_movement_events.0140.b
		custom_tooltip = event_increase_movement_power_medium_effect_tooltip
		scope:my_movement = {
			event_change_movement_power_effect = {
				VALUE = event_increase_movement_power_medium_value
			}
		}
		stress_impact = {
			greedy = medium_stress_impact_gain
			ambitious = medium_stress_impact_loss
		}
		ai_chance = {
			base = 100
			modifier = {
				has_trait = ambitious
				factor = 2
			}
			modifier = {
				has_trait = greedy
				factor = 0
			}
		}
	}

	option = { # No time to waste, we must study!!!!
		name = tgp_movement_events.0140.c
		change_merit = medium_merit_gain
		scope:disciple = { change_merit = medium_merit_gain }
		if = {
			limit = {
				has_trait = confucian_education
			}
			add_trait_xp = {
				trait = confucian_education
				value = lifestyle_confucian_education_xp_gain_medium_value
			}
		}
		stress_impact = {
			ambitious = medium_stress_impact_gain
			greedy = medium_stress_impact_gain
			diligent = medium_stress_impact_loss
		}
		ai_chance = {
			base = 100
			modifier = {
				has_trait = diligent
				factor = 2
			}
			modifier = {
				OR = {
					has_trait = greedy
					has_trait = ambitious
				}
				factor = 0
			}
		}
	}
}

# Shinto visitor at court
scripted_trigger tgp_movement_events_0150_valid_monk = {
	is_available_healthy_ai_adult = yes
	has_trait = devoted
	religion = religion:shintoism_religion
	is_councillor = no # Don't steal someone important
}

scripted_trigger tgp_movement_events_0150_valid_ruler = {
	is_available_healthy_ai_adult = yes
	is_landed = yes
	primary_title.tier >= tier_county
	religion = religion:shintoism_religion
}

tgp_movement_events.0150 = {
	type = character_event
	title = tgp_movement_events.0150.t
	desc = {
		desc = tgp_movement_events.0150.desc.intro
		first_valid = {
			triggered_desc = {
				trigger = { exists = scope:other_ruler }
				desc = tgp_movement_events.0150.desc.other_ruler
			}
			triggered_desc = {
				trigger = { NOT = { exists = scope:other_ruler } }
				desc = tgp_movement_events.0150.desc.alone
			}
		}
		desc = tgp_movement_events.0150.desc.outro
	}
	left_portrait = {
		character = root
		triggered_animation = {
			trigger = { has_trait = cynical }
			animation = dismissal
		}
		triggered_animation = {
			trigger = { has_trait = zealous }
			animation = anger
		}
		animation = interested
		camera = camera_event_crowd
	}
	right_portrait = {
		character = scope:monk
		animation = prayer
	}
	lower_right_portrait = {
		trigger = { exists = scope:other_ruler }
		character = scope:other_ruler
	}
	theme = faith
	override_background = { reference = throne_room }
	cooldown = { years = 10 }

	trigger = {
		is_available_adult = yes
		has_tgp_dlc_trigger = yes
		government_has_flag = government_is_celestial
		exists = top_participant_group:dynastic_cycle
		NOT = { religion = religion:shintoism_religion }
		highest_held_title_tier >= tier_duchy # You need to be somewhat important
	}

	weight_multiplier = {
		base = 0.5
		modifier = {
			highest_held_title_tier >= tier_duchy
			add = root.primary_title.tier
		}
	}

	immediate = {
		if = { # If there's a valid ruler they're an envoy from them
			limit = {
				faith:shinto = {
					any_faith_ruler = { tgp_movement_events_0150_valid_ruler = yes }
				}
			}
			faith:shinto = {
				random_faith_ruler = {
					limit = { tgp_movement_events_0150_valid_ruler = yes }
					weight = {
						base = 1
						modifier = {
							highest_held_title_tier >= tier_kingdom
							add = 50
						}
						modifier = {
							any_courtier = { tgp_movement_events_0150_valid_monk = yes }
							add = 20
						}
					}
					save_scope_as = other_ruler
					if = {
						limit = {
							any_courtier = {
								tgp_movement_events_0150_valid_monk = yes
							}
						}
						random_courtier = {
							limit = { tgp_movement_events_0150_valid_monk = yes }
							save_scope_as = monk
						}
					}
					else = {
						create_character = {
							location = root.capital_province
							template = monk_character_template
							gender_female_chance = root_faith_dominant_gender_adjusted_female_chance
							faith = scope:other_ruler.faith
							culture = scope:other_ruler.capital_county.culture
							save_scope_as = monk
							after_creation = {
								add_character_flag = created
							}
						}
						hidden_effect = { add_courtier = scope:monk }
					}
				}
			}
		}
		else = { # Otherwise they're a random monk
			create_character = {
				location = root.capital_province
				template = monk_character_template
				gender_female_chance = root_faith_dominant_gender_adjusted_female_chance
				faith = faith:shinto
				culture = culture:japanese
				save_scope_as = monk
				after_creation = {
					add_character_flag = created
				}
			}
		}
		scope:monk = { assign_quirk_effect = yes }
	}

	option = { # Get an alliance out of this
		name = tgp_movement_events.0150.aa
		trigger = {
			has_trait = diplomat
			exists = scope:other_ruler
		}
		add_opinion = {
			target = scope:other_ruler
			modifier = event_negotiated_alliance_opinion
		}
		custom_tooltip = tgp_movement_events.0150.aa.alliance
		create_alliance = {
			target = scope:other_ruler
			allied_through_owner = root
			allied_through_target = scope:other_ruler
		}
		stress_impact = {
			humble = medium_stress_impact_loss
			greedy = medium_stress_impact_loss
			diligent = medium_stress_impact_gain
			ambitious = medium_stress_impact_gain
		}
		ai_chance = {
			base = 100
		}
	}

	option = { # Get Faith discount
		name = tgp_movement_events.0150.a
		custom_tooltip = cheaper_to_convert_to_monk_faith_tt
		set_variable = {
			name = discounted_faith_to_convert_to_var
			value = scope:monk.faith
		}
		add_courtier = scope:monk
		every_vassal = {
			limit = { has_vassal_stance = zealot }
			custom = every_zealot_vassal
			add_opinion = {
				target = root
				modifier = impious_opinion
				opinion = -20
			}
		}
		stress_impact = {
			humble = medium_stress_impact_loss
			zealous = major_stress_impact_gain
			cynical = major_stress_impact_gain
		}
		ai_chance = {
			base = 100
			modifier = {
				has_trait = humble
				factor = 2
			}
			modifier = {
				OR = {
					has_trait = zealous
					has_trait = cynical
				}
				factor = 0
			}
		}
	}

	option = { # Try to convert them
		name = tgp_movement_events.0150.b
		duel = {
			skill = diplomacy
			target = scope:monk
			35 = {
			 	compare_modifier = {
					value = scope:duel_value
					multiplier = 3.5
				}
				desc = tgp_movement_events.0150.b.success
			 	send_interface_toast = {
				 	title = tgp_movement_events.0150.b.success
				 	left_icon = scope:monk
				 	scope:monk = { set_character_faith = root.faith }
					add_courtier = scope:monk
			 	}
		 	}
		 	65 = {
			 	compare_modifier = {
				 	value = scope:duel_value
				 	multiplier = -3.5
			 	}
				desc = tgp_movement_events.0150.b.failure
			 	send_interface_toast = {
				 	title = tgp_movement_events.0150.b.failure
				 	left_icon = scope:monk
				 	scope:monk = {
						add_opinion = {
							target = root
							modifier = disrespect_opinion
							opinion = -25
						}
					}
			 	}
		 	}
		}
		add_piety = medium_piety_gain
		stress_impact = {
			zealous = major_stress_impact_loss
			cynical = major_stress_impact_gain
		}
		ai_chance = {
			base = 100
			modifier = {
				has_trait = zealous
				factor = 2
			}
			modifier = {
				has_trait = cynical
				factor = 0
			}
		}
	}

	option = { # You're welcome here
		name = tgp_movement_events.0150.c
		add_courtier = scope:monk
		if = {
			limit = { has_lifestyle = diplomacy_lifestyle }
			add_diplomacy_lifestyle_xp = medium_lifestyle_xp
		}
		else = { add_prestige = medium_prestige_gain }
		if = {
			limit = { exists = scope:other_ruler }
			scope:other_ruler = {
				add_opinion = {
					target = root
					modifier = respect_opinion
					opinion = 15
				}
			}
		}
		stress_impact = {
			gregarious = medium_stress_impact_loss
			callous = medium_stress_impact_gain
			zealous = medium_stress_impact_gain
		}
		ai_chance = {
			base = 100
			modifier = {
				has_trait = gregarious
				factor = 2
			}
			modifier = {
				OR = {
					has_trait = callous
					has_trait = zealous
				}
				factor = 0
			}
		}
	}

	after = {
		scope:monk = {
			silent_disappearance_ai_if_created_effect = yes
		}
	}
}

# Ask a Movement Leader to abandon their Movement
scripted_trigger tgp_movement_events_0160_valid_rival = {
	this != root
	is_available_healthy_ai_adult = yes
	government_has_flag = government_is_celestial
	is_any_movement_leader = yes
	NOR = {
		top_participant_group:dynastic_cycle ?= root.top_participant_group:dynastic_cycle
		top_participant_group:dynastic_cycle ?= { participant_group_type = undecided_movement }
	}
	NOT = { has_trait = deceitful }
}

scripted_effect tgp_movement_events_0160_scheme_blocking_effect = {
	custom_tooltip = tgp_movement_events_0160_scheme_blocking_effect_tt
	set_variable = {
		name = no_scheming_allowed_var
		value = scope:rival
		years = 15
	}
	scope:rival = {
		set_variable = {
			name = no_scheming_allowed_var
			value = root
			years = 15
		}
	}
}

tgp_movement_events.0160 = {
	type = character_event
	title = tgp_movement_events.0160.t
	desc = tgp_movement_events.0160.desc
	left_portrait = {
		character = root
		animation = writing
	}
	lower_right_portrait = scope:rival
	theme = dynastic_cycle
	override_background = { reference = study }
	cooldown = { years = 10 }

	trigger = {
		NOT = { has_variable = no_scheming_allowed_var }
		is_available_adult = yes
		has_tgp_dlc_trigger = yes
		government_has_flag = government_is_celestial
		top_participant_group:dynastic_cycle ?= {
			NOT = { participant_group_type = undecided_movement }
		}
		any_ruler = { tgp_movement_events_0160_valid_rival = yes }
		OR = { # You are important enough
			is_any_movement_leader = yes
			influence_level >= 3
			merit_level >= 3
		}
	}

	weight_multiplier = {
		base = 1
		modifier = {
			any_relation = { type = rival }
			add = 1
		}
	}

	immediate = {
		assign_quirk_effect = yes
		top_participant_group:dynastic_cycle ?= {
			save_scope_as = my_movement
		}
		random_ruler = {
			limit = { tgp_movement_events_0160_valid_rival = yes }
			weight = {
				base = 1
				modifier = {
					has_relation_nemesis = root
					add = 100
				}
				modifier = {
					has_relation_rival = root
					add = 100
				}
				modifier = {
					any_memory = {
						has_memory_category = negative
						any_memory_participant = { this = root }
					}
					add = 50
				}
				modifier = {
					has_trait = greedy
					add = 5
				}
			}
			save_scope_as = rival
			top_participant_group:dynastic_cycle = { save_scope_as = rival_movement }
		}
	}

	option = { # Try to convince them
		name = tgp_movement_events.0160.a
		duel = {
			skill = diplomacy
			target = scope:rival
			50 = {
				compare_modifier = {
					value = scope:duel_value
					multiplier = 3.5
				}
				modifier = {
					scope:rival = { has_trait = greedy }
					add = 25
				}
				modifier = {
					scope:rival = { gold <= medium_gold_value }
					add = 10
				}
				desc = tgp_movement_events.0100.a.success
				send_interface_toast = {
					title = tgp_movement_events.0100.a.success
					left_icon = scope:rival
					tgp_movement_events_0160_scheme_blocking_effect = yes
				}
			}
			50 = {
				compare_modifier = {
					value = scope:duel_value
					multiplier = -3.5
				}
				desc = tgp_movement_events.0100.a.failure
				send_interface_toast = {
					title = tgp_movement_events.0100.a.failure
					left_icon = scope:rival

				}
			}
		}
		stress_impact = {
			ambitious = medium_stress_impact_loss
			deceitful = major_stress_impact_gain
			honest = major_stress_impact_gain
		}
		ai_chance = {
			base = 100
			modifier = {
				OR = {
					has_trait = ambitious
					has_trait = deceitful
				}
				factor = 2
			}
			modifier = {
				has_trait = honest
				factor = 0
			}
		}
	}

	option = { # Pay them money lol
		name = tgp_movement_events.0160.b
		pay_short_term_gold = {
			target = scope:rival
			gold = medium_gold_value
		}
		tgp_movement_events_0160_scheme_blocking_effect = yes
		stress_impact = {
			honest = medium_stress_impact_loss
			deceitful = major_stress_impact_gain
			greedy = major_stress_impact_gain
		}
		ai_chance = {
			base = 100
			modifier = {
				has_trait = honest
				factor = 2
			}
			modifier = {
				OR = {
					gold <= major_gold_value
					has_trait = greedy
					has_trait = deceitful
				}
				factor = 0
			}
		}
	}

	option = { # I'm good
		name = tgp_movement_events.0160.c
		add_intrigue_lifestyle_xp = minor_lifestyle_xp
		stress_impact = {
			ambitious = medium_stress_impact_gain
		}
		ai_chance = {
			base = 100
			modifier = {
				has_trait = ambitious
				factor = 0
			}
		}
	}
}
