﻿ward_depart_effect = {
	scope:guardian = { add_to_list = toast_list }
	scope:ward = { add_to_list = toast_list }
	scope:guardian_liege = { add_to_list = toast_list }
	scope:ward_liege = { add_to_list = toast_list }
	# Set variables
	scope:ward = {
		set_variable = {
			name = character_making_education_request
			value = scope:actor
			years = 10
		}
		# Remove existing guardian if relevant
		if = {
			limit = {
				exists = scope:offer_guardianship_interaction
				any_relation = { type = guardian }
			}
			random_relation = {
				type = guardian
				save_scope_as = guardian_to_remove
			}
			remove_guardian_effect = {
				GUARDIAN = scope:guardian_to_remove
				WARD = scope:ward
				RETURN_WARD = no
				HIDE_OPINION = no
			}
		}
		remove_character_flag = under_offer_as_ward_flag
	}
	if = { # No travel necessary
		limit = {
			OR = {
				scope:ward = scope:guardian.host
				scope:guardian = scope:ward.host
				scope:ward.host = scope:guardian.host
				#allow landed ruler to landed ruler education
				AND = {
					scope:ward = {
						is_landed_or_landless_administrative = yes
					}
					scope:guardian = {
						is_landed_or_landless_administrative = yes
					}
				}
			}
		}
		hidden_effect = { #to prevent doubling of "becomes guardian of x" effect in the interaction confirmation window
			if = {
				limit = {
					NOT = {
						scope:guardian = { has_relation_ward = scope:ward }
					}
				}
				scope:guardian = { set_relation_ward = scope:ward }
			}
		}
		#Opinions
		guardian_add_opinion_effect = {
			GUARDIAN = scope:guardian
			WARD_LIEGE = scope:ward_liege
			WARD = scope:ward
		}
		# Convert culture setup
		scope:ward = {
			if = {
				limit = { has_character_flag = convert_culture }
				scope:guardian = {
					add_relation_flag = {
						relation = ward
						target = scope:ward
						flag = convert_culture
					}
				}
				remove_character_flag = convert_culture
			}
			# Convert faith setup
			if = {
				limit = { has_character_flag = convert_faith }
				scope:guardian = {
					add_relation_flag = {
						relation = ward
						target = scope:ward
						flag = convert_faith
					}
				}
				remove_character_flag = convert_faith
			}
		}
	}
	else = {
		if = { # Guardian heads to landed Ward
			limit = {
				scope:ward = { is_playable_character = yes }
			}
			scope:guardian = {
				set_variable = {
					name = guardian_travelling_to_ward
					years = 2
					value = scope:ward
				}
				start_travel_plan = {
					destination = scope:ward.capital_province
					on_start_on_action = on_guardian_depart_for_ward
					on_travel_planner_cancel_on_action = on_guardian_depart_travel_planner_exit
					on_arrival_on_action = on_guardian_arrive_at_ward
					on_arrival_destinations = last
					return_trip = no # One way
				}
			}
			hidden_effect = {
				every_in_list = {
					list = toast_list
					send_interface_toast = {
						title = guardian_departs_title
						left_icon = scope:guardian
						right_icon = scope:ward
						custom_tooltip = guardian_departs_tt
					}
				}
			}
			custom_tooltip = guardian_leaves_for_ward_tt
			scope:ward = {
				set_variable = {
					name = ward_waiting_for_guardian
					years = 2
					value = scope:guardian
				}
			}
		}
		else_if = {
			limit = {
				scope:guardian_liege = {
					exists = current_travel_plan
					var:ttd_far_off_host ?= scope:ward_liege
					scope:ward = {
						is_ruler = no
						is_available = yes
					}
				}
			}
			scope:guardian_liege = {
				current_travel_plan = {
					add_companion = scope:ward
				}
			}
			if = {
				limit = {
					exists = scope:guardian.host
					NOT = { host = scope:guardian.host }
				}
				visit_court_of = scope:guardian.host
			}
			else_if = {
				limit = {
					exists = scope:guardian.liege
					NOT = { host = scope:guardian.liege }
				}
				visit_court_of = scope:guardian.liege
			}
			# Set relation
			set_relation_guardian = scope:guardian
			# Opinion
			guardian_add_opinion_effect = {
				GUARDIAN = scope:guardian
				WARD_LIEGE = scope:ward_liege
				WARD = scope:ward
			}
			# Convert culture setup
			scope:ward = {
				if = {
					limit = { has_character_flag = convert_culture }
					scope:guardian = {
						add_relation_flag = {
							relation = ward
							target = scope:ward
							flag = convert_culture
						}
					}
					remove_character_flag = convert_culture
				}
				# Convert faith setup
				if = {
					limit = { has_character_flag = convert_faith }
					scope:guardian = {
						add_relation_flag = {
							relation = ward
							target = scope:ward
							flag = convert_faith
						}
					}
					remove_character_flag = convert_faith
				}
			}
		}
		else = {
			scope:ward = {
				if = {
					limit = { # Ward heads to landed Guardian
						is_playable_character = no
						scope:guardian = { is_playable_character = yes }
						scope:guardian != host
					}
					scope:guardian.capital_province = { save_scope_as = destination_province }
				}
				else_if = { # Ward heads to Guardian's host
					limit = { exists = scope:guardian.host.capital_province }
					scope:guardian.host.capital_province = { save_scope_as = destination_province }
				}
				else = {
					scope:guardian.location = { save_scope_as = destination_province }
				}
				set_variable = {
					name = ward_travelling_to_guardian
					years = 2
					value = scope:guardian
				}
				start_travel_plan = {
					destination = scope:destination_province
					on_start_on_action = on_ward_depart_for_guardian
					on_travel_planner_cancel_on_action = on_ward_depart_travel_planner_exit
					on_arrival_on_action = on_ward_arrive_at_guardian
					on_arrival_destinations = last
					return_trip = no # One way
				}
			}
			hidden_effect = {
				every_in_list = {
					list = toast_list
					send_interface_toast = {
						title = ward_departs_title
						left_icon = scope:ward
						right_icon = scope:guardian
						custom_tooltip = ward_departs_tt
					}
				}
			}
			custom_tooltip = ward_leaves_for_guardian_tt
			scope:guardian = {
				set_variable = {
					name = guardian_waiting_for_ward
					years = 2
					value = scope:ward
				}
			}
		}
	}
}