###########################################
#                                         #
# 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_rep
			has_wonder = wonder_city_of_wonders_agot
		}
    }

    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_agot
					}
				}
                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_agot
					}
					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_agot
					}
					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_agot
					}
					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!
            }
        }
    }
}

# Wonder AGOT desc update event (fired from: on_wonder_stage_finish)
# ROOT = owner
# FROM = wonder
# FROMFROM = province (location of wonder)
character_event = {
    id = COW.10002
    is_triggered_only = yes #Triggered from on_wonder_stage_finish
	hide_window = yes
    trigger = {
		has_wonder = wonder_city_of_wonders_agot
		NOR = {
			has_wonder_flag = wonder_cow_desc_1
			has_wonder_flag = wonder_cow_desc_2
			has_wonder_flag = wonder_cow_desc_3
			has_wonder_flag = wonder_cow_desc_4
		}
    }

    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 }
					has_wonder = wonder_city_of_wonders_agot
				}
                set_wonder_flag = wonder_cow_desc_1
                set_description = wonder_city_of_wonders1_desc #1st!
            }
            else_if = {
                limit = {
                    wonder_stage = 3
					NOT = { wonder_stage = 6 }
					has_wonder = wonder_city_of_wonders_agot
				}
                clr_wonder_flag = wonder_cow_desc_1
				set_wonder_flag = wonder_cow_desc_2
                set_description = wonder_city_of_wonders2_desc #2nd!
            }
            else_if = {
                limit = {
                    wonder_stage = 6
					NOT = { wonder_stage = 9 }
					has_wonder = wonder_city_of_wonders_agot
				}
                clr_wonder_flag = wonder_cow_desc_2
				set_wonder_flag = wonder_cow_desc_3
                set_description = wonder_city_of_wonders3_desc #3rd!
            }
            else_if = {
                limit = {
                    wonder_stage = 9
					has_wonder = wonder_city_of_wonders_agot
				}
                clr_wonder_flag = wonder_cow_desc_3
				set_wonder_flag = wonder_cow_desc_4
                set_description = wonder_city_of_wonders4_desc #4th!
            }
        }
    }
}

#On_startup:Removes all historical Cities of Wonders if COW:AGoT Cities is off.
character_event = {
	id = COW.23666
	hide_window = yes
	only_rulers = yes
	is_triggered_only = yes
	
	trigger = { 
		has_game_rule = {
			name = cow_agot_historical_rule
			value = off
		}
		is_save_game = no
		# is_alternate_start = no
		has_landed_title = e_rebels # NEED TESTING! PERHAPS ALTERNATIVE MUST BE FOUND?
	}


	immediate = { 
		226 = { # 226 - King's Landing
			if = {
				limit = { has_wonder = wonder_city_of_wonders_kings_landing }
				destroy_wonder = wonder_city_of_wonders_kings_landing
			}
		}
		286 = { # 286 - Oldtown
			if = {
				limit = { has_wonder = wonder_city_of_wonders_oldtown }
				destroy_wonder = wonder_city_of_wonders_oldtown
			}
		}
		367 = { # 367 - Tyrosh
			if = {
				limit = { has_wonder = wonder_city_of_wonders_tyrosh }
				destroy_wonder = wonder_city_of_wonders_tyrosh
			}
		}
		368 = { # 368 - Lys
			if = {
				limit = { has_wonder = wonder_city_of_wonders_lys }
				destroy_wonder = wonder_city_of_wonders_lys
			}
		}
		378 = { # 378 - Myr
			if = {
				limit = { has_wonder = wonder_city_of_wonders_myr }
				destroy_wonder = wonder_city_of_wonders_myr
			}
		}
		406 = { # 406 - Pentos
			if = {
				limit = { has_wonder = wonder_city_of_wonders_pentos }
				destroy_wonder = wonder_city_of_wonders_pentos
			}
		}
		414 = { # 414 - Ny Sar
			if = {
				limit = { has_wonder = wonder_city_of_wonders_ny_sar }
				destroy_wonder = wonder_city_of_wonders_ny_sar
			}
		}
		419 = { # 419 - Old Volantis
			if = {
				limit = { has_wonder = wonder_city_of_wonders_volantis }
				destroy_wonder = wonder_city_of_wonders_volantis
			}
		}
		433 = { # 433 - Norvos
			if = {
				limit = { has_wonder = wonder_city_of_wonders_norvos }
				destroy_wonder = wonder_city_of_wonders_norvos
			}
		}
		470 = { # 470 - Braavos
			if = {
				limit = { has_wonder = wonder_city_of_wonders_braavos }
				destroy_wonder = wonder_city_of_wonders_braavos
			}
		}
		471 = { # 471 - Lorath
			if = {
				limit = { has_wonder = wonder_city_of_wonders_lorath }
				destroy_wonder = wonder_city_of_wonders_lorath
			}
		}
		476 = { # 476 - Qohor
			if = {
				limit = { has_wonder = wonder_city_of_wonders_qohor }
				destroy_wonder = wonder_city_of_wonders_qohor
			}
		}
		542 = { # 542 - Essaria
			if = {
				limit = { has_wonder = wonder_city_of_wonders_essaria }
				destroy_wonder = wonder_city_of_wonders_essaria
			}
		}
		553 = { # 553 - Sarnath
			if = {
				limit = { has_wonder = wonder_city_of_wonders_sarnath }
				destroy_wonder = wonder_city_of_wonders_sarnath
			}
		}
		585 = { # 585 - Port Of Ibben
			if = {
				limit = { has_wonder = wonder_city_of_wonders_ibben }
				destroy_wonder = wonder_city_of_wonders_ibben
			}
		}
		602 = { # 602 - Elyria
			if = {
				limit = { has_wonder = wonder_city_of_wonders_elyria }
				destroy_wonder = wonder_city_of_wonders_elyria
			}
		}
		606 = { # 606 - Meereen
			if = {
				limit = { has_wonder = wonder_city_of_wonders_meereen }
				destroy_wonder = wonder_city_of_wonders_meereen
			}
		}
		610 = { # 610 - Yunkai
			if = {
				limit = { has_wonder = wonder_city_of_wonders_yunkai }
				destroy_wonder = wonder_city_of_wonders_yunkai
			}
		}
		613 = { # 613 - Astapor
			if = {
				limit = { has_wonder = wonder_city_of_wonders_astapor }
				destroy_wonder = wonder_city_of_wonders_astapor
			}
		}
		619 = { # 619 - Old Ghis
			if = {
				limit = { has_wonder = wonder_city_of_wonders_old_ghis }
				destroy_wonder = wonder_city_of_wonders_old_ghis
			}
		}
		625 = { # 625 - New Ghis
			if = {
				limit = { has_wonder = wonder_city_of_wonders_new_ghis }
				destroy_wonder = wonder_city_of_wonders_new_ghis
			}
		}
		663 = { # 663 - Qarth
			if = {
				limit = { has_wonder = wonder_city_of_wonders_qarth }
				destroy_wonder = wonder_city_of_wonders_qarth
			}
		}
		747 = { # 747 - Gogossos
			if = {
				limit = { has_wonder = wonder_city_of_wonders_gogossos }
				destroy_wonder = wonder_city_of_wonders_gogossos
			}
		}
		765 = { # 765 - Yin
			if = {
				limit = { has_wonder = wonder_city_of_wonders_yin }
				destroy_wonder = wonder_city_of_wonders_yin
			}
		}
		795 = { # 795 - Asshai
			if = {
				limit = { has_wonder = wonder_city_of_wonders_asshai }
				destroy_wonder = wonder_city_of_wonders_asshai
			}
		}
	}
}