namespace = usurpation

# Usurp Primary Title: Not Merchant Republic
character_event = {
	id = usurpation.0
	hide_window = yes
	is_triggered_only = yes
	
	trigger = { is_merchant_republic = no }
	
	immediate = {
		clr_character_flag = flag_primary_title_usurped # Clear this flag if it was set
		any_demesne_title = {
			limit = {
				OR = {
					is_primary_holder_title_tier = yes
					location = { ROOT = { capital_scope = { province_id = PREVPREV } } }
					ROOT = { capital_scope = { duchy = { title = PREVPREVPREV } } }
					ROOT = { capital_scope = { kingdom = { title = PREVPREVPREV } } }
				}
			}
			usurp_title = FROM
		}
	}
	set_defacto_liege = FROM
}

# Usurp Primary Title: Merchant Republic
character_event = {
	id = usurpation.1
	hide_window = yes
	is_triggered_only = yes
	
	trigger = {
		is_merchant_republic = yes
		FROM = { is_patrician = yes }
	}
	immediate = {
		clr_character_flag = flag_primary_title_usurped # Clear this flag if it was set
		# Create dummy middleman to hold onto the family estate for a second
		create_character = {
			name = "Stockholder Meeting"
			age = 20
			culture = ROOT
			religion = ROOT
			dynasty = ROOT
			is_female = no
		}
		new_character = {
			set_defacto_liege = FROM # Do this at every possible opportunity
			ROOT = {
				# Grab any family estate titles and give them to the dummy
				any_demesne_title = {
					limit = {
						is_primary_holder_title_tier = no # These are all state titles, obviously
						NOT = { location = { ROOT = { capital_scope = { province_id = PREVPREV } } } }
						NOT = { ROOT = { capital_scope = { duchy = { title = PREVPREVPREV } } } }
						NOT = { ROOT = { capital_scope = { kingdom = { title = PREVPREVPREV } } } }
					}
					grant_title = PREVPREV
				}
				# Make extra sure to get the patrician title
				any_demesne_title = {
					limit = { is_patrician = yes }
					grant_title = PREVPREV
				}
			}
			set_defacto_liege = FROM
			# Now Commence the Abdications
			ROOT = { abdicate_to = FROM }
			abdicate_to = ROOT
			death = { death_reason = death_sacrifice }
		}
		set_defacto_liege = FROM # One more time now
		opinion = { who = FROM modifier = opinion_usurped_title }
	}
}

character_event = {
	id = usurpation.2
	hide_window = yes
	is_triggered_only = yes
	
	trigger = {
		is_merchant_republic = yes
		FROM = { is_patrician = no }
	}
	
	immediate = {
		clr_character_flag = flag_primary_title_usurped # Clear this flag if it was set
		# Much simpler in this case. Well, relatively speaking
		# First, create a temporary title of at least the appropriate
		# tier to ensure vassals can be safely transferred
		if = {
			limit = {
				primary_title = { tier = duke }
				FROM = { primary_title = { NOT = { higher_tier_than = count } } }
			}
			FROM = {
				create_title = {
					tier = DUKE
					landless = yes
					temporary = yes
					name = "TRANSITIONAL_GOVERNMENT"
					holder = THIS
				}
			}
		}
		if = {
			limit = {
				primary_title = { tier = king }
				FROM = { primary_title = { NOT = { higher_tier_than = duke } } }
			}
			FROM = {
				create_title = {
					tier = KING
					landless = yes
					temporary = yes
					name = "TRANSITIONAL_GOVERNMENT"
					holder = THIS
				}
			}
		}
		if = {
			limit = {
				primary_title = { tier = emperor }
				FROM = { primary_title = { tier = emperor } }
			}
			FROM = {
				create_title = {
					tier = EMPEROR
					landless = yes
					temporary = yes
					name = "TRANSITIONAL_GOVERNMENT"
					holder = THIS
				}
			}
		}
		# Transfer vassals
		any_vassal = { set_defacto_liege = FROM }
		any_demesne_title = {
			limit = {
				OR = {
					is_primary_holder_title_tier = yes
					location = { ROOT = { capital_scope = { province_id = PREVPREV } } }
					ROOT = { capital_scope = { duchy = { title = PREVPREVPREV } } }
					ROOT = { capital_scope = { kingdom = { title = PREVPREVPREV } } }
				}
				is_patrician = no
			}
			usurp_title = FROM
		}
		set_defacto_liege = FROM
	}
}

# War-ending 
character_event = {
	id = usurpation.100
	hide_window = yes
	is_triggered_only = yes
	
	immediate = {
		any_current_enemy = {
			limit = { has_character_flag = flag_primary_title_usurped }
			character_event = { id = usurpation.0 }
			character_event = { id = usurpation.1 }
			character_event = { id = usurpation.2 }
		}
	}
}

# Special: Strictly speaking, usurping things IS against the law
character_event = {
	id = usurpation.200
	desc = "EVTDESCUSURPATION200"
	picture = GFX_evt_scandal
	is_triggered_only = yes
	
	trigger = {
		independent = no
		NOT = { liege = { character = FROMFROM } }
		same_realm = FROMFROM
		# Titles won in an election aren't really USURPED
		NOT = { FROM = { has_title_flag = flag_holding_election } }
		NOT = { has_character_flag = flag_not_a_usurper }
	}
	
	option = {
		name = "EVTOPTAUSURPATION200"
		hidden_tooltip = { FROMFROM = { character_event = { id = usurpation.201 } } }
	}
}

character_event = {
	id = usurpation.201
	hide_window = yes
	is_triggered_only = yes
	
	immediate = { FROM = { liege = { character_event = { id = usurpation.202 } } } }
}

# A vassal of yours has usurped a title
character_event = {
	id = usurpation.202
	desc = "EVTDESCUSURPATION202"
	picture = GFX_evt_scandal
	is_triggered_only = yes
	
	option = {
		name = "EVTOPTAUSURPATION202" # I'll have no such treachery in my realm
		religion_authority = { modifier = peacekeeping years = 5 }
		FROMFROM = {
			opinion = { who = ROOT modifier = opinion_denounced_attack_by_me }
			hidden_tooltip = { reverse_opinion = { who = ROOT modifier = opinion_criminal_treason } }
			character_event = { id = usurpation.203 tooltip = "EVTTOOLTIPUSURPATION203" }
		}
		FROM = {
			opinion = { who = ROOT modifier = opinion_denounced_attack_on_me }
			character_event = { id = usurpation.204 tooltip = "EVTTOOLTIPUSURPATION204" }
		}
		ai_chance = {
			factor = 50
			# Opinion of those involved
			modifier = {
				factor = 1.25
				opinion = { who = FROM value = 100 }
				NOT = { trait = cold }
			}
			modifier = {
				factor = 1.25
				opinion = { who = FROM value = 90 }
				NOT = { trait = cold }
			}
			modifier = {
				factor = 1.25
				opinion = { who = FROM value = 80 }
				NOT = { trait = cold }
			}
			modifier = {
				factor = 1.25
				opinion = { who = FROM value = 70 }
				NOT = { trait = cold }
			}
			modifier = {
				factor = 1.25
				opinion = { who = FROM value = 60 }
				NOT = { trait = cold }
			}
			modifier = {
				factor = 1.25
				opinion = { who = FROM value = 50 }
				NOT = { trait = cold }
			}
			modifier = {
				factor = 1.25
				opinion = { who = FROM value = 40 }
				NOT = { trait = cold }
			}
			modifier = {
				factor = 1.25
				opinion = { who = FROM value = 30 }
				NOT = { trait = cold }
			}
			modifier = {
				factor = 1.25
				opinion = { who = FROM value = 20 }
				NOT = { trait = cold }
			}
			modifier = {
				factor = 1.25
				opinion = { who = FROM value = 10 }
				NOT = { trait = cold }
			}
			modifier = {
				factor = 0.8
				NOT = { opinion = { who = FROM value = -9 } }
				NOT = { trait = friendly }
			}
			modifier = {
				factor = 0.8
				NOT = { opinion = { who = FROM value = -19 } }
				NOT = { trait = friendly }
			}
			modifier = {
				factor = 0.8
				NOT = { opinion = { who = FROM value = -29 } }
				NOT = { trait = friendly }
			}
			modifier = {
				factor = 0.8
				NOT = { opinion = { who = FROM value = -39 } }
				NOT = { trait = friendly }
			}
			modifier = {
				factor = 0.8
				NOT = { opinion = { who = FROM value = -49 } }
				NOT = { trait = friendly }
			}
			modifier = {
				factor = 0.8
				NOT = { opinion = { who = FROM value = -59 } }
				NOT = { trait = friendly }
			}
			modifier = {
				factor = 0.8
				NOT = { opinion = { who = FROM value = -69 } }
				NOT = { trait = friendly }
			}
			modifier = {
				factor = 0.8
				NOT = { opinion = { who = FROM value = -79 } }
				NOT = { trait = friendly }
			}
			modifier = {
				factor = 0.8
				NOT = { opinion = { who = FROM value = -89 } }
				NOT = { trait = friendly }
			}
			modifier = {
				factor = 0.8
				NOT = { opinion = { who = FROM value = -99 } }
				NOT = { trait = friendly }
			}
			modifier = {
				factor = 1.25
				NOT = { opinion = { who = FROMFROM value = -99 } }
				NOT = { trait = friendly }
			}
			modifier = {
				factor = 1.25
				NOT = { opinion = { who = FROMFROM value = -89 } }
				NOT = { trait = friendly }
			}
			modifier = {
				factor = 1.25
				NOT = { opinion = { who = FROMFROM value = -79 } }
				NOT = { trait = friendly }
			}
			modifier = {
				factor = 1.25
				NOT = { opinion = { who = FROMFROM value = -69 } }
				NOT = { trait = friendly }
			}
			modifier = {
				factor = 1.25
				NOT = { opinion = { who = FROMFROM value = -59 } }
				NOT = { trait = friendly }
			}
			modifier = {
				factor = 1.25
				NOT = { opinion = { who = FROMFROM value = -49 } }
				NOT = { trait = friendly }
			}
			modifier = {
				factor = 1.25
				NOT = { opinion = { who = FROMFROM value = -39 } }
				NOT = { trait = friendly }
			}
			modifier = {
				factor = 1.25
				NOT = { opinion = { who = FROMFROM value = -29 } }
				NOT = { trait = friendly }
			}
			modifier = {
				factor = 1.25
				NOT = { opinion = { who = FROMFROM value = -19 } }
				NOT = { trait = friendly }
			}
			modifier = {
				factor = 1.25
				NOT = { opinion = { who = FROMFROM value = -9 } }
				NOT = { trait = friendly }
			}
			modifier = {
				factor = 0.8
				opinion = { who = FROMFROM value = 10 }
				NOT = { trait = cold }
			}
			modifier = {
				factor = 0.8
				opinion = { who = FROMFROM value = 20 }
				NOT = { trait = cold }
			}
			modifier = {
				factor = 0.8
				opinion = { who = FROMFROM value = 30 }
				NOT = { trait = cold }
			}
			modifier = {
				factor = 0.8
				opinion = { who = FROMFROM value = 40 }
				NOT = { trait = cold }
			}
			modifier = {
				factor = 0.8
				opinion = { who = FROMFROM value = 50 }
				NOT = { trait = cold }
			}
			modifier = {
				factor = 0.8
				opinion = { who = FROMFROM value = 60 }
				NOT = { trait = cold }
			}
			modifier = {
				factor = 0.8
				opinion = { who = FROMFROM value = 70 }
				NOT = { trait = cold }
			}
			modifier = {
				factor = 0.8
				opinion = { who = FROMFROM value = 80 }
				NOT = { trait = cold }
			}
			modifier = {
				factor = 0.8
				opinion = { who = FROMFROM value = 90 }
				NOT = { trait = cold }
			}
			modifier = {
				factor = 0.8
				opinion = { who = FROMFROM value = 100 }
				NOT = { trait = cold }
			}
			# Political concerns
			modifier = {
				factor = 0.5
				FROMFROM = {
					liege = { character = ROOT }
					relative_power_to_liege = 0.2
				}
				NOT = { trait = lunatic }
				NOT = { trait = imbecile }
				NOT = { trait = proud }
				NOT = { trait = radical }
			}
			modifier = {
				factor = 0.5
				FROMFROM = {
					liege = { character = ROOT }
					relative_power_to_liege = 0.4
				}
				NOT = { trait = lunatic }
				NOT = { trait = imbecile }
				NOT = { trait = proud }
				NOT = { trait = radical }
			}
			modifier = {
				factor = 0.5
				FROMFROM = {
					liege = { character = ROOT }
					relative_power_to_liege = 0.6
				}
				NOT = { trait = lunatic }
				NOT = { trait = imbecile }
				NOT = { trait = proud }
				NOT = { trait = radical }
			}
			modifier = {
				factor = 0.5
				FROMFROM = {
					liege = { character = ROOT }
					relative_power_to_liege = 0.8
				}
				NOT = { trait = lunatic }
				NOT = { trait = imbecile }
				NOT = { trait = proud }
				NOT = { trait = radical }
			}
			modifier = {
				factor = 2
				FROM = {
					liege = { character = ROOT }
					relative_power_to_liege = 0.2
				}
				NOT = { trait = lunatic }
				NOT = { trait = imbecile }
				NOT = { trait = proud }
				NOT = { trait = radical }
			}
			modifier = {
				factor = 2
				FROM = {
					liege = { character = ROOT }
					relative_power_to_liege = 0.4
				}
				NOT = { trait = lunatic }
				NOT = { trait = imbecile }
				NOT = { trait = proud }
				NOT = { trait = radical }
			}
			modifier = {
				factor = 2
				FROM = {
					liege = { character = ROOT }
					relative_power_to_liege = 0.6
				}
				NOT = { trait = lunatic }
				NOT = { trait = imbecile }
				NOT = { trait = proud }
				NOT = { trait = radical }
			}
			modifier = {
				factor = 2
				FROM = {
					liege = { character = ROOT }
					relative_power_to_liege = 0.8
				}
				NOT = { trait = lunatic }
				NOT = { trait = imbecile }
				NOT = { trait = proud }
				NOT = { trait = radical }
			}
			modifier = {
				factor = 0.2
				any_allied_character = { character = FROMFROM }
				NOT = { trait = radical }
				NOT = { trait = cold }
			}
			modifier = {
				factor = 5
				any_allied_character = { character = FROM }
				NOT = { trait = radical }
				NOT = { trait = cold }
			}
			
			# Duty
			modifier = {
				factor = 2
				religion_authority = 0.25
			}
			modifier = {
				factor = 2
				religion_authority = 0.5
			}
			modifier = {
				factor = 2
				religion_authority = 0.75
			}
			modifier = {
				factor = 2
				trait = radical
			}
		}
	}
	
	option = {
		name = "EVTOPTBUSURPATION202" # None of my business
		FROMFROM = {
			opinion = { who = ROOT modifier = opinion_ignored_attack_by_me }
			character_event = { id = usurpation.205 tooltip = "EVTTOOLTIPUSURPATION205" }
		}
		FROM = {
			opinion = { who = ROOT modifier = opinion_ignored_attack_on_me }
			character_event = { id = usurpation.206 tooltip = "EVTTOOLTIPUSURPATION206" }
		}
		ai_chance = { factor = 50 }
	}
}
character_event = {
	id = usurpation.203
	desc = "EVTDESCUSURPATION203"
	picture = GFX_evt_scandal
	is_triggered_only = yes
	
	option = { name = "EVOPTCONFIRM" }
}
character_event = {
	id = usurpation.204
	desc = "EVTDESCUSURPATION204"
	picture = GFX_evt_scandal
	is_triggered_only = yes
	
	option = { name = "EVOPTCONFIRM" }
}
character_event = {
	id = usurpation.205
	desc = "EVTDESCUSURPATION205"
	picture = GFX_evt_scandal
	is_triggered_only = yes
	
	option = { name = "EVOPTCONFIRM" }
}
character_event = {
	id = usurpation.206
	desc = "EVTDESCUSURPATION206"
	picture = GFX_evt_scandal
	is_triggered_only = yes
	
	option = { name = "EVOPTCONFIRM" }
}