# rivalry_cb
# hostages_cb

rivalry_cb = {
	name = CB_NAME_RIVALRY
	war_name = WAR_NAME_RIVALRY
	sprite = 7
	truce_days = 3650
	sort_priority = 900

	is_permanent = yes
	can_ask_to_join_war = no
	allowed_to_target_tributaries = no
	defender_unoccupied_warscore = yes

	can_use_gui = {
		check_if_crusader_trigger = yes

		# CK2Plus
		# Attacker
		ROOT = {
			can_use_cb_preamble = yes
		}
	}

	can_use = {
		# Defender
		FROM = {
			OR = {
				is_rival = ROOT
				is_foe = ROOT

				trigger_if = {
					limit = {
						OR = {
							has_plot = plot_kill_character
							has_plot = plot_kill_spouse
							has_plot = plot_take_revenge
						}
					}

					plot_is_known_by = ROOT

					plot_target_char = {
						OR = {
							character = ROOT
							is_child_of = ROOT
							is_mother = ROOT
							is_father = ROOT
							is_married = ROOT
						}
					}
				}
			}

			NOT = {
				has_opinion_modifier = {
					name = opinion_humiliated_rival
					who = ROOT
				}
			}
		}
	}

	is_valid = {
		# Defender
		FROM = {
			OR = {
				is_rival = ROOT
				is_foe = ROOT

				trigger_if = {
					limit = {
						OR = {
							has_plot = plot_kill_character
							has_plot = plot_kill_spouse
							has_plot = plot_take_revenge
						}
					}

					plot_is_known_by = ROOT

					plot_target_char = {
						OR = {
							character = ROOT
							is_child_of = ROOT
							is_mother = ROOT
							is_father = ROOT
							is_married = ROOT
						}
					}
				}
			}
		}
	}

	on_add = {
		fire_haruspicy_event_effect = yes
		anger_china_effect = yes
	}

	on_success = {
		attacker = {
			show_scope_change = no

			participation_scaled_prestige = 250

			if = {
				limit = {
					ai = no
					is_ironman = yes
					sibling = defender
				}

				set_character_flag = achievement_sibling_rival_war
			}

			remove_opinion = {
				name = opinion_humiliated_rival
				who = defender
			}
		}

		any_attacker = {
			limit = { NOT = { character = attacker } }
			hidden_effect = { participation_scaled_prestige = 250 }
		}

		defender = {
			show_scope_change = no

			prestige = -250
			imprison = attacker

			opinion = {
				name = opinion_humiliated_rival
				who = attacker
				years = 150
			}
		}
	}

	on_fail = {
		attacker = {
			show_scope_change = no

			prestige = -125
		}

		defender = {
			show_scope_change = no

			prestige = 50
		}
	}

	on_reverse_demand = {
		attacker = {
			show_scope_change = no

			prestige = -250
			imprison = defender

			opinion = {
				name = opinion_humiliated_rival
				who = defender
				years = 150
			}
		}

		defender = {
			show_scope_change = no

			participation_scaled_prestige = 250

			remove_opinion = {
				name = opinion_humiliated_rival
				who = attacker
			}

			if = {
				limit = {
					ai = no
					is_ironman = yes
					sibling = attacker
				}

				set_character_flag = achievement_sibling_rival_war
			}
		}

		any_defender = {
			limit = { NOT = { character = defender } }
			hidden_effect = { participation_scaled_prestige = 250 }
		}
	}

	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
	}

	# CK2Plus
	ai_will_do = {
		factor = 1

		trigger = {
			ROOT = {
				# Most Christian and Jewish AI will not attack their religion head
				can_attack_religion_head_trigger = yes
			}
		}
	}
}

hostages_cb = {
	name = CB_NAME_HOSTAGES
	war_name = WAR_NAME_HOSTAGES
	sprite = 25
	truce_days = 3650
	sort_priority = 100000 # When there are hostages you can usually not declare any other war, so we want this first

	is_permanent = yes
	can_ask_to_join_war = no
	allowed_to_target_tributaries = no
	defender_unoccupied_warscore = yes
	hostages_block_cb = no

	can_use_gui = {
		check_if_crusader_trigger = yes
	}

	can_use = {
		# Attacker
		ROOT = {
			independent = yes
		}

		# Defender
		FROM = {
			any_realm_character = {
				is_landed = no

				OR = {
					is_married = ROOT
					is_friend = ROOT
					is_close_relative = ROOT
					dynasty = ROOT
					is_consort = ROOT
				}

				OR = {
					prisoner = yes

					has_opinion_modifier = {
						name = opinion_forced_consort
						who = PREV
					}
				}
			}
		}
	}

	on_add = {
		defender = {
			character_event = {
				id = JD.2000 # Chance to execute captives
				days = 5
			}
		}

		fire_haruspicy_event_effect = yes
		anger_china_effect = yes
	}

	on_success = {
		attacker = {
			show_scope_change = no

			prestige = 250
		}

		defender = {
			show_scope_change = no

			prestige = -250
			save_event_target_as = character_kidnapper

			transfer_scaled_wealth = {
				to = attacker
				value = 3.0
			}

			any_realm_character = {
				limit = {
					is_landed = no

					OR = {
						is_married = attacker
						is_consort = attacker
						is_friend = attacker
						is_close_relative = attacker
						dynasty = ROOT
					}

					OR = {
						prisoner = yes

						has_opinion_modifier = {
							name = opinion_forced_consort
							who = defender
						}
					}
				}

				hidden_effect = {
					# Concubines are released...
					if = {
						limit = {
							is_consort = yes

							consort = { # ...if they are taken by someone in the same realm of your target
								same_realm = event_target:character_kidnapper
							}
						}

						consort = {
							remove_consort = PREV
						}
					}

					# Marriages are annuled
					if = {
						limit = {
							is_married = yes
							any_spouse = { same_realm = event_target:character_kidnapper }
						}

						remove_spouse = yes
					}
				}

				# Release prisoners
				if = {
					limit = { prisoner = yes }
					imprison = no
				}

				# Move to the saviour's court...
				if = {
					limit = {
						# ...unless you are a concubine to a landed character...
						trigger_if = {
							limit = { is_consort = yes }

							NOT = {
								any_consort = {
									is_landed = no
								}
							}
						}

						# ...or the wife to a landed character
						trigger_else_if = {
							limit = { is_married = no }

							NOT = {
								any_spouse = {
									is_landed = yes
								}
							}

						}
					}

					move_character = attacker
				}

				opinion = {
					name = opinion_my_saviour
					who = attacker
					years = 100
				}
			}

			custom_tooltip = {
				text = hostages_random_imprisonment_tt

				random_realm_character = {
					limit = {
						NOT = { character = PREV }
						prisoner = no
						ai = yes
						is_close_relative = PREV
					}

					imprison = attacker
				}
			}
		}
	}

	on_fail = {
		attacker = {
			show_scope_change = no

			prestige = -250
		}

		defender = {
			show_scope_change = no

			prestige = 250
		}
	}

	on_reverse_demand = {
		attacker = {
			show_scope_change = no

			prestige = -250

			transfer_scaled_wealth = {
				to = defender
				value = 3.0
			}
		}

		defender = {
			show_scope_change = no

			prestige = 250
		}
	}

	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

		mult_modifier = {
			factor = 2
			defender = { trait = proud }
		}

		mult_modifier = {
			factor = 3
			defender = { real_tier = KING }
		}

		mult_modifier = {
			factor = 0.85

			attacker = {
				relative_power = {
					who = defender
					power >= 1.2
				}
			}
		}

		mult_modifier = {
			factor = 0.85

			attacker = {
				relative_power = {
					who = defender
					power >= 1.5
				}
			}
		}

		mult_modifier = {
			factor = 0.8

			attacker = {
				relative_power = {
					who = defender
					power >= 2.0
				}
			}
		}

		mult_modifier = {
			factor = 0.8

			attacker = {
				relative_power = {
					who = defender
					power >= 2.5
				}
			}
		}

		mult_modifier = {
			factor = 0.8

			attacker = {
				relative_power = {
					who = defender
					power >= 3
				}
			}
		}

		mult_modifier = {
			factor = 0.75

			attacker = {
				relative_power = {
					who = defender
					power >= 4
				}
			}
		}

		mult_modifier = {
			factor = 0.75

			attacker = {
				relative_power = {
					who = defender
					power >= 5
				}
			}
		}

		mult_modifier = {
			factor = 0.75

			attacker = {
				relative_power = {
					who = defender
					power >= 6
				}
			}
		}

		mult_modifier = {
			factor = 0.5

			attacker = {
				relative_power = {
					who = defender
					power >= 8
				}
			}
		}

		mult_modifier = {
			factor = 0.25

			attacker = {
				relative_power = {
					who = defender
					power >= 10
				}
			}
		}

		mult_modifier = {
			factor = 2

			attacker = {
				distance_from_realm = {
					who = defender
					value >= 20
				}
			}
		}

		mult_modifier = {
			factor = 2

			attacker = {
				distance_from_realm = {
					who = defender
					value >= 40
				}
			}
		}

		mult_modifier = {
			factor = 3

			attacker = {
				distance_from_realm = {
					who = defender
					value >= 80
				}
			}
		}

		mult_modifier = {
			factor = 4

			attacker = {
				distance_from_realm = {
					who = defender
					value >= 120
				}
			}
		}
	}

	ai_will_do = {
		factor = 0 # Player Only
	}
}