﻿namespace = rouse_rabble_outcome

# Successful and secret
rouse_rabble_outcome.0001 = {
	type = character_event
	window = scheme_successful_event
	theme = rouse_rabble_scheme
	title = rouse_rabble_outcome.0001.t
	desc = rouse_rabble_outcome.0001.desc
	left_portrait = {
		character = scope:owner
		animation = toast_goblet
	}
	center_portrait = {
		character = scope:owner.court_position:rabble_rouser_court_position
		animation = drink_goblet
	}
	right_portrait = {
		character = scope:target
		animation = dismissal
	}
	option = {
		name = rouse_rabble_outcome.0001.a
		hidden_effect = { rouse_rabble_reveler_lifestyle_rank_up_check_effect = yes }
		custom_tooltip = {
			text = progress_towards_reveler_tt
			reveler_points_gain_effect = {
				CHANGE = 1
				RANDOM_CHANGE = 1
			}
		}
		custom_tooltip = {
			text = roused_rabble_faction_started_tt
		}

		hidden_effect = {
			scope:target = {
				primary_title = {
					set_variable = {
						name = roused_rabble_schemer
						value = scope:owner
					}
				}
				
				ordered_sub_realm_county = {
					limit = { 
						NOT = { has_county_modifier = county_rabble_roused_modifier }
					}
					order_by = total_county_levies
					max = {
						if = {
							limit = { scope:owner.court_position:rabble_rouser_court_position.aptitude:rabble_rouser_court_position <= 1 }
							value = 1
						}
						else_if = {
							limit = { scope:owner.court_position:rabble_rouser_court_position.aptitude:rabble_rouser_court_position == 2 }
							value = 2
						}
						else_if = {
							limit = { scope:owner.court_position:rabble_rouser_court_position.aptitude:rabble_rouser_court_position == 3 }
							value = 3
						}
						else = {
							value = 4
						}
					}
					check_range_bounds = no
					add_county_modifier = county_rabble_roused_modifier
				}
			}
		}

		scope:owner.court_position:rabble_rouser_court_position = { 
			hidden_effect = { 
				rouse_rabble_reveler_lifestyle_rank_up_check_effect = yes
					reveler_points_gain_effect = {
						CHANGE = 1
						RANDOM_CHANGE = 1
					}
			}
		}
		scope:owner = {
			if = {
				limit = {
					has_trait = peasant_leader
				}
				add_trait_xp = {
					trait = peasant_leader
					value = peasant_leader_xp_value
				}
			}
		}
		random_list = {
			20 = {
				modifier = { 
					scope:owner.court_position:rabble_rouser_court_position = { 
						aptitude = {
							court_position = rabble_rouser_court_position
							value >= 1
						}
					}
					add = 20
				}
				modifier = { 
					scope:owner.court_position:rabble_rouser_court_position = { 
						aptitude = {
							court_position = rabble_rouser_court_position
							value >= 2
						}
					}
					add = 20
				}
				modifier = { 
					scope:owner.court_position:rabble_rouser_court_position = { 
						aptitude = {
							court_position = rabble_rouser_court_position
							value >= 3
						}
					}
					add = 20
				}
				modifier = { 
					scope:owner.court_position:rabble_rouser_court_position = { 
						aptitude = {
							court_position = rabble_rouser_court_position
							value >= 4
						}
					}
					add = 20
				}
				scope:owner.court_position:rabble_rouser_court_position = { 
					if = {
						limit = { 
							NOT = { 
								has_trait = peasant_leader
							} 
						}
						add_trait = peasant_leader
						if = { 
							limit = { has_trait = populist_leader }
							remove_trait = populist_leader
						}
					}
				}
			}
			80 = {
				modifier = { 
					scope:owner.court_position:rabble_rouser_court_position = { 
						aptitude = {
							court_position = rabble_rouser_court_position
							value >= 1
						}
					}
					add = -20
				}
				modifier = { 
					scope:owner.court_position:rabble_rouser_court_position = { 
						aptitude = {
							court_position = rabble_rouser_court_position
							value >= 2
						}
					}
					add = -20
				}
				modifier = { 
					scope:owner.court_position:rabble_rouser_court_position = { 
						aptitude = {
							court_position = rabble_rouser_court_position
							value >= 3
						}
					}
					add = -20
				}
				modifier = { 
					scope:owner.court_position:rabble_rouser_court_position = { 
						aptitude = {
							court_position = rabble_rouser_court_position
							value >= 4
						}
					}
					add = -20
				}
			}
		}
	}
	after = {
		if = {
			limit = { exists = scope:scheme }
			scope:scheme = {
				end_scheme = yes
			}
		}
	}
}

# Successful and discovered
rouse_rabble_outcome.0002 = {
	type = character_event
	window = scheme_successful_event
	theme = rouse_rabble_scheme
	title = rouse_rabble_outcome.0002.t
	desc = rouse_rabble_outcome.0002.desc
	left_portrait = {
		character = scope:owner
		animation = toast_goblet
	}
	center_portrait = {
		character = scope:owner.court_position:rabble_rouser_court_position
		animation = drink_goblet
	}
	right_portrait = {
		character = scope:target
		animation = rage
	}
	option = {
		name = rouse_rabble_outcome.0002.a
		rouse_rabble_failure_effect = yes
		hidden_effect = { rouse_rabble_reveler_lifestyle_rank_up_check_effect = yes }
		custom_tooltip = {
			text = progress_towards_reveler_tt
			reveler_points_gain_effect = {
				CHANGE = 1
				RANDOM_CHANGE = 1
			}
		}
		custom_tooltip = {
			text = roused_rabble_faction_started_tt
		}

		hidden_effect = {
			scope:target = {
				primary_title = {
					set_variable = {
						name = roused_rabble_schemer
						value = scope:owner
					}
				}
				ordered_sub_realm_county = {
					limit = { 
						NOT = { has_county_modifier = county_rabble_roused_modifier }
					}
					order_by = total_county_levies
					max = {
						if = {
							limit = { scope:owner.court_position:rabble_rouser_court_position.aptitude:rabble_rouser_court_position <=1 }
							value = 1
						}
						else_if = {
							limit = { scope:owner.court_position:rabble_rouser_court_position.aptitude:rabble_rouser_court_position <=3 }
							value = 2
						}
						else = {
							value = 3
						}
					}
					check_range_bounds = no
					add_county_modifier = county_rabble_roused_modifier
				}
			}
		}

		scope:owner.court_position:rabble_rouser_court_position = { 
			hidden_effect = { 
				rouse_rabble_reveler_lifestyle_rank_up_check_effect = yes
					reveler_points_gain_effect = {
						CHANGE = 1
						RANDOM_CHANGE = 1
					}
			}
		}
		scope:owner = {
			if = {
				limit = {
					has_trait = peasant_leader
				}
				add_trait_xp = {
					trait = peasant_leader
					value = peasant_leader_xp_value
				}
			}
		}
		random_list = {
			20 = {
				modifier = { 
					scope:owner.court_position:rabble_rouser_court_position = { 
						aptitude = {
							court_position = rabble_rouser_court_position
							value >= 1
						}
					}
					add = 20
				}
				modifier = { 
					scope:owner.court_position:rabble_rouser_court_position = { 
						aptitude = {
							court_position = rabble_rouser_court_position
							value >= 2
						}
					}
					add = 20
				}
				modifier = { 
					scope:owner.court_position:rabble_rouser_court_position = { 
						aptitude = {
							court_position = rabble_rouser_court_position
							value >= 3
						}
					}
					add = 20
				}
				modifier = { 
					scope:owner.court_position:rabble_rouser_court_position = { 
						aptitude = {
							court_position = rabble_rouser_court_position
							value >= 4
						}
					}
					add = 20
				}
				scope:owner.court_position:rabble_rouser_court_position = { 
					if = {
						limit = { 
							NOT = { 
								has_trait = peasant_leader
							} 
						}
						add_trait = peasant_leader
						if = { 
							limit = { has_trait = populist_leader }
							remove_trait = populist_leader
						}
					}
				}
			}
			80 = {
				modifier = { 
					scope:owner.court_position:rabble_rouser_court_position = { 
						aptitude = {
							court_position = rabble_rouser_court_position
							value >= 1
						}
					}
					add = -20
				}
				modifier = { 
					scope:owner.court_position:rabble_rouser_court_position = { 
						aptitude = {
							court_position = rabble_rouser_court_position
							value >= 2
						}
					}
					add = -20
				}
				modifier = { 
					scope:owner.court_position:rabble_rouser_court_position = { 
						aptitude = {
							court_position = rabble_rouser_court_position
							value >= 3
						}
					}
					add = -20
				}
				modifier = { 
					scope:owner.court_position:rabble_rouser_court_position = { 
						aptitude = {
							court_position = rabble_rouser_court_position
							value >= 4
						}
					}
					add = -20
				}
			}
		}
	}
	after = {
		if = {
			limit = { exists = scope:scheme }
			scope:scheme = {
				end_scheme = yes
			}
		}
	}
}

# Unsuccessful and secret
rouse_rabble_outcome.0003 = {
	type = character_event
	window = scheme_failed_event
	theme = rouse_rabble_scheme
	title = rouse_rabble_outcome.0003.t
	desc = rouse_rabble_outcome.0003.desc
	left_portrait = {
		character = scope:owner
		animation = disappointed
	}
	right_portrait = {
		character = scope:owner.court_position:rabble_rouser_court_position
		animation = shame
	}
	option = {
		name = rouse_rabble_outcome.0003.a
	}
	after = {
		if = {
			limit = { exists = scope:scheme }
			scope:scheme = {
				end_scheme = yes
			}
		}
	}
}

# Unsuccessful and discovered
rouse_rabble_outcome.0004 = {
	type = character_event
	window = scheme_failed_event
	theme = rouse_rabble_scheme
	title = rouse_rabble_outcome.0004.t
	desc = rouse_rabble_outcome.0004.desc
	left_portrait = {
		character = scope:owner
		animation = disappointed
	}
	center_portrait = {
		character = scope:owner.court_position:rabble_rouser_court_position
		animation = shame
	}
	right_portrait = {
		character = scope:target
		animation = rage
	}
	option = {
		name = rouse_rabble_outcome.0004.a
		rouse_rabble_failure_effect = yes
	}
	after = {
		if = {
			limit = { exists = scope:scheme }
			scope:scheme = {
				end_scheme = yes
			}
		}
	}
}

# Gained Reveler trait
rouse_rabble_outcome.0005 = {
	type = character_event
	title = rouse_rabble_outcome.0005.t
	desc = rouse_rabble_outcome.0005.desc
	theme = rouse_rabble_reveler
	left_portrait = {
		character = root
		animation = toast_goblet
	}
	right_portrait = {
		character = scope:owner.court_position:rabble_rouser_court_position
		animation = toast_goblet
	}
	cooldown = { years = 15 }

	option = { # Yes
		name = rouse_rabble_outcome.0005.a
		add_trait = lifestyle_reveler
		if = {
			limit = {
				culture = { has_cultural_parameter = reveler_traits_more_valued }
			}
			add_prestige = miniscule_prestige_gain
		}
		stress_impact = {
			shy = minor_stress_impact_gain
			reclusive = medium_stress_impact_gain
		}
		ai_chance = {
			base = 25
			modifier = {
				culture = { has_cultural_parameter = reveler_traits_more_valued }
				factor = 2
			}
			modifier = {
				has_trait = education_diplomacy
				factor = 2
			}
			ai_value_modifier = {
				ai_energy = 0.5
				ai_boldness = 0.5
				ai_sociability = 0.5
				ai_zeal = -1
			}
		}
	}

	option = { # No
		name = rouse_rabble_outcome.0005.b
		stress_impact = {
			gregarious = minor_stress_impact_gain
			drunkard = medium_stress_impact_gain
			hashishiyah = medium_stress_impact_gain
		}
		ai_chance = {
			base = 25
			modifier = {
				is_clergy = yes
				factor = 2
			}
			ai_value_modifier = {
				ai_energy = -0.5
				ai_boldness = -0.5
				ai_sociability = -0.5
				ai_zeal = 1
			}
		}
	}
}
