###########################################
#										 #
# City of Wonders Maintenance Events	  #			 
#										 #
# ID COW.10000-COW.30000				  #
#										 #
###########################################

namespace = COW

# Wonder desc update event (fired from: on_wonder_stage_finish)
# ROOT = owner
# FROM = wonder
# FROMFROM = province (location of wonder)
character_event = {
	id = COW.10000
	is_triggered_only = yes
	hide_window = yes
	trigger = {
		OR = {
			has_wonder = wonder_city_of_wonders
			has_wonder = wonder_city_of_wonders_delh
			has_wonder = wonder_city_of_wonders_rep
		}
	}

	immediate = {
		FROM = { save_event_target_as = target_wonder }
		FROMFROM = { save_event_target_as = target_province }
		FROM = { 
			original_wonder_owner = { 
				save_event_target_as = wonder_owner_original 
			} 
		}
		
		log = "[From.GetName] is the wonder, pre-saved as event-target"
		
		wonder_stage_completion_sound_effect = yes

		event_target:target_wonder = {
			log = "[target_wonder.GetName] is the wonder"
			
			# City of Wonders
			if = {
				limit = {
					wonder_stage = 1
					NOT = { wonder_stage = 3 }
					OR = {
						has_wonder = wonder_city_of_wonders
						has_wonder = wonder_city_of_wonders_delh
					}
				}
				set_wonder_flag = wonder_cow_desc_1
				set_description = wonder_city_of_wonders1_desc #1st!
			}
			if = {
				limit = {
					wonder_stage = 3
					NOT = { wonder_stage = 6 }
					OR = {
						has_wonder = wonder_city_of_wonders
						has_wonder = wonder_city_of_wonders_delh
					}
					has_wonder_flag = wonder_cow_desc_1
				}
				clr_wonder_flag = wonder_cow_desc_1
				set_wonder_flag = wonder_cow_desc_2
				set_description = wonder_city_of_wonders2_desc #2nd!
			}
			if = {
				limit = {
					wonder_stage = 6
					NOT = { wonder_stage = 9 }
					OR = {
						has_wonder = wonder_city_of_wonders
						has_wonder = wonder_city_of_wonders_delh
					}
					has_wonder_flag = wonder_cow_desc_2
				}
				clr_wonder_flag = wonder_cow_desc_2
				set_wonder_flag = wonder_cow_desc_3
				set_description = wonder_city_of_wonders3_desc #3rd!
			}
			if = {
				limit = {
					wonder_stage = 9
					OR = {
						has_wonder = wonder_city_of_wonders
						has_wonder = wonder_city_of_wonders_delh
					}
					has_wonder_flag = wonder_cow_desc_3
				}
				clr_wonder_flag = wonder_cow_desc_3
				set_wonder_flag = wonder_cow_desc_4
				set_description = wonder_city_of_wonders4_desc #4th!
			}
			# City of Wonders (Republic)
			if = {
				limit = {
					wonder_stage = 1
					NOT = { wonder_stage = 3 }
					has_wonder = wonder_city_of_wonders_rep
				}
				set_wonder_flag = wonder_cow_rep_desc_1
				set_description = wonder_city_of_wonders1_rep_desc #1st!
			}
			if = {
				limit = {
					wonder_stage = 3
					NOT = { wonder_stage = 6 }
					has_wonder = wonder_city_of_wonders_rep
					has_wonder_flag = wonder_cow_rep_desc_1
				}
				clr_wonder_flag = wonder_cow_rep_desc_1
				set_wonder_flag = wonder_cow_rep_desc_2
				set_description = wonder_city_of_wonders2_rep_desc #2nd!
			}
			if = {
				limit = {
					wonder_stage = 6
					NOT = { wonder_stage = 9 }
					has_wonder = wonder_city_of_wonders_rep
					has_wonder_flag = wonder_cow_rep_desc_2
				}
				clr_wonder_flag = wonder_cow_rep_desc_2
				set_wonder_flag = wonder_cow_rep_desc_3
				set_description = wonder_city_of_wonders3_rep_desc #3rd!
			}
			if = {
				limit = {
					wonder_stage = 9
					has_wonder = wonder_city_of_wonders_rep
					has_wonder_flag = wonder_cow_rep_desc_3
				}
				clr_wonder_flag = wonder_cow_rep_desc_3
				set_wonder_flag = wonder_cow_rep_desc_4
				set_description = wonder_city_of_wonders4_rep_desc #4th!
			}
		}
	}
}

# Wonder name update event (fired from: on_wonder_stage_finish)
# ROOT = owner
# FROM = wonder
# FROMFROM = province (location of wonder)
character_event = {
	id = COW.10001
	is_triggered_only = yes
	hide_window = yes
	trigger = {
		uses_dynamic_name_cow_trigger = yes
	}

	immediate = {
		FROM = { save_event_target_as = target_wonder }
		FROMFROM = { save_event_target_as = target_province }
		FROM = { 
			original_wonder_owner = { 
				save_event_target_as = wonder_owner_original 
			} 
		}

		log = "[From.GetName] is the wonder, pre-saved as event-target"
		
		wonder_stage_completion_sound_effect = yes

		event_target:target_wonder = {
			log = "[target_wonder.GetName] is the wonder"
			
			# City of Wonders
			if = {
				limit = {
					wonder_stage = 1
					NOT = { wonder_stage = 3 }
					uses_dynamic_name_cow_trigger = yes
					has_custom_name = no #only change the name if the player has not used the renaming button
					NOR = { 
						has_wonder_flag = wonder_cow_name_1 
						has_wonder_flag = wonder_cow_name_2 
						has_wonder_flag = wonder_cow_name_3 
						has_wonder_flag = wonder_cow_name_4 
					}
				}
				set_wonder_flag = wonder_cow_name_1
				set_name = String_location_cow #1st!
			}
			if = {
				limit = {
					wonder_stage = 3
					NOT = { wonder_stage = 6 }
					uses_dynamic_name_cow_trigger = yes
					has_wonder_flag = wonder_cow_name_1
					has_custom_name = no #only change the name if the player has not used the renaming button
					NOR = { 
						has_wonder_flag = wonder_cow_name_2 
						has_wonder_flag = wonder_cow_name_3 
						has_wonder_flag = wonder_cow_name_4 
					}
				}
				clr_wonder_flag = wonder_cow_name_1
				set_wonder_flag = wonder_cow_name_2
				set_name = String_location_cow2 #2nd!
			}
			if = {
				limit = {
					wonder_stage = 6
					NOT = { wonder_stage = 9 }
					uses_dynamic_name_cow_trigger = yes
					has_wonder_flag = wonder_cow_name_2
					has_custom_name = no #only change the name if the player has not used the renaming button
					NOR = { 
						has_wonder_flag = wonder_cow_name_1
						has_wonder_flag = wonder_cow_name_3 
						has_wonder_flag = wonder_cow_name_4 
					}
				}
				clr_wonder_flag = wonder_cow_name_2
				set_wonder_flag = wonder_cow_name_3
				set_name = String_location_cow3 #3rd!
			}
			if = {
				limit = {
					wonder_stage = 9
					uses_dynamic_name_cow_trigger = yes
					has_wonder_flag = wonder_cow_name_3
					has_custom_name = no #only change the name if the player has not used the renaming button
					NOR = { 
						has_wonder_flag = wonder_cow_name_1 
						has_wonder_flag = wonder_cow_name_2 
						has_wonder_flag = wonder_cow_name_4 
					}
				}
				clr_wonder_flag = wonder_cow_name_3
				set_wonder_flag = wonder_cow_name_4
				set_name = String_location_cow4 #4th!
			}
		}
	}
}

## ROOT = owner
## FROM = wonder
## FROMFROM = province (location of wonder)
#province_event = { #Reclaim Land
#	id = COW.11705
#	title = COW_PROSPERITY_TITLE
#	desc = COW.11705.d
#	picture = "GFX_evt_culture_change"
#	border = GFX_event_normal_frame_economy
#	is_triggered_only = yes
#	
#	trigger = {
#		NOT = {
#			FROMFROM = { num_of_max_settlements = 7 }
#		}
#		FROMFROM = { has_city_of_wonders_trigger = yes }
#		has_dlc = "Reapers"
#	}
#	
#	option = {
#		name = COW.11705.a
#		
#		ai_chance = { 
#			factor = 95
#		}
#		
#		owner = {
#			scaled_wealth = -1.5
#		}
#		
#		FROMFROM = { add_holding_slot = 1 }
#	}
#	option = {
#		name = COW.11705.b
#		
#		ai_chance = { 
#			factor = 5
#		}
#		
#	}
#}

# ROOT = owner
# FROM = wonder
# FROMFROM = province (location of wonder)
character_event = { #Reclaim Land
	id = COW.11705
	title = COW_PROSPERITY_TITLE
	desc = COW.11705.d
	picture = "GFX_evt_culture_change"
	border = GFX_event_normal_frame_economy
	is_triggered_only = yes
	
	trigger = {
		NOT = {
			FROMFROM = { num_of_max_settlements = 7 }
		}
		FROMFROM = { has_city_of_wonders_trigger = yes }
		has_dlc = "Reapers"
	}
	
	option = {
		name = COW.11705.a
		
		ai_chance = { 
			factor = 95
		}
		
		scaled_wealth = -1.5
		
		FROMFROM = { add_holding_slot = 1 }
	}
	option = {
		name = COW.11705.b
		
		ai_chance = { 
			factor = 5
		}
		
	}
}

#On_startup:Removes Antioch and Jerusalem if COW:Pentarchy is off.
character_event = {
	id = COW.23028
	hide_window = yes
	
	religion = catholic
	
	trigger = {
		has_game_rule = {
			name = cow_pentarchy_rule
			value = off
		}
		is_save_game = no
		is_alternate_start = no
		controls_religion = yes # Let it happen for the Pope. He's always around.
	}
	
	is_triggered_only = yes

	immediate = { 
		1499 = { # Antiocheia
			if = {
				limit = { has_wonder = wonder_city_of_wonders_anti }
				destroy_wonder = wonder_city_of_wonders_anti
			}
		}
		1514 = { # Jerusalem
			if = {
				limit = { has_wonder = wonder_city_of_wonders_jeru }
				destroy_wonder = wonder_city_of_wonders_jeru
			}
		}
	}
}

#On_startup:Adds Babylon/Baghdad and Delhi if COW:Semi-Historical COWs is on.
character_event = {
	id = COW.23029
	hide_window = yes
	
	religion = catholic
	
	trigger = {
		has_game_rule = {
			name = cow_semi_historical
			value = on
		}
		NOT = {
			has_game_rule = {
				name = wonder_rule_historical
				value = off
			}
		}
		is_save_game = no
		is_alternate_start = no
		controls_religion = yes # Let it happen for the Pope. He's always around.
	}
	
	is_triggered_only = yes

	immediate = { 
		1335 = { # Delhi
			if = {
				limit = { has_wonder = no }
				add_wonder = wonder_city_of_wonders_delh
			}
		}
	}
}

#On_startup:Removes Athens, Carthage, Cordoba, Persepolis and Syracuse if COW:Ancient Cities is off.
character_event = {
	id = COW.23030
	hide_window = yes
	
	religion = catholic
	
	trigger = {
		has_game_rule = {
			name = cow_ancient_cities
			value = off
		}
		is_save_game = no
		is_alternate_start = no
		controls_religion = yes # Let it happen for the Pope. He's always around.
	}
	
	is_triggered_only = yes

	immediate = { 
		501 = { # Athens
			if = {
				limit = { has_wonder = wonder_city_of_wonders_athens }
				destroy_wonder = wonder_city_of_wonders_athens
			}
		}
		1463 = { # Shiraz (Persepolis)
			if = {
				limit = { has_wonder = wonder_city_of_wonders_parsa }
				destroy_wonder = wonder_city_of_wonders_parsa
			}
		}
		1643 = { # Tunis (Carthage)
			if = {
				limit = { has_wonder = wonder_city_of_wonders_carth }
				destroy_wonder = wonder_city_of_wonders_carth
			}
		}
		489 = { # Siracusa
			if = {
				limit = { has_wonder = wonder_city_of_wonders_syra }
				destroy_wonder = wonder_city_of_wonders_syra
			}
		}
		416 = { # Cordoba
			if = {
				limit = { has_wonder = wonder_city_of_wonders_cord }
				destroy_wonder = wonder_city_of_wonders_cord
			}
		}
	}
}

#Changes the 'ruined' descriptions for Antioch and Jerusalem to their restored versions.
character_event = {
	id = COW.20808
	hide_window = yes
	is_triggered_only = yes
	
	trigger = {
		FROM = { 
			NOT = { has_wonder_flag = restored_cow_pentarchy }
		}
	}

	immediate = {
		FROM = { 
			if = { # Antiocheia
				limit = { 
					AND = { 
						has_wonder = wonder_city_of_wonders_anti
						NOT = { has_wonder_flag = restored_cow_pentarchy }
					}
				}
				set_description = wonder_city_of_wonders_anti_desc
				set_wonder_flag = restored_cow_pentarchy
			}
			else_if = { # Jerusalem
				limit = { 
					AND = { 
						has_wonder = wonder_city_of_wonders_jeru
						NOT = { has_wonder_flag = restored_cow_pentarchy }
					}
				}
				set_description = wonder_city_of_wonders_jeru_desc
				set_wonder_flag = restored_cow_pentarchy
			}
		}
	}
}

#Changes the 'ruined' descriptions for Persepolis, Carthage, and Syracuse to their reconstructed versions.
character_event = {
	id = COW.20809
	hide_window = yes
	is_triggered_only = yes
	
	trigger = {
		FROM = { 
			NOT = { has_wonder_flag = reconstructed_cow_ancient_city }
		}
	}

	immediate = {
		FROM = { 
			if = { # Persepolis (Shiraz)
				limit = { 
					AND = { 
						has_wonder = wonder_city_of_wonders_parsa
						NOT = { has_wonder_flag = reconstructed_cow_ancient_city }
					}
				}
				set_description = wonder_city_of_wonders_parsa_reconstructed_desc
				set_wonder_flag = reconstructed_cow_ancient_city
			}
			else_if = { # Carthage (Tunis)
				limit = { 
					AND = { 
						has_wonder = wonder_city_of_wonders_carth
						NOT = { has_wonder_flag = reconstructed_cow_ancient_city }
					}
				}
				set_description = wonder_city_of_wonders_carth_reconstructed_desc
				set_wonder_flag = reconstructed_cow_ancient_city
			}
			else_if = { # Syracuse (Siracusa)
				limit = { 
					AND = { 
						has_wonder = wonder_city_of_wonders_syra
						NOT = { has_wonder_flag = reconstructed_cow_ancient_city }
					}
				}
				set_description = wonder_city_of_wonders_syra_reconstructed_desc
				set_wonder_flag = reconstructed_cow_ancient_city
			}
		}
	}
}

#Changes the 'reconstructed' descriptions for Athens, Persepolis, Carthage, Cordoba, and Syracuse to their fully restored versions.
character_event = {
	id = COW.20810
	hide_window = yes
	is_triggered_only = yes
	
	trigger = {
		FROM = { 
			OR = {
				wonder_stage = 9
				wonder_stage = 10
			}
			NOT = { has_wonder_flag = restored_cow_ancient_city }
		}
	}

	immediate = {
		FROM = { 
			if = { # Athens
				limit = { 
					AND = { 
						has_wonder = wonder_city_of_wonders_athens
						NOT = { has_wonder_flag = restored_cow_ancient_city }
					}
				}
				set_description = wonder_city_of_wonders_athens_restored_desc
				set_wonder_flag = restored_cow_ancient_city
			}
			else_if = { # Persepolis (Shiraz)
				limit = { 
					AND = { 
						has_wonder = wonder_city_of_wonders_parsa
						NOT = { has_wonder_flag = restored_cow_ancient_city }
					}
				}
				set_description = wonder_city_of_wonders_parsa_restored_desc
				set_wonder_flag = restored_cow_ancient_city
			}
			else_if = { # Carthage (Tunis)
				limit = { 
					AND = { 
						has_wonder = wonder_city_of_wonders_carth
						NOT = { has_wonder_flag = restored_cow_ancient_city }
					}
				}
				set_description = wonder_city_of_wonders_carth_restored_desc
				set_wonder_flag = restored_cow_ancient_city
			}
			else_if = { # Syracuse (Siracusa)
				limit = { 
					AND = { 
						has_wonder = wonder_city_of_wonders_syra
						NOT = { has_wonder_flag = restored_cow_ancient_city }
					}
				}
				set_description = wonder_city_of_wonders_syra_restored_desc
				set_wonder_flag = restored_cow_ancient_city
			}
			else_if = { # Cordoba
				limit = { 
					AND = { 
						has_wonder = wonder_city_of_wonders_cord
						NOT = { has_wonder_flag = restored_cow_ancient_city }
					}
				}
				set_description = wonder_city_of_wonders_cord_completed_desc
				set_wonder_flag = restored_cow_ancient_city
			}
		}
	}
}