﻿# Uses the standard Learn Language personal-scheme progression, odds and learning modifiers.
# A self-target is necessary because Koine and Church Slavonic are not culture pillars.
neow_study_rite_liturgical_language = {
	skill = learning
	category = personal
	desc = neow_study_rite_liturgical_language_scheme_desc
	success_desc = neow_study_rite_liturgical_language_scheme_success_desc
	icon = icon_scheme_learn_language
	illustration = "gfx/interface/illustrations/event_scenes/corridor.dds"
	target_type = character
	hide_target_name = yes
	is_secret = no
	is_basic = yes
	cooldown = { months = 2 }

	speed_per_skill_point = t1_spsp_owner_value
	spymaster_speed_per_skill_point = 0
	uses_resistance = no
	base_progress_goal = 730
	base_maximum_success = 95
	minimum_success = 5

	allow = {
		is_adult = yes
		is_alive = yes
		is_imprisoned = no
		is_incapable = no
		neow_rite_liturgical_language_is_missing_trigger = yes
		scope:target = { this = scope:owner }
		NOT = { any_scheme = { type = neow_study_rite_liturgical_language } }
	}
	valid = {
		is_alive = yes
		is_incapable = no
		is_imprisoned = no
		NOT = { has_character_modifier = partially_mute_modifier }
		neow_rite_liturgical_language_is_missing_trigger = yes
	}

	odds_prediction = {
		add = base_odds_prediction_target_is_char_value
		add = odds_skill_contribution_learning_value
		add = odds_learn_language_scheme_misc_value
		min = 0
	}

	# Same core modifiers as learn_language (excluding target-culture checks, which
	# cannot work with a self-target and a separate liturgical language pillar).
	base_success_chance = {
		base = 0
		modifier = {
			add = { value = scope:owner.learning multiply = 3 }
			desc = SCHEME_LEARNING_MODIFIER
			scope:owner.learning > 0
		}
		modifier = {
			add = scope:owner.cp:councillor_court_chaplain.learning
			desc = SCHEME_CHAPLAIN_HELP_LEARNING_MODIFIER
			exists = scope:owner.cp:councillor_court_chaplain
			scope:owner.cp:councillor_court_chaplain.learning > 0
		}
		modifier = {
			add = {
				value = 5
				multiply = { value = scope:owner.num_of_known_languages subtract = 1 }
			}
			desc = SCHEME_KNOWN_LANGUAGES_MODIFIER
			scope:owner.num_of_known_languages > 1
		}
		modifier = {
			add = { value = 30 subtract = scope:owner.age multiply = 2 }
			desc = SCHEME_YOUTH_MODIFIER
			scope:owner.age < 30
		}
		modifier = {
			add = 20
			desc = LEARN_LANGUAGE_COMMUNAL_IDENTITY_MODIFIER
			scope:owner = {
				has_personal_tenet_flag = tenet_communal_identity_language_devotion
			}
		}
		personal_scheme_base_success_chance_modifiers = yes
	}

	on_phase_completed = {
		save_scope_as = scheme
		scheme_target_character = { save_scope_as = target }
		scheme_owner = { save_scope_as = owner }
		scope:scheme = {
			random = {
				chance = scope:scheme.scheme_success_chance
				save_scope_value_as = { name = neow_liturgical_language_study_successful value = yes }
			}
		}
		scope:owner = {
			if = {
				limit = { exists = scope:neow_liturgical_language_study_successful }
				neow_teach_rite_liturgical_language_effect = yes
				add_piety = 100
				send_interface_toast = {
					type = event_toast_effect_good
					title = neow_study_rite_liturgical_language_success
					custom_tooltip = neow_study_rite_liturgical_language_success_piety_tt
					left_icon = scope:owner
				}
			}
			else = {
				add_piety = -50
				send_interface_toast = {
					type = event_toast_effect_neutral
					title = neow_study_rite_liturgical_language_failure
					custom_tooltip = neow_study_rite_liturgical_language_failure_piety_tt
					left_icon = scope:owner
				}
			}
		}
		end_scheme = yes
	}
}
