﻿# Scope: Title - Title from which to unbind and destroy its VT, if any.
CTFA_unbind_and_destroy_vanity_title = {
	if = {
		limit = {
			has_variable = CTFA_bound_vanity_title
		}

		if = {
			limit = {
				exists = var:CTFA_bound_vanity_title.holder
			}

			var:CTFA_bound_vanity_title = {
				assert_if = {
					limit = { NOT = { holder = PREV.holder } }

					text = "bound VT must have the same holder as the title it's bound to"
				}

				CTFA_try_destroy_title = yes
			}
		}

		remove_variable = CTFA_bound_vanity_title
	}
}

# Scope:        Title - Title to bind to (should generally be someone's primary)
# VANITY_TITLE: Title - Vanity Title to bind
CTFA_bind_vanity_title = {
	CTFA_unbind_and_destroy_vanity_title = yes

	set_variable = {
		name = CTFA_bound_vanity_title
		value = $VANITY_TITLE$
	}

	$VANITY_TITLE$ = {
		CTFA_try_destroy_title = yes

		set_variable = {
			name = CTFA_bound_primary_title
			value = PREV
		}

		CTFA_give_vanity_title = {
			TARGET_CHARACTER = PREV.holder
			CHANGE_TYPE = created
		}
	}
}
