﻿roused_rabble_war = {
	icon = peasant_war
	group = civil_war
	ai_only_against_liege = yes
	target_titles = none
	allowed_for_character =	{
		scope:attacker = {
			is_leading_faction_type = roused_rabble_faction
		}
		NOT = {
			government_has_flag = government_is_landless_adventurer
		}
	}

	allowed_against_character = {
		scope:attacker = {
			joined_faction = {
				faction_leader = scope:attacker
				any_faction_county_member = {
					holder = {
						OR = {
							is_vassal_or_below_of = scope:defender
							this = scope:defender
						}
					}
				}
			}
		}
	}

	target_de_jure_regions_above = yes
	target_top_liege_if_outside_realm = no

	valid_to_start = {
	}

	should_invalidate = {
		NOT = {
			scope:attacker = {
				has_variable = rebel_leader_peasants
				exists = joined_faction
				joined_faction = var:rebel_leader_peasants
			}
		}
	}

	on_declaration = {
		#on_declared_war = yes

		scope:defender = {
			add_opinion = {
				modifier = peasant_revolt_opinion
				target = scope:attacker
			}
		}

		# Generate troops
		hidden_effect = {
			generate_troops_from_revolt_county_modifiers_effect = yes
		}
	}

	on_victory_desc = {
		desc = roused_rabble_war_victory_desc
	}

	on_victory = {
		scope:attacker = { show_pow_release_message_effect = yes }
		scope:attacker = {
			joined_faction = {
				roused_rabble_demands_enforced = {FACTION = this}
			}
		}

		# Tell the schemer war ended in victory
		scope:defender = {
			primary_title = {
				var:roused_rabble_schemer = {
					trigger_event = sas_faction_demand.1005
				}
			}
		}

		scope:defender = {
			primary_title = {
				if = {
					limit = { exists = var:roused_rabble_schemer}
					remove_variable = roused_rabble_schemer
				}
			}
		}

		scope:defender = {
			add_character_modifier = {
				modifier = rabble_roused_against_me
				years = 10
			}
		}

		# EP3: note gold gained from military assistance/join war contracts and their war contribution threshold
		laamp_as_mercenary_payout_tooltip_effect = yes
	}

	on_white_peace_desc = {
		desc = roused_rabble_war_white_peace_desc
	}

	on_white_peace = {
		scope:attacker = { 
			show_pow_release_message_effect = yes
			stress_impact = {
				ambitious = medium_stress_impact_gain
				arrogant = medium_stress_impact_gain
			}
		}
		scope:attacker = {
			joined_faction = {
				hidden_effect = {
					clean_roused_rabble_county_modifiers_from_faction_members_effect = yes
				}
				destroy_faction = yes
			}
		}

		scope:defender = {
			stress_impact = {
				arrogant = medium_stress_impact_gain
			}
		}

		# Tell the schemer war ended in white peace
		scope:defender = {
			primary_title = {
				var:roused_rabble_schemer = {
					trigger_event = sas_faction_demand.1006
				}
			}
		}

		scope:defender = {
			primary_title = {
				if = {
					limit = { exists = var:roused_rabble_schemer}
					remove_variable = roused_rabble_schemer
				}
			}
		}

		scope:defender = {
			add_character_modifier = {
				modifier = rabble_roused_against_me
				years = 10
			}
		}

		# EP3: note gold gained from military assistance/join war contracts and their war contribution threshold
		laamp_as_mercenary_payout_tooltip_effect = yes
	}

	on_defeat_desc = {
		desc = roused_rabble_war_defeat_desc
	}

	on_defeat = {
		scope:attacker = { show_pow_release_message_effect = yes }
		scope:defender = {
			add_character_flag = peasant_revolt_do_not_kill
			remove_variable = rebel_leader_peasants
		}

		scope:attacker = {
			joined_faction = {
				every_faction_county_member = {
					custom = roused_rabble_faction_every_county
					add_county_modifier = {
						modifier = county_increased_opinion_modifier
						years = 25
					}
				}
			}
		}

		hidden_effect = {
			scope:attacker = {
				joined_faction = {
					hidden_effect = {
						clean_roused_rabble_county_modifiers_from_faction_members_effect = yes
					}
					destroy_faction = yes
				}
			}
		}

		scope:defender = {
			add_character_modifier = {
				modifier = rabble_roused_against_me
				years = 10
			}
		}

		scope:defender = {
			if = {
				limit = {
					NOT = { #In case defender has changed
						has_opinion_modifier = {
							modifier = peasant_revolt_opinion
							target = scope:attacker
						}
					}
				}
				add_opinion = {
					modifier = peasant_revolt_opinion
					target = scope:attacker
				}
			}
			if = {
				limit = {
					scope:attacker = { is_imprisoned = no }
				}
				imprison = {
					target = scope:attacker
					type = dungeon
				}
			}
		}

		# Tell the schemer war ended in defeat
		scope:defender = {
			primary_title = {
				var:roused_rabble_schemer = {
					trigger_event = sas_faction_demand.1007
				}
			}
		}

		scope:defender = {
			primary_title = {
				if = {
					limit = { exists = var:roused_rabble_schemer}
					remove_variable = roused_rabble_schemer
				}
			}
		}

		# EP3: note gold gained from military assistance/join war contracts and their war contribution threshold
		laamp_as_mercenary_payout_tooltip_effect = yes
	}

	on_invalidated_desc = msg_invalidate_war_title

	on_primary_attacker_death = invalidate
	on_primary_defender_death = inherit

	transfer_behavior = transfer

	attacker_allies_inherit = no
	defender_allies_inherit = yes

	war_name = "PEASANT_WAR_NAME"

	interface_priority = 80

	use_de_jure_wargoal_only = yes

	attacker_wargoal_percentage = 0.8

	max_attacker_score_from_battles = 100
	max_defender_score_from_battles = 50

	max_ai_diplo_distance_to_title = 500
}
