﻿inspirational_commission_artificer_decision = {
	picture = {
		reference = "gfx/interface/illustrations/decisions/decision_smith.dds"
	}
	cooldown = { days = standard_commission_artifact_cooldown_time }
	sort_order = 100
	
	is_shown = {
		is_landed_or_landless_administrative = yes
		employs_court_position = court_artificer_court_position
		exists = capital_province
	}
	
	is_valid_showing_failures_only = {
		# Only valid for characters with an antiquarian.
		custom_description = {
			text = inspirational_commission_artificer_decision_valid
			any_court_position_holder = {
				type = court_artificer_court_position
				NOT = { exists = inspiration }
				has_inspirational_lifestyle_trait_trigger = yes
			}
		}
	}

	#cost = { gold = 100 }

    widget = {
    	gui = "decision_view_widget_commission_artifact"
		controller = decision_option_list_controller
		decision_to_second_step_button = "COMMISSION_ARTIFACT_DECISION_NEXT_STEP_BUTTON" 

		item = {
			value = commission_weapon
			current_description = {
				desc = commission_artifact_decision_option_weapon_desc
			}
			localization  = {
				desc = commission_artifact_decision_option_weapon
			}
			icon = "gfx/interface/icons/artifact/artifact_sword.dds"
			is_valid = {
				custom_description = {
					text = inspirational_commission_artificer_blacksmith_valid
					any_court_position_holder = {
						type = court_artificer_court_position
						NOT = { exists = inspiration }
						has_trait = inspirational_blacksmith
					}
				}
			}

			ai_chance = {
				value = 0 
				if = {
					limit = {
						# Only make this choice if we don't already have an artifact of this type.
						NOT = {
							any_character_artifact = {
								artifact_slot_type = primary_armament
							}
						}
					}
					add = 100
				}
			}
		}

		item = {
			value = commission_armor
			current_description = {
				desc = commission_artifact_decision_option_armor_desc
			}
			localization = {
				desc = commission_artifact_decision_option_armor
			}
			icon = "gfx/interface/icons/artifact/artifact_armor.dds"
			is_valid = {
				custom_description = {
					text = inspirational_commission_artificer_blacksmith_valid
					any_court_position_holder = {
						type = court_artificer_court_position
						NOT = { exists = inspiration }
						has_trait = inspirational_blacksmith
					}
				}
			}

			ai_chance = {
				value = 0 
				if = {
					limit = {
						# Only make this choice if we don't already have an artifact of this type.
						NOT = {
							any_character_artifact = {
								artifact_slot_type = armor
							}
						}
					}
					add = 100
				}
			}
		}

		item = {
			value = commission_crown
			current_description = {
				desc = commission_artifact_decision_option_crown_desc
			}
			localization = {
				desc = commission_artifact_decision_option_crown
			}
			icon = "gfx/interface/icons/artifact/artifact_crown.dds"
			is_valid = {
				custom_description = {
					text = inspirational_commission_artificer_goldsmith_valid
					any_court_position_holder = {
						type = court_artificer_court_position
						NOT = { exists = inspiration }
						has_trait = inspirational_goldsmith
					}
				}
			}

			ai_chance = {
				value = 0 
				if = {
					limit = {
						# Only make this choice if we don't already have an artifact of this type.
						NOT = {
							any_character_artifact = {
								artifact_slot_type = helmet
							}
						}
					}
					add = 100
				}
			}
		}

		item = {
			value = commission_regalia
			current_description = {
				desc = commission_artifact_decision_option_regalia_desc
			}
			localization = {
				desc = commission_artifact_decision_option_regalia
			}
			icon = "gfx/interface/icons/artifact/artifact_regalia.dds"
			is_valid = {
				custom_description = {
					text = inspirational_commission_artificer_goldsmith_valid
					any_court_position_holder = {
						type = court_artificer_court_position
						NOT = { exists = inspiration }
						has_trait = inspirational_goldsmith
					}
				}
			}

			ai_chance = {
				value = 0 
				if = {
					limit = {
						# Only make this choice if we don't already have an artifact of this type.
						NOT = {
							any_character_artifact = {
								artifact_slot_type = regalia
							}
						}
					}
					add = 100
				}
			}
		}

		item = {
			value = commission_jewelry
			current_description = {
				desc = commission_artifact_decision_option_jewelry_desc
			}
			localization = {
				desc = commission_artifact_decision_option_jewelry
			}
			icon = "gfx/interface/icons/artifact/artifact_ring.dds"
			is_valid = {
				custom_description = {
					text = inspirational_commission_artificer_goldsmith_valid
					any_court_position_holder = {
						type = court_artificer_court_position
						NOT = { exists = inspiration }
						has_trait = inspirational_goldsmith
					}
				}
			}

			ai_chance = {
				value = 0 
				if = {
					limit = {
						# Only make this choice if we don't already have an artifact of this type.
						NOT = {
							any_character_artifact = {
								artifact_slot_type = miscellaneous
							}
						}
					}
					add = 100
				}
			}
		}

		# Court Artifacts only appear if you have the Royal Court DLC, and are only valid if you have an active Royal Court
		
		item = {
			value = commission_tapestry
			is_shown = { has_dlc_feature = royal_court }
			is_valid = { 
				custom_description = {
					text = inspirational_commission_artificer_weaver_valid
					has_royal_court = yes 
					any_court_position_holder = {
						type = court_artificer_court_position
						NOT = { exists = inspiration }
						has_trait = inspirational_weaver
					}
				}
			}
			current_description = {
				desc = commission_artifact_decision_option_tapestry_desc
			}

			localization = {
				desc = commission_artifact_decision_option_tapestry
			}
			icon = "gfx/interface/icons/artifact/artifact_tapestry.dds"

			ai_chance = {
				value = 0 
				if = {
					limit = {
						has_royal_court = yes
						has_dlc_feature = court_artifacts
						# Only make this choice if we don't already have an artifact of this type.
						NOR = {
							any_character_artifact = {
								artifact_slot_type = wall_big
							}
						}
					}
					add = 100
				}
			}
		}

		item = {
			value = commission_banner
			is_shown = { has_dlc_feature = royal_court }
			is_valid = { 
				custom_description = {
					text = inspirational_commission_artificer_weaver_valid
					has_royal_court = yes 
					any_court_position_holder = {
						type = court_artificer_court_position
						NOT = { exists = inspiration }
						has_trait = inspirational_weaver
					}
				}
			}
			current_description = {
				desc = commission_artifact_decision_option_banner_desc
			}

			localization = {
				desc = commission_artifact_decision_option_banner
			}
			icon = "gfx/interface/icons/artifact/artifact_banner.dds"

			ai_chance = {
				value = 0 
				if = {
					limit = {
						has_royal_court = yes
						# Only make this choice if we don't already have an artifact of this type.
						NOR = {
							any_character_artifact = {
								artifact_slot_type = wall_big
							}
						}
					}
					add = 100
				}
			}
		}

		item = {
			value = commission_furniture
			is_shown = { has_dlc_feature = royal_court  }
			is_valid = { 
				custom_description = {
					text = inspirational_commission_artificer_artisan_valid
					has_royal_court = yes 
					any_court_position_holder = {
						type = court_artificer_court_position
						NOT = { exists = inspiration }
						has_trait = inspirational_artisan
					}
				}
			}
			current_description = {
				desc = commission_artifact_decision_option_furniture_desc
			}
			localization = {
				desc = commission_artifact_decision_option_furniture
			}
			icon = "gfx/interface/icons/artifact/artifact_cabinet.dds"

			ai_chance = {
				value = 0 
				if = {
					limit = {
						has_royal_court = yes
						has_dlc_feature = court_artifacts
						# Only make this choice if we don't already have an artifact of this type.
						NOT = {
							any_character_artifact = {
								artifact_slot_type = sculpture
							}
						}
					}
					add = 100
				}
			}
		}

		item = {
			value = commission_throne
			is_shown = { has_dlc_feature = royal_court  }
			is_valid = { 
				custom_description = {
					text = inspirational_commission_artificer_artisan_valid
					has_royal_court = yes 
					any_court_position_holder = {
						type = court_artificer_court_position
						NOT = { exists = inspiration }
						has_trait = inspirational_artisan
					}
				}
			}
			current_description = {
				desc = commission_artifact_decision_option_throne_desc
			}
			localization = {
				desc = commission_artifact_decision_option_throne
			}
			icon = "gfx/interface/icons/artifact/artifact_throneroom.dds"

			ai_chance = {
				value = 0 
				if = {
					limit = {
						has_royal_court = yes
						# Only make this choice if we don't already have an artifact of this type.
						NOT = {
							any_character_artifact = {
								artifact_slot_type = throne
							}
						}
					}
					add = 100
				}
			}
		}

		item = {
			value = commission_book
			is_shown = { has_dlc_feature = royal_court  }
			is_valid = { 
				custom_description = {
					text = inspirational_commission_artificer_author_valid
					has_royal_court = yes 
					any_court_position_holder = {
						type = court_artificer_court_position
						NOT = { exists = inspiration }
						has_trait = inspirational_author
					}
				}
			}
			current_description = {
				desc = commission_artifact_decision_option_book_desc
			}
			localization = {
				desc = commission_artifact_decision_option_book
			}
			icon = "gfx/interface/icons/artifact/artifact_book.dds"

			ai_chance = {
				value = 0 
				if = {
					limit = {
						has_royal_court = yes
						has_dlc_feature = court_artifacts
						# Only make this choice if we don't already have an artifact of this type.
						NOT = {
							any_character_artifact = {
								artifact_slot_type = book
							}
						}
					}
					add = 100
				}
			}
		}

		#Alchemy isn't included here since that inspiration is much more tied to the pursuit of knowledge initiated by the inspired person
	}

	effect = {
		if = {
			limit = {
				any_court_position_holder = {
					type = antiquarian_court_position
				}
			}
			random_court_position_holder = {
				type = antiquarian_court_position
				save_scope_as = antiquarian
			}
		}
		# Explanatory Tooltips
		custom_tooltip = inspirational_commission_artificer_decision_effect

		random_court_position_holder = {
			type = court_artificer_court_position
			limit = {
				trigger_if = {
					limit = { 
						OR = {
							scope:commission_weapon = yes
							scope:commission_armor = yes
						}
					}
					has_trait = inspirational_blacksmith
				}
				trigger_if = {
					limit = { 
						OR = {
							scope:commission_crown = yes
							scope:commission_regalia = yes
							scope:commission_jewelry = yes
						}
					}
					has_trait = inspirational_goldsmith
				}
				trigger_if = {
					limit = { 
						OR = {
							scope:commission_tapestry = yes
							scope:commission_banner = yes
						}
					}
					has_trait = inspirational_weaver
				}
				trigger_if = {
					limit = { 
						OR = {
							scope:commission_furniture = yes
							scope:commission_throne = yes
						}
					}
					has_trait = inspirational_artisan
				}
				trigger_if = {
					limit = { 
						OR = {
							scope:commission_book = yes
						}
					}
					has_trait = inspirational_author
				}
				NOT = { exists = inspiration }
			}
			save_scope_as = artificer
		}

		hidden_effect = {
			if = {
				# Conditional exists to avoid false-positives during tooltip generation, but 'artificer' should always exist on execution!
				limit = { exists = scope:artificer }
				scope:artificer = {
					if = {
						limit = {
							OR = {
								has_character_modifier = local_artisan_modifier
								has_character_flag = local_artisan
							}
						}
						remove_character_modifier = local_artisan_modifier
						remove_character_flag = local_artisan
						custom_tooltip = inspirational_no_longer_local_artisan
					}
					if = {
						limit = { scope:commission_weapon = yes }
						create_inspiration = weapon_inspiration
						remove_variable = artifact_weapon_type
					}
					else_if = {
						limit = { scope:commission_armor = yes }
						set_variable = {
							name = force_armor
							value = flag:force_armor_true
						}
						create_inspiration = armor_inspiration
					}
					else_if = {
						limit = { scope:commission_crown = yes }
						set_variable = {
							name = artifact_smith_type
							value = flag:smith_type_crown
						}
						create_inspiration = smith_inspiration
					}
					else_if = {
						limit = { scope:commission_regalia = yes }
						set_variable = {
							name = artifact_smith_type
							value = flag:smith_type_regalia
						}
						create_inspiration = smith_inspiration
					}
					else_if = {
						limit = { scope:commission_jewelry = yes }
						set_variable = {
							name = artifact_smith_type
							value = flag:smith_type_jewelry
						}
						create_inspiration = smith_inspiration
					}
					else_if = {
						limit = { scope:commission_tapestry = yes }
						create_inspiration = weaver_inspiration
					}
					else_if = {
						limit = { scope:commission_banner = yes }
						set_variable = banner_commission
						create_inspiration = weaver_inspiration
					}
					else_if = {
						limit = { scope:commission_furniture = yes }
						random_list = {
							10 = {
								set_variable = {
									name = artifact_artisan_type
									value = flag:artisan_type_chest
								}
							}
							10 = {
								set_variable = {
									name = artifact_artisan_type
									value = flag:artisan_type_box
								}
							}
							10 = {
								set_variable = {
									name = artifact_artisan_type
									value = flag:artisan_type_sculpture
								}
								random_list = {
									10 = { # Stone
										modifier = {
											factor = 0.2
											AND = { # Pagans prefer wood
												NOT = { faith = faith:hellenic_pagan }
												religion = { is_in_family = rf_pagan }
											}
										}
										set_variable = {
											name = artifact_sculpture_material
											value = flag:sculpture_material_stone
										}
									}
									10 = {} # Wood
								}
							}
							10 = {
								set_variable = {
									name = artifact_artisan_type
									value = flag:artisan_type_cabinet
								}
							}
						}
						create_inspiration = artisan_inspiration

					}
					else_if = {
						limit = { scope:commission_throne = yes }
						set_variable = {
							name = artifact_artisan_type
							value = flag:artisan_type_throne
						}
						create_inspiration = artisan_inspiration
					}
					else_if = {
						limit = { scope:commission_book = yes }
						create_inspiration = book_inspiration
						if = {
							limit = {
								has_variable = book_subject
							}
							remove_variable = book_subject
						}
					}
				}
				if = {
					limit = {
						is_ai = no
					}
					open_interaction_window = {
						interaction = fund_inspiration_interaction
						actor = root
						recipient = scope:artificer
					}
				}	
			}
		}
	}

	ai_check_interval = 36
	
	ai_potential = {
		is_at_war = no
		ai_greed < medium_positive_ai_value
		short_term_gold > ai_war_chest_desired_gold_value
		war_chest_gold >= halved_ai_war_chest_gold_maximum
		ai_has_conqueror_personality = no
		ai_should_focus_on_building_in_their_capital = no
	}

	ai_will_do = {
		base = 100

		modifier = {
			factor = 0
			has_royal_court = yes
			any_character_artifact = {
				artifact_slot_type = primary_armament
			}
			any_character_artifact = {
				artifact_slot_type = armor
			}
			any_character_artifact = {
				artifact_slot_type = helmet
			}
			any_character_artifact = {
				artifact_slot_type = regalia
			}
			OR = {
				any_character_artifact = {
					artifact_slot_type = wall_big
				}
				any_character_artifact = {
					artifact_slot_type = wall_small
				}
			}
			any_character_artifact = {
				artifact_slot_type = sculpture
			}
			any_character_artifact = {
				artifact_slot_type = book
			}
		}

		modifier = {
			factor = 0
			has_royal_court = no
			any_character_artifact = {
				artifact_slot_type = primary_armament
			}
			any_character_artifact = {
				artifact_slot_type = armor
			}
			any_character_artifact = {
				artifact_slot_type = helmet
			}
			any_character_artifact = {
				artifact_slot_type = regalia
			}
		}
	}
}
