## normal scopes(including posttitle scopes) ##
# ROOT = receiver
# FROM = giver
# <no scope change> = attacker or receiver
## title scopes ##
# ROOT = receiver
# FROM = giver
# <no scope change> = thirdparty landed title	
#
# the following effects/triggers exists (example execution order: on_success->on_success_title->on_success_posttitle):
# is_valid, is_valid_title, on_add, on_add_title, on_add_posttitle, on_success, on_success_title, on_success_posttitle, on_fail, on_fail_title, on_fail_posttitle, on_reverse_demand, on_reverse_demand_title, on_reverse_demand_posttitle
#
# Added on_attacker_leader_death, on_defender_leader_death and on_thirdparty_death, which all trigger when corresponding character dies
# These three all have war scopes, which currently has the following scope changes: 
# attacker, defender, thirdparty(only valid if thirdparty character is involved), thirdparty_title(only valid if thirdparty title is involved)
#
# ai_will_do: modifies value AI places on the CB compared to other CBs (default: 1)
# can_use_gui: If otherwise valid, the CB is listed in the Diplo View, but you can't declare war unless 'can_use_gui' is also valid (also shows a trigger tooltip.)
#

lower_crown_authority_law = {
	name = CB_NAME_LOWER_CROWN_AUTHORITY_LAW
	war_name = WAR_NAME_LOWER_CROWN_AUTHORITY_LAW
	sprite = 6
	truce_days = 3650
	can_call_allies = no
	can_ask_to_join_war = no
	major_revolt = yes
	
	can_use = {
		ROOT = {
			vassal_of = FROM
		}
		NOT = { has_dlc = "Zeus" }
	}
	
	can_use_title = {
		holder_scope = { independent = yes }
		OR = {
			tier = king
			tier = emperor
		}
		OR = {
			has_law = crown_authority_1
			has_law = crown_authority_2
			has_law = crown_authority_3
			has_law = crown_authority_4
		}
	}
	
	is_valid = {
		FROM = {
			in_revolt = no
			liege_before_war = {
				in_revolt = no
				liege_before_war = {
					in_revolt = no
				}
			}
		}
		ROOT = {
			OR = {
				liege = {
					character = PREV # either independent
				}
				liege = { 
					FROM = { 
						is_liege_or_above = PREV # or have shared liege
					}
				}
			}
		}
	}

	on_success = {
		ROOT = {
			opinion = {
				modifier = opinion_lowered_crown_authority
				who = FROM
				months = 12
			}
		}
		any_attacker = {
			limit = { character = ROOT }
			participation_scaled_prestige = 100
			hidden_tooltip = {
				disband_event_forces = faction_revolters
			}
		}
		any_attacker = {
			limit = { NOT = { character = ROOT } }
			hidden_tooltip = { participation_scaled_prestige = 100 }
			hidden_tooltip = {
				disband_event_forces = faction_revolters
			}
		}
		FROM = { hidden_tooltip = { disband_event_forces = faction_loyalists } }
		FROM = { hidden_tooltip = { character_event = {id = SMKingdom.9 days = 1} } }
	}

	on_success_title = {
		if = {
			limit = { has_law = crown_authority_1 }
			add_law_w_cooldown = crown_authority_0
		}
		if = {
			limit = { has_law = crown_authority_2 }
			add_law_w_cooldown = crown_authority_1
		}
		if = {
			limit = { has_law = crown_authority_3 }
			add_law_w_cooldown = crown_authority_2
		}
		if = {
			limit = { has_law = crown_authority_4 }
			add_law_w_cooldown = crown_authority_3
		}
	}

	on_fail = {
		ROOT = {
			prestige = -100
		}
		
		any_defender = {
			limit = { character = FROM }
			participation_scaled_prestige = 50
		}
		any_defender = {
			limit = { NOT = { character = FROM } }
			hidden_tooltip = { participation_scaled_prestige = 50 }
		}
		
		hidden_tooltip = {
			any_attacker = {
				disband_event_forces = faction_revolters
				add_character_modifier = {
					name = faction_lower_CA_ultimatum_timer
					hidden = yes
					duration = 3650
				}
			}
		}
		FROM = { hidden_tooltip = { disband_event_forces = faction_loyalists } }
	}

	on_reverse_demand = {
		ROOT = {
			prestige = -200
			prisoner = FROM
		}
		
		any_defender = {
			limit = { character = FROM }
			participation_scaled_prestige = 100
		}
		any_defender = {
			limit = { NOT = { character = FROM } }
			hidden_tooltip = { participation_scaled_prestige = 100 }
		}
		
		hidden_tooltip = {
			any_attacker = {
				limit = { liege = { character = FROM } }
				prisoner = FROM
				disband_event_forces = faction_revolters
				add_character_modifier = {
					name = faction_lower_CA_ultimatum_timer
					hidden = yes
					duration = 3650
				}
			}
		}
		FROM = { hidden_tooltip = { disband_event_forces = faction_loyalists } }
	}

	attacker_ai_victory_worth = {
		factor = -1 # always accept
	}
	
	attacker_ai_defeat_worth = {
		factor = 100
	}

	defender_ai_victory_worth = {
		factor = -1 # always accept
	}
	
	defender_ai_defeat_worth = {
		factor = 100
	}
}

increase_council_power_war = {
	name = CB_NAME_INCREASE_COUNCIL_POWER
	war_name = WAR_NAME_INCREASE_COUNCIL_POWER
	sprite = 6
	truce_days = 3650
	can_call_allies = no
	can_ask_to_join_war = no
	major_revolt = yes
	
	can_use = {
		ROOT = {
			vassal_of = FROM
		}
	}
	
	can_use_title = {
		higher_tier_than = BARON
		OR = {
			has_law = law_voting_power_0
			has_law = banish_voting_power_0
			has_law = execution_voting_power_0
			has_law = revoke_title_voting_power_0
			has_law = grant_title_voting_power_0
			has_law = imprison_voting_power_0
			has_law = war_voting_power_0
		}
		is_primary_holder_title = yes
	}
	
	is_valid = {
		FROM = {
			in_revolt = no
			liege_before_war = {
				in_revolt = no
				liege_before_war = {
					in_revolt = no
				}
			}
		}
		ROOT = {
			OR = {
				liege = {
					character = PREV # either independent
				}
				liege = { 
					FROM = { 
						is_liege_or_above = PREV # or have shared liege
					}
				}
			}
		}
	}

	on_success = {
		ROOT = {
			opinion = {
				modifier = opinion_increased_council_power
				who = FROM
				months = 12
			}
		}
		any_attacker = {
			limit = { character = ROOT }
			participation_scaled_prestige = 100
			hidden_tooltip = {
				disband_event_forces = faction_revolters
			}
		}
		any_attacker = {
			limit = { NOT = { character = ROOT } }
			hidden_tooltip = { participation_scaled_prestige = 100 }
			hidden_tooltip = {
				disband_event_forces = faction_revolters
			}
		}
		FROM = { hidden_tooltip = { disband_event_forces = faction_loyalists } }
		FROM = { hidden_tooltip = { character_event = {id = SMKingdom.9 days = 1} } }
	}

	on_success_title = {
		if = {
			limit = { has_law = law_voting_power_0 }
			add_law_w_cooldown = law_voting_power_1
			break = yes
		}
		if = {
			limit = { has_law = war_voting_power_0 }
			add_law_w_cooldown = war_voting_power_1
			break = yes
		}
		if = {
			limit = { has_law = revoke_title_voting_power_0 }
			add_law_w_cooldown = revoke_title_voting_power_1
			break = yes
		}
		if = {
			limit = { has_law = imprison_voting_power_0 }
			add_law_w_cooldown = imprison_voting_power_1
			break = yes
		}
		if = {
			limit = { has_law = grant_title_voting_power_0 }
			add_law_w_cooldown = grant_title_voting_power_1
			break = yes
		}
		if = {
			limit = { has_law = banish_voting_power_0 }
			add_law_w_cooldown = banish_voting_power_1
			break = yes
		}
		if = {
			limit = { has_law = execution_voting_power_0 }
			add_law_w_cooldown = execution_voting_power_1
			break = yes
		}
	}

	on_fail = {
		ROOT = {
			prestige = -100
		}
		
		any_defender = {
			limit = { character = FROM }
			participation_scaled_prestige = 50
		}
		any_defender = {
			limit = { NOT = { character = FROM } }
			hidden_tooltip = { participation_scaled_prestige = 50 }
		}
		
		hidden_tooltip = {
			any_attacker = {
				disband_event_forces = faction_revolters
				add_character_modifier = {
					name = faction_council_power_ultimatum_timer
					hidden = yes
					duration = 3650
				}
			}
		}
		FROM = { hidden_tooltip = { disband_event_forces = faction_loyalists } }
	}

	on_reverse_demand = {
		ROOT = {
			prestige = -200
			prisoner = FROM
		}
		
		any_defender = {
			limit = { character = FROM }
			participation_scaled_prestige = 100
		}
		any_defender = {
			limit = { NOT = { character = FROM } }
			hidden_tooltip = { participation_scaled_prestige = 100 }
		}
		
		hidden_tooltip = {
			any_attacker = {
				limit = { liege = { character = FROM } }
				prisoner = FROM
				disband_event_forces = faction_revolters
				add_character_modifier = {
					name = faction_council_power_ultimatum_timer
					hidden = yes
					duration = 3650
				}
			}
		}
		FROM = { hidden_tooltip = { disband_event_forces = faction_loyalists } }
	}

	attacker_ai_victory_worth = {
		factor = -1 # always accept
	}
	
	attacker_ai_defeat_worth = {
		factor = 100
	}

	defender_ai_victory_worth = {
		factor = -1 # always accept
	}
	
	defender_ai_defeat_worth = {
		factor = 100
	}
}

# some vassals may declare independence from the new leige on the next day (after he taken over)
powerful_vassal_takeover_war = {
	name = CB_NAME_POWERFUL_VASSAL_TAKEOVER
	war_name = WAR_NAME_POWERFUL_VASSAL_TAKEOVER
	sprite = 6
	truce_days = 3650
	can_call_allies = no
	can_ask_to_join_war = no
	major_revolt = yes
	
	can_use = {
		ROOT = {
			vassal_of = FROM
		}
	}
	
	can_use_title = {
		higher_tier_than = BARON
		is_primary_holder_title = yes
	}
	
	is_valid = {
		FROM = {
			in_revolt = no
			has_character_flag = powerful_vassal_takeover_target
		}
		ROOT = {
			OR = {
				liege = {
					character = PREV # either independent
				}
				liege = { 
					FROM = { 
						is_liege_or_above = PREV # or have shared liege
					}
				}
			}
		}
	}

	on_success = {
		any_attacker = {
			participation_scaled_prestige = 100
			hidden_tooltip = {
				disband_event_forces = faction_revolters
			}
		}
		FROM = { hidden_tooltip = { disband_event_forces = faction_loyalists } }
		FROM = { hidden_tooltip = {
				most_popular_vassal = {
					limit = {
						higher_tier_than = BARON
						is_feudal = yes
						prisoner = no
						NOR = {
							trait = in_hiding
							trait = incapable
							trait = eunuch
						}
						age = 16
						#can_hold_title = PREVPREV
						OR = {
							is_female = no
							AND = {
								is_female = yes
								ROOT = { has_law = true_cognatic_succession }
							}
						}
					}
					character_event = {id = SMKingdom.11 days = 1}
				}
			}
		}
	}

	on_success_title = { #This is the target title of the faction
		if = {
			limit = { has_law = law_voting_power_0 }
			add_law_w_cooldown = law_voting_power_1 
		}
		if = {
			limit = { has_law = war_voting_power_0 }
			add_law_w_cooldown = war_voting_power_1
		}
		if = {
			limit = { has_law = succession_voting_power_0 }
			add_law_w_cooldown = succession_voting_power_1
		}
		if = {
			limit = { NOT =  { has_law = succ_feudal_elective } }
			add_law_w_cooldown = succ_feudal_elective
		}
		holder_scope = {
			clr_character_flag = powerful_vassal_takeover_target
			most_popular_vassal = {
				limit = {
					higher_tier_than = BARON
					is_feudal = yes
					prisoner = no
					NOR = {
						is_inaccessible_trigger = yes
						trait = incapable
						trait = eunuch
					}
					age = 16
					#can_hold_title = PREVPREV
					OR = {
						is_female = no
						AND = {
							is_female = yes
							ROOT = { has_law = true_cognatic_succession }
						}
					}
				}
				grant_title = PREVPREV
				save_event_target_as = new_title_holder
				hidden_tooltip = {
					any_attacker = {
						limit = { NOT = { character = PREV } }
						set_character_flag = helped_win_war
					}
				}
				character_event = { id = 8226 days = 1 }
			}
		}
	}

	on_fail = {
		ROOT = {
			prestige = -100
		}
		
		any_defender = {
			limit = { character = FROM }
			participation_scaled_prestige = 50
		}
		any_defender = {
			limit = { NOT = { character = FROM } }
			hidden_tooltip = { participation_scaled_prestige = 50 }
		}
		
		hidden_tooltip = {
			any_attacker = {
				disband_event_forces = faction_revolters
				add_character_modifier = {
					name = faction_powerful_vassal_takeover_ultimatum_timer
					hidden = yes
					duration = 3650
				}
			}
		}
		FROM = { 
			hidden_tooltip = { 
				disband_event_forces = faction_loyalists
				clr_character_flag = powerful_vassal_takeover_target
			}
		}
	}

	on_reverse_demand = {
		ROOT = {
			prestige = -200
			prisoner = FROM
		}

		
		any_defender = {
			limit = { character = FROM }
			participation_scaled_prestige = 100
		}
		any_defender = {
			limit = { NOT = { character = FROM } }
			hidden_tooltip = { participation_scaled_prestige = 100 }
		}
		
		hidden_tooltip = {
			any_attacker = {
				limit = { liege = { character = FROM } }
				prisoner = FROM
				disband_event_forces = faction_revolters
				add_character_modifier = {
					name = faction_powerful_vassal_takeover_ultimatum_timer
					hidden = yes
					duration = 3650
				}
			}
		}
		FROM = { 
			hidden_tooltip = { 
				disband_event_forces = faction_loyalists
				clr_character_flag = powerful_vassal_takeover_target
			}
		}
	}

	attacker_ai_victory_worth = {
		factor = -1 # always accept
	}
	
	attacker_ai_defeat_worth = {
		factor = 100
	}

	defender_ai_victory_worth = {
		factor = -1 # always accept
	}
	
	defender_ai_defeat_worth = {
		factor = 100
	}
}
