plot_coup = {
	type = liege_titles
	murder_plot = yes # Non-justified coups are immoral and characters with moral qualms won't back them
	military_plot = yes
	intrigue_plot = yes
	
	potential = {
		age = 16
		NOT = { trait = incapable }
		prisoner = no
	}
	target_potential = {
		is_primary_holder_title_tier = yes
		FROM = {
			OR = {
				dejure_liege_title = { title = ROOT }
				primary_title = { de_jure_vassal_or_below = ROOT }
			}
		}
	}
	allow = {
		NOT = {
			AND = {
				holder_scope = { trait = hiver_implant }
				FROM = { trait = hiver_implant }
			}
		}
		# Non-justified coups can't be initiated in circumstances where justified coups could be
		holder_scope = { NOT = { religion = space_pirate } }
		OR = {
			holder_scope = { religion_authority = 0.8 }
			NOT = { FROM = { in_faction = faction_anti_ruler } }
		}
		OR = {
			holder_scope = { religion_authority = 0.5 }
			holder_scope = { NOT = { reverse_has_opinion_modifier = { who = FROM modifier = opinion_usurped_title } } }
			NOT = { FROM = { has_strong_claim = PREV } }
		}
		OR = {
			holder_scope = { religion_authority = 0.35 }
			NOT = { FROM = { has_strong_claim = PREV } }
		}
		OR = {
			holder_scope = { religion_authority = 0.25 }
			NOT = { FROM = { has_weak_claim = PREV } }
		}
		holder_scope = { religion_authority = 0.1 }
	}
	creation_effect = {
		if = {
			limit = {
				holder_scope = {
					religion_group = FROM
					piety = 0
				}
			}
			FROM = { set_character_flag = flag_same_ideology_coup }
		}
		# If the plot is still hopeless after a few years, the AI
		# should give up
		if = {
			limit = { FROM = { ai = yes } }
			FROM = {
				clr_character_flag = flag_ai_plot_timer
				set_character_flag = flag_ai_plot_timer
			}
		}
	}
	chance = {
		factor = 1
		
		# Plotter strength
		# The plotter needs to have SOMETHING going for them
		modifier = {
			factor = 0
			higher_tier_than = baron
			FROM = {
				NOT = { higher_tier_than = baron }
				NOT = {
					AND = {
						diplomacy = 20
						wealth = 500
					}
				}
			}
		}
		# More powerful characters should be more likely to take this plot
		modifier = {
			factor = 1.25
			FROM = { relative_power_to_liege = 0.1 }
		}
		modifier = {
			factor = 1.25
			FROM = { relative_power_to_liege = 0.2 }
		}
		modifier = {
			factor = 1.25
			FROM = { relative_power_to_liege = 0.3 }
		}
		modifier = {
			factor = 1.25
			FROM = { relative_power_to_liege = 0.4 }
		}
		modifier = {
			factor = 1.25
			FROM = { relative_power_to_liege = 0.5 }
		}
		modifier = {
			factor = 1.25
			FROM = { relative_power_to_liege = 0.6 }
		}
		modifier = {
			factor = 1.25
			FROM = { relative_power_to_liege = 0.7 }
		}
		modifier = {
			factor = 1.25
			FROM = { relative_power_to_liege = 0.8 }
		}
		modifier = {
			factor = 1.25
			FROM = { relative_power_to_liege = 0.9 }
		}
		modifier = {
			factor = 1.25
			FROM = { relative_power_to_liege = 1 }
		}
		
		# Ambition Effects
		modifier = {
			factor = 10
			FROM = { has_ambition = obj_become_king }
			capital_scope = { kingdom = { title = PREVPREV } }
		}
		modifier = {
			factor = 10
			FROM = { has_ambition = obj_become_emperor }
			capital_scope = { empire = { title = PREVPREV } }
		}
		
		# Personality Effects
		modifier = {
			factor = 0.1
			FROM = { trait = content }
		}
		modifier = {
			factor = 0.1
			FROM = { trait = friendly }
		}
		modifier = {
			factor = 0.1
			FROM = { trait = craven }
		}
		modifier = {
			factor = 5
			FROM = { trait = ambitious }
		}
		modifier = {
			factor = 2
			FROM = { trait = cold }
		}
		modifier = {
			factor = 2
			FROM = { trait = brave }
		}
		modifier = {
			factor = 2
			FROM = { trait = pragmatic }
		}
		
		# Personal Opinion
		# Unjustified coups will never be launched by vassals with positive opinions
		modifier = {
			factor = 0.8
			holder_scope = { reverse_opinion = { who = FROM value = 100 } }
		}
		modifier = {
			factor = 0.8
			holder_scope = { reverse_opinion = { who = FROM value = 90 } }
		}
		modifier = {
			factor = 0.8
			holder_scope = { reverse_opinion = { who = FROM value = 80 } }
		}
		modifier = {
			factor = 0.8
			holder_scope = { reverse_opinion = { who = FROM value = 70 } }
		}
		modifier = {
			factor = 0.8
			holder_scope = { reverse_opinion = { who = FROM value = 60 } }
		}
		modifier = {
			factor = 0.8
			holder_scope = { reverse_opinion = { who = FROM value = 50 } }
		}
		modifier = {
			factor = 0.8
			holder_scope = { reverse_opinion = { who = FROM value = 40 } }
		}
		modifier = {
			factor = 0.8
			holder_scope = { reverse_opinion = { who = FROM value = 30 } }
		}
		modifier = {
			factor = 0.8
			holder_scope = { reverse_opinion = { who = FROM value = 20 } }
		}
		modifier = {
			factor = 0.8
			holder_scope = { reverse_opinion = { who = FROM value = 10 } }
		}
		modifier = {
			factor = 1.25
			holder_scope = { NOT = { reverse_opinion = { who = FROM value = -9 } } }
		}
		modifier = {
			factor = 1.25
			holder_scope = { NOT = { reverse_opinion = { who = FROM value = -19 } } }
		}
		modifier = {
			factor = 1.25
			holder_scope = { NOT = { reverse_opinion = { who = FROM value = -29 } } }
		}
		modifier = {
			factor = 1.25
			holder_scope = { NOT = { reverse_opinion = { who = FROM value = -39 } } }
		}
		modifier = {
			factor = 1.25
			holder_scope = { NOT = { reverse_opinion = { who = FROM value = -49 } } }
		}
		modifier = {
			factor = 1.25
			holder_scope = { NOT = { reverse_opinion = { who = FROM value = -59 } } }
		}
		modifier = {
			factor = 1.25
			holder_scope = { NOT = { reverse_opinion = { who = FROM value = -69 } } }
		}
		modifier = {
			factor = 1.25
			holder_scope = { NOT = { reverse_opinion = { who = FROM value = -79 } } }
		}
		modifier = {
			factor = 1.25
			holder_scope = { NOT = { reverse_opinion = { who = FROM value = -89 } } }
		}
		modifier = {
			factor = 1.25
			holder_scope = { NOT = { reverse_opinion = { who = FROM value = -99 } } }
		}
	}
	success = { holder_scope = { character = FROM } }
	effect = {
		# Unjustified coups degrade moral authority if the target was of the same ideology
		if = {
			limit = {
				FROM = { has_character_flag = flag_same_ideology_coup }
				higher_tier_than = count
			}
			FROM = { religion_authority = { modifier = successful_unjustified_coup years = 30 } }
		}
		if = {
			limit = {
				FROM = { has_character_flag = flag_same_ideology_coup }
				higher_tier_than = duke
			}
			FROM = { religion_authority = { modifier = successful_unjustified_coup years = 30 } }
		}
		if = {
			limit = {
				FROM = { has_character_flag = flag_same_ideology_coup }
				tier = emperor
			}
			FROM = { religion_authority = { modifier = successful_unjustified_coup years = 30 } }
		}
		FROM = {
			clr_character_flag = flag_ai_plot_timer
			clr_character_flag = flag_same_ideology_coup
			clr_character_flag = flag_launching_civil_war
			clr_character_flag = flag_failed_coup
			clr_character_flag = flag_launching_coup
		}
	}
	abort = {
		OR = {
			is_primary_holder_title_tier = no
			NOT = { holder_scope = { always = yes } }
			AND = {
				holder_scope = { trait = hiver_implant }
				FROM = { trait = hiver_implant }
			}
			NOT = {
				holder_scope = {
					FROM = {
						OR = {
							character = PREV
							liege = { character = PREVPREV }
							liege_before_war = { character = PREVPREV }
						}
					}
				}
			}
			AND = {
				FROM = {
					ai = yes
					is_plot_active = no
					NOT = { trait = cold }
				}
				holder_scope = { reverse_opinion = { who = FROM value = 1 } }
			}
			FROM = {
				ai = yes
				is_plot_active = no
				had_character_flag = { flag = flag_ai_plot_timer days = 365 }
				NOT = { plot_power = 0.5 }
			}
			FROM = {
				ai = yes
				is_plot_active = no
				had_character_flag = { flag = flag_ai_plot_timer days = 1825 }
				NOT = { plot_power = 1 }
			}
		}
	}
	abort_effect = {
		FROM = {
			clr_character_flag = flag_ai_plot_timer
			clr_character_flag = flag_same_ideology_coup
			clr_character_flag = flag_launching_civil_war
			clr_character_flag = flag_failed_coup
			clr_character_flag = flag_launching_coup
		}
	}
}

plot_justified_coup = {
	type = liege_titles
	military_plot = yes
	intrigue_plot = yes
	
	potential = {
		age = 16
		NOT = { trait = incapable }
		prisoner = no
	}
	target_potential = {
		is_primary_holder_title_tier = yes
		FROM = {
			OR = {
				dejure_liege_title = { title = ROOT }
				primary_title = { de_jure_vassal_or_below = ROOT }
			}
		}
	}
	allow = {
		NOT = {
			AND = {
				holder_scope = { trait = hiver_implant }
				FROM = { trait = hiver_implant }
			}
		}
		OR = {
			holder_scope = { religion = space_pirate }
			holder_scope = {
				NOT = { religion_authority = 0.8 }
				FROM = { in_faction = faction_anti_ruler }
			}
			AND = {
				holder_scope = {
					NOT = { religion_authority = 0.5 }
					reverse_has_opinion_modifier = { who = FROM modifier = opinion_usurped_title }
				}
				FROM = { has_strong_claim = PREV }
			}
			AND = {
				holder_scope = { NOT = { religion_authority = 0.35 } }
				FROM = { has_strong_claim = PREV }
			}
			AND = {
				holder_scope = { NOT = { religion_authority = 0.25 } }
				FROM = { has_weak_claim = PREV }
			}
			holder_scope = { NOT = { religion_authority = 0.1 } }
		}
	}
	creation_effect = {
		if = {
			limit = {
				holder_scope = {
					OR = {
						NOT = { religion = FROM }
						NOT = { piety = 0 }
					}
				}
			}
			FROM = { set_character_flag = flag_other_ideology_coup }
		}
		# If the plot is still hopeless after a few years, the AI
		# should give up
		if = {
			limit = { FROM = { ai = yes } }
			FROM = {
				clr_character_flag = flag_ai_plot_timer
				set_character_flag = flag_ai_plot_timer
			}
		}
	}
	chance = {
		factor = 10
		
		# Plotter strength
		# The plotter needs to have SOMETHING going for them
		modifier = {
			factor = 0
			higher_tier_than = baron
			FROM = {
				NOT = { higher_tier_than = baron }
				NOT = {
					AND = {
						diplomacy = 20
						wealth = 500
					}
				}
			}
		}
		# More powerful characters should be more likely to take this plot
		modifier = {
			factor = 1.25
			FROM = { relative_power_to_liege = 0.1 }
		}
		modifier = {
			factor = 1.25
			FROM = { relative_power_to_liege = 0.2 }
		}
		modifier = {
			factor = 1.25
			FROM = { relative_power_to_liege = 0.3 }
		}
		modifier = {
			factor = 1.25
			FROM = { relative_power_to_liege = 0.4 }
		}
		modifier = {
			factor = 1.25
			FROM = { relative_power_to_liege = 0.5 }
		}
		modifier = {
			factor = 1.25
			FROM = { relative_power_to_liege = 0.6 }
		}
		modifier = {
			factor = 1.25
			FROM = { relative_power_to_liege = 0.7 }
		}
		modifier = {
			factor = 1.25
			FROM = { relative_power_to_liege = 0.8 }
		}
		modifier = {
			factor = 1.25
			FROM = { relative_power_to_liege = 0.9 }
		}
		modifier = {
			factor = 1.25
			FROM = { relative_power_to_liege = 1 }
		}
		
		# Ambition Effects
		modifier = {
			factor = 10
			FROM = { has_ambition = obj_become_king }
			capital_scope = { kingdom = { title = PREVPREV } }
		}
		modifier = {
			factor = 10
			FROM = { has_ambition = obj_become_emperor }
			capital_scope = { empire = { title = PREVPREV } }
		}
		
		# Constitutional Crisis Factor
		modifier = {
			factor = 10
			FROM = { in_faction = faction_anti_ruler }
		}
		modifier = {
			factor = 0
			FROM = { in_faction = faction_pro_ruler }
		}
		
		# Try to avoid splitting the plot up if possible
		modifier = {
			factor = 0
			holder_scope = {
				any_vassal = {
					has_plot = plot_justified_coup
					NOT = { character = FROM }
					OR = {
						reverse_opinion = { who = FROM value = 25 }
						higher_tier_than = FROM
						FROM = { trait = content }
					}
				}
			}
		}
		modifier = {
			factor = 0
			FROM = {
				any_backed_character = {
					same_liege = FROM
					has_plot = plot_justified_coup
				}
			}
		}
		
		# Personality Effects
		modifier = {
			factor = 0.1
			FROM = { trait = content }
		}
		modifier = {
			factor = 10
			FROM = { trait = ambitious }
		}
		modifier = {
			factor = 0.5
			FROM = { trait = craven }
		}
		modifier = {
			factor = 2
			FROM = { trait = brave }
		}
		
		# Moral authority effects
		modifier = {
			factor = 0.8
			holder_scope = { religion_authority = 0.1 }
		}
		modifier = {
			factor = 0.8
			holder_scope = { religion_authority = 0.2 }
		}
		modifier = {
			factor = 0.8
			holder_scope = { religion_authority = 0.3 }
		}
		modifier = {
			factor = 0.8
			holder_scope = { religion_authority = 0.4 }
		}
		modifier = {
			factor = 0.8
			holder_scope = { religion_authority = 0.5 }
		}
		modifier = {
			factor = 0.8
			holder_scope = { religion_authority = 0.6 }
		}
		modifier = {
			factor = 0.8
			holder_scope = { religion_authority = 0.7 }
		}
		modifier = {
			factor = 0.8
			holder_scope = { religion_authority = 0.8 }
		}
		modifier = {
			factor = 0.8
			holder_scope = { religion_authority = 0.9 }
		}
		modifier = {
			factor = 0.8
			holder_scope = { religion_authority = 1 }
		}
		
		modifier = {
			factor = 1.25
			holder_scope = { NOT = { religion = FROM } }
			FROM = { religion_authority = 0.1 }
		}
		modifier = {
			factor = 1.25
			holder_scope = { NOT = { religion = FROM } }
			FROM = { religion_authority = 0.2 }
		}
		modifier = {
			factor = 1.25
			holder_scope = { NOT = { religion = FROM } }
			FROM = { religion_authority = 0.3 }
		}
		modifier = {
			factor = 1.25
			holder_scope = { NOT = { religion = FROM } }
			FROM = { religion_authority = 0.4 }
		}
		modifier = {
			factor = 1.25
			holder_scope = { NOT = { religion = FROM } }
			FROM = { religion_authority = 0.5 }
		}
		modifier = {
			factor = 1.25
			holder_scope = { NOT = { religion = FROM } }
			FROM = { religion_authority = 0.6 }
		}
		modifier = {
			factor = 1.25
			holder_scope = { NOT = { religion = FROM } }
			FROM = { religion_authority = 0.7 }
		}
		modifier = {
			factor = 1.25
			holder_scope = { NOT = { religion = FROM } }
			FROM = { religion_authority = 0.8 }
		}
		modifier = {
			factor = 1.25
			holder_scope = { NOT = { religion = FROM } }
			FROM = { religion_authority = 0.9 }
		}
		modifier = {
			factor = 1.25
			holder_scope = { NOT = { religion = FROM } }
			FROM = { religion_authority = 1 }
		}
		
		# Personal Opinion
		modifier = {
			factor = 0.8
			holder_scope = { reverse_opinion = { who = FROM value = 100 } }
		}
		modifier = {
			factor = 0.8
			holder_scope = { reverse_opinion = { who = FROM value = 90 } }
		}
		modifier = {
			factor = 0.8
			holder_scope = { reverse_opinion = { who = FROM value = 80 } }
		}
		modifier = {
			factor = 0.8
			holder_scope = { reverse_opinion = { who = FROM value = 70 } }
		}
		modifier = {
			factor = 0.8
			holder_scope = { reverse_opinion = { who = FROM value = 60 } }
		}
		modifier = {
			factor = 0.8
			holder_scope = { reverse_opinion = { who = FROM value = 50 } }
		}
		modifier = {
			factor = 0.8
			holder_scope = { reverse_opinion = { who = FROM value = 40 } }
		}
		modifier = {
			factor = 0.8
			holder_scope = { reverse_opinion = { who = FROM value = 30 } }
		}
		modifier = {
			factor = 0.8
			holder_scope = { reverse_opinion = { who = FROM value = 20 } }
		}
		modifier = {
			factor = 0.8
			holder_scope = { reverse_opinion = { who = FROM value = 10 } }
		}
		modifier = {
			factor = 1.25
			holder_scope = { NOT = { reverse_opinion = { who = FROM value = -9 } } }
		}
		modifier = {
			factor = 1.25
			holder_scope = { NOT = { reverse_opinion = { who = FROM value = -19 } } }
		}
		modifier = {
			factor = 1.25
			holder_scope = { NOT = { reverse_opinion = { who = FROM value = -29 } } }
		}
		modifier = {
			factor = 1.25
			holder_scope = { NOT = { reverse_opinion = { who = FROM value = -39 } } }
		}
		modifier = {
			factor = 1.25
			holder_scope = { NOT = { reverse_opinion = { who = FROM value = -49 } } }
		}
		modifier = {
			factor = 1.25
			holder_scope = { NOT = { reverse_opinion = { who = FROM value = -59 } } }
		}
		modifier = {
			factor = 1.25
			holder_scope = { NOT = { reverse_opinion = { who = FROM value = -69 } } }
		}
		modifier = {
			factor = 1.25
			holder_scope = { NOT = { reverse_opinion = { who = FROM value = -79 } } }
		}
		modifier = {
			factor = 1.25
			holder_scope = { NOT = { reverse_opinion = { who = FROM value = -89 } } }
		}
		modifier = {
			factor = 1.25
			holder_scope = { NOT = { reverse_opinion = { who = FROM value = -99 } } }
		}
		
		# Legal effects
		modifier = {
			factor = 0.2
			holder_scope = { has_character_modifier = law_for_ruler }
		}
		modifier = {
			factor = 5
			holder_scope = { has_character_modifier = law_against_ruler }
		}
		
		# Things get more desperate the longer a crisis goes on
		modifier = {
			factor = 2
			holder_scope = {
				has_character_flag = flag_crisis_timer
				had_character_flag = { flag = flag_crisis_timer days = 30 }
			}
		}
		modifier = {
			factor = 2
			holder_scope = {
				has_character_flag = flag_crisis_timer
				had_character_flag = { flag = flag_crisis_timer days = 60 }
			}
		}
		modifier = {
			factor = 2
			holder_scope = {
				has_character_flag = flag_crisis_timer
				had_character_flag = { flag = flag_crisis_timer days = 90 }
			}
		}
		modifier = {
			factor = 2
			holder_scope = {
				has_character_flag = flag_crisis_timer
				had_character_flag = { flag = flag_crisis_timer days = 120 }
			}
		}
		modifier = {
			factor = 2
			holder_scope = {
				has_character_flag = flag_crisis_timer
				had_character_flag = { flag = flag_crisis_timer days = 180 }
			}
		}
		modifier = {
			factor = 2
			holder_scope = {
				has_character_flag = flag_crisis_timer
				had_character_flag = { flag = flag_crisis_timer days = 210 }
			}
		}
		modifier = {
			factor = 2
			holder_scope = {
				has_character_flag = flag_crisis_timer
				had_character_flag = { flag = flag_crisis_timer days = 240 }
			}
		}
		modifier = {
			factor = 2
			holder_scope = {
				has_character_flag = flag_crisis_timer
				had_character_flag = { flag = flag_crisis_timer days = 270 }
			}
		}
		modifier = {
			factor = 2
			holder_scope = {
				has_character_flag = flag_crisis_timer
				had_character_flag = { flag = flag_crisis_timer days = 300 }
			}
		}
		modifier = {
			factor = 2
			holder_scope = {
				has_character_flag = flag_crisis_timer
				had_character_flag = { flag = flag_crisis_timer days = 330 }
			}
		}
		modifier = {
			factor = 2
			holder_scope = {
				has_character_flag = flag_crisis_timer
				had_character_flag = { flag = flag_crisis_timer days = 360 }
			}
		}
	}
	success = { holder_scope = { character = FROM } }
	effect = {
		# Justified coups, if against other ideologies, are actually
		# good for moral authority, because you're deposing tyrants
		if = {
			limit = {
				FROM = { has_character_flag = flag_other_ideology_coup }
				higher_tier_than = count
			}
			FROM = { religion_authority = { modifier = successful_justified_coup years = 30 } }
		}
		if = {
			limit = {
				FROM = { has_character_flag = flag_other_ideology_coup }
				higher_tier_than = duke
			}
			FROM = { religion_authority = { modifier = successful_justified_coup years = 30 } }
		}
		if = {
			limit = {
				FROM = { has_character_flag = flag_other_ideology_coup }
				tier = emperor
			}
			FROM = { religion_authority = { modifier = successful_justified_coup years = 30 } }
		}
		FROM = {
			clr_character_flag = flag_other_ideology_coup
			clr_character_flag = flag_ai_plot_timer
			clr_character_flag = flag_launching_coup
		}
	}
	abort = {
		OR = {
			is_primary_holder_title_tier = no
			NOT = { holder_scope = { always = yes } } # Title must actually exist and be held by someone
			NOT = {
				holder_scope = {
					FROM = {
						OR = {
							character = PREV
							liege = { character = PREVPREV }
							liege_before_war = { character = PREVPREV }
						}
					}
				}
			}
			AND = {
				holder_scope = { trait = hiver_implant }
				FROM = { trait = hiver_implant }
			}
			AND = {
				FROM = { is_plot_active = no } # Justified coups can't be canceled like this once begun
				holder_scope = { NOT = { religion = space_pirate } }
				OR = {
					holder_scope = { religion_authority = 0.8 }
					NOT = { FROM = { in_faction = faction_anti_ruler } }
				}
				OR = {
					holder_scope = { religion_authority = 0.5 }
					holder_scope = { NOT = { reverse_has_opinion_modifier = { who = FROM modifier = opinion_usurped_title } } }
					NOT = { FROM = { has_strong_claim = PREV } }
				}
				OR = {
					holder_scope = { religion_authority = 0.35 }
					NOT = { FROM = { has_strong_claim = PREV } }
				}
				OR = {
					holder_scope = { religion_authority = 0.25 }
					NOT = { FROM = { has_weak_claim = PREV } }
				}
				holder_scope = { religion_authority = 0.1 }
			}
			FROM = {
				ai = yes
				is_plot_active = no
				had_character_flag = { flag = flag_ai_plot_timer days = 365 }
				NOT = { plot_power = 0.5 }
			}
			FROM = {
				ai = yes
				is_plot_active = no
				had_character_flag = { flag = flag_ai_plot_timer days = 1825 }
				NOT = { plot_power = 1 }
			}
		}
	}
	abort_effect = {
		FROM = {
			clr_character_flag = flag_other_ideology_coup
			clr_character_flag = flag_ai_plot_timer
			clr_character_flag = flag_launching_civil_war
			clr_character_flag = flag_failed_coup
			clr_character_flag = flag_launching_coup
		}
	}
}