###########################################
#
# Rebel Events
#
# ID 80000-85000 is reserved
#
###########################################

# NOTE THAT WITH "THE OLD GODS" DLC, THESE EVENTS ARE ALL IRRELEVANT

###########################################
# Buildings Destroyed
###########################################
# 80000

# Rebels Destroy Random Building for Count
province_event = {
	id = 80000
	desc = EVTDESC80000
	picture = GFX_evt_burning_house

	lacks_dlc = "The Old Gods"

	trigger = {
		num_of_settlements >= 1

		# Rebel occupied
		NOT = {
			any_province_holding = {
				NOT = { controlled_by = e_rebels }
			}
		}

		any_province_holding = {
			num_of_buildings >= 1
		}
	}

	mean_time_to_happen = {
		years = 2
	}

	immediate = {
		random_province_holding = {
			limit = { num_of_buildings >= 1 }

			holder_scope = {
				set_character_flag = building_is_destroyed
			}
		}
	}

	option = {
		name = EVTOPTA80000

		trigger = {
			owner = {
				has_character_flag = building_is_destroyed
			}
		}

		random_province_holding = {
			show_scope_change = no

			limit = {
				holder_scope = {
					has_character_flag = building_is_destroyed
				}

				num_of_buildings >= 1
			}

			destroy_random_building = yes
			destroy_random_building = yes
		}
	}

	option = {
		name = EVTOPTB80000

		trigger = {
			owner = {
				NOT = { has_character_flag = building_is_destroyed }
			}
		}

		random_province_lord = {
			limit = { has_character_flag = building_is_destroyed }

			character_event = {
				id = 80001
				days = 1
			}
		}
	}
}

# Rebels Destroy Random Building for Baron
character_event = {
	id = 80001
	desc = EVTDESC80001
	picture = GFX_evt_burning_house

	is_triggered_only = yes

	option = {
		name = EVTOPTA80000

		FROM = {
			show_scope_change = no

			random_province_holding = {
				limit = {
					holder = ROOT
					num_of_buildings >= 1
				}

				destroy_random_building = yes
			}
		}
	}
}

###########################################
# Characters Killed / Maimed / Wounded
###########################################
# 80005-80052

# Rebels Kill Random Province Lord - Duke or above
character_event = {
	id = 80005
	desc = EVTDESC80005
	picture = GFX_evt_peasants

	is_triggered_only = yes # on_yearly_pulse, random_events, rebel_occupied_events

	lacks_dlc = "The Old Gods"
	only_playable = yes
	min_age = 16
	prisoner = no
	in_command = no

	trigger = {
		higher_real_tier_than = COUNT
		can_be_maimed_trigger = yes
		NOT = { trait = wounded }
		is_inaccessible_trigger = no

		# Rebel occupied
		location = {
			NOR = {
				has_province_flag = possible_province_defection

				any_province_holding = {
					NOT = { controlled_by = e_rebels }
				}
			}
		}
	}

	immediate = {
		random_list = {
			50 = { set_character_flag = character_killed_by_rebels }
			25 = { set_character_flag = character_maimed_by_rebels }
			25 = { set_character_flag = character_wounded_by_rebels }
		}
	}

	option = {
		name = EVTOPTA80005

		trigger = { has_character_flag = character_killed_by_rebels }

		if = {
			limit = { independent = no }

			liege = {
				character_event = {
					id = 80050
					days = 3
				}
			}
		}

		death = {
			death_reason = death_rabble
		}
	}

	option = {
		name = EVTOPTB80005

		trigger = { has_character_flag = character_maimed_by_rebels }

		if = {
			limit = { independent = no }

			liege = {
				letter_event = {
					id = 80051
					days = 3
				}
			}
		}

		add_maimed_trait_effect = yes
	}

	option = {
		name = EVTOPTC80005

		trigger = { has_character_flag = character_wounded_by_rebels }

		if = {
			limit = { independent = no }

			liege = {
				letter_event = {
					id = 80052
					days = 3
				}
			}
		}

		add_trait_silently_wounded_effect = yes
	}

	after = {
		clr_character_flag = character_killed_by_rebels
		clr_character_flag = character_maimed_by_rebels
		clr_character_flag = character_wounded_by_rebels
	}
}

# Rebels Kill Random Province Lord - Count
character_event = {
	id = 80010
	desc = EVTDESC80005
	picture = GFX_evt_peasants

	is_triggered_only = yes # on_yearly_pulse, random_events, rebel_occupied_events

	lacks_dlc = "The Old Gods"
	only_playable = yes
	min_age = 16
	prisoner = no
	in_command = no

	trigger = {
		real_tier = COUNT
		can_be_maimed_trigger = yes
		NOT = { trait = wounded }

		# Rebel occupied
		location = {
			NOR = {
				has_province_flag = possible_province_defection

				any_province_holding = {
					NOT = { controlled_by = e_rebels }
				}
			}
		}

		is_inaccessible_trigger = no
	}

	immediate = {
		random_list = {
			50 = { set_character_flag = character_killed_by_rebels }
			25 = { set_character_flag = character_maimed_by_rebels }
			25 = { set_character_flag = character_wounded_by_rebels }
		}
	}

	option = {
		name = EVTOPTA80005

		trigger = { has_character_flag = character_killed_by_rebels }

		if = {
			limit = { independent = no }

			liege = {
				character_event = {
					id = 80050
					days = 3
				}
			}
		}

		death = {
			death_reason = death_rabble
		}
	}

	option = {
		name = EVTOPTB80005

		trigger = { has_character_flag = character_maimed_by_rebels }

		if = {
			limit = { independent = no }

			liege = {
				letter_event = {
					id = 80051
					days = 3
				}
			}
		}

		add_maimed_trait_effect = yes
	}

	option = {
		name = EVTOPTC80005

		trigger = { has_character_flag = character_wounded_by_rebels }

		if = {
			limit = { independent = no }

			liege = {
				letter_event = {
					id = 80052
					days = 3
				}
			}
		}

		add_trait_silently_wounded_effect = yes
	}

	after = {
		clr_character_flag = character_killed_by_rebels
		clr_character_flag = character_maimed_by_rebels
		clr_character_flag = character_wounded_by_rebels
	}
}

# Rebels Kill Random Province Lord - Baron
character_event = {
	id = 80015
	desc = EVTDESC80005
	picture = GFX_evt_peasants

	is_triggered_only = yes # on_yearly_pulse, random_events, rebel_occupied_events

	lacks_dlc = "The Old Gods"
	only_rulers = yes
	min_age = 16
	prisoner = no
	in_command = no

	trigger = {
		real_tier = BARON
		can_be_maimed_trigger = yes
		NOT = { trait = wounded }

		# Rebel occupied
		location = {
			# Early out
			is_land = yes
			controlled_by = e_rebels

			NOT = {
				any_province_holding = {
					NOT = { controlled_by = e_rebels }
				}
			}
		}

		is_inaccessible_trigger = no
	}

	immediate = {
		random_list = {
			50 = { set_character_flag = character_killed_by_rebels }
			25 = { set_character_flag = character_maimed_by_rebels }
			25 = { set_character_flag = character_wounded_by_rebels }
		}
	}

	option = {
		name = EVTOPTA80005

		trigger = { has_character_flag = character_killed_by_rebels }

		if = {
			limit = { independent = no }

			liege = {
				character_event = {
					id = 80050
					days = 3
				}
			}
		}

		death = { death_reason = death_rabble }
	}

	option = {
		name = EVTOPTB80005

		trigger = { has_character_flag = character_maimed_by_rebels }

		if = {
			limit = { independent = no }

			liege = {
				letter_event = {
					id = 80051
					days = 3
				}
			}
		}

		add_maimed_trait_effect = yes
	}

	option = {
		name = EVTOPTC80005

		trigger = { has_character_flag = character_wounded_by_rebels }

		if = {
			limit = { independent = no }

			liege = {
				letter_event = {
					id = 80052
					days = 3
				}
			}
		}

		add_trait_silently_wounded_effect = yes
	}

	after = {
		clr_character_flag = character_killed_by_rebels
		clr_character_flag = character_maimed_by_rebels
		clr_character_flag = character_wounded_by_rebels
	}
}

# Rebels Kill Random Province Character
character_event = {
	id = 80020
	desc = EVTDESC80005
	picture = GFX_evt_peasants

	is_triggered_only = yes # on_yearly_pulse, random_events, rebel_occupied_events

	lacks_dlc = "The Old Gods"
	prisoner = no
	in_command = no

	trigger = {
		is_ruler = no
		can_be_maimed_trigger = yes
		NOT = { trait = wounded }

		# Rebel occupied
		location = {
			# Early out
			is_land = yes
			controlled_by = e_rebels

			NOT = {
				any_province_holding = {
					NOT = { controlled_by = e_rebels }
				}
			}
		}

		is_inaccessible_trigger = no
	}

	immediate = {
		random_list = {
			50 = { set_character_flag = character_killed_by_rebels }
			25 = { set_character_flag = character_maimed_by_rebels }
			25 = { set_character_flag = character_wounded_by_rebels }
		}
	}

	option = {
		name = EVTOPTA80005

		trigger = { has_character_flag = character_killed_by_rebels }

		liege = {
			character_event = {
				id = 80050
				days = 3
			}
		}

		death = { death_reason = death_rabble }
	}

	option = {
		name = EVTOPTB80005

		trigger = { has_character_flag = character_maimed_by_rebels }

		liege = {
			letter_event = {
				id = 80051
				days = 3
			}
		}

		add_maimed_trait_effect = yes
	}

	option = {
		name = EVTOPTC80005

		trigger = { has_character_flag = character_wounded_by_rebels }

		liege = {
			letter_event = {
				id = 80052
				days = 3
			}
		}

		add_trait_silently_wounded_effect = yes
	}

	after = {
		clr_character_flag = character_killed_by_rebels
		clr_character_flag = character_maimed_by_rebels
		clr_character_flag = character_wounded_by_rebels
	}
}

# Character killed
character_event = {
	id = 80050
	desc = EVTDESC80050
	picture = GFX_evt_death

	is_triggered_only = yes

	ai = no

	option = {
		name = EVTOPTA80050
	}
}

# Character maimed
letter_event = {
	id = 80051
	desc = EVTDESC80051

	is_triggered_only = yes

	ai = no

	option = {
		name = EVTOPTA80051
	}
}

# Character wounded
letter_event = {
	id = 80052
	desc = EVTDESC80052

	is_triggered_only = yes

	ai = no

	option = {
		name = EVTOPTA80052
	}
}


###########################################
# Province Defection Events
###########################################

# Province defects
# Isolated province
province_event = {
	id = 80062
	desc = EVTDESC80062
	picture = GFX_evt_peasants

	lacks_dlc = "The Old Gods"

	trigger = {
		# Rebel occupied
		controlled_by = e_rebels
		is_coastal = no
		num_of_settlements >= 1

		NOR = {
			has_province_flag = possible_province_defection

			any_province_holding = {
				NOT = { controlled_by = e_rebels }
			}
		}

		owner = {
			top_liege = {
				# Not for those in an independence war
				independent = yes

				# Not the only province in the realm
				num_of_count_titles_in_realm > 1
			}

			# Not a player's last province
			trigger_if = {
				limit = { ai = no }
				num_of_count_titles > 1
			}
		}

		# Not a single-province island
		any_neighbor_province = {
			has_owner = yes
			is_land = yes
		}

		NOR = {
			# No neighbor province from same realm
			any_neighbor_province = {
				has_owner = yes

				owner = {
					top_liege = {
						ROOT = {
							owner = {
								top_liege = {
									character = PREVPREVPREV
								}
							}
						}
					}
				}
			}


			# Not if part of de jure duchy held by someone in same top realm
			duchy = {
				holder_scope = {
					top_liege = {
						ROOT = {
							owner = {
								top_liege = {
									character = PREVPREVPREV
								}
							}
						}
					}
				}
			}
		}
	}

	mean_time_to_happen = {
		months = 1
	}

	immediate = {
		set_province_flag = possible_province_defection
		log = "[Root.GetName] fired event: 80062."

		if = {
			limit = {
				holder_scope = {
					is_nomadic = yes
				}
			}
			log = "Which is a nomad."
		}
	}

	option = {
		name = evt_chancellor_504_option_a

		owner = {
			save_event_target_as = old_owner
		}

		county = {
			rebel_defection = yes
		}

		hidden_effect = {
			province_event = {
				id = 80058 # Inform new owner
				days = 3
			}

			clear_revolt = yes
		}
	}
}

# Province defects to new ruler
province_event = {
	id = 80058
	desc = EVTDESC80058
	picture = GFX_evt_peasants

	show_from_from = no
	is_triggered_only = yes

	option = {
		name = EVTOPTA80058

		hidden_effect = {
			clr_province_flag = possible_province_defection

			event_target:old_owner = {
				liege = {
					character_event = {
						id = 80057
						days = 3
					}

					if = {
						limit = { independent = no }

						top_liege = {
							character_event = {
								id = 80057
								days = 3
							}
						}
					}
				}
			}

			clear_event_target = old_owner
		}
	}
}

# Liege notified
character_event = {
	id = 80057
	desc = EVTDESC80057
	picture = GFX_evt_peasants

	show_from_from = yes
	is_triggered_only = yes

	ai = no

	option = {
		name = EVTOPTA80054
	}
}