﻿# Ambitions - scripted effects
# Scope: character

# Start an ambition. TYPE = flag name, YEARS = deadline.
amb_start_effect = {
	set_variable = {
		name = amb_active
		value = flag:$TYPE$
	}
	set_variable = {
		name = amb_timer
		value = 1
		years = $YEARS$
	}
	amb_court_reaction_effect = yes
}

# The spouse notices the ambition: worry for risky goals, support for the rest
amb_court_reaction_effect = {
	if = {
		limit = { exists = primary_spouse }
		if = {
			limit = {
				OR = {
					var:amb_active = flag:hoard
					var:amb_active = flag:fear
					var:amb_active = flag:royal_match
					var:amb_active = flag:rise_duchy
					var:amb_active = flag:rise_kingdom
					var:amb_active = flag:rise_empire
				}
			}
			add_character_modifier = {
				modifier = amb_spouse_worried_modifier
				years = 10
			}
		}
		else = {
			add_character_modifier = {
				modifier = amb_spouse_supports_modifier
				years = 10
			}
		}
	}
}

# A Higher Crown picks its target from the current rank
amb_start_rise_effect = {
	if = {
		limit = { highest_held_title_tier = tier_county }
		amb_start_effect = { TYPE = rise_duchy YEARS = 15 }
	}
	else_if = {
		limit = { highest_held_title_tier = tier_duchy }
		amb_start_effect = { TYPE = rise_kingdom YEARS = 15 }
	}
	else = {
		amb_start_effect = { TYPE = rise_empire YEARS = 20 }
	}
}

# Show the current goal as a tooltip (decision effect boxes)
amb_show_goal_effect = {
	if = {
		limit = { var:amb_active = flag:hoard }
		custom_tooltip = amb_goal_hoard_tt
	}
	else_if = {
		limit = { var:amb_active = flag:rise_duchy }
		custom_tooltip = amb_goal_rise_duchy_tt
	}
	else_if = {
		limit = { var:amb_active = flag:rise_kingdom }
		custom_tooltip = amb_goal_rise_kingdom_tt
	}
	else_if = {
		limit = { var:amb_active = flag:rise_empire }
		custom_tooltip = amb_goal_rise_empire_tt
	}
	else_if = {
		limit = { var:amb_active = flag:devotion }
		custom_tooltip = amb_goal_devotion_tt
	}
	else_if = {
		limit = { var:amb_active = flag:fruitful }
		custom_tooltip = amb_goal_fruitful_tt
	}
	else_if = {
		limit = { var:amb_active = flag:renown }
		custom_tooltip = amb_goal_renown_tt
	}
	else_if = {
		limit = { var:amb_active = flag:fear }
		custom_tooltip = amb_goal_fear_tt
	}
	else_if = {
		limit = { var:amb_active = flag:beloved }
		custom_tooltip = amb_goal_beloved_tt
	}
	else_if = {
		limit = { var:amb_active = flag:royal_match }
		custom_tooltip = amb_goal_royal_match_tt
	}
	else_if = {
		limit = { var:amb_active = flag:succession }
		custom_tooltip = amb_goal_succession_tt
	}
	else_if = {
		limit = { var:amb_active = flag:skill_martial }
		custom_tooltip = amb_goal_martial_tt
	}
	else_if = {
		limit = { var:amb_active = flag:skill_diplomacy }
		custom_tooltip = amb_goal_diplomacy_tt
	}
	else_if = {
		limit = { var:amb_active = flag:skill_learning }
		custom_tooltip = amb_goal_learning_tt
	}
	else_if = {
		limit = { var:amb_active = flag:skill_intrigue }
		custom_tooltip = amb_goal_intrigue_tt
	}
	else_if = {
		limit = { var:amb_active = flag:skill_stewardship }
		custom_tooltip = amb_goal_stewardship_tt
	}
	else_if = {
		limit = { var:amb_active = flag:legacy }
		custom_tooltip = amb_goal_legacy_tt
	}
}

# Remove the active ambition and block a new one for a few years
amb_clear_effect = {
	custom_tooltip = amb_ambition_ends_tt
	custom_tooltip = amb_rest_tt
	remove_variable = amb_active
	remove_variable = amb_timer
	remove_variable = amb_mid_done
	remove_character_modifier = amb_spouse_supports_modifier
	remove_character_modifier = amb_spouse_worried_modifier
	set_variable = {
		name = amb_cooldown
		value = 1
		years = 3
	}
}

# Yearly check: success first, then the deadline
amb_check_progress_effect = {
	if = {
		limit = { amb_goal_met_trigger = yes }
		trigger_event = amb.0003
	}
	else_if = {
		limit = { NOT = { has_variable = amb_timer } }
		trigger_event = amb.0004
	}
}

amb_reward_effect = {
	if = {
		limit = { amb_is_pious_ambition_trigger = yes }
		add_piety = major_piety_gain
	}
	else = {
		add_prestige = major_prestige_gain
	}
	add_stress = major_stress_loss
	add_character_modifier = {
		modifier = amb_fulfilled_modifier
		years = 10
	}
	amb_type_reward_effect = yes
	amb_dynasty_count_effect = yes
	# The Judgment (new in 1.4)
	amb_count_effect = { VAR = amb_n_fulfilled }
	if = {
		limit = { var:amb_active = flag:legacy }
		set_variable = {
			name = amb_legacy_done
			value = 1
		}
	}
}

# Each ambition type has its own lasting bonus (new in 1.2)
amb_type_reward_effect = {
	if = {
		limit = { var:amb_active = flag:hoard }
		add_character_modifier = { modifier = amb_reward_hoard_modifier years = 10 }
	}
	else_if = {
		limit = { var:amb_active = flag:devotion }
		add_character_modifier = { modifier = amb_reward_devotion_modifier years = 10 }
	}
	else_if = {
		limit = { var:amb_active = flag:renown }
		add_character_modifier = { modifier = amb_reward_renown_modifier years = 10 }
	}
	else_if = {
		limit = { var:amb_active = flag:fear }
		add_character_modifier = { modifier = amb_reward_fear_modifier years = 10 }
	}
	else_if = {
		limit = { var:amb_active = flag:beloved }
		add_character_modifier = { modifier = amb_reward_beloved_modifier years = 10 }
	}
	else_if = {
		limit = { var:amb_active = flag:fruitful }
		add_character_modifier = { modifier = amb_reward_fruitful_modifier years = 10 }
	}
	else_if = {
		limit = { OR = { var:amb_active = flag:rise_duchy var:amb_active = flag:rise_kingdom var:amb_active = flag:rise_empire } }
		add_character_modifier = { modifier = amb_reward_rise_modifier years = 10 }
	}
	else_if = {
		limit = { var:amb_active = flag:royal_match }
		add_character_modifier = { modifier = amb_reward_royal_modifier years = 10 }
	}
	else_if = {
		limit = { var:amb_active = flag:succession }
		add_character_modifier = { modifier = amb_reward_succession_modifier years = 10 }
	}
	else_if = {
		limit = { var:amb_active = flag:legacy }
		add_character_modifier = { modifier = amb_reward_legacy_modifier years = 10 }
	}
	else_if = {
		limit = { amb_progress_measurable_trigger = yes }
		add_character_modifier = { modifier = amb_reward_skill_modifier years = 10 }
	}
}

# Count fulfilled ambitions per dynasty; at five, the ruler gets a lasting house bonus (new in 1.2)
amb_dynasty_count_effect = {
	if = {
		limit = { exists = dynasty }
		dynasty = {
			if = {
				limit = { NOT = { has_variable = amb_fulfilled_count } }
				set_variable = {
					name = amb_fulfilled_count
					value = 0
				}
			}
			change_variable = {
				name = amb_fulfilled_count
				add = 1
			}
		}
		if = {
			limit = { dynasty = { var:amb_fulfilled_count >= 5 } }
			add_character_modifier = { modifier = amb_house_of_achievers_modifier }
		}
	}
}

amb_failure_effect = {
	add_stress = minor_stress_gain
	add_prestige = minor_prestige_loss
	add_character_modifier = {
		modifier = amb_thwarted_modifier
		years = 5
	}
	amb_count_effect = { VAR = amb_n_failed }
	# A failed ambition can humble an arrogant ruler (new in 1.2)
	if = {
		limit = { has_trait = arrogant }
		random = {
			chance = 30
			remove_trait = arrogant
			add_trait = humble
		}
	}
}
