Religion updating, initial work

Title
This commit is contained in:
Archa3opt3ryx 2026-03-27 13:37:57 -04:00
parent 22c377b71d
commit 70afecd162
39 changed files with 10543 additions and 16 deletions

View file

@ -0,0 +1,587 @@
hostility_group = {
category = "not_creatable"
doctrine_types = {
abrahamic_hostility_doctrine
pagan_hostility_doctrine
eastern_hostility_doctrine
sinitic_hostility_doctrine
}
}
doctrine_marriage_type = {
category = "marriage"
doctrine_types = {
doctrine_monogamy
doctrine_polygamy
doctrine_concubines
}
}
doctrine_divorce = {
category = "marriage"
doctrine_types = {
doctrine_divorce_disallowed
doctrine_divorce_approval
doctrine_divorce_allowed
}
}
doctrine_bastardry = {
category = "marriage"
doctrine_types = {
doctrine_bastardry_none
doctrine_bastardry_legitimization
doctrine_bastardry_all
}
}
doctrine_homosexuality = {
category = "crimes"
doctrine_types = {
doctrine_homosexuality_crime
doctrine_homosexuality_shunned
doctrine_homosexuality_accepted
}
}
doctrine_deviancy = {
category = "crimes"
doctrine_types = {
doctrine_deviancy_crime
doctrine_deviancy_shunned
doctrine_deviancy_accepted
doctrine_deviancy_virtuous
}
}
doctrine_adultery_men = {
category = "crimes"
doctrine_types = {
doctrine_adultery_men_crime
doctrine_adultery_men_shunned
doctrine_adultery_men_accepted
}
}
doctrine_adultery_women = {
category = "crimes"
doctrine_types = {
doctrine_adultery_women_crime
doctrine_adultery_women_shunned
doctrine_adultery_women_accepted
}
}
doctrine_kinslaying = {
category = "crimes"
doctrine_types = {
doctrine_kinslaying_any_dynasty_member_crime
doctrine_kinslaying_extended_family_crime
doctrine_kinslaying_close_kin_crime
doctrine_kinslaying_shunned
doctrine_kinslaying_accepted
}
}
doctrine_witchcraft = {
category = "crimes"
doctrine_types = {
doctrine_witchcraft_crime
doctrine_witchcraft_shunned
doctrine_witchcraft_accepted
doctrine_witchcraft_virtuous
}
}
doctrine_gender = {
category = "main_group"
doctrine_types = {
doctrine_gender_male_dominated
doctrine_gender_equal
doctrine_gender_female_dominated
}
}
doctrine_consanguinity = {
category = "marriage"
doctrine_types = {
doctrine_consanguinity_dynastic
doctrine_consanguinity_restricted
doctrine_consanguinity_cousins
doctrine_consanguinity_aunt_nephew_and_uncle_niece
doctrine_consanguinity_unrestricted
}
}
doctrine_pluralism = {
category = "main_group"
doctrine_types = {
doctrine_pluralism_fundamentalist
doctrine_pluralism_righteous
doctrine_pluralism_pluralistic
}
}
doctrine_theocracy = {
category = "main_group"
doctrine_types = {
doctrine_theocracy_temporal
doctrine_theocracy_lay_clergy
}
}
doctrine_head_of_faith = {
category = "main_group"
doctrine_types = {
doctrine_no_head
doctrine_spiritual_head
doctrine_temporal_head
}
}
doctrine_clerical_function = {
category = "clergy"
doctrine_types = {
doctrine_clerical_function_taxation
doctrine_clerical_function_alms_and_pacification
doctrine_clerical_function_recruitment
}
}
doctrine_clerical_gender = {
category = "clergy"
doctrine_types = {
doctrine_clerical_gender_male_only
doctrine_clerical_gender_female_only
doctrine_clerical_gender_either
}
}
doctrine_clerical_marriage = {
category = "clergy"
doctrine_types = {
doctrine_clerical_marriage_allowed
doctrine_clerical_marriage_disallowed
}
}
doctrine_clerical_succession = {
category = "clergy"
doctrine_types = {
doctrine_clerical_succession_temporal_appointment
doctrine_clerical_succession_spiritual_appointment
doctrine_clerical_succession_temporal_fixed_appointment
doctrine_clerical_succession_spiritual_fixed_appointment
}
}
doctrine_pilgrimage = {
category = "main_group"
doctrine_types = {
doctrine_pilgrimage_forbidden
doctrine_pilgrimage_encouraged
doctrine_pilgrimage_local_rites
doctrine_pilgrimage_mandatory
doctrine_pilgrimage_mandatory_hajj
}
}
doctrine_funeral = {
category = "clergy"
doctrine_types = {
doctrine_funeral_stoic
doctrine_funeral_bewailment
doctrine_funeral_cremation
doctrine_funeral_sky_burial
doctrine_funeral_mummification
doctrine_family_rites
}
}
doctrine_coronation = {
category = "clergy"
is_available_on_create = {
has_ach_dlc_trigger = yes
}
doctrine_types = {
doctrine_no_anointment
doctrine_anointment_permitted
doctrine_imperial_anointment
}
}
doctrine_theism = {
category = "main_group"
doctrine_types = {
doctrine_monotheist
doctrine_polytheist
}
}
doctrine_muhammad_succession = {
category = "main_group"
is_available_on_create = {
religion_tag = islam_religion
}
doctrine_types = {
muhammad_succession_sunni_doctrine
muhammad_succession_shia_doctrine
muhammad_succession_muhakkima_doctrine
muhammad_succession_zandaqa_doctrine
}
}
doctrine_temple_authority = {
category = "main_group"
is_available_on_create = {
religion_tag = judaism_religion
}
doctrine_types = {
temple_authority_rabbinic_doctrine
temple_authority_toric_doctrine
temple_authority_kohanim_doctrine
temple_authority_samaritan_torah_doctrine
}
}
doctrine_zoroastrian_branches = {
category = "main_group"
is_available_on_create = {
religion_tag = zoroastrianism_religion
}
doctrine_types = {
doctrine_major_branch_behdin
doctrine_heretic_branch_zandik
}
}
doctrine_core_tenets = {
category = "core_tenets"
number_of_picks = 3
doctrine_types = {
# Christian Faith Tenets
tenet_aniconism
tenet_alexandrian_catechism
tenet_armed_pilgrimages
tenet_carnal_exaltation
tenet_communal_identity
tenet_communion
tenet_consolamentum
tenet_divine_marriage
tenet_gnosticism
tenet_mendicant_preachers
tenet_monasticism
tenet_pacifism
tenet_pentarchy
tenet_unrelenting_faith
tenet_vows_of_poverty
tenet_pastoral_isolation
tenet_rite
# Muslim Faith Tenets
tenet_adaptive
tenet_esotericism
tenet_legalism
tenet_literalism
tenet_reincarnation
tenet_religious_legal_pronouncements
tenet_struggle_submission
tenet_false_conversion_sanction
tenet_tax_nonbelievers
# Eastern Faith Tenets
tenet_asceticism
tenet_bhakti
tenet_dharmic_pacifism
tenet_inner_journey
tenet_ritual_hospitality
# Pagan Faith Tenets
tenet_adorcism
tenet_ancestor_worship
tenet_astrology
tenet_hedonistic
tenet_human_sacrifice
tenet_mystical_birthright
tenet_ritual_celebrations
tenet_sacred_childbirth
tenet_sanctity_of_nature
tenet_sun_worship
tenet_warmonger
tenet_gruesome_festivals
tenet_cthonic_redoubts
tenet_household_gods
# Syncretic Faith Tenets
tenet_sinitic_syncretism
tenet_eastern_syncretism
tenet_unreformed_syncretism
tenet_christian_syncretism
tenet_islamic_syncretism
tenet_jewish_syncretism
# Custom Faith Tenets
tenet_exaltation_of_pain
tenet_natural_primitivism
tenet_pursuit_of_power
tenet_ritual_cannibalism
tenet_sacred_shadows
tenet_polyamory
tenet_sacrificial_ceremonies
tenet_megaliths
# FP3 Tenets
tenet_fp3_fedayeen
tenet_communal_possessions
# TGP Tenets
tenet_pure_land
tenet_no_mind
tenet_mountain_worship
tenet_extinction_of_dharma
tenet_cranial_trophies
tenet_pursuit_of_knowledge
tenet_benevolent_governance
tenet_filial_piety
tenet_harmonious_society
tenet_sacred_destruction
tenet_preservation
tenet_takamin
}
}
is_christian_faith = {
category = "special"
is_available_on_create = {
has_doctrine = special_doctrine_is_christian_faith
}
doctrine_types = {
special_doctrine_is_christian_faith
}
}
is_islamic_faith = {
category = "special"
is_available_on_create = {
has_doctrine = special_doctrine_is_islamic_faith
}
doctrine_types = {
special_doctrine_is_islamic_faith
}
}
is_jewish_faith = {
category = "special"
is_available_on_create = {
has_doctrine = special_doctrine_is_jewish_faith
}
doctrine_types = {
special_doctrine_is_jewish_faith
}
}
is_eastern_faith = {
category = "special"
is_available_on_create = {
has_doctrine = special_doctrine_is_eastern_faith
}
doctrine_types = {
special_doctrine_is_eastern_faith
}
}
is_sinitic_faith = {
category = "special"
is_available_on_create = {
has_doctrine = special_doctrine_is_sinitic_faith
}
doctrine_types = {
special_doctrine_is_sinitic_faith
}
}
is_hostile_to_maitreya = {
category = "not_creatable"
doctrine_types = {
special_doctrine_maitreya_hostility
special_doctrine_is_maitreya
}
}
is_gnostic_faith = {
category = "special"
is_available_on_create = {
has_doctrine = special_doctrine_is_gnostic_faith
}
doctrine_types = {
special_doctrine_is_gnostic_faith
}
}
special_tolerance = {
category = "main_group"
is_available_on_create = {
always = no # Goes away when creating a new Faith
}
doctrine_types = {
special_doctrine_ecumenical_christian
}
}
heresy_hostility = {
category = "not_creatable"
is_available_on_create = {
has_doctrine = heresy_hostility_doctrine
}
doctrine_types = {
heresy_hostility_doctrine
}
}
nudity_doctrine = {
category = "special"
is_available_on_create = {
has_doctrine = special_doctrine_naked_priests
}
doctrine_types = {
special_doctrine_naked_priests
}
}
unreformed_faith = {
category = "not_creatable"
is_available_on_create = {
# Goes away on reformation
always = no
}
doctrine_types = {
unreformed_faith_doctrine
west_african_unreformed_faith_doctrine
}
}
divine_destiny = {
category = "special"
is_available_on_create = {
has_doctrine = divine_destiny_doctrine
}
doctrine_types = {
divine_destiny_doctrine
}
}
adoptionist_school = {
category = "special"
is_available_on_create = {
# Removed on reformation.
always = no
}
doctrine_types = {
special_doctrine_adoptionist_school_elipandic_doctrine
special_doctrine_adoptionist_school_felicitous_doctrine
special_doctrine_adoptionist_school_radical_doctrine
}
}
not_allowed_to_hof = {
category = "special"
is_available_on_create = {
# Removed on reformation.
always = no
}
doctrine_types = {
special_doctrine_not_allowed_to_hof
}
}
#Game rule only
full_tolerance = {
category = "special"
is_available_on_create = {
has_doctrine = special_doctrine_full_tolerance
}
doctrine_types = {
special_doctrine_full_tolerance
}
}
has_jizya_doctrine = {
category = "special"
is_available_on_create = {
OR = {
has_doctrine = special_doctrine_jizya
has_doctrine = special_doctrine_is_islamic_faith
}
}
doctrine_types = {
special_doctrine_jizya
}
}
immaterial_harmony = {
category = "special"
is_available_on_create = {
has_doctrine = special_doctrine_immaterial_harmony
}
doctrine_types = {
special_doctrine_immaterial_harmony
}
}

View file

@ -0,0 +1,34 @@
### Brief: key ( database key )
# Name of 'doctrine_group'
# The key will be used for the doctrine icon, combined with the path in the define FAITH_DOCTRINE_ICON_PATH
# Localization is selected by: <key> + "_name"
#
key = {
### Brief: category ( string )
# How the group is categorized in the UI
#
category = "string"
### Brief: number_of_picks ( integer )
# How many unique doctrines within the group does the player get to choose?
# Default is 1.
#
number_of_picks = 1
### Brief: is_available_on_create ( trigger )
# When should this doctrine group be shown when choosing doctrines?
# If not shown, the group will go away entirely on create if present on the old faith.
#
# Supported scopes:
# root ( Faith )
#
is_available_on_create = { ... }
### Brief: doctrine_types ( list of database key )
# List the doctrine types to be associated with this group.
#
doctrine_types = {
<key>
<key>
}
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,40 @@
# Defined early so tenets / other doctrines can override these
hostility_group = {
group = "not_creatable"
abrahamic_hostility_doctrine = {
parameters = {
hostility_same_religion = 2
hostility_same_family = 3
hostility_others = 3
}
}
pagan_hostility_doctrine = {
visible = no
parameters = {
hostility_same_religion = 1
hostility_same_family = 2
hostility_others = 3
}
}
eastern_hostility_doctrine = {
parameters = {
hostility_same_religion = 1
hostility_same_family = 1
hostility_others = 2
}
}
sinitic_hostility_doctrine = {
parameters = {
hostility_same_religion = 1
hostility_same_family = 1
hostility_others = 2
}
}
antediluvianist_hostility_doctrine = {
parameters = {
hostility_same_religion = 2
hostility_same_family = 2
hostility_others = 3
}
}
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,70 @@
muhammad_succession_sunni_doctrine = {
icon = "muhammad_succession_sunni_doctrine"
piety_cost = {
value = faith_doctrine_cost_low
if = {
limit = { has_doctrine = muhammad_succession_sunni_doctrine }
multiply = 0
}
}
parameters = {
hostility_override_muhammad_succession_sunni_doctrine = 1
same_hof_hostility_override = 0
}
}
muhammad_succession_shia_doctrine = {
icon = "muhammad_succession_shia_doctrine"
piety_cost = {
value = faith_doctrine_cost_low
if = {
limit = { has_doctrine = muhammad_succession_shia_doctrine }
multiply = 0
}
}
parameters = {
hostility_override_muhammad_succession_shia_doctrine = 1
same_hof_hostility_override = 0
}
}
muhammad_succession_muhakkima_doctrine = {
icon = "muhammad_succession_muhakkima_doctrine"
piety_cost = {
value = faith_doctrine_cost_low
if = {
limit = { has_doctrine = muhammad_succession_muhakkima_doctrine }
multiply = 0
}
}
parameters = {
hostility_override_muhammad_succession_muhakkima_doctrine = 1
same_hof_hostility_override = 0
}
}
muhammad_succession_zandaqa_doctrine = {
icon = "muhammad_succession_zandaqa_doctrine"
piety_cost = {
value = faith_doctrine_cost_low
if = {
limit = { has_doctrine = muhammad_succession_zandaqa_doctrine }
multiply = 0
}
}
character_modifier = {
advantage_against_coreligionists = 5
}
parameters = {
same_hof_hostility_override = 0
}
}

View file

@ -0,0 +1,114 @@
# Tracks the way in which Halakha is supposed to be interpreted
temple_authority_rabbinic_doctrine = { # Rabbis argue and interpret the Halakha
icon = "temple_authority_rabbinic_doctrine"
piety_cost = {
if = {
limit = { has_doctrine = temple_authority_rabbinic_doctrine }
value = 0
}
else_if = {
limit = { has_doctrine = temple_authority_samaritan_torah_doctrine }
value = faith_tenet_cost_mid
}
else = {
value = faith_tenet_cost_low
}
}
character_modifier = {
clergy_opinion = 5
church_holding_build_gold_cost = -0.1
}
parameters = {
hostility_override_temple_authority_rabbinic_doctrine = 1
hostility_override_temple_authority_samaritan_torah_doctrine = 3
}
}
temple_authority_toric_doctrine = { # Rabbis are meant to interpret the literal meaning of the Torah
icon = "temple_authority_toric_doctrine"
piety_cost = {
if = {
limit = { has_doctrine = temple_authority_toric_doctrine }
value = 0
}
else_if = {
limit = { has_doctrine = temple_authority_samaritan_torah_doctrine }
value = faith_tenet_cost_mid
}
else = {
value = faith_tenet_cost_low
}
}
traits = {
virtues = { scholar }
}
character_modifier = {
artifact_decay_reduction_mult = -0.1
}
parameters = {
hostility_override_temple_authority_toric_doctrine = 1
hostility_override_temple_authority_samaritan_torah_doctrine = 3
}
}
temple_authority_kohanim_doctrine = { # Belief that the Halakha is to be interpreted by the Kohen
icon = "temple_authority_kohanim_doctrine"
piety_cost = {
if = {
limit = { has_doctrine = temple_authority_kohanim_doctrine }
value = 0
}
else_if = {
limit = { has_doctrine = temple_authority_samaritan_torah_doctrine }
value = faith_tenet_cost_mid
}
else = {
value = faith_tenet_cost_low
}
}
character_modifier = {
opinion_of_same_culture = 5
}
parameters = {
hostility_override_temple_authority_kohanim_doctrine = 1
hostility_override_temple_authority_samaritan_torah_doctrine = 3
}
}
temple_authority_samaritan_torah_doctrine = { # Belief in the Samaritan Torah
icon = "temple_authority_samaritan_torah_doctrine"
piety_cost = {
if = {
limit = { has_doctrine = temple_authority_samaritan_torah_doctrine }
value = 0
}
else = {
value = faith_tenet_cost_mid
}
}
parameters = {
hostility_override_temple_authority_samaritan_torah_doctrine = 0
hostility_override_temple_authority_rabbinic_doctrine = 3
hostility_override_temple_authority_toric_doctrine = 3
hostility_override_temple_authority_kohanim_doctrine = 3
}
character_modifier = {
different_faith_opinion = -10
same_faith_opinion = 10
domain_tax_same_faith_mult = 0.05
levy_reinforcement_rate_same_faith = 0.1
}
}

View file

@ -0,0 +1,27 @@
doctrine_major_branch_behdin = {
icon = "doctrine_major_branch_behdin"
piety_cost = {
value = faith_doctrine_cost_high
if = {
limit = { has_doctrine = doctrine_heretic_branch_zandik } #Becoming accepted by the mainstream movement is very piety-expensive
multiply = 3
}
}
parameters = {
hostility_override_doctrine_major_branch_behdin = 1
}
}
doctrine_heretic_branch_zandik = {
icon = "doctrine_heretic_branch_zandik"
piety_cost = {
value = faith_doctrine_cost_low #but being a heretic, that's cheap...
}
character_modifier = {
advantage_against_coreligionists = 5
}
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,267 @@
special_doctrine_is_christian_faith = {
parameters = {
# Since doctrines cannot modify other faith's views of us, only our view of others, all Christian faiths are given this special doctrine which makes them friendlier to Faiths with the Christian Syncretism tenet.
hostility_override_tenet_christian_syncretism = 2
christian_syncretic_recipient_opinion_active = yes
opinion_of_christian_syncretic_actor_opinion_active = 30
# We don't localise these because Adoptionists are supposed to be a bit of a surprise.
hostility_override_special_doctrine_adoptionist_school_felicitous_doctrine = 3
hostility_override_special_doctrine_adoptionist_school_radical_doctrine = 3
}
}
special_doctrine_is_islamic_faith = {
parameters = {
# Since doctrines cannot modify other faith's views of us, only our view of others, all Islamic faiths are given this special doctrine which makes them friendlier to Faiths with the Christian Syncretism tenet.
hostility_override_tenet_islamic_syncretism = 2
islamic_syncretic_recipient_opinion_active = yes
opinion_of_islamic_syncretic_actor_opinion_active = 30
}
}
special_doctrine_is_jewish_faith = {
parameters = {
# Since doctrines cannot modify other faith's views of us, only our view of others, all Jewish faiths are given this special doctrine which makes them friendlier to Faiths with the Christian Syncretism tenet.
hostility_override_tenet_jewish_syncretism = 2
jewish_syncretic_recipient_opinion_active = yes
opinion_of_jewish_syncretic_actor_opinion_active = 30
}
}
special_doctrine_is_eastern_faith = {
parameters = {
# Since doctrines cannot modify other faith's views of us, only our view of others, all Eastern faiths are given this special doctrine which makes them friendlier to Faiths with the Eastern Syncretism tenet.
hostility_override_tenet_eastern_syncretism = 1
eastern_syncretic_recipient_opinion_active = yes
opinion_of_eastern_syncretic_actor_opinion_active = 30
}
}
special_doctrine_is_sinitic_faith = {
parameters = {
# Since doctrines cannot modify other faith's views of us, only our view of others, all Eastern faiths are given this special doctrine which makes them friendlier to Faiths with the Sinitic Syncretism tenet.
hostility_override_tenet_sinitic_syncretism = 1
sinitic_syncretic_recipient_opinion_active = yes
opinion_of_sinitic_syncretic_actor_opinion_active = 30
}
}
special_doctrine_is_gnostic_faith = {
parameters = {
hostility_override_tenet_gnosticism = 0
hostility_override_special_doctrine_is_gnostic_faith = 0
granting_titles_gives_stress = yes
}
traits = {
virtues = { temperate }
sins = { gluttonous }
}
character_modifier = {
learning = 2
stewardship = -2
}
}
special_doctrine_ecumenical_christian = {
icon = "special_doctrine_ecumenical_christian"
parameters = {
hostility_override_special_doctrine_ecumenical_christian = 1
}
}
heresy_hostility_doctrine = {
parameters = {
hostility_same_religion = 2
}
}
special_doctrine_naked_priests = {
parameters = {
naked_priests_active = yes
}
}
unreformed_faith_doctrine = {
visible = no
parameters = {
# unreformed = yes also serves as the basis for the unreformed_syncretic tenet.
unreformed = yes
hostility_override_tenet_unreformed_syncretism = 2
unreformed_syncretic_recipient_opinion_active = yes
opinion_of_unreformed_syncretic_actor_opinion_active = 30
conquest_cb_enabled = yes
faith_can_raid = yes
}
character_modifier = {
monthly_prestige_gain_mult = 0.2
clan_government_vassal_opinion = -20
feudal_government_vassal_opinion = -20
republic_government_vassal_opinion = -20
}
}
west_african_unreformed_faith_doctrine = {
visible = no
parameters = {
# unreformed = yes also serves as the basis for the unreformed_syncretic tenet.
unreformed = yes
hostility_override_tenet_unreformed_syncretism = 2
unreformed_syncretic_recipient_opinion_active = yes
opinion_of_unreformed_syncretic_actor_opinion_active = 30
conquest_cb_enabled = yes
faith_can_raid = yes
}
character_modifier = {
monthly_prestige_gain_mult = 0.1
}
}
divine_destiny_doctrine = {
piety_cost = {
value = faith_doctrine_cost_low
}
parameters = {
divine_destiny_holy_war_cost_reduction = yes
}
}
special_doctrine_adoptionist_school_elipandic_doctrine = {
parameters = {
# Elipandics only think other ecumenicals are astray rather than hostile.
## We can't localise the actual parameter due to structural shenanigans, so we make a dummy one.
hostility_override_special_doctrine_is_christian_faith = 1
adoptionists_like_ecumenism = yes
# ... note that they're only thought of as hostile, unlike the other two schools, who are regarded as evil.
adoptionists_are_unilateral_hostile = yes
# Removed on reformation.
adoptionist_school_removed_on_reformation = yes
# Adoptionists convert other Christians faster.
adoptionists_attractively_intuitive_theology = yes
}
character_modifier = { learning_per_piety_level = 1 }
traits = {
virtues = { stubborn }
}
}
special_doctrine_adoptionist_school_felicitous_doctrine = {
parameters = {
# Felicians only think other ecumenicals are astray rather than hostile.
## We can't localise the actual parameter due to structural shenanigans, so we make a dummy one.
hostility_override_special_doctrine_is_christian_faith = 1
adoptionists_like_ecumenism = yes
# ... other Christians think they're evil, though.
adoptionists_are_unilateral_evil = yes
# Removed on reformation.
adoptionist_school_removed_on_reformation = yes
# Adoptionists convert other Christians faster.
adoptionists_attractively_intuitive_theology = yes
}
character_modifier = { intrigue_per_piety_level = 1 }
traits = {
virtues = { deceitful }
}
}
special_doctrine_adoptionist_school_radical_doctrine = {
parameters = {
# Radicals hate & are hated by everyone.
hostility_override_special_doctrine_is_christian_faith = 3
adoptionists_are_mutual_evil = yes
# Removed on reformation.
adoptionist_school_removed_on_reformation = yes
# Adoptionists convert other Christians faster.
adoptionists_attractively_intuitive_theology = yes
}
character_modifier = {
advantage_against_coreligionists = 5
# And, if you're gonna build a fundamentalist movement...
ai_war_chance = 1
ai_war_cooldown = -0.5
}
traits = {
virtues = { arrogant }
}
}
special_doctrine_not_allowed_to_hof = {
name = {
first_valid = {
triggered_desc = {
trigger = {
religion_tag = judaism_religion
}
desc = prophecy_of_malachi_name
}
desc = special_doctrine_not_allowed_to_hof_name
}
}
desc = {
first_valid = {
triggered_desc = {
trigger = {
religion_tag = judaism_religion
}
desc = prophecy_of_malachi_desc
}
desc = special_doctrine_not_allowed_to_hof_desc
}
}
parameters = {
block_from_create_hof_parameter = yes
}
}
special_doctrine_full_tolerance = {
parameters = {
hostility_override_special_doctrine_full_tolerance = 0
}
}
special_doctrine_jizya = {
character_modifier = {
domain_tax_different_faith_mult = 0.2
levy_reinforcement_rate_same_faith = 0.25
levy_reinforcement_rate_different_faith = -0.25
}
parameters = {
unlock_jizya_contract = yes
}
}
special_doctrine_immaterial_harmony = {
parameters = {
hostility_override_special_doctrine_immaterial_harmony = 0
reduced_vassal_religion_discontent = yes
immaterial_harmony_conversion_cost_reduced = yes
immaterial_harmony_buddhist_take_vows = yes
}
}
special_doctrine_maitreya_hostility = {
visible = no
parameters = {
hostility_override_tenet_extinction_of_dharma = 3
}
}
special_doctrine_is_maitreya = {
visible = no
}

View file

@ -0,0 +1,216 @@
#NEOW visible virtue doctrines
anglican_virtues = {
group = "special"
is_available_on_create = {
has_doctrine = special_doctrine_english_anglican
}
special_doctrine_english_anglican = {
traits = {
virtues = { just = 2 brave = 2 }
sins = { arbitrary = 2 craven = 2 }
}
}
}
britannic_virtues = {
group = "special"
is_available_on_create = {
OR = {
has_doctrine = special_doctrine_british_royalty
has_doctrine = special_doctrine_british_admiralty
has_doctrine = special_doctrine_british_unity
}
}
special_doctrine_british_royalty = {
traits = {
virtues = { just stubborn }
sins = { arbitrary fickle }
}
}
special_doctrine_british_admiralty = {
traits = {
virtues = { brave stubborn }
sins = { craven fickle }
}
}
special_doctrine_british_unity = {
traits = {
virtues = { generous humble diligent }
sins = { greedy arrogant lazy }
}
}
}
estatist_virtues = {
group = "special"
is_available_on_create = {
OR = {
has_doctrine = special_doctrine_liberty
has_doctrine = special_doctrine_equality
has_doctrine = special_doctrine_fraternity
}
}
special_doctrine_liberty = {
traits = {
virtues = { forgiving compassionate }
sins = { vengeful sadistic }
}
}
special_doctrine_equality = {
traits = {
virtues = { compassionate humble }
sins = { sadistic arrogant }
}
}
special_doctrine_fraternity = {
traits = {
virtues = { trusting gregarious }
sins = { paranoid shy }
}
}
}
novelist_virtues = {
group = "special"
is_available_on_create = {
OR = {
has_doctrine = special_doctrine_aslan
has_doctrine = special_doctrine_numenor
has_doctrine = special_doctrine_charlemagne
has_doctrine = special_doctrine_dracula
has_doctrine = special_doctrine_reason_and_progress
has_doctrine = special_doctrine_simurghi
has_doctrine = special_doctrine_rocambolist
has_doctrine = special_doctrine_absurdist
}
}
special_doctrine_aslan = {
traits = {
virtues = { humble forgiving }
sins = { arrogant vengeful }
}
}
special_doctrine_numenor = {
traits = {
virtues = { generous gregarious }
sins = { greedy shy }
}
}
special_doctrine_charlemagne = {
traits = {
virtues = { ambitious honest }
sins = { content deceitful }
}
}
special_doctrine_dracula = {
traits = {
virtues = { callous vengeful }
sins = { compassionate forgiving }
}
}
special_doctrine_reason_and_progress = {
traits = {
virtues = { diligent ambitious }
sins = { lazy content }
}
}
special_doctrine_simurghi = {
traits = {
virtues = { temperate honest }
sins = { gluttonous deceitful }
}
}
special_doctrine_rocambolist = {
traits = {
virtues = { gregarious deceitful }
sins = { shy honest }
}
}
special_doctrine_absurdist = {
traits = {
virtues = { cynical ambitious }
sins = { zealous content }
}
}
}
thelema_virtues = {
group = "special"
is_available_on_create = {
OR = {
has_doctrine = special_doctrine_base_thelema
has_doctrine = special_doctrine_old_thelema
}
}
special_doctrine_base_thelema = {
traits = {
virtues = { just stubborn }
sins = { arbitrary fickle }
}
}
special_doctrine_old_thelema = {
traits = {
virtues = { ambitious disloyal }
sins = { content loyal }
}
}
}
wicca_virtues = {
group = "special"
is_available_on_create = {
OR = {
has_doctrine = special_doctrine_king_arthurs_bravery
has_doctrine = special_doctrine_horned_lords_law
}
}
special_doctrine_king_arthurs_bravery = {
traits = {
virtues = { brave }
sins = { craven }
}
}
special_doctrine_horned_lords_law = {
traits = {
virtues = { just }
sins = { arbitrary }
}
}
}
radical_virtues = {
group = "special"
is_available_on_create = {
has_doctrine = special_doctrine_helvetic
}
special_doctrine_helvetic = {
traits = {
virtues = { chaste = 3 humble = 3 temperate = 3 diligent = 3 patient = 3 compassionate = 3 generous = 3 }
sins = { lustful = 3 arrogant = 3 wrathful = 3 lazy = 3 gluttonous = 3 sadistic = 3 vengeful = 3 }
}
}
}

View file

@ -0,0 +1,151 @@
### Brief: key ( database key )
# Name of 'doctrine_type'
# Faith doctrines are what defines how a faith works. All unique faith mechanics are tied to doctrines, rather than involving hardcoding or special parameters on the religion itself.
#
key = {
### Brief: icon ( optional string )
# To override which icon is used, set its filename here (without file ending).
# Required path = DOCTRINE_TYPE_ICON_PATH
# Default: Will look for icon in the path with the same name as key
#
icon = "filename"
### brief: name ( optional dynamic description )
# Dynamic description selecting name of doctrine.
# Defaults to: <doctrine_key> + "_name"
#
# Supported scope:
# root ( Faith )
#
name = { ... }
### brief: desc ( optional dynamic description )
# Dynamic description selecting description of doctrine.
# Defaults to: <doctrine_key> + "_desc"
#
# Supported scopes:
# root ( Faith )
#
desc = { ... }
### brief: visible ( bool )
# Will this doctrine show up in gui views?
# Defaults to: yes
#
visible = yes/no
### Brief: parameters ( parameter list )
# Arbitrary parameters where bool types can be checked with the trigger: 'has_doctrine_parameter'
#
# Note: The above trigger just checks for existence, so it does not
# matter if the value is set to 'yes' or 'no'.
#
parameters = {
param_name = yes/no # Parameters can take bools
param_name = 0.5 # Or fixed point numbers
}
### Brief: piety_cost ( optional scripted cost )
# How much does this doctrine cost?
#
piety_cost = {
<scripted_cost>
}
### Brief: is_shown ( trigger )
# When should this doctrine be shown when choosing doctrines?
#
# Supported scopes:
# root ( Faith )
#
is_shown = {
<triggers>
}
### Brief: can_pick ( trigger )
# When can this doctrine be picked when choosing doctrines?
# When doctrines should refer to other selected doctrines when creating a new faith (e.g. for mutually exclusive doctrines), use:
# flag:required_doctrine = { is_in_list = selected_doctrines }
# The "selected_doctrines" list is the list of doctrines currently selected in the UI. (It might be different from the doctrines in
# the faith, since the player can change multiple doctrines when creating a faith.)
#
# Supported scopes:
# root ( Faith )
#
can_pick = {
<triggers>
}
### Brief: character_modifier ( modifiers )
# All characters of this faith get this modifier.
# Ex: { monthly_piety_gain_mult = -0.25, same_faith_opinion = -5 }
#
character_modifier = {
<modifier>
}
### Brief: doctrine_character_modifier ( modifiers )
# All characters of this faith get this modifier if the faith also has the specified doctrine.
#
doctrine_character_modifier = {
doctrine = ...
...
}
### Brief: traits ( database keys )
# Adds additional sins/virtues. See traits in _religions.info. If a trait is already a sin or virtue in the religion, the doctrine takes precedence.
#
traits = { ... }
}
== Special parameters ==
Many parameters interact directly with the code. This is a list of all such parameters.
- minimum_fervor = 25 - Fervor cannot go below this value
- number_of_spouses = 1 - How many spouses can people have (script restricts non-rulers to one)
- number_of_consorts = 1 - How many consorts can rulers have (script restricts non-rulers to zero)
- female_spouses = 1 - How many spouses can women have
- men_can_have_multiple_spouses = yes - Can men have multiple spouses? (Combines with number_of_spouses)
- men_can_have_consorts = yes - Can men have consorts? (Combines with number_of_consorts)
- women_can_have_multiple_spouses = no - Can women have multiple spouses? (Combines with number_of_spouses)
- women_can_have_consorts = no - Can women have consorts? (Combines with number_of_consorts)
- divine_marriage_opinion = 10 - If married to someone in your extended family, you get this opinion bonus with direct vassals
- hostility_same_religion = 1 - How hostile is this faith towards other faiths of the same religion? See the "hostility" section for more info
- hostility_same_family = 1 - How hostile is this faith towards other faiths of the same religion family, but not same religion?
- hostility_others = 1 - How hostile is this faith towards faiths from different religion families?
- hostility_override_<doctrine_name> = 1 - How hostile is this faith towards faiths with the given doctrine? Overrides all other types of hostility (except for 0 hostility towards same faith).
- same_hof_hostility_override = 1 - How hostile is this faith towards faith who they share Head of Faith with? Takes precedence over other hostility overrides.
- opinion_of_<doctrine_parameter> = 10 - Has this opinion apply to people with faiths with the given doctrine parameter. Loc for the opinion tooltip is <doctrine_parameter>_opinion_name
- piety_from_long_peace = 0.5 - How much piety will the character get when they've been at peace for longer than NReligion::TIME_AT_PEACE_FOR_PIETY. Can be negative
- allowed_holding_type_holding_name = yes - This holding type can be held by rulers of this faith even if their government would not allow it. Example: allowed_holding_type_castle_holding = yes
- unreformed = yes - This is an unreformed faith. This means that "[Faith.IsUnreformed]" in the data system will return true. It also means that when creating a "new" faith (reforming), you keep the same icon and name, while your current faith gets renamed to its loc key + "_old", and its icon changed to its icon + "_old". Ensuring reformation can only happen once is your responsibility; it is not handled in code. The AI will also reform if they meet all the requirements, though do not actively attempt to fulfill them. When reforming, they'll use the same doctrines as they had before, minus the "Unreformed" doctrine (assuming of course that you've set it up to not be selectable)
- fervor_per_holy_site = 1 - yearly fervor gain per holy site held
- warmonger = yes - vassals and counties of the same faith will get at peace opinion penalty instead of offensive war opinion penalty
- increased_dynasty_prestige_birth_mult - A multiplier for the prestige that characters of this faiths are born.
- increased_dynasty_prestige_marriage_mult - A multiplier for the prestige that characters get from marriages, if both have this parameter (a minimum of their values will be used)
-increased_dynasty_prestige_long_reign_mult - A multiplier for the maximum of years for the long reign opinion.
== Hostility ==
All faiths have a hostility level towards one another. What each level means is entirely scriptable.
A faith always has a hostility level of 0 towards itself.
The opinion effect of hostility is defined by the define HOSTILITY_OPINION_EFFECTS.
The multiplier applied to tolerance_advantage_mod is defined by the define HOSTILITY_COMBAT_MOD_MULT.
The name of each hostility level is defined by the define HOSTILITY_LEVEL_NAMES
Hostility level can be accessed in script. E.G., faith_hostility_level = { target = scope:some_faith value >= 1 }.
You can also compare to see which faith you're most hostile to. E.G., faith_hostility_level_comparison = { scope:some_faith > scope:some_other_faith }
== Precedence ==
Order of definition; later definition, higher precedence.
== Localisation ==
Effects are localized based on the parameter name. "doctrine_parameter_" plus the name. If the value is "no", that plus "_disabled" will be used. If an integer is used, the game will try to append that integer (E.G., "_1"), and use that loc key. If the key doesn't exist, then the int does not get appended.
== Triggers ==
# Used in faith scope
has_doctrine = doctrine_name
has_doctrine_parameter = parameter_name # Only works for bool parameters
== Further requirements ==
Further restrictions on faith creation can be added using the faith_creation scripted rule.

View file

@ -0,0 +1,35 @@
The Great Holy War system is for the most part pretty similar to the one introduced in CK2: Holy Fury.
The biggest difference is that all faiths use the system, rather than only Catholics.
== Concepts ==
Target character: The person who the war will be declared on
Target title: The dejure kingdom being targeted
Official recipient: Who the religious head wants installed as king
Countdown timer: How long it'll take before the war is declared
Pledged participants: Characters who have said they'll join when the war begins. Will be forced to join
War chest: Gold, piety, and prestige that can be divided between participants
Beneficiaries: Who the pledged attackers want to install as rulers in the target kingdom
== Undirected GHW ==
The fanciest form of GHW is the "undirected" form, where the religious head declares that a war will be launched in a while, and that everyone of the faith should help out in some way.
The progression is as follows:
1. The effect start_great_holy_war starts the GHW preparation, determinining the initial target, and the delay before the war should start
2. Attackers and defenders pledge using pledge_attacker/pledge_defender
3. Alternatively, provide things to the warchest using change_war_chest_gold/piety/prestige
4. When the timer runs out, on_great_holy_war_countdown_end is called
5. Script has to call start_ghw_war = cb_to_use. If not called, the GHW will be cancelled and on_great_holy_war_invalidation will be called
6. You can give out some of the war chest using divide_war_chest
7. A war unfolds as normal
8. War contribution gives GHW contribution, based on ghw_score_mult and ghw_max_score_percentage
9. War concludes as normal. As part of this, you can divvy up the war chest (will be divided based on contribution, as long as they have at least MINIMUM_CONTRIBUTION_FOR_REWARD contribution)
10. Titles are given out using do_ghw_title_handout. This does *not* give out the kingdom, just everything below it in the defenders' realms. You need to ensure the winner has a kingdom-tier title. Preferably, make it part of the same title and vassal change
== Directed GHW ==
As above, but steps 1 through 4 are skipped.
Declared via regular CB. Tied to a GHW by starting the GHW with a reference to the war.
When a GHW is set to directed, the only code difference is that the top contributor will act as their own beneficiary, and designated winners are not used. In vanilla, we also disable the war chest
== Various ==
is_great_holy_war = yes - Putting this on the GHW CB(s) will ensure that the counties that'll be given to the participants get correctly highlighted during war declaration

View file

@ -0,0 +1,38 @@
### Brief: key ( database key )
# Name of 'holy_site_type'
# Faiths can have holy sites, giving various effects (mostly through references elsewhere in script).
# Localization is selected by: "holy_site_<key>_name"
# Effect loc is applied in addition to character modifiers (if exists): "holy_site_<key>_effects"
#
key = {
### brief: barony ( database key )
# Define barony override.
#
barony = <key>
### brief: county ( database key )
# Define county.
#
county = <key>
### Brief: parameters ( parameter list )
# Arbitrary parameters to be checked in applying various effects.
# Localization: "holy_site_parameter_<parameter_name>" where $PARAMETER_NAME$ inserts localized named of parameter
# Trigger (barony scope): 'has_holy_site_parameter' where $TITLE$ inserts localized named of barony
# Trigger (faith scope): 'controls_holy_site_with_parameter' where $FAITH$ inserts localized named of faith
#
# Note: The above trigger just checks for existence, so it does not
# matter if the value is set to 'yes' or 'no'.
#
parameters = {
some_parameter = yes
}
### Brief: character_modifier ( modifiers )
# Modifiers applied to all characters of any faith with this holy site when the holder of the barony is of their faith.
# Ex: { development_growth_factor = 0.1, church_holding_build_gold_cost = -0.1 }
#
character_modifier = {
<modifier>
}
}

View file

@ -1,6 +0,0 @@
rf_antediluvianist = {
piety_icon_group = "pagan"
graphical_faith = "pagan_gfx"
hostility_doctrine = pagan_hostility_doctrine
doctrine_background_icon = core_tenet_banner_pagan.dds
}

View file

@ -1,7 +0,0 @@
rf_esoteric = {
is_pagan = yes
piety_icon_group = "pagan"
graphical_faith = "pagan_gfx"
hostility_doctrine = pagan_hostility_doctrine
doctrine_background_icon = core_tenet_banner_pagan.dds
}

View file

@ -0,0 +1,41 @@
rf_abrahamic = {
graphical_faith = "orthodox_gfx"
hostility_doctrine = abrahamic_hostility_doctrine
doctrine_background_icon = core_tenet_banner_christian.dds
}
rf_eastern = { #Dharmic
piety_icon_group = "eastern"
graphical_faith = "dharmic_gfx"
hostility_doctrine = eastern_hostility_doctrine
doctrine_background_icon = core_tenet_banner_eastern.dds
}
rf_sinitic = {
piety_icon_group = "taoism"
graphical_faith = "dharmic_gfx"
hostility_doctrine = eastern_hostility_doctrine
doctrine_background_icon = core_tenet_banner_eastern.dds
}
rf_pagan = {
piety_icon_group = "pagan"
graphical_faith = "pagan_gfx"
hostility_doctrine = pagan_hostility_doctrine
doctrine_background_icon = core_tenet_banner_pagan.dds
}
rf_antediluvianist = {
piety_icon_group = "pagan"
graphical_faith = "pagan_gfx"
hostility_doctrine = pagan_hostility_doctrine
doctrine_background_icon = core_tenet_banner_pagan.dds
}
rf_esoteric = {
is_pagan = yes
piety_icon_group = "pagan"
graphical_faith = "pagan_gfx"
hostility_doctrine = pagan_hostility_doctrine
doctrine_background_icon = core_tenet_banner_pagan.dds
}

View file

@ -0,0 +1,35 @@
### Brief: key ( database key )
# Name of 'religion_family_type'
#
key = {
### Brief: name ( optional string )
# Optionally override what localization key will be used.
# Default: Localization key is same as database key.
#
name = "loc_key"
### Brief: hostility_doctrine ( optional database key )
# Use this doctrine for displaying hostility levels toward other religious families.
# Keys describing levels are: faith_righteous, faith_astray, faith_hostile, faith_evil.
# Default: Will not display hostility levels in tooltips.
#
hostility_doctrine = <key>
### Brief: piety_icon_group ( string )
# This is the final fallback in picking piety icon. Otherwise overridden by: faith > religion > family.
# Text icon format: "PIETY_TEXT_ICON_" + piety_icon_group
#
piety_icon_group = pagan
### Brief: doctrine_background_icon ( string )
# This is the final fallback in picking tenet background. Otherwise overridden by: faith > religion > family.
# Note: This is the banner shown behind picked tenets.
#
doctrine_background_icon = "core_tenet_banner_pagan.dds"
### Brief: graphical_faith ( string )
# This is the final fallback in picking 3D model. Otherwise overridden by: faith > religion > family.
# Note: Currently used for temple assets.
#
graphical_faith = "orthodox_gfx"
}

View file

@ -1,4 +1,4 @@
At game start, the religions and faiths defined in this folder will exist.
At game start, the religions and faiths defined in this folder will exist.
== structure ==
religion_name = {
@ -25,10 +25,9 @@ religion_name = {
# Holders of the traits will also get the virtue_owner_modifier/sin_owner_modifier for each matching trait.
# Virtues and sins can optionally have a multiplier to scale the effects (default is 1):
virtues = { brave = 0.5 } # scales both the opinion effect and the modifier
# And they can specify a custom modifier (default is virtue_owner_modifier/sin_owner_modifier):
# Scale is optional defaults to 1
# Weight is optional defaults to 1. If there are two (or more) the same traits then the weight will be taken into account and is used to decide what and how a trait should be used
sins = { stubborn = { modifier = modifier_key scale = 2 weight = 2 } }
sins = { stubborn = { scale = 2 weight = 2 } }
}
reserved_male_names = { ... } # Names listed here will be applied to all faiths that don't define reserved_male_names themselves.