﻿riseandfall_switch_sides_interaction = {
	category = interaction_riseandfall
	common_interaction = yes
	ai_min_reply_days = 4
	ai_max_reply_days = 9
	interface_priority = 72
	icon = icon_riseandfall
	popup_on_receive = yes
	greeting = negative

	send_name = riseandfall_switch_sides_interaction
	desc = riseandfall_switch_sides_interaction_desc
	notification_text = riseandfall_switch_sides_interaction_notification

	is_shown = {
		riseandfall_can_switch_successor_sides_trigger = yes
	}

	is_valid_showing_failures_only = {
		riseandfall_can_switch_successor_sides_trigger = yes
	}

	auto_accept = no

	on_accept = {
		if = {
			limit = { riseandfall_can_switch_successor_sides_trigger = yes }
			riseandfall_realm_split_defect_to_recipient_se = yes
		}
	}

	cooldown = { months = 6 }
	cooldown_against_recipient = { years = 1 }
	ai_frequency = 3
	ai_potential = {
		exists = this
		is_alive = yes
	}

	ai_targets = {
		ai_recipients = neighboring_top_overlords_including_tributary_borders
		max = 8
	}

	ai_accept = {
		base = 40

		modifier = {
			scope:recipient = {
				primary_title.tier < scope:actor.primary_title.tier
			}
			scope:actor = {
				NOT = { riseandfall_can_demote_successor_primary_below_recipient_trigger = yes }
			}
			add = -1000
		}
		modifier = {
			scope:actor = { riseandfall_can_demote_successor_primary_below_recipient_trigger = yes }
			add = -20
		}
		modifier = {
			scope:actor = {
				riseandfall_can_demote_successor_primary_below_recipient_trigger = yes
				primary_title = { is_titular = no }
			}
			add = -60
		}
		modifier = {
			scope:actor.liege = { riseandfall_has_successor_primary_title_trigger = yes }
			scope:recipient = {
				has_title = scope:actor.liege.primary_title.var:rf_successor_root_origin_title
			}
			add = 1000
		}
		modifier = { scope:actor = { has_same_culture_as = scope:recipient } add = 15 }
		modifier = { scope:actor.faith = { this = scope:recipient.faith } add = 20 }
		modifier = { scope:recipient = { is_allied_to = scope:actor } add = 20 }
		modifier = {
			scope:actor = {
				primary_title = { is_neighbor_to_realm = scope:recipient }
			}
			add = 40
		}
		modifier = {
			scope:actor = {
				NOT = { primary_title = { is_neighbor_to_realm = scope:recipient } }
			}
			add = -40
		}
		modifier = {
			scope:actor = {
				capital_county.kingdom = scope:recipient.capital_county.kingdom
			}
			add = 25
		}
		modifier = {
			scope:actor.liege = {
				has_variable = riseandfall_realm_stability_score
				NOT = { var:riseandfall_realm_stability_score >= 40 }
			}
			add = 20
		}
		modifier = {
			scope:actor = {
				current_military_strength > {
					value = scope:recipient.current_military_strength
					multiply = 0.25
				}
				current_military_strength < scope:recipient.current_military_strength
			}
			add = 20
		}
		modifier = { scope:actor = { current_military_strength > scope:recipient.current_military_strength } add = -30 }
		modifier = { scope:actor = { current_military_strength > scope:actor.liege.current_military_strength } add = 10 }
		modifier = { scope:actor = { has_trait = deceitful } add = -10 }
		modifier = { scope:actor = { has_trait = fickle } add = -15 }
		modifier = { scope:actor = { has_trait = disloyal } add = -20 }
		modifier = { scope:recipient = { has_relation_rival = scope:actor } add = -100 }
		modifier = { scope:recipient = { has_relation_nemesis = scope:actor } add = -200 }
	}

	ai_will_do = {
		base = -150

		modifier = {
			scope:recipient = {
				primary_title.tier < scope:actor.primary_title.tier
			}
			scope:actor = {
				NOT = { riseandfall_can_demote_successor_primary_below_recipient_trigger = yes }
			}
			add = -1000
		}
		modifier = {
			scope:actor = { riseandfall_can_demote_successor_primary_below_recipient_trigger = yes }
			add = -35
		}
		modifier = {
			scope:actor = {
				riseandfall_can_demote_successor_primary_below_recipient_trigger = yes
				primary_title = { is_titular = no }
			}
			add = -90
		}
		modifier = {
			scope:actor = {
				primary_title = { is_neighbor_to_realm = scope:recipient }
			}
			add = 20
		}
		modifier = {
			scope:actor = {
				NOT = { primary_title = { is_neighbor_to_realm = scope:recipient } }
			}
			add = -50
		}
		modifier = {
			# Detached vassals seek a successor whose realm can reconnect them to government.
			scope:actor = {
				capital_county = {
					NOT = {
						is_connected_to = {
							target = scope:actor.liege.capital_county
						}
					}
				}
			}
			add = 50
		}
		modifier = {
			scope:actor = {
				capital_county.kingdom = scope:recipient.capital_county.kingdom
			}
			add = 10
		}
		modifier = { scope:actor = { opinion = { target = scope:actor.liege value < 0 } } add = 15 }
		modifier = { scope:actor = { opinion = { target = scope:actor.liege value <= -25 } } add = 15 }
		modifier = { scope:actor = { opinion = { target = scope:actor.liege value <= -50 } } add = 20 }
		modifier = { scope:actor = { opinion = { target = scope:actor.liege value <= -75 } } add = 20 }
		modifier = { scope:actor.liege = { opinion = { target = scope:actor value < 0 } } add = 10 }
		modifier = { scope:actor.liege = { opinion = { target = scope:actor value <= -50 } } add = 20 }
		modifier = {
			scope:actor.liege = {
				has_variable = riseandfall_realm_stability_score
				NOT = { var:riseandfall_realm_stability_score >= 40 }
			}
			add = 15
		}
		modifier = {
			scope:actor.liege = {
				has_variable = riseandfall_realm_stability_score
				NOT = { var:riseandfall_realm_stability_score >= 20 }
			}
			add = 25
		}
		modifier = {
			scope:actor.liege = {
				has_variable = riseandfall_realm_stability_score
				NOT = { var:riseandfall_realm_stability_score >= 10 }
			}
			add = 30
		}
		modifier = {
			scope:recipient = {
				has_variable = riseandfall_realm_stability_score
				var:riseandfall_realm_stability_score >= 55
			}
			add = 10
		}
		modifier = {
			scope:recipient = {
				has_variable = riseandfall_realm_stability_score
				var:riseandfall_realm_stability_score >= 80
			}
			add = 15
		}
		modifier = { scope:recipient = { current_military_strength > scope:actor.liege.current_military_strength } add = 20 }
		modifier = {
			scope:recipient = {
				current_military_strength > {
					value = scope:actor.liege.current_military_strength
					multiply = 2
				}
			}
			add = 20
		}
		modifier = { scope:actor.liege = { current_military_strength > scope:recipient.current_military_strength } add = -30 }
		modifier = { scope:actor = { has_same_culture_as = scope:recipient } add = 10 }
		modifier = { scope:actor.faith = { this = scope:recipient.faith } add = 10 }
		modifier = { scope:recipient = { opinion = { target = scope:actor value < 0 } } add = -50 }
		modifier = { scope:actor = { opinion = { target = scope:recipient value > 50 } } add = 15 }
		modifier = { scope:actor = { is_allied_to = scope:actor.liege } add = -100 }
		modifier = { scope:actor = { has_relation_friend = scope:actor.liege } add = -50 }
		modifier = { scope:actor = { has_relation_best_friend = scope:actor.liege } add = -100 }
		modifier = { scope:actor = { is_close_family_of = scope:actor.liege } add = -50 }
		modifier = { scope:actor = { has_trait = ambitious } add = 15 }
		modifier = { scope:actor = { has_trait = deceitful } add = 15 }
		modifier = { scope:actor = { has_trait = arbitrary } add = 10 }
		modifier = { scope:actor = { has_trait = disloyal } add = 30 }
		modifier = { scope:actor = { has_trait = fickle } add = 15 }
		modifier = { scope:actor = { has_trait = paranoid } add = 10 }
		modifier = { scope:actor = { has_trait = craven } add = 10 }
		modifier = { scope:actor = { has_trait = content } add = -40 }
		modifier = { scope:actor = { has_trait = honest } add = -20 }
		modifier = { scope:actor = { has_trait = just } add = -15 }
		modifier = { scope:actor = { has_trait = loyal } add = -50 }
	}
}

riseandfall_surrender_to_successor_interaction = {
	category = interaction_riseandfall
	common_interaction = yes
	ai_min_reply_days = 4
	ai_max_reply_days = 9
	interface_priority = 71
	icon = icon_riseandfall
	popup_on_receive = yes
	greeting = positive

	send_name = riseandfall_surrender_to_successor_interaction
	desc = riseandfall_surrender_to_successor_interaction_desc
	notification_text = riseandfall_surrender_to_successor_interaction_notification

	is_shown = {
		riseandfall_can_surrender_successor_realm_trigger = yes
	}

	is_valid_showing_failures_only = {
		riseandfall_can_surrender_successor_realm_trigger = yes
		# A realm already committed to a war cannot change allegiance through surrender.
		scope:actor = { is_at_war = no }
	}

	auto_accept = no

	on_accept = {
		if = {
			limit = {
				riseandfall_can_surrender_successor_realm_trigger = yes
				# Recheck after the reply delay in case the submitting ruler entered a war.
				scope:actor = { is_at_war = no }
			}
			riseandfall_realm_split_surrender_to_recipient_se = yes
		}
	}

	cooldown = { months = 6 }
	cooldown_against_recipient = { years = 1 }
	ai_frequency = 3
	ai_potential = { exists = this is_alive = yes }

	ai_targets = {
		ai_recipients = neighboring_rulers_including_tributary_borders
		max = 10
	}

	ai_accept = {
		base = 100

		modifier = {
			scope:recipient = {
				primary_title.tier < scope:actor.primary_title.tier
			}
			scope:actor = {
				NOT = { riseandfall_can_demote_successor_primary_below_recipient_trigger = yes }
			}
			add = -1000
		}
		modifier = {
			scope:actor = { riseandfall_can_demote_successor_primary_below_recipient_trigger = yes }
			add = -20
		}
		modifier = {
			scope:actor = {
				riseandfall_can_demote_successor_primary_below_recipient_trigger = yes
				primary_title = { is_titular = no }
			}
			add = -60
		}
		modifier = {
			scope:actor = {
				primary_title = { is_neighbor_to_realm = scope:recipient }
			}
			add = 50
		}
		modifier = {
			scope:actor = {
				capital_county.kingdom = scope:recipient.capital_county.kingdom
			}
			add = 25
		}
		modifier = {
			scope:recipient = {
				has_title = scope:actor.primary_title.var:rf_successor_root_origin_title
			}
			add = 50
		}
		modifier = { scope:actor = { has_same_culture_as = scope:recipient } add = 20 }
		modifier = { scope:actor.faith = { this = scope:recipient.faith } add = 20 }
		modifier = { scope:actor = { current_military_strength > scope:recipient.current_military_strength } add = -40 }
		modifier = { scope:recipient = { has_relation_rival = scope:actor } add = -100 }
		modifier = { scope:recipient = { has_relation_nemesis = scope:actor } add = -200 }
	}

	ai_will_do = {
		base = -100

		modifier = {
			scope:recipient = {
				primary_title.tier < scope:actor.primary_title.tier
			}
			scope:actor = {
				NOT = { riseandfall_can_demote_successor_primary_below_recipient_trigger = yes }
			}
			add = -1000
		}
		modifier = {
			scope:actor = { riseandfall_can_demote_successor_primary_below_recipient_trigger = yes }
			add = -35
		}
		modifier = {
			scope:actor = {
				riseandfall_can_demote_successor_primary_below_recipient_trigger = yes
				primary_title = { is_titular = no }
			}
			add = -90
		}
		modifier = {
			scope:actor = {
				has_variable = riseandfall_realm_stability_score
				NOT = { var:riseandfall_realm_stability_score >= 35 }
			}
			add = 20
		}
		modifier = {
			scope:actor = {
				has_variable = riseandfall_realm_stability_score
				NOT = { var:riseandfall_realm_stability_score >= 20 }
			}
			add = 30
		}
		modifier = {
			scope:actor = {
				has_variable = riseandfall_realm_stability_score
				NOT = { var:riseandfall_realm_stability_score >= 10 }
			}
			add = 40
		}
		modifier = {
			scope:actor = {
				primary_title = { is_neighbor_to_realm = scope:recipient }
			}
			add = 20
		}
		modifier = {
			scope:actor = {
				NOT = { primary_title = { is_neighbor_to_realm = scope:recipient } }
			}
			add = -50
		}
		modifier = {
			scope:actor = {
				capital_county.kingdom = scope:recipient.capital_county.kingdom
			}
			add = 10
		}
		modifier = {
			scope:recipient = {
				has_title = scope:actor.primary_title.var:rf_successor_root_origin_title
			}
			add = 30
		}
		modifier = { scope:recipient = { current_military_strength > scope:actor.current_military_strength } add = 20 }
		modifier = {
			scope:recipient = {
				current_military_strength > {
					value = scope:actor.current_military_strength
					multiply = 2
				}
			}
			add = 30
		}
		modifier = {
			scope:recipient = {
				current_military_strength > {
					value = scope:actor.current_military_strength
					multiply = 3
				}
			}
			add = 40
		}
		modifier = {
			# Successors facing overwhelming force should look for terms instead of waiting for certain defeat.
			scope:recipient = {
				current_military_strength > {
					value = scope:actor.current_military_strength
					multiply = 5
				}
			}
			add = 30
		}
		modifier = { scope:actor = { current_military_strength > scope:recipient.current_military_strength } add = -50 }
		modifier = {
			# Compare realm size against the recipient instead of using fixed county counts, so total-conversion maps scale cleanly.
			scope:recipient = {
				realm_size > scope:actor.realm_size
			}
			add = 15
		}
		modifier = {
			scope:recipient = {
				realm_size > {
					value = scope:actor.realm_size
					multiply = 3
				}
			}
			add = 25
		}
		modifier = {
			scope:recipient = {
				has_variable = riseandfall_realm_stability_score
				var:riseandfall_realm_stability_score >= 55
			}
			add = 15
		}
		modifier = {
			scope:recipient = {
				has_variable = riseandfall_realm_stability_score
				NOT = { var:riseandfall_realm_stability_score >= 35 }
			}
			add = -30
		}
		modifier = { scope:actor = { is_in_debt = yes } add = 25 }
		modifier = { scope:actor = { is_at_war = yes } add = 20 }
		modifier = { scope:actor = { opinion = { target = scope:recipient value >= 25 } } add = 15 }
		modifier = { scope:actor = { opinion = { target = scope:recipient value >= 50 } } add = 20 }
		modifier = { scope:actor = { opinion = { target = scope:recipient value <= -25 } } add = -30 }
		modifier = { scope:actor = { opinion = { target = scope:recipient value <= -50 } } add = -50 }
		modifier = { scope:recipient = { has_relation_rival = scope:actor } add = -60 }
		modifier = { scope:recipient = { has_relation_nemesis = scope:actor } add = -100 }
		modifier = { scope:actor = { is_allied_to = scope:recipient } add = 30 }
		modifier = { scope:actor = { has_relation_friend = scope:recipient } add = 20 }
		modifier = { scope:actor = { has_relation_best_friend = scope:recipient } add = 30 }
		modifier = { scope:actor = { has_same_culture_as = scope:recipient } add = 10 }
		modifier = { scope:actor.faith = { this = scope:recipient.faith } add = 10 }
		modifier = { scope:actor = { has_trait = craven } add = 40 }
		modifier = { scope:actor = { has_trait = content } add = 15 }
		modifier = { scope:actor = { has_trait = humble } add = 10 }
		modifier = { scope:actor = { has_trait = brave } add = -40 }
		modifier = { scope:actor = { has_trait = ambitious } add = -30 }
		modifier = { scope:actor = { has_trait = arrogant } add = -25 }
		modifier = { scope:actor = { has_trait = stubborn } add = -40 }
	}
}
