namespace = false_conversion

##################################################
#False Conversion CB events

	#0001-0003	- Flag characters & counties that might be falsely converted.
	#0020		- Revoke false conversion decision events.
	#0030-0031	- Encourage false conversion admittance decision events.

##################################################

##################################################
# General Maintenance
# by Ewan Cowhig Croft
# 0001-0002
##################################################

#	Flag characters that might be falsely converted.
#		by Ewan Cowhig Croft
# false_conversion.0001 = {
# 	hidden = yes

# 	trigger = {
# 		scope:old_faith = { has_doctrine_parameter = sanctioned_false_conversion }
# 		NOR = {
# 			any_secret = { type = secret_crypto_religionist }
# 			has_variable = forbid_crypto_reconversion
# 		}
# 	}

# 	immediate = {
# 		set_variable = {
# 			name = false_convert
# 			value = scope:old_faith
# 		}
# 	}
# }

#	Flag counties that might be falsely converted.
#		by Ewan Cowhig Croft
false_conversion.0002 = {
	hidden = yes
	scope = landed_title

	trigger = {
		scope:old_faith = { has_doctrine_parameter = sanctioned_false_conversion }
		NOR = {
			has_variable = false_convert
			has_variable = forbid_crypto_reconversion
		}
	}

	immediate = {
		make_county_crypto_religionists_effect = { FAITH = scope:old_faith }
	}
}

#	Cleanup counties that have been reconverting.
#		by Ewan Cowhig Croft
false_conversion.0003 = {
	hidden = yes
	scope = landed_title

	trigger = {
		has_county_modifier = relieved_cryptos_modifier
	}

	immediate = {
		remove_county_modifier = relieved_cryptos_modifier
	}
}

##################################################
# Revoke False Conversion Decision Events
# by Ewan Cowhig Croft
# 0020-0021
##################################################

#	Crypto-Faithism
#		by Ewan Cowhig Croft
false_conversion.0020 = {
	type = character_event
	title = false_conversion.0020.t
	desc = {
		first_valid = {
			triggered_desc = {
				trigger = { has_government = landless_adventurer_government }
				desc = false_conversion.0020.desc_landless
			}
			desc = false_conversion.0020.desc
		}
	}
	theme = faith
	left_portrait =	root
	weight_multiplier = {
		base = 1
	}
	immediate = {
		secret_faith = { save_scope_as = old_faith }	# For loc.
		faith = { save_scope_as = current_faith }		# For loc.
	}
	# You return to your original faith. Huzzah for secret cults!
	option = {	
		name = false_conversion.0020.a
		trigger = { is_landed_or_landless_administrative = yes }
		set_character_faith_with_conversion = secret_faith
		remove_character_secret_faith = yes
		if = {	#If independent, also grab any counties in your realm that still have crypto-religious communities.
			limit = {
				top_liege = this
				any_sub_realm_county = {
					has_variable = false_convert
					var:false_convert = root.faith
					faith != root.faith	#Discount them if they've already been switched by the conversion action.
				}
			}
			set_variable = {	#Log how many counties switch.
				name = num_false_converts_counties
				value = 0
			}
			every_sub_realm_county = {
				limit = {
					has_variable = false_convert
					var:false_convert = root.faith
					faith != root.faith	#Discount them if they've already been switched by the conversion action.
				}
				set_county_faith = var:false_convert	#Everyone likes practicing their faith in the open!
				remove_county_modifier = false_convert_modifier
				add_county_modifier = {
					modifier = relieved_cryptos_modifier
					years = 25
				}
				root = {	#Adjust logging for each valid county.
					change_variable = {
						name = num_false_converts_counties
						add = 1
					}
				}
				remove_variable = false_convert	#Cleanup the variable when we're done.
			}
			send_interface_message = {	#Alert the user if any counties have switched.
				type = event_religious_neutral_text
				title = event_false_converts.t
				desc = event_false_converts_counties_only.desc
			}
		}
		# Deduct piety, but only if faith doesn't sanction false conversions
		if = {
			limit = {
				faith = {
					NOT = { has_doctrine_parameter = sanctioned_false_conversion }
				}
			}
			add_piety = major_piety_loss
		}
		if = {
			limit = { top_liege != this }
			liege = {
				send_interface_message = {
					type = event_religious_neutral_text
					title = event_false_convert_my_vassal.t
					desc = event_false_convert_interface.desc
					right_icon = root
				}
			}
		}
		every_vassal = {
			send_interface_message = {
				type = event_religious_neutral_text
				title = event_false_convert_my_liege.t
				desc = event_false_convert_interface.desc
				right_icon = root
			}
		}
		# Fp3 Struggle Catalyst
		if = {
			limit = {
				highest_held_title_tier >= tier_county
				faith.religion = religion:islam_religion
				any_character_struggle = {
					involvement = involved
					phase_has_catalyst = catalyst_revealed_secret_faith_islam
				}
			}
			every_character_struggle = {
				involvement = involved
				limit = {
					phase_has_catalyst = catalyst_revealed_secret_faith_islam
				}
				activate_struggle_catalyst = {
					catalyst = catalyst_revealed_secret_faith_islam
					character = root
				}
			}
		}
		else_if = {
			limit = {
				highest_held_title_tier >= tier_county
				NOT = { faith.religion = religion:islam_religion }
				any_character_struggle = {
					involvement = involved
					phase_has_catalyst = catalyst_revealed_secret_faith_non_islam
				}
			}
			every_character_struggle = {
				involvement = involved
				limit = {
					phase_has_catalyst = catalyst_revealed_secret_faith_non_islam
				}
				activate_struggle_catalyst = {
					catalyst = catalyst_revealed_secret_faith_non_islam
					character = root
				}
			}
		}

		stress_impact = {
			zealous = medium_stress_impact_gain	#Damn it, I was passionate about my openly-practiced faith!
			cynical	= medium_stress_impact_gain	#Damn it, they're all basically the same! Probably!
		}
		ai_chance = {
			base = 60
			ai_value_modifier = {
				ai_zeal = 0.5
				ai_boldness = 0.25
			}
			modifier = {
				has_trait = zealous	#Must not stress self.
				factor = 0
			}
			modifier = {
				has_trait = cynical	#Must. Not. Stress. Self
				factor = 0
			}
		}
	}
	#Landless convertee
	option = {
		name = false_conversion.0020.c
		trigger = { has_government = landless_adventurer_government }
		set_character_faith_with_conversion = secret_faith
		remove_character_secret_faith = yes
		# Deduct piety, but only if faith doesn't sanction false conversions
		if = {
			limit = {
				faith = {
					NOT = { has_doctrine_parameter = sanctioned_false_conversion }
				}
			}
			add_piety = major_piety_loss
		}
		stress_impact = {
			zealous = medium_stress_impact_gain	#Damn it, I was passionate about my openly-practiced faith!
			cynical	= medium_stress_impact_gain	#Damn it, they're all basically the same! Probably!
		}
		ai_chance = {
			base = 60
			ai_value_modifier = {
				ai_zeal = 0.5
				ai_boldness = 0.25
			}
			modifier = {
				has_trait = zealous	#Must not stress self.
				factor = 0
			}
			modifier = {
				has_trait = cynical	#Must. Not. Stress. Self
				factor = 0
			}
		}
	}
	# On seconds thoughts...
	option = {	
		name = false_conversion.0020.b

		if = { # Return cost when backing out
			limit = { scope:decision_piety_cost > 0 }
			add_piety = scope:decision_piety_cost
		}

		ai_chance = {
			base = 40
			ai_value_modifier = {
				ai_zeal = -0.25
				ai_boldness = -0.25
			}
			modifier = {
				add = 20
				has_trait = lazy #Efffforrrtttt.
			}
		}
	}
}

##################################################
# Encourage False Conversion Admittance Decision Events
# by Ewan Cowhig Croft
# 0030-0031
##################################################

#	You encourage crypto-religionists in your realm to return to openly practicing their faiths.
#		by Ewan Cowhig Croft
false_conversion.0030 = {
	type = character_event
	title = false_conversion.0030.t
	desc = {
		desc = false_conversion.0030.desc_start
		first_valid = {
			triggered_desc = {
				trigger = {
					has_variable = false_convert
				}
				desc = false_conversion.0030.desc_has_secret_faith
			}
			triggered_desc = {
				trigger = {
					faith = {
						has_doctrine = doctrine_pluralism_pluralistic
					}
				}
				desc = false_conversion.0030.desc_no_secret_faith
			}
			desc = false_conversion.0030.desc_no_secret_faith_not_pluralist
		}
		desc = false_conversion.0030.desc_end
	}
	
	theme = faith
	left_portrait =	root

	weight_multiplier = {
		base = 1
	}

	immediate = {
		if = {
			limit = {
				exists = secret_faith
			}
			secret_faith = { save_scope_as = old_faith } # For loc.
		}
		set_variable = {	#Initialise counting for the number of landed converts.
			name = num_false_converts_vassal
			value = 0
		}
		set_variable = {	#Initialise counting for the number of landless converts.
			name = num_false_converts_landless
			value = 0
		}
		set_variable = {	#Log how many counties switch.
			name = num_false_converts_counties
			value = 0
		}
		if = {	#If pluralistic, look at any hidden faiths.
			limit = {
				faith = { has_doctrine = doctrine_pluralism_pluralistic }
			}
			every_vassal = {
				limit = {	#Providing they are equal-to-or-less in hostility.
					is_ai = yes
					exists = secret_faith
					NOR = {	#And not super-committed to their public religion.
						has_trait = zealous
						this = faith.religious_head
					}
					save_temporary_scope_as = current_character
					root.faith = {	#Public conversion must be advantageous, or at least not harmful.
						faith_hostility_level_comparison = {
							scope:current_character.secret_faith <= scope:current_character.faith
						}
					}
					OR = {	#The vassals should either be trusting, or else have an iron-clad reason to believe the amnesty.
						NOR = {
							has_trait = deceitful
							has_trait = paranoid
						}
						secret_faith = root.faith
					}
				}
				add_to_list = converting_vassals_list
				root = {
					change_variable = {
						name = num_false_converts_vassal
						add = 1
					}
				}
			}
			every_courtier_or_guest = {	#Grab courtiers and such too.
				limit = {
					is_ai = yes
					exists = secret_faith
					NOT = { has_trait = zealous }
					save_temporary_scope_as = current_character
					root.faith = {
						faith_hostility_level_comparison = {
							secret_faith <= scope:current_character.faith
						}
					}
					OR = {
						NOR = {
							has_trait = deceitful
							has_trait = paranoid
						}
						secret_faith = root.faith
					}
				}
				add_to_list = converting_landless_list
				root = {
					change_variable = {
						name = num_false_converts_landless
						add = 1
					}
				}
			}
			if = {	#If independent, also grab any counties in your realm that still have crypto-religious communities.
				limit = {
					top_liege = this
					any_sub_realm_county = {
						has_variable = false_convert
					}
				}
				every_sub_realm_county = {
					limit = {
						has_variable = false_convert
						save_temporary_scope_as = current_county
						root.faith = {
							faith_hostility_level_comparison = {
								scope:current_county.var:false_convert <= scope:current_county.faith
							}
						}
					}
					add_to_list = converting_counties_list
					root = {	#Adjust logging for each valid county.
						change_variable = {
							name = num_false_converts_counties
							add = 1
						}
					}
				}
			}
		}
		else = {	#Otherwise, only check for within your own faith. Crypto-religionists don't want to come out of hiding for just anybody.
			every_vassal = {
				if = {
					limit = {
						any_secret = { type = secret_crypto_religionist }
					}
					random_secret = {
						type = secret_crypto_religionist
						save_scope_as = convert_crypto_secret
					}
				}
				limit = {
					is_ai = yes
					exists = secret_faith
					NOR = {
						has_trait = zealous
						this = faith.religious_head
					}
					secret_faith = root.faith
				}
				add_to_list = converting_vassals_list
				root = {
					change_variable = {
						name = num_false_converts_vassal
						add = 1
					}
				}
			}
			every_courtier_or_guest = {	#And any courtiers or hangers-on.
				if = {
					limit = {
						any_secret = { type = secret_crypto_religionist }
					}
					random_secret = {
						type = secret_crypto_religionist
						save_scope_as = convert_crypto_secret
					}
				}
				limit = {
					is_ai = yes
					exists =secret_faith
					NOT = { has_trait = zealous }
					secret_faith = root.faith
				}
				add_to_list = converting_landless_list
				root = {
					change_variable = {
						name = num_false_converts_landless
						add = 1
					}
				}
			}
			every_sub_realm_county = {
				limit = {
					has_variable = false_convert
					var:false_convert = root.faith
					faith != root.faith	#Discount them if they've already been switched by the conversion action.
				}
				set_county_faith = var:false_convert
				remove_county_modifier = false_convert_modifier
				add_county_modifier = {
					modifier = relieved_cryptos_modifier
					years = 25
				}
				root = {	#Adjust logging for each valid county.
					change_variable = {
						name = num_false_converts_counties
						add = 1
					}
				}
				remove_variable = false_convert	#Cleanup the variable when we're done.
			}
		}
	}

	option = {	#Tell everyone to just be honest about their faith.
		name = false_conversion.0030.a
		custom_tooltip = false_conversion.0030.a.tt
		hidden_effect = {
			every_in_list = {	#Convert the vassals.
				list = converting_vassals_list
				set_character_faith_with_conversion = secret_faith
				remove_character_secret_faith = yes
				save_temporary_scope_as = reconverter
				every_vassal = {	#Notify your vassals' vassals of the change.
					send_interface_message = {
						type = event_religious_neutral_text
						title = event_false_convert_my_vassal.t
						desc = event_false_convert_interface.desc
						right_icon = scope:reconverter
					}
				}
				add_opinion = {	#Huzzah! I can go to church!
					modifier = religious_freedom_opinion
					target = root
				}
			}
			every_in_list = {	#And the dregs.
				list = converting_landless_list
				set_character_faith_with_conversion = secret_faith
				remove_character_secret_faith = yes
				add_opinion = {	#Huzzah! I can go to church! Shame I don't own any!
					modifier = religious_freedom_opinion
					target = root
				}
			}
			if = {	#If independent, also grab any counties in your realm that still have crypto-religious communities.
				limit = { top_liege = this }
				every_in_list = {
					list = converting_counties_list
					set_county_faith = var:false_convert
					add_county_modifier = {	#Everyone likes practicing their faith in the open!
						modifier = relieved_cryptos_modifier
						years = 25
					}
					remove_variable = false_convert	#Cleanup the variable when we're done.
				}
			}
			if = {	#Include counties in the message if there are any.
				limit = { var:num_false_converts_counties >= 1 }
				send_interface_message = {
					type = event_religious_neutral_text
					title = event_false_converts.t
					desc = event_false_converts_plus_counties.desc
				}
			}
			if = {	#Else, just talk about vassals and landless characters.
				limit = { var:num_false_converts_counties <= 0 }
				send_interface_message = {
					type = event_religious_neutral_text
					title = event_false_converts.t
					desc = event_false_converts_without_counties.desc
				}
			}
			if = {	#Under pluralist lieges, tell suitable players that their liege is offering amnesty.
				limit = {
					faith = { has_doctrine = doctrine_pluralism_pluralistic }
				}
				every_vassal = {
					limit = {
						is_ai = no
						any_secret = { type = secret_crypto_religionist }
					}
					trigger_event = false_conversion.0031
				}
			}
			else = {	#Under non-pluralist lieges, tell suitable players that their liege is offering amnesty.
				every_vassal = {
					limit = {
						is_ai = no
						secret_faith ?= root.faith
					}
					trigger_event = false_conversion.0031
				}
			}
		}
		# Piety loss, but not if has false conversion sanction tenet
		if = {
			limit = {
				faith = {
					NOT = { has_doctrine = tenet_false_conversion_sanction }
				}
			}
			add_piety = major_piety_loss
		}
		stress_impact = {
			honest = minor_stress_impact_loss
			trusting = minor_stress_impact_loss
		}
		ai_chance = {
			base = 40
			ai_value_modifier = {
				ai_compassion = 0.5	#Everyone should be open with each other.
			}
			modifier = {
				add = 20
				has_trait = honest	#Honesty is the best policy.
			}
			modifier = {
				add = 20
				has_trait = trusting	#Trust people to trust your word.
			}
		}
	}
	option = {	#Let's let sleeping sectarian conflicts lie.
		name = {
			text = false_conversion.0030.b_no_secret_faith
			trigger = {
				NOT = {
					any_secret = { type = secret_crypto_religionist }
				 }
			}
		}
		name = {
			text = false_conversion.0030.b_has_secret_faith
			trigger = {
				any_secret = { type = secret_crypto_religionist }
			}
		}
		ai_chance = {
			base = 60
			ai_value_modifier = {
				ai_boldness = -0.25
			}
		}
	}

}

#	Your liege is trying to promulgate freedom of worship.
#		by Ewan Cowhig Croft
false_conversion.0031 = {
	type = character_event
	title = false_conversion.0031.t
	desc = false_conversion.0031.desc
	
	theme = faith
	override_background = {
		reference = temple_scope
	}
	left_portrait =	root.liege

	weight_multiplier = {
		base = 1
	}

	immediate = {
		root.liege = {
			save_scope_as = background_temple_scope
		}
		secret_faith = { save_scope_as = old_faith }
	}

	option = {	#I hop on board the faith-train to Conversion City.
		name = false_conversion.0031.a
		set_character_faith_with_conversion = scope:old_faith
		liege = {
			send_interface_message = {
				type = event_religious_neutral_text
				title = event_false_convert_my_vassal.t
				desc = event_false_convert_interface.desc
				right_icon = root
			}
		}
		every_vassal = {
			send_interface_message = {
				type = event_religious_neutral_text
				title = event_false_convert_my_vassal.t
				desc = event_false_convert_interface.desc
				right_icon = root
			}
		}
		add_opinion = {	#Huzzah! I can go to church!
			modifier = religious_freedom_opinion
			target = root
		}
		stress_impact = {
			zealous = medium_stress_impact_gain
			cynical = medium_stress_impact_gain
			deceitful = medium_stress_impact_gain
			honest = medium_stress_impact_loss
			trusting = medium_stress_impact_loss

		}
		ai_chance = {
			base = 0	#Player-only event.
		}
	}
	option = {	#I know how this goes: I'll keep my private faith private.
		name = false_conversion.0031.b
		stress_impact = {
			honest = medium_stress_impact_gain
			trusting = medium_stress_impact_gain
			deceitful = medium_stress_impact_loss
		}
		ai_chance = {
			base = 100	#Player-only event.
		}
	}
}

###########################################################################
# Conversion request events
# Decide to refuse the request, agree, or agree and keep a secret religion
###########################################################################

# Decide what type of false conversion event to fire
false_conversion.0900 = {
	hidden = yes

	immediate = {
		grab_spouses_and_family_to_convert_effect = yes
		# If the recipient already has a crypto religion, then just convert them and the family without any fuss
		if = {
			limit = {
				any_secret = { type = secret_crypto_religionist }
			}
			convert_family_to_faith_effect = {
				FALSE_CONVERSION = no
				FORCED = yes
			}
		}
		# Otherwise give them a choice
		else = {
			if = {
				limit = {
					is_married = yes
					is_imprisoned = no
					primary_spouse = {
						is_imprisoned = no
						is_ai = yes
					}
					# Spouse cannot suggest to keep a faith they weren't following as a secret faith
					primary_spouse.faith = root.faith
				}
				trigger_event = false_conversion.1010
			}
			else = {
				trigger_event = false_conversion.1000
			}
		}
	}
}


# Default conversion event for if you have no spouse or are imprisoned
false_conversion.1000 = {
	type = character_event
	title = false_conversion.1000.t
	desc = {
		desc = false_conversion.1000.desc_intro
		triggered_desc = {
			trigger = {
				any_in_list = {
					list = spouses_and_family_to_convert
					count > 1
				}
			}
			desc = false_conversion.1000.desc_has_family
		}
		desc = false_conversion.1000.desc_convert
		first_valid = {
			# If a hook is being used, then lament this blackmail
			triggered_desc = {
				trigger = { exists = scope:forcibly_converted }
				desc = false_conversion.1000.desc_forced
			}
			desc = false_conversion.1000.desc_voluntary
		}
		first_valid = {
			triggered_desc = {
				trigger = { ai_boldness > low_positive_ai_value }
				desc = false_conversion.1000.desc_forced
			}
			desc = false_conversion.1000.desc_cowardly
		}
		desc = false_conversion.1000.desc_outro
	}
	override_background = {
		trigger = { scope:recipient = { is_imprisoned = yes } }
		reference = dungeon
	}
	theme = faith
	left_portrait = root

	option = { # Accept conversion
		name = false_conversion.1000.a
		convert_family_to_faith_effect = {
			FALSE_CONVERSION = no
			FORCED = yes
		}
		ai_chance = {
			base = 25
		}
	}

	option = { # Keep old faith as a secret
		name = {
			text = {
				first_valid = {
					triggered_desc = {
						trigger = {
							faith = { has_doctrine_parameter = sanctioned_false_conversion }
							any_in_list = {
								list = spouses_and_family_to_convert
								count > 1
							}
						}
						desc = false_conversion.1000.b_sanctioned_plural
					}
					triggered_desc = {
						trigger = {
							faith = { has_doctrine_parameter = sanctioned_false_conversion }
						}
						desc = false_conversion.1000.b_sanctioned_single
					}
					triggered_desc = {
						trigger = {
							any_in_list = {
								list = spouses_and_family_to_convert
								faith = root.faith
								count > 1
							}
						}
						desc = false_conversion.1000.b_plural
					}
					desc = false_conversion.1000.b_single
				}
			}
		}
		trigger = {
			#faith = { has_doctrine_parameter = sanctioned_false_conversion }
			# Don't override old secret faiths
			NOR = {
				any_secret = { type = secret_crypto_religionist }
				has_variable = forbid_crypto_reconversion
			}
		}
		convert_family_to_faith_effect = {
			FALSE_CONVERSION = yes
			FORCED = yes
		}
		ai_chance = {
			base = 0
			religion_adopt_secret_faith_modifier = {
				TARGET = root
				FORCED = yes
				FAITH = root.faith
			}
		}
	}
}

# If your whole family is being asked to convert, consult with spouse
false_conversion.1010 = {
	type = character_event
	title = false_conversion.1000.t
	desc = {
		desc = false_conversion.1000.desc_intro
		first_valid = {
			triggered_desc = {
				trigger = {
					any_in_list = {
						list = spouses_and_family_to_convert
						count > 2
					}
				}
				desc = false_conversion.1000.desc_has_family
			}
			desc = false_conversion.1010.desc_has_no_family
		}
		desc = false_conversion.1000.desc_convert
		desc = false_conversion.1010.desc_spouse_intro
		# Spouse's reaction:
		first_valid = {
			triggered_desc = {
				trigger = { exists = scope:spouse_wants_secret_faith }
				desc = false_conversion.1010.desc_spouse_advises_secrecy
			}
			triggered_desc = {
				trigger = {
					exists = scope:spouse_wants_to_convert
					scope:spouse = { has_trait = cynical }
				}
				desc = false_conversion.1010.desc_spouse_advises_conversion_cynical
			}
			triggered_desc = {
				trigger = { exists = scope:spouse_wants_to_convert }
				desc = false_conversion.1010.desc_spouse_advises_conversion_neutral
			}
		}
		desc = false_conversion.1010.desc_outro_demure
		triggered_desc = {
			trigger = {
				opinion = {
					target = scope:spouse
					value >= 10
				}	
			}
			desc = false_conversion.1010.desc_spouse_liked
		}
		triggered_desc = {
			trigger = {
				opinion = {
					target = scope:spouse
					value <= -40
				}	
			}
			desc = false_conversion.1010.desc_spouse_disliked
		}
		desc = false_conversion.1010.desc_outro_wife_husband
	}
	theme = faith
	left_portrait = root
	right_portrait = primary_spouse

	immediate = {
		primary_spouse = {
			save_scope_as = spouse
		}
		# Determine whether spouse wants to convert
		random_list = {
			100 = {
				save_scope_value_as = {
					name = spouse_wants_to_convert
					value = yes
				}
			}
			0 = {
				religion_adopt_secret_faith_modifier = {
					TARGET = root
					FORCED = yes
					FAITH = root.faith
				}
				save_scope_value_as = {
					name = spouse_wants_secret_faith
					value = yes
				}
			}
		}
	}

	option = { # Accept conversion
		name = false_conversion.1000.a
		convert_family_to_faith_effect = {
			FALSE_CONVERSION = no
			FORCED = yes
		}
		if = {
			limit = { exists = scope:spouse_wants_to_convert }
			reverse_add_opinion = {
				target = primary_spouse
				modifier = pleased_opinion
				opinion = 20
			}
		}
		else = {
			reverse_add_opinion = {
				target = primary_spouse
				modifier = disappointed_opinion
				opinion = -20
			}
		}
		ai_chance = {
			base = 25
		}
	}

	option = { # Keep old faith as a secret
		name = {
			text = {
				first_valid = {
					triggered_desc = {
						trigger = {
							faith = { has_doctrine_parameter = sanctioned_false_conversion }
						}
						desc = false_conversion.1000.b_sanctioned_plural
					}
					desc = false_conversion.1000.b_plural
				}
			}
		}
		convert_family_to_faith_effect = {
			FALSE_CONVERSION = yes
			FORCED = yes
		}
		if = {
			limit = { exists = scope:spouse_wants_secret_faith }
			reverse_add_opinion = {
				target = primary_spouse
				modifier = pleased_opinion
				opinion = 20
			}
		}
		else = {
			reverse_add_opinion = {
				target = primary_spouse
				modifier = disappointed_opinion
				opinion = -20
			}
		}
		ai_chance = {
			base = 0
			religion_adopt_secret_faith_modifier = {
				TARGET = root
				FORCED = yes
				FAITH = root.faith
			}
		}
	}
}

# Secret-Faith Yearlies
# =====================
## A Moment of Weakness
## Someone close to you is in pain, attempt to convert them to your crypto-religion as a coping method?
scripted_trigger false_conversion_2000_is_vulnerable_trigger = {
	NOT = { exists = secret_faith }
	age >= 12 # For narrative purposes
	is_available = yes
	OR = {
		stress_level >= 1
		AND = {
			has_character_modifier = stress_frozen_grief
			# We need memories in order to grab who died that we're sad about
			any_memory = {
				OR = {
					has_memory_type = friend_died
					has_memory_type = best_friend_died
					has_memory_type = lover_died
					has_memory_type = soulmate_died
					has_memory_type = relative_died
					has_memory_type = spouse_died
					has_memory_type = dog_died
				}
			}
		}
		has_trait = depressed_1
	}
}

# Converts a target and ameliorates their grief/stress/depression
scripted_effect false_conversion_2000_convert = {
	# Buff relation
	if = {
		limit = { scope:crypto_opportunist = { has_character_flag = false_conversion_2000_grief } }
		scope:vulnerable_relation = { remove_character_modifier = stress_frozen_grief }
		scope:crypto_opportunist = { remove_character_flag  = false_conversion_2000_grief }
	}
	else_if = {
		limit = { scope:crypto_opportunist = { has_character_flag = false_conversion_2000_depression } }
		scope:vulnerable_relation = { add_character_modifier = fp3_higher_purpose_modifier }
	}
	else_if = {
		limit = { scope:crypto_opportunist = { has_character_flag = false_conversion_2000_stress } }
		scope:vulnerable_relation = { add_stress = major_stress_impact_loss }
	}
	send_interface_toast = {
		title = false_conversion.2000.a_success
		left_icon = scope:vulnerable_relation
		scope:crypto_opportunist = {
			random_secret = {
				type = secret_crypto_religionist
				# This is necessary for spread_crypto_religion_to_target_effect
				save_scope_as = owner_crypto_secret
			}
			spread_crypto_religion_to_target_effect = { TARGET = scope:vulnerable_relation }
		}
	}
}

## A Moment of Weakness
## Take advantage of your target's grief to push your religion
false_conversion.2000 = {
	type = character_event
	title = false_conversion.2000.t
	desc = {
		desc = false_conversion.2000.desc_intro
		first_valid = {
			triggered_desc = {
				trigger = { has_character_flag = false_conversion_2000_grief }
				desc = false_conversion.2000.desc_descriptor_grief
			}
			triggered_desc = {
				trigger = { has_character_flag = false_conversion_2000_depression }
				desc = false_conversion.2000.desc_descriptor_depression
			}
			triggered_desc = {
				trigger = { has_character_flag = false_conversion_2000_stress }
				desc = false_conversion.2000.desc_descriptor_stress
			}
		}
		desc = false_conversion.2000.desc_bridge
		first_valid = {
			triggered_desc = {
				trigger = { has_character_flag = false_conversion_2000_grief }
				desc = false_conversion.2000.desc_quote_grief
			}
			triggered_desc = {
				trigger = { has_character_flag = false_conversion_2000_depression }
				desc = false_conversion.2000.desc_quote_depression
			}
			triggered_desc = {
				trigger = { has_character_flag = false_conversion_2000_stress }
				desc = false_conversion.2000.desc_quote_stress
			}
		}
		desc = false_conversion.2000.desc_outro
	}
	left_portrait = {
		character = scope:vulnerable_relation
		animation = grief
	}
	theme = faith
	override_background = { reference = corridor_night }
	cooldown = { years = 1 }

	# Only target the vulnerable
	trigger = {
		# Runs through most characters covered by get_characters_of_interest_effect
		# Yup, it's necessary to do it like this. Sorry.
		exists = secret_faith
		OR = {
			any_close_or_extended_family_member = { false_conversion_2000_is_vulnerable_trigger = yes }
			any_powerful_vassal = { false_conversion_2000_is_vulnerable_trigger = yes }
			any_consort = { false_conversion_2000_is_vulnerable_trigger = yes }
			any_concubine = { false_conversion_2000_is_vulnerable_trigger = yes }
			any_normal_councillor = { false_conversion_2000_is_vulnerable_trigger = yes }
			any_ally = { false_conversion_2000_is_vulnerable_trigger = yes }
			betrothed ?= { false_conversion_2000_is_vulnerable_trigger = yes }
			# I hate my life
			trigger_if = {
				limit = {
					exists = liege
					is_powerful_vassal = yes
				}
				liege = { false_conversion_2000_is_vulnerable_trigger = yes }
			}

			trigger_if = {
				limit = { is_ai = no }
				OR = {
					any_relation = {
						type = lover
						false_conversion_2000_is_vulnerable_trigger = yes
					}
					any_relation = {
						type = ward
						false_conversion_2000_is_vulnerable_trigger = yes
					}
					any_relation = {
						type = friend
						false_conversion_2000_is_vulnerable_trigger = yes
					}
					# Skipping courtiers because minor_interest_skilled_courtiers_trigger requires a list as input
					trigger_if = {
						limit = {
							age >= 12
						}
						any_relation = {
							type = guardian
							false_conversion_2000_is_vulnerable_trigger = yes
						}
					}
				}
			}
			any_knight = { false_conversion_2000_is_vulnerable_trigger = yes }
		}
	}

	immediate = {
		save_scope_as = crypto_opportunist
		save_scope_as = owner # For spread_crypto_religion_to_target_effect
		get_characters_of_interest_effect = { LISTNAME = vulnerable_relations }
		# Prioritize characters of high interest before those of low interest
		random_in_list = {
			list = vulnerable_relations
			limit = {
				is_of_major_interest_to_root_trigger = yes
				false_conversion_2000_is_vulnerable_trigger = yes
			}
			save_scope_as = vulnerable_relation
		}
		# If we weren't able to find anyone of major interest, then any ol' minor relation will do
		if = {
			limit = { NOT = { exists = scope:vulnerable_relation } }
			random_in_list = {
				list = vulnerable_relations
				limit = { false_conversion_2000_is_vulnerable_trigger = yes }
				save_scope_as = vulnerable_relation
			}
		}
		# Also for the effect
		scope:vulnerable_relation = { save_scope_as = target }
		# Determine which weakness we will capitalize on
		# Rarer conditions first for more visibility
		if = {
			limit = {
				scope:vulnerable_relation = {
					AND = {
						has_character_modifier = stress_frozen_grief
						OR = {
							has_memory_type = friend_died
							has_memory_type = best_friend_died
							has_memory_type = lover_died
							has_memory_type = soulmate_died
							has_memory_type = relative_died
							has_memory_type = spouse_died
							has_memory_type = dog_died
						}
					}
				}
			}
			add_character_flag = {
				flag = false_conversion_2000_grief
			}
			# Grab the most recent person who died that the relation remembers.  Hopefully they actually care about them.
			ordered_memory = {
				limit = {
					OR = {
						has_memory_type = friend_died
						has_memory_type = best_friend_died
						has_memory_type = lover_died
						has_memory_type = soulmate_died
						has_memory_type = relative_died
						has_memory_type = spouse_died
						has_memory_type = dog_died
					}
				}
				order_by = memory_creation_date
				random_memory_participant = {
					limit = { this != root }
					save_scope_as = deceased_character
				}
			}
		}
		else_if = {
			limit = { scope:vulnerable_relation = { has_trait = depressed_1 } }
			add_character_flag = {
				flag = false_conversion_2000_depression
				days = 1
			}
		}
		else = {
			add_character_flag = {
				flag = false_conversion_2000_stress
				days = 1
			}
		}
	}

	option = { # Glory to Ohrmazd
		name = false_conversion.2000.a
		if = {
			# If relation is a player, then let them decide whether to accept the your secret faith
			limit = { scope:vulnerable_relation = { is_ai = no } }
			scope:vulnerable_relation = { trigger_event = false_conversion.2001 }
			custom_tooltip = false_conversion.2000.a_flavor
		}
		else = {
			duel = {
				skill = learning
				target = scope:vulnerable_relation
				50 = {
					compare_modifier = {
						value = scope:duel_value
						multiplier = 2.5
					}
					desc = false_conversion.2000.a_success
					opinion_modifier = {
						who = scope:vulnerable_relation
						opinion_target = scope:crypto_opportunist
						multiplier = 0.1
					}
					# Convert the relation and take away (some of) their pain
					false_conversion_2000_convert = yes
				}
				50 = { # Relation declines
					desc = false_conversion.2000.a_failure
					compare_modifier = {
						value = scope:duel_value
						multiplier = -2.5
					}
					opinion_modifier = {
						who = scope:vulnerable_relation
						opinion_target = scope:crypto_opportunist
						multiplier = -0.1
					}
					send_interface_toast = {
						title = false_conversion.2000.a_failure
						left_icon = scope:vulnerable_relation
						reverse_add_opinion = {
							target = scope:vulnerable_relation
							modifier = fp2_questioned_my_faith_opinion
						}
					}
				}
			}
		}
		stress_impact = {
			honest = minor_stress_impact_gain
		}

		ai_chance = {
		 	base = 10
		 	ai_value_modifier = {
		 		ai_boldness = 0.1
				ai_compassion = -0.2
				ai_honor = -0.1
				ai_rationality = 0.1
				ai_sociability = -0.1
				ai_zeal = 0.2
			}
		}
	}

	option = { # Just comfort them instead
		name = false_conversion.2000.b
		reverse_add_opinion = {
			target = scope:vulnerable_relation
			modifier = comforted_opinion
		}
		stress_impact = {
			compassionate = minor_stress_impact_loss
		}

		ai_chance = {
		 	base = 10
		 	ai_value_modifier = {
		 		ai_boldness = -0.1
				ai_compassion = 0.2
				ai_honor = 0.1
				ai_rationality = -0.1
				ai_sociability = 0.1
				ai_zeal = -0.2
			}
		}
	}
}

## My Time of Need
## Convert to someone's crypto-faith and ameliorate your grief/stress/depression
false_conversion.2001 = {
	type = character_event
	title = false_conversion.2001.t
	desc = {
		first_valid = {
			triggered_desc = {
				trigger = { scope:crypto_opportunist = { has_character_flag = false_conversion_2000_grief } }
				desc = false_conversion.2001.desc_grief
			}
			triggered_desc = {
				trigger = { scope:crypto_opportunist = { has_character_flag = false_conversion_2000_depression } }
				desc = false_conversion.2001.desc_depression
			}
			triggered_desc = {
				trigger = { scope:crypto_opportunist = { has_character_flag = false_conversion_2000_stress } }
				desc = false_conversion.2001.desc_stress
			}
		}
		desc = false_conversion.2001.desc_outro
	}
	theme = faith
	override_background = { reference = corridor_night }
	left_portrait = scope:crypto_opportunist

	option = { # Convert
		name = false_conversion.2001.a
		false_conversion_2000_convert = yes
		stress_impact = {
			honest = major_stress_impact_gain
			craven = medium_stress_impact_gain
			paranoid = medium_stress_impact_gain
		}
		# No AI chance as AI should never encounter this event
	}

	option = { # Refuse
		name = false_conversion.2001.b
		flavor = false_conversion.2001.b_flavor
	}
}

# Bonus event: Avoid a holy war by converting to the aggressor's religion
# TO-DO

# Your secret religion has been exposed, do you openly convert to it or abandon it?
false_conversion.8000 = {
	type = character_event
	title = false_conversion.8000.t
	desc = {
		desc = false_conversion.8000.desc_intro
		first_valid = {
			triggered_desc = {
				trigger = { exists = scope:disapproving_chaplain }
				desc = false_conversion.8000.desc_disapproving_chaplain
			}
			triggered_desc = {
				trigger = { exists = scope:silent_chaplain }
				desc = false_conversion.8000.desc_silent_chaplain
			}
		}
		desc = false_conversion.8000.desc_outro
	}
	theme = secret
	left_portrait = root
	right_portrait = scope:secret_exposer

	trigger = {
		root != scope:secret_exposer
	}

	immediate = {
		save_scope_as = owner
		# Have the realm priest chastise you unless they also practice the same secret religion
		if = {
			limit = {
				exists = cp:councillor_court_chaplain
				cp:councillor_court_chaplain = {
					secret_faith ?= root.secret_faith
				}
			}
			cp:councillor_court_chaplain = { save_scope_as = silent_chaplain }
		}
		else_if = {
			limit = {
				exists = cp:councillor_court_chaplain
			}
			cp:councillor_court_chaplain = { save_scope_as = disapproving_chaplain }
		}
		secret_exposed_owner_effects_effect = { SECRET = scope:secret POV = root }
		secret_exposed_owner_opinion_effects_effect = yes
		play_music_cue = "mx_cue_secret"
	}

	option = { # Abandon secret faith
		name = false_conversion.8000.a
		add_piety = medium_piety_loss
		add_piety_level = -1

		stress_impact = {
			zealous = major_stress_impact_gain
			content = minor_stress_impact_loss
			arbitrary = minor_stress_impact_loss
		}
		ai_chance = {
			base = 5
		}
	}

	option = { # Convert back to secret faith
		name = false_conversion.8000.b
		set_character_faith_with_conversion = secret_faith
		remove_character_secret_faith = yes
		
		stress_impact = {
			cynical = minor_stress_impact_gain
			zealous = medium_stress_impact_loss
			honest = minor_stress_impact_loss
		}
		ai_chance = {
			base = 5
		}
	}
}
