﻿##################################################
# INDEX
#
# Politicker		-	politicker_attribute
# Tactician			-	tactician_attribute
# Reeve				-	reeve_attribute
# Manipulator		-	manipulator_attribute
# Mentor			-	mentor_attribute
# Contender			-	contender_attribute
#

##################################################
# CONTROL VALUES

@skill_accolade_qualifying_value = high_skill_rating

@accolade_trait_additive_plus_1_value = 250
@accolade_trait_additive_plus_2_value = 150
@accolade_trait_additive_plus_3_value = 50
@accolade_trait_additive_minus_1_value = -50
@accolade_trait_additive_minus_2_value = -150
@accolade_trait_additive_minus_3_value = -250

@lifestyle_bonus_tier_1_value = 0.15
@lifestyle_bonus_tier_2_value = 0.25
@lifestyle_bonus_tier_3_value = 0.35

@army_maintenance_mult_bonus_tier_1 = -0.1
@army_maintenance_mult_bonus_tier_2 = -0.15
@army_maintenance_mult_bonus_tier_3 = -0.25

@dread_base_bonus_tier_1_value = 5
@dread_base_bonus_tier_2_value = 10
@dread_base_bonus_tier_3_value = 20

@tourney_participant_xp_mult_bonus_tier_1_value = 0.1
@tourney_participant_xp_mult_bonus_tier_2_value = 0.2
@tourney_participant_xp_mult_bonus_tier_3_value = 0.3

@intrigue_scheme_phase_duration_bonus_tier_1_value = -5
@intrigue_scheme_phase_duration_bonus_tier_2_value = -10
@intrigue_scheme_phase_duration_bonus_tier_3_value = -15

@knight_effectiveness_per_dread_tier_2_value = 0.003
@knight_effectiveness_per_dread_tier_3_value = 0.005

@piety_per_knight_add_bonus_tier_1_value = 0.1
@piety_per_knight_add_bonus_tier_2_value = 0.2
@piety_per_knight_add_bonus_tier_3_value = 0.3

##################################################
# SKILL TYPE ACCOLADES

# Politicker
politicker_attribute = {
	adjective = accolade_politicking
	noun = accolade_politicker
	accolade_categories = { skilled skill social personality diplomacy vassal_manager courtly subtle }

	potential = {
		prowess >= accolade_prowess_requirement_value
	}
	
	weight = {
		# These are less interesting, so we weight them down for the AI.
		value = accolade_standard_base_value
		# Scope over to the liege to see if they even want this accolade.
		scope:owner ?= {
			# Skills.
			add = {
				value = diplomacy
				multiply = 10
			}
			# Culture.
			## Courtly ethos.
			if = {
				limit = {
					culture ?= {
						OR = {
							has_cultural_pillar = ethos_courtly
							has_cultural_pillar = ethos_egalitarian
						}
					}
				}
				add = 100
			}
			## Egalitarian ethos.
			if = {
				limit = {
					culture ?= { has_cultural_pillar = ethos_egalitarian }
				}
				add = 100
			}
			## Era.
			add = accolade_weighted_up_in_later_eras_value
			# AI values.
			add = {
				value = ai_honor
				multiply = 0.75
			}
			add = {
				value = ai_energy
				multiply = 0.5
			}
			# Traits.
			## Additives.
			### +++ Gregarious.
			if = {
				limit = { has_trait = gregarious }
				add = @accolade_trait_additive_plus_3_value
			}
			### ++ Diplomacy Education.
			if = {
				limit = { has_trait = education_diplomacy }
				add = @accolade_trait_additive_plus_2_value
			}
			### + Trusting.
			if = {
				limit = { has_trait = trusting }
				add = @accolade_trait_additive_plus_1_value
			}
			### -- Paranoid.
			if = {
				limit = { has_trait = paranoid }
				add = @accolade_trait_additive_minus_2_value
			}
			## Factor 0s.
			### Shy
			if = {
				limit = { has_trait = shy }
				multiply = 0
			}
			### Reclusive
			if = {
				limit = { has_trait = reclusive }
				multiply = 0
			}
			### Content
			if = {
				limit = { has_trait = content }
				multiply = 0
			}
		}
		# weight for opinion.
		if = {
			limit = {
				exists = liege
			}
			multiply = accolade_opinion_multiplier_value
		}
	}

	ranks = {
		# Rank 1
		100 = {
			liege_modifier = {
				courtly_opinion = 3
				barons_and_minor_landholders_opinion = 3
				minority_opinion = 5
			}
		}
		# Rank 2
		300 = {
			liege_modifier = {
				courtly_opinion = 3
				barons_and_minor_landholders_opinion = 3
				minority_opinion = 5
			}
		}
		# Rank 3
		600 = {
			liege_modifier = {
				courtly_opinion = 6
				barons_and_minor_landholders_opinion = 6
				minority_opinion = 8
				diplomacy = 1
			}
			accolade_parameters = {
				accolade_influences_regency
			}
		}
		# Rank 4
		1000 = {
			liege_modifier = {
				courtly_opinion = 6
				barons_and_minor_landholders_opinion = 6
				minority_opinion = 8
				diplomacy = 1
			}
			accolade_parameters = {
				accolade_influences_regency
			}
		}
		# Rank 5
		1500 = {
			liege_modifier = {
				courtly_opinion = 10
				barons_and_minor_landholders_opinion = 10
				minority_opinion = 10
				diplomacy = 2
			}
			accolade_parameters = {
				accolade_tour_end_bonus
				accolade_influences_regency_high
			}
		}
		# Rank 6
		2100 = {
			liege_modifier = {
				courtly_opinion = 10
				barons_and_minor_landholders_opinion = 10
				minority_opinion = 10
				diplomacy = 2
			}
			accolade_parameters = {
				accolade_tour_end_bonus
				accolade_influences_regency_high
			}
		}
	}
}

# Tactician
tactician_attribute = {
	adjective = accolade_strategic
	noun = accolade_tactician
	accolade_categories = { skilled skill warlike leader subtle martial }

	potential = {
		prowess >= accolade_prowess_requirement_value
	}
	
	weight = {
		# These are less interesting, so we weight them down for the AI.
		value = accolade_standard_base_value
		# Scope over to the liege to see if they even want this accolade.
		scope:owner ?= {
			# Skills.
			add = {
				value = martial
				multiply = 10
			}
			# Culture.
			## Bellicose ethos.
			if = {
				limit = {
					culture ?= {
						OR = {
							has_cultural_pillar = ethos_bellicose
							has_cultural_pillar = ethos_bureaucratic
						}
					}
				}
				add = 200
			}
			## Era.
			add = accolade_weighted_up_in_earlier_eras_value
			# AI values.
			add = {
				value = ai_boldness
				multiply = 0.75
			}
			add = {
				value = ai_vengefulness
				multiply = 0.5
			}
			# Traits.
			## Additives.
			### +++ Patient
			if = {
				limit = { has_trait = patient }
				add = @accolade_trait_additive_plus_3_value
			}
			### ++ Calm.
			if = {
				limit = { has_trait = calm }
				add = @accolade_trait_additive_plus_2_value
			}
			### ++ Martial Education.
			if = {
				limit = { has_trait = education_martial }
				add = @accolade_trait_additive_plus_2_value
			}
			### + Brave.
			if = {
				limit = { has_trait = brave }
				add = @accolade_trait_additive_plus_1_value
			}
			### - Forgiving.
			if = {
				limit = { has_trait = forgiving }
				add = @accolade_trait_additive_minus_1_value
			}
			### --- Wrathful.
			if = {
				limit = { has_trait = wrathful }
				add = @accolade_trait_additive_minus_3_value
			}
			### --- Impatient.
			if = {
				limit = { has_trait = impatient }
				add = @accolade_trait_additive_minus_3_value
			}
		}
		# weight for opinion.
		if = {
			limit = {
				exists = liege
			}
			multiply = accolade_opinion_multiplier_value
		}
	}

	ranks = {
		# Rank 1
		100 = {
			liege_modifier = { monthly_martial_lifestyle_xp_gain_mult = @lifestyle_bonus_tier_1_value }
		}
		# Rank 2
		300 = {
			liege_modifier = { monthly_martial_lifestyle_xp_gain_mult = @lifestyle_bonus_tier_1_value }
		}
		# Rank 3
		600 = {
			liege_modifier = { 
				monthly_martial_lifestyle_xp_gain_mult = @lifestyle_bonus_tier_2_value
				martial = 1
			}
			knight_army_modifier = {
				counter_efficiency = @lifestyle_bonus_tier_2_value
			}
		}
		# Rank 4
		1000 = {
			liege_modifier = { 
				monthly_martial_lifestyle_xp_gain_mult = @lifestyle_bonus_tier_2_value
				martial = 1
			}
			knight_army_modifier = {
				counter_efficiency = @lifestyle_bonus_tier_2_value
			}
		}
		# Rank 5
		1500 = {
			liege_modifier = { 
				monthly_martial_lifestyle_xp_gain_mult = @lifestyle_bonus_tier_3_value
				martial = 2
			}
			knight_army_modifier = {
				counter_efficiency = @lifestyle_bonus_tier_3_value
			}
			accolade_parameters = {
				accolade_organize_army_bonus
			}
		}
		# Rank 6
		2100 = {
			liege_modifier = {
				monthly_martial_lifestyle_xp_gain_mult = @lifestyle_bonus_tier_3_value
				martial = 2
			}
			knight_army_modifier = {
				counter_efficiency = @lifestyle_bonus_tier_3_value
			}
			accolade_parameters = {
				accolade_organize_army_bonus
			}
		}
	}
}

# Reeve
reeve_attribute = {
	adjective = accolade_calculating
	noun = accolade_reeve
	accolade_categories = { skilled skill subtle courtly leader stewardship }

	potential = {
		prowess >= accolade_prowess_requirement_value
	}
	
	weight = {
		# These are less interesting, so we weight them down for the AI.
		value = accolade_standard_base_value
		# Scope over to the liege to see if they even want this accolade.
		scope:owner ?= {
			# Skills.
			add = {
				value = stewardship
				multiply = 10
			}
			# Culture.
			## Bureaucratic ethos.
			if = {
				limit = {
					culture ?= {
						OR = {
							has_cultural_pillar = ethos_bureaucratic
							has_cultural_pillar = ethos_egalitarian
						}
					}
				}
				add = 200
			}
			## Era.
			add = accolade_weighted_up_in_later_eras_value
			# AI values.
			add = {
				value = ai_rationality
				multiply = 0.75
			}
			add = {
				value = ai_energy
				multiply = 0.5
			}
			# Traits.
			## Additives.
			### +++ Diligent
			if = {
				limit = { has_trait = diligent }
				add = @accolade_trait_additive_plus_3_value
			}
			### ++ Education Stewardship
			if = {
				limit = { has_trait = education_stewardship }
				add = @accolade_trait_additive_plus_2_value
			}
			### + Gregarious.
			if = {
				limit = { has_trait = gregarious }
				add = @accolade_trait_additive_plus_1_value
			}
			### - Shy.
			if = {
				limit = { has_trait = generous }
				add = @accolade_trait_additive_minus_2_value
			}
			### -- Arbitrary.
			if = {
				limit = { has_trait = arbitrary }
				add = @accolade_trait_additive_minus_2_value
			}
		}
		# Finally, weight for opinion.
		if = {
			limit = {
				exists = liege
			}
			multiply = accolade_opinion_multiplier_value
		}
	}

	ranks = {
		# Rank 1
		100 = {
			liege_modifier = {
				parochial_opinion = 10
			}
		}
		# Rank 2
		300 = {
			liege_modifier = {
				parochial_opinion = 10
			}
		}
		# Rank 3
		600 = {
			liege_modifier = {
				parochial_opinion = 15
				stewardship = 1
			}
			accolade_parameters = { accolade_development_growth_on_tournament_completion_low }
		}
		# Rank 4
		1000 = {
			liege_modifier = {
				parochial_opinion = 15
				stewardship = 1
			}
			accolade_parameters = { accolade_development_growth_on_tournament_completion_low }
		}
		# Rank 5
		1500 = {
			liege_modifier = {
				parochial_opinion = 25
				stewardship = 2
			}
			accolade_parameters = {
				accolade_development_growth_on_tournament_completion_high
				accolade_increase_control_bonus
			}
		}
		# Rank 6
		2100 = {
			liege_modifier = {
				parochial_opinion = 25
				stewardship = 2
			}
			accolade_parameters = {
				accolade_development_growth_on_tournament_completion_high
				accolade_increase_control_bonus
			}
		}
	}
}

# Manipulator
manipulator_attribute = {
	adjective = accolade_manipulative
	noun = accolade_manipulator
	accolade_categories = { skilled skill subtle courtly aggressive amoral intrigue }

	potential = {
		prowess >= accolade_prowess_requirement_value
	}
	
	weight = {
		# These are less interesting, so we weight them down for the AI.
		value = accolade_standard_base_value
		# Scope over to the liege to see if they even want this accolade.
		scope:owner ?= {
			# Skills.
			add = {
				value = intrigue
				multiply = 10
			}
			# Culture.
			## Courtly ethos.
			if = {
				limit = {
					culture ?= {
						OR = {
							has_cultural_pillar = ethos_courtly
							has_cultural_pillar = ethos_communal
						}
					}
				}
				add = 200
			}
			## Era.
			add = accolade_weighted_up_in_later_eras_value
			# AI values.
			add = {
				value = ai_vengefulness
				multiply = 0.75
			}
			add = {
				value = ai_honor
				multiply = -1
			}
			# Traits.
			## Additives.
			### +++ Deceitful.
			if = {
				limit = { has_trait = deceitful }
				add = @accolade_trait_additive_plus_3_value
			}
			### +++ Paranoid
			if = {
				limit = { has_trait = paranoid }
				add = @accolade_trait_additive_plus_3_value
			}
			### ++ Intrigue Education.
			if = {
				limit = { has_trait = education_intrigue }
				add = @accolade_trait_additive_plus_2_value
			}
			### + Arbitrary.
			if = {
				limit = { has_trait = arbitrary }
				add = @accolade_trait_additive_plus_1_value
			}
			### + Sadistic
			if = {
				limit = { has_trait = sadistic }
				add = @accolade_trait_additive_plus_1_value
			}
			### - Just.
			if = {
				limit = { has_trait = just }
				add = @accolade_trait_additive_minus_1_value
			}
			## Factor 0s.
			### Honest.
			if = {
				limit = { has_trait = honest }
				multiply = 0
			}
		}
		# Finally, weight for opinion.
		if = {
			limit = {
				exists = liege
			}
			multiply = accolade_opinion_multiplier_value
		}
	}

	ranks = {
		# Rank 1
		100 = {
			liege_modifier = {
				intrigue_scheme_phase_duration = @intrigue_scheme_phase_duration_bonus_tier_1_value
			}
		}
		# Rank 2
		300 = {
			liege_modifier = {
				intrigue_scheme_phase_duration = @intrigue_scheme_phase_duration_bonus_tier_1_value
			}
		}
		# Rank 3
		600 = {
			liege_modifier = {
				intrigue_scheme_phase_duration = @intrigue_scheme_phase_duration_bonus_tier_2_value
				knight_effectiveness_per_dread = @knight_effectiveness_per_dread_tier_2_value
				intrigue = 1
			}
		}
		# Rank 4
		1000 = {
			liege_modifier = {
				intrigue_scheme_phase_duration = @intrigue_scheme_phase_duration_bonus_tier_2_value
				knight_effectiveness_per_dread = @knight_effectiveness_per_dread_tier_2_value
				intrigue = 1
			}
		}
		# Rank 5
		1500 = {
			liege_modifier = {
				intrigue_scheme_phase_duration = @intrigue_scheme_phase_duration_bonus_tier_3_value
				knight_effectiveness_per_dread = @knight_effectiveness_per_dread_tier_3_value
				dread_baseline_add = @dread_base_bonus_tier_3_value
				intrigue = 2
			}
		}
		# Rank 6
		2100 = {
			liege_modifier = {
				intrigue_scheme_phase_duration = @intrigue_scheme_phase_duration_bonus_tier_3_value
				knight_effectiveness_per_dread = @knight_effectiveness_per_dread_tier_3_value
				dread_baseline_add = @dread_base_bonus_tier_3_value
				intrigue = 2
			}
		}
	}
}

# Mentor
mentor_attribute = {
	adjective = accolade_sagely
	noun = accolade_mentor
	accolade_categories = { skilled skill subtle courtly ethical leader learning }

	potential = {
		prowess >= accolade_prowess_requirement_value
	}
	
	weight = {
		# These are less interesting, so we weight them down for the AI.
		value = accolade_standard_base_value
		# Scope over to the liege to see if they even want this accolade.
		scope:owner ?= {
			# Skills.
			add = {
				value = learning
				multiply = 10
			}
			# Culture.
			## Communal ethos.
			if = {
				limit = {
					culture ?= {
						OR = {
							has_cultural_pillar = ethos_communal
							has_cultural_pillar = ethos_spiritual
						}
					}
				}
				add = 200
			}
			## Spiritual ethos.
			if = {
				limit = {
					culture ?= { has_cultural_pillar = ethos_spiritual }
				}
				add = 100
			}
			## Era.
			add = accolade_weighted_up_in_later_eras_value
			# AI values.
			add = {
				value = ai_energy
				multiply = -0.5
			}
			add = {
				value = ai_boldness
				multiply = -0.75
			}
			# Traits.
			## Additives.
			### +++ Patient.
			if = {
				limit = { has_trait = patient }
				add = @accolade_trait_additive_plus_3_value
			}
			### +++ Calm
			if = {
				limit = { has_trait = calm }
				add = @accolade_trait_additive_plus_3_value
			}
			### +++ Diligent.
			if = {
				limit = { has_trait = diligent }
				add = @accolade_trait_additive_plus_3_value
			}
			### ++ Learning Education.
			if = {
				limit = { has_trait = education_learning }
				add = @accolade_trait_additive_plus_2_value
			}
			### + Shy.
			if = {
				limit = { has_trait = shy }
				add = @accolade_trait_additive_plus_1_value
			}
			### - Arbitrary.
			if = {
				limit = { has_trait = arbitrary }
				add = @accolade_trait_additive_minus_1_value
			}
			### - Callous
			if = {
				limit = { has_trait = callous }
				add = @accolade_trait_additive_minus_1_value
			}
			### -- Lazy.
			if = {
				limit = { has_trait = lazy }
				add = @accolade_trait_additive_minus_2_value
			}
			## Factor 0s.
			### Impatient.
			if = {
				limit = { has_trait = impatient }
				multiply = 0
			}
		}
		# Finally, weight for opinion.
		if = {
			limit = {
				exists = liege
			}
			multiply = accolade_opinion_multiplier_value
		}
	}

	ranks = {
		# Rank 1
		100 = {
			liege_modifier = {
				knight_limit = 1
			}
		}
		# Rank 2
		300 = {
			liege_modifier = {
				knight_limit = 1
			}
		}
		# Rank 3
		600 = {
			liege_modifier = {
				knight_limit = 1
				learning = 1
			}
			accolade_parameters = {
				accolade_train_commanders_bonus
				accolade_wise_educator
			}
		}
		# Rank 4
		1000 = {
			liege_modifier = {
				knight_limit = 1
				learning = 1
			}
			accolade_parameters = {
				accolade_train_commanders_bonus
				accolade_wise_educator
			}
		}
		# Rank 5
		1500 = {
			liege_modifier = {
				knight_limit = 2
				learning = 2
			}
			accolade_parameters = {
				accolade_train_commanders_bonus_high
				accolade_wise_educator_high
			}
		}
		# Rank 6
		2100 = {
			liege_modifier = {
				knight_limit = 2
				learning = 2
			}
			accolade_parameters = {
				accolade_train_commanders_bonus_high
				accolade_wise_educator_high
			}
		}
	}
}

# Contender
contender_attribute = {
	adjective = accolade_fearsome
	noun = accolade_contender
	accolade_categories = { skilled skill champion forceful warlike prowess }

	potential = {
		OR = {
			prowess >= 20
			has_trait_xp = {
				trait = tourney_participant
				track = bow
				value >= 25
			}
			has_trait_xp = {
				trait = tourney_participant
				track = horse
				value >= 25
			}
			has_trait_xp = {
				trait = tourney_participant
				track = foot
				value >= 25
			}
			has_trait_xp = {
				trait = tourney_participant
				track = wit
				value >= 25
			}
		}
	}
	
	weight = {
		# These are less interesting, so we weight them down for the AI.
		value = accolade_standard_base_value
		# Scope over to the liege to see if they even want this accolade.
		scope:owner ?= {
			# Skills.
			add = {
				value = prowess
				multiply = 10
			}
			# Culture.
			## Bellicose ethos.
			if = {
				limit = {
					culture ?= {
						OR = {
							has_cultural_pillar = ethos_bellicose
							has_cultural_pillar = ethos_stoic
						}
					}
				}
				add = 200
			}
			## Era.
			add = accolade_weighted_up_in_earlier_eras_value
			# AI values.
			add = {
				value = ai_boldness
				multiply = 1
			}
			add = {
				value = ai_vengefulness
				multiply = 0.5
			}
			add = {
				value = ai_compassion
				multiply = -0.5
			}
			# Traits.
			## Additives.
			### +++ Brave.
			if = {
				limit = { has_trait = brave }
				add = @accolade_trait_additive_plus_3_value
			}
			### ++ Wrathful.
			if = {
				limit = { has_trait = wrathful }
				add = @accolade_trait_additive_plus_2_value
			}
			### ++ Vengeful.
			if = {
				limit = { has_trait = vengeful }
				add = @accolade_trait_additive_plus_2_value
			}
			### + Callous.
			if = {
				limit = { has_trait = callous }
				add = @accolade_trait_additive_plus_1_value
			}
			### + Sadistic.
			if = {
				limit = { has_trait = sadistic }
				add = @accolade_trait_additive_plus_1_value
			}
			### -- Forgiving.
			if = {
				limit = { has_trait = forgiving }
				add = @accolade_trait_additive_minus_2_value
			}
			### --- Craven.
			if = {
				limit = { has_trait = craven }
				add = @accolade_trait_additive_minus_3_value
			}
			## Factor 0s.
			### Compassionate.
			if = {
				limit = { has_trait = compassionate }
				multiply = 0
			}
		}
		# Finally, weight for opinion.
		if = {
			limit = {
				exists = liege
			}
			multiply = accolade_opinion_multiplier_value
		}
	}

	ranks = {
		# Rank 1
		100 = {
			accolade_parameters = {
				accolade_tournament_xp_gain_contender_only_low
			}
			liege_modifier = {
				tourney_participant_xp_gain_mult = @tourney_participant_xp_mult_bonus_tier_1_value
				belligerent_opinion = 3
			}
		}
		# Rank 2
		300 = {
			accolade_parameters = {
				accolade_tournament_xp_gain_contender_only_low
			}
			liege_modifier = {
				tourney_participant_xp_gain_mult = @tourney_participant_xp_mult_bonus_tier_1_value
				belligerent_opinion = 3
			}
		}
		# Rank 3
		600 = {
			accolade_parameters = {
				accolade_tournament_xp_gain_contender_only
				accolade_tournament_xp_gain_all_knights
			}
			liege_modifier = {
				tourney_participant_xp_gain_mult = @tourney_participant_xp_mult_bonus_tier_2_value
				belligerent_opinion = 6
			}
		}
		# Rank 4
		1000 = {
			accolade_parameters = {
				accolade_tournament_xp_gain_contender_only
				accolade_tournament_xp_gain_all_knights
			}
			liege_modifier = {
				tourney_participant_xp_gain_mult = @tourney_participant_xp_mult_bonus_tier_2_value
				belligerent_opinion = 6
			}

		}
		# Rank 5
		1500 = {
			liege_modifier = {
				monthly_prestige_gain_per_knight_mult = 0.02
				tourney_participant_xp_gain_mult = @tourney_participant_xp_mult_bonus_tier_3_value
				belligerent_opinion = 10
			}
			accolade_parameters = {
				accolade_tournament_xp_gain_contender_only_high
				accolade_tournament_xp_gain_all_knights_high
			}
		}
		# Rank 6
		2100 = {
			liege_modifier = {
				monthly_prestige_gain_per_knight_mult = 0.02
				tourney_participant_xp_gain_mult = @tourney_participant_xp_mult_bonus_tier_3_value
				belligerent_opinion = 10
			}
			accolade_parameters = {
				accolade_tournament_xp_gain_contender_only_high
				accolade_tournament_xp_gain_all_knights_high
			}
		}
	}
}
