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 }
}
}
}