﻿advcm_religion_change = {
	scope = character
	
	saved_scopes = { selected_faith }
	
	effect = {
		every_in_global_list = {
			variable = marked_characters

			hidden_effect = {
				set_character_faith = scope:selected_faith
			}
		}
	}
}

advcm_religion_list_load = {
	scope = character
	
	effect = {
		advcm_religions_list_effect = yes
	}
}

advcm_change_myreligion = {
	scope = character
	
	effect = {
		change_myreligion_effect = yes
	}
}

advcm_change_myreligion_county = {
	scope = character
	
	effect = {
		change_myreligion_county_effect = yes
	}
}

advcm_change_otherreligion_county = {
	scope = character
	
	effect = {
		change_otherreligion_county_effect = yes
	}
}

advcm_update_current_doctrines = {

	scope = character
	
	saved_scopes = { advcm_selected_faith  }

	effect = {
		save_scope_as = player
		if = {
			limit = {
				has_variable_list = advcm_faith_core_tenets
			}

			clear_variable_list = advcm_faith_core_tenets
		}

		every_in_global_list = {
			variable = advcm_faith_core_tenets_list
			save_scope_as = doctrine
			
			if = {
				limit = {
					scope:advcm_selected_faith = {
						has_doctrine = scope:doctrine
					}
				}

				scope:player = {
					add_to_variable_list = {
						name = advcm_faith_core_tenets
						target = scope:doctrine
					}
				}
			}
		}

		if = {
			limit = {
				has_variable_list = advcm_faith_main_doctrines
			}

			clear_variable_list = advcm_faith_main_doctrines
		}

		every_in_global_list = {
			variable = advcm_faith_main_doctrines_list
			save_scope_as = doctrine
			
			if = {
				limit = {
					scope:advcm_selected_faith = {
						has_doctrine = scope:doctrine
					}
				}

				scope:player = {
					add_to_variable_list = {
						name = advcm_faith_main_doctrines
						target = scope:doctrine
					}
				}
			}
		}

		if = {
			limit = {
				has_variable_list = advcm_faith_marriage_doctrines
			}

			clear_variable_list = advcm_faith_marriage_doctrines
		}
		
		every_in_global_list = {
			variable = advcm_faith_marriage_doctrines_list
			save_scope_as = doctrine
			
			if = {
				limit = {
					scope:advcm_selected_faith = {
						has_doctrine = scope:doctrine
					}
				}

				scope:player = {
					add_to_variable_list = {
						name = advcm_faith_marriage_doctrines
						target = scope:doctrine
					}
				}
			}
		}

		if = {
			limit = {
				has_variable_list = advcm_faith_crime_doctrines
			}

			clear_variable_list = advcm_faith_crime_doctrines
		}
		
		every_in_global_list = {
			variable = advcm_faith_crime_doctrines_list
			save_scope_as = doctrine
			
			if = {
				limit = {
					scope:advcm_selected_faith = {
						has_doctrine = scope:doctrine
					}
				}

				scope:player = {
					add_to_variable_list = {
						name = advcm_faith_crime_doctrines
						target = scope:doctrine
					}
				}
			}
		}

		if = {
			limit = {
				has_variable_list = advcm_faith_clergy_doctrines
			}

			clear_variable_list = advcm_faith_clergy_doctrines
		}
		
		every_in_global_list = {
			variable = advcm_faith_clergy_doctrines_list
			save_scope_as = doctrine
			
			if = {
				limit = {
					scope:advcm_selected_faith = {
						has_doctrine = scope:doctrine
					}
				}

				scope:player = {
					add_to_variable_list = {
						name = advcm_faith_clergy_doctrines
						target = scope:doctrine
					}
				}
			}
		}
		if = {
			limit = {
				has_variable_list = advcm_faith_other_doctrines
			}

			clear_variable_list = advcm_faith_other_doctrines
		}
		
		every_in_global_list = {
			variable = advcm_faith_other_doctrines_list
			save_scope_as = doctrine
			
			if = {
				limit = {
					scope:advcm_selected_faith = {
						has_doctrine = scope:doctrine
					}
				}

				scope:player = {
					add_to_variable_list = {
						name = advcm_faith_other_doctrines
						target = scope:doctrine
					}
				}
			}
		}
		if = {
			limit = {
				has_variable_list = advcm_faith_sin_traits
			}
			clear_variable_list = advcm_faith_sin_traits
		}

		if = {
			limit = {
				has_variable_list = advcm_faith_virtue_traits
			}
			clear_variable_list = advcm_faith_virtue_traits
		}

		every_in_global_list = {
			variable = advcm_temp_all_traits_list
			save_scope_as = trait
			
			if = {
				limit = {
					scope:advcm_selected_faith = {
						trait_is_sin = scope:trait
					}
				}

				scope:player = {
					add_to_variable_list = {
						name = advcm_faith_sin_traits
						target = scope:trait
					}
				}
			}
			else_if = {
				limit = {
					scope:advcm_selected_faith = {
						trait_is_virtue = scope:trait
					}
				}

				scope:player = {
					add_to_variable_list = {
						name = advcm_faith_virtue_traits
						target = scope:trait
					}
				}
			}
		}
	}

}

advcm_doctrine_lists_complete = {

	saved_scopes = { doctrines_size }
   
    is_valid = {
		global_variable_list_size = {name = advcm_temp_all_doctrines_list value >= scope:doctrines_size }
	}

}

advcm_doctrines_list_builder = {
	saved_scopes = { doctrine flag }
	effect = {

		if = {
			limit = { scope:flag = flag:core_tenets }
			add_to_global_variable_list = { name = advcm_faith_core_tenets_list target = scope:doctrine }
		}
		if = {
			limit = { scope:flag = flag:main_doctrines }
			add_to_global_variable_list = { name = advcm_faith_main_doctrines_list target = scope:doctrine }
		}
		if = {
			limit = { scope:flag = flag:marriage_doctrines }
			add_to_global_variable_list = { name = advcm_faith_marriage_doctrines_list target = scope:doctrine }
		}
		if = {
			limit = { scope:flag = flag:crime_doctrines }
			add_to_global_variable_list = { name = advcm_faith_crime_doctrines_list target = scope:doctrine }
		}
		if = {
			limit = { scope:flag = flag:clergy_doctrines }
			add_to_global_variable_list = { name = advcm_faith_clergy_doctrines_list target = scope:doctrine }
		}
		if = {
			limit = { scope:flag = flag:other_doctrines }
			add_to_global_variable_list = { name = advcm_faith_other_doctrines_list target = scope:doctrine }
		}
		if = {
			limit = { scope:flag = flag:all }
			add_to_global_variable_list = { name = advcm_temp_all_doctrines_list target = scope:doctrine }
		}
	}
}

advcm_add_doctrine = {
	saved_scopes = { doctrine }

	effect = {
		if = {
			limit = { has_variable = replace_doctrine }
			var:selected_faith = {
				if = {
					limit = {
						NOT = { has_doctrine = scope:doctrine}
					}
					remove_doctrine = prev.var:replace_doctrine
					add_doctrine = scope:doctrine
				}
			}
			set_variable = {
				name = replace_doctrine
				value = scope:doctrine
			}
		}
		else = {
			var:selected_faith = {
				add_doctrine = scope:doctrine
			}
		}
	}
}

advcm_remove_doctrine = {
	saved_scopes = { doctrine }

	effect = {
	    var:selected_faith = {
			remove_doctrine = scope:doctrine
		}
	}
}

advcm_replace_doctrine = {
	saved_scopes = { doctrine }

	effect = {
		set_variable = {
			name = replace_doctrine
			value = scope:doctrine
		}
	}
}

