﻿short_relic_pilgrimage_reward_effect = {
	add_piety = short_pilgrimage_piety_gain
	pilgrimage_additional_reward_effect = yes
}

medium_relic_pilgrimage_reward_effect = {
	add_piety = long_pilgrimage_piety_gain
      add_trait = pilgrim
	if = {
		limit = {	
			culture = {
				has_cultural_era_or_later = culture_era_high_medieval
			}
		}
		root = {
			create_artifact_pilgrim_badge_effect = { OWNER = this }
		}
	}
	pilgrimage_additional_reward_effect = yes
}

long_relic_pilgrimage_reward_effect = {
	add_piety = very_long_pilgrimage_piety_gain
      add_trait = pilgrim
	if = {
		limit = {	
			culture = {
				has_cultural_era_or_later = culture_era_high_medieval
			}
		}
		root = {
			create_artifact_pilgrim_badge_effect = { OWNER = this }
		}
	}
	pilgrimage_additional_reward_effect = yes
}

very_long_relic_pilgrimage_reward_effect = {
	add_piety = very_long_pilgrimage_piety_gain #ZGC
    add_trait = pilgrim
	if = {
		limit = {	
			culture = {
				has_cultural_era_or_later = culture_era_high_medieval
			}
		}
		root = {
			create_artifact_pilgrim_badge_effect = { OWNER = this }
		}
	}
	pilgrimage_additional_reward_effect = yes
}

give_relic_pilgrimage_reward_effect = {
	if = {
		limit = { scope:activity.var:pilgrimage_distance = flag:short_pilgrimage_var }
		short_relic_pilgrimage_reward_effect = yes	
	}
	else_if = {
		limit = { scope:activity.var:pilgrimage_distance = flag:medium_pilgrimage_var }
		medium_relic_pilgrimage_reward_effect = yes	
	}
	else_if = {
		limit = { scope:activity.var:pilgrimage_distance = flag:long_pilgrimage_var }
		long_relic_pilgrimage_reward_effect = yes	
	}
	else_if = {
		limit = { scope:activity.var:pilgrimage_distance = flag:very_long_pilgrimage_var }
		very_long_relic_pilgrimage_reward_effect = yes	
	}
}

calculate_relic_pilgrimage_distance_effect = {
	# Requires PILGRIM = character
	# Requires HOLY_SITE = barony_title
	$PILGRIM$.capital_barony = { # Only landed characters can go on regular pilgrimages
		save_temporary_scope_as = start_barony
	}
	# Calculate distance to the target holy site
	# The value set indicates how many Journey Events a character will get
	if = {
		limit = {
			scope:start_barony = {
				squared_distance = {
					target = scope:potential_relic_pilgrimage_site
					value > long_pilgrimage_max_length
				}
			}
		}
		custom_tooltip = very_long_pilgrimage_tt
		select_pilgrimage_effect = {
			PILGRIMAGE_DISTANCE = very_long
		}
	}
	else_if = {
		limit = {
			scope:start_barony = {
				squared_distance = {
					target = scope:potential_relic_pilgrimage_site
					value > medium_pilgrimage_max_length
				}
			}
		}
		custom_tooltip = long_pilgrimage_tt
		select_pilgrimage_effect = {
			PILGRIMAGE_DISTANCE = long
		}
	}
	else_if = {
		limit = {
			scope:start_barony = {
				squared_distance = {
					target = scope:potential_relic_pilgrimage_site
					value > short_pilgrimage_max_length
				}
			}
		}
		custom_tooltip = medium_pilgrimage_tt
		select_pilgrimage_effect = {
			PILGRIMAGE_DISTANCE = medium
		}
	}
	else = {
		custom_tooltip = short_pilgrimage_tt
		select_pilgrimage_effect = {
			PILGRIMAGE_DISTANCE = short
		}
	}
}

set_relic_pilgrimage_distance_variable_effect = {
	# Requires PILGRIM = character
	# Requires HOLY_SITE = barony_title
	$PILGRIM$.capital_barony = { # Only landed characters can go on regular relic pilgrimages
		save_temporary_scope_as = start_barony
	}
	# Calculate distance to the target holy site
	# The value set indicates how many Journey Events a character will get
	if = {
		limit = {
			scope:start_barony = {
				squared_distance = {
					target = $HOLY_SITE$
					value > long_pilgrimage_max_length
				}
			}
		}
		set_variable = {
			name = pilgrimage_distance
			value = flag:very_long_pilgrimage_var
		}
	}
	else_if = {
		limit = {
			scope:start_barony = {
				squared_distance = {
					target = $HOLY_SITE$
					value > medium_pilgrimage_max_length
				}
			}
		}
		set_variable = {
			name = pilgrimage_distance
			value = flag:long_pilgrimage_var
		}
	}
	else_if = {
		limit = {
			scope:start_barony = {
				squared_distance = {
					target = $HOLY_SITE$
					value > short_pilgrimage_max_length
				}
			}
		}
		set_variable = {
			name = pilgrimage_distance
			value = flag:medium_pilgrimage_var
		}
	}
	else = {
		set_variable = {
			name = pilgrimage_distance
			value = flag:short_pilgrimage_var
		}
	}
}

relic_pilgrimage_site_selection_event_option_effect = {
	hidden_effect = {
		set_variable = {
			name = pilgrimage_cooldown_timer
			years = pilgrimage_cooldown_year_amount
		}
	}
	$HOLY_SITE$.title_province = {
		spawn_activity = {
			owner = root
			type = activity_relic_pilgrimage
		}
	}
	if = {
		limit = { is_ai = no }
		calculate_pilgrimage_distance_effect = {
			PILGRIM = root
			HOLY_SITE = $HOLY_SITE$
		}
	}
}

# set_up_next_relic_pilgrimage_event_effect = {
# 	scope:activity = {
# 		change_variable = {
# 			name = journey_event_counter
# 			add = 1
# 		}
# 	}

# 	save_scope_value_as = {
# 		name = event_counter
# 		value = scope:activity.var:journey_event_counter
# 	}
# 	save_scope_value_as = {
# 		name = halfway_distance
# 		value = scope:activity.pilgrimage_halfway_distance
# 	}

# 	if = {
# 		limit = { # TODO_CD Is any fallback handling needed in an else here?
# 			exists = scope:activity
# 		}
# 		if = {
# 			limit = {
# 				scope:activity.var:journey_event_counter < scope:activity.var:pilgrimage_distance
# 			}
# 			trigger_event = {
# 				on_action = relic_pilgrimage_journey_events
# 				days = $DAYS$
# 			}
# 		}
# 		else = {
# 			if = { #For event background
# 				limit = { scope:activity.var:relic_pilgrimage_arrived = no }
# 				scope:activity = {
# 					set_variable = {
# 						name = relic_pilgrimage_arrived
# 						value = yes
# 					}
# 				}
# 			}
# 			trigger_event = {
# 				on_action = relic_pilgrimage_destination_events
# 				days = $DAYS$
# 			}
# 		}
# 		scope:activity = {
# 			change_variable = {
# 				name = journey_event_counter
# 				add = 1
# 			}
# 		}
# 	}
# }

create_artifact_pilgrim_badge_effect = {
	# Get the character the artifact is being made for.
	$OWNER$ = { save_scope_as = owner }
	# Not really used, but if we don't set the scopes we get errors in the feature selection
	set_artifact_rarity_common = yes

	# Create the artifact
	create_artifact = {
		name = artifact_pilgrim_badge_name
		description = artifact_pilgrim_badge_description
		template = christian_relic_template
		type = miscellaneous
		visuals = pilgrim_badge
		wealth = scope:wealth
		quality = scope:quality
		history = {
			type = created_before_history
		}
		modifier = pilgrim_badge_modifier
		save_scope_as = newly_created_artifact
		decaying = no
	}

	scope:newly_created_artifact = {
		set_variable = pilgrim_badge
		save_scope_as = common
		set_variable = {
			name = relic
			value = flag:christian
		}
	}
}
