﻿auto_repair = {
	if = {
		limit = {
			exists = global_var:auto_repair
		}

		every_character_artifact = {
			limit = {
				artifact_durability < artifact_max_durability
			}
			
			set_local_variable = {
                name = artifact_percent_durability
                value = {
                    value = artifact_durability
                    multiply = 100
                    divide = artifact_max_durability
                }
            }

			# Repair Artifact Cost
			set_local_variable = {
				name = repair_cost
				value = {
					value = 25
					if = {
						limit = {
							artifact_durability >= 80
							artifact_durability < 100
						}
						divide = {
							value = 2
							desc = reforge_artifact_durability_desc
						}
					}
					else_if = {
						limit = {
							artifact_durability >= 20
							artifact_durability < 50
						}
						multiply = {
							value = 2
							desc = reforge_artifact_durability_desc
						}
					}
					else_if = {
						limit = {
							artifact_durability >= 5
							artifact_durability < 20
						}
						multiply = {
							value = 3
							desc = reforge_artifact_durability_desc
						}
					}
					else_if = {
						limit = {
							artifact_durability < 5
						}
						multiply = {
							value = 5
							desc = reforge_artifact_durability_desc
						}
					}
					if = {
						limit = {
							artifact_wealth_quality_average_value >= 75
						}
						multiply = {
							value = 5
							desc = reforge_artifact_rarity_desc
						}
					}
					else_if = {
						limit = {
							artifact_wealth_quality_average_value >= 50
							artifact_wealth_quality_average_value < 75
						}
						multiply = {
							value = 2
							desc = reforge_artifact_rarity_desc
						}
					}
					else_if = {
						limit = {
							artifact_wealth_quality_average_value >= 25
							artifact_wealth_quality_average_value < 50
						}
						multiply = {
							value = 1		#So we still get the description with the rarity
							desc = reforge_artifact_rarity_desc
						}
					}
					else_if = {
						limit = {
							artifact_wealth_quality_average_value < 25
						}
						divide = {
							value = 2
							desc = reforge_artifact_rarity_desc
						}
					}
				}
			}
			# End Repair Artifact Cost

			save_temporary_scope_as = artifact

			if = {
				limit = {
					scope:character = {
						gold >= local_var:repair_cost
						local_var:artifact_percent_durability <= global_var:auto_repair_durability
					}
				}

				scope:artifact = {
					add_durability = {
						value = artifact_max_durability
						max = artifact_max_durability
					}
				}
	
				scope:character = {
					remove_short_term_gold = local_var:repair_cost
				}
				#debug_log = "Auto Repair: Item Repaired."
			}
			else = {
				#debug_log = "Auto Repair: Item Not Repaired."
			}
		}
	}
	else_if = {
		limit = {
			exists = global_var:auto_repair_exhibited
		}
		
		every_equipped_character_artifact = {
			limit = {
				artifact_durability < artifact_max_durability
			}
			
			set_local_variable = {
                name = artifact_percent_durability
                value = {
                    value = artifact_durability
                    multiply = 100
                    divide = artifact_max_durability
                }
            }

			# Repair Artifact Cost
			set_local_variable = {
				name = repair_cost
				value = {
					value = 25
					if = {
						limit = {
							artifact_durability >= 80
							artifact_durability < 100
						}
						divide = {
							value = 2
							desc = reforge_artifact_durability_desc
						}
					}
					else_if = {
						limit = {
							artifact_durability >= 20
							artifact_durability < 50
						}
						multiply = {
							value = 2
							desc = reforge_artifact_durability_desc
						}
					}
					else_if = {
						limit = {
							artifact_durability >= 5
							artifact_durability < 20
						}
						multiply = {
							value = 3
							desc = reforge_artifact_durability_desc
						}
					}
					else_if = {
						limit = {
							artifact_durability < 5
						}
						multiply = {
							value = 5
							desc = reforge_artifact_durability_desc
						}
					}
					if = {
						limit = {
							artifact_wealth_quality_average_value >= 75
						}
						multiply = {
							value = 5
							desc = reforge_artifact_rarity_desc
						}
					}
					else_if = {
						limit = {
							artifact_wealth_quality_average_value >= 50
							artifact_wealth_quality_average_value < 75
						}
						multiply = {
							value = 2
							desc = reforge_artifact_rarity_desc
						}
					}
					else_if = {
						limit = {
							artifact_wealth_quality_average_value >= 25
							artifact_wealth_quality_average_value < 50
						}
						multiply = {
							value = 1		#So we still get the description with the rarity
							desc = reforge_artifact_rarity_desc
						}
					}
					else_if = {
						limit = {
							artifact_wealth_quality_average_value < 25
						}
						divide = {
							value = 2
							desc = reforge_artifact_rarity_desc
						}
					}
				}
			}
			# End Repair Artifact Cost

			save_temporary_scope_as = artifact

			if = {
				limit = {
					scope:character = {
						gold >= local_var:repair_cost
						local_var:artifact_percent_durability <= global_var:auto_repair_durability
					}
				}

				scope:artifact = {
					add_durability = {
						value = artifact_max_durability
						max = artifact_max_durability
					}
				}
	
				scope:character = {
					remove_short_term_gold = local_var:repair_cost
				}
				#debug_log = "Auto Repair Exhibited: Item Repaired."
			}
			else = {
				#debug_log = "Auto Repair Exhibited: Item Not Repaired."
			}
		}
	}
}
