﻿# Read-only helper for the Marriage Diplomacy Overview event.
# this = the human ruler. Picks the highest-ranked still-valid ruler from nmt_partners_v2
# (then from nmt_pending_partners_v2) that has not been picked yet and saves it as
# scope:nmt_view_<N>, plus the couple that links the player to it. Changes nothing else.
nmt_overview_slot_effect = {
	ordered_in_list = {
		variable = nmt_partners_v2
		limit = {
			nmt_valid_truce_pair_trigger = { PLAYER = root }
			NOT = { is_in_list = nmt_view_taken }
		}
		order_by = primary_title.tier
		max = 1
		save_scope_as = nmt_view_$N$
		add_to_temporary_list = nmt_view_taken
	}
	# Once every handled ruler is shown, list rulers still waiting for a choice.
	if = {
		limit = {
			NOT = { exists = scope:nmt_view_$N$ }
			has_variable_list = nmt_pending_partners_v2
		}
		ordered_in_list = {
			variable = nmt_pending_partners_v2
			limit = {
				nmt_valid_truce_pair_trigger = { PLAYER = root }
				NOT = { is_in_list = nmt_view_taken }
			}
			order_by = primary_title.tier
			max = 1
			save_scope_as = nmt_view_$N$
			add_to_temporary_list = nmt_view_taken
		}
	}
	if = {
		limit = { exists = scope:nmt_view_$N$ }
		nmt_overview_couple_effect = { N = $N$ }
		every_close_family_member = {
			nmt_overview_couple_effect = { N = $N$ }
		}
	}
}

# this = the player or a close relative. Saves the first couple linking them to the
# ruler in slot N as scope:nmt_view_<N>_mine / _partner, and a second partner (if any)
# as scope:nmt_view_<N>_other. Changes nothing else.
nmt_overview_couple_effect = {
	save_scope_as = nmt_view_couple_side
	every_spouse = {
		limit = { nmt_partner_tied_to_trigger = { RULER = scope:nmt_view_$N$ } }
		nmt_overview_note_partner_effect = { N = $N$ }
	}
	if = {
		limit = { is_betrothed = yes }
		betrothed = {
			if = {
				limit = { nmt_partner_tied_to_trigger = { RULER = scope:nmt_view_$N$ } }
				nmt_overview_note_partner_effect = { N = $N$ }
			}
		}
	}
}

# this = a partner tied to the ruler in slot N; scope:nmt_view_couple_side = their spouse or betrothed.
nmt_overview_note_partner_effect = {
	if = {
		limit = { NOT = { exists = scope:nmt_view_$N$_partner } }
		save_scope_as = nmt_view_$N$_partner
		scope:nmt_view_couple_side = { save_scope_as = nmt_view_$N$_mine }
	}
	else_if = {
		limit = {
			NOT = { exists = scope:nmt_view_$N$_other }
			NOT = { this = scope:nmt_view_$N$_partner }
		}
		save_scope_as = nmt_view_$N$_other
	}
}
