﻿namespace = petition_liege

# 0001 -> liege decides whether or not to hear petition
# 0009 -> vassal learns that liege refuses to hear petition (end)
# 0101 -> liege hears petition, makes a decision (End Wars petition)
# 0201 -> liege grants petition
# 0205 -> liege asks for something in return
# 0209 -> liege refuses petition (end)
# 0301 -> vassal agrees to terms 
# 0305 -> vassal offers counter-proposal?
# 0309 -> vassal refuses counterproposal (end)
# 0401 -> player vassal skillcheck opportunity
# 0501 -> target title holder refusal option
# 0601 -> petition invalidated info

scripted_effect petition_liege_0001_refuse_petitioner_effect = {
	scope:petition_liege = { add_tyranny = petition_liege_refusal_tyranny_value }
	scope:petition_vassal = {
		if = {
			limit = { is_ai = yes }
			add_opinion = {
				modifier = refusal_opinion
				target = scope:petition_liege
				opinion = -20
			}
		}
		progress_towards_rival_effect = {
			CHARACTER = scope:petition_liege
			REASON = rival_petition_liege
			OPINION = 0
		}
	}
}

petition_liege.0001 = {
	type = letter_event
	opening = petition_liege.0001.opening
	desc = petition_liege.0001.desc
	sender = scope:petition_vassal

	trigger = {
		is_available = yes
		scope:petition_vassal = {
			is_alive = yes
			is_imprisoned = no
		}
	}

	option = { # Hear out
		name = petition_liege.0001.a
		custom_tooltip = petition_liege.0001.a.tt
		trigger_event = petition_liege.0101
		ai_chance = { base = 100 }
	}

	option = { # Turn away
		name = {
			trigger = {
				NOR = { 
					has_trait = arrogant
					has_trait = humble
				}
			}
			text = petition_liege.0001.b
		}
		name = {
			trigger = { has_trait = arrogant }
			text = petition_liege.0001.b.arrogant
		}
		name = {
			trigger = { has_trait = humble }
			text = petition_liege.0001.b.humble
		}
		custom_tooltip = petition_liege.0001.b.tt
		petition_liege_0001_refuse_petitioner_effect = yes
		scope:petition_vassal = { trigger_event = petition_liege.0009 }
		if = {
			limit = {
				NOT = { has_relation_rival = scope:petition_vassal }
			}
			stress_impact = {
				humble = medium_stress_impact_gain
				just = medium_stress_impact_gain
			}
		}
		else = {
			stress_impact = { base = medium_stress_impact_loss }
		}
		ai_chance = {
			base = 0
			modifier = {
				add = 5
				opinion = {
					target = scope:petition_vassal
					value < 0
				}
			}
			modifier = {
				add = 45
				has_relation_rival = scope:petition_vassal
			}
		}
	}
}

petition_liege.0009 = {
	type = letter_event
	opening = petition_liege.0009.opening
	desc = petition_liege.0009.desc
	sender = scope:petition_liege

	trigger = { petition_liege_valid_trigger = yes }

	immediate = {
		show_as_tooltip = { petition_liege_0001_refuse_petitioner_effect = yes }
	}

	option = {
		name = petition_liege.0009.a
	}

	after = {
		if = {
			limit = { is_in_an_activity = yes }
			activity = { complete_activity = yes }
		}
	}
}

# Court Event: Liege Hears Request
scripted_trigger needs_more_valid_compensation_options_trigger = {
	calc_true_if = {
		amount < 2
		exists = scope:bribe_gold
		exists = scope:bribe_factions
		exists = scope:bribe_favor
		exists = scope:bribe_contract
	}
}

petition_liege.0101 = {
	type = court_event
	title = {
		first_valid = {
			### General
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:council_seat }
				desc = petition_liege.0101.t.council_seat
			}
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:pay_debt }
				desc = petition_liege.0101.t.pay_debt
			}
			### Titles
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:title_liege }
				desc = petition_liege.0101.t.title_liege
			}
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:title_vassal }
				desc = petition_liege.0101.t.title_vassal
			}
			### Wars
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:faction_war }
				desc = petition_liege.0101.t.faction_war
			}
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:vassal_war }
				desc = petition_liege.0101.t.end_war
			}
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:war_aid }
				desc = petition_liege.0101.t.war_aid
			}
			### Counties
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:county_control }
				desc = petition_liege.0101.t.county_control
			}
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:county_convert }
				desc = petition_liege.0101.t.county_convert
			}
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:county_opinion }
				desc = petition_liege.0101.t.county_opinion
			}
			### Construction/Development
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:fortify_border }
				desc = petition_liege.0101.t.fortify_border
			}
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:construct_city }
				desc = petition_liege.0101.t.construct_city
			}
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:construct_temple }
				desc = petition_liege.0101.t.construct_temple
			}
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:development }
				desc = petition_liege.0101.t.development
			}
		}
	}
	desc = {
		desc = petition_liege.0101.desc
		first_valid = {
			### General
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:council_seat }
				desc = petition_liege.0101.desc.council_seat
			}
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:pay_debt }
				desc = petition_liege.0101.desc.pay_debt
			}
			### Titles
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:title_liege }
				desc = petition_liege.0101.desc.title_liege
			}
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:title_vassal }
				desc = petition_liege.0101.desc.title_vassal
			}
			### Wars
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:faction_war }
				desc = petition_liege.0101.desc.faction_war
			}
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:vassal_war }
				desc = petition_liege.0101.desc.end_war
			}
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:war_aid }
				desc = petition_liege.0101.desc.war_aid
			}
			### Counties
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:county_control }
				desc = petition_liege.0101.desc.county_control
			}
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:county_convert }
				desc = petition_liege.0101.desc.county_convert
			}
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:county_opinion }
				desc = petition_liege.0101.desc.county_opinion
			}
			### Construction/Development
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:fortify_border }
				desc = petition_liege.0101.desc.fortify_border
			}
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:construct_city }
				desc = petition_liege.0101.desc.construct_city
			}
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:construct_temple }
				desc = petition_liege.0101.desc.construct_temple
			}
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:development }
				desc = petition_liege.0101.desc.development
			}
		}
		triggered_desc = {
			trigger = {
				scope:petition_vassal.var:petition_type = flag:council_seat
				exists = scope:second_party
			}
			desc = petition_liege.0101.desc.council_first_councillor
		}
		triggered_desc = {
			trigger = {
				scope:petition_vassal.var:petition_type = flag:council_seat
				exists = scope:second_councillor
			}
			desc = petition_liege.0101.desc.council_second_councillor
		}
	}
	theme = realm
	override_sound = { reference = "event:/SFX/Events/Themes/sfx_event_theme_type_duty" }
	court_scene = {
		button_position_character = scope:petition_vassal 
		court_owner = root
		roles = {
		    scope:petition_vassal = {
				group = petitioners_group
				animation = throne_room_kneel_1
		    }
		}
	}

	trigger = {
		is_available = yes
		scope:petition_vassal = {
			is_alive = yes
			is_imprisoned = no
		}
	}

	immediate = {
		open_view_data = {
			view = royal_court
			secondary_actor = scope:petition_vassal
			player = scope:petition_liege
		}
		if = { # Spend favor
			limit = {
				scope:petition_vassal = { has_hook = scope:petition_liege }
			}
			save_scope_value_as = { name = repay_favor value = yes }
		}
		else = {
			if = { # Leave Faction counter
				limit = {
					needs_more_valid_compensation_options_trigger = yes
					scope:petition_vassal = {
						is_a_faction_member = yes
						# [LTAF]
						LTAF_is_loyalist = no
						# [/LTAF]
					}
				}
				save_scope_value_as = { name = bribe_factions value = yes }
			}
			if = { # More gold counter
				limit = {
					NOT = { scope:petition_vassal.var:petition_type = flag:pay_debt }
					needs_more_valid_compensation_options_trigger = yes
					scope:petition_vassal.gold >= scope:petition_vassal.medium_gold_value
				}
				save_scope_value_as = { name = bribe_gold value = yes }
			}
			if = { # Favor hook counter
				limit = {
					needs_more_valid_compensation_options_trigger = yes
					can_add_hook = { target = scope:petition_vassal type = favor_hook }
				}
				save_scope_value_as = { name = bribe_favor value = yes }
			}
			if = { # Contract increase counter
				limit = {
					needs_more_valid_compensation_options_trigger = yes
					scope:petition_vassal = {
						vassal_contract_has_modifiable_obligations = yes
						OR = {
							vassal_contract_obligation_level_can_be_increased = feudal_government_taxes
							vassal_contract_obligation_level_can_be_increased = feudal_government_levies
						}
					}
				}
				save_scope_value_as = { name = bribe_contract value = yes }
			}
		}
		# Save our opinion of the petitioner to influence ai_chance.
		save_opinion_value_as = {
			name = opinion_of_petitioner
			target = scope:petition_vassal
		}
	}

	option = { # Accept
		### General
		name = {
			trigger = {
				scope:petition_vassal.var:petition_type = flag:council_seat
				exists = scope:second_party
			}
			text = petition_liege.0101.accept.council_seat_occupied
		}
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:council_seat }
			text = petition_liege.0101.accept.council_seat
		}
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:pay_debt }
			text = petition_liege.0101.accept.pay_debt
		}
		### Titles
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:title_liege }
			text = petition_liege.0101.accept.title_liege
		}
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:title_vassal }
			text = petition_liege.0101.accept.title_vassal
		}
		### Wars
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:faction_war }
			text = petition_liege.0101.accept.faction_war
		}
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:vassal_war }
			text = petition_liege.0101.accept
		}
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:war_aid }
			text = petition_liege.0101.accept.war_aid
		}
		### Counties
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:county_control }
			text = petition_liege.0101.accept.county_control
		}
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:county_convert }
			text = petition_liege.0101.accept.county_convert
		}
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:county_opinion }
			text = petition_liege.0101.accept.county_opinion
		}
		### Construction/Development
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:fortify_border }
			text = petition_liege.0101.accept.fortify_border
		}
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:construct_city }
			text = petition_liege.0101.accept.construct_city
		}
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:construct_temple }
			text = petition_liege.0101.accept.construct_temple
		}
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:development }
			text = petition_liege.0101.accept.development
		}
		scope:petition_vassal = { trigger_event = petition_liege.0201 }
		show_as_tooltip = {
			# Effects applied in petition_liege.0201
			petition_type_outcome_effect = yes
		}
		stress_impact = {
			greedy = minor_stress_impact_gain
		}
		ai_chance = {
			base = 25
			ai_value_modifier = {
				ai_greed = -1
				ai_boldness = -0.5
				ai_compassion = 0.1
				ai_honor = 0.5
			}
			compare_modifier = {
				value = scope:opinion_of_petitioner
				multiplier = 1
			}
			modifier = {
				scope:petition_vassal = { petition_liege_relation_favor_trigger = yes }
			}
			modifier = {
				scope:petition_vassal = { petition_liege_relation_favor_trigger = yes }
				add = 25
			}
			modifier = {
				petition_liege_dislikes_trigger = { COMPARE = scope:second_party }
				add = 20
			}
			petition_liege_cost_negative_modifier = yes # less likely if expensive or likes second party
			modifier = { # Would be a better councillor
				OR = {
					petition_liege_councillor_replace_weight_trigger = { SKILL = diplomacy JOB = chancellor }
					petition_liege_councillor_replace_weight_trigger = { SKILL = martial JOB = marshal }
					petition_liege_councillor_replace_weight_trigger = { SKILL = stewardship JOB = steward }
					petition_liege_councillor_replace_weight_trigger = { SKILL = intrigue JOB = spymaster }
					petition_liege_councillor_replace_weight_trigger = { SKILL = learning JOB = court_chaplain }
				}
				add = 25
			}
			modifier = {
				add = 10
				max_military_strength <= scope:petition_vassal.max_military_strength
			}
			modifier = {
				scope:petition_vassal = { is_powerful_vassal = yes }
				add = 10
			}
			modifier = {
				any_targeting_faction = {
					faction_leader = scope:petition_vassal
					faction_power >= 60
				}
				add = 10
			}
			modifier = {
				scope:petition_vassal = { is_powerful_vassal = yes }
				trigger_if = {
					limit = { exists = scope:second_party }
					scope:second_party = { is_powerful_vassal = no }
				}
				add = 10
			}
			modifier = {
				scope:petition_vassal.var:petition_type = flag:war_aid
				add = -50
			}
			modifier = {
				scope:petition_vassal.var:petition_type = flag:war_aid
				gold < petitioner_war_aid_levies_cost_threshold_value
				add = -50
			}
			modifier = {
				scope:petition_vassal.var:petition_type = flag:war_aid
				gold < 0
				add = -1000
			}
			modifier = {
				scope:petition_vassal.var:petition_type = flag:war_aid
				is_at_war = yes
				add = petition_liege_war_aid_ongoing_count_trigger
			}
			modifier = {
				petition_war_aid_liege_merc_value < petition_war_aid_difference_value
				add = -100
			}
			modifier = {
				scope:petition_vassal.var:petition_type = flag:war_aid
				gold > major_gold_value
				petition_war_aid_liege_merc_value > petition_war_aid_difference_value
				add = 50
			}
		}
	}

	option = { # Council Seat second option for players
		trigger = {
			is_ai = no
			scope:petition_vassal = { has_variable = petition_liege_council_second }
		} 
		name = {
			trigger = {
				scope:petition_vassal.var:petition_type = flag:council_seat
				exists = scope:second_councillor
			}
			text = petition_liege.0101.council_second_occupied
		}
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:council_seat }
			text = petition_liege.0101.council_second
		}
		scope:petition_vassal = {
			remove_variable = petition_liege_council_first
			trigger_event = petition_liege.0201
		}
		show_as_tooltip = {
			# Effects applied in petition_liege.0201
			petition_liege_0101_second_seat_effect = yes
			petition_liege_block_firing_councillor_effect = { COURT_OWNER = scope:petition_liege }
			petition_pos_grandeur_renown_effect = yes
		}
	}

	option = { # War Aid second option
		trigger = {
			scope:petition_vassal.var:petition_type = flag:war_aid
			NOT = { is_allied_to = scope:second_party }
		} 
		name = petition_liege.0101.war_aid_join
		scope:petition_vassal = {
			set_variable = petition_liege_war_aid_join
			trigger_event = petition_liege.0201
		}
		show_as_tooltip = {
			# Effects applied in petition_liege.0201
			if = {
				limit = {
					scope:petition_vassal = { is_attacker_in_war = scope:petition_war }
				}
				scope:petition_war = { add_attacker = scope:petition_liege }
			}
			else = {
				scope:petition_war = { add_defender = scope:petition_liege }
			}
			petition_pos_grandeur_renown_effect = yes
		}
		ai_chance = {
			base = 15
			ai_value_modifier = {
				ai_greed = -2
				ai_boldness = 2
				ai_energy = 1
			}
			petition_liege_cost_negative_modifier = yes # less likely if expensive or likes second party
			compare_modifier = {
				value = scope:opinion_of_petitioner
				multiplier = 1
			}
			modifier = {
				add = -50
				petition_war_aid_vassal_liege_combined_value < petition_war_aid_strongest_enemy_strength_value
			}
			modifier = {
				is_at_war = yes
				add = petition_liege_war_aid_ongoing_count_trigger
			}
			modifier = { # 
				petition_war_aid_liege_merc_value < petition_war_aid_difference_value
				add = -100
			}
		}
	}

	option = { # Repay existing favor
		trigger = { exists = scope:repay_favor }
		name = petition_liege.0101.repay_favor
		save_scope_value_as = { name = bribe_type value = 0 }
		scope:petition_vassal = { trigger_event = petition_liege.0205 }
		custom_tooltip = petition_liege.0101.additional_effects
		show_as_tooltip = {	
			# Effects applied in petition_liege.0205
			random_list = {
				1 = {
					show_chance = no
					desc = petition_liege.0101.bribe_given
					# Remove the existing debt
					scope:petition_vassal = {
						remove_hook = { target = scope:petition_liege }
					}
				}
				1 = {
					show_chance = no
					desc = petition_liege.0101.bribe_refused
					show_as_tooltip = {
						reverse_add_opinion = {
							modifier = disappointed_opinion
							target = scope:petition_vassal
							opinion = -15
						}
					}
				}
			}
		}
		ai_chance = {
			base = 50
			ai_value_modifier = {
				ai_rationality = 2
				ai_boldness = 1
				ai_compassion = 0.5
				ai_honor = 1
			}
			petition_liege_cost_negative_modifier = yes # less likely if expensive or likes second party
		}
	}

	option = { # Bribe factions
		trigger = { exists = scope:bribe_factions }
		### General
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:council_seat }
			text = petition_liege.0101.bribe_factions.council_seat
		}
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:pay_debt }
			text = petition_liege.0101.bribe_factions.pay_debt
		}
		### Titles
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:title_liege }
			text = petition_liege.0101.bribe_factions.title_liege
		}
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:title_vassal }
			text = petition_liege.0101.bribe_factions.title_vassal
		}
		### Wars
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:faction_war }
			text = petition_liege.0101.bribe_factions.faction_war
		}
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:vassal_war }
			text = petition_liege.0101.bribe_factions
		}
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:war_aid }
			text = petition_liege.0101.bribe_factions.war_aid
		}
		### Counties
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:county_control }
			text = petition_liege.0101.bribe_factions.county_control
		}
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:county_convert }
			text = petition_liege.0101.bribe_factions.county_convert
		}
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:county_opinion }
			text = petition_liege.0101.bribe_factions.county_opinion
		}
		### Construction/Development
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:fortify_border }
			text = petition_liege.0101.bribe_factions.fortify_border
		}
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:construct_city }
			text = petition_liege.0101.bribe_factions.construct_city
		}
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:construct_temple }
			text = petition_liege.0101.bribe_factions.construct_temple
		}
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:development }
			text = petition_liege.0101.bribe_factions.development
		}
		save_scope_value_as = { name = bribe_type value = 1 }
		scope:petition_vassal = { trigger_event = petition_liege.0205 }
		custom_tooltip = petition_liege.0101.additional_effects
		show_as_tooltip = {	
			# Effects applied in petition_liege.0205
			random_list = {
				1 = {
					show_chance = no
					desc = petition_liege.0101.bribe_given
					petition_liege_0101_petitioner_blocked_from_factions_effect = yes
				}
				1 = {
					show_chance = no
					desc = petition_liege.0101.bribe_refused
					show_as_tooltip = {
						reverse_add_opinion = {
							modifier = disappointed_opinion
							target = scope:petition_vassal
							opinion = -15
						}
					}
				}
			}
		}

		ai_chance = {
			base = 50
			ai_value_modifier = {
				ai_rationality = 1
				ai_boldness = 1
				ai_compassion = 0.5
				ai_honor = 0.5
			}
			petition_liege_cost_negative_modifier = yes # less likely if expensive or likes second party
		}
	}

	option = { # Bribe gold
		trigger = { exists = scope:bribe_gold }
		### General
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:council_seat }
			text = petition_liege.0101.bribe_gold.council_seat
		}
		### Titles
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:title_liege }
			text = petition_liege.0101.bribe_gold.title_liege
		}
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:title_vassal }
			text = petition_liege.0101.bribe_gold.title_vassal
		}
		### Wars
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:faction_war }
			text = petition_liege.0101.bribe_gold.faction_war
		}
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:vassal_war }
			text = petition_liege.0101.bribe_gold
		}
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:war_aid }
			text = petition_liege.0101.bribe_gold.war_aid
		}
		### Counties
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:county_control }
			text = petition_liege.0101.bribe_gold.county_control
		}
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:county_convert }
			text = petition_liege.0101.bribe_gold.county_convert
		}
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:county_opinion }
			text = petition_liege.0101.bribe_gold.county_opinion
		}
		### Construction/Development
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:fortify_border }
			text = petition_liege.0101.bribe_gold.fortify_border
		}
		
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:construct_city }
			text = petition_liege.0101.bribe_gold.construct_city
		}
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:construct_temple }
			text = petition_liege.0101.bribe_gold.construct_temple
		}
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:development }
			text = petition_liege.0101.bribe_gold.development
		}
		save_scope_value_as = { name = bribe_type value = 2 }
		scope:petition_vassal = { trigger_event = petition_liege.0205 }
		custom_tooltip = petition_liege.0101.additional_effects
		show_as_tooltip = {	
			# Effects applied in petition_liege.0205
			random_list = {
				1 = {
					show_chance = no
					desc = petition_liege.0101.bribe_given
					petition_liege_0101_petitioner_pays_gold_bribe_effect = yes	
				}
				1 = {
					show_chance = no
					desc = petition_liege.0101.bribe_refused
					show_as_tooltip = {
						reverse_add_opinion = {
							modifier = disappointed_opinion
							target = scope:petition_vassal
							opinion = -15
						}
					}
				}
			}
		}

		ai_chance = {
			base = 50
			ai_value_modifier = {
				ai_greed = 1
				ai_boldness = 1
				ai_compassion = 0.5
				ai_honor = -0.5
			}
			petition_liege_cost_negative_modifier = yes # less likely if expensive or likes second party
		}
	}
	
	option = { # Bribe favor
		trigger = { exists = scope:bribe_favor }
		### General
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:council_seat }
			text = petition_liege.0101.bribe_favor.council_seat
		}
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:pay_debt }
			text = petition_liege.0101.bribe_favor.pay_debt
		}
		### Titles
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:title_liege }
			text = petition_liege.0101.bribe_favor.title_liege
		}
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:title_vassal }
			text = petition_liege.0101.bribe_favor.title_vassal
		}
		### Wars
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:faction_war }
			text = petition_liege.0101.bribe_favor.faction_war
		}
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:vassal_war }
			text = petition_liege.0101.bribe_favor
		}
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:war_aid }
			text = petition_liege.0101.bribe_favor.war_aid
		}
		### Counties
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:county_control }
			text = petition_liege.0101.bribe_favor.county_control
		}
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:county_convert }
			text = petition_liege.0101.bribe_favor.county_convert
		}
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:county_opinion }
			text = petition_liege.0101.bribe_favor.county_opinion
		}
		### Construction/Development
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:fortify_border }
			text = petition_liege.0101.bribe_favor.fortify_border
		}
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:construct_city }
			text = petition_liege.0101.bribe_favor.construct_city
		}
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:construct_temple }
			text = petition_liege.0101.bribe_favor.construct_temple
		}
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:development }
			text = petition_liege.0101.bribe_favor.development
		}
		save_scope_value_as = { name = bribe_type value = 3 }
		scope:petition_vassal = { trigger_event = petition_liege.0205 }
		custom_tooltip = petition_liege.0101.additional_effects
		show_as_tooltip = {	
			# Effects applied in petition_liege.0205
			random_list = {
				1 = {
					show_chance = no
					desc = petition_liege.0101.bribe_given
					petition_liege_0101_petitioner_gives_favor_hook_effect = yes
				}
				1 = {
					show_chance = no
					desc = petition_liege.0101.bribe_refused
					show_as_tooltip = {
						reverse_add_opinion = {
							modifier = disappointed_opinion
							target = scope:petition_vassal
							opinion = -15
						}
					}
				}
			}
		}
		ai_chance = {
			base = 50
			ai_value_modifier = {
				ai_greed = 1
				ai_boldness = 1
				ai_compassion = 0.5
				ai_honor = 0.5
			}
			petition_liege_cost_negative_modifier = yes # less likely if expensive or likes second party
		}
	}

	option = { # Bribe contract
		trigger = { exists = scope:bribe_contract }
		### General
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:council_seat }
			text = petition_liege.0101.bribe_contract.council_seat
		}
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:pay_debt }
			text = petition_liege.0101.bribe_contract.pay_debt
		}
		### Titles
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:title_liege }
			text = petition_liege.0101.bribe_contract.title_liege
		}
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:title_vassal }
			text = petition_liege.0101.bribe_contract.title_vassal
		}
		### Wars
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:faction_war }
			text = petition_liege.0101.bribe_contract.faction_war
		}
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:vassal_war }
			text = petition_liege.0101.bribe_contract.vassal_war
		}
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:war_aid }
			text = petition_liege.0101.bribe_contract.war_aid
		}
		### Counties
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:county_control }
			text = petition_liege.0101.bribe_contract.county_control
		}
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:county_convert }
			text = petition_liege.0101.bribe_contract.county_convert
		}
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:county_opinion }
			text = petition_liege.0101.bribe_contract.county_opinion
		}
		### Construction/Development
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:fortify_border }
			text = petition_liege.0101.bribe_contract.fortify_border
		}
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:construct_city }
			text = petition_liege.0101.bribe_contract.construct_city
		}
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:construct_temple }
			text = petition_liege.0101.bribe_contract.construct_temple
		}
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:development }
			text = petition_liege.0101.bribe_contract.development
		}
		save_scope_value_as = { name = bribe_type value = 4 }
		scope:petition_vassal = { trigger_event = petition_liege.0205 }
		custom_tooltip = petition_liege.0101.additional_effects
		show_as_tooltip = {	
			# Effects applied in petition_liege.0205
			random_list = {
				1 = {
					show_chance = no
					desc = petition_liege.0101.bribe_given
					scope:petition_vassal = { petition_liege_0101_petitioner_contract_increase_effect = yes }
				}
				1 = {
					show_chance = no
					desc = petition_liege.0101.bribe_refused
					show_as_tooltip = {
						reverse_add_opinion = {
							modifier = disappointed_opinion
							target = scope:petition_vassal
							opinion = -15
						}
					}
				}
			}
		}
		ai_chance = {
			base = 50
			ai_value_modifier = {
				ai_greed = 1
				ai_boldness = 1
				ai_compassion = 0.5
				ai_honor = -0.5
			}
			petition_liege_cost_negative_modifier = yes # less likely if expensive or likes second party
		}
	}

	option = { # Refuse
		### General
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:council_seat }
			text = petition_liege.0101.refusal.council_seat
		}
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:pay_debt }
			text = petition_liege.0101.refusal.pay_debt
		}
		### Titles
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:title_liege }
			text = petition_liege.0101.refusal.title_liege
		}
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:title_vassal }
			text = petition_liege.0101.refusal.title_vassal
		}
		### Wars
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:faction_war }
			text = petition_liege.0101.refusal.faction_war
		}
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:vassal_war }
			text = petition_liege.0101.refusal
		}
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:war_aid }
			text = petition_liege.0101.refusal.war_aid
		}
		### Counties
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:county_control }
			text = petition_liege.0101.refusal.county_control
		}
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:county_convert }
			text = petition_liege.0101.refusal.county_convert
		}
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:county_opinion }
			text = petition_liege.0101.refusal.county_opinion
		}
		### Construction/Development
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:fortify_border }
			text = petition_liege.0101.refusal.fortify_border
		}
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:construct_city }
			text = petition_liege.0101.refusal.construct_city
		}
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:construct_temple }
			text = petition_liege.0101.refusal.construct_temple
		}
		name = {
			trigger = { scope:petition_vassal.var:petition_type = flag:development }
			text = petition_liege.0101.refusal.development
		}
		scope:petition_vassal = { trigger_event = petition_liege.0209 }
		if = {
			limit = {
				scope:petition_vassal = { is_ai = yes }
			}
			show_as_tooltip = {
				reverse_add_opinion = {
					modifier = refusal_opinion
					target = scope:petition_vassal
					opinion = -20
				}
			}
		}
		if = {
			limit = {
				NOR = {
					petition_liege_medium_cost_trigger = yes
					petition_liege_high_cost_trigger = yes
				}
			}
			petition_neg_grandeur_renown_effect = yes
		}
		ai_chance = {
			base = 25
			ai_value_modifier = {
				ai_greed = 1.5
				ai_boldness = 1
				ai_compassion = -1
				ai_honor = -0.5
			}
			compare_modifier = {
				value = scope:opinion_of_petitioner
				multiplier = -1
			}
			modifier = {
				exists = scope:second_party
				scope:second_party = { is_powerful_vassal = yes }
				scope:petition_vassal = { is_powerful_vassal = no }
				add = 10
			}
			modifier = {
				exists = scope:second_party
				any_targeting_faction = {
					faction_leader = scope:second_party
					faction_power >= 60
				}
				add = 10
			}
			modifier = {
				exists = scope:second_party
				max_military_strength <= scope:second_party.max_military_strength
				add = 10
			}
			modifier = {
				exists = scope:second_party
				scope:second_party.max_military_strength >= scope:petition_vassal.max_military_strength
				add = 10
			}
		}
	}
	
	after = {
		close_view = {
			view = royal_court
		    player = scope:petition_liege
		}
	}
}

# Court Event: Vassal Hears Liege's Acceptance
petition_liege.0201 = {
	type = court_event
	title =	petition_liege.0201.t
	desc = {
		desc = petition_liege.0201.desc.intro
		first_valid = {
			### General
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:council_seat }
				desc = petition_liege.0201.desc.council_seat
			}
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:pay_debt }
				desc = petition_liege.0201.desc.pay_debt
			}
			### Titles
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:title_liege }
				desc = petition_liege.0201.desc.title_liege
			}
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:title_vassal }
				desc = petition_liege.0201.desc.title_vassal
			}
			### Wars
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:faction_war }
				desc = petition_liege.0201.desc.faction_war
			}
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:war_aid }
				desc = petition_liege.0201.desc.war_aid
			}
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:vassal_war }
				desc = petition_liege.0201.desc.vassal_war
			}
			### Counties
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:county_control }
				desc = petition_liege.0201.desc.county_control
			}
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:county_convert }
				desc = petition_liege.0201.desc.county_convert
			}
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:county_opinion }
				desc = petition_liege.0201.desc.county_opinion
			}
			### Construction/Development
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:fortify_border }
				desc = petition_liege.0201.desc.fortify_border
			}
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:construct_city }
				desc = petition_liege.0201.desc.construct_city
			}
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:construct_temple }
				desc = petition_liege.0201.desc.construct_temple
			}
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:development }
				desc = petition_liege.0201.desc.development
			}
		}
		triggered_desc = {
			trigger = {
				scope:petition_vassal.var:petition_type = flag:council_seat
				exists = scope:second_party
			}
			desc = petition_liege.0201.desc.council_second_party
		}
		desc = petition_liege.0201.desc.bridge
	}
	theme = realm
	override_sound = { reference = event:/SFX/Events/Themes/sfx_event_theme_type_generic }
	court_scene = {
		button_position_character = scope:petition_liege
		court_owner = scope:petition_liege
		roles = {
		    scope:petition_vassal = {
				group = petitioners_group
				animation = throne_room_kneel_1
		    }
		}
	}

	trigger = { petition_liege_valid_trigger = yes }

	immediate = {
		scope:petition_liege = {
			open_view_data = {
				view = royal_court
				secondary_actor = scope:petition_vassal
				player = scope:petition_vassal
			}
		}
	}

	option = { 
		name = petition_liege.0201.a
		# Reap the benefits at no cost!
		petition_type_outcome_effect = yes
		reverse_add_opinion = {
			modifier = pleased_opinion
			target = scope:petition_liege
			opinion = 10
		}
	}
	
	after = {
		close_view = {
			view = royal_court
		    player = scope:petition_vassal
		}
		if = {
			limit = { has_variable = petition_liege_scope }
			remove_variable = petition_liege_scope
		}
	}
}

# Court Event: Vassal Hears Liege's Counter-Offer
scripted_effect petition_liege_0205_carry_out_effects_effect = {
	# Pay the cost...
	if = {
		limit = { exists = scope:bribe_type }
		if = {
			limit = { scope:bribe_type = 0 }
			scope:petition_vassal = {
				remove_hook = { target = scope:petition_liege }
			}
		}
		else_if = {
			limit = { scope:bribe_type = 1 }
			petition_liege_0101_petitioner_blocked_from_factions_effect = yes
		}
		else_if = {
			limit = { scope:bribe_type = 2 }
			petition_liege_0101_petitioner_pays_gold_bribe_effect = yes
		}
		else_if = {
			limit = { scope:bribe_type = 3 }
			petition_liege_0101_petitioner_gives_favor_hook_effect = yes
		}
		else_if = {
			limit = { scope:bribe_type = 4 }
			scope:petition_vassal = { petition_liege_0101_petitioner_contract_increase_effect = yes }
		}
	}
	# ...then reap the benefits.
	petition_type_outcome_effect = yes
}

petition_liege.0205 = {
	type = court_event
	title =	petition_liege.0205.t
	desc = {
		desc = petition_liege.0205.desc.intro
		first_valid = {
			### General
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:council_seat }
				desc = petition_liege.0201.desc.council_seat
			}
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:pay_debt }
				desc = petition_liege.0201.desc.pay_debt
			}
			### Titles
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:title_liege }
				desc = petition_liege.0201.desc.title_liege
			}
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:title_vassal }
				desc = petition_liege.0201.desc.title_vassal
			}
			### Wars
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:faction_war }
				desc = petition_liege.0201.desc.faction_war
			}
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:vassal_war }
				desc = petition_liege.0201.desc.vassal_war
			}
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:war_aid }
				desc = petition_liege.0201.desc.war_aid
			}
			### Counties
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:county_control }
				desc = petition_liege.0201.desc.county_control
			}
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:county_convert }
				desc = petition_liege.0201.desc.county_convert
			}
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:county_opinion }
				desc = petition_liege.0201.desc.county_opinion
			}
			### Construction/Development
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:fortify_border }
				desc = petition_liege.0201.desc.fortify_border
			}
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:construct_city }
				desc = petition_liege.0201.desc.construct_city
			}
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:construct_temple }
				desc = petition_liege.0201.desc.construct_temple
			}
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:development }
				desc = petition_liege.0201.desc.development
			}
		}
		triggered_desc = {
			trigger = {
				scope:petition_vassal.var:petition_type = flag:council_seat
				exists = scope:second_party
			}
			desc = petition_liege.0201.desc.council_second_party
		}
		desc = petition_liege.0205.desc.bridge
	}
	theme = realm
	override_sound = { reference = event:/SFX/Events/Themes/sfx_event_theme_type_generic }
	court_scene = {
		button_position_character = scope:petition_liege
		court_owner = scope:petition_liege
		roles = {
		    scope:petition_vassal = {
				group = petitioners_group
				animation = throne_room_kneel_1
		    }
		}
	}

	trigger = { petition_liege_valid_trigger = yes }

	immediate = {
		scope:petition_liege = {
			open_view_data = {
				view = royal_court
				secondary_actor = scope:petition_vassal
				player = scope:petition_vassal
			}
		}
	}

	option = {
		name = petition_liege.0205.counter
		trigger = {
			is_ai = no
			liege = { is_ai = yes }
			petition_liege_has_main_skiller_trigger = yes
		}
		add_prestige = minor_prestige_loss
		trigger_event = petition_liege.0401
		custom_tooltip = petition_liege_skillcheck_counter_tt
		ai_chance = {
			base = 0
		}
	}

	option = { 
		name = petition_liege.0205.a
		scope:petition_liege = { trigger_event = petition_liege.0301 }
		show_as_tooltip = {
			# These effects are run in event petition_liege.0301
			petition_liege_0205_carry_out_effects_effect = yes
			reverse_add_opinion = {
				modifier = pleased_opinion
				target = scope:petition_liege
				opinion = 10
			}
		}
		close_view = {
			view = royal_court
		    player = scope:petition_vassal
		}
		ai_chance = {
			base = 25
			ai_value_modifier = {
				ai_greed = 0.5
			}
			modifier = { # Medium petition cost
				petition_liege_medium_cost_trigger = yes
				add = 10
			}
			modifier = { # High petition cost
				petition_liege_high_cost_trigger = yes
				add = 20
			}
		}
	}

	option = { 
		name = petition_liege.0205.b
		scope:petition_liege = { trigger_event = petition_liege.0309 }
		show_as_tooltip = {
			# These effects are run in event petition_liege.0309
			reverse_add_opinion = {
				modifier = disappointed_opinion
				target = scope:petition_liege
				opinion = -10
			}
		}
		close_view = {
			view = royal_court
		    player = scope:petition_vassal
		}
		ai_chance = {
			base = 25 
			ai_value_modifier = {
				ai_greed = -1
			}
		}
	}

	after = {
		if = {
			limit = { has_variable = petition_liege_scope }
			remove_variable = petition_liege_scope
		}
	}
}

# Court Event: Vassal Hears Liege's Refusal
petition_liege.0209 = {
	type = court_event
	title =	petition_liege.0209.t
	desc = {
		desc = petition_liege.0209.desc.intro
		first_valid = {
			### General
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:council_seat }
				desc = petition_liege.0201.desc.council_seat
			}
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:pay_debt }
				desc = petition_liege.0201.desc.pay_debt
			}
			### Titles
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:title_liege }
				desc = petition_liege.0201.desc.title_liege
			}
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:title_vassal }
				desc = petition_liege.0201.desc.title_vassal
			}
			### Wars
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:faction_war }
				desc = petition_liege.0201.desc.faction_war
			}
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:vassal_war }
				desc = petition_liege.0201.desc.vassal_war
			}
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:war_aid }
				desc = petition_liege.0201.desc.war_aid
			}
			### Counties
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:county_control }
				desc = petition_liege.0201.desc.county_control
			}
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:county_convert }
				desc = petition_liege.0201.desc.county_convert
			}
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:county_opinion }
				desc = petition_liege.0201.desc.county_opinion
			}
			### Construction/Development
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:fortify_border }
				desc = petition_liege.0201.desc.fortify_border
			}
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:construct_city }
				desc = petition_liege.0201.desc.construct_city
			}
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:construct_temple }
				desc = petition_liege.0201.desc.construct_temple
			}
			triggered_desc = {
				trigger = { scope:petition_vassal.var:petition_type = flag:development }
				desc = petition_liege.0201.desc.development
			}
		}
		triggered_desc = {
			trigger = {
				scope:petition_vassal.var:petition_type = flag:council_seat
				exists = scope:second_party
			}
			desc = petition_liege.0201.desc.council_second_party
		}
		first_valid = {
			triggered_desc = {
				trigger = {	
					reverse_opinion = {
 						target = scope:petition_vassal
 						value <= -20
 					}
				}
				desc = petition_liege.0209.desc.bridge.unapologetic
			}
			triggered_desc = {
				trigger = { petition_liege_relation_favor_trigger = yes }
				desc = petition_liege.0209.desc.bridge.favor
			}
			desc = petition_liege.0209.desc.bridge.apologetic
		}
	}
	theme = realm
	override_sound = { reference = event:/SFX/Events/Themes/sfx_event_theme_type_generic }
	court_scene = {
		button_position_character = scope:petition_liege
		court_owner = scope:petition_liege
		roles = {
		    scope:petition_vassal = {
				group = petitioners_group
				animation = throne_room_kneel_1
		    }
		}
	}

	trigger = { petition_liege_valid_trigger = yes }

	immediate = {
		scope:petition_liege = {
			open_view_data = {
				view = royal_court
				secondary_actor = scope:petition_vassal
				player = scope:petition_vassal
			}
		}
	}

	option = { 
		name = petition_liege.0209.counter
		trigger = {
			is_ai = no
			liege = { is_ai = yes }
			petition_liege_has_main_skiller_trigger = yes
		}
		add_prestige = minor_prestige_loss
		trigger_event = petition_liege.0401
		custom_tooltip = petition_liege_skillcheck_counter_tt
		ai_chance = {
			base = 0
		}
	}

	option = { 
		name = {
			trigger = { petition_liege_relation_favor_trigger = no }
			text = petition_liege.0209.a
		}
		name = {
			trigger = { petition_liege_relation_favor_trigger = yes }
			text = petition_liege.0209.favor
		}
		if = {
			limit = {
				scope:petition_vassal = { is_ai = yes }
			}
			add_opinion = {
				modifier = refusal_opinion
				target = scope:petition_liege
				opinion = -20
			}
		}
		if = {
			limit = { petition_liege_relation_favor_trigger = yes }
			add_hook = {
				type = favor_hook
				target = scope:petition_liege
			}
		}
		show_as_tooltip = {
			if = {
				limit = {
					NOR = {
						petition_liege_medium_cost_trigger = yes
						petition_liege_high_cost_trigger = yes
					}
				}
				petition_neg_grandeur_renown_effect = yes
			}
		}
		if = {
			limit = { is_in_an_activity = yes }
			activity = { complete_activity = yes }
		}
		if = {
			limit = { has_variable = petition_liege_scope }
			remove_variable = petition_liege_scope
		}
		close_view = {
			view = royal_court
		    player = scope:petition_vassal
		}
		ai_chance = {
			base = 25
		}
	}

	after = {
		close_view = {
			view = royal_court
		    player = scope:petition_vassal
		}
	}
}

# Notification Event for Liege: Vassal Accepts Counter-Offer
petition_liege.0301 = {
	hidden = yes

	immediate = {
		send_interface_toast = {
			title = petition_liege.0301.t
			left_icon = scope:petition_vassal
			petition_liege_0205_carry_out_effects_effect = yes
		}
	}
}

# Notification Event for Liege: Vassal Refuses Counter-Offer
petition_liege.0309 = {
	hidden = yes

	immediate = {
		send_interface_toast = {
			title = petition_liege.0309.t
			left_icon = scope:petition_vassal
			scope:petition_vassal = {
				add_opinion = {
					modifier = disappointed_opinion
					target = scope:petition_liege
					opinion = -10
				}
			}
		}
	}
}

# Court Event: Vassal Skillcheck Event
petition_liege.0401 = {
	type = court_event
	title =	petition_liege.0401.t
	desc = {
		desc = petition_liege.0401.desc.intro
		# Second Portrait
		first_valid = {
			triggered_desc = {
				trigger = {
					exists = scope:second_portrait
					exists = scope:diplomacy_check
					scope:second_portrait = scope:diplomacy_check
				}
				desc = petition_liege.0401.desc.second_diplomacy
			}
			triggered_desc = {
				trigger = {
					exists = scope:second_portrait
					exists = scope:martial_check
					scope:second_portrait = scope:martial_check
				}
				desc = petition_liege.0401.desc.second_martial
			}
			triggered_desc = {
				trigger = {
					exists = scope:second_portrait
					exists = scope:stewardship_check
					scope:second_portrait = scope:stewardship_check
				}
				desc = petition_liege.0401.desc.second_stewardship
			}
			triggered_desc = {
				trigger = {
					exists = scope:second_portrait
					exists = scope:intrigue_check
					scope:second_portrait = scope:intrigue_check
				}
				desc = petition_liege.0401.desc.second_intrigue
			}
			triggered_desc = {
				trigger = {
					exists = scope:second_portrait
					exists = scope:learning_check
					scope:second_portrait = scope:learning_check
				}
				desc = petition_liege.0401.desc.second_learning
			}
		}
		# Third Portrait
		first_valid = {
			triggered_desc = {
				trigger = {
					exists = scope:third_portrait
					scope:third_portrait = { has_relation_soulmate = scope:petition_vassal }
				}
				desc = petition_liege.0401.desc.third_soulmate
			}
			triggered_desc = {
				trigger = {
					exists = scope:third_portrait
					scope:third_portrait = { has_relation_lover = scope:petition_vassal }
				}
				desc = petition_liege.0401.desc.third_lover
			}
			triggered_desc = {
				trigger = {
					exists = scope:third_portrait
					scope:third_portrait = { has_relation_best_friend = scope:petition_vassal }
				}
				desc = petition_liege.0401.desc.third_best_friend
			}
			triggered_desc = {
				trigger = {
					exists = scope:third_portrait
					scope:third_portrait = { has_relation_friend = scope:petition_vassal }
				}
				desc = petition_liege.0401.desc.third_friend
			}
			triggered_desc = {
				trigger = { exists = scope:third_portrait }
				desc = petition_liege.0401.desc.third_fallback
			}
		}
		triggered_desc = {
			trigger = { exists = scope:third_portrait }
			desc = petition_liege.0401.desc.third
		}
		desc = petition_liege.0401.desc.outro
	}
	theme = realm
	override_sound = { reference = event:/SFX/Events/Themes/sfx_event_theme_type_generic }
	court_scene = {
		button_position_character = scope:petition_vassal
		court_owner = scope:petition_liege
		roles = {
		    scope:petition_vassal = {
				group = petitioners_group
				animation = throne_room_conversation_1
		    }
		}
	}

	trigger = { petition_liege_valid_trigger = yes }

	immediate = {
		hidden_effect = {
			scope:petition_liege = {
				every_knight = {
					limit = { petition_liege_skiller_trigger = yes }
					add_to_list = wildcard_list
				}
				every_court_position_holder = {
					limit = { petition_liege_skiller_trigger = yes }
					add_to_list = wildcard_list
				}
				every_spouse = {
					limit = { petition_liege_skiller_trigger = yes }
					add_to_list = wildcard_list
				}
				every_councillor = {
					limit = { petition_liege_skiller_trigger = yes }
					add_to_list = wildcard_list
				}
				every_courtier = {
					limit = { petition_liege_skiller_trigger = yes }
					add_to_list = wildcard_list
				}
				while = {
					count = 3
					random_list = {
						10 = { # Diplomacy
							trigger = {
								NOT = { exists = scope:diplomacy_check }
								petition_liege_skillcheck_limit = yes
							}
							modifier = {
								factor = 2
								exists = cp:councillor_chancellor
							}
							if = {
								limit = {
									exists = cp:councillor_chancellor
									cp:councillor_chancellor = { petition_liege_skiller_no_wildcard_trigger = yes }
								}
								cp:councillor_chancellor = { save_scope_as = diplomacy_check }
							}
							else = {
								random_courtier = {	
									limit = { petition_liege_skiller_no_wildcard_trigger = yes }
									weight = {
										modifier = {
											factor = 2
											has_diplomacy_court_position = yes
										}
										modifier = { factor = diplomacy }
									}
									save_scope_as = diplomacy_check
								}
							}
						}
						10 = { # Martial
							trigger = {
								NOT = { exists = scope:martial_check }
								petition_liege_skillcheck_limit = yes
							}
							modifier = {
								factor = 2
								exists = cp:councillor_marshal
								cp:councillor_marshal = { petition_liege_skiller_no_wildcard_trigger = yes }
							}
							if = {
								limit = {
									exists = cp:councillor_marshal
									cp:councillor_marshal = { petition_liege_skiller_no_wildcard_trigger = yes }
								}
								cp:councillor_marshal = { save_scope_as = martial_check }
							}
							else_if = {
								limit = {
									any_knight = { petition_liege_skiller_no_wildcard_trigger = yes }
								}
								random_knight = {	
									limit = { petition_liege_skiller_no_wildcard_trigger = yes }
									weight = {
										modifier = { factor = martial }
									}
									save_scope_as = martial_check
								}
							}
							else = {
								random_courtier = {	
									limit = { petition_liege_skiller_no_wildcard_trigger = yes }
									weight = {
										modifier = {
											factor = 2
											has_martial_court_position = yes
										}
										modifier = { factor = martial }
									}
									save_scope_as = martial_check
								}
							}
						}
						10 = { # Stewardship
							trigger = {
								NOT = { exists = scope:stewardship_check }
								petition_liege_skillcheck_limit = yes
							}
							modifier = {
								factor = 2
								exists = cp:councillor_steward
								cp:councillor_steward = { petition_liege_skiller_no_wildcard_trigger = yes }
							}
							if = {
								limit = {
									exists = cp:councillor_steward
									cp:councillor_steward = { petition_liege_skiller_no_wildcard_trigger = yes }
								}
								cp:councillor_steward = { save_scope_as = stewardship_check }
							}
							else = {
								random_courtier = {	
									limit = { petition_liege_skiller_no_wildcard_trigger = yes }
									weight = {
										modifier = {
											factor = 2
											has_stewardship_court_position = yes
										}
										modifier = { factor = stewardship }
									}
									save_scope_as = stewardship_check
								}
							}
						}
						10 = { # Intrigue
							trigger = {
								NOT = { exists = scope:intrigue_check }
								petition_liege_skillcheck_limit = yes
							}
							modifier = {
								factor = 2
								exists = cp:councillor_spymaster
								cp:councillor_spymaster = { petition_liege_skiller_no_wildcard_trigger = yes }
							}
							if = {
								limit = {
									exists = cp:councillor_spymaster
									cp:councillor_spymaster = { petition_liege_skiller_no_wildcard_trigger = yes }
								}
								cp:councillor_spymaster = { save_scope_as = intrigue_check }
							}
							else = {
								random_courtier = {	
									limit = { petition_liege_skiller_no_wildcard_trigger = yes }
									weight = {
										modifier = {
											factor = 2
											has_intrigue_court_position = yes
										}
										modifier = { factor = intrigue }
									}
									save_scope_as = intrigue_check
								}
							}
						}
						10 = { # Learning
							trigger = {
								NOT = { exists = scope:learning_check }
								petition_liege_skillcheck_limit = yes
							}
							modifier = {
								factor = 2
								exists = cp:councillor_court_chaplain
								cp:councillor_court_chaplain = { petition_liege_skiller_no_wildcard_trigger = yes }
							}
							if = {
								limit = {
									exists = cp:councillor_court_chaplain
									cp:councillor_court_chaplain = { petition_liege_skiller_no_wildcard_trigger = yes }
								}
								cp:councillor_court_chaplain = { save_scope_as = learning_check }
							}
							else = {
								random_courtier = {	
									limit = { petition_liege_skiller_no_wildcard_trigger = yes }
									weight = {
										modifier = {
											factor = 2
											has_learning_court_position = yes
										}
										modifier = { factor = learning }
									}
									save_scope_as = learning_check
								}
							}
						}
						2 = { # Wildcard
							trigger = {
								any_in_list = {
									list = wildcard_list
									petition_liege_skiller_trigger = yes
									petition_liege_wildcard_trigger = yes
								}
							}
							random_in_list = {
								list = wildcard_list
								weight = {
									modifier = {
										factor = 2
										is_spouse_of = scope:petition_liege
									}
									modifier = {
										factor = 2
										is_close_family_of = scope:petition_liege
									}
								}
								save_scope_as = wildcard_check
								save_scope_as = third_portrait
							}
						}
					}
				}
			}
			# Portrait scopes
			random_list = {
				2 = {
					trigger = { exists = scope:diplomacy_check }
					scope:diplomacy_check = { save_scope_as = first_portrait }
				}
				2 = {
					trigger = { exists = scope:martial_check }
					scope:martial_check = { save_scope_as = first_portrait }
				}
				2 = {
					trigger = { exists = scope:stewardship_check }
					scope:stewardship_check = { save_scope_as = first_portrait }
				}
				2 = {
					trigger = { exists = scope:intrigue_check }
					scope:intrigue_check = { save_scope_as = first_portrait }
				}
				2 = {
					trigger = { exists = scope:learning_check }
					scope:learning_check = { save_scope_as = first_portrait }
				}
			}
			if = {
				limit = {
					OR = {
						AND = {
							exists = scope:diplomacy_check
							NOT = { scope:diplomacy_check = scope:first_portrait }
						}
						AND = {
							exists = scope:martial_check
							NOT = { scope:martial_check = scope:first_portrait }
						}
						AND = {
							exists = scope:stewardship_check
							NOT = { scope:stewardship_check = scope:first_portrait }
						}
						AND = {
							exists = scope:intrigue_check
							NOT = { scope:intrigue_check = scope:first_portrait }
						}
						AND = {
							exists = scope:learning_check
							NOT = { scope:learning_check = scope:first_portrait }
						}
					}
				}
				random_list = {
					2 = {
						trigger = {
							exists = scope:diplomacy_check
							NOT = { scope:diplomacy_check = scope:first_portrait }
						}
						scope:diplomacy_check = { save_scope_as = second_portrait }
					}
					2 = {
						trigger = {
							exists = scope:martial_check
							NOT = { scope:martial_check = scope:first_portrait }
						}
						scope:martial_check = { save_scope_as = second_portrait }
					}
					2 = {
						trigger = {
							exists = scope:stewardship_check
							NOT = { scope:stewardship_check = scope:first_portrait }
						}
						scope:stewardship_check = { save_scope_as = second_portrait }
					}
					2 = {
						trigger = {
							exists = scope:intrigue_check
							NOT = { scope:intrigue_check = scope:first_portrait }
						}
						scope:intrigue_check = { save_scope_as = second_portrait }
					}
					2 = {
						trigger = {
							exists = scope:learning_check
							NOT = { scope:learning_check = scope:first_portrait }
						}
						scope:learning_check = { save_scope_as = second_portrait }
					}
				}
				scope:second_portrait = { assign_quirk_effect = yes }
			}
		}
	}

	option = { # First diplomacy
		name = petition_liege.0401.first
		trigger = {
			exists = scope:diplomacy_check
			scope:first_portrait = scope:diplomacy_check
		}
		skill = diplomacy
		petition_skill_duel_effect = {
			SKILL = diplomacy
			TARGET = scope:first_portrait
		}
	}

	option = { # First martial
		name = petition_liege.0401.first
		trigger = {
			exists = scope:martial_check
			scope:first_portrait = scope:martial_check
		}
		skill = martial
		petition_skill_duel_effect = {
			SKILL = martial
			TARGET = scope:first_portrait
		}
	}

	option = { # First stewardship
		name = petition_liege.0401.first
		trigger = {
			exists = scope:stewardship_check
			scope:first_portrait = scope:stewardship_check
		}
		skill = stewardship
		petition_skill_duel_effect = {
			SKILL = stewardship
			TARGET = scope:first_portrait
		}
	}

	option = { # First intrigue
		name = petition_liege.0401.first
		trigger = {
			exists = scope:intrigue_check
			scope:first_portrait = scope:intrigue_check
		}
		skill = intrigue
		petition_skill_duel_effect = {
			SKILL = intrigue
			TARGET = scope:first_portrait
		}
	}

	option = { # First learning
		name = petition_liege.0401.first
		trigger = {
			exists = scope:learning_check
			scope:first_portrait = scope:learning_check
		}
		skill = learning
		petition_skill_duel_effect = {
			SKILL = learning
			TARGET = scope:first_portrait
		}
	}

	option = { # Second diplomacy
		name = petition_liege.0401.second_diplomacy
		trigger = {
			exists = scope:diplomacy_check
			exists = scope:second_portrait
			scope:second_portrait = scope:diplomacy_check
		}
		skill = diplomacy
		petition_skill_duel_effect = {
			SKILL = diplomacy
			TARGET = scope:second_portrait
		}
	}

	option = { # Second martial
		name = petition_liege.0401.second_martial
		trigger = {
			exists = scope:martial_check
			exists = scope:second_portrait
			scope:second_portrait = scope:martial_check
		}
		skill = martial
		petition_skill_duel_effect = {
			SKILL = martial
			TARGET = scope:second_portrait
		}
	}

	option = { # Second stewardship
		name = petition_liege.0401.second_stewardship
		trigger = {
			exists = scope:stewardship_check
			exists = scope:second_portrait
			scope:second_portrait = scope:stewardship_check
		}
		skill = stewardship
		petition_skill_duel_effect = {
			SKILL = stewardship
			TARGET = scope:second_portrait
		}
	}

	option = { # Second intrigue
		name = petition_liege.0401.second_intrigue
		trigger = {
			exists = scope:intrigue_check
			exists = scope:second_portrait
			scope:second_portrait = scope:intrigue_check
		}
		skill = intrigue
		petition_skill_duel_effect = {
			SKILL = intrigue
			TARGET = scope:second_portrait
		}
	}

	option = { # Second learning
		name = petition_liege.0401.second_learning
		trigger = {
			exists = scope:learning_check
			exists = scope:second_portrait
			scope:second_portrait = scope:learning_check
		}
		skill = learning
		petition_skill_duel_effect = {
			SKILL = learning
			TARGET = scope:second_portrait
		}
	}

	option = { # Wildcard
		name = petition_liege.0401.wildcard
		trigger = { exists = scope:wildcard_check }
		random_list = {
			1 = {
				desc = petition_liege.0401.success
				hidden_effect = { petition_type_outcome_effect = yes }
				custom_tooltip = petition_liege_accept_tt
			}
			3 = {
				desc = petition_liege.0401.failure
				petition_skill_duel_lose_effect = yes
			}
		}
	}

	after = {
		close_view = {
			view = royal_court
		    player = scope:petition_vassal
		}
		if = {
			limit = {
				root = { is_in_an_activity = yes }
			}
			activity = { complete_activity = yes }
		}
		if = {
			limit = { has_variable = petition_liege_scope }
			remove_variable = petition_liege_scope
		}
	}
}

# Letter Event: Second Vassal Demand Acceptance Event
petition_liege.0501 = {
	type = letter_event
	opening = petition_liege.0501.opening
	desc = petition_liege.0501.desc
	sender = scope:petition_liege

	option = { # Accept
		name = petition_liege.0501.a
		petition_liege_0101_title_vassal_effect = yes
		ai_chance = {
			base = 25
			ai_value_modifier = {
				ai_greed = -1
				ai_boldness = -1
			}
		}
	}

	option = { # Refuse
		name = petition_liege.0501.b
		scope:petition_liege = {
			add_opinion = {
				target = scope:second_party
				modifier = refusal_opinion
				opinion = -10
			}
		}
		hidden_effect = {
			scope:petition_liege = {
				send_interface_toast = {
					title = petition_liege.0101.t.title_vassal
					left_icon = scope:second_party
					right_icon = scope:petition_vassal
					custom_tooltip = petition_liege.0501.refuse_tt
					show_as_tooltip = {
						scope:second_party = {
							add_opinion = {
								target = scope:petition_liege
								modifier = annoyed_opinion
								opinion = -10
							}
							add_opinion = {
								target = scope:petition_vassal
								modifier = annoyed_opinion
								opinion = -10
							}
						}
						add_opinion = {
							target = scope:second_party
							modifier = refusal_opinion
							opinion = -10
						}
					}
				}
			}
			scope:petition_vassal = {
				send_interface_toast = {
					title = petition_liege.0101.t.title_vassal
					left_icon = scope:second_party
					right_icon = scope:petition_liege
					custom_tooltip = petition_liege.0501.refuse_tt
					show_as_tooltip = {
						scope:second_party = {
							add_opinion = {
								target = scope:petition_vassal
								modifier = annoyed_opinion
								opinion = -10
							}
							add_opinion = {
								target = scope:petition_liege
								modifier = annoyed_opinion
								opinion = -10
							}
						}
						scope:petition_liege = {
							add_opinion = {
								target = scope:second_party
								modifier = refusal_opinion
								opinion = -10
							}
						}
					}
				}
			}
		}
		ai_chance = {
			base = 5
			ai_value_modifier = {
				ai_greed = 1
				ai_boldness = 1
			}
		}
	}
}

#Liege no longer available
petition_liege.0601 = {
	type = character_event
	title = petition_liege.0601.t
	desc = {
		first_valid = {
			triggered_desc = {
				trigger = { has_royal_court = yes }
				desc = petition_liege.0601.desc.court
			}
			triggered_desc = {
				trigger = { is_imprisoned = yes }
				desc = petition_liege.0601.desc.imprisoned
			}
			triggered_desc = {
				trigger = {
					scope:petition_liege = {
						is_alive = no
						exists = killer
						killer = root
					}
				}
				desc = petition_liege.0601.desc.liege_dead_me
			}
			triggered_desc = {
				trigger = {
					scope:petition_liege = { is_alive = no }
				}
				desc = petition_liege.0601.desc.liege_dead
			}
			triggered_desc = {
				trigger = {
					scope:petition_liege = {
						is_imprisoned = yes
						exists = imprisoner
						imprisoner = root
					}
				}
				desc = petition_liege.0601.desc.liege_imprisoned_me
			}
			triggered_desc = {
				trigger = {
					scope:petition_liege = { is_imprisoned = yes }
				}
				desc = petition_liege.0601.desc.liege_imprisoned
			}
		}
		triggered_desc = {
			trigger = {
				scope:petition_liege = { is_alive = no }
				exists = liege
				NOT = { liege = root }
			}
			desc = petition_liege.0601.desc.new_liege
		}
		triggered_desc = {
			trigger = {
				scope:petition_liege = { is_alive = yes }
				exists = liege
				NOT = { liege = root }
			}
			desc = petition_liege.0601.desc
		}
	}
	theme = realm
	left_portrait = {
		character = scope:petition_liege
		triggered_animation = {
			trigger = { is_imprisoned = yes }
			animation = prison_dungeon
		}
		triggered_animation = {
			trigger = { is_alive = no }
			animation = idle
		}
		triggered_animation = {
			trigger = { is_available = no }
			animation = dismissal
		}
	}
	right_portrait = {
		character = liege
		trigger = {
			NOT = { liege = scope:petition_liege }
		}
	}

	trigger = {
		is_alive = yes
		has_variable = petition_liege_scope
	}

	option = {
		name = {
			text = petition_liege.0601.a_court
			trigger = { has_royal_court = yes }
		}
		name = {
			text = petition_liege.0601.a_prison
			trigger = { is_imprisoned = yes }
		}
		name = {
			text = petition_liege.0601.a_liege
			trigger = {
				scope:petition_liege = {
					is_alive = yes
					is_imprisoned = no
				}
			}
		}
		name = {
			text = petition_liege.0601.a
			trigger = { always = yes }
		}
		remove_decision_cooldown = petition_liege_decision
	}

	after = {
		if = {
			limit = { has_variable = petition_liege_scope }
			remove_variable = petition_liege_scope
		}
	}
}
