more liturgical lanaguge

This commit is contained in:
Greekman 2026-11-08 00:50:09 +00:00
parent b409c3dc73
commit 8031c997c1
15 changed files with 835 additions and 94 deletions

View file

@ -4,7 +4,7 @@
ethos = ethos_egalitarian
heritage = heritage_esperantisto
language = NEOW_language_esperanto
martial_custom = martial_custom_male_equal
martial_custom = martial_custom_equal
head_determination = head_determination_domain
traditions = {

View file

@ -42,7 +42,7 @@ language_arabic = {
}
}
color = bedouin
color = { 13 117 83 }
}
language_aramaic = {
@ -799,7 +799,7 @@ language_latin = {
}
}
color = italian
color = { 153 19 40 }
}
language_kru = {
@ -1198,7 +1198,7 @@ language_armenian = {
}
}
color = armenian
color = { 176 48 19 }
}
language_greek = {

View file

@ -97,7 +97,7 @@ NEOW_language_irish = {
}
}
color = irish
color = { 13 111 49 }
}
NEOW_language_manx = {
type = language
@ -760,17 +760,30 @@ NEOW_language_esperanto = {
}
}
parameters = {
french_group_language_param = yes
lausatian_group_language_param = yes
west_hispanic_group_language_param = yes
middle_hispanic_group_language_param = yes
east_hispanic_group_language_param = yes
gallo_italian_group_language_param = yes
italo_dalmatian_group_language_param = yes
albanian_group_language_param = yes
anglic_group_language_param = yes
arabic_group_language_param = yes
daco_romanian_group_language_param = yes
east_hispanic_group_language_param = yes
east_north_germanic_group_language_param = yes
east_slavic_group_language_param = yes
finnic_group_language_param = yes
latin_sprachbund_language_param = yes
french_group_language_param = yes
gallo_italian_group_language_param = yes
german_group_language_param = yes
goidelic_group_language_param = yes
greek_group_language_param = yes
hebrew_group_language_param = yes
high_german_group_language_param = yes
italo_dalmatian_group_language_param = yes
lausatian_group_language_param = yes
middle_hispanic_group_language_param = yes
south_slavic_group_language_param = yes
west_hispanic_group_language_param = yes
west_north_germanic_group_language_param = yes
west_slavic_group_language_param = yes
greek_sprachbund_language_param = yes
latin_sprachbund_language_param = yes
}
ai_will_do = {
value = 10
@ -780,7 +793,7 @@ NEOW_language_esperanto = {
}
}
color = irish
color = { 17 145 89 }
}
NEOW_language_new_hebrew = {
type = language
@ -3084,7 +3097,7 @@ NEOW_language_church_slavonic = {
south_slavic_group_language_param = yes
}
ai_will_do = { value = 0 }
color = { 139 114 77 }
color = { 164 91 16 }
}
NEOW_language_coptic = {
@ -3102,7 +3115,7 @@ NEOW_language_church_romanian = {
greek_sprachbund_language_param = yes
}
ai_will_do = { value = 0 }
color = { 137 96 155 }
color = { 24 87 159 }
}
NEOW_language_hebrew = {
@ -3111,7 +3124,7 @@ NEOW_language_hebrew = {
parameters = {
}
ai_will_do = { value = 0 }
color = { 95 146 170 }
color = { 20 61 153 }
}
NEOW_language_koine = {
@ -3122,12 +3135,12 @@ NEOW_language_koine = {
greek_sprachbund_language_param = yes
}
ai_will_do = { value = 0 }
color = { 145 115 180 }
color = { 97 32 151 }
}
NEOW_language_classical_georgian = {
type = language
is_shown = { always = no }
ai_will_do = { value = 0 }
color = georgian
color = { 128 24 65 }
}

View file

@ -897,3 +897,98 @@ NEOW_establish_western_orthodox_rite_decision = {
}
ai_will_do = { base = 100 }
}
# Study the rite's liturgical tongue. Available to any playable character who lacks it.
neow_study_rite_liturgical_language_decision = {
picture = { reference = "gfx/interface/illustrations/decisions/decision_personal_religious.dds" }
decision_group_type = religious
desc = neow_study_rite_liturgical_language_decision_desc
selection_tooltip = neow_study_rite_liturgical_language_decision_tooltip
sort_order = 145
ai_check_interval_by_tier = {
barony = 0
county = 36
duchy = 36
kingdom = 36
empire = 36
hegemony = 36
}
# Keep mechanical requirements out of the displayed Requirements panel.
# is_available expands a broken ALREADY_PLANNING_ACTIVITY tooltip in this mod.
is_shown = {
is_playable_character = yes
is_alive = yes
is_adult = yes
is_incapable = no
is_imprisoned = no
neow_rite_liturgical_language_is_missing_trigger = yes
NOT = { any_scheme = { type = neow_study_rite_liturgical_language } }
can_start_scheme = {
type = neow_study_rite_liturgical_language
target_character = root
}
}
is_valid = {}
cooldown = { years = 2 }
cost = {}
effect = {
start_scheme = {
type = neow_study_rite_liturgical_language
target_character = root
}
}
ai_potential = { is_clergy = no }
ai_will_do = { base = 10 }
}
# A royal court may adopt the rite's sacred tongue once its ruler knows it.
neow_use_rite_liturgical_language_at_court_decision = {
picture = { reference = "gfx/interface/illustrations/decisions/decision_personal_religious.dds" }
decision_group_type = religious
desc = neow_use_rite_liturgical_language_at_court_decision_desc
selection_tooltip = neow_use_rite_liturgical_language_at_court_decision_tooltip
sort_order = 146
ai_check_interval_by_tier = {
barony = 0
county = 0
duchy = 0
kingdom = 24
empire = 24
hegemony = 24
}
is_shown = {
is_playable_character = yes
is_alive = yes
has_dlc_feature = royal_court
has_royal_court = yes
neow_rite_liturgical_language_known_not_court_trigger = yes
}
is_valid = {}
cost = {}
effect = {
custom_tooltip = {
text = neow_liturgical_court_language_adopt_effect_tt
}
hidden_effect = {
neow_set_rite_liturgical_court_language_effect = yes
}
}
ai_potential = {
has_royal_court = yes
OR = {
has_trait = zealous
government_has_flag = government_is_ecclesiastical
}
}
ai_will_do = { base = 5 }
}

View file

@ -13,6 +13,8 @@ on_game_start = {
##NEOW
debug_log = "NEOW_on_game_start fired"
fire_starting_events = yes
# The alignment doctrine is not defined in historic rite data.
neow_sync_all_liturgical_rite_alignments_effect = yes
### CHAD / IRONSIDE SKULL ###
# Spawn the historical skull at game start in Lichfield.

View file

@ -421,6 +421,8 @@ on_rite_created = {
######################################################
pam_on_conversion_effect = yes
# Apply the shared-mainline language divergence reduction to a new branch.
rite = { neow_sync_rite_liturgical_alignment_effect = yes }
remove_character_modifier = religious_reformer_modifier
# The rite is brand new, so everyone already holding it (creator, realm priest, AI vassals who accepted the code-sent offer) is part of the founding wave and brings their court and domain along
faith = {
@ -707,6 +709,13 @@ on_rite_edited = {
}
effect = {
# Recalculate all branches in case the edited rite is the mainline.
faith = {
every_faith_rite = {
neow_sync_rite_liturgical_alignment_effect = yes
}
}
# Refresh clergy whose rite doctrine has just been edited.
faith = {
organization ?= {
@ -1210,6 +1219,13 @@ on_faith_monthly = {
great_holy_war.0030 #Monthly cleanup for Beneficiaries becoming unfit for various reasons.
}
effect = {
# A mainline rite cannot retain Papal Blessing granted to a subordinate rite.
main_rite ?= {
if = {
limit = { rite_has_doctrine = special_doctrine_pope_blessing }
remove_rite_doctrine = special_doctrine_pope_blessing
}
}
# Religious migrants created by the County Conversion council task move somewhere safe
random = {
chance = 4 # Roughly once every 2 years
@ -1786,6 +1802,11 @@ update_main_rite_action = {
}
}
set_main_rite = yes
# Promotion cancels the privilege granted to a subordinate rite.
if = {
limit = { rite_has_doctrine = special_doctrine_pope_blessing }
remove_rite_doctrine = special_doctrine_pope_blessing
}
}
}
}

View file

@ -2,6 +2,10 @@
# Root does not exist
yearly_global_pulse = {
effect = {
# Includes pre-patch saves and script-driven rite doctrine changes.
# The synchronizer only changes rites whose alignment is out of date.
neow_sync_all_liturgical_rite_alignments_effect = yes
# Random chance for the Black Plague to spawn
bd_random_game_rule_effect = yes
# Daoxue is disabled in the 867 history and nothing else enables it during play

View file

@ -486,3 +486,11 @@ liturgical_language = {
divergence = category
is_available_on_create = { always = yes }
}
# The alignment doctrine is applied by script to rites matching their
# mainline liturgy; it must never be chosen independently when creating rites.
neow_liturgical_language_alignment_group = {
category = special
doctrine_lock = rite
is_available_on_create = { always = no }
}

View file

@ -513,14 +513,21 @@ special_doctrine_byzantine_dreaming = {
}
}
}
# Liturgical language is a rite doctrine, independent of the Eastern/Western Christian portrait classification.
# Liturgical language is a rite doctrine, independent of Eastern/Western classification.
# Matching the mainline incurs no language divergence; a different choice costs
# 5 divergence in total (2.5 + 2.5 for either doctrine, including No Language).
# Each named language includes the same-mainline alignment parameter for the
# doctrine tooltip and qualification check. CK3 computes category divergence as
# zero for matching picks, so the separate invisible -10 adjustment must remain
# as an internal implementation detail (not another selectable language).
# Shared language parameters provide an opinion preference between their followers.
# The chooser must know the language, come from a related linguistic culture, or follow a rite already using it.
# Doctrine can_pick uses scope:actor (never an optional actor link, which could bypass restrictions).
doctrine_liturgical_language_none = {
doctrine_group_type = liturgical_language
icon = "doctrine_clerical_function"
index = 0
divergence = 0
divergence = 2.5
parameters = {
neow_liturgical_language_none
}
@ -530,10 +537,17 @@ doctrine_liturgical_language_latin = {
doctrine_group_type = liturgical_language
icon = "doctrine_clerical_function"
index = 1
divergence = 0
divergence = 2.5
parameters = {
neow_liturgical_language_latin
neow_liturgical_language_mainline_alignment
}
special_parameters = {
parameter_opinion_override = {
neow_liturgical_language_latin = 5
}
}
can_pick = {
custom_tooltip = {
@ -578,10 +592,17 @@ doctrine_liturgical_language_koine = {
doctrine_group_type = liturgical_language
icon = "doctrine_clerical_function"
index = 2
divergence = 0
divergence = 2.5
parameters = {
neow_liturgical_language_koine
neow_liturgical_language_mainline_alignment
}
special_parameters = {
parameter_opinion_override = {
neow_liturgical_language_koine = 5
}
}
can_pick = {
custom_tooltip = {
text = neow_liturgical_language_koine_requirement
@ -620,10 +641,17 @@ doctrine_liturgical_language_church_slavonic = {
doctrine_group_type = liturgical_language
icon = "doctrine_clerical_function"
index = 3
divergence = 0
divergence = 2.5
parameters = {
neow_liturgical_language_church_slavonic
neow_liturgical_language_mainline_alignment
}
special_parameters = {
parameter_opinion_override = {
neow_liturgical_language_church_slavonic = 5
}
}
can_pick = {
custom_tooltip = {
@ -679,10 +707,17 @@ doctrine_liturgical_language_irish = {
doctrine_group_type = liturgical_language
icon = "doctrine_clerical_function"
index = 4
divergence = 0
divergence = 2.5
parameters = {
neow_liturgical_language_irish
neow_liturgical_language_mainline_alignment
}
special_parameters = {
parameter_opinion_override = {
neow_liturgical_language_irish = 5
}
}
can_pick = {
custom_tooltip = {
@ -711,10 +746,17 @@ doctrine_liturgical_language_armenian = {
doctrine_group_type = liturgical_language
icon = "doctrine_clerical_function"
index = 5
divergence = 0
divergence = 2.5
parameters = {
neow_liturgical_language_armenian
neow_liturgical_language_mainline_alignment
}
special_parameters = {
parameter_opinion_override = {
neow_liturgical_language_armenian = 5
}
}
can_pick = {
custom_tooltip = {
@ -760,10 +802,17 @@ doctrine_liturgical_language_classical_georgian = {
doctrine_group_type = liturgical_language
icon = "doctrine_clerical_function"
index = 8
divergence = 0
divergence = 2.5
parameters = {
neow_liturgical_language_classical_georgian
neow_liturgical_language_mainline_alignment
}
special_parameters = {
parameter_opinion_override = {
neow_liturgical_language_classical_georgian = 5
}
}
can_pick = {
custom_tooltip = {
@ -792,10 +841,17 @@ doctrine_liturgical_language_church_romanian = {
doctrine_group_type = liturgical_language
icon = "doctrine_clerical_function"
index = 10
divergence = 0
divergence = 2.5
parameters = {
neow_liturgical_language_church_romanian
neow_liturgical_language_mainline_alignment
}
special_parameters = {
parameter_opinion_override = {
neow_liturgical_language_church_romanian = 5
}
}
can_pick = {
custom_tooltip = {
text = neow_liturgical_language_church_romanian_requirement
@ -824,10 +880,17 @@ doctrine_liturgical_language_arabic = {
doctrine_group_type = liturgical_language
icon = "doctrine_clerical_function"
index = 11
divergence = 0
divergence = 2.5
parameters = {
neow_liturgical_language_arabic
neow_liturgical_language_mainline_alignment
}
special_parameters = {
parameter_opinion_override = {
neow_liturgical_language_arabic = 5
}
}
can_pick = {
custom_tooltip = {
text = neow_liturgical_language_arabic_requirement
@ -856,10 +919,17 @@ doctrine_liturgical_language_hebrew = {
doctrine_group_type = liturgical_language
icon = "doctrine_clerical_function"
index = 12
divergence = 0
divergence = 2.5
parameters = {
neow_liturgical_language_hebrew
neow_liturgical_language_mainline_alignment
}
special_parameters = {
parameter_opinion_override = {
neow_liturgical_language_hebrew = 5
}
}
can_pick = {
custom_tooltip = {
text = neow_liturgical_language_hebrew_requirement
@ -884,3 +954,42 @@ doctrine_liturgical_language_hebrew = {
}
}
}
doctrine_liturgical_language_esperanto = {
doctrine_group_type = liturgical_language
icon = "doctrine_clerical_function"
index = 13
divergence = 2.5
parameters = {
neow_liturgical_language_esperanto
neow_liturgical_language_mainline_alignment
}
special_parameters = {
parameter_opinion_override = {
neow_liturgical_language_esperanto = 5
}
}
can_pick = {
custom_tooltip = {
text = neow_liturgical_language_esperanto_requirement
scope:actor = {
OR = {
knows_language = NEOW_language_esperanto
culture = { has_cultural_pillar = NEOW_language_esperanto }
rite ?= { rite_has_doctrine = doctrine_liturgical_language_esperanto }
}
}
}
}
}
# Internal divergence effect of neow_liturgical_language_mainline_alignment,
# which is defined on every selectable named liturgical-language doctrine.
# Never shown as another language choice; never granted to the mainline itself.
# Do not put this in the liturgical_language group (one selectable pick per rite).
special_doctrine_liturgical_language_alignment = {
doctrine_group_type = neow_liturgical_language_alignment_group
icon = "doctrine_clerical_function"
visible = no
divergence = -10
}

View file

@ -0,0 +1,119 @@
# 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
}
}

View file

@ -1175,68 +1175,202 @@ neow_western_orthodox_convert_catholic_ruler_effect = {
christian_clergy_learn_liturgical_language_effect = {
if = {
limit = { is_clergy = yes }
if = {
limit = {
rite ?= { rite_has_doctrine = doctrine_liturgical_language_latin }
NOT = { knows_language = language_latin }
}
learn_language = language_latin
}
if = {
limit = {
rite ?= { rite_has_doctrine = doctrine_liturgical_language_koine }
NOT = { knows_language = NEOW_language_koine }
}
learn_language = NEOW_language_koine
}
if = {
limit = {
rite ?= { rite_has_doctrine = doctrine_liturgical_language_church_slavonic }
NOT = { knows_language = NEOW_language_church_slavonic }
}
learn_language = NEOW_language_church_slavonic
}
if = {
limit = {
rite ?= { rite_has_doctrine = doctrine_liturgical_language_irish }
NOT = { knows_language = NEOW_language_irish }
}
learn_language = NEOW_language_irish
}
if = {
limit = {
rite ?= { rite_has_doctrine = doctrine_liturgical_language_armenian }
NOT = { knows_language = language_armenian }
}
learn_language = language_armenian
}
if = {
limit = {
rite ?= { rite_has_doctrine = doctrine_liturgical_language_classical_georgian }
NOT = { knows_language = NEOW_language_classical_georgian }
}
learn_language = NEOW_language_classical_georgian
}
if = {
limit = {
rite ?= { rite_has_doctrine = doctrine_liturgical_language_church_romanian }
NOT = { knows_language = NEOW_language_church_romanian }
}
learn_language = NEOW_language_church_romanian
}
if = {
limit = {
rite ?= { rite_has_doctrine = doctrine_liturgical_language_arabic }
NOT = { knows_language = language_arabic }
}
learn_language = language_arabic
}
if = {
limit = {
rite ?= { rite_has_doctrine = doctrine_liturgical_language_hebrew }
NOT = { knows_language = NEOW_language_hebrew }
}
learn_language = NEOW_language_hebrew
}
neow_teach_rite_liturgical_language_effect = yes
}
}
# Character scope: teaches the language currently selected by the character's rite.
# Kept separate from the clergy on-action so a lay character may also learn it.
neow_teach_rite_liturgical_language_effect = {
if = {
limit = {
rite ?= { rite_has_doctrine = doctrine_liturgical_language_latin }
NOT = { knows_language = language_latin }
}
learn_language = language_latin
}
if = {
limit = {
rite ?= { rite_has_doctrine = doctrine_liturgical_language_koine }
NOT = { knows_language = NEOW_language_koine }
}
learn_language = NEOW_language_koine
}
if = {
limit = {
rite ?= { rite_has_doctrine = doctrine_liturgical_language_church_slavonic }
NOT = { knows_language = NEOW_language_church_slavonic }
}
learn_language = NEOW_language_church_slavonic
}
if = {
limit = {
rite ?= { rite_has_doctrine = doctrine_liturgical_language_irish }
NOT = { knows_language = NEOW_language_irish }
}
learn_language = NEOW_language_irish
}
if = {
limit = {
rite ?= { rite_has_doctrine = doctrine_liturgical_language_armenian }
NOT = { knows_language = language_armenian }
}
learn_language = language_armenian
}
if = {
limit = {
rite ?= { rite_has_doctrine = doctrine_liturgical_language_classical_georgian }
NOT = { knows_language = NEOW_language_classical_georgian }
}
learn_language = NEOW_language_classical_georgian
}
if = {
limit = {
rite ?= { rite_has_doctrine = doctrine_liturgical_language_church_romanian }
NOT = { knows_language = NEOW_language_church_romanian }
}
learn_language = NEOW_language_church_romanian
}
if = {
limit = {
rite ?= { rite_has_doctrine = doctrine_liturgical_language_arabic }
NOT = { knows_language = language_arabic }
}
learn_language = language_arabic
}
if = {
limit = {
rite ?= { rite_has_doctrine = doctrine_liturgical_language_hebrew }
NOT = { knows_language = NEOW_language_hebrew }
}
learn_language = NEOW_language_hebrew
}
if = {
limit = {
rite ?= { rite_has_doctrine = doctrine_liturgical_language_esperanto }
NOT = { knows_language = NEOW_language_esperanto }
}
learn_language = NEOW_language_esperanto
}
}
# Rite scope. A separate negative-divergence doctrine is required because
# the category divergence of an identical doctrine is zero, not negative.
neow_sync_rite_liturgical_alignment_effect = {
if = {
limit = {
neow_rite_matches_mainline_liturgical_language_trigger = yes
NOT = { rite_has_doctrine = special_doctrine_liturgical_language_alignment }
}
add_rite_doctrine = special_doctrine_liturgical_language_alignment
}
else_if = {
limit = {
rite_has_doctrine = special_doctrine_liturgical_language_alignment
neow_rite_matches_mainline_liturgical_language_trigger = no
}
remove_rite_doctrine = special_doctrine_liturgical_language_alignment
}
}
# Any scope: resynchronizes historic rites and older saved games.
neow_sync_all_liturgical_rite_alignments_effect = {
every_religion_global = {
every_faith = {
# Historic and dynamically promoted mainline rites cannot retain this boon.
main_rite ?= {
if = {
limit = { rite_has_doctrine = special_doctrine_pope_blessing }
remove_rite_doctrine = special_doctrine_pope_blessing
}
}
every_faith_rite = {
neow_sync_rite_liturgical_alignment_effect = yes
}
}
}
}
# Character scope: adopt the rite's known liturgical language for an existing royal court.
neow_set_rite_liturgical_court_language_effect = {
if = {
limit = {
rite ?= { rite_has_doctrine = doctrine_liturgical_language_latin }
knows_language = language_latin
NOT = { has_court_language = language_latin }
}
set_court_language = language_latin
}
if = {
limit = {
rite ?= { rite_has_doctrine = doctrine_liturgical_language_koine }
knows_language = NEOW_language_koine
NOT = { has_court_language = NEOW_language_koine }
}
set_court_language = NEOW_language_koine
}
if = {
limit = {
rite ?= { rite_has_doctrine = doctrine_liturgical_language_church_slavonic }
knows_language = NEOW_language_church_slavonic
NOT = { has_court_language = NEOW_language_church_slavonic }
}
set_court_language = NEOW_language_church_slavonic
}
if = {
limit = {
rite ?= { rite_has_doctrine = doctrine_liturgical_language_irish }
knows_language = NEOW_language_irish
NOT = { has_court_language = NEOW_language_irish }
}
set_court_language = NEOW_language_irish
}
if = {
limit = {
rite ?= { rite_has_doctrine = doctrine_liturgical_language_armenian }
knows_language = language_armenian
NOT = { has_court_language = language_armenian }
}
set_court_language = language_armenian
}
if = {
limit = {
rite ?= { rite_has_doctrine = doctrine_liturgical_language_classical_georgian }
knows_language = NEOW_language_classical_georgian
NOT = { has_court_language = NEOW_language_classical_georgian }
}
set_court_language = NEOW_language_classical_georgian
}
if = {
limit = {
rite ?= { rite_has_doctrine = doctrine_liturgical_language_church_romanian }
knows_language = NEOW_language_church_romanian
NOT = { has_court_language = NEOW_language_church_romanian }
}
set_court_language = NEOW_language_church_romanian
}
if = {
limit = {
rite ?= { rite_has_doctrine = doctrine_liturgical_language_arabic }
knows_language = language_arabic
NOT = { has_court_language = language_arabic }
}
set_court_language = language_arabic
}
if = {
limit = {
rite ?= { rite_has_doctrine = doctrine_liturgical_language_hebrew }
knows_language = NEOW_language_hebrew
NOT = { has_court_language = NEOW_language_hebrew }
}
set_court_language = NEOW_language_hebrew
}
if = {
limit = {
rite ?= { rite_has_doctrine = doctrine_liturgical_language_esperanto }
knows_language = NEOW_language_esperanto
NOT = { has_court_language = NEOW_language_esperanto }
}
set_court_language = NEOW_language_esperanto
}
}

View file

@ -7440,3 +7440,154 @@ pam_arabic_as_liturgical_language_trigger = {
pam_hebrew_as_liturgical_language_trigger = {
rite_has_doctrine = doctrine_liturgical_language_hebrew
}
# Character scope: this character follows a rite prescribing a language they do not know.
neow_rite_liturgical_language_is_missing_trigger = {
OR = {
AND = {
rite ?= { rite_has_doctrine = doctrine_liturgical_language_latin }
NOT = { knows_language = language_latin }
}
AND = {
rite ?= { rite_has_doctrine = doctrine_liturgical_language_koine }
NOT = { knows_language = NEOW_language_koine }
}
AND = {
rite ?= { rite_has_doctrine = doctrine_liturgical_language_church_slavonic }
NOT = { knows_language = NEOW_language_church_slavonic }
}
AND = {
rite ?= { rite_has_doctrine = doctrine_liturgical_language_irish }
NOT = { knows_language = NEOW_language_irish }
}
AND = {
rite ?= { rite_has_doctrine = doctrine_liturgical_language_armenian }
NOT = { knows_language = language_armenian }
}
AND = {
rite ?= { rite_has_doctrine = doctrine_liturgical_language_classical_georgian }
NOT = { knows_language = NEOW_language_classical_georgian }
}
AND = {
rite ?= { rite_has_doctrine = doctrine_liturgical_language_church_romanian }
NOT = { knows_language = NEOW_language_church_romanian }
}
AND = {
rite ?= { rite_has_doctrine = doctrine_liturgical_language_arabic }
NOT = { knows_language = language_arabic }
}
AND = {
rite ?= { rite_has_doctrine = doctrine_liturgical_language_hebrew }
NOT = { knows_language = NEOW_language_hebrew }
}
AND = {
rite ?= { rite_has_doctrine = doctrine_liturgical_language_esperanto }
NOT = { knows_language = NEOW_language_esperanto }
}
}
}
# Rite scope. Only a branch preserving the mainline's named liturgical language
# qualifies; "No Liturgical Language" is not a shared language.
neow_rite_matches_mainline_liturgical_language_trigger = {
NOT = { this = faith.main_rite }
rite_has_parameter = neow_liturgical_language_mainline_alignment
OR = {
AND = {
rite_has_doctrine = doctrine_liturgical_language_latin
faith.main_rite = { rite_has_doctrine = doctrine_liturgical_language_latin }
}
AND = {
rite_has_doctrine = doctrine_liturgical_language_koine
faith.main_rite = { rite_has_doctrine = doctrine_liturgical_language_koine }
}
AND = {
rite_has_doctrine = doctrine_liturgical_language_church_slavonic
faith.main_rite = { rite_has_doctrine = doctrine_liturgical_language_church_slavonic }
}
AND = {
rite_has_doctrine = doctrine_liturgical_language_irish
faith.main_rite = { rite_has_doctrine = doctrine_liturgical_language_irish }
}
AND = {
rite_has_doctrine = doctrine_liturgical_language_armenian
faith.main_rite = { rite_has_doctrine = doctrine_liturgical_language_armenian }
}
AND = {
rite_has_doctrine = doctrine_liturgical_language_classical_georgian
faith.main_rite = { rite_has_doctrine = doctrine_liturgical_language_classical_georgian }
}
AND = {
rite_has_doctrine = doctrine_liturgical_language_church_romanian
faith.main_rite = { rite_has_doctrine = doctrine_liturgical_language_church_romanian }
}
AND = {
rite_has_doctrine = doctrine_liturgical_language_arabic
faith.main_rite = { rite_has_doctrine = doctrine_liturgical_language_arabic }
}
AND = {
rite_has_doctrine = doctrine_liturgical_language_hebrew
faith.main_rite = { rite_has_doctrine = doctrine_liturgical_language_hebrew }
}
AND = {
rite_has_doctrine = doctrine_liturgical_language_esperanto
faith.main_rite = { rite_has_doctrine = doctrine_liturgical_language_esperanto }
}
}
}
# Character scope: the ruler knows the language prescribed by their rite and may adopt it at court.
neow_rite_liturgical_language_known_not_court_trigger = {
OR = {
AND = {
rite ?= { rite_has_doctrine = doctrine_liturgical_language_latin }
knows_language = language_latin
NOT = { has_court_language = language_latin }
}
AND = {
rite ?= { rite_has_doctrine = doctrine_liturgical_language_koine }
knows_language = NEOW_language_koine
NOT = { has_court_language = NEOW_language_koine }
}
AND = {
rite ?= { rite_has_doctrine = doctrine_liturgical_language_church_slavonic }
knows_language = NEOW_language_church_slavonic
NOT = { has_court_language = NEOW_language_church_slavonic }
}
AND = {
rite ?= { rite_has_doctrine = doctrine_liturgical_language_irish }
knows_language = NEOW_language_irish
NOT = { has_court_language = NEOW_language_irish }
}
AND = {
rite ?= { rite_has_doctrine = doctrine_liturgical_language_armenian }
knows_language = language_armenian
NOT = { has_court_language = language_armenian }
}
AND = {
rite ?= { rite_has_doctrine = doctrine_liturgical_language_classical_georgian }
knows_language = NEOW_language_classical_georgian
NOT = { has_court_language = NEOW_language_classical_georgian }
}
AND = {
rite ?= { rite_has_doctrine = doctrine_liturgical_language_church_romanian }
knows_language = NEOW_language_church_romanian
NOT = { has_court_language = NEOW_language_church_romanian }
}
AND = {
rite ?= { rite_has_doctrine = doctrine_liturgical_language_arabic }
knows_language = language_arabic
NOT = { has_court_language = language_arabic }
}
AND = {
rite ?= { rite_has_doctrine = doctrine_liturgical_language_hebrew }
knows_language = NEOW_language_hebrew
NOT = { has_court_language = NEOW_language_hebrew }
}
AND = {
rite ?= { rite_has_doctrine = doctrine_liturgical_language_esperanto }
knows_language = NEOW_language_esperanto
NOT = { has_court_language = NEOW_language_esperanto }
}
}
}

View file

@ -405,6 +405,7 @@
liturgical_language_name:0 "Liturgical Language"
doctrine_liturgical_language_none_name:0 "No Liturgical Language"
doctrine_liturgical_language_none_desc:0 "No single language is prescribed for religious worship. Prayers, rites, and sacred readings may be celebrated in the tongues of the faithful."
doctrine_parameter_neow_liturgical_language_mainline_alignment:0 "#P -10#! Rite Divergence when the liturgical language matches the Faith's Mainline Rite"
doctrine_liturgical_language_latin_name:0 "Latin"
doctrine_liturgical_language_latin_desc:0 "The sacred offices are celebrated in Latin, preserving a common inheritance of liturgy, learning, and ecclesiastical law throughout the Western Church."
doctrine_liturgical_language_koine_name:0 "Koine Greek"
@ -437,3 +438,38 @@
neow_liturgical_language_church_romanian_requirement:0 "To choose Church Romanian, you must know Church Romanian or a Romanian language, belong to a Romanian, Wallachian, or Aromanian-speaking culture, or already follow a Church Romanian rite."
neow_liturgical_language_arabic_requirement:0 "To choose Arabic, you must know Arabic or a closely related language such as Maltese, belong to an Arabic- or Maltese-speaking culture, or already follow an Arabic-language rite."
neow_liturgical_language_hebrew_requirement:0 "To choose Hebrew, you must know Hebrew, belong to a Hebrew- or historically Hebrew-associated culture (including Yiddish-speaking cultures), or already follow a Hebrew-language rite."
doctrine_liturgical_language_esperanto_name:0 "Esperanto"
doctrine_liturgical_language_esperanto_desc:0 "Religious offices, prayers, and sacred readings are celebrated in Esperanto, a constructed international language intended to unite believers of different peoples."
neow_liturgical_language_esperanto_requirement:0 "To choose Esperanto, you must know Esperanto, belong to an Esperanto-speaking culture, or already follow a rite using Esperanto as its liturgical language."
# Study a prescribed liturgical language. This is separate from the automatic clergy-language effect.
neow_study_rite_liturgical_language_decision:0 "Study Liturgical Language"
neow_study_rite_liturgical_language_decision_desc:0 "The prayers and sacred writings of my rite are preserved in a tongue I have yet to master. Through patient study, I may come to understand and recite them as they ought to be spoken."
neow_study_rite_liturgical_language_decision_tooltip:0 "Begin a personal scheme to learn your rite's liturgical language. Succeed to gain [piety|E]; fail and lose [piety|E]."
neow_study_rite_liturgical_language_not_already_studying_tt:0 "You are not already undertaking liturgical language study"
neow_study_rite_liturgical_language_chance_tt:0 "Your chance of success is determined when the scheme is completed. [learning|E] and diligence help your studies, while laziness hinders them."
neow_study_rite_liturgical_language_success:0 "Liturgical Studies Completed"
neow_study_rite_liturgical_language_failure:0 "Liturgical Studies Unsuccessful"
neow_study_rite_liturgical_language_start_scheme_tt:0 "Begin a Liturgical Language Study Scheme. Its outcome will be decided when the scheme concludes."
neow_study_rite_liturgical_language_scheme_desc:0 "Devote yourself to the prayers, sacred texts, and speech of your rite, with the hope of mastering its liturgical tongue."
neow_study_rite_liturgical_language_scheme_success_desc:0 "Learn your rite's liturgical language and gain 100 [piety|E]; failure costs 50 [piety|E]."
neow_study_rite_liturgical_language_success_piety_tt:0 "You have mastered your rite's liturgical language and gained 100 [piety|E]."
neow_study_rite_liturgical_language_failure_piety_tt:0 "Your studies have borne little fruit, and you lose 50 [piety|E]."
neow_liturgical_language_study_learning_bonus:0 "Scholarly Aptitude"
neow_liturgical_language_study_diligent_bonus:0 "Diligence"
neow_liturgical_language_study_lazy_penalty:0 "Laziness"
neow_study_rite_liturgical_language:0 "Study Liturgical Language"
neow_study_rite_liturgical_language_action:0 "Study Liturgical Language"
special_doctrine_liturgical_language_alignment_name:0 "Shared Liturgical Language"
special_doctrine_liturgical_language_alignment_desc:0 "This rite preserves the liturgical language of its faith's mainline rite, strengthening their common religious tradition."
neow_liturgical_language_alignment_group_name:0 "Liturgical Language Alignment"
# Decision confirmation buttons and court-language choice.
neow_study_rite_liturgical_language_decision_confirm:0 "Begin Studies"
neow_use_rite_liturgical_language_at_court_decision:0 "Adopt Liturgical Court Language"
neow_use_rite_liturgical_language_at_court_decision_desc:0 "The sacred tongue of our rite is known to me, and it is fitting that the same language should be heard in the affairs of my court."
neow_use_rite_liturgical_language_at_court_decision_tooltip:0 "Adopt your rite's liturgical language as your [court_language|E]."
neow_use_rite_liturgical_language_at_court_decision_confirm:0 "Adopt Liturgical Language"

View file

@ -22,4 +22,28 @@
octobrist_religion_opinion:0 "$octobrist_religion_adherent$ Opinion"
wicca_religion_opinion:0 "$wicca_religion_adherent$ Opinion"
xenology_religion_opinion:0 "$xenology_religion_adherent$ Opinion"
yugoslavic_religion_opinion:0 "$yugoslavic_religion_adherent$ Opinion"
yugoslavic_religion_opinion:0 "$yugoslavic_religion_adherent$ Opinion"
# Liturgical-language opinion effects (doctrine parameter tooltip text).
doctrine_parameter_neow_liturgical_language_latin_opinion_active:0 "Characters following rites that use Latin as their liturgical language gain #P +5#! [opinion|E] of one another"
doctrine_parameter_neow_liturgical_language_koine_opinion_active:0 "Characters following rites that use Koine Greek as their liturgical language gain #P +5#! [opinion|E] of one another"
doctrine_parameter_neow_liturgical_language_church_slavonic_opinion_active:0 "Characters following rites that use Church Slavonic as their liturgical language gain #P +5#! [opinion|E] of one another"
doctrine_parameter_neow_liturgical_language_irish_opinion_active:0 "Characters following rites that use Irish as their liturgical language gain #P +5#! [opinion|E] of one another"
doctrine_parameter_neow_liturgical_language_armenian_opinion_active:0 "Characters following rites that use Classical Armenian as their liturgical language gain #P +5#! [opinion|E] of one another"
doctrine_parameter_neow_liturgical_language_classical_georgian_opinion_active:0 "Characters following rites that use Classical Georgian as their liturgical language gain #P +5#! [opinion|E] of one another"
doctrine_parameter_neow_liturgical_language_church_romanian_opinion_active:0 "Characters following rites that use Church Romanian as their liturgical language gain #P +5#! [opinion|E] of one another"
doctrine_parameter_neow_liturgical_language_arabic_opinion_active:0 "Characters following rites that use Arabic as their liturgical language gain #P +5#! [opinion|E] of one another"
doctrine_parameter_neow_liturgical_language_hebrew_opinion_active:0 "Characters following rites that use Hebrew as their liturgical language gain #P +5#! [opinion|E] of one another"
doctrine_parameter_neow_liturgical_language_esperanto_opinion_active:0 "Characters following rites that use Esperanto as their liturgical language gain #P +5#! [opinion|E] of one another"
# Names shown in the character opinion breakdown.
neow_liturgical_language_latin_opinion_name:0 "Shared Latin Liturgical Language"
neow_liturgical_language_koine_opinion_name:0 "Shared Koine Greek Liturgical Language"
neow_liturgical_language_church_slavonic_opinion_name:0 "Shared Church Slavonic Liturgical Language"
neow_liturgical_language_irish_opinion_name:0 "Shared Irish Liturgical Language"
neow_liturgical_language_armenian_opinion_name:0 "Shared Classical Armenian Liturgical Language"
neow_liturgical_language_classical_georgian_opinion_name:0 "Shared Classical Georgian Liturgical Language"
neow_liturgical_language_church_romanian_opinion_name:0 "Shared Church Romanian Liturgical Language"
neow_liturgical_language_arabic_opinion_name:0 "Shared Arabic Liturgical Language"
neow_liturgical_language_hebrew_opinion_name:0 "Shared Hebrew Liturgical Language"
neow_liturgical_language_esperanto_opinion_name:0 "Shared Esperanto Liturgical Language"

View file

@ -119,3 +119,28 @@
NEOW_cadaverist_enthrone_preserved_pope_decision_effect_tooltip:0 "The Roman Pope will be executed, his Papacy abolished, and the Preserved enthroned at the Vatican. The Ecclesiarch will govern the Church, and Saint Peter's Basilica will become the Vatican Ossuary."
NEOW_cadaverist_enthrone_preserved_pope_decision_confirm:0 "Enthrone the Preserved"
NEOW_cadaverist_restoration_fervor_gain:0 "The Preserved Enthroned"
# Liturgical language: personal study, scheme feedback, and court-language decisions.
neow_study_rite_liturgical_language_decision:0 "Study Liturgical Language"
neow_study_rite_liturgical_language_decision_desc:0 "The prayers and sacred writings of my rite are preserved in a tongue I have yet to master. Through patient study, I may come to understand and recite them as they ought to be spoken."
neow_study_rite_liturgical_language_decision_tooltip:0 "Begin a personal scheme to learn your rite's liturgical language. Succeed to gain [piety|E]; fail and lose [piety|E]."
neow_study_rite_liturgical_language_not_already_studying_tt:0 "You are not already undertaking liturgical language study"
neow_study_rite_liturgical_language_chance_tt:0 "Your chance of success is determined when the scheme is completed. [learning|E] and diligence help your studies, while laziness hinders them."
neow_study_rite_liturgical_language_success:0 "Liturgical Studies Completed"
neow_study_rite_liturgical_language_failure:0 "Liturgical Studies Unsuccessful"
neow_study_rite_liturgical_language_start_scheme_tt:0 "Begin a Liturgical Language Study Scheme. Its outcome will be decided when the scheme concludes."
neow_study_rite_liturgical_language_scheme_desc:0 "Devote yourself to the prayers, sacred texts, and speech of your rite, with the hope of mastering its liturgical tongue."
neow_study_rite_liturgical_language_scheme_success_desc:0 "Learn your rite's liturgical language and gain 100 [piety|E]; failure costs 50 [piety|E]."
neow_study_rite_liturgical_language_success_piety_tt:0 "You have mastered your rite's liturgical language and gained 100 [piety|E]."
neow_study_rite_liturgical_language_failure_piety_tt:0 "Your studies have borne little fruit, and you lose 50 [piety|E]."
neow_liturgical_language_study_learning_bonus:0 "Scholarly Aptitude"
neow_liturgical_language_study_diligent_bonus:0 "Diligence"
neow_liturgical_language_study_lazy_penalty:0 "Laziness"
neow_study_rite_liturgical_language:0 "Study Liturgical Language"
neow_study_rite_liturgical_language_action:0 "Study Liturgical Language"
neow_study_rite_liturgical_language_decision_confirm:0 "Begin Studies"
neow_use_rite_liturgical_language_at_court_decision:0 "Adopt Liturgical Court Language"
neow_use_rite_liturgical_language_at_court_decision_desc:0 "The sacred tongue of our rite is known to me, and it is fitting that the same language should be heard in the affairs of my court."
neow_use_rite_liturgical_language_at_court_decision_tooltip:0 "Adopt your rite's liturgical language as your [court_language|E]."
neow_use_rite_liturgical_language_at_court_decision_confirm:0 "Adopt Liturgical Language"
neow_liturgical_court_language_adopt_effect_tt:0 "Your [court_language|E] becomes your rite's liturgical language."