﻿advcm_artifact_select_char = {
	scope = character
	
	effect = {
		set_global_variable = {
			name = advcm_artifact_selected_char
			value = this
		}
	}
}

advcm_take_artifact = {
	scope = character
	
	saved_scopes = { selected_artifact }
	
	effect = {
	
		save_scope_as = new_owner
		
		scope:selected_artifact = {
			set_owner = scope:new_owner
		}
	}
}

advcm_destroy_artifact = {
	scope = character
	
	saved_scopes = { selected_artifact }
	
	effect = {
	
		destroy_artifact = scope:selected_artifact
	
	}
}

advcm_edit_artifact_desc = {
	scope = character
	
	effect = {
		trigger_event = { id = advcm_events.2 }
	}
}

advcm_get_artifact_list = {

	scope = character
	
	effect = {
		
		every_in_global_list = {
			variable = marked_characters
			every_character_artifact  = {
				add_to_global_variable_list = { name = advcm_artifact_list target = this }
			}
		}
	
	
	}

}

advcm_clear_artifact_list = {
	scope = character
	
	effect = {
		clear_global_variable_list = advcm_artifact_list
	}
}

advcm_weapon_list = {
	scope = character
	
	effect = {
		
		add_to_global_variable_list = { name = weapon_type_list target = flag:advcm_axe}
		add_to_global_variable_list = { name = weapon_type_list target = flag:advcm_dagger}
		add_to_global_variable_list = { name = weapon_type_list target = flag:advcm_hammer}
		add_to_global_variable_list = { name = weapon_type_list target = flag:advcm_mace}
		add_to_global_variable_list = { name = weapon_type_list target = flag:advcm_spear}
		add_to_global_variable_list = { name = weapon_type_list target = flag:advcm_sword}
		add_to_global_variable_list = { name = weapon_type_list target = flag:advcm_longsword}
		if = {
			limit = {
				has_fp3_dlc_trigger = yes
			}
			add_to_global_variable_list = { name = weapon_type_list target = flag:advcm_sassanian_sword}
		}
		if = {
			limit = {
				has_dlc_feature = tours_and_tournaments
			}
			add_to_global_variable_list = { name = weapon_type_list target = flag:advcm_bow}
			add_to_global_variable_list = { name = weapon_type_list target = flag:advcm_longbow}
			add_to_global_variable_list = { name = weapon_type_list target = flag:advcm_composite_bow}
		    add_to_global_variable_list = { name = weapon_type_list target = flag:advcm_crossbow}
		}
	}
}

advcm_armor_list = {
	scope = character
	
	effect = {
		
		add_to_global_variable_list = { name = armor_type_list target = flag:advcm_armor}
	}
}

advcm_regalia_list = {
	scope = character
	
	effect = {
		
		add_to_global_variable_list = { name = regalia_type_list target = flag:advcm_crown}
		add_to_global_variable_list = { name = regalia_type_list target = flag:advcm_regalia}
		add_to_global_variable_list = { name = regalia_type_list target = flag:advcm_necklace}
		add_to_global_variable_list = { name = regalia_type_list target = flag:advcm_brooch}
	}
}

advcm_court_list = {
	scope = character
	
	effect = {
		
		add_to_global_variable_list = { name = court_type_list target = flag:advcm_small_shield}
		add_to_global_variable_list = { name = court_type_list target = flag:advcm_large_shield}
		add_to_global_variable_list = { name = court_type_list target = flag:advcm_tapestry}
		add_to_global_variable_list = { name = court_type_list target = flag:advcm_throne}
		add_to_global_variable_list = { name = court_type_list target = flag:advcm_small_box}
		add_to_global_variable_list = { name = court_type_list target = flag:advcm_medium_box}
		add_to_global_variable_list = { name = court_type_list target = flag:advcm_goblet}
		add_to_global_variable_list = { name = court_type_list target = flag:advcm_cabinet}
		add_to_global_variable_list = { name = court_type_list target = flag:advcm_chest}
		add_to_global_variable_list = { name = court_type_list target = flag:advcm_divan}
		add_to_global_variable_list = { name = court_type_list target = flag:advcm_table}
	}
}

advcm_quality_list = {
	scope = character
	
	effect = {
		
		add_to_global_variable_list = { name = artifact_quality_list target = flag:advcm_common}
		add_to_global_variable_list = { name = artifact_quality_list target = flag:advcm_masterwork}
		add_to_global_variable_list = { name = artifact_quality_list target = flag:advcm_famed}
		add_to_global_variable_list = { name = artifact_quality_list target = flag:advcm_illustrious}
	}
}

advcm_artifact_modifier_list = {
	scope = character
	
	effect = {
		
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_diplomacy}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_martial}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_stewardship}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_intrigue}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_learning}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_prowess}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_knight_limit}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_knight_effectiveness}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_tolerance_advantage}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_controlled_province_advantage}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_levy_reinforcement_rate}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_levy_reinforcement_rate_same_faith}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_raid_speed}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_enemy_hard_casualty_modifier}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_hard_casualty_modifier}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_heavy_cavalry_toughness_mult}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_heavy_infantry_toughness_mult}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_plains_advantage}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_farmlands_advantage}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_hills_advantage}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_mountains_advantage}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_desert_advantage}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_desert_mountains_advantage}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_oasis_advantage}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_jungle_advantage}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_forest_advantage}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_taiga_advantage}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_wetlands_advantage}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_steppe_advantage}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_floodplains_advantage}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_drylands_advantage}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_retreat_losses}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_pursue_efficiency}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_monthly_prestige}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_short_reign_duration_mult}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_court_grandeur_baseline_add}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_dynasty_opinion}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_monthly_dynasty_prestige_mult}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_monthly_dynasty_prestige}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_tyranny_loss_mult}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_dread_gain_mult}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_dread_baseline}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_child_opinion}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_spouse_opinion}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_general_opinion}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_vassal_opinion}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_courtier_and_guest_opinion}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_attraction_opinion}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_same_faith_opinion}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_mercenary_hire_cost_mult}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_vassal_tax_contribution_mult}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_vassal_limit}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_men_at_arms_maintenance}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_domain_tax_mult}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_domain_limit}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_build_gold_cost}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_build_speed}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_monthly_income_mult}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_monthly_piety}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_monthly_piety_gain_mult}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_owned_hostile_scheme_success_chance_add}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_owned_personal_scheme_success_chance_add}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_owned_scheme_secrecy_add}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_fertility}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_stress_gain_mult}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_health}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_monthly_diplomacy_lifestyle_xp_gain_mult}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_monthly_martial_lifestyle_xp_gain_mult}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_monthly_stewardship_lifestyle_xp_gain_mult}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_monthly_intrigue_lifestyle_xp_gain_mult}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_monthly_learning_lifestyle_xp_gain_mult}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_years_of_fertility}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_life_expectancy}
		add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_epidemic_resistance}
		#add_to_global_variable_list = { name = artifact_modifier_list target = flag:advcm_development_growth}
		
	}
}

advcm_artifact_modifier_format_no_space_flat = {
	scope = character
	saved_scopes = { artifact_modifier }
	is_valid = {
		OR = {
			scope:artifact_modifier = flag:advcm_tolerance_advantage
			scope:artifact_modifier = flag:advcm_controlled_province_advantage
			scope:artifact_modifier = flag:advcm_plains_advantage
			scope:artifact_modifier = flag:advcm_farmlands_advantage
			scope:artifact_modifier = flag:advcm_hills_advantage
			scope:artifact_modifier = flag:advcm_mountains_advantage
			scope:artifact_modifier = flag:advcm_desert_advantage
			scope:artifact_modifier = flag:advcm_desert_mountains_advantage
			scope:artifact_modifier = flag:advcm_oasis_advantage
			scope:artifact_modifier = flag:advcm_jungle_advantage
			scope:artifact_modifier = flag:advcm_forest_advantage
			scope:artifact_modifier = flag:advcm_taiga_advantage
			scope:artifact_modifier = flag:advcm_wetlands_advantage
			scope:artifact_modifier = flag:advcm_steppe_advantage
			scope:artifact_modifier = flag:advcm_floodplains_advantage
			scope:artifact_modifier = flag:advcm_drylands_advantage
			scope:artifact_modifier = flag:advcm_court_grandeur_baseline_add
			scope:artifact_modifier = flag:advcm_dynasty_opinion
			scope:artifact_modifier = flag:advcm_child_opinion
			scope:artifact_modifier = flag:advcm_spouse_opinion
			scope:artifact_modifier = flag:advcm_general_opinion
			scope:artifact_modifier = flag:advcm_attraction_opinion
			scope:artifact_modifier = flag:advcm_vassal_opinion
			scope:artifact_modifier = flag:advcm_courtier_and_guest_opinion
			scope:artifact_modifier = flag:advcm_same_faith_opinion
			scope:artifact_modifier = flag:advcm_dread_baseline
			scope:artifact_modifier = flag:advcm_vassal_limit
			scope:artifact_modifier = flag:advcm_domain_limit
			scope:artifact_modifier = flag:advcm_hostile_scheme_power_add
			scope:artifact_modifier = flag:advcm_personal_scheme_power_add
			scope:artifact_modifier = flag:advcm_learn_language_scheme_power_add
			scope:artifact_modifier = flag:advcm_hostile_scheme_resistance_add
			scope:artifact_modifier = flag:advcm_years_of_fertility
			scope:artifact_modifier = flag:advcm_life_expectancy
			scope:artifact_modifier = flag:advcm_epidemic_resistance
		}
	}
}

advcm_artifact_modifier_format_percent = {
	scope = character
	saved_scopes = { artifact_modifier }
	is_valid = {
		OR = {
			scope:artifact_modifier = flag:advcm_levy_reinforcement_rate
			scope:artifact_modifier = flag:advcm_levy_reinforcement_rate_same_faith
			scope:artifact_modifier = flag:advcm_raid_speed
			scope:artifact_modifier = flag:advcm_enemy_hard_casualty_modifier
			scope:artifact_modifier = flag:advcm_heavy_cavalry_toughness_mult
			scope:artifact_modifier = flag:advcm_heavy_infantry_toughness_mult
			scope:artifact_modifier = flag:advcm_pursue_efficiency
			scope:artifact_modifier = flag:advcm_dread_gain_mult
			scope:artifact_modifier = flag:advcm_tyranny_loss_mult
			scope:artifact_modifier = flag:advcm_vassal_tax_contribution_mult
			scope:artifact_modifier = flag:advcm_domain_tax_mult
			scope:artifact_modifier = flag:advcm_monthly_income_mult
			scope:artifact_modifier = flag:advcm_fertility
			scope:artifact_modifier = flag:advcm_monthly_piety_gain_mult
			scope:artifact_modifier = flag:advcm_owned_hostile_scheme_success_chance_add
			scope:artifact_modifier = flag:advcm_owned_personal_scheme_success_chance_add
			scope:artifact_modifier = flag:advcm_owned_scheme_secrecy_add
			scope:artifact_modifier = flag:advcm_monthly_diplomacy_lifestyle_xp_gain_mult
			scope:artifact_modifier = flag:advcm_monthly_martial_lifestyle_xp_gain_mult
			scope:artifact_modifier = flag:advcm_monthly_stewardship_lifestyle_xp_gain_mult
			scope:artifact_modifier = flag:advcm_monthly_intrigue_lifestyle_xp_gain_mult
			scope:artifact_modifier = flag:advcm_monthly_learning_lifestyle_xp_gain_mult
		}
	}
}

advcm_artifact_modifier_format_space_flat = {
	scope = character
	saved_scopes = { artifact_modifier }
	is_valid = {
		OR = {
			scope:artifact_modifier = flag:advcm_diplomacy
			scope:artifact_modifier = flag:advcm_martial
			scope:artifact_modifier = flag:advcm_stewardship
			scope:artifact_modifier = flag:advcm_intrigue
			scope:artifact_modifier = flag:advcm_learning
			scope:artifact_modifier = flag:advcm_prowess
			scope:artifact_modifier = flag:advcm_knight_limit
		}
	}
}

advcm_artifact_modifier_format_negative_percent = {
	scope = character
	saved_scopes = { artifact_modifier }
	is_valid = {
		OR = {
			scope:artifact_modifier = flag:advcm_hard_casualty_modifier
			scope:artifact_modifier = flag:advcm_retreat_losses
			scope:artifact_modifier = flag:advcm_short_reign_duration_mult
			scope:artifact_modifier = flag:advcm_build_gold_cost
			scope:artifact_modifier = flag:advcm_build_speed
			scope:artifact_modifier = flag:advcm_stress_gain_mult
		}
	}
}

advcm_artifact_modifier_format_monthly_space = {
	scope = character
	saved_scopes = { artifact_modifier }
	is_valid = {
		OR = {
			scope:artifact_modifier = flag:advcm_monthly_prestige
			scope:artifact_modifier = flag:advcm_monthly_dynasty_prestige
		}
	}
}

advcm_artifact_modifier_format_negative_percent_precise = {
	scope = character
	saved_scopes = { artifact_modifier }
	is_valid = {
		OR = {
			scope:artifact_modifier = flag:advcm_mercenary_hire_cost_mult
			scope:artifact_modifier = flag:advcm_men_at_arms_maintenance
		}
	}
}

advcm_artifact_modifier_format_space_percent = {
	scope = character
	saved_scopes = { artifact_modifier }
	is_valid = { scope:artifact_modifier = flag:advcm_knight_effectiveness }
}

advcm_artifact_modifier_format_monthly_tight = {
	scope = character
	saved_scopes = { artifact_modifier }
	is_valid = { scope:artifact_modifier = flag:advcm_monthly_piety }
}

advcm_artifact_modifier_format_percent_monthly = {
	scope = character
	saved_scopes = { artifact_modifier }
	is_valid = { scope:artifact_modifier = flag:advcm_monthly_dynasty_prestige_mult }
}

advcm_artifact_modifier_format_decimal = {
	scope = character
	saved_scopes = { artifact_modifier }
	is_valid = { scope:artifact_modifier = flag:advcm_health }
}

advcm_set_artifact_type = {
	scope = character
	
	saved_scopes = { artifact_type }
	
	effect = {
		set_variable = { name = advcm_artifact_type value = scope:artifact_type }
	}
}

advcm_set_artifact_quality = {
	scope = character
	
	saved_scopes = { artifact_quality }
	
	effect = {
		set_variable = { name = advcm_artifact_quality value = scope:artifact_quality }
		set_variable = { name = advcm_artifact_quality_frame value = advcm_artifact_frame}
	}
}

advcm_set_artifact_modifier_1 = {
	scope = character
	
	saved_scopes = { artifact_modifier }
	
	effect = {
		set_variable = { name = advcm_artifact_modifier_1 value = scope:artifact_modifier }
	}
}

advcm_set_artifact_modifier_2 = {
	scope = character
	
	saved_scopes = { artifact_modifier }
	
	effect = {
		set_variable = { name = advcm_artifact_modifier_2 value = scope:artifact_modifier }
	}
}

advcm_set_artifact_modifier_3 = {
	scope = character
	
	saved_scopes = { artifact_modifier }
	
	effect = {
		set_variable = { name = advcm_artifact_modifier_3 value = scope:artifact_modifier }
	}
}

advcm_set_artifact_modifier_4 = {
	scope = character
	
	saved_scopes = { artifact_modifier }
	
	effect = {
		set_variable = { name = advcm_artifact_modifier_4 value = scope:artifact_modifier }
	}
}

advcm_artifact_init = {
	scope = character
	
	effect = {
		set_variable = { name = advcm_artifact_type value = flag:advcm_axe }
		set_variable = { name = advcm_artifact_quality value = flag:advcm_common }
		set_variable = { name = advcm_artifact_modifier_1 value = flag:advcm_diplomacy }
		set_variable = { name = advcm_artifact_modifier_2 value = flag:advcm_diplomacy }
		set_variable = { name = advcm_artifact_modifier_3 value = flag:advcm_diplomacy }
		set_variable = { name = advcm_artifact_modifier_4 value = flag:advcm_diplomacy }
		
	}
}

advcm_artifact_create = { 
	scope = character
	
	effect = {
		save_scope_as = modifier_target
		if = {
			limit = {
				var:advcm_artifact_quality = flag:advcm_common
			}
			advcm_create_artifact_by_type = { RARITY = common WEALTH = 10 QUALITY = 10 }
		}
		
		else_if = {
			limit = {
				var:advcm_artifact_quality = flag:advcm_masterwork
			}
			advcm_create_artifact_by_type = { RARITY = masterwork WEALTH = 100 QUALITY = 100 }
		}
		else_if = {
			limit = {
				var:advcm_artifact_quality = flag:advcm_famed
			}
			advcm_create_artifact_by_type = { RARITY = famed WEALTH = 250 QUALITY = 250 }
		}
		else_if = {
			limit = {
				var:advcm_artifact_quality = flag:advcm_illustrious
			}
			advcm_create_artifact_by_type = { RARITY = illustrious WEALTH = 500 QUALITY = 500 }
		}
	}
}

advcm_set_mod_levels = {

	scope = character

	effect = {
		set_variable = {
			name = advcm_modifier1_value
			value = 10
		}
			
		set_variable = {
			name = advcm_modifier2_value
			value = 10
		}
			
		set_variable = {
			name = advcm_modifier3_value
			value = 10
		}
			
		set_variable = {
			name = advcm_modifier4_value
			value = 10
		}
	}
}

advcm_change_artifact_modifier_level = {
	scope = character

	saved_scopes = { direction mode modifier_slot }

	effect = {
		if = {
			limit = { scope:direction = flag:add }

			if = {
				limit = { scope:modifier_slot = flag:modifier_1 }
				advcm_change_artifact_modifier_level_effect = { NUM = 1 OP = add }
			}
			else_if = {
				limit = { scope:modifier_slot = flag:modifier_2 }
				advcm_change_artifact_modifier_level_effect = { NUM = 2 OP = add }
			}
			else_if = {
				limit = { scope:modifier_slot = flag:modifier_3 }
				advcm_change_artifact_modifier_level_effect = { NUM = 3 OP = add }
			}
			else_if = {
				limit = { scope:modifier_slot = flag:modifier_4 }
				advcm_change_artifact_modifier_level_effect = { NUM = 4 OP = add }
			}
		}
		else = {
			if = {
				limit = { scope:modifier_slot = flag:modifier_1 }
				advcm_change_artifact_modifier_level_effect = { NUM = 1 OP = subtract }
			}
			else_if = {
				limit = { scope:modifier_slot = flag:modifier_2 }
				advcm_change_artifact_modifier_level_effect = { NUM = 2 OP = subtract }
			}
			else_if = {
				limit = { scope:modifier_slot = flag:modifier_3 }
				advcm_change_artifact_modifier_level_effect = { NUM = 3 OP = subtract }
			}
			else_if = {
				limit = { scope:modifier_slot = flag:modifier_4 }
				advcm_change_artifact_modifier_level_effect = { NUM = 4 OP = subtract }
			}
		}
	}
}

advcm_artifact_slow_comp_check = {
    scope = character
    
    
    is_valid = {
		exists = var:advcm_modifier1_value
	}
}
