﻿#Completed a travel plan (arrived at final destination, or was completed mid-travel)

namespace = travel_completion_event

############################
## Travel Completion Events
## 1000-3999
## by a Mysterious Unknown
############################
# travel_completion_event.1000 - Generic completion
#
#

#Generic completion
travel_completion_event.1000 = {
	type = character_event
	title = travel_completion_event.1000.t
	desc = {
		# are we home or somewhere abroad?
		first_valid = {
			triggered_desc = {
				trigger = {
					is_landed_or_landless_administrative_or_theocratic = yes
					location = root.default_location
				}
				desc = travel_completion_event.1000.desc.home
			}
			# Travelers: Mention reaching final destination only for vanilla travel
			triggered_desc = {
				trigger = {
					NOR = {
						has_variable = travl_travel_receiver
						has_variable = travl_suppress_events
					}
				}
				desc = travel_completion_event.1000.desc.abroad
			}
			# Travelers: Add desc for aborted travel
			desc = travel_completion_event.1000.desc.aborted
		}
		# do we have an activity to talk about?
		first_valid = {
			triggered_desc = {
				trigger = { exists = involved_activity }
				desc = travel_completion_event.1000.desc.activity
			}
			triggered_desc = {
				trigger = { has_character_flag = recently_completed_mandala_contract }
				desc = travel_completion_event.1000.desc.mandala_contract
			}
			desc = travel_completion_event.1000.desc.no_activity
		}
		# travel stats
		first_valid = {
			triggered_desc = {
				trigger = {
					exists = current_travel_plan.var:travel_plan_start_date
					exists = current_travel_plan.travel_leader
				}
				desc = travel_completion_event.1000.stats.travel_leader
			}
			triggered_desc = {
				trigger = {
					exists = current_travel_plan.var:travel_plan_start_date
				}
				desc = travel_completion_event.1000.stats
			}
		}
		# cultural ambassador loc
		triggered_desc = {
			trigger = {
				current_travel_plan = {
					has_travel_option = cultural_ambassador_option
				}
			}
			desc = travel_completion_event.1000.desc.cultural_ambassador
		}
		# memory loc
		triggered_desc = {
			trigger = { exists = scope:travel_conc_memory }
			desc = travel_completion_event.1000.desc.memory
		}
	}
	theme = realm
	override_background = { reference = terrain }
	override_icon = {
		trigger = { always = yes }
		reference = "gfx/interface/icons/event_types/type_travel_stewardship.dds"
	}
	left_portrait = {
		character = root
		animation = holding_staff
	}
	right_portrait = {
		character = scope:travel_leader_scope
		animation = personality_honorable
	}

	trigger = {
		is_available_travelling = yes
		is_landed = yes
		is_travelling = yes
		NOT = {
			involved_activity ?= {
				has_activity_type = activity_tour
			}
		}
		# Travelers: Ensure this event fires also for aborted travel as before
		#current_travel_plan = {
		#	is_aborted = no
		#}
	}

	immediate = {
		#travl_debug_log_event_effect = { MSG = travl_debug_msg_travel_event_fired EVENT = travel_completion_event_1000 }
		play_music_cue = mx_cue_travel_arrival
		traveler_lifestyle_rank_up_check_effect = yes
		location = { save_scope_as = current_location }
		current_travel_plan = {
			# save scope so we can call the variables in loc
			save_scope_as = travel_plan_scope
			final_destination_province = {
				save_scope_as = final_destination_province
			}
			travel_leader ?= {
				save_scope_as = travel_leader_scope
			}
			# Work with variables we have saved to produce some interesting loc information about the journey
			set_variable = {
				name = travel_plan_end_date
				value = current_date
			}
			set_variable = {
				name = travel_plan_elapsed_days
				value = 0
			}
			if = {
				limit = {
					exists = var:travel_plan_start_date
					exists = var:travel_plan_end_date
					exists = var:travel_plan_elapsed_days
				}
				change_variable = {
					name = travel_plan_elapsed_days
					add = {
						value = var:travel_plan_end_date
						subtract = var:travel_plan_start_date
					}
				}
			}
			# Cultural Ambassador travel option
			if = {
				limit = {
					has_travel_option = cultural_ambassador_option
				}
				custom_tooltip = cultural_ambassador_option.tt
			}
		}
		random_memory ?= {
			limit = {
				has_memory_category = travel
				is_memory_of_travel = root.current_travel_plan
			}
			save_scope_as = travel_conc_memory
		}
		# Allocates a tiny bit of Horse XP if you have the Hastiluder trait
		if = {
			limit = {
				has_trait = tourney_participant
			}
			add_trait_xp = {
				trait = tourney_participant
				track = horse
				value = tournament_hastiludes_xp_gain_miniscule_value
			}
		}
	}

	#Yay, we're home
	option = {
		name = travel_completion_event.1000.a
		name = {
			trigger = { has_government = landless_adventurer_government }
			text = travel_completion_event.1000.a.adventurer
		}
		trigger = { location = root.default_location }
	}

	#Let's return home
	option = {
		name = travel_completion_event.1000.b
		name = {
			trigger = { has_government = landless_adventurer_government }
			text = travel_completion_event.1000.b.adventurer
		}
		trigger = {
			location != root.default_location
			# Travelers: Reroute to home only for vanilla travel
			NOR = {
				has_variable = travl_travel_receiver
				has_variable = travl_suppress_events
			}
		}
		return_home = yes
		ai_chance = {
			base = 100
		}
	}

	# Travelers: Add option for aborted travel
	option = {
		name = travel_completion_event.1000.c
		trigger = {
			NOT = { location = root.default_location }
			OR = {
				has_variable = travl_travel_receiver
				has_variable = travl_suppress_events
			}
		}
		ai_chance = {
			base = 100
		}
	}

	after = {
		if = {
			limit = { has_character_flag = recently_completed_mandala_contract }
			remove_character_flag = recently_completed_mandala_contract
		}
	}
}
