# Called on_war_started
# FROM is attacker
# ROOT is defender
cb_attacking_tributary_effect = {
	ROOT = {
		if = {
			limit = {
				OR = {
					pays_tribute_to = FROM
					any_liege = { pays_tribute_to = FROM }

					has_opinion_modifier = {
						name = opinion_released_tributary
						who = FROM
					}
				}
			}

			FROM = {
				any_independent_ruler = {
					limit = { pays_tribute_to = FROM }

					suzerain = { remove_tributary = PREV }

					opinion = {
						name = attacked_tributary
						who = ROOT
						years = 20
					}
				}

				any_vassal = {
					limit = { higher_tier_than = BARON }

					opinion = {
						name = attacked_tributary_vassal
						who = ROOT
						years = 10
					}
				}
			}
		}
	}
}

# called on_new_holder
# ROOT is the new holder
# FROM is the title
# FROMFROM is the old holder
cb_nomad_culture_preservation_effect = {
	FROM = {
		if = {
			limit = {
				ROOT = {
					NAND = {
						religion = FROMFROM
						culture = FROMFROM
					}
				}

				FROMFROM = { is_nomadic = yes }
				tier = COUNT
			}

			location = {
				if = {
					limit = {
						OR = {
							has_capital = no
							capital_holding = { holding_type = nomad }
						}
					}

					build_holding = { type = tribal }
					culture = FROMFROM
					religion = FROMFROM

					random_province_holding = {
						limit = { holding_type = tribal }
						make_capital_holding = yes
					}
				}
			}
		}
	}
}

# Called on_war_ended_victory, on_war_ended_defeat, on_war_ended_whitepeace, on_war_ended_invalid
# FROM is attacker
# ROOT is defender
civil_war_cleanup_effect = {
	FROM = {
		if = {
			limit = {
				liege_before_war = { character = ROOT }
			}

			liege_before_war = {
				# Remove Revolted
				any_opinion_modifier_target = {
					limit = {
						reverse_has_opinion_modifier = {
							name = revolting_against
							who = PREV
						}
					}

					remove_trait = pf_rebel

					remove_opinion = {
						name = revolting_against_me
						who = PREV
					}

					reverse_remove_opinion = {
						name = revolting_against
						who = PREV
					}
				}

				# Remove Neutral
				any_opinion_modifier_target = {
					limit = {
						reverse_has_opinion_modifier = {
							name = pf_neutral_toward
							who = PREV
						}
					}

					remove_trait = pf_neutral

					remove_opinion = {
						name = pf_neutral_to_me
						who = PREV
					}
					reverse_remove_opinion = {
						name = pf_neutral_toward
						who = PREV
					}
				}

				# Remove Loyalist
				any_opinion_modifier_target = {
					limit = {
						reverse_has_opinion_modifier = {
							name = pf_loyal_toward
							who = PREV
						}
					}

					remove_trait = pf_loyalist

					remove_opinion = {
						name = pf_loyal_to_me
						who = PREV
					}
					reverse_remove_opinion = {
						name = pf_loyal_toward
						who = PREV
					}
				}
			}
		}
	}
}

# Called on_war_ended_victory, on_war_ended_defeat, on_war_ended_whitepeace, on_war_ended_invalid
siege_cleanup_effect = {
	if = {
		limit = { war = no }

		clr_character_flag = has_siege_effect
		clr_character_flag = defending_the_castle

		remove_character_modifier = stalwart_defender
		remove_character_modifier = left_at_siege
		remove_character_modifier = escaped_siege

		any_courtier_or_vassal = {
			limit = {
				has_character_flag = has_siege_effect
				war = no
			}

			clr_character_flag = has_siege_effect
			clr_character_flag = defending_the_castle
			remove_character_modifier = stalwart_defender
			remove_character_modifier = left_at_siege
			remove_character_modifier = escaped_siege
		}
	}
}

# Called on_become_imprisoned_any_reason
siege_cleanup_prisoner_effect = {
	if = {
		limit = {
			prisoner = yes

			OR = {
				is_inaccessible_trigger = yes
				has_character_modifier = stalwart_defender
				has_character_modifier = left_at_siege
				has_character_modifier = escaped_siege
				has_character_flag = defending_the_castle
				has_character_flag = has_siege_effect
			}
		}

		end_inaccessibility_effect = yes
		remove_character_modifier = stalwart_defender
		remove_character_modifier = left_at_siege
		remove_character_modifier = escaped_siege
		clr_character_flag = has_siege_effect
		clr_character_flag = defending_the_castle
		clr_character_flag = in_hiding_murder
		clr_character_flag = in_hiding_siege
	}
}

# Called on_new_holder
new_holder_province_chaos_effect = {
	if = {
		limit = {
			FROM = { real_tier = COUNT }

			OR = {
				has_character_modifier = victory_timer
				has_character_modifier = new_land_timer
			}
		}

		FROM = {
			location = {
				if = {
					limit = { has_province_modifier = province_chaos }
					remove_province_modifier = province_chaos
				}

				add_province_modifier = {
					name = province_chaos
					years = 2
				}
			}
		}
	}
}

depose_antipope_effect = {
	remove_claim = k_papacy
	remove_claim = d_fraticelli
}