﻿namespace = peace_deals_expanded

# Annual hidden cash payment. ROOT is the payer; the amount was fixed when the
# peace treaty was signed and may drive the payer into ordinary CK3 debt.
peace_deals_expanded.0100 = {
	type = character_event
	hidden = yes

	immediate = {
		if = {
			limit = {
				has_variable = pde_tribute_receiver
				has_variable = pde_tribute_years
				has_variable = pde_tribute_annual_amount
				var:pde_tribute_years > 0
				var:pde_tribute_receiver = { is_alive = yes }
			}
			pay_short_term_gold = {
				target = var:pde_tribute_receiver
				gold = var:pde_tribute_annual_amount
			}
			change_variable = { name = pde_tribute_years subtract = 1 }
			if = {
				limit = { var:pde_tribute_years > 0 }
				trigger_event = { id = peace_deals_expanded.0100 years = 1 }
			}
			else = { pde_end_money_tribute_effect = yes }
		}
		else = { pde_end_money_tribute_effect = yes }
	}
}

# A human opponent receives a normal accept/reject event. AI acceptance is
# resolved directly from the balance shown in the negotiation panel.
peace_deals_expanded.0200 = {
	type = character_event
	title = pde_treaty_offer_event_title
	desc = {
		desc = pde_treaty_offer_event_desc
		triggered_desc = { trigger = { scope:pde_event_proposer = { pde_treaty_net_value >= 3 } } desc = pde_treaty_offer_event_outcome_proposer_victory }
		triggered_desc = { trigger = { scope:pde_event_proposer = { pde_treaty_net_value <= -3 } } desc = pde_treaty_offer_event_outcome_recipient_victory }
		triggered_desc = { trigger = { scope:pde_event_proposer = { pde_treaty_net_value > -3 pde_treaty_net_value < 3 } } desc = pde_treaty_offer_event_outcome_white_peace }
		triggered_desc = { trigger = { scope:pde_event_proposer = { pde_offer_county_count_value > 0 } } desc = pde_treaty_offer_event_offer_land }
		triggered_desc = { trigger = { scope:pde_event_proposer = { pde_demand_county_count_value > 0 } } desc = pde_treaty_offer_event_demand_land }
		triggered_desc = { trigger = { scope:pde_event_proposer = { has_variable = pde_offer_gold var:pde_offer_gold > 0 } } desc = pde_treaty_offer_event_offer_gold }
		triggered_desc = { trigger = { scope:pde_event_proposer = { has_variable = pde_demand_gold var:pde_demand_gold > 0 } } desc = pde_treaty_offer_event_demand_gold }
		triggered_desc = { trigger = { scope:pde_event_proposer = { has_variable = pde_offer_herd var:pde_offer_herd > 0 } } desc = pde_treaty_offer_event_offer_herd }
		triggered_desc = { trigger = { scope:pde_event_proposer = { has_variable = pde_demand_herd var:pde_demand_herd > 0 } } desc = pde_treaty_offer_event_demand_herd }
		triggered_desc = { trigger = { scope:pde_event_proposer = { has_variable = pde_offer_tribute } } desc = pde_treaty_offer_event_offer_tribute }
		triggered_desc = { trigger = { scope:pde_event_proposer = { has_variable = pde_demand_tribute } } desc = pde_treaty_offer_event_demand_tribute }
		triggered_desc = { trigger = { scope:pde_event_proposer = { has_variable = pde_offer_suzerainty } } desc = pde_treaty_offer_event_offer_suzerainty }
		triggered_desc = { trigger = { scope:pde_event_proposer = { has_variable = pde_demand_suzerainty } } desc = pde_treaty_offer_event_demand_suzerainty }
		triggered_desc = { trigger = { scope:pde_event_proposer = { has_variable = pde_offer_claims } } desc = pde_treaty_offer_event_offer_claims }
		triggered_desc = { trigger = { scope:pde_event_proposer = { has_variable = pde_demand_claims } } desc = pde_treaty_offer_event_demand_claims }
		triggered_desc = { trigger = { scope:pde_event_proposer = { has_variable = pde_offer_hostage } } desc = pde_treaty_offer_event_offer_hostage }
		triggered_desc = { trigger = { scope:pde_event_proposer = { has_variable = pde_demand_hostage } } desc = pde_treaty_offer_event_demand_hostage }
		triggered_desc = { trigger = { scope:pde_event_proposer = { has_variable = pde_offer_break_alliances } } desc = pde_treaty_offer_event_offer_alliances }
		triggered_desc = { trigger = { scope:pde_event_proposer = { has_variable = pde_demand_break_alliances } } desc = pde_treaty_offer_event_demand_alliances }
		triggered_desc = { trigger = { scope:pde_event_proposer = { has_variable = pde_offer_humiliation } } desc = pde_treaty_offer_event_offer_humiliation }
		triggered_desc = { trigger = { scope:pde_event_proposer = { has_variable = pde_demand_humiliation } } desc = pde_treaty_offer_event_demand_humiliation }
		triggered_desc = { trigger = { scope:pde_event_proposer = { has_variable = pde_offer_prisoner_release } } desc = pde_treaty_offer_event_offer_prisoners }
		triggered_desc = { trigger = { scope:pde_event_proposer = { has_variable = pde_demand_prisoner_release } } desc = pde_treaty_offer_event_demand_prisoners }
		triggered_desc = { trigger = { scope:pde_event_proposer = { has_variable = pde_offer_conversion } } desc = pde_treaty_offer_event_offer_conversion }
		triggered_desc = { trigger = { scope:pde_event_proposer = { has_variable = pde_demand_conversion } } desc = pde_treaty_offer_event_demand_conversion }
		triggered_desc = { trigger = { scope:pde_event_proposer = { has_variable = pde_offer_disarmament } } desc = pde_treaty_offer_event_offer_disarmament }
		triggered_desc = { trigger = { scope:pde_event_proposer = { has_variable = pde_demand_disarmament } } desc = pde_treaty_offer_event_demand_disarmament }
		triggered_desc = { trigger = { scope:pde_event_proposer = { has_variable = pde_forced_alliance } } desc = pde_treaty_offer_event_alliance }
		triggered_desc = { trigger = { scope:pde_event_proposer = { has_variable = pde_long_truce } } desc = pde_treaty_offer_event_truce }
		triggered_desc = { trigger = { scope:pde_event_proposer = { has_variable = pde_extended_truce } } desc = pde_treaty_offer_event_extended_truce }
	}
	theme = diplomacy_family_focus

	trigger = {
		exists = var:pde_pending_treaty_proposer
		var:pde_pending_treaty_proposer = {
			exists = var:pde_treaty_war
			exists = var:pde_treaty_opponent
			var:pde_treaty_opponent = root
			pde_has_any_treaty_clause_trigger = yes
			var:pde_treaty_war = {
				OR = {
					AND = { primary_attacker = prev primary_defender = root }
					AND = { primary_defender = prev primary_attacker = root }
				}
			}
		}
	}

	immediate = {
		var:pde_pending_treaty_proposer = { save_scope_as = pde_event_proposer }
	}

	option = {
		name = pde_accept_treaty
		remove_variable = pde_pending_treaty_proposer
		scope:pde_event_proposer = {
			trigger_event = { id = peace_deals_expanded.0202 }
		}
	}

	option = {
		name = pde_reject_treaty
		var:pde_pending_treaty_proposer = {
			remove_variable = pde_treaty_locked
			add_character_modifier = { modifier = pde_rebuffed_negotiator_modifier months = 6 }
		}
		remove_variable = pde_pending_treaty_proposer
	}
}

# Form the negotiated alliance after the war result has fully resolved. Vanilla's
# negotiated-alliance opinion marker gives the direct ruler-to-ruler bond the
# same support used by CK3's own diplomatic interaction.
peace_deals_expanded.0301 = {
	type = character_event
	hidden = yes

	immediate = {
		if = {
			limit = {
				exists = scope:pde_opponent
				is_alive = yes
				is_independent_ruler = yes
				scope:pde_opponent = {
					is_alive = yes
					is_independent_ruler = yes
				}
				NOT = { is_allied_to = scope:pde_opponent }
			}
			scope:pde_opponent = {
				add_opinion = {
					target = root
					modifier = event_negotiated_alliance_opinion
				}
			}
			create_alliance = {
				target = scope:pde_opponent
				allied_through_owner = root
				allied_through_target = scope:pde_opponent
			}
			trigger_event = { id = peace_deals_expanded.0300 years = 10 }
		}
	}
}
# The bilateral alliance clause expires after ten years. The opponent scope is
# carried by the delayed event context created when the treaty is executed.
peace_deals_expanded.0300 = {
	type = character_event
	hidden = yes

	immediate = {
		if = {
			limit = {
				exists = scope:pde_opponent
				is_allied_to = scope:pde_opponent
			}
			every_ally = {
				limit = { this = scope:pde_opponent }
				break_alliance = root
			}
		}
	}
}
