﻿# Phase 4/7: Religious State lifecycle, program purchases and the targeted
# religious project (replaces the old missionary system - see
# common/scripted_triggers/ve_religious_state_triggers.txt for the 4-model
# law mapping this all follows).

ve_clear_religious_programs = {
	remove_modifier = ve_confessional_program_1_mdf
	remove_modifier = ve_confessional_program_2_mdf
	remove_modifier = ve_confessional_program_3_mdf
	remove_modifier = ve_confessional_program_4_mdf
	remove_modifier = ve_confessional_program_5_mdf
	remove_modifier = ve_confessional_program_6_mdf
	remove_modifier = ve_confessional_program_7_mdf
	remove_modifier = ve_confessional_program_8_mdf
	remove_modifier = ve_freedom_program_1_mdf
	remove_modifier = ve_freedom_program_2_mdf
	remove_modifier = ve_freedom_program_3_mdf
	remove_modifier = ve_freedom_program_4_mdf
	remove_modifier = ve_freedom_program_5_mdf
	remove_modifier = ve_freedom_program_6_mdf
	remove_modifier = ve_freedom_program_7_mdf
	remove_modifier = ve_freedom_program_8_mdf
	remove_modifier = ve_separation_program_1_mdf
	remove_modifier = ve_separation_program_2_mdf
	remove_modifier = ve_separation_program_3_mdf
	remove_modifier = ve_separation_program_4_mdf
	remove_modifier = ve_separation_program_5_mdf
	remove_modifier = ve_separation_program_6_mdf
	remove_modifier = ve_separation_program_7_mdf
	remove_modifier = ve_separation_program_8_mdf
	remove_modifier = ve_atheism_program_1_mdf
	remove_modifier = ve_atheism_program_2_mdf
	remove_modifier = ve_atheism_program_3_mdf
	remove_modifier = ve_atheism_program_4_mdf
	remove_modifier = ve_atheism_program_5_mdf
	remove_modifier = ve_atheism_program_6_mdf
	remove_modifier = ve_atheism_program_7_mdf
	remove_modifier = ve_atheism_program_8_mdf
}

ve_clear_religious_settlement_modifiers = {
	remove_modifier = ve_confessional_settlement_mdf
	remove_modifier = ve_freedom_settlement_mdf
	remove_modifier = ve_separation_settlement_mdf
	remove_modifier = ve_atheism_settlement_mdf
	ve_clear_confessional_faith_family = yes
	remove_modifier = ve_confessional_high_settlement_mdf
	remove_modifier = ve_freedom_high_settlement_mdf
	remove_modifier = ve_separation_high_settlement_mdf
	remove_modifier = ve_atheism_high_settlement_mdf
	remove_modifier = ve_religious_low_settlement_mdf
}

ve_clear_confessional_faith_family = {
	if = {
		limit = {
			OR = {
				has_modifier = ve_confessional_christian_family_mdf
				has_modifier = ve_confessional_islamic_family_mdf
				has_modifier = ve_confessional_jewish_family_mdf
				has_modifier = ve_confessional_dharmic_family_mdf
				has_modifier = ve_confessional_scholarly_family_mdf
				has_modifier = ve_confessional_animist_family_mdf
			}
		}
		remove_modifier = ve_confessional_christian_family_mdf
		remove_modifier = ve_confessional_islamic_family_mdf
		remove_modifier = ve_confessional_jewish_family_mdf
		remove_modifier = ve_confessional_dharmic_family_mdf
		remove_modifier = ve_confessional_scholarly_family_mdf
		remove_modifier = ve_confessional_animist_family_mdf
	}
}

ve_sync_confessional_faith_family = {
	if = {
		limit = {
			OR = {
				country_has_state_religion = rel:catholic
				country_has_state_religion = rel:protestant
				country_has_state_religion = rel:orthodox
				country_has_state_religion = rel:oriental_orthodox
			}
			NOT = { has_modifier = ve_confessional_christian_family_mdf }
		}
		remove_modifier = ve_confessional_islamic_family_mdf
		remove_modifier = ve_confessional_jewish_family_mdf
		remove_modifier = ve_confessional_dharmic_family_mdf
		remove_modifier = ve_confessional_scholarly_family_mdf
		remove_modifier = ve_confessional_animist_family_mdf
		add_modifier = { name = ve_confessional_christian_family_mdf months = -1 }
	}
	else_if = {
		limit = {
			OR = {
				country_has_state_religion = rel:sunni
				country_has_state_religion = rel:shiite
			}
			NOT = { has_modifier = ve_confessional_islamic_family_mdf }
		}
		remove_modifier = ve_confessional_christian_family_mdf
		remove_modifier = ve_confessional_jewish_family_mdf
		remove_modifier = ve_confessional_dharmic_family_mdf
		remove_modifier = ve_confessional_scholarly_family_mdf
		remove_modifier = ve_confessional_animist_family_mdf
		add_modifier = { name = ve_confessional_islamic_family_mdf months = -1 }
	}
	else_if = {
		limit = {
			country_has_state_religion = rel:jewish
			NOT = { has_modifier = ve_confessional_jewish_family_mdf }
		}
		remove_modifier = ve_confessional_christian_family_mdf
		remove_modifier = ve_confessional_islamic_family_mdf
		remove_modifier = ve_confessional_dharmic_family_mdf
		remove_modifier = ve_confessional_scholarly_family_mdf
		remove_modifier = ve_confessional_animist_family_mdf
		add_modifier = { name = ve_confessional_jewish_family_mdf months = -1 }
	}
	else_if = {
		limit = {
			OR = {
				country_has_state_religion = rel:hindu
				country_has_state_religion = rel:sikh
			}
			NOT = { has_modifier = ve_confessional_dharmic_family_mdf }
		}
		remove_modifier = ve_confessional_christian_family_mdf
		remove_modifier = ve_confessional_islamic_family_mdf
		remove_modifier = ve_confessional_jewish_family_mdf
		remove_modifier = ve_confessional_scholarly_family_mdf
		remove_modifier = ve_confessional_animist_family_mdf
		add_modifier = { name = ve_confessional_dharmic_family_mdf months = -1 }
	}
	else_if = {
		limit = {
			OR = {
				country_has_state_religion = rel:mahayana
				country_has_state_religion = rel:gelugpa
				country_has_state_religion = rel:theravada
				country_has_state_religion = rel:shinto
				country_has_state_religion = rel:confucian
			}
			NOT = { has_modifier = ve_confessional_scholarly_family_mdf }
		}
		remove_modifier = ve_confessional_christian_family_mdf
		remove_modifier = ve_confessional_islamic_family_mdf
		remove_modifier = ve_confessional_jewish_family_mdf
		remove_modifier = ve_confessional_dharmic_family_mdf
		remove_modifier = ve_confessional_animist_family_mdf
		add_modifier = { name = ve_confessional_scholarly_family_mdf months = -1 }
	}
	else_if = {
		limit = {
			country_has_state_religion = rel:animist
			NOT = { has_modifier = ve_confessional_animist_family_mdf }
		}
		remove_modifier = ve_confessional_christian_family_mdf
		remove_modifier = ve_confessional_islamic_family_mdf
		remove_modifier = ve_confessional_jewish_family_mdf
		remove_modifier = ve_confessional_dharmic_family_mdf
		remove_modifier = ve_confessional_scholarly_family_mdf
		add_modifier = { name = ve_confessional_animist_family_mdf months = -1 }
	}
}

ve_set_religious_model_variable = {
	if = {
		limit = { ve_is_atheism_state = yes }
		set_variable = {
			name = ve_religious_model
			value = 4
		}
	}
	else_if = {
		limit = { ve_is_separation_state = yes }
		set_variable = {
			name = ve_religious_model
			value = 3
		}
	}
	else_if = {
		limit = { ve_is_freedom_state = yes }
		set_variable = {
			name = ve_religious_model
			value = 2
		}
	}
	else = {
		set_variable = {
			name = ve_religious_model
			value = 1
		}
	}
}

ve_add_religious_transition_crisis = {
	if = {
		limit = {
			ve_is_atheism_state = yes
			OR = {
				literacy_rate < 0.50
				ig:ig_devout = { ig_clout >= 0.20 }
			}
		}
		add_modifier = {
			name = ve_religious_settlement_crisis_mdf
			months = 60
		}
	}
	else_if = {
		limit = { ve_is_atheism_state = yes }
		add_modifier = {
			name = ve_religious_settlement_crisis_mdf
			months = 36
		}
	}
	else_if = {
		limit = { ve_is_confessional_state = yes }
		add_modifier = {
			name = ve_religious_settlement_crisis_mdf
			months = 48
		}
	}
	else = {
		add_modifier = {
			name = ve_religious_settlement_crisis_mdf
			months = 36
		}
	}
}

ve_initialize_or_transition_religious_model = {
	if = {
		limit = {
			NOT = { has_variable = ve_religious_model }
		}
		ve_clear_religious_programs = yes
		ve_clear_religious_settlement_modifiers = yes
		ve_set_religious_model_variable = yes
		set_variable = {
			name = piety_bar_point
			value = 50
		}
	}
	else_if = {
		limit = {
			OR = {
				AND = {
					ve_is_confessional_state = yes
					var:ve_religious_model != 1
				}
				AND = {
					ve_is_freedom_state = yes
					var:ve_religious_model != 2
				}
				AND = {
					ve_is_separation_state = yes
					var:ve_religious_model != 3
				}
				AND = {
					ve_is_atheism_state = yes
					var:ve_religious_model != 4
				}
			}
		}
		ve_clear_religious_programs = yes
		ve_clear_religious_settlement_modifiers = yes
		remove_modifier = ve_religious_program_strain_mdf
		ve_cancel_religious_project_for_model_change = yes
		ve_set_religious_model_variable = yes
		set_variable = {
			name = piety_bar_point
			value = 35
		}
		ve_add_religious_transition_crisis = yes
		# The model variable and authoritative crisis modifier now exist.
		# Initial setup uses the branch above and deliberately skips the Journey.
		ve_begin_religious_transition_journey = yes
	}
}

ve_sync_religious_settlement_modifiers = {
	if = {
		limit = { ve_is_confessional_state = yes }
		remove_modifier = ve_freedom_settlement_mdf
		remove_modifier = ve_separation_settlement_mdf
		remove_modifier = ve_atheism_settlement_mdf
		ve_sync_confessional_faith_family = yes
		if = {
			limit = {
				NOT = { has_modifier = ve_confessional_settlement_mdf }
			}
			add_modifier = {
				name = ve_confessional_settlement_mdf
				months = -1
			}
		}
	}
	else_if = {
		limit = { ve_is_freedom_state = yes }
		remove_modifier = ve_confessional_settlement_mdf
		remove_modifier = ve_separation_settlement_mdf
		remove_modifier = ve_atheism_settlement_mdf
		ve_clear_confessional_faith_family = yes
		if = {
			limit = {
				NOT = { has_modifier = ve_freedom_settlement_mdf }
			}
			add_modifier = {
				name = ve_freedom_settlement_mdf
				months = -1
			}
		}
	}
	else_if = {
		limit = { ve_is_separation_state = yes }
		remove_modifier = ve_confessional_settlement_mdf
		remove_modifier = ve_freedom_settlement_mdf
		remove_modifier = ve_atheism_settlement_mdf
		ve_clear_confessional_faith_family = yes
		if = {
			limit = {
				NOT = { has_modifier = ve_separation_settlement_mdf }
			}
			add_modifier = {
				name = ve_separation_settlement_mdf
				months = -1
			}
		}
	}
	else = {
		remove_modifier = ve_confessional_settlement_mdf
		remove_modifier = ve_freedom_settlement_mdf
		remove_modifier = ve_separation_settlement_mdf
		ve_clear_confessional_faith_family = yes
		if = {
			limit = {
				NOT = { has_modifier = ve_atheism_settlement_mdf }
			}
			add_modifier = {
				name = ve_atheism_settlement_mdf
				months = -1
			}
		}
	}

	if = {
		limit = { var:piety_bar_point >= 75 }
		remove_modifier = ve_religious_low_settlement_mdf
		if = {
			limit = { ve_is_confessional_state = yes }
			remove_modifier = ve_freedom_high_settlement_mdf
			remove_modifier = ve_separation_high_settlement_mdf
			remove_modifier = ve_atheism_high_settlement_mdf
			if = {
				limit = {
					NOT = { has_modifier = ve_confessional_high_settlement_mdf }
				}
				add_modifier = {
					name = ve_confessional_high_settlement_mdf
					months = -1
				}
			}
		}
		else_if = {
			limit = { ve_is_freedom_state = yes }
			remove_modifier = ve_confessional_high_settlement_mdf
			remove_modifier = ve_separation_high_settlement_mdf
			remove_modifier = ve_atheism_high_settlement_mdf
			if = {
				limit = {
					NOT = { has_modifier = ve_freedom_high_settlement_mdf }
				}
				add_modifier = {
					name = ve_freedom_high_settlement_mdf
					months = -1
				}
			}
		}
		else_if = {
			limit = { ve_is_separation_state = yes }
			remove_modifier = ve_confessional_high_settlement_mdf
			remove_modifier = ve_freedom_high_settlement_mdf
			remove_modifier = ve_atheism_high_settlement_mdf
			if = {
				limit = {
					NOT = { has_modifier = ve_separation_high_settlement_mdf }
				}
				add_modifier = {
					name = ve_separation_high_settlement_mdf
					months = -1
				}
			}
		}
		else = {
			remove_modifier = ve_confessional_high_settlement_mdf
			remove_modifier = ve_freedom_high_settlement_mdf
			remove_modifier = ve_separation_high_settlement_mdf
			if = {
				limit = {
					NOT = { has_modifier = ve_atheism_high_settlement_mdf }
				}
				add_modifier = {
					name = ve_atheism_high_settlement_mdf
					months = -1
				}
			}
		}
	}
	else_if = {
		limit = { var:piety_bar_point <= 25 }
		remove_modifier = ve_confessional_high_settlement_mdf
		remove_modifier = ve_freedom_high_settlement_mdf
		remove_modifier = ve_separation_high_settlement_mdf
		remove_modifier = ve_atheism_high_settlement_mdf
		if = {
			limit = {
				NOT = { has_modifier = ve_religious_low_settlement_mdf }
			}
			add_modifier = {
				name = ve_religious_low_settlement_mdf
				months = -1
			}
		}
	}
	else = {
		remove_modifier = ve_confessional_high_settlement_mdf
		remove_modifier = ve_freedom_high_settlement_mdf
		remove_modifier = ve_separation_high_settlement_mdf
		remove_modifier = ve_atheism_high_settlement_mdf
		remove_modifier = ve_religious_low_settlement_mdf
	}
}

# Guarded wrapper for ve_sync_religious_settlement_modifiers. The monthly tick
# and on_law_activated both call this name; it was never defined, which logged
# "Unknown effect ve_sync_religious_state_if_needed" and left the model and
# settlement-tier modifiers unapplied because nothing else calls the sync.
# Structured like ve_sync_identity_if_needed: the missing-variable case is a
# separate branch so no comparison ever reads an unset variable.
ve_sync_religious_state_if_needed = {
	if = {
		limit = {
			OR = {
				NOT = { has_variable = ve_synced_religious_model }
				NOT = { has_variable = ve_synced_settlement_tier }
				# Reconcile saves created before parent-based Confessional laws
				# (notably TUR's Millet System) were classified correctly.
				AND = {
					ve_is_confessional_state = yes
					NOT = { has_modifier = ve_confessional_settlement_mdf }
				}
			}
		}
		ve_sync_religious_settlement_modifiers = yes
		ve_mark_religious_state_synced = yes
	}
	else_if = {
		limit = {
			OR = {
				var:ve_synced_religious_model != var:ve_religious_model
				AND = {
					var:piety_bar_point >= 75
					var:ve_synced_settlement_tier != 1
				}
				AND = {
					var:piety_bar_point <= 25
					var:ve_synced_settlement_tier != 3
				}
				AND = {
					var:piety_bar_point > 25
					var:piety_bar_point < 75
					var:ve_synced_settlement_tier != 2
				}
			}
		}
		ve_sync_religious_settlement_modifiers = yes
		ve_mark_religious_state_synced = yes
	}
}

ve_mark_religious_state_synced = {
	set_variable = {
		name = ve_synced_religious_model
		value = var:ve_religious_model
	}
	if = {
		limit = { var:piety_bar_point >= 75 }
		set_variable = {
			name = ve_synced_settlement_tier
			value = 1
		}
	}
	else_if = {
		limit = { var:piety_bar_point <= 25 }
		set_variable = {
			name = ve_synced_settlement_tier
			value = 3
		}
	}
	else = {
		set_variable = {
			name = ve_synced_settlement_tier
			value = 2
		}
	}
}

ve_clamp_religious_state = {
	if = {
		limit = { var:piety_bar_point < 0 }
		set_variable = {
			name = piety_bar_point
			value = 0
		}
	}
	else_if = {
		limit = { var:piety_bar_point > 100 }
		set_variable = {
			name = piety_bar_point
			value = 100
		}
	}
}

ve_clamp_piety_reform = {
	if = {
		limit = { var:piety_reform_point < 0 }
		set_variable = {
			name = piety_reform_point
			value = 0
		}
	}
	else_if = {
		limit = { var:piety_reform_point > 500 }
		set_variable = {
			name = piety_reform_point
			value = 500
		}
	}
}

# Programs now spend piety_reform_point (the income currency), never
# piety_bar_point (the equilibrium meter) - see the memory note on why the two
# were split.
ve_religious_program_cost = {
	change_variable = {
		name = piety_reform_point
		subtract = 25
	}
	add_modifier = {
		name = ve_religious_program_strain_mdf
		months = 24
	}
	ve_clamp_piety_reform = yes
}

ve_adopt_religious_program_1 = {
	ve_religious_program_cost = yes
	if = {
		limit = { ve_is_confessional_state = yes }
		add_modifier = { name = ve_confessional_program_1_mdf months = -1 }
	}
	else_if = {
		limit = { ve_is_freedom_state = yes }
		add_modifier = { name = ve_freedom_program_1_mdf months = -1 }
	}
	else_if = {
		limit = { ve_is_separation_state = yes }
		add_modifier = { name = ve_separation_program_1_mdf months = -1 }
	}
	else = {
		add_modifier = { name = ve_atheism_program_1_mdf months = -1 }
	}
}

ve_adopt_religious_program_2 = {
	ve_religious_program_cost = yes
	if = {
		limit = { ve_is_confessional_state = yes }
		add_modifier = { name = ve_confessional_program_2_mdf months = -1 }
	}
	else_if = {
		limit = { ve_is_freedom_state = yes }
		add_modifier = { name = ve_freedom_program_2_mdf months = -1 }
	}
	else_if = {
		limit = { ve_is_separation_state = yes }
		add_modifier = { name = ve_separation_program_2_mdf months = -1 }
	}
	else = {
		add_modifier = { name = ve_atheism_program_2_mdf months = -1 }
	}
}

ve_adopt_religious_program_3 = {
	ve_religious_program_cost = yes
	if = {
		limit = { ve_is_confessional_state = yes }
		add_modifier = { name = ve_confessional_program_3_mdf months = -1 }
	}
	else_if = {
		limit = { ve_is_freedom_state = yes }
		add_modifier = { name = ve_freedom_program_3_mdf months = -1 }
	}
	else_if = {
		limit = { ve_is_separation_state = yes }
		add_modifier = { name = ve_separation_program_3_mdf months = -1 }
	}
	else = {
		add_modifier = { name = ve_atheism_program_3_mdf months = -1 }
	}
}

ve_adopt_religious_program_4 = {
	ve_religious_program_cost = yes
	if = {
		limit = { ve_is_confessional_state = yes }
		add_modifier = { name = ve_confessional_program_4_mdf months = -1 }
	}
	else_if = {
		limit = { ve_is_freedom_state = yes }
		add_modifier = { name = ve_freedom_program_4_mdf months = -1 }
	}
	else_if = {
		limit = { ve_is_separation_state = yes }
		add_modifier = { name = ve_separation_program_4_mdf months = -1 }
	}
	else = {
		add_modifier = { name = ve_atheism_program_4_mdf months = -1 }
	}
}

ve_adopt_religious_program_5 = {
	ve_religious_program_cost = yes
	if = {
		limit = { ve_is_confessional_state = yes }
		add_modifier = { name = ve_confessional_program_5_mdf months = -1 }
	}
	else_if = {
		limit = { ve_is_freedom_state = yes }
		add_modifier = { name = ve_freedom_program_5_mdf months = -1 }
	}
	else_if = {
		limit = { ve_is_separation_state = yes }
		add_modifier = { name = ve_separation_program_5_mdf months = -1 }
	}
	else = {
		add_modifier = { name = ve_atheism_program_5_mdf months = -1 }
	}
}

ve_adopt_religious_program_6 = {
	ve_religious_program_cost = yes
	if = {
		limit = { ve_is_confessional_state = yes }
		add_modifier = { name = ve_confessional_program_6_mdf months = -1 }
	}
	else_if = {
		limit = { ve_is_freedom_state = yes }
		add_modifier = { name = ve_freedom_program_6_mdf months = -1 }
	}
	else_if = {
		limit = { ve_is_separation_state = yes }
		add_modifier = { name = ve_separation_program_6_mdf months = -1 }
	}
	else = {
		add_modifier = { name = ve_atheism_program_6_mdf months = -1 }
	}
}

ve_adopt_religious_program_7 = {
	ve_religious_program_cost = yes
	if = {
		limit = { ve_is_confessional_state = yes }
		add_modifier = { name = ve_confessional_program_7_mdf months = -1 }
	}
	else_if = {
		limit = { ve_is_freedom_state = yes }
		add_modifier = { name = ve_freedom_program_7_mdf months = -1 }
	}
	else_if = {
		limit = { ve_is_separation_state = yes }
		add_modifier = { name = ve_separation_program_7_mdf months = -1 }
	}
	else = {
		add_modifier = { name = ve_atheism_program_7_mdf months = -1 }
	}
}

ve_adopt_religious_program_8 = {
	ve_religious_program_cost = yes
	if = {
		limit = { ve_is_confessional_state = yes }
		add_modifier = { name = ve_confessional_program_8_mdf months = -1 }
	}
	else_if = {
		limit = { ve_is_freedom_state = yes }
		add_modifier = { name = ve_freedom_program_8_mdf months = -1 }
	}
	else_if = {
		limit = { ve_is_separation_state = yes }
		add_modifier = { name = ve_separation_program_8_mdf months = -1 }
	}
	else = {
		add_modifier = { name = ve_atheism_program_8_mdf months = -1 }
	}
}

ve_ai_uses_religion = {
	if = {
		limit = { ve_can_adopt_any_religious_program = yes }
		random_list = {
			20 = {
				trigger = { NOT = { ve_has_religious_program_1 = yes } }
				modifier = {
					if = {
						limit = {
							OR = {
								has_strategy = ai_strategy_conservative_agenda
								has_strategy = ai_strategy_armed_isolationism
							}
						}
						add = 20
					}
				}
				ve_adopt_religious_program_1 = yes
			}
			20 = {
				trigger = { NOT = { ve_has_religious_program_2 = yes } }
				modifier = {
					if = {
						limit = { has_strategy = ai_strategy_colonial_expansion }
						add = 15
					}
				}
				ve_adopt_religious_program_2 = yes
			}
			20 = {
				trigger = { NOT = { ve_has_religious_program_3 = yes } }
				modifier = {
					if = {
						limit = {
							OR = {
								has_strategy = ai_strategy_progressive_agenda
								has_strategy = ai_strategy_egalitarian_agenda
							}
						}
						add = 20
					}
				}
				ve_adopt_religious_program_3 = yes
			}
			20 = {
				trigger = { NOT = { ve_has_religious_program_4 = yes } }
				modifier = {
					if = {
						limit = { country_turmoil >= 0.15 }
						add = 25
					}
				}
				ve_adopt_religious_program_4 = yes
			}
			20 = {
				trigger = { NOT = { ve_has_religious_program_5 = yes } }
				modifier = {
					if = {
						limit = { has_strategy = ai_strategy_nationalist_agenda }
						add = 30
					}
				}
				ve_adopt_religious_program_5 = yes
			}
			20 = {
				trigger = { NOT = { ve_has_religious_program_6 = yes } }
				modifier = {
					if = {
						limit = {
							OR = {
								is_at_war = yes
								has_strategy = ai_strategy_territorial_expansion
							}
						}
						add = 25
					}
				}
				ve_adopt_religious_program_6 = yes
			}
			20 = {
				trigger = { NOT = { ve_has_religious_program_7 = yes } }
				modifier = {
					if = {
						limit = { bureaucracy < 0 }
						add = 20
					}
				}
				ve_adopt_religious_program_7 = yes
			}
			20 = {
				trigger = { NOT = { ve_has_religious_program_8 = yes } }
				modifier = {
					if = {
						limit = {
							OR = {
								has_strategy = ai_strategy_progressive_agenda
								has_strategy = ai_strategy_conservative_agenda
							}
						}
						add = 15
					}
				}
				ve_adopt_religious_program_8 = yes
			}
		}
	}
	ve_ai_uses_religious_projects = yes
}

# --- Phase 7: Targeted Religious Project (replaces the missionary system) ---
# Mirrors common/scripted_effects/ve_cultural_project_effects.txt. Total
# Separation deliberately has no project - see ve_religious_project_enabled.

ve_clear_religious_project_state = {
	every_scope_state = {
		remove_modifier = ve_religious_project_active_mdf
	}
}

ve_clear_active_religious_project = {
	remove_modifier = ve_religious_project_administration_mdf
	ve_clear_religious_project_state = yes
	ve_evt_clear_religious_incident_session = yes
	remove_variable = ve_religious_project_type
	remove_variable = ve_religious_project_progress
	remove_variable = ve_religious_project_target_state
	remove_variable = ve_religious_project_target_religion
}

ve_initialize_religious_projects = {
	if = {
		limit = {
			NOT = { has_variable = ve_religious_projects_initialized }
		}
		set_variable = ve_religious_projects_initialized
		# Preserve a project started before the first monthly pulse. The cleanup
		# is solely for inactive stale state carried by older saves.
		if = {
			limit = { ve_has_no_active_religious_project = yes }
			ve_clear_active_religious_project = yes
		}
	}
}

ve_begin_religious_project_common = {
	# Mark initialization at creation time to make the monthly migration inert.
	set_variable = ve_religious_projects_initialized
	set_variable = {
		name = ve_religious_project_progress
		value = 0
	}
	add_modifier = {
		name = ve_religious_project_administration_mdf
		months = -1
	}
	ve_evt_begin_religious_incident_session = yes
	ve_evt_tm_begin_religious_project = yes
}

# Scope: state. Called by the scripted GUI once the state target is chosen.
ve_begin_targeted_religious_project = {
	owner = {
		set_variable = {
			name = ve_religious_project_target_state
			# PREV is the selected state for both the player GUI and the AI's
			# ordered_owned_state path; THIS is already reassigned to owner here.
			value = PREV
		}
		set_variable = {
			name = ve_religious_project_target_religion
			value = religion
		}
		if = {
			limit = { ve_is_confessional_state = yes }
			change_variable = {
				name = piety_reform_point
				subtract = 125
			}
			set_variable = {
				name = ve_religious_project_type
				value = 1
			}
		}
		else_if = {
			limit = { ve_is_freedom_state = yes }
			change_variable = {
				name = piety_reform_point
				subtract = 100
			}
			set_variable = {
				name = ve_religious_project_type
				value = 2
			}
		}
		else = {
			change_variable = {
				name = piety_reform_point
				subtract = 150
			}
			set_variable = {
				name = ve_religious_project_type
				value = 3
			}
		}
		ve_begin_religious_project_common = yes
		ve_clamp_piety_reform = yes
	}
	add_modifier = {
		name = ve_religious_project_active_mdf
		months = -1
	}
}

# The Nationalist idea conversion bonus lives in
# common/script_values/ve_religious_project_values.txt as a script value
# (ve_religious_project_conversion_amount), not here.

ve_finish_confessional_conversion = {
	var:ve_religious_project_target_state ?= {
		convert_population = {
			target = ROOT.religion
			value = ve_religious_project_conversion_amount
		}
		add_radicals_in_state = {
			value = small_radicals
		}
	}
	change_variable = {
		name = piety_reform_point
		add = 20
	}
	change_variable = {
		name = piety_bar_point
		add = 5
	}
}

ve_finish_freedom_outreach = {
	var:ve_religious_project_target_state ?= {
		add_loyalists_in_state = {
			value = small_radicals
		}
	}
	change_variable = {
		name = piety_reform_point
		add = 20
	}
	change_variable = {
		name = piety_bar_point
		add = 7
	}
}

ve_finish_secularization_campaign = {
	var:ve_religious_project_target_state ?= {
		convert_population = {
			target = rel:atheist
			value = ve_religious_project_conversion_amount
		}
		add_radicals_in_state = {
			value = small_radicals
		}
	}
	change_variable = {
		name = piety_reform_point
		add = 25
	}
	change_variable = {
		name = piety_bar_point
		add = 8
	}
}

ve_finish_religious_project = {
	if = {
		limit = { var:ve_religious_project_type == 1 }
		ve_finish_confessional_conversion = yes
	}
	else_if = {
		limit = { var:ve_religious_project_type == 2 }
		ve_finish_freedom_outreach = yes
	}
	else_if = {
		limit = { var:ve_religious_project_type == 3 }
		ve_finish_secularization_campaign = yes
	}
	if = {
		limit = { has_journal_entry = ve_je_religious_project }
		set_variable = ve_evt_religious_je_success
	}
	ve_evt_tm_resolve_religious_success = yes
	ve_clear_active_religious_project = yes
	ve_clamp_piety_reform = yes
	ve_clamp_religious_state = yes
}

ve_cancel_religious_project = {
	if = {
		limit = { ve_has_active_religious_project = yes }
		if = {
			limit = { has_journal_entry = ve_je_religious_project }
			set_variable = ve_evt_religious_je_failure
		}
		ve_evt_tm_resolve_religious_failure = yes
		ve_clear_active_religious_project = yes
		change_variable = {
			name = piety_bar_point
			subtract = 5
		}
		add_modifier = {
			name = ve_religious_project_backlash_mdf
			months = 24
		}
		ve_clamp_religious_state = yes
	}
}

ve_cancel_religious_project_for_model_change = {
	if = {
		limit = { ve_has_active_religious_project = yes }
		if = {
			limit = { has_journal_entry = ve_je_religious_project }
			set_variable = ve_evt_religious_je_invalid
		}
		ve_evt_tm_resolve_religious_invalid = yes
		ve_clear_active_religious_project = yes
	}
}

ve_update_religious_project = {
	ve_initialize_religious_projects = yes
	if = {
		limit = { ve_has_active_religious_project = yes }
		ve_evt_tm_tick_religious_project = yes
		if = {
			limit = {
				OR = {
					NOT = { has_variable = ve_religious_project_target_state }
					NOT = {
						var:ve_religious_project_target_state ?= {
							owner = ROOT
						}
					}
				}
			}
			ve_cancel_religious_project = yes
		}
		else = {
			change_variable = {
				name = ve_religious_project_progress
				add = ve_monthly_religious_project_progress
			}
			if = {
				limit = { var:ve_religious_project_progress >= 100 }
				ve_finish_religious_project = yes
			}
		}
	}
}

ve_ai_uses_religious_projects = {
	if = {
		limit = {
			is_ai = yes
			ve_has_no_active_religious_project = yes
			ve_religious_project_enabled = yes
			var:piety_reform_point >= 100
		}
		if = {
			limit = {
				any_scope_state = {
					ve_state_has_religious_project_target = yes
				}
			}
			ordered_scope_state = {
				limit = {
					ve_state_has_religious_project_target = yes
				}
				order_by = state_population
				position = 0
				check_range_bounds = no
				ve_begin_targeted_religious_project = yes
			}
		}
	}
}
