From 273cb89aa52c96d6fa8634da2dc0ac5072232505 Mon Sep 17 00:00:00 2001 From: Thakia Date: Thu, 1 Oct 2026 13:11:41 -0300 Subject: [PATCH 1/2] fixing that thing where it looks like characters hanged themselves --- common/accolade_names/00_accolade_names.txt | 40 +- common/achievements/ce3_achievements.txt | 161 +++ .../activities/activity_types/camp_party.txt | 52 +- .../activity_types/chariot_race.txt | 86 +- .../activities/activity_types/coronation.txt | 436 +++--- common/activities/activity_types/feast.txt | 500 +++++-- .../activities/intents/coronation_intents.txt | 4 + .../portraits/female_body/female_body.asset | 4 +- .../portraits/female_body/girl_body.asset | 4 +- gfx/models/portraits/male_body/boy_body.asset | 4 +- .../portraits/male_body/male_body.asset | 4 +- .../portrait_animations/_animations.info | 31 +- .../animations.modifierpack | 260 +++- .../portrait_animations/animations.txt | 1185 +++++++++++++++-- .../portrait_modifiers/00_animation_props.txt | 271 ++++ .../portrait_modifiers/00_custom_headgear.txt | 47 +- .../portrait_modifiers/01_beards_base.txt | 613 +++++++-- .../portrait_modifiers/01_headgear_base.txt | 115 +- .../02_all_developer_characters.txt | 68 + .../02_all_historical_characters.txt | 87 +- .../05_clothes_situational.txt | 30 + 21 files changed, 3227 insertions(+), 775 deletions(-) create mode 100644 common/achievements/ce3_achievements.txt diff --git a/common/accolade_names/00_accolade_names.txt b/common/accolade_names/00_accolade_names.txt index 1b09f416d..9cc988ca8 100644 --- a/common/accolade_names/00_accolade_names.txt +++ b/common/accolade_names/00_accolade_names.txt @@ -47,7 +47,6 @@ accolade_the_knight_of_the_animal = { OR = { geographical_region = world_india geographical_region = world_middle_east - geographical_region = world_burma geographical_region = world_tibet geographical_region = world_asia_china geographical_region = world_asia_japan @@ -75,7 +74,7 @@ accolade_the_knight_of_the_animal = { liege.capital_county.title_province ?= { NOR = { geographical_region = world_africa - geographical_region = world_burma + geographical_region = world_asia_southeast geographical_region = world_steppe } } @@ -456,7 +455,6 @@ accolade_the_knight_of_the_animal = { geographical_region = world_africa_north_east geographical_region = world_africa_west geographical_region = world_india - geographical_region = world_burma geographical_region = world_asia_southeast } } @@ -477,7 +475,6 @@ accolade_the_knight_of_the_animal = { geographical_region = world_africa geographical_region = world_middle_east geographical_region = world_india - geographical_region = world_burma geographical_region = world_asia_minor geographical_region = world_steppe_tarim geographical_region = world_tibet @@ -596,7 +593,6 @@ accolade_the_animal_of_capital = { OR = { geographical_region = world_india geographical_region = world_middle_east - geographical_region = world_burma geographical_region = world_tibet geographical_region = world_asia_china geographical_region = world_asia_japan @@ -624,7 +620,7 @@ accolade_the_animal_of_capital = { liege.capital_county.title_province ?= { NOR = { geographical_region = world_africa - geographical_region = world_burma + geographical_region = world_asia_southeast geographical_region = world_steppe } } @@ -1029,7 +1025,6 @@ accolade_the_animal_of_capital = { geographical_region = world_africa_north_east geographical_region = world_africa_west geographical_region = world_india - geographical_region = world_burma geographical_region = world_asia_southeast } } @@ -1050,7 +1045,6 @@ accolade_the_animal_of_capital = { geographical_region = world_africa geographical_region = world_middle_east geographical_region = world_india - geographical_region = world_burma geographical_region = world_asia_minor geographical_region = world_steppe_tarim geographical_region = world_tibet @@ -2952,6 +2946,7 @@ accolade_knight_of_god = { trigger = { NOR = { faith.religion = religion:finnic_religion +# faith.religion = religion:finno_ugric_religion # faith.religion = religion:north_african_religion # faith.religion = religion:paganism_religion # faith.religion = religion:west_african_religion @@ -2967,6 +2962,7 @@ accolade_knight_of_god = { potential = { exists = liege religion = liege.religion + NOT = { faith.religion = religion:west_african_bori_religion } } } @@ -3875,7 +3871,7 @@ accolade_the_foe_of_enemy_faith = { } faith = { NOR = { - has_doctrine_parameter = unreformed_syncretic_actor_opinion_active + has_doctrine_parameter = unreformed_syncretic_actor has_doctrine_parameter = unreformed } } @@ -3919,7 +3915,7 @@ accolade_the_foe_of_enemy_faith = { faith.religion = religion:catholic_religion faith.religion = religion:protestant_religion faith = { - has_doctrine_parameter = christian_syncretic_actor_opinion_active + has_doctrine_parameter = christian_syncretic_actor } } liege.capital_county.title_province ?= { @@ -3939,13 +3935,9 @@ accolade_the_foe_of_enemy_faith = { triggered_desc = { trigger = { NOR = { - OR = { - faith.religion = religion:eastern_orthodox_religion - faith.religion = religion:catholic_religion - faith.religion = religion:protestant_religion - } + faith.religion = religion:christianity_religion faith = { - has_doctrine_parameter = christian_syncretic_actor_opinion_active + has_doctrine_parameter = christian_syncretic_actor } } liege.capital_county.title_province ?= { @@ -3967,7 +3959,7 @@ accolade_the_foe_of_enemy_faith = { NOR = { faith.religion = religion:islam_religion faith = { - has_doctrine_parameter = islamic_syncretic_actor_opinion_active + has_doctrine_parameter = islamic_syncretic_actor } } liege.capital_county.title_province ?= { @@ -3993,14 +3985,13 @@ accolade_the_foe_of_enemy_faith = { NOR = { faith.religion = religion:buddhism_religion faith = { - has_doctrine_parameter = eastern_syncretic_actor_opinion_active + has_doctrine_parameter = eastern_syncretic_actor } } liege.capital_county.title_province ?= { OR = { geographical_region = world_tibet geographical_region = world_steppe_tarim - geographical_region = world_burma geographical_region = world_india_rajastan geographical_region = world_india_bengal geographical_region = world_asia_china @@ -4020,14 +4011,13 @@ accolade_the_foe_of_enemy_faith = { NOR = { faith.religion = religion:buddhism_religion faith = { - has_doctrine_parameter = eastern_syncretic_actor_opinion_active + has_doctrine_parameter = eastern_syncretic_actor } } liege.capital_county.title_province ?= { OR = { geographical_region = world_tibet geographical_region = world_steppe_tarim - geographical_region = world_burma geographical_region = world_india_rajastan geographical_region = world_india_bengal geographical_region = world_asia_china @@ -4047,7 +4037,7 @@ accolade_the_foe_of_enemy_faith = { NOR = { faith.religion = religion:hinduism_religion faith = { - has_doctrine_parameter = eastern_syncretic_actor_opinion_active + has_doctrine_parameter = eastern_syncretic_actor } } liege.capital_county.title_province ?= { @@ -4066,10 +4056,10 @@ accolade_the_foe_of_enemy_faith = { is_playable_character = yes } faith = liege.faith - faith = { + rite = { NOR = { - has_doctrine = doctrine_pluralism_pluralistic - has_doctrine_parameter = pacifist_opinion_active + rite_has_doctrine = doctrine_pluralism_pluralistic + rite_has_parameter = pacifist } } NOT = { diff --git a/common/achievements/ce3_achievements.txt b/common/achievements/ce3_achievements.txt new file mode 100644 index 000000000..40fa31e6b --- /dev/null +++ b/common/achievements/ce3_achievements.txt @@ -0,0 +1,161 @@ +## 01. The Two Swords +#ce3_04_the_two_swords_achievement = { +# possible = { +# +# } +# happened = { +# custom_description = { +# text = ce3_04_the_two_swords_achievement_trigger +# title:e_hre.holder ?= { +# puppeteer ?= root +# } +# title:k_papal_state.holder ?= { +# pam_pope_is_head_of_faith_or_rite_trigger = yes +# puppeteer ?= root +# } +# } +# } +#} +# +## 02. Guido's Guiding Light +#ce3_02_guidos_guiding_light_achievement = { +# possible = { +# this = character:et_milano_1066_1 +# } +# happened = { +# custom_description = { +# text = ce3_02_guidos_guiding_light_achievement_trigger +# this = character:et_milano_1066_1 +# exists = global_var:ce3_02_guido_declared_antipope +# faith:catholic.main_rite ?= rite:ambrosian_rite +# } +# } +#} +# +## 03. Servus Servorum Dei +#ce3_11_servus_servorum_dei_achievement = { +# possible = { +# has_character_flag = ce3_11_servus_servorum_dei_achievement_start +# } +# happened = { +# custom_description = { +# text = ce3_11_servus_servorum_dei_achievement_trigger +# has_character_flag = ce3_11_servus_servorum_dei_achievement_start +# has_title = title:k_papal_state +# pam_pope_is_head_of_faith_or_rite_trigger = yes +# } +# } +#} +# +## 04. Papal Bull +#ce3_12_papal_bull_achievement = { +# possible = { +# +# } +# happened = { +# custom_description = { +# text = ce3_12_papal_bull_achievement_trigger +# exists = global_var:ce3_12_papal_bull_achievement_unlocked +# } +# } +#} +# +## 05. The Father, the Son, and the Holy Grandson +#ce3_07_the_father_the_son_and_the_holy_grandson_achievement = { +# possible = { +# +# } +# happened = { +# custom_description = { +# text = ce3_07_the_father_the_son_and_the_holy_grandson_achievement_trigger +# exists = global_var:ce3_07_the_father_the_son_and_the_holy_grandson_achievement_unlocked +# } +# } +#} +# +## 06. Where There's a Will +#ce3_13_where_theres_a_will_achievement = { +# possible = { +# +# } +# happened = { +# custom_description = { +# text = ce3_13_where_theres_a_will_achievement_trigger +# exists = global_var:ce3_13_where_theres_a_will_achievement_unlocked +# } +# } +#} +# +## 07. Home See Advantage +#ce3_14_home_see_advantage_achievement = { +# possible = { +# +# } +# happened = { +# custom_description = { +# text = ce3_14_home_see_advantage_achievement_trigger +# exists = global_var:ce3_14_home_see_advantage_achievement_unlocked +# } +# } +#} +# +## 08. Cardinal Sin +#ce3_15_cardinal_sin_achievement = { +# possible = { +# exists = global_var:started_ce3_15_cardinal_sin_achievement +# } +# happened = { +# custom_description = { +# text = ce3_15_cardinal_sin_achievement_trigger +# exists = global_var:started_ce3_15_cardinal_sin_achievement +# exists = dynasty +# pam_college_of_cardinals_election_active_trigger = yes +# trigger_if = { +# limit = { exists = faith:catholic.religious_head_title } +# faith:catholic.religious_head_title = { +# any_elector = { +# count >= 5 +# dynasty ?= root.dynasty +# } +# } +# } +# trigger_else = { +# title:k_papal_state = { +# any_elector = { +# count >= 5 +# dynasty ?= root.dynasty +# } +# } +# } +# } +# } +#} +# +## 09. Father's best side +#ce3_06_fathers_best_side_achievement = { +# possible = { +# +# } +# happened = { +# custom_description = { +# text = ce3_06_fathers_best_side_achievement_trigger +# exists = global_var:ce3_06_fathers_best_side_achievement_unlocked +# } +# } +#} +# +## 10. Holier Than Thou +#ce3_16_holier_than_thou_achievement = { +# possible = { +# +# } +# happened = { +# custom_description = { +# text = ce3_16_holier_than_thou_achievement_trigger +# any_personal_tenet = { +# count >= 3 +# } +# spiritual_fulfillment >= 100 # MAX_SPIRITUAL_FULFILLMENT +# } +# } +#} diff --git a/common/activities/activity_types/camp_party.txt b/common/activities/activity_types/camp_party.txt index caa941107..83db329eb 100644 --- a/common/activities/activity_types/camp_party.txt +++ b/common/activities/activity_types/camp_party.txt @@ -3,21 +3,11 @@ has_ep3_dlc_trigger = yes has_government = landless_adventurer_government is_adult = yes - #Every other activity must be blocked until an uncrowned AI crowns themselves - trigger_if = { - limit = { - is_ai = yes - } - NOT = { - has_realm_law = uncrowned - } - } } can_start_showing_failures_only = { NOT = { is_activity_type_on_cooldown = activity_camp_party } is_available = yes - age >= 16 } is_valid = { @@ -25,27 +15,19 @@ is_alive = yes is_imprisoned = no has_government = landless_adventurer_government - NOT = { is_incapable = yes } + is_incapable = no } } on_invalidated = { - # Host becomes incapable - if = { - limit = { - scope:host = { is_incapable = yes } - } - scope:activity = { - activity_type = { save_scope_as = activity_type } - } - scope:host = { - trigger_event = activity_system.0330 - } - every_attending_character = { - limit = { this != scope:host } - trigger_event = activity_system.0331 - } - } + invalidation_incapable_effect = yes + invalidation_imprisoned_effect = yes + invalidation_nobody_present_effect = yes + invalidation_host_isolated_effect = yes + } + + on_host_death = { + activity_try_use_new_host_effect = yes } province_filter = domicile_domain @@ -162,6 +144,7 @@ is_shown = { always = yes } is_valid = { + pam_vows_of_poverty_premium_activity_option_valid_trigger = yes custom_tooltip = { text = camp_party_food_options_invalid domicile ?= { @@ -233,6 +216,7 @@ is_shown = { always = yes } is_valid = { + pam_vows_of_poverty_premium_activity_option_valid_trigger = yes custom_tooltip = { text = camp_party_food_options_invalid domicile ?= { @@ -318,6 +302,7 @@ is_shown = { always = yes } is_valid = { + pam_vows_of_poverty_premium_activity_option_valid_trigger = yes custom_tooltip = { text = camp_party_drinks_adequate_invalid domicile ?= { @@ -389,6 +374,7 @@ is_shown = { always = yes } is_valid = { + pam_vows_of_poverty_premium_activity_option_valid_trigger = yes custom_tooltip = { text = camp_party_drinks_abundant_invalid domicile ?= { @@ -496,6 +482,9 @@ host_gains_diplo_xp host_gains_intrigue_xp hook_trusting_guest + + apa_passive_religious_learning_host + apa_passive_religious_learning_guest } chance_of_no_event = 2 } @@ -546,6 +535,8 @@ } add = -75 } + + add = activity_general_ai_will_do_value } ai_check_interval = 60 @@ -658,6 +649,11 @@ desc = ACTIVITY_GUEST_ADVENTURER_REASON } + modifier = { #Emperors + primary_title.tier = tier_hegemony + add = -125 + desc = ACTIVITY_GUEST_LANDLESS_REASON + } modifier = { #Emperors primary_title.tier = tier_empire add = -100 @@ -689,6 +685,8 @@ # GRAPHICS ################### + header_background = "gfx/interface/illustrations/activity_header_backgrounds/activity_camp_party.dds" + #Backgrounds mostly not needed here background = { #Campfire trigger = { diff --git a/common/activities/activity_types/chariot_race.txt b/common/activities/activity_types/chariot_race.txt index 7ee0ae235..95137b323 100644 --- a/common/activities/activity_types/chariot_race.txt +++ b/common/activities/activity_types/chariot_race.txt @@ -4,15 +4,8 @@ is_landed = yes culture = { has_cultural_parameter = hosts_chariot_races } has_dlc_feature = roads_to_power - #Every other activity must be blocked until an uncrowned AI crowns themselves - trigger_if = { - limit = { - is_ai = yes - } - NOT = { - has_realm_law = uncrowned - } - } + ai_activity_war_check = yes + ai_activity_coronation_check = yes } can_start_showing_failures_only = { @@ -34,50 +27,16 @@ } on_invalidated = { - # Host becomes unlanded - if = { - limit = { - scope:host = { is_landed = no } - } - scope:activity = { - activity_type = { save_scope_as = activity_type } - } - every_attending_character = { - trigger_event = activity_system.0320 - } - } - if = { # No one shows up - limit = { - has_attending_activity_guests = no - } - scope:activity = { - activity_type = { save_scope_as = activity_type } - activity_location = { save_scope_as = location } - } - scope:host = { trigger_event = activity_system.0100 } - } + invalidation_incapable_effect = yes + invalidation_unlanded_effect = yes + invalidation_imprisoned_effect = yes + invalidation_nobody_present_effect = yes + invalidation_host_isolated_effect = yes chariot_race_remove_variables_effect = yes } on_host_death = { - # Make the title heir the new host - if = { - limit = { exists = scope:host.primary_title.current_heir } - scope:host.primary_title.current_heir = { save_scope_as = new_host } - } - # Otherwise pass to primary heir - else = { - scope:host.primary_heir = { save_scope_as = new_host } - } - - # If we have a new host, set them - if = { - limit = { exists = scope:new_host } - set_activity_host = scope:new_host - scope:new_host = { - trigger_event = { id = activity_system.0080 days = 1 } - } - } + activity_try_use_new_host_effect = yes } # desc is only shown in debug AI watch window @@ -140,6 +99,8 @@ desc = reclusive } } + + add = activity_general_ai_will_do_value } ai_check_interval = 60 @@ -302,6 +263,9 @@ chariot_option_entertainment = { chariot_entertainment_bad = { + default = { + has_personal_tenet_flag = tenet_vows_of_poverty_humble_host + } # desc is only shown in debug AI watch window ai_will_do = { @@ -328,7 +292,12 @@ } } chariot_entertainment_normal = { - default = yes + is_valid = { + pam_vows_of_poverty_premium_activity_option_valid_trigger = yes + } + default = { + NOT = { has_personal_tenet_flag = tenet_vows_of_poverty_humble_host } + } # desc is only shown in debug AI watch window ai_will_do = { value = 10 @@ -354,6 +323,9 @@ } } chariot_entertainment_good = { + is_valid = { + pam_vows_of_poverty_premium_activity_option_valid_trigger = yes + } # desc is only shown in debug AI watch window ai_will_do = { value = 10 @@ -412,7 +384,12 @@ } this != scope:host } - remove_short_term_gold = chariot_race_entrance_fee + send_interface_toast = { + type = event_toast_effect_neutral + title = activity_chariot_race_pay_entrance_fee + left_icon = scope:host + remove_short_term_gold = chariot_race_entrance_fee + } } # we add some money to the pot either way to offset the gains in case a bunch of people make good bets scope:activity = { @@ -462,6 +439,7 @@ location = scope:activity.activity_location template = generic_bookmaker_character faith = scope:activity.activity_location.faith + rite = scope:activity.activity_location.rite culture = scope:activity.activity_location.culture save_scope_as = bookmaker } @@ -817,7 +795,11 @@ chariot_race_pivotal_moment_widget = "widget_activity_pivotal_moment_event_window" } - ### Backgrounds + ################### + # GRAPHICS + ################### + + header_background = "gfx/interface/illustrations/activity_header_backgrounds/activity_chariot_race.dds" # Travel background = { # Bridge diff --git a/common/activities/activity_types/coronation.txt b/common/activities/activity_types/coronation.txt index e4dde2bf1..e670e8a1a 100644 --- a/common/activities/activity_types/coronation.txt +++ b/common/activities/activity_types/coronation.txt @@ -11,9 +11,9 @@ has_realm_law = uncrowned AND = { has_game_rule = coronation_laws_off - NOR = { - has_variable = crowned_king_var - has_variable = crowned_emperor_var + has_none_of_variables = { + name = crowned_king_var + name = crowned_emperor_var } } } @@ -29,7 +29,7 @@ has_realm_law = crowned_emperor AND = { has_realm_law = crowned_king - faith = { has_doctrine = doctrine_no_anointment } + rite = { rite_has_doctrine = doctrine_no_anointment } } } } @@ -51,17 +51,24 @@ trigger_if = { limit = { scope:special_option ?= flag:coronation_type_anointment - NOT = { faith.religious_head ?= this } + coronation_anointment_authority_available_trigger = yes + NOT = { scope:coronation_anointment_authority ?= this } } custom_tooltip = { text = activity_coronation_not_approved_anointment - faith.religious_head = { + scope:coronation_anointment_authority = { is_target_in_variable_list = { name = supported_anointments target = root } } } + scope:coronation_anointment_authority ?= { + custom_tooltip = { + text = activity_coronation_hof_no_anointment_situation + NOT = { pam_the_christian_church_no_anointment_trigger = { RULER = root } } + } + } } # In realms with Ceremonial Lieges, only independent Ceremonial Lieges may hold a Coronation trigger_if = { @@ -73,58 +80,39 @@ } trigger_if = { + # Missing authority skips this block, so a regular coronation stays valid limit = { highest_held_title_tier >= tier_empire - faith = { - has_doctrine = doctrine_spiritual_head - has_doctrine = doctrine_imperial_anointment - } + rite = { rite_has_doctrine = doctrine_imperial_anointment } + coronation_anointment_authority_available_trigger = yes } - faith.religious_head ?= { - save_temporary_scope_as = hof_temp - } - trigger_if = { - limit = { - exists = scope:hof_temp - } - scope:hof_temp = { - custom_description = { - text = HOF_is_ai_tt - is_ai = yes - } - is_available_allow_travelling = yes - } - } - trigger_else = { - custom_description = { - text = HOF_DOESNT_EXIST - exists = scope:hof_temp + scope:coronation_anointment_authority = { + is_available_allow_travelling = yes + custom_tooltip = { + text = activity_coronation_hof_no_anointment_situation + NOT = { pam_the_christian_church_no_anointment_trigger = { RULER = root } } } } NOT = { has_trait = excommunicated } - trigger_if = { - limit = { - is_ai = no - } - piety_level >= 2 - } } } is_location_valid = { has_holding = yes - trigger_if = { # If it is an anointment, it must happen within the HoF's lands if they hold a holy site + trigger_if = { + # A missing authority is already reported by the anointment option's validity + limit = { scope:special_option ?= flag:coronation_type_anointment } + scope:host = { coronation_anointment_save_authority_trigger = yes } + } + trigger_if = { # If it is an anointment, it must happen within the authority's lands if they hold a holy site limit = { scope:special_option ?= flag:coronation_type_anointment - scope:host.faith.religious_head ?= { + scope:coronation_anointment_authority ?= { is_landed = yes faith = { - any_holy_site = { - barony.holder = { - OR = { - this = scope:host.faith.religious_head - any_liege_or_above = { this = scope:host.faith.religious_head } - } + any_holy_site_barony = { + holder = { + target_is_same_character_or_above = scope:coronation_anointment_authority } } } @@ -134,39 +122,30 @@ text = coronation_location_hof_owned barony = { is_holy_site_of = scope:host.faith } barony.holder = { - OR = { - this = scope:host.faith.religious_head - any_liege_or_above = { this = scope:host.faith.religious_head } - } + target_is_same_character_or_above = scope:coronation_anointment_authority } } } - #If it is an anointment and HoF has no holy site - but you do - must be held there - trigger_else_if = { # If it is an anointment, it must happen within the HoF's lands if they hold a holy site + #If it is an anointment and the authority has no holy site - but you do - it must be held there + trigger_else_if = { limit = { scope:special_option ?= flag:coronation_type_anointment scope:host.faith = { - any_holy_site = { - barony.holder = { - OR = { - this = scope:host - any_liege_or_above = { this = scope:host } - } + any_holy_site_barony = { + holder = { + target_is_same_character_or_above = scope:host } } } - #head of faith has no holy site - scope:host.faith.religious_head ?= { + #The approving authority has no holy site + scope:coronation_anointment_authority ?= { OR = { is_landed = no NOT = { faith = { - any_holy_site = { - barony.holder = { - OR = { - this = scope:host.faith.religious_head - any_liege_or_above = { this = scope:host.faith.religious_head } - } + any_holy_site_barony = { + holder = { + target_is_same_character_or_above = scope:coronation_anointment_authority } } } @@ -178,21 +157,26 @@ text = coronation_location_holy_site_host barony = { is_holy_site_of = scope:host.faith } barony.holder = { - OR = { - this = scope:host - any_liege_or_above = { this = scope:host } - } + target_is_same_character_or_above = scope:host } } } + #If it is an anointment and neither the authority nor the host holds a holy site, it must be held at the authority's capital + trigger_else_if = { + limit = { + scope:special_option ?= flag:coronation_type_anointment + exists = scope:coronation_anointment_authority.capital_province + } + custom_tooltip = { + text = coronation_location_authority_capital + this = scope:coronation_anointment_authority.capital_province + } + } trigger_else = { # Else it must happen in your lands custom_tooltip = { text = coronation_location_owned county.holder ?= { - OR = { - this = scope:host - any_liege_or_above = { this = scope:host } - } + target_is_same_character_or_above = scope:host } } } @@ -200,12 +184,30 @@ limit = { NOT = { is_county_capital = yes } } - custom_tooltip = { - text = coronation_location_neither_capital_nor_holy_site - OR = { - this = scope:host.capital_province - is_county_capital = yes - barony = { is_holy_site_of = scope:host.faith } + # Anointment authority is only saved on that path, and the tooltip evaluates every line + trigger_if = { + limit = { + scope:special_option ?= flag:coronation_type_anointment + } + custom_tooltip = { + text = coronation_location_neither_capital_nor_holy_site + OR = { + this = scope:host.capital_province + is_county_capital = yes + barony = { is_holy_site_of = scope:host.faith } + # The anointment authority's seat is a valid venue even when it is a temple barony + scope:coronation_anointment_authority.capital_province ?= this + } + } + } + trigger_else = { + custom_tooltip = { + text = coronation_location_neither_capital_nor_holy_site + OR = { + this = scope:host.capital_province + is_county_capital = yes + barony = { is_holy_site_of = scope:host.faith } + } } } } @@ -247,9 +249,7 @@ is_valid = { scope:host = { # Standard checks - is_alive = yes - is_incapable = no - is_imprisoned = no + is_physically_able = yes is_landed_or_landless_administrative = yes trigger_if = { limit = { @@ -312,23 +312,6 @@ } on_invalidated = { - # Host becomes incapable - if = { - limit = { - scope:host = { is_incapable = yes } - } - scope:activity = { - activity_type = { save_scope_as = activity_type } - } - scope:host = { - trigger_event = activity_system.0330 - } - every_attending_character = { - limit = { this != scope:host } - trigger_event = activity_system.0331 - } - } - #Host has different primary title if = { limit = { @@ -345,23 +328,8 @@ } } - # Host becomes unlanded - if = { - limit = { - scope:host = { - is_landed_or_landless_administrative = no - } - } - scope:activity = { - activity_type = { save_scope_as = activity_type } - } - every_attending_character = { - trigger_event = activity_system.0320 - } - } - # Host is dead - if = { + else_if = { limit = { scope:host = { is_alive = no } } @@ -377,7 +345,7 @@ } #Host has been imprisoned - if = { + else_if = { limit = { scope:host = { is_imprisoned = yes } } @@ -395,7 +363,7 @@ } # No one shows up - if = { + else_if = { limit = { has_attending_activity_guests = no } @@ -403,7 +371,7 @@ } # Officiator death - if = { + else_if = { limit = { scope:host = { has_character_flag = cancelled_coronation } } @@ -422,7 +390,7 @@ # Host excommunicated during anointment - if = { + else_if = { limit = { scope:host = { has_trait = excommunicated } scope:activity = { @@ -438,7 +406,7 @@ scope:activity = { every_attending_character = { limit = { - NOT = { this = scope:host } + this != scope:host } trigger_event = ach_maintenance_events.0105 } @@ -448,6 +416,12 @@ } } + else = { + invalidation_incapable_effect = yes + invalidation_unlanded_non_nf_effect = yes + invalidation_host_or_special_guest_isolated_effect = yes + } + #Cleanup if = { limit = { @@ -517,18 +491,11 @@ trigger_if = { limit = { highest_held_title_tier >= tier_empire - faith = { - OR = { - has_doctrine = doctrine_holy_order_head - has_doctrine = doctrine_spiritual_head - } - } - } - NOT = { - faith = { - has_doctrine = doctrine_imperial_anointment + rite = { + rite_has_doctrine = doctrine_imperial_anointment } } + NOT = { coronation_anointment_authority_available_trigger = yes } } trigger_else = { always = yes @@ -544,16 +511,19 @@ trigger_if = { limit = { highest_held_title_tier >= tier_empire - faith = { - OR = { - has_doctrine = doctrine_holy_order_head - has_doctrine = doctrine_spiritual_head - } + rite = { + rite_has_doctrine = doctrine_imperial_anointment } } + # Regular coronation is only blocked while an anointment authority exists; + # with no Head of Faith and no clergy Head of Rite it remains fully valid. NOT = { - faith = { - has_doctrine = doctrine_imperial_anointment + OR = { + exists = religious_head_or_challenger + AND = { + exists = rite.head_of_rite + rite.head_of_rite = { pam_is_clergy_ruler_trigger = yes } + } } } } @@ -563,17 +533,14 @@ if = { limit = { highest_held_title_tier > tier_kingdom - faith = { + rite = { OR = { - has_doctrine = doctrine_holy_order_head - has_doctrine = doctrine_spiritual_head - } - OR = { - has_doctrine = doctrine_imperial_anointment - has_doctrine = doctrine_anointment_permitted + rite_has_doctrine = doctrine_imperial_anointment + rite_has_doctrine = doctrine_anointment_permitted } } - faith.religious_head ?= { + coronation_anointment_authority_available_trigger = yes + scope:coronation_anointment_authority ?= { is_target_in_variable_list = { name = supported_anointments target = root @@ -595,10 +562,11 @@ trigger_if = { limit = { highest_held_title_tier >= tier_empire + rite = { + rite_has_doctrine = doctrine_imperial_anointment + } } - faith = { - has_doctrine = doctrine_imperial_anointment - } + coronation_anointment_authority_available_trigger = yes } trigger_else = { always = no @@ -606,65 +574,41 @@ } is_valid = { #trigger_ifs are to make player-facing triggers look nice - faith = { - OR = { - has_doctrine = doctrine_holy_order_head - has_doctrine = doctrine_spiritual_head - } + coronation_anointment_authority_available_trigger = yes + rite = { trigger_if = { limit = { - NOT = { - has_doctrine = doctrine_anointment_permitted - } + NOT = { rite_has_doctrine = doctrine_anointment_permitted } } - has_doctrine = doctrine_imperial_anointment + rite_has_doctrine = doctrine_imperial_anointment } trigger_else = { - has_doctrine = doctrine_anointment_permitted - } - religious_head ?= { - save_temporary_scope_as = hof_temp + rite_has_doctrine = doctrine_anointment_permitted } } trigger_if = { - limit = { - exists = scope:hof_temp - } - scope:hof_temp = { + # No authority: the availability trigger above already reports the failure + limit = { exists = scope:coronation_anointment_authority } + scope:coronation_anointment_authority = { is_available_allow_travelling = yes - custom_description = { - text = HOF_is_ai_tt - is_ai = yes + custom_tooltip = { + text = activity_coronation_hof_no_anointment_situation + NOT = { pam_the_christian_church_no_anointment_trigger = { RULER = root } } } } } - trigger_else = { - custom_description = { - text = HOF_DOESNT_EXIST - exists = scope:hof_temp - } - } highest_held_title_tier >= tier_empire NOT = { has_trait = excommunicated } - trigger_if = { - limit = { - is_ai = no - } - piety_level >= 2 - } } ai_will_do = { - #If valid, the AI should attempt anointment. Unless they hate the pope - #They will likely often go for regular coronation regardless because they can't afford this or haven't done the request anointment interaction + #If valid, the AI should attempt anointment unless they hate their religious authority value = 100 if = { limit = { highest_held_title_tier > tier_kingdom - AND = { - exists = faith.religious_head - faith.religious_head ?= { has_any_bad_relationship_with_character_trigger = { CHARACTER = root } } - } + coronation_anointment_authority_available_trigger = yes + scope:coronation_anointment_authority ?= { has_any_bad_relationship_with_character_trigger = { CHARACTER = root } } } add = -90 } @@ -674,8 +618,13 @@ ceremony_size = { coronation_small_ceremony = { default = { - coronation_has_proper_artifact_trigger = no - highest_held_title_tier = tier_kingdom + OR = { + has_personal_tenet_flag = tenet_vows_of_poverty_humble_host + AND = { + coronation_has_proper_artifact_trigger = no + highest_held_title_tier = tier_kingdom + } + } } is_valid = { custom_tooltip = { @@ -866,6 +815,12 @@ } } is_valid = { + trigger_if = { + limit = { + NOT = { scope:special_option ?= flag:coronation_type_anointment } + } + pam_vows_of_poverty_premium_activity_option_valid_trigger = yes + } trigger_if = { limit = { coronation_proper_artifact_crown_trigger = yes @@ -1065,6 +1020,7 @@ } } is_valid = { + pam_vows_of_poverty_premium_activity_option_valid_trigger = yes trigger_if = { limit = { coronation_proper_artifact_crown_trigger = yes @@ -1135,6 +1091,7 @@ trigger_if = { limit = { exists = scope:special_option + pam_vows_of_poverty_premium_activity_option_valid_trigger = no } NOT = { scope:special_option = flag:coronation_type_anointment } } @@ -1318,6 +1275,7 @@ } } is_valid = { + pam_vows_of_poverty_premium_activity_option_valid_trigger = yes trigger_if = { limit = { coronation_proper_artifact_crown_trigger = yes @@ -1524,6 +1482,7 @@ } } is_valid = { + pam_vows_of_poverty_premium_activity_option_valid_trigger = yes trigger_if = { limit = { coronation_proper_artifact_crown_trigger = yes @@ -1631,8 +1590,8 @@ max_province_icons = 3 - province_filter = holy_sites_realm - ai_province_filter = holy_sites_realm + province_filter = anointment_candidates + ai_province_filter = anointment_candidates max_guest_arrival_delay_time = { months = 5 } @@ -1640,6 +1599,9 @@ ai_will_do = { #AI should always do coronations asap as possible if they fulfill the requirements value = 1000 + + # add = activity_general_ai_will_do_value + #...unless the game rule is turned off if = { limit = { @@ -1694,10 +1656,19 @@ if = { limit = { barony = { is_holy_site_of = scope:host.faith } - barony.holder ?= { - OR = { - this = scope:host.faith.religious_head - any_liege_or_above = { this = scope:host.faith.religious_head } + OR = { + AND = { + exists = scope:host.religious_head_or_challenger + barony.holder ?= { + target_is_same_character_or_above = scope:host.religious_head_or_challenger + } + } + AND = { + scope:special_option ?= flag:coronation_type_anointment + scope:host = { coronation_anointment_authority_available_trigger = yes } + barony.holder ?= { + target_is_same_character_or_above = scope:coronation_anointment_authority + } } } } @@ -1752,8 +1723,9 @@ # Vassals send you an angry letter if you didn't invite any if = { limit = { - NOT = { - any_vassal = { + any_vassal = { + highest_held_title_tier > tier_barony + NOT = { is_participant_in_activity = scope:activity } } @@ -2220,6 +2192,8 @@ loyalty_pledge nobles_cheer regalia_impresses_attendees supporters_bond detractors_bond befriend_loyalists supporter_stresses_detractor praised_king_together bonded_over_help beautiful_choir_song heir_diplomacy_boost heir_stewardship_boost heir_learning_boost # General Actions guest_friendship guest_insulted + # Passive Rite Learning APAs + apa_passive_religious_learning_host apa_passive_religious_learning_guest } chance_of_no_event = 5 } @@ -2231,19 +2205,22 @@ is_shown = { scope:special_option ?= flag:coronation_type_anointment - exists = faith.religious_head - NOT = { faith.religious_head = this } + coronation_anointment_save_authority_trigger = yes + # Also covers a pre-selected authority that is no longer valid, for example after a rite switch + custom_description = { + text = CORONATION_ANOINTMENT_GUEST_AUTHORITY_DOESNT_EXIST + exists = scope:coronation_anointment_authority + } + NOT = { scope:coronation_anointment_authority = this } } select_character = { - faith.religious_head ?= { - save_scope_as = character - } + coronation_save_anointment_authority_effect = { SCOPE = character } } } } - max_guests = 100 + max_guests = 200 guest_invite_rules = { rules = { @@ -2266,6 +2243,7 @@ 1 = activity_invite_rule_vassals 1 = activity_invite_rule_tributaries 2 = activity_invite_rule_fellow_vassals + 2 = activity_invite_rule_clergy 3 = activity_invite_rule_courtiers 4 = activity_invite_rule_guests 2 = activity_invite_rule_all_lieges @@ -2286,23 +2264,30 @@ # Scripted Modifiers activity_guest_shared_ai_accept_modifier = yes + activity_guest_clergy_shared_ai_accept_modifier = yes #All vassals attend if they are capable modifier = { is_vassal_of = scope:host - NOT = { faith.religious_head ?= this } + NOT = { religious_head_or_challenger ?= this } + NOT = { + AND = { + scope:special_type = flag:coronation_type_anointment + scope:host = { coronation_anointment_authority_is_trigger = { CHARACTER = root } } + } + } add = 500 desc = coronation_special_vassal_value } modifier = { is_vassal_of = scope:host - faith.religious_head ?= this + scope:host = { coronation_anointment_authority_is_trigger = { CHARACTER = root } } scope:special_type = flag:coronation_type_anointment add = 25 desc = coronation_special_vassal_value } modifier = { - faith.religious_head ?= this + religious_head_or_challenger ?= this NOT = { scope:special_type = flag:coronation_type_anointment } add = -1000 desc = coronation_pope_not_anointment @@ -2340,9 +2325,8 @@ add = 20 } - # Special modifier for the HoF modifier = { - faith.religious_head ?= this + scope:host = { coronation_anointment_authority_is_trigger = { CHARACTER = root } } scope:special_type = flag:coronation_type_anointment is_target_in_variable_list = { name = supported_anointments @@ -2742,16 +2726,30 @@ } } } - # Set HoF as officiant in anointments + # Save the approving authority separately from any replacement officiator if = { limit = { scope:special_option ?= flag:coronation_type_anointment - exists = scope:host.faith.religious_head } + scope:host = { coronation_save_anointment_authority_effect = { SCOPE = anointment_authority } } scope:activity = { + set_variable = { + name = anointment_authority + value = scope:anointment_authority + } set_variable = { name = officiator - value = scope:host.faith.religious_head + value = scope:anointment_authority + } + } + # Auto-add so a declined required guest cannot invalidate the ceremony + scope:anointment_authority ?= { + if = { + limit = { + NOT = { involved_activity ?= scope:activity } + can_join_activity = scope:activity + } + add_to_activity = scope:activity } } } @@ -2933,7 +2931,10 @@ } if = { limit = { - scope:activity.activity_host.faith.religious_head ?= scope:activity.var:officiator + OR = { + scope:activity.var:anointment_authority ?= scope:activity.var:officiator + scope:activity.activity_host.religious_head_or_challenger ?= scope:activity.var:officiator + } } create_character_memory = { type = crowned_by_hof_memory @@ -3358,7 +3359,12 @@ } } - ## Activity Backgrounds + ################### + # GRAPHICS + ################### + + header_background = "gfx/interface/illustrations/activity_header_backgrounds/activity_coronation.dds" + # Arrival - Courtyard Pictures background = { #Nomadic MENA trigger = { @@ -3680,15 +3686,7 @@ scope:activity ?= { activity_location = { NOT = { has_holding_type = church_holding } } scope:host = { - OR = { - location = province:b_constantinople -# AND = { -# primary_title = title:e_byzantium -# title:c_byzantion = { -# any_de_jure_top_liege = { this = root } -# } -# } - } + #show_byzantion_throne_room_background = yes } has_current_phase = coronation_phase_coronation } diff --git a/common/activities/activity_types/feast.txt b/common/activities/activity_types/feast.txt index 3285a82c3..c654c687b 100644 --- a/common/activities/activity_types/feast.txt +++ b/common/activities/activity_types/feast.txt @@ -9,10 +9,7 @@ activity_feast = { is_shown = { - OR = { - is_landed_or_landless_administrative = yes - has_government = landless_minority_government - } + is_landed_or_landless_administrative_or_theocratic = yes highest_held_title_tier > tier_barony trigger_if = { limit = { @@ -33,48 +30,23 @@ activity_feast = { trigger_if = { # Throttle Counts limit = { highest_held_title_tier = tier_county - NOR = { - has_government = japan_administrative_government - has_government = japan_feudal_government - } + government_is_japanese_trigger = no } ai_sociability >= 100 } } - #Every other activity must be blocked until an uncrowned AI crowns themselves - trigger_if = { - limit = { - is_ai = yes - } - NOT = { - has_realm_law = uncrowned - } - } + ai_activity_coronation_check = yes } can_start_showing_failures_only = { NOT = { is_activity_type_on_cooldown = activity_feast } - trigger_if = { - limit = { - OR = { - is_ai = no - NOT = { has_character_flag = feast_ai_override } - } - } - is_available_adult = yes - } + is_physically_able_adult = yes } is_valid = { scope:host = { - is_alive = yes - is_capable_adult = yes - is_imprisoned = no - OR = { - is_landed_or_landless_administrative = yes - has_government = landless_minority_government - } - NOT = { is_incapable = yes } + is_physically_able_adult = yes + is_landed_or_landless_administrative_or_theocratic = yes } # If no one shows up trigger_if = { @@ -137,9 +109,9 @@ activity_feast = { } scope:activity.special_guest:honorary_guest = { is_alive = yes } #but they're alive scope:host = { #and you didn't back down/fail - NOR = { - has_variable = murder_feast_murder_back_down - has_variable = murder_feast_murder_failure_var + has_none_of_variables = { + name = murder_feast_murder_back_down + name = murder_feast_murder_failure_var } } } @@ -172,22 +144,7 @@ activity_feast = { trigger_event = feast.2011 } } - if = { - limit = { - scope:host = { is_incapable = yes } - } - scope:activity = { - activity_type = { save_scope_as = activity_type } - } - scope:host = { - trigger_event = activity_system.0330 - } - every_attending_character = { - limit = { this != scope:host } - trigger_event = activity_system.0331 - } - } - if = { # No one shows up + else_if = { # No one shows up limit = { has_attending_activity_guests = no } @@ -197,6 +154,11 @@ activity_feast = { } scope:host = { trigger_event = feast.2003 } } + else = { + invalidation_unlanded_non_nf_effect = yes + invalidation_nobody_present_effect = yes + invalidation_host_isolated_effect = yes + } # Accolade stuff if = { limit = { @@ -224,20 +186,6 @@ activity_feast = { remove_character_modifier = accolade_charmer_party_high_modifier } } - # Host becomes unlanded - if = { - limit = { - scope:host = { - is_landed_or_landless_administrative = no - } - } - scope:activity = { - activity_type = { save_scope_as = activity_type } - } - every_attending_character = { - trigger_event = activity_system.0320 - } - } } ################### @@ -287,6 +235,10 @@ activity_feast = { desc = activity_feast_province_desc_alhambra } # ++ / double plus good + triggered_desc = { + trigger = { has_building_or_higher = farm_estates_01 } + desc = activity_feast_province_desc_farm_estates + } triggered_desc = { trigger = { has_building_or_higher = paddy_fields_01 } desc = activity_feast_province_desc_paddy_fields @@ -545,7 +497,7 @@ activity_feast = { } if = { limit = { - faith = { has_doctrine = tenet_ritual_celebrations } + rite = { rite_has_tenet = tenet_ritual_celebrations } } add = { value = 35 @@ -554,7 +506,7 @@ activity_feast = { } if = { limit = { - faith = { has_doctrine = tenet_hedonistic } + rite = { rite_has_tenet = tenet_hedonistic } } add = { value = 35 @@ -563,8 +515,8 @@ activity_feast = { } if = { limit = { - host.faith = { - has_doctrine = tenet_asceticism + host.rite = { + rite_has_tenet = tenet_asceticism } } add = { @@ -662,7 +614,7 @@ activity_feast = { } if = { # Unless... limit = { - faith = { has_doctrine = tenet_ritual_celebrations } + rite = { rite_has_tenet = tenet_ritual_celebrations } } add = { value = 100 @@ -736,56 +688,9 @@ activity_feast = { } } } - # Plague - if = { - limit = { - any_held_title = { - title_tier = county - has_province_with_epidemic = { intensity < apocalyptic } - } - would_follow_social_distancing_value >= -1 - } - add = { - value = -60 - desc = "Plague in Domain" - } - } - else_if = { - limit = { - any_realm_county = { - has_province_with_epidemic = { intensity < apocalyptic } - } - would_follow_social_distancing_value >= -1 - } - add = { - value = -20 - desc = "Plague in Top Realm" - } - } - if = { - limit = { - any_held_title = { - title_tier = county - has_province_with_epidemic = { intensity = apocalyptic } - } - } - add = { - value = -200 - desc = "Apocalyptic Plague in Domain" - } - } - else_if = { - limit = { - any_held_title = { - title_tier = county - has_province_with_epidemic = { intensity = apocalyptic } - } - } - add = { - value = -40 - desc = "Apocalyptic Plague in Top Realm" - } - } + + add = activity_general_ai_will_do_value + if = { limit = { is_ai = yes @@ -830,6 +735,7 @@ activity_feast = { 1 = activity_invite_rule_confederates 1 = activity_invite_rule_vassals 2 = activity_invite_rule_fellow_vassals + 2 = activity_invite_rule_clergy 3 = activity_invite_rule_courtiers 4 = activity_invite_rule_guests 1 = activity_invite_spouses @@ -844,12 +750,12 @@ activity_feast = { } host_intents = { - intents = { reduce_stress_intent murder_attendee_intent woo_attendee_intent befriend_attendee_intent spread_legend_intent legitimacy_intent } + intents = { reduce_stress_intent murder_attendee_intent woo_attendee_intent befriend_attendee_intent spread_legend_intent legitimacy_intent spread_personal_tenet_intent praise_the_gods_intent } default = reduce_stress_intent } guest_intents = { - intents = { reduce_stress_intent murder_attendee_intent woo_attendee_intent befriend_attendee_intent banquet_mischief_intent spread_legend_intent legitimacy_intent } + intents = { reduce_stress_intent murder_attendee_intent woo_attendee_intent befriend_attendee_intent banquet_mischief_intent spread_legend_intent legitimacy_intent spread_personal_tenet_intent praise_the_gods_intent } default = reduce_stress_intent } @@ -860,6 +766,8 @@ activity_feast = { # Scripted Modifiers activity_guest_shared_ai_accept_modifier = yes activity_guest_feast_ai_accept_modifier = yes + activity_guest_clergy_shared_ai_accept_modifier = yes + activity_guest_clergy_frivolous_ai_accept_modifier = yes # If the Host has hosted a Murder Feast recently people are sus modifier = { @@ -872,13 +780,14 @@ activity_feast = { # Master of Revels Accolade increasing invite acceptance modifier = { - scope:host = { - any_active_accolade = { + scope:host = { + any_active_accolade = { accolade_parameter = acclaimed_knight_feast_wedding_invite_acceptance_bonus } - } - add = accolade_feast_wedding_invite_acceptance_value - } + } + add = accolade_feast_wedding_invite_acceptance_value + desc = acclaimed_knight_feast_wedding_invite_acceptance_bonus_tt + } } special_guests = { @@ -1001,7 +910,26 @@ activity_feast = { # has_title = title:e_minister_of_revenue # } # multiply = 0.85 -# } +# } + if = { + limit = { + has_personal_tenet_flag = tenet_transubstantiation_feast_discount + } + multiply = { + value = 0.8 + desc = feast_cost_discount_transubstantiation + } + } + # By God Alone - Secular Faith & Rite: a promised free feast (0038) zeroes the cost. + if = { + limit = { + has_character_modifier = pam_sf_free_feast_modifier + } + multiply = { + value = 0 + desc = pam_sf_free_feast_discount_desc + } + } } treasury = { if = { @@ -1019,15 +947,24 @@ activity_feast = { } value = 0 } -# else = { -# value = base_feast_cost_value + else = { + value = base_feast_cost_value # if = { # limit = { # has_title = title:e_minister_of_revenue # } # multiply = 0.85 # } -# } + if = { + limit = { + has_personal_tenet_flag = tenet_transubstantiation_feast_discount + } + multiply = { + value = 0.8 + desc = feast_cost_discount_transubstantiation + } + } + } } piety = { if = { @@ -1044,6 +981,15 @@ activity_feast = { } else = { add = base_feast_cost_value + if = { + limit = { + has_personal_tenet_flag = tenet_transubstantiation_feast_discount + } + multiply = { + value = 0.8 + desc = feast_cost_discount_transubstantiation + } + } } } barter_goods = { @@ -1055,6 +1001,15 @@ activity_feast = { } else = { add = base_feast_cost_value + if = { + limit = { + has_personal_tenet_flag = tenet_transubstantiation_feast_discount + } + multiply = { + value = 0.8 + desc = feast_cost_discount_transubstantiation + } + } } } } @@ -1079,6 +1034,14 @@ activity_feast = { value = base_feast_ui_cost_value } + if = { + limit = { has_personal_tenet_flag = tenet_transubstantiation_feast_discount } + multiply = { + value = 0.8 + desc = feast_cost_discount_transubstantiation + } + } + if = { limit = { has_variable = mpo_nerge_1060_free_feast } multiply = { @@ -1086,6 +1049,14 @@ activity_feast = { desc = mpo_nerge_1060_free_feast_desc } } + # By God Alone - Secular Faith & Rite: a promised free feast (0038) zeroes the cost. + if = { + limit = { has_character_modifier = pam_sf_free_feast_modifier } + multiply = { + value = 0 + desc = pam_sf_free_feast_discount_desc + } + } } treasury = { # Make sure this matches the gold cost above if = { @@ -1101,6 +1072,14 @@ activity_feast = { value = base_feast_cost_value } + if = { + limit = { has_personal_tenet_flag = tenet_transubstantiation_feast_discount } + multiply = { + value = 0.8 + desc = feast_cost_discount_transubstantiation + } + } + if = { limit = { has_variable = mpo_nerge_1060_free_feast } multiply = { @@ -1121,6 +1100,14 @@ activity_feast = { value = base_feast_ui_cost_value } + if = { + limit = { has_personal_tenet_flag = tenet_transubstantiation_feast_discount } + multiply = { + value = 0.8 + desc = feast_cost_discount_transubstantiation + } + } + if = { limit = { has_variable = mpo_nerge_1060_free_feast } multiply = { @@ -1141,6 +1128,14 @@ activity_feast = { value = base_feast_ui_cost_value } + if = { + limit = { has_personal_tenet_flag = tenet_transubstantiation_feast_discount } + multiply = { + value = 0.8 + desc = feast_cost_discount_transubstantiation + } + } + if = { limit = { has_variable = mpo_nerge_1060_free_feast } multiply = { @@ -1180,6 +1175,12 @@ activity_feast = { map_entity = "building_western_feast_01_entity" + ################### + # GRAPHICS + ################### + + header_background = "gfx/interface/illustrations/activity_header_backgrounds/activity_feast.dds" + # Travel background = { # Bridge trigger = { @@ -3030,6 +3031,13 @@ activity_feast = { } else = { value = feast_type_murder_value + if = { + limit = { has_character_modifier = pam_sf_free_feast_modifier } + multiply = { + value = 0 + desc = pam_sf_free_feast_discount_desc + } + } if = { limit = { has_variable = mpo_nerge_1060_free_feast } multiply = { @@ -3057,6 +3065,13 @@ activity_feast = { } else = { value = feast_type_murder_value + if = { + limit = { has_character_modifier = pam_sf_free_feast_modifier } + multiply = { + value = 0 + desc = pam_sf_free_feast_discount_desc + } + } if = { limit = { has_variable = mpo_nerge_1060_free_feast } multiply = { @@ -3080,7 +3095,7 @@ activity_feast = { } } - blocked_intents = { murder_attendee_intent befriend_attendee_intent woo_attendee_intent } #you can only relax mate + blocked_intents = { murder_attendee_intent befriend_attendee_intent woo_attendee_intent spread_personal_tenet_intent } #you can only relax mate ai_will_do = { value = 0 @@ -3289,6 +3304,9 @@ activity_feast = { feast_option_food = { feast_food_bad = { is_shown = { has_dlc_feature = advanced_activities } + default = { + has_personal_tenet_flag = tenet_vows_of_poverty_humble_host + } ai_will_do = { value = 0 @@ -3299,7 +3317,18 @@ activity_feast = { } } feast_food_normal = { - default = yes + is_valid = { + trigger_if = { + limit = { has_dlc_feature = advanced_activities } + pam_vows_of_poverty_premium_activity_option_valid_trigger = yes + } + } + default = { + OR = { + NOT = { has_personal_tenet_flag = tenet_vows_of_poverty_humble_host } + NOT = { has_dlc_feature = advanced_activities } + } + } cost = { gold = { if = { @@ -3321,6 +3350,13 @@ activity_feast = { } else = { value = feast_food_normal_value + if = { + limit = { has_character_modifier = pam_sf_free_feast_modifier } + multiply = { + value = 0 + desc = pam_sf_free_feast_discount_desc + } + } } } treasury = { # Make sure this matches the gold cost above @@ -3341,6 +3377,13 @@ activity_feast = { } else = { value = feast_food_normal_value + if = { + limit = { has_character_modifier = pam_sf_free_feast_modifier } + multiply = { + value = 0 + desc = pam_sf_free_feast_discount_desc + } + } } } piety = { @@ -3358,6 +3401,13 @@ activity_feast = { } else = { value = feast_food_normal_value + if = { + limit = { has_character_modifier = pam_sf_free_feast_modifier } + multiply = { + value = 0 + desc = pam_sf_free_feast_discount_desc + } + } } } barter_goods = { @@ -3375,6 +3425,13 @@ activity_feast = { } else = { value = feast_food_normal_value + if = { + limit = { has_character_modifier = pam_sf_free_feast_modifier } + multiply = { + value = 0 + desc = pam_sf_free_feast_discount_desc + } + } } } } @@ -3393,6 +3450,9 @@ activity_feast = { } feast_food_good = { is_shown = { has_dlc_feature = advanced_activities } + is_valid = { + pam_vows_of_poverty_premium_activity_option_valid_trigger = yes + } cost = { gold = { @@ -3415,6 +3475,13 @@ activity_feast = { } else = { value = feast_food_good_value + if = { + limit = { has_character_modifier = pam_sf_free_feast_modifier } + multiply = { + value = 0 + desc = pam_sf_free_feast_discount_desc + } + } } } treasury = { @@ -3435,6 +3502,13 @@ activity_feast = { } else = { value = feast_food_good_value + if = { + limit = { has_character_modifier = pam_sf_free_feast_modifier } + multiply = { + value = 0 + desc = pam_sf_free_feast_discount_desc + } + } } } piety = { @@ -3452,6 +3526,13 @@ activity_feast = { } else = { value = feast_food_good_value + if = { + limit = { has_character_modifier = pam_sf_free_feast_modifier } + multiply = { + value = 0 + desc = pam_sf_free_feast_discount_desc + } + } } } barter_goods = { @@ -3469,6 +3550,13 @@ activity_feast = { } else = { value = feast_food_good_value + if = { + limit = { has_character_modifier = pam_sf_free_feast_modifier } + multiply = { + value = 0 + desc = pam_sf_free_feast_discount_desc + } + } } } } @@ -3487,6 +3575,9 @@ activity_feast = { feast_option_courses = { feast_courses_bad = { is_shown = { has_dlc_feature = advanced_activities } + default = { + has_personal_tenet_flag = tenet_vows_of_poverty_humble_host + } ai_will_do = { value = 0 @@ -3497,7 +3588,18 @@ activity_feast = { } } feast_courses_normal = { - default = yes + is_valid = { + trigger_if = { + limit = { has_dlc_feature = advanced_activities } + pam_vows_of_poverty_premium_activity_option_valid_trigger = yes + } + } + default = { + OR = { + NOT = { has_personal_tenet_flag = tenet_vows_of_poverty_humble_host } + NOT = { has_dlc_feature = advanced_activities } + } + } cost = { gold = { @@ -3520,6 +3622,13 @@ activity_feast = { } else = { value = feast_courses_normal_value + if = { + limit = { has_character_modifier = pam_sf_free_feast_modifier } + multiply = { + value = 0 + desc = pam_sf_free_feast_discount_desc + } + } } } treasury = { # Make sure this matches the gold cost above @@ -3540,6 +3649,13 @@ activity_feast = { } else = { value = feast_courses_normal_value + if = { + limit = { has_character_modifier = pam_sf_free_feast_modifier } + multiply = { + value = 0 + desc = pam_sf_free_feast_discount_desc + } + } } } @@ -3558,6 +3674,13 @@ activity_feast = { } else = { value = feast_courses_normal_value + if = { + limit = { has_character_modifier = pam_sf_free_feast_modifier } + multiply = { + value = 0 + desc = pam_sf_free_feast_discount_desc + } + } if = { limit = { has_variable = mpo_nerge_1060_free_feast } @@ -3584,6 +3707,13 @@ activity_feast = { } else = { value = feast_courses_normal_value + if = { + limit = { has_character_modifier = pam_sf_free_feast_modifier } + multiply = { + value = 0 + desc = pam_sf_free_feast_discount_desc + } + } if = { limit = { has_variable = mpo_nerge_1060_free_feast } @@ -3610,6 +3740,9 @@ activity_feast = { } feast_courses_good = { is_shown = { has_dlc_feature = advanced_activities } + is_valid = { + pam_vows_of_poverty_premium_activity_option_valid_trigger = yes + } cost = { gold = { @@ -3632,6 +3765,13 @@ activity_feast = { } else = { value = feast_courses_good_value + if = { + limit = { has_character_modifier = pam_sf_free_feast_modifier } + multiply = { + value = 0 + desc = pam_sf_free_feast_discount_desc + } + } } } treasury = { @@ -3652,6 +3792,13 @@ activity_feast = { } else = { value = feast_courses_good_value + if = { + limit = { has_character_modifier = pam_sf_free_feast_modifier } + multiply = { + value = 0 + desc = pam_sf_free_feast_discount_desc + } + } } } piety = { @@ -3669,6 +3816,13 @@ activity_feast = { } else = { value = feast_courses_good_value + if = { + limit = { has_character_modifier = pam_sf_free_feast_modifier } + multiply = { + value = 0 + desc = pam_sf_free_feast_discount_desc + } + } } } @@ -3687,6 +3841,13 @@ activity_feast = { } else = { value = feast_courses_good_value + if = { + limit = { has_character_modifier = pam_sf_free_feast_modifier } + multiply = { + value = 0 + desc = pam_sf_free_feast_discount_desc + } + } } } } @@ -3736,6 +3897,9 @@ activity_feast = { } } } + is_valid = { + pam_vows_of_poverty_premium_activity_option_valid_trigger = yes + } cost = { gold = { @@ -3882,6 +4046,9 @@ activity_feast = { } } } + is_valid = { + pam_vows_of_poverty_premium_activity_option_valid_trigger = yes + } cost = { gold = { @@ -4023,6 +4190,9 @@ activity_feast = { has_dlc_feature = advanced_activities domicile ?= { has_domicile_parameter = estate_unlock_feast_influence_option_3 } } + is_valid = { + pam_vows_of_poverty_premium_activity_option_valid_trigger = yes + } cost = { gold = { @@ -4635,6 +4805,8 @@ activity_feast = { guest_chokes_on_bone guest_brawl spouse_insults_host ridiculed_food host_gains_diplo_xp host_gains_steward_xp host_gains_intrigue_xp leftover_food_giveaway virtuous_feast noble_privileges good_kitty good_puppy antiquarian_admires_artifact jester_entertained_guests apa_executioner + apa_passive_religious_learning_host apa_passive_religious_learning_guest + apa_pam_spread_tenet_host apa_pam_spread_tenet_guest apa_pam_mendicant_preachers_conversion } chance_of_no_event = 5 } @@ -4674,6 +4846,27 @@ activity_feast = { limit = { has_variable = mpo_nerge_1060_free_feast } remove_variable = mpo_nerge_1060_free_feast } + # By God Alone - Secular Faith & Rite: spend the promised free feast (0038) as it begins. + if = { + limit = { has_character_modifier = pam_sf_free_feast_modifier } + remove_character_modifier = pam_sf_free_feast_modifier + } + #The Christian Church catalyst +# if = { +# limit = { +# is_clergy = yes +# any_character_situation = { +# situation_type = the_christian_church +# situation_top_has_catalyst = catalyst_clergy_hosted_feast +# } +# } +# situation:the_christian_church = { +# trigger_situation_catalyst = { +# catalyst = catalyst_clergy_hosted_feast +# character = scope:host +# } +# } +# } #Mandala Serenity tracker if = { limit = { @@ -4932,6 +5125,8 @@ activity_feast = { } else = { disburse_feast_reveler_rewards = yes + hedonistic_feast_gout_risk_effect = yes + hedonistic_obesity_modifier_sync_effect = yes trigger_event = feast.7151 } } @@ -4948,9 +5143,9 @@ activity_feast = { option = feast_type_murder } } - NOR = { - has_variable = murder_feast_murder_failure_var - has_variable = murder_feast_murder_back_down + has_none_of_variables = { + name = murder_feast_murder_failure_var + name = murder_feast_murder_back_down } } set_global_variable = { @@ -4966,6 +5161,33 @@ activity_feast = { } } + # The Christian Church catalyst: an Archbishop or Cardinal attended a secular ruler's feast +# if = { +# limit = { +# this = scope:host +# is_clergy = no +# any_character_situation = { +# situation_type = the_christian_church +# situation_top_has_catalyst = catalyst_clergy_attended_feast +# } +# scope:activity = { +# any_attending_character = { +# this != scope:host +# OR = { +# any_held_title = { has_clerical_region = yes } +# exists = clerical_elector_title +# } +# } +# } +# } +# situation:the_christian_church = { +# trigger_situation_catalyst = { +# catalyst = catalyst_clergy_attended_feast +# character = scope:host +# } +# } +# } + # Struggle Catalysts # fp3_struggle_catalysts_for_activities_effect = yes } diff --git a/common/activities/intents/coronation_intents.txt b/common/activities/intents/coronation_intents.txt index d32948cf5..29ce1a273 100644 --- a/common/activities/intents/coronation_intents.txt +++ b/common/activities/intents/coronation_intents.txt @@ -97,6 +97,10 @@ coronation_seize_advantages = { icon = seize_advantages_intent scripted_animation = { animation = interested } + is_valid = { + highest_held_title_tier >= tier_county + } + auto_complete = yes ai_will_do = { diff --git a/gfx/models/portraits/female_body/female_body.asset b/gfx/models/portraits/female_body/female_body.asset index 88afd0323..09a1262e7 100644 --- a/gfx/models/portraits/female_body/female_body.asset +++ b/gfx/models/portraits/female_body/female_body.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:89ed69c249c32c1aae6c70886c4130afa5f14faa5338b54627f6c96c1353005e -size 163164 +oid sha256:84f07552688e9b2323e3525b88a970edf0d104c5093f6a74e928f6ff23daf4fd +size 171494 diff --git a/gfx/models/portraits/female_body/girl_body.asset b/gfx/models/portraits/female_body/girl_body.asset index bf4095679..bf7b8c5d7 100644 --- a/gfx/models/portraits/female_body/girl_body.asset +++ b/gfx/models/portraits/female_body/girl_body.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d684acae4902ac5619210f02fd01bcde2b4e2d16dbdfb5f732b9dfbb144c697a -size 161755 +oid sha256:2527bd021c25d040a97478282ae17e84cef409eecdb404b7b109584914942f5c +size 170086 diff --git a/gfx/models/portraits/male_body/boy_body.asset b/gfx/models/portraits/male_body/boy_body.asset index 1ba2943de..a8a70813a 100644 --- a/gfx/models/portraits/male_body/boy_body.asset +++ b/gfx/models/portraits/male_body/boy_body.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d0e8c059a3edd6cd815b8acb032508ba4f37fe0b497e564d08852cfbfa8af465 -size 153244 +oid sha256:6da2e764ed44be71b93d66edadd70e7117a9007c34899d1a837df4dbd5bc95a7 +size 159165 diff --git a/gfx/models/portraits/male_body/male_body.asset b/gfx/models/portraits/male_body/male_body.asset index 43cd3404c..85b083d05 100644 --- a/gfx/models/portraits/male_body/male_body.asset +++ b/gfx/models/portraits/male_body/male_body.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b29a28bcf96cec2e53d8442b0adc43f4a71bd3644eb4794f5853a723350e9c84 -size 215091 +oid sha256:73b5a4d7f75e60bfb66e7fd2aceeb68e54f1373023cdd88f06efe9ada15058c9 +size 224464 diff --git a/gfx/portraits/portrait_animations/_animations.info b/gfx/portraits/portrait_animations/_animations.info index 2e263c14c..c046658e7 100644 --- a/gfx/portraits/portrait_animations/_animations.info +++ b/gfx/portraits/portrait_animations/_animations.info @@ -4,7 +4,10 @@ my_animation = { # Name of the animation, this is the name events and g male = { # Animations are scripted for each portrait type, all types needs to be scripted default = { head = "idle" torso = "idle" } # Default animation used if no item has a weight > 0, or if it is used in a non scripted environment - force = no # portrait_modifier are copied to children if they have none of their own. If specified, copying is skipped unless force = yes. Default is no. + ## How to handle portrait_modifiers at this top level, in relation to animation variants + # (default) no: portrait_modifiers at top level are _copied_ animation variants, if they have no portrait_modifiers (or packs) defined + # yes: for each portrait_modifiers at this top level, we _add_ their overrides to all portrait_modifiers of all animation variants + force = yes/no portrait_modifier = { # Triggered portrait modifier for when this animation is picked. The first one satisfying the trigger will be picked. trigger = { @@ -17,12 +20,34 @@ my_animation = { # Name of the animation, this is the name events and g portrait_modifier = ... - evil = { # Item, specifies animations to be used if this one is choosen by the weighted random + portrait_modifier_pack = # Add all of modifiers from the pack with name . Packs are defined in `*.animationpack` files. + + # Add a portrait modifier set. All modifier sets are applied independently when this animation is selected. (the first valid modifier in each is applied) + portrait_modifier_set = { + portrait_modifier = ... # Portrait modifiers for the current variant (same syntax as for the default animation). If none are specified, the default animation ones will be used. + portrait_modifier = ... + portrait_modifier_pack = # Add all of modifiers from the pack with name . Packs are defined in `*.animationpack` files. + } + portrait_modifier_set = { ... } + + # Animation variant (possibly weighted) + evil = { + # Item, specifies animations to be used if this one is choosen by the weighted random animation = { head = "evil" torso = "evil" } portrait_modifier = ... # Portrait modifiers for the current variant (same syntax as for the default animation). If none are specified, the default animation ones will be used. portrait_modifier = ... - + + portrait_modifier_pack = # Add all of modifiers from the pack with name . Packs are defined in `*.animationpack` files. + + # Add a portrait modifier set. All modifier sets are applied independently when this animation is selected. (the first valid modifier in each is applied) + portrait_modifier_set = { + portrait_modifier = ... # Portrait modifiers for the current variant (same syntax as for the default animation). If none are specified, the default animation ones will be used. + portrait_modifier = ... + portrait_modifier_pack = # Add all of modifiers from the pack with name . Packs are defined in `*.animationpack` files. + } + portrait_modifier_set = { ... } + weight = { # This is where the weight is calculated base = 1 # The final weigth is calculated like this: # weight = base diff --git a/gfx/portraits/portrait_animations/animations.modifierpack b/gfx/portraits/portrait_animations/animations.modifierpack index b22867a21..149f4c11a 100644 --- a/gfx/portraits/portrait_animations/animations.modifierpack +++ b/gfx/portraits/portrait_animations/animations.modifierpack @@ -3679,6 +3679,13 @@ hu = { ### Cultural Books ### open_book = { + portrait_modifier = { # Christians + trigger = { + religion = religion:christianity_religion + } + animations_props = pam_bible_ornate_open_left + animations = female_prop_fix_additive + } portrait_modifier = { # Chinese trigger = { culture = { @@ -3696,6 +3703,13 @@ open_book = { } open_book_w_writing_tool_left = { + portrait_modifier = { # Christians + trigger = { + religion = religion:christianity_religion + } + animations_props = open_book_left_writing_bible + animations = female_prop_fix_additive + } portrait_modifier = { # Chinese trigger = { culture = { @@ -3713,6 +3727,13 @@ open_book_w_writing_tool_left = { } open_book_w_writing_tool_right = { + portrait_modifier = { # Christians + trigger = { + religion = religion:christianity_religion + } + animations_props = open_book_right_writing_bible + animations = female_prop_fix_additive + } portrait_modifier = { # Chinese trigger = { culture = { @@ -3749,6 +3770,26 @@ paged_book = { } closed_book = { + portrait_modifier = { # Mediterranean + trigger = { + faith = faith:orthodox + culture = { + OR = { + has_clothing_gfx = iberian_christian_clothing_gfx + has_clothing_gfx = byzantine_clothing_gfx + } + } + } + animations_props = ep1_mediterranean_book + animations = female_prop_fix_additive + } + portrait_modifier = { # Christians + trigger = { + religion = religion:christianity_religion + } + animations_props = pam_bible_ornate_01 + animations = female_prop_fix_additive + } portrait_modifier = { # MENA trigger = { culture = { @@ -3774,18 +3815,6 @@ closed_book = { animations_props = ep1_indian_book animations = female_prop_fix_additive } - portrait_modifier = { # Mediterranean - trigger = { - culture = { - OR = { - has_clothing_gfx = iberian_christian_clothing_gfx - has_clothing_gfx = byzantine_clothing_gfx - } - } - } - animations_props = ep1_mediterranean_book - animations = female_prop_fix_additive - } portrait_modifier = { # China trigger = { culture = { @@ -3804,7 +3833,78 @@ closed_book = { } } +closed_book_left = { + portrait_modifier = { # Mediterranean + trigger = { + faith = faith:orthodox + culture = { + OR = { + has_clothing_gfx = iberian_christian_clothing_gfx + has_clothing_gfx = byzantine_clothing_gfx + } + } + } + animations_props = ep1_mediterranean_book_big_left + animations = female_prop_fix_additive + } + portrait_modifier = { # Christians + trigger = { + religion = religion:christianity_religion + } + animations_props = pam_bible_ornate_01_a_left + animations = female_prop_fix_additive + } + portrait_modifier = { # MENA + trigger = { + culture = { + OR = { + has_clothing_gfx = mena_clothing_gfx + has_clothing_gfx = mongol_clothing_gfx + has_clothing_gfx = iberian_muslim_clothing_gfx + } + } + } + animations_props = ep1_mena_book_big_left + animations = female_prop_fix_additive + } + portrait_modifier = { # India + trigger = { + culture = { + OR = { + has_clothing_gfx = indian_clothing_gfx + has_clothing_gfx = southeast_asian_clothing_gfx + } + } + } + animations_props = ep1_indian_book_big_left + animations = female_prop_fix_additive + } + portrait_modifier = { # China + trigger = { + culture = { + OR = { + has_clothing_gfx = chinese_clothing_gfx + has_unit_gfx = japanese_unit_gfx + } + } + } + animations_props = tgp_chinese_book_closed_left + animations = female_prop_fix_additive + } + portrait_modifier = { # Everything else - not great bc big cross + animations_props = ep1_western_book_big_left + animations = female_prop_fix_additive + } +} + closed_book_w_writing_tool = { + portrait_modifier = { # Christians + trigger = { + religion = religion:christianity_religion + } + animations_props = pam_bible_ornate_writing + animations = female_prop_fix_additive + } portrait_modifier = { # MENA trigger = { culture = { @@ -3859,3 +3959,139 @@ closed_book_w_writing_tool = { animations = female_prop_fix_additive } } + +### Crozier ### + +crozier = { + portrait_modifier = { # Orthodox ornate + trigger = { + OR = { + faith = faith:orthodox + rite = rite:byzantine_rite + } + any_held_title = { is_head_of_faith = yes } + } + animations_props = pam_crozier_orthodox_ornate + } + portrait_modifier = { # Orthodox basic + trigger = { + OR = { + faith = faith:orthodox + rite = rite:byzantine_rite + } + } + animations_props = pam_crozier_orthodox_basic + } + portrait_modifier = { # Catholic ornate + trigger = { + religion = religion:christianity_religion + any_held_title = { is_head_of_faith = yes } + } + animations_props = pam_crozier_catholic_ornate + } + portrait_modifier = { # Catholic archbishop / prince-bishop / cardinal + trigger = { + religion = religion:christianity_religion + OR = { + portrait_is_archbishop_trigger = yes + portrait_is_prince_bishop_trigger = yes + portrait_is_cardinal_trigger = yes + } + } + animations_props = pam_crozier_catholic_basic + } + portrait_modifier = { # Equipped + animations_props = bp3_walking_stick + } +} + +crozier_right = { + portrait_modifier = { # Orthodox ornate + trigger = { + OR = { + faith = faith:orthodox + rite = rite:byzantine_rite + } + any_held_title = { is_head_of_faith = yes } + } + animations_props = pam_crozier_orthodox_ornate_right + } + portrait_modifier = { # Orthodox basic + trigger = { + OR = { + faith = faith:orthodox + rite = rite:byzantine_rite + } + } + animations_props = pam_crozier_orthodox_basic_right + } + portrait_modifier = { # Catholic ornate + trigger = { + religion = religion:christianity_religion + any_held_title = { is_head_of_faith = yes } + } + animations_props = pam_crozier_catholic_ornate_right + } + portrait_modifier = { # Catholic archbishop / prince-bishop / cardinal + trigger = { + religion = religion:christianity_religion + OR = { + portrait_is_archbishop_trigger = yes + portrait_is_prince_bishop_trigger = yes + portrait_is_cardinal_trigger = yes + } + } + animations_props = pam_crozier_catholic_basic_right + } + portrait_modifier = { # Equipped + animations_props = bp3_walking_stick_right + } +} + +crozier_w_bible = { + portrait_modifier = { # Orthodox ornate + trigger = { + OR = { + faith = faith:orthodox + rite = rite:byzantine_rite + } + any_held_title = { is_head_of_faith = yes } + } + animations_props = pam_crozier_orthodox_ornate_right + animations_props = pam_bible_ornate_01 + } + portrait_modifier = { # Orthodox basic + trigger = { + OR = { + faith = faith:orthodox + rite = rite:byzantine_rite + } + } + animations_props = pam_crozier_orthodox_basic_right + animations_props = pam_bible_ornate_01 + } + portrait_modifier = { # Catholic ornate + trigger = { + religion = religion:christianity_religion + any_held_title = { is_head_of_faith = yes } + } + animations_props = pam_crozier_catholic_ornate_right + animations_props = pam_bible_ornate_01 + } + portrait_modifier = { # Catholic archbishop / prince-bishop / cardinal + trigger = { + religion = religion:christianity_religion + OR = { + portrait_is_archbishop_trigger = yes + portrait_is_prince_bishop_trigger = yes + portrait_is_cardinal_trigger = yes + } + } + animations_props = pam_crozier_catholic_basic_right + animations_props = pam_bible_ornate_01 + } + portrait_modifier = { # Equipped + animations_props = bp3_walking_stick_right + animations_props = pam_bible_ornate_01 + } +} \ No newline at end of file diff --git a/gfx/portraits/portrait_animations/animations.txt b/gfx/portraits/portrait_animations/animations.txt index 365795225..7796abc62 100644 --- a/gfx/portraits/portrait_animations/animations.txt +++ b/gfx/portraits/portrait_animations/animations.txt @@ -15,6 +15,25 @@ idle = { default = { default = { head = "idle_entry" torso = "idle_entry" } + exaltation_of_pain_wounded_3_divine_ecstasy = { + animation = { head = "divine_ecstasy" torso = "divine_ecstasy" } + portrait_modifier = { + animations = AI_zealous_decal + } + weight = { + base = 0 + modifier = { + add = 10000 + has_trait = wounded_3 + has_personal_tenet_flag = self_mutilation_active + NOR = { + has_trait = incapable + is_imprisoned = yes + } + } + } + } + incapable = { animation = { head = "incapable" torso = "incapable" } weight = { @@ -59,6 +78,18 @@ idle = { } } + defeated = { + animation = { head = "defeated" torso = "defeated" } + weight = { + base = 0 + modifier = { + stress_level >= 3 + is_ai = no + add = 100 + } + } + } + AI_idle_ergotism = { animation = { head = "dancing_plague_loop" torso = "dancing_plague_loop" } weight = { @@ -128,6 +159,340 @@ idle = { } } + whipping_self = { + animation = { head = "self_flagellation" torso = "self_flagellation" } + portrait_modifier = { + animations_props = pam_whip_01 + animations = AI_zealous_decal + } + weight = { + base = 0 + modifier = { + add = 101 + is_alive = yes + has_trait = flagellant + OR = { + has_trait = wounded + has_character_flag = recent_flagellant + } + } + } + } + + priest_corrupt = { + animation = { head = "priest_corrupt" torso = "priest_corrupt" } + portrait_modifier_pack = crozier + weight = { + base = 0 + modifier = { + add = 100 + religion = religion:christianity_religion + any_held_title = { is_head_of_faith = yes } + OR = { + ai_honor < medium_negative_ai_value + ai_greed > medium_positive_ai_value + ai_compassion < medium_negative_ai_value + } + } + } + } + + priest_good = { + animation = { head = "priest_good" torso = "priest_good" } + portrait_modifier_pack = crozier + weight = { + base = 0 + modifier = { + add = 100 + religion = religion:christianity_religion + any_held_title = { is_head_of_faith = yes } + OR = { + ai_greed <= high_negative_ai_value + ai_honor >= high_positive_ai_value + ai_compassion >= high_positive_ai_value + ai_zeal >= high_positive_ai_value + } + ai_greed < low_positive_ai_value + ai_honor > low_negative_ai_value + ai_compassion > low_negative_ai_value + } + } + } + + holding_crozier = { + animation = { head = "holding_staff_loop" torso = "holding_staff_loop" } + portrait_modifier_pack = crozier + weight = { + base = 0 + modifier = { + add = 100 + religion = religion:christianity_religion + any_held_title = { is_head_of_faith = yes } + } + } + } + + clergy_idle_superior = { + animation = { head = "zealous_superior" torso = "zealous_superior" } + portrait_modifier = { + animations = AI_zealous_decal + } + weight = { + base = 0 + modifier = { + add = 120 + portrait_religious_christian_trigger = yes + portrait_religious_high_trigger = yes + NOT = { any_held_title = { is_head_of_faith = yes } } + NOT = { + static_group_filter = { + group = clergy_idle_uses_crozier_0 + match = 0.5 + } + } + OR = { + has_trait = zealous + ai_zeal >= high_positive_ai_value + AND = { + has_trait = arrogant + ai_zeal >= low_positive_ai_value + } + } + } + } + } + + clergy_crozier_corrupt = { + animation = { head = "priest_corrupt" torso = "priest_corrupt" } + portrait_modifier_pack = crozier + weight = { + base = 0 + modifier = { + add = 110 + portrait_religious_christian_trigger = yes + portrait_religious_high_trigger = yes + NOT = { any_held_title = { is_head_of_faith = yes } } + static_group_filter = { + group = clergy_idle_uses_crozier_1 + match = 0.5 + } + OR = { + ai_honor < medium_negative_ai_value + ai_greed > medium_positive_ai_value + ai_compassion < medium_negative_ai_value + } + } + } + } + + clergy_crozier_good = { + animation = { head = "priest_good" torso = "priest_good" } + portrait_modifier_pack = crozier + weight = { + base = 0 + modifier = { + add = 110 + portrait_religious_christian_trigger = yes + portrait_religious_high_trigger = yes + NOT = { any_held_title = { is_head_of_faith = yes } } + static_group_filter = { + group = clergy_idle_uses_crozier_2 + match = 0.05 + } + OR = { + ai_greed <= high_negative_ai_value + ai_honor >= high_positive_ai_value + ai_compassion >= high_positive_ai_value + ai_zeal >= high_positive_ai_value + } + ai_greed < low_positive_ai_value + ai_honor > low_negative_ai_value + ai_compassion > low_negative_ai_value + } + } + } + + clergy_crozier_neutral = { + animation = { head = "holding_staff_loop" torso = "holding_staff_loop" } + portrait_modifier_pack = crozier + weight = { + base = 0 + modifier = { + add = 100 + portrait_religious_christian_trigger = yes + portrait_religious_high_trigger = yes + NOT = { any_held_title = { is_head_of_faith = yes } } + static_group_filter = { + group = clergy_idle_uses_crozier_3 + match = 0.25 + } + } + } + } + + clergy_idle_prayer = { + animation = { head = "praying_standing" torso = "praying_standing" } + portrait_modifier = { + animations = AI_zealous_decal + } + weight = { + base = 0 + modifier = { + add = 100 + portrait_religious_christian_trigger = yes + portrait_religious_high_trigger = yes + NOT = { any_held_title = { is_head_of_faith = yes } } + static_group_filter = { + group = clergy_idle_1 + match = 0.15 + } + } + } + } + + clergy_idle_prayer_eyes = { + animation = { head = "praying_standing_eyes" torso = "praying_standing_eyes" } + portrait_modifier = { + animations = AI_zealous_decal + } + weight = { + base = 0 + modifier = { + add = 100 + portrait_religious_christian_trigger = yes + portrait_religious_high_trigger = yes + NOT = { any_held_title = { is_head_of_faith = yes } } + static_group_filter = { + group = clergy_idle_2 + match = 0.5 + } + } + } + } + + clergy_idle_divine_gesture_1 = { + animation = { head = "divine_gesture_1" torso = "divine_gesture_1" } + portrait_modifier = { + animations = AI_zealous_decal + } + weight = { + base = 0 + modifier = { + add = 100 + portrait_religious_christian_trigger = yes + portrait_religious_high_trigger = yes + NOT = { any_held_title = { is_head_of_faith = yes } } + static_group_filter = { + group = clergy_idle_3 + match = 0.75 + } + } + } + } + + clergy_idle_divine_gesture_2 = { + animation = { head = "divine_gesture_2" torso = "divine_gesture_2" } + portrait_modifier = { + animations = AI_zealous_decal + } + weight = { + base = 0 + modifier = { + add = 100 + portrait_religious_christian_trigger = yes + portrait_religious_high_trigger = yes + NOT = { any_held_title = { is_head_of_faith = yes } } + static_group_filter = { + group = clergy_idle_4 + match = 0.75 + } + } + } + } + + clergy_idle_divine_gesture_3 = { + animation = { head = "divine_gesture_3" torso = "divine_gesture_3" } + portrait_modifier_pack = closed_book_left + portrait_modifier = { + animations = AI_zealous_decal + } + weight = { + base = 0 + modifier = { + add = 100 + portrait_religious_christian_trigger = yes + portrait_religious_high_trigger = yes + NOT = { any_held_title = { is_head_of_faith = yes } } + static_group_filter = { + group = clergy_idle_5 + match = 0.75 + } + } + } + } + + clergy_idle_divine_gesture_4 = { + animation = { head = "divine_gesture_4" torso = "divine_gesture_4" } + portrait_modifier_set = { + portrait_modifier_pack = crozier_right + } + portrait_modifier_set = { + portrait_modifier_pack = closed_book_left + } + portrait_modifier_set = { + portrait_modifier = { + animations = AI_zealous_decal + } + } + weight = { + base = 0 + modifier = { + add = 100 + portrait_religious_christian_trigger = yes + portrait_religious_high_trigger = yes + NOT = { any_held_title = { is_head_of_faith = yes } } + static_group_filter = { + group = clergy_idle_6 + match = 0.75 + } + } + } + } + + clergy_idle_priestly = { + animation = { head = "wedding_priest_idle_entry" torso = "wedding_priest_idle_entry" } + weight = { + base = 0 + modifier = { + add = 100 + portrait_religious_christian_trigger = yes + portrait_religious_high_trigger = yes + NOT = { any_held_title = { is_head_of_faith = yes } } + static_group_filter = { + group = clergy_idle_7 + match = 0.75 + } + } + } + } + + clergy_idle_basic = { + animation = { head = "idle_entry" torso = "idle_entry" } + weight = { + base = 0 + modifier = { + add = 100 + portrait_religious_christian_trigger = yes + portrait_religious_high_trigger = yes + NOT = { any_held_title = { is_head_of_faith = yes } } + static_group_filter = { + group = clergy_idle_8 + match = 1.0 + } + } + } + } + character_conqueror_war = { animation = { head = "marshal_shield" torso = "marshal_shield" } portrait_modifier_pack = council_marshal_shield @@ -153,8 +518,8 @@ idle = { } portrait_modifier_pack = one_handed_sword } - - + + infirm_elder = { animation = { head = "holding_crutch" torso = "holding_crutch" } @@ -304,8 +669,16 @@ idle = { base = 0 modifier = { add = 1000 - primary_title ?= { - is_mercenary_company = yes + OR = { + primary_title ?= { + is_mercenary_company = yes + } + AND = { + is_ruler = no + government_has_flag = government_is_military_holy_order + religion = religion:christianity_religion + portrait_wear_armor_currently_in_army_trigger = yes + } } has_personality_malicious_trigger = yes } @@ -319,8 +692,16 @@ idle = { base = 0 modifier = { add = 1000 - primary_title ?= { - is_mercenary_company = yes + OR = { + primary_title ?= { + is_mercenary_company = yes + } + AND = { + is_ruler = no + government_has_flag = government_is_military_holy_order + religion = religion:christianity_religion + portrait_wear_armor_currently_in_army_trigger = yes + } } has_personality_levelheaded_trigger = yes } @@ -334,8 +715,16 @@ idle = { base = 0 modifier = { add = 1000 - primary_title ?= { - is_mercenary_company = yes + OR = { + primary_title ?= { + is_mercenary_company = yes + } + AND = { + is_ruler = no + government_has_flag = government_is_military_holy_order + religion = religion:christianity_religion + portrait_wear_armor_currently_in_army_trigger = yes + } } has_personality_dominant_trigger = yes } @@ -349,8 +738,16 @@ idle = { base = 0 modifier = { add = 1000 - primary_title ?= { - is_mercenary_company = yes + OR = { + primary_title ?= { + is_mercenary_company = yes + } + AND = { + is_ruler = no + government_has_flag = government_is_military_holy_order + religion = religion:christianity_religion + portrait_wear_armor_currently_in_army_trigger = yes + } } } } @@ -358,7 +755,7 @@ idle = { } character_murchad = { - animation = { head = "emotion_thinking_entry" torso = "emotion_thinking_entry" } + animation = { head = "emotion_thinking" torso = "emotion_thinking" } portrait_modifier = { animations = AI_rational_decal } @@ -410,6 +807,12 @@ idle = { # this = character:easteregg_henry_of_skalitz # this = character:easteregg_henry_kobyla # this = character:easteregg_henry_kobyla_late +# AND = { +# is_ruler = yes +# government_has_flag = government_is_military_holy_order +# religion = religion:christianity_religion +# is_at_war = yes +# } # } # } } @@ -528,7 +931,7 @@ idle = { base = 0 modifier = { add = 100 - primary_title = title:e_byzantium + is_eastern_roman_emperor_primary_title_trigger = yes faith.religion = religion:christianity_religion } } @@ -697,8 +1100,65 @@ idle = { # portrait_modifier_pack = hu # } -########################################################################################################################################################################################## -########################################################################################################################################################################################## + holding_hu_2 = { + animation = { head = "holding_hu_2" torso = "holding_hu_2" } + weight = { + base = 0 + modifier = { + is_adult = yes + asian_variants = yes + government_has_mechanic = administrative + NOT = { has_trait = devoted } + merit_level > 0 + add = {80 120} + } + modifier = { + AND = { + is_female = yes + rite = { rite_has_doctrine = doctrine_gender_male_dominated } + } + factor = 0 + } + modifier = { + AND = { + is_male = yes + rite = { rite_has_doctrine = doctrine_gender_female_dominated } + } + factor = 0 + } + } + portrait_modifier_pack = hu + } + + holding_hu_3 = { + animation = { head = "holding_hu_3" torso = "holding_hu_3" } + weight = { + base = 0 + modifier = { + is_adult = yes + asian_variants = yes + government_has_mechanic = administrative + NOT = { has_trait = devoted } + merit_level > 0 + add = {90 130} + } + modifier = { + AND = { + is_female = yes + rite = { rite_has_doctrine = doctrine_gender_male_dominated } + } + factor = 0 + } + modifier = { + AND = { + is_male = yes + rite = { rite_has_doctrine = doctrine_gender_female_dominated } + } + factor = 0 + } + } + portrait_modifier_pack = hu + } japanese_knight_1 = { animation = { head = "hasso_no_kamae" torso = "hasso_no_kamae" } @@ -721,6 +1181,9 @@ idle = { } } +########################################################################################################################################################################################## +########################################################################################################################################################################################## + AI_honorable_asia = { animation = { head = "AI_honorable_asia" torso = "AI_honorable_asia" } weight = { @@ -1842,7 +2305,21 @@ chancellor = { default = { default = { head = "council_chancellor" torso = "council_chancellor" } + # add them to all entries make this file 25% longer XD + # so just patch where it becomes an issue + idle = { + animation = { head = "dead" torso = "dead" } + weight = { + base = 0 + modifier = { + add = 32767 + character:33922 ?= this + } + } + } + portrait_modifier = { + trigger = { NOT = { character:33922 ?= this } } animations = council_chancellor_decal animations_props = chancellor_prop } @@ -1988,7 +2465,7 @@ spymaster = { } council_spymaster_asia = { - animation = { head = "council_spymaster_asia" torso = "council_spymaster_asia" } + animation = { head = "council_spymaster_asia_action" torso = "council_spymaster_asia_action" } weight = { base = 0 modifier = { @@ -2153,92 +2630,6 @@ marshal = { } } -marshal_random_weapon = { - default = { - default = { head = "council_marshal" torso = "council_marshal" } - marshal_sword = { - animation = { head = "council_marshal" torso = "council_marshal" } - weight = { - base = 25 - modifier = { - add = { 0.0 100.0 } # Random chance - } - } - portrait_modifier_pack = one_handed_sword - } - marshal_axe = { - animation = { head = "council_marshal" torso = "council_marshal" } - weight = { - base = 25 - modifier = { - add = { 0.0 100.0 } # Random chance - } - } - portrait_modifier_pack = one_handed_axe - } - marshal_dagger = { - animation = { head = "council_marshal" torso = "council_marshal" } - weight = { - base = 25 - modifier = { - add = { 0.0 100.0 } # Random chance - } - } - portrait_modifier_pack = one_handed_dagger - } - marshal_mace = { - animation = { head = "council_marshal" torso = "council_marshal" } - weight = { - base = 25 - modifier = { - add = { 0.0 100.0 } # Random chance - } - } - portrait_modifier_pack = one_handed_mace - } - } -} - -marshal_axe = { - default = { - default = { head = "council_marshal" torso = "council_marshal" } - marshal_axe = { - animation = { head = "council_marshal" torso = "council_marshal" } - portrait_modifier_pack = one_handed_axe - } - } -} - -marshal_dagger = { - default = { - default = { head = "council_marshal" torso = "council_marshal" } - marshal_dagger = { - animation = { head = "council_marshal" torso = "council_marshal" } - portrait_modifier_pack = one_handed_dagger - } - } -} - -marshal_mace = { - default = { - default = { head = "council_marshal" torso = "council_marshal" } - marshal_mace = { - animation = { head = "council_marshal" torso = "council_marshal" } - portrait_modifier_pack = one_handed_mace - } - } -} - -marshal_shield = { - default = { - default = { head = "marshal_shield" torso = "marshal_shield" } - marshal_shield = { - animation = { head = "marshal_shield" torso = "marshal_shield" } - portrait_modifier_pack = council_marshal_shield - } - } -} - minister_works = { barbershop = no default = { @@ -2265,9 +2656,9 @@ minister_works = { is_performing_council_task = task_develop_county_minister_of_works } } + portrait_modifier = { } - } minister_works_fat_dwarf = { # Also just fat and just dwarf @@ -4642,6 +5033,15 @@ manic = { } } +mental_anguish = { #Introduced in PAM + default = { + default = { head = "mental_agony_action" torso = "mental_agony_action" } + portrait_modifier = { + animations = emotion_pain_decal + } + } +} + nervous = { default = { default = { head = "nervous" torso = "nervous" } @@ -5543,6 +5943,95 @@ throne_room_writer = { } } +# Thinking + +thinking_all = { + barbershop = no + default = { + default = { head = "emotion_thinking_entry" torso = "emotion_thinking_entry" } + portrait_modifier = { + animations = AI_rational_decal + } + + thinking_rational_fat = { + animation = { head = "emotion_thinkingFat_entry" torso = "emotion_thinkingFat_entry" } + weight = { + base = 0 + modifier = { + should_use_fat_animation = yes + add = { 0.0 100.0 } # Random chance + } + modifier = { + factor = 0 + should_use_fat_dwarf_animation = yes + } + } + } + + thinking_rational_fat_dwarf = { + animation = { head = "emotion_thinkingFatDwarf_entry" torso = "emotion_thinkingFatDwarf_entry" } + weight = { + base = 0 + modifier = { + should_use_fat_dwarf_animation = yes + add = { 0.0 100.0 } # Random chance + } + modifier = { + factor = 0 + should_use_fat_animation = yes + } + } + } + + thinking = { + animation = { head = "emotion_thinking_entry" torso = "emotion_thinking_entry" } + weight = { + base = 0 + modifier = { + add = { 0.0 100.0 } # Random chance + } + modifier = { + factor = 0 + OR = { + should_use_fat_animation = yes + should_use_fat_dwarf_animation = yes + } + } + } + } + + pondering = { + animation = { head = "pondering_start" torso = "pondering_start" } + weight = { + base = 0 + modifier = { + add = { 0.0 100.0 } # Random chance + } + } + } + + contemplating = { + animation = { head = "contemplating" torso = "contemplating" } + weight = { + base = 0 + modifier = { + add = { 0.0 100.0 } # Random chance + } + } + } + + deliberation = { + animation = { head = "deliberation" torso = "deliberation" } + weight = { + base = 0 + modifier = { + add = { 0.0 100.0 } # Random chance + } + } + } + } +} + thinking = { default = { default = { head = "emotion_thinking_entry" torso = "emotion_thinking_entry" } @@ -5576,28 +6065,40 @@ thinking = { } emotion_thinking_scepter = { - male = { + default = { default = { head = "emotion_thinking_scepter_start" torso = "emotion_thinking_scepter_start" } portrait_modifier = { animations_props = ep3_byzantine_scepter_prop animations = female_prop_fix_additive } } - female = male - girl = male - boy = male } pondering = { - male = { + default = { default = { head = "pondering_start" torso = "pondering_start" } portrait_modifier = { animations = female_prop_fix_additive } } - female = male - girl = male - boy = male +} + +contemplating = { #Introduced in PAM + default = { + default = { head = "contemplating" torso = "contemplating" } + portrait_modifier = { + animations = AI_rational_decal + } + } +} + +deliberation = { #Introduced in PAM + default = { + default = { head = "deliberation" torso = "deliberation" } + portrait_modifier = { + animations = AI_rational_decal + } + } } # War @@ -6035,7 +6536,7 @@ chess_cocky = { } } -crowning = { #ACH DLC +crowning = { #Introduced in ACH default = { default = { head = "crowning_action" torso = "crowning_action" } crowning = { @@ -6045,6 +6546,12 @@ crowning = { #ACH DLC } } +condemnation = { #Introduced in PAM + default = { + default = { head = "condemnation" torso = "condemnation" } + } +} + dancing = { default = { default = { head = "dancing_loop" torso = "dancing_loop" } @@ -6150,12 +6657,6 @@ lantern = { } } -obsequious_bow = { - default = { - default = { head = "obsequious_bow" torso = "obsequious_bow" } - } -} - physician = { default = { default = { head = "physician" torso = "physician" } @@ -6178,20 +6679,9 @@ physician = { } } -prayer = { +pointing = { #Introduced in PAM default = { - default = { head = "praying" torso = "praying" } - - japan_prayer = { - animation = { head = "kami_prayer" torso = "kami_prayer" } - weight = { - base = 0 - modifier = { - add = 100 - religion = religion:shintoism_religion - } - } - } + default = { head = "pointing" torso = "pointing" } } } @@ -6340,6 +6830,334 @@ shepherd_with_sheep = { } } +villain = { #Introduced in PAM + default = { + default = { head = "villain" torso = "villain" } + portrait_modifier = { + animations = AI_vengeful_decal + } + } +} + +zealous_superior = { #Introduced in PAM + default = { + default = { head = "zealous_superior" torso = "zealous_superior" } + portrait_modifier = { + animations = AI_zealous_decal + } + } +} + +# Religious Animations + +acknowledging_crozier = { #Introduced in PAM + default = { + force = yes + default = { head = "acknowledging_crozier" torso = "acknowledging_crozier" } + acknowledging_crozier = { + animation = { head = "acknowledging_crozier" torso = "acknowledging_crozier" } + portrait_modifier_pack = crozier + } + portrait_modifier = { + animations = female_prop_fix_additive + } + } +} + +divine_gesture_1 = { #Introduced in PAM + default = { + default = { head = "divine_gesture_1" torso = "divine_gesture_1" } + portrait_modifier = { + animations = AI_zealous_decal + } + } +} + +divine_gesture_2 = { #Introduced in PAM + default = { + default = { head = "divine_gesture_2" torso = "divine_gesture_2" } + portrait_modifier = { + animations = AI_zealous_decal + } + } +} + +divine_gesture_3 = { #Introduced in PAM + default = { + default = { head = "divine_gesture_3" torso = "divine_gesture_3" } + force = yes + portrait_modifier = { + animations = AI_zealous_decal + } + divine_gesture_3 = { + animation = { head = "divine_gesture_3" torso = "divine_gesture_3" } + portrait_modifier_pack = closed_book_left + } + } +} + +divine_gesture_4 = { #Introduced in PAM + default = { + default = { head = "divine_gesture_4" torso = "divine_gesture_4" } + divine_gesture_4 = { + animation = { head = "divine_gesture_4" torso = "divine_gesture_4" } + portrait_modifier_set = { + portrait_modifier_pack = crozier_right + } + portrait_modifier_set = { + portrait_modifier_pack = closed_book_left + } + portrait_modifier_set = { + portrait_modifier = { + animations = AI_zealous_decal + } + } + } + } +} + +divine_ecstasy = { #Introduced in PAM + default = { + default = { head = "divine_ecstasy" torso = "divine_ecstasy" } + portrait_modifier = { + animations = AI_zealous_decal + } + } +} + +divine_ecstasy_kneeling = { #Introduced in PAM + default = { + default = { head = "divine_ecstasy_kneeling" torso = "divine_ecstasy_kneeling" } + portrait_modifier = { + animations = AI_zealous_decal + } + } +} + +holding_crozier = { #Introduced in PAM + default = { + default = { head = "holding_staff_loop" torso = "holding_staff_loop" } + holding_crozier = { + animation = { head = "holding_staff_loop" torso = "holding_staff_loop" } + portrait_modifier_pack = crozier + } + } +} + +prayer_muslim = { #Introduced in PAM + barbershop = no + default = { + default = { head = "muslim_prayer" torso = "muslim_prayer" } + portrait_modifier = { + animations = AI_zealous_decal + } + } +} + +prayer_crossing = { #Introduced in PAM + default = { + default = { head = "crossing_prayer" torso = "crossing_prayer" } + portrait_modifier = { + animations = AI_zealous_decal + } + } +} + +prayer = { + default = { + default = { head = "praying" torso = "praying" } + portrait_modifier = { + animations = AI_zealous_decal + } + + muslim_prayer = { + animation = { head = "muslim_prayer" torso = "muslim_prayer" } + weight = { + base = 0 + modifier = { + add = 100 + religion = religion:islam_religion + } + } + } + + japan_prayer = { + animation = { head = "kami_prayer" torso = "kami_prayer" } + weight = { + base = 0 + modifier = { + add = 100 + religion = religion:shintoism_religion + } + } + } + } +} + +prayer_standing = { #Introduced in PAM + default = { + default = { head = "praying_standing" torso = "praying_standing" } + portrait_modifier = { + animations = AI_zealous_decal + } + } +} + +prayer_standing_eyes = { #Introduced in PAM + default = { + default = { head = "praying_standing_eyes" torso = "praying_standing_eyes" } + portrait_modifier = { + animations = AI_zealous_decal + } + } +} + +preaching = { #Introduced in PAM + default = { + default = { head = "preaching" torso = "preaching" } + force = yes + portrait_modifier = { + animations = AI_zealous_decal + } + preaching = { + animation = { head = "preaching" torso = "preaching" } + weight = { + base = 100 + } + portrait_modifier_pack = open_book + } + } +} + +preaching_no_book = { #Introduced in PAM + default = { + default = { head = "preaching_no_book_1" torso = "preaching_no_book_1" } + portrait_modifier = { + animations = AI_zealous_decal + } + } +} + +thurible = { #Introduced in PAM + default = { + default = { head = "thurible" torso = "thurible" } + portrait_modifier = { + animations_props = pam_thurible_01 + animations = AI_zealous_decal + } + } +} + +situla = { #Introduced in PAM + default = { + default = { head = "situla" torso = "situla" } + portrait_modifier = { + animations_props = pam_situla_01 + animations = AI_zealous_decal + } + } +} + +priest_good = { #Introduced in PAM + default = { + default = { head = "priest_good" torso = "priest_good" } + priest_good = { + animation = { head = "priest_good" torso = "priest_good" } + portrait_modifier_pack = crozier + } + } +} + +priest_corrupt = { #Introduced in PAM + default = { + default = { head = "priest_corrupt" torso = "priest_corrupt" } + priest_corrupt = { + animation = { head = "priest_corrupt" torso = "priest_corrupt" } + portrait_modifier_pack = crozier + } + } +} + +whipping = { #Introduced in PAM + default = { + default = { head = "whipping" torso = "whipping" } + portrait_modifier = { + animations_props = pam_whip_01 + animations = AI_zealous_decal + } + } +} + +self_flagellation = { #Introduced in PAM + default = { + default = { head = "self_flagellation" torso = "self_flagellation" } + portrait_modifier = { + animations_props = pam_whip_01 + animations = AI_zealous_decal + } + } +} + +spiritual_fulfillment = { #Introduced in PAM + barbershop = no + default = { + default = { head = "idle" torso = "idle" } + divine_ecstasy = { + animation = { head = "divine_ecstasy" torso = "divine_ecstasy" } + weight = { + base = 0 + modifier = { + add = 100 + spiritual_fulfillment >= 60 + } + } + } + zealous_superior = { + animation = { head = "zealous_superior" torso = "zealous_superior" } + weight = { + base = 0 + modifier = { + add = 100 + spiritual_fulfillment >= 20 + spiritual_fulfillment < 60 + } + } + } + happiness = { + animation = { head = "emotion_happy_entry" torso = "emotion_happy_entry" } + weight = { + base = 0 + modifier = { + add = 100 + spiritual_fulfillment > -20 + spiritual_fulfillment < 20 + } + } + } + fear = { + animation = { head = "emotion_fear_entry" torso = "emotion_fear_entry" } + weight = { + base = 0 + modifier = { + add = 100 + spiritual_fulfillment <= -20 + spiritual_fulfillment > -60 + } + } + } + mental_agony = { + animation = { head = "mental_agony" torso = "mental_agony" } + weight = { + base = 0 + modifier = { + add = 100 + spiritual_fulfillment <= -60 + } + } + } + } +} + # Hunting Animations hunting_horn = { @@ -6652,6 +7470,103 @@ wedding_objection_start = { ######################################################################################################################################################################### ######################################################################################################################################################################### +marshal_random_weapon = { + barbershop = no + default = { + default = { head = "council_marshal" torso = "council_marshal" } + marshal_sword = { + animation = { head = "council_marshal" torso = "council_marshal" } + weight = { + base = 25 + modifier = { + add = { 0.0 100.0 } # Random chance + } + } + portrait_modifier_pack = one_handed_sword + } + marshal_axe = { + animation = { head = "council_marshal" torso = "council_marshal" } + weight = { + base = 25 + modifier = { + add = { 0.0 100.0 } # Random chance + } + } + portrait_modifier_pack = one_handed_axe + } + marshal_dagger = { + animation = { head = "council_marshal" torso = "council_marshal" } + weight = { + base = 25 + modifier = { + add = { 0.0 100.0 } # Random chance + } + } + portrait_modifier_pack = one_handed_dagger + } + marshal_mace = { + animation = { head = "council_marshal" torso = "council_marshal" } + weight = { + base = 25 + modifier = { + add = { 0.0 100.0 } # Random chance + } + } + portrait_modifier_pack = one_handed_mace + } + } +} + +marshal_axe = { + default = { + default = { head = "council_marshal" torso = "council_marshal" } + marshal_axe = { + animation = { head = "council_marshal" torso = "council_marshal" } + portrait_modifier_pack = one_handed_axe + } + } +} + +marshal_dagger = { + default = { + default = { head = "council_marshal" torso = "council_marshal" } + marshal_dagger = { + animation = { head = "council_marshal" torso = "council_marshal" } + portrait_modifier_pack = one_handed_dagger + } + } +} + +marshal_mace = { + default = { + default = { head = "council_marshal" torso = "council_marshal" } + marshal_mace = { + animation = { head = "council_marshal" torso = "council_marshal" } + portrait_modifier_pack = one_handed_mace + } + } +} + +marshal_shield = { + default = { + default = { head = "marshal_shield" torso = "marshal_shield" } + marshal_shield = { + animation = { head = "marshal_shield" torso = "marshal_shield" } + portrait_modifier_pack = council_marshal_shield + } + } +} + +sword_shield_aggressive = { #Introduced in PAM + default = { + default = { head = "sword_shield_aggressive" torso = "sword_shield_aggressive" } + sword_shield_aggressive = { + animation = { head = "sword_shield_aggressive" torso = "sword_shield_aggressive" } + portrait_modifier_pack = council_marshal_shield + } + } +} + assassin = { default = { default = { head = "assassin_entry" torso = "assassin_entry" } @@ -7205,6 +8120,7 @@ wooden_sword_coup_degrace = { } random_weapon_coup_degrace = { + barbershop = no default = { default = { head = "sword_coup_degrace_entry" torso = "sword_coup_degrace_entry" } sword_coup_degrace = { @@ -7269,6 +8185,7 @@ random_weapon_coup_degrace = { } random_weapon_aggressive = { + barbershop = no default = { default = { head = "oneHandedAggressive1_entry" torso = "oneHandedAggressive1_entry" } sword_aggressive = { @@ -7333,6 +8250,7 @@ random_weapon_aggressive = { } random_weapon_celebrate = { + barbershop = no default = { default = { head = "celebrateOneHanded2_entry" torso = "celebrateOneHanded2_entry" } sword_celebrate = { @@ -7397,6 +8315,7 @@ random_weapon_celebrate = { } random_weapon_yield = { + barbershop = no default = { default = { head = "sword_yield_start_entry" torso = "sword_yield_start_entry" } sword_yield = { @@ -8297,6 +9216,12 @@ throne_room_bow_3 = { } } +obsequious_bow = { + default = { + default = { head = "obsequious_bow" torso = "obsequious_bow" } + } +} + prostration = { default = { default = { head = "prostration_start" torso = "prostration_start" } diff --git a/gfx/portraits/portrait_modifiers/00_animation_props.txt b/gfx/portraits/portrait_modifiers/00_animation_props.txt index 4bc1d6d78..718a9cc45 100644 --- a/gfx/portraits/portrait_modifiers/00_animation_props.txt +++ b/gfx/portraits/portrait_modifiers/00_animation_props.txt @@ -1951,6 +1951,17 @@ } } + bp3_walking_stick_right = { + dna_modifiers = { + accessory = { + mode = add + gene = props_right + template = bp3_walking_stick_01_right + range = {0 1} + } + } + } + steppe_bow = { dna_modifiers = { accessory = { @@ -2787,6 +2798,84 @@ } } + pam_bible_ornate_01 = { + dna_modifiers = { + accessory = { + mode = add + gene = props_right + template = pam_bible_ornate_01_portrait + value = 1.0 + } + } + } + +# Closed left + tgp_chinese_book_closed_left = { + dna_modifiers = { + accessory = { + mode = add + gene = props_left + template = tgp_chinese_book_closed_left + value = 1 + } + } + } + + ep1_western_book_big_left = { + dna_modifiers = { + accessory = { + mode = add + gene = props_left + template = ep1_western_book_big_left + value = 1.0 + } + } + } + + ep1_mena_book_big_left = { + dna_modifiers = { + accessory = { + mode = add + gene = props_left + template = ep1_mena_book_big_left + value = 1.0 + } + } + } + + ep1_indian_book_big_left = { + dna_modifiers = { + accessory = { + mode = add + gene = props_left + template = ep1_indian_book_big_left + value = 1.0 + } + } + } + + ep1_mediterranean_book_big_left = { + dna_modifiers = { + accessory = { + mode = add + gene = props_left + template = ep1_mediterranean_book_big_left + value = 1.0 + } + } + } + + pam_bible_ornate_01_a_left = { + dna_modifiers = { + accessory = { + mode = add + gene = props_left + template = pam_bible_ornate_01_a_left + value = 1.0 + } + } + } + # Open bp2_reading_book_prop = { dna_modifiers = { @@ -2810,6 +2899,17 @@ } } + pam_bible_ornate_open_left = { + dna_modifiers = { + accessory = { + mode = add + gene = props_left + template = pam_bible_ornate_open_01_left + value = 1 + } + } + } + # Paged fp4_paged_book_prop = { dna_modifiers = { @@ -2914,6 +3014,22 @@ } } } + pam_bible_ornate_writing = { + dna_modifiers = { + accessory = { + mode = add + gene = props_left + template = ep1_tool_quill + value = 1.0 + } + accessory = { + mode = add + gene = props_right + template = pam_bible_ornate_01_portrait + value = 1.0 + } + } + } # Open with writing tool right open_book_right_writing = { @@ -2934,6 +3050,24 @@ } } } + open_book_right_writing_bible = { + dna_modifiers = { + accessory = { + mode = add + gene = props_left + template = ep1_tool_quill + value = 1.0 + } + } + dna_modifiers = { + accessory = { + mode = add + gene = props_right + template = pam_bible_ornate_open_01_right + value = 1.0 + } + } + } open_book_right_writing_chinese = { dna_modifiers = { accessory = { @@ -2970,6 +3104,22 @@ } } } + open_book_left_writing_bible = { + dna_modifiers = { + accessory = { + mode = add + gene = props_right + template = fp4_quill + value = 1.0 + } + accessory = { + mode = add + gene = props_left + template = pam_bible_ornate_open_01_left + value = 1.0 + } + } + } open_book_left_writing_chinese = { dna_modifiers = { accessory = { @@ -3229,6 +3379,127 @@ } } + pam_crozier_orthodox_basic = { + dna_modifiers = { + accessory = { + mode = add + gene = props_left + template = pam_crozier_orthodox_basic_01 + value = 1.0 + } + } + } + + pam_crozier_orthodox_ornate = { + dna_modifiers = { + accessory = { + mode = add + gene = props_left + template = pam_crozier_orthodox_ornate_01 + value = 1.0 + } + } + } + + pam_crozier_catholic_basic = { + dna_modifiers = { + accessory = { + mode = add + gene = props_left + template = pam_crozier_catholic_basic_01 + range = { 0 1 } + } + } + } + + pam_crozier_catholic_ornate = { + dna_modifiers = { + accessory = { + mode = add + gene = props_left + template = pam_crozier_catholic_ornate_01 + value = 1.0 + } + } + } + + pam_thurible_01 = { + dna_modifiers = { + accessory = { + mode = add + gene = props_right + template = pam_thurible_01_a + value = 1.0 + } + } + } + + pam_situla_01 = { + dna_modifiers = { + accessory = { + mode = add + gene = props_left + template = pam_situla_01_a + value = 1.0 + } + } + } + + pam_whip_01 = { + dna_modifiers = { + accessory = { + mode = add + gene = props_right + template = pam_whip_01_a + value = 1.0 + } + } + } + + pam_crozier_orthodox_basic_right = { + dna_modifiers = { + accessory = { + mode = add + gene = props_right + template = pam_crozier_orthodox_basic_01_right + value = 1.0 + } + } + } + + pam_crozier_orthodox_ornate_right = { + dna_modifiers = { + accessory = { + mode = add + gene = props_right + template = pam_crozier_orthodox_ornate_01_right + value = 1.0 + } + } + } + + pam_crozier_catholic_basic_right = { + dna_modifiers = { + accessory = { + mode = add + gene = props_right + template = pam_crozier_catholic_basic_01_right + range = { 0 1 } + } + } + } + + pam_crozier_catholic_ornate_right = { + dna_modifiers = { + accessory = { + mode = add + gene = props_right + template = pam_crozier_catholic_ornate_01_right + value = 1.0 + } + } + } + ### N3OW - Coronation Props coronation_crown_prop_nistrenia_imperial = { diff --git a/gfx/portraits/portrait_modifiers/00_custom_headgear.txt b/gfx/portraits/portrait_modifiers/00_custom_headgear.txt index 3c49b4eac..6dddf4f47 100644 --- a/gfx/portraits/portrait_modifiers/00_custom_headgear.txt +++ b/gfx/portraits/portrait_modifiers/00_custom_headgear.txt @@ -6,6 +6,39 @@ gene = headgear template = no_headgear } + ## PAM ## + + add_accessory_modifiers = { + gene = headgear + template = pam_nun_crown_01 + is_valid_custom = { + has_pam_dlc_trigger = yes + } + } + + add_accessory_modifiers = { + gene = headgear + template = catholic_cardinal_hat + is_valid_custom = { + has_pam_dlc_trigger = yes + } + } + + add_accessory_modifiers = { + gene = headgear + template = catholic_bishop_mitre_early + is_valid_custom = { + has_pam_dlc_trigger = yes + } + } + + add_accessory_modifiers = { + gene = headgear + template = catholic_bishop_mitre_late + is_valid_custom = { + has_pam_dlc_trigger = yes + } + } ## SP5 - Symbols of Authority ## @@ -547,27 +580,27 @@ ## Veils ## add_accessory_modifiers = { - gene = headgear + gene = additive_headgear template = fp4_western_era2_veils } add_accessory_modifiers = { - gene = headgear + gene = additive_headgear template = western_veils } add_accessory_modifiers = { - gene = headgear + gene = additive_headgear template = ep2_western_era1_veils } add_accessory_modifiers = { - gene = headgear + gene = additive_headgear template = ep2_western_era2_veils } add_accessory_modifiers = { - gene = headgear + gene = additive_headgear template = ep2_western_era3_veils } @@ -663,10 +696,6 @@ add_accessory_modifiers = { gene = headgear template = fp4_western_era3_common - } - add_accessory_modifiers = { - gene = headgear - template = fp4_western_cloak_hoods is_valid_custom = { has_ce1_dlc_trigger = yes } diff --git a/gfx/portraits/portrait_modifiers/01_beards_base.txt b/gfx/portraits/portrait_modifiers/01_beards_base.txt index 86b6c0c10..de7cb5e81 100644 --- a/gfx/portraits/portrait_modifiers/01_beards_base.txt +++ b/gfx/portraits/portrait_modifiers/01_beards_base.txt @@ -65,6 +65,10 @@ beards = { exists = this portrait_steppe_clothing_trigger = yes } + modifier = { # Western Christian monks/priests were mostly clean-shaven (order_members excluded) + add = 65 + portrait_western_christian_clean_shaven_clergy_trigger = yes + } portrait_clean_shaven_clothing_modifier = yes } } @@ -96,11 +100,19 @@ beards = { } portrait_western_clothing_trigger = yes } - modifier = { # Muslims should always have a beard + modifier = { # Guarantee-beard groups (Muslims, Orthodox clergy, etc.) should still match their hair gene add = 200 + should_always_have_beard_trigger = yes OR = { - scope:faith.religion = religion:islam_religion -# #is_culture_or_descended_from_trigger = { CULTURE = culture:emishi } + NOT = { exists = this } + has_gene = { + category = gene_hair_type + template = hair_straight + } + has_gene = { + category = gene_hair_type + template = hair_wavy + } } portrait_western_clothing_trigger = yes } @@ -112,6 +124,10 @@ beards = { has_character_flag = has_scripted_appearance } } + modifier = { # Western Christian monks/priests were mostly clean-shaven + add = -50 + portrait_western_christian_clean_shaven_clergy_trigger = yes + } } } @@ -131,22 +147,30 @@ beards = { add = 70 OR = { NOT = { exists = this } - has_gene = { + has_gene = { category = gene_hair_type template = hair_wavy } - has_gene = { + has_gene = { category = gene_hair_type template = hair_curly } } portrait_western_clothing_trigger = yes } - modifier = { # Muslims should always have a beard + modifier = { # Guarantee-beard groups (Muslims, Orthodox clergy, etc.) should still match their hair gene add = 200 + should_always_have_beard_trigger = yes OR = { - scope:faith.religion = religion:islam_religion -# #is_culture_or_descended_from_trigger = { CULTURE = culture:emishi } + NOT = { exists = this } + has_gene = { + category = gene_hair_type + template = hair_wavy + } + has_gene = { + category = gene_hair_type + template = hair_curly + } } portrait_western_clothing_trigger = yes } @@ -158,6 +182,10 @@ beards = { has_character_flag = has_scripted_appearance } } + modifier = { # Western Christian monks/priests were mostly clean-shaven + add = -50 + portrait_western_christian_clean_shaven_clergy_trigger = yes + } } } @@ -177,7 +205,7 @@ beards = { add = 70 OR = { NOT = { exists = this } - has_gene = { + has_gene = { category = gene_hair_type template = hair_straight } @@ -192,11 +220,19 @@ beards = { portrait_japanese_clothing_trigger = yes } } - modifier = { # Muslims should always have a beard + modifier = { # Guarantee-beard groups (Muslims, Orthodox clergy, etc.) should still match their hair gene add = 200 + should_always_have_beard_trigger = yes OR = { - scope:faith.religion = religion:islam_religion -# #is_culture_or_descended_from_trigger = { CULTURE = culture:emishi } + NOT = { exists = this } + has_gene = { + category = gene_hair_type + template = hair_straight + } + has_gene = { + category = gene_hair_type + template = hair_wavy + } } OR = { portrait_mena_clothing_trigger = yes @@ -236,7 +272,7 @@ beards = { add = 70 OR = { NOT = { exists = this } - has_gene = { + has_gene = { category = gene_hair_type template = hair_wavy } @@ -251,11 +287,19 @@ beards = { portrait_japanese_clothing_trigger = yes } } - modifier = { # Muslims should always have a beard + modifier = { # Guarantee-beard groups (Muslims, Orthodox clergy, etc.) should still match their hair gene add = 200 + should_always_have_beard_trigger = yes OR = { - scope:faith.religion = religion:islam_religion - # #is_culture_or_descended_from_trigger = { CULTURE = culture:emishi } + NOT = { exists = this } + has_gene = { + category = gene_hair_type + template = hair_wavy + } + has_gene = { + category = gene_hair_type + template = hair_curly + } } OR = { portrait_mena_clothing_trigger = yes @@ -306,11 +350,19 @@ beards = { } portrait_byzantine_clothing_trigger = yes } - modifier = { # Muslims should always have a beard + modifier = { # Guarantee-beard groups (Muslims, Orthodox clergy, etc.) should still match their hair gene add = 200 + should_always_have_beard_trigger = yes OR = { - scope:faith.religion = religion:islam_religion -# #is_culture_or_descended_from_trigger = { CULTURE = culture:emishi } + NOT = { exists = this } + has_gene = { + category = gene_hair_type + template = hair_straight + } + has_gene = { + category = gene_hair_type + template = hair_wavy + } } portrait_byzantine_clothing_trigger = yes } @@ -352,11 +404,19 @@ beards = { } portrait_byzantine_clothing_trigger = yes } - modifier = { # Muslims should always have a beard + modifier = { # Guarantee-beard groups (Muslims, Orthodox clergy, etc.) should still match their hair gene add = 200 + should_always_have_beard_trigger = yes OR = { - scope:faith.religion = religion:islam_religion -# #is_culture_or_descended_from_trigger = { CULTURE = culture:emishi } + NOT = { exists = this } + has_gene = { + category = gene_hair_type + template = hair_wavy + } + has_gene = { + category = gene_hair_type + template = hair_curly + } } portrait_byzantine_clothing_trigger = yes } @@ -387,7 +447,7 @@ beards = { add = 70 OR = { NOT = { exists = this } - has_gene = { + has_gene = { category = gene_hair_type template = hair_straight } @@ -398,11 +458,19 @@ beards = { } portrait_indian_clothing_trigger = yes } - modifier = { # Muslims should always have a beard + modifier = { # Guarantee-beard groups (Muslims, Orthodox clergy, etc.) should still match their hair gene add = 200 + should_always_have_beard_trigger = yes OR = { - scope:faith.religion = religion:islam_religion -# #is_culture_or_descended_from_trigger = { CULTURE = culture:emishi } + NOT = { exists = this } + has_gene = { + category = gene_hair_type + template = hair_straight + } + has_gene = { + category = gene_hair_type + template = hair_wavy + } } portrait_indian_clothing_trigger = yes } @@ -433,7 +501,7 @@ beards = { add = 70 OR = { NOT = { exists = this } - has_gene = { + has_gene = { category = gene_hair_type template = hair_wavy } @@ -444,11 +512,19 @@ beards = { } portrait_indian_clothing_trigger = yes } - modifier = { # Muslims should always have a beard + modifier = { # Guarantee-beard groups (Muslims, Orthodox clergy, etc.) should still match their hair gene add = 200 + should_always_have_beard_trigger = yes OR = { - scope:faith.religion = religion:islam_religion - #is_culture_or_descended_from_trigger = { CULTURE = culture:emishi } + NOT = { exists = this } + has_gene = { + category = gene_hair_type + template = hair_wavy + } + has_gene = { + category = gene_hair_type + template = hair_curly + } } portrait_indian_clothing_trigger = yes } @@ -485,10 +561,7 @@ beards = { } modifier = { # Muslims should always have a beard add = 200 - OR = { - scope:faith.religion = religion:islam_religion - #is_culture_or_descended_from_trigger = { CULTURE = culture:emishi } - } + should_always_have_beard_trigger = yes trigger_if = { limit = { exists = this } has_gene = { @@ -536,8 +609,8 @@ beards = { OR = { NOT = { exists = this } has_gene = { - category = gene_hair_type - template = hair_straight + category = gene_hair_type + template = hair_straight } has_gene = { category = gene_hair_type @@ -546,11 +619,19 @@ beards = { } portrait_steppe_clothing_trigger = yes } - modifier = { # Muslims should always have a beard + modifier = { # Guarantee-beard groups (Muslims, Orthodox clergy, etc.) should still match their hair gene add = 200 + should_always_have_beard_trigger = yes OR = { - scope:faith.religion = religion:islam_religion - #is_culture_or_descended_from_trigger = { CULTURE = culture:emishi } + NOT = { exists = this } + has_gene = { + category = gene_hair_type + template = hair_straight + } + has_gene = { + category = gene_hair_type + template = hair_wavy + } } portrait_steppe_clothing_trigger = yes } @@ -602,11 +683,15 @@ beards = { portrait_steppe_clothing_trigger = yes has_mpo_dlc_trigger = yes } - modifier = { # Muslims should always have a beard + modifier = { # Guarantee-beard groups (Muslims, Orthodox clergy, etc.) should still match their hair gene add = 200 - OR = { - scope:faith.religion = religion:islam_religion - #is_culture_or_descended_from_trigger = { CULTURE = culture:emishi } + should_always_have_beard_trigger = yes + trigger_if = { # The mpo_mongol beards are tuned for thin-beard hair genes (matches the +50 sibling) + limit = { exists = this } + has_gene = { + category = gene_hair_type + template = hair_straight_thin_beard + } } portrait_steppe_clothing_trigger = yes } @@ -637,7 +722,7 @@ beards = { add = 50 OR = { NOT = { exists = this } - has_gene = { + has_gene = { category = gene_hair_type template = hair_wavy } @@ -648,11 +733,19 @@ beards = { } portrait_steppe_clothing_trigger = yes } - modifier = { # Muslims should always have a beard + modifier = { # Guarantee-beard groups (Muslims, Orthodox clergy, etc.) should still match their hair gene add = 200 + should_always_have_beard_trigger = yes OR = { - scope:faith.religion = religion:islam_religion - #is_culture_or_descended_from_trigger = { CULTURE = culture:emishi } + NOT = { exists = this } + has_gene = { + category = gene_hair_type + template = hair_wavy + } + has_gene = { + category = gene_hair_type + template = hair_curly + } } portrait_steppe_clothing_trigger = yes } @@ -683,7 +776,7 @@ beards = { add = 50 OR = { NOT = { exists = this } - has_gene = { + has_gene = { category = gene_hair_type template = hair_straight } @@ -697,11 +790,19 @@ beards = { portrait_sami_clothing_trigger = yes } } - modifier = { # Muslims should always have a beard + modifier = { # Guarantee-beard groups (Muslims, Orthodox clergy, etc.) should still match their hair gene add = 200 + should_always_have_beard_trigger = yes OR = { - scope:faith.religion = religion:islam_religion - #is_culture_or_descended_from_trigger = { CULTURE = culture:emishi } + NOT = { exists = this } + has_gene = { + category = gene_hair_type + template = hair_straight + } + has_gene = { + category = gene_hair_type + template = hair_wavy + } } OR = { portrait_northern_clothing_trigger = yes @@ -716,6 +817,10 @@ beards = { has_character_flag = has_scripted_appearance } } + modifier = { # Western Christian monks/priests were mostly clean-shaven + add = -50 + portrait_western_christian_clean_shaven_clergy_trigger = yes + } } } @@ -749,11 +854,19 @@ beards = { portrait_sami_clothing_trigger = yes } } - modifier = { # Muslims should always have a beard + modifier = { # Guarantee-beard groups (Muslims, Orthodox clergy, etc.) should still match their hair gene add = 200 + should_always_have_beard_trigger = yes OR = { - scope:faith.religion = religion:islam_religion - #is_culture_or_descended_from_trigger = { CULTURE = culture:emishi } + NOT = { exists = this } + has_gene = { + category = gene_hair_type + template = hair_wavy + } + has_gene = { + category = gene_hair_type + template = hair_curly + } } OR = { portrait_northern_clothing_trigger = yes @@ -768,6 +881,10 @@ beards = { has_character_flag = has_scripted_appearance } } + modifier = { # Western Christian monks/priests were mostly clean-shaven + add = -50 + portrait_western_christian_clean_shaven_clergy_trigger = yes + } } } @@ -786,20 +903,21 @@ beards = { modifier = { add = 70 exists = this - has_gene = { + has_gene = { category = gene_hair_type template = hair_afro } } - modifier = { # Muslims should always have a beard + modifier = { # Guarantee-beard groups (Muslims, Orthodox clergy, etc.) should still match their hair gene. + # We skip the clothing check so afro characters who must have a beard never get has_no_beard add = 200 + should_always_have_beard_trigger = yes OR = { - scope:faith.religion = religion:islam_religion - #is_culture_or_descended_from_trigger = { CULTURE = culture:emishi } - } - OR = { - portrait_african_clothing_trigger = yes - portrait_papuan_clothing_trigger = yes + NOT = { exists = this } + has_gene = { + category = gene_hair_type + template = hair_afro + } } } modifier = { @@ -843,11 +961,19 @@ beards = { portrait_sp2_western_clothing_trigger = yes } } - modifier = { # Muslims should always have a beard + modifier = { # Guarantee-beard groups (Muslims, Orthodox clergy, etc.) should still match their hair gene add = 200 + should_always_have_beard_trigger = yes OR = { - scope:faith.religion = religion:islam_religion - #is_culture_or_descended_from_trigger = { CULTURE = culture:emishi } + NOT = { exists = this } + has_gene = { + category = gene_hair_type + template = hair_straight + } + has_gene = { + category = gene_hair_type + template = hair_wavy + } } OR = { portrait_sp2_western_clothing_trigger = yes @@ -861,6 +987,10 @@ beards = { has_character_flag = has_scripted_appearance } } + modifier = { # Western Christian monks/priests were mostly clean-shaven + add = -50 + portrait_western_christian_clean_shaven_clergy_trigger = yes + } } } @@ -883,7 +1013,7 @@ beards = { add = 70 OR = { NOT = { exists = this } - has_gene = { + has_gene = { category = gene_hair_type template = hair_straight } @@ -894,11 +1024,19 @@ beards = { } portrait_fp3_iranian_clothing_trigger = yes } - modifier = { # Muslims should always have a beard + modifier = { # Guarantee-beard groups (Muslims, Orthodox clergy, etc.) should still match their hair gene add = 200 + should_always_have_beard_trigger = yes OR = { - scope:faith.religion = religion:islam_religion - #is_culture_or_descended_from_trigger = { CULTURE = culture:emishi } + NOT = { exists = this } + has_gene = { + category = gene_hair_type + template = hair_straight + } + has_gene = { + category = gene_hair_type + template = hair_wavy + } } portrait_fp3_iranian_clothing_trigger = yes } @@ -929,7 +1067,7 @@ beards = { add = 70 OR = { NOT = { exists = this } - has_gene = { + has_gene = { category = gene_hair_type template = hair_wavy } @@ -940,11 +1078,19 @@ beards = { } portrait_fp3_iranian_clothing_trigger = yes } - modifier = { # Muslims should always have a beard + modifier = { # Guarantee-beard groups (Muslims, Orthodox clergy, etc.) should still match their hair gene add = 200 + should_always_have_beard_trigger = yes OR = { - scope:faith.religion = religion:islam_religion - #is_culture_or_descended_from_trigger = { CULTURE = culture:emishi } + NOT = { exists = this } + has_gene = { + category = gene_hair_type + template = hair_wavy + } + has_gene = { + category = gene_hair_type + template = hair_curly + } } portrait_fp3_iranian_clothing_trigger = yes } @@ -976,7 +1122,7 @@ beards = { add = 50 OR = { NOT = { exists = this } - has_gene = { + has_gene = { category = gene_hair_type template = hair_straight } @@ -987,11 +1133,19 @@ beards = { } portrait_fp3_turkic_clothing_trigger = yes } - modifier = { # Muslims should always have a beard + modifier = { # Guarantee-beard groups (Muslims, Orthodox clergy, etc.) should still match their hair gene add = 200 + should_always_have_beard_trigger = yes OR = { - scope:faith.religion = religion:islam_religion - #is_culture_or_descended_from_trigger = { CULTURE = culture:emishi } + NOT = { exists = this } + has_gene = { + category = gene_hair_type + template = hair_straight + } + has_gene = { + category = gene_hair_type + template = hair_wavy + } } portrait_fp3_turkic_clothing_trigger = yes } @@ -1022,7 +1176,7 @@ beards = { add = 50 OR = { NOT = { exists = this } - has_gene = { + has_gene = { category = gene_hair_type template = hair_wavy } @@ -1033,11 +1187,19 @@ beards = { } portrait_fp3_turkic_clothing_trigger = yes } - modifier = { # Muslims should always have a beard + modifier = { # Guarantee-beard groups (Muslims, Orthodox clergy, etc.) should still match their hair gene add = 200 + should_always_have_beard_trigger = yes OR = { - scope:faith.religion = religion:islam_religion - #is_culture_or_descended_from_trigger = { CULTURE = culture:emishi } + NOT = { exists = this } + has_gene = { + category = gene_hair_type + template = hair_wavy + } + has_gene = { + category = gene_hair_type + template = hair_curly + } } portrait_fp3_turkic_clothing_trigger = yes } @@ -1069,7 +1231,7 @@ beards = { add = 70 OR = { NOT = { exists = this } - has_gene = { + has_gene = { category = gene_hair_type template = hair_straight } @@ -1083,11 +1245,19 @@ beards = { portrait_fp2_iberian_christian_clothing_trigger = yes } } - modifier = { # Muslims should always have a beard + modifier = { # Guarantee-beard groups (Muslims, Orthodox clergy, etc.) should still match their hair gene add = 200 + should_always_have_beard_trigger = yes OR = { - scope:faith.religion = religion:islam_religion - #is_culture_or_descended_from_trigger = { CULTURE = culture:emishi } + NOT = { exists = this } + has_gene = { + category = gene_hair_type + template = hair_straight + } + has_gene = { + category = gene_hair_type + template = hair_wavy + } } OR = { portrait_fp2_iberian_muslim_clothing_trigger = yes @@ -1102,6 +1272,10 @@ beards = { has_character_flag = has_scripted_appearance } } + modifier = { # Western Christian monks/priests were mostly clean-shaven + add = -50 + portrait_western_christian_clean_shaven_clergy_trigger = yes + } } } @@ -1120,7 +1294,7 @@ beards = { add = 70 OR = { NOT = { exists = this } - has_gene = { + has_gene = { category = gene_hair_type template = hair_wavy } @@ -1134,11 +1308,19 @@ beards = { portrait_fp2_iberian_christian_clothing_trigger = yes } } - modifier = { # Muslims should always have a beard + modifier = { # Guarantee-beard groups (Muslims, Orthodox clergy, etc.) should still match their hair gene add = 200 + should_always_have_beard_trigger = yes OR = { - scope:faith.religion = religion:islam_religion - #is_culture_or_descended_from_trigger = { CULTURE = culture:emishi } + NOT = { exists = this } + has_gene = { + category = gene_hair_type + template = hair_wavy + } + has_gene = { + category = gene_hair_type + template = hair_curly + } } OR = { portrait_fp2_iberian_muslim_clothing_trigger = yes @@ -1153,6 +1335,10 @@ beards = { has_character_flag = has_scripted_appearance } } + modifier = { # Western Christian monks/priests were mostly clean-shaven + add = -50 + portrait_western_christian_clean_shaven_clergy_trigger = yes + } } } @@ -1174,7 +1360,7 @@ beards = { add = 90 OR = { NOT = { exists = this } - has_gene = { + has_gene = { category = gene_hair_type template = hair_straight } @@ -1185,11 +1371,19 @@ beards = { } portrait_fp1_norse_clothing_trigger = yes } - modifier = { # Muslims should always have a beard + modifier = { # Guarantee-beard groups (Muslims, Orthodox clergy, etc.) should still match their hair gene add = 200 + should_always_have_beard_trigger = yes OR = { - scope:faith.religion = religion:islam_religion - #is_culture_or_descended_from_trigger = { CULTURE = culture:emishi } + NOT = { exists = this } + has_gene = { + category = gene_hair_type + template = hair_straight + } + has_gene = { + category = gene_hair_type + template = hair_wavy + } } portrait_fp1_norse_clothing_trigger = yes } @@ -1201,6 +1395,10 @@ beards = { has_character_flag = has_scripted_appearance } } + modifier = { # Western Christian monks/priests were mostly clean-shaven + add = -50 + portrait_western_christian_clean_shaven_clergy_trigger = yes + } } } @@ -1220,7 +1418,7 @@ beards = { add = 70 OR = { NOT = { exists = this } - has_gene = { + has_gene = { category = gene_hair_type template = hair_wavy } @@ -1231,11 +1429,19 @@ beards = { } portrait_fp1_norse_clothing_trigger = yes } - modifier = { # Muslims should always have a beard + modifier = { # Guarantee-beard groups (Muslims, Orthodox clergy, etc.) should still match their hair gene add = 200 + should_always_have_beard_trigger = yes OR = { - scope:faith.religion = religion:islam_religion - #is_culture_or_descended_from_trigger = { CULTURE = culture:emishi } + NOT = { exists = this } + has_gene = { + category = gene_hair_type + template = hair_wavy + } + has_gene = { + category = gene_hair_type + template = hair_curly + } } portrait_northern_clothing_trigger = yes } @@ -1247,44 +1453,93 @@ beards = { has_character_flag = has_scripted_appearance } } + modifier = { # Western Christian monks/priests were mostly clean-shaven + add = -50 + portrait_western_christian_clean_shaven_clergy_trigger = yes + } } } - orthodox_beards = { + # Weight 90 leaves room for the byzantine and ep3 +200 guarantee-beard boosts + orthodox_beards_straight = { dna_modifiers = { accessory = { mode = add gene = beards - template = orthodox_beards + template = orthodox_beards_straight range = { 0 1 } # For the randomness to work correctly } - } + } weight = { base = 0 - modifier = { # Orthodox priests - add = 200 + modifier = { # Orthodox clergy with straight/wavy hair genes + add = 90 exists = this OR = { - has_character_flag = need_priest_outfit - is_theocratic_lessee = yes - AND = { is_ruler = yes government_has_flag = government_is_theocracy } + has_gene = { + category = gene_hair_type + template = hair_straight + } + has_gene = { + category = gene_hair_type + template = hair_wavy + } + } + portrait_religious_orthodox_trigger = yes + OR = { + portrait_religious_devoted_trigger = yes + portrait_religious_high_trigger = yes + portrait_religious_high_no_poverty_trigger = yes AND = { # Orthodox patriarch exists = primary_title primary_title = { any_controlled_faith = { this = faith:orthodox } - } + } } } + } + } + } + + orthodox_beards_curly = { + dna_modifiers = { + accessory = { + mode = add + gene = beards + template = orthodox_beards_curly + range = { 0 1 } # For the randomness to work correctly + } + } + weight = { + base = 0 + modifier = { # Orthodox clergy with wavy/curly hair genes + add = 90 + exists = this OR = { - faith = faith:orthodox -# faith = faith:armenian_apostolic -# faith = faith:coptic -# faith = faith:messalian -# faith = faith:bogomilist -# faith = faith:paulician -# faith = faith:nestorian + has_gene = { + category = gene_hair_type + template = hair_wavy + } + has_gene = { + category = gene_hair_type + template = hair_curly + } + } + portrait_religious_orthodox_trigger = yes + OR = { + portrait_religious_devoted_trigger = yes + portrait_religious_high_trigger = yes + portrait_religious_high_no_poverty_trigger = yes + AND = { # Orthodox patriarch + exists = primary_title + primary_title = { + any_controlled_faith = { + this = faith:orthodox + } + } + } } } } @@ -1361,6 +1616,46 @@ beards = { factor = 0 portrait_western_clothing_trigger = no } + modifier = { # Western Christian monks/priests were mostly clean-shaven + add = -50 + portrait_western_christian_clean_shaven_clergy_trigger = yes + } + } + } + + ### PAM beards ### + + pam_beards_western = { + dna_modifiers = { + accessory = { + mode = add + gene = beards + template = pam_western_beards + range = { 0 1 } # For the randomness to work correctly + } + } + weight = { + base = 0 + modifier = { + add = 55 + OR = { + NOT = { exists = this } + has_gene = { + category = gene_hair_type + template = hair_straight + } + has_gene = { + category = gene_hair_type + template = hair_wavy + } + } + portrait_western_clothing_trigger = yes + has_pam_dlc_trigger = yes + } + modifier = { # Western Christian monks/priests were mostly clean-shaven + add = -50 + portrait_western_christian_clean_shaven_clergy_trigger = yes + } } } @@ -1393,6 +1688,23 @@ beards = { portrait_byzantine_clothing_trigger = yes has_ep3_dlc_trigger = yes } + modifier = { # Guarantee-beard groups (notably Orthodox clergy) should have a shot at the EP3 byzantine beards + add = 200 + should_always_have_beard_trigger = yes + OR = { + NOT = { exists = this } + has_gene = { + category = gene_hair_type + template = hair_straight + } + has_gene = { + category = gene_hair_type + template = hair_wavy + } + } + portrait_byzantine_clothing_trigger = yes + has_ep3_dlc_trigger = yes + } } } @@ -1423,6 +1735,23 @@ beards = { portrait_byzantine_clothing_trigger = yes has_ep3_dlc_trigger = yes } + modifier = { # Guarantee-beard groups (notably Orthodox clergy) should have a shot at the EP3 byzantine beards + add = 200 + should_always_have_beard_trigger = yes + OR = { + NOT = { exists = this } + has_gene = { + category = gene_hair_type + template = hair_wavy + } + has_gene = { + category = gene_hair_type + template = hair_curly + } + } + portrait_byzantine_clothing_trigger = yes + has_ep3_dlc_trigger = yes + } } } @@ -1606,10 +1935,7 @@ beards = { } modifier = { # Muslims should always have a beard add = 200 - OR = { - scope:faith.religion = religion:islam_religion - #is_culture_or_descended_from_trigger = { CULTURE = culture:emishi } - } + should_always_have_beard_trigger = yes trigger_if = { limit = { exists = this } has_gene = { @@ -1643,10 +1969,7 @@ beards = { } modifier = { # Muslims should always have a beard add = 200 - OR = { - scope:faith.religion = religion:islam_religion - #is_culture_or_descended_from_trigger = { CULTURE = culture:emishi } - } + should_always_have_beard_trigger = yes portrait_ainu_clothing_trigger = yes } } @@ -1672,11 +1995,15 @@ beards = { template = hair_straight } } - modifier = { # Muslims should always have a beard + modifier = { # Guarantee-beard groups (Muslims, Orthodox clergy, etc.) should still match their hair gene add = 200 + should_always_have_beard_trigger = yes OR = { - scope:faith.religion = religion:islam_religion - #is_culture_or_descended_from_trigger = { CULTURE = culture:emishi } + NOT = { exists = this } + has_gene = { + category = gene_hair_type + template = hair_straight + } } portrait_emishi_clothing_trigger = yes } @@ -1702,11 +2029,15 @@ beards = { template = hair_wavy } } - modifier = { # Muslims should always have a beard + modifier = { # Guarantee-beard groups (Muslims, Orthodox clergy, etc.) should still match their hair gene add = 200 + should_always_have_beard_trigger = yes OR = { - scope:faith.religion = religion:islam_religion - #is_culture_or_descended_from_trigger = { CULTURE = culture:emishi } + NOT = { exists = this } + has_gene = { + category = gene_hair_type + template = hair_wavy + } } portrait_emishi_clothing_trigger = yes } @@ -1738,11 +2069,19 @@ beards = { } } } - modifier = { # Muslims should always have a beard + modifier = { # Guarantee-beard groups (Muslims, Orthodox clergy, etc.) should still match their hair gene add = 200 + should_always_have_beard_trigger = yes OR = { - scope:faith.religion = religion:islam_religion - #is_culture_or_descended_from_trigger = { CULTURE = culture:emishi } + NOT = { exists = this } + has_gene = { + category = gene_hair_type + template = hair_curly + } + has_gene = { + category = gene_hair_type + template = hair_afro + } } portrait_emishi_clothing_trigger = yes } @@ -1768,11 +2107,15 @@ beards = { template = hair_straight_thin_beard } } - modifier = { # Muslims should always have a beard + modifier = { # Guarantee-beard groups (Muslims, Orthodox clergy, etc.) should still match their hair gene add = 200 + should_always_have_beard_trigger = yes OR = { - scope:faith.religion = religion:islam_religion - #is_culture_or_descended_from_trigger = { CULTURE = culture:emishi } + NOT = { exists = this } + has_gene = { + category = gene_hair_type + template = hair_straight_thin_beard + } } portrait_emishi_clothing_trigger = yes } @@ -1815,6 +2158,10 @@ beards = { factor = 0 portrait_western_clothing_trigger = no } + modifier = { # Western Christian monks/priests were mostly clean-shaven + add = -50 + portrait_western_christian_clean_shaven_clergy_trigger = yes + } } } diff --git a/gfx/portraits/portrait_modifiers/01_headgear_base.txt b/gfx/portraits/portrait_modifiers/01_headgear_base.txt index a4a9dbca8..0dddd7439 100644 --- a/gfx/portraits/portrait_modifiers/01_headgear_base.txt +++ b/gfx/portraits/portrait_modifiers/01_headgear_base.txt @@ -4179,7 +4179,7 @@ headgear_base = { CULTURE_INPUT = chinese } has_tgp_dlc_trigger = yes - NOT = { exists = global_var:chinese_fashion_change } + global_var:chinese_fashion ?= flag:tang } } } @@ -4210,7 +4210,17 @@ headgear_base = { } } has_tgp_dlc_trigger = yes - exists = global_var:chinese_fashion_change + global_var:chinese_fashion ?= flag:song + # Korean handling + trigger_if = { + limit = { + OR = { + liege.culture = { has_clothing_gfx = korean_clothing_gfx } + culture = { has_clothing_gfx = korean_clothing_gfx } + } + } + is_merit_based_official = no + } } modifier = { #For Tangut King add = 120 @@ -4263,20 +4273,54 @@ headgear_base = { } weight = { base = 0 + modifier = { + add = 101 + is_alive = no + tgp_primary_title_is_ministry = yes + highest_held_title_tier = tier_empire + has_tgp_dlc_trigger = yes + year_of_birth < 960 + } modifier = { add = 51 is_merit_based_official = yes OR = { liege.culture = { - has_clothing_gfx = chinese_clothing_gfx + OR = { + has_clothing_gfx = chinese_clothing_gfx + has_clothing_gfx = korean_clothing_gfx + } } culture = { - has_clothing_gfx = chinese_clothing_gfx + OR = { + has_clothing_gfx = chinese_clothing_gfx + has_clothing_gfx = korean_clothing_gfx + } } } OR = { - NOT = { exists = global_var:chinese_fashion_change } - portrait_era4_trigger = yes # for Ming style + global_var:chinese_fashion ?= flag:tang + # Korean handling + trigger_if = { + limit = { + OR = { + liege.culture = { has_clothing_gfx = korean_clothing_gfx } + culture = { has_clothing_gfx = korean_clothing_gfx } + } + } + OR = { + # Silla used Tang-style Bokdu (Putou) + portrait_era1_trigger = yes + # Low ranking officials in Korea use the Tang-style Bokdu (Putou) + AND = { + korea_high_rank_trigger = no + royal_councillor_or_regent_trigger = no + } + } + } + trigger_else = { + portrait_era4_trigger = yes # for Ming style + } } } } @@ -4293,21 +4337,50 @@ headgear_base = { } weight = { base = 0 + modifier = { + add = 100 + is_alive = no + tgp_primary_title_is_ministry = yes + highest_held_title_tier = tier_empire + has_tgp_dlc_trigger = yes + } modifier = { add = 51 is_merit_based_official = yes OR = { liege.culture = { - has_clothing_gfx = chinese_clothing_gfx - NOT = { has_clothing_gfx = korean_clothing_gfx } + OR = { + has_clothing_gfx = chinese_clothing_gfx + has_clothing_gfx = korean_clothing_gfx + } } culture = { - has_clothing_gfx = chinese_clothing_gfx - NOT = { has_clothing_gfx = korean_clothing_gfx } + OR = { + has_clothing_gfx = chinese_clothing_gfx + has_clothing_gfx = korean_clothing_gfx + } } } has_tgp_dlc_trigger = yes - exists = global_var:chinese_fashion_change + # Korean handling + trigger_if = { + limit = { + OR = { + liege.culture = { has_clothing_gfx = korean_clothing_gfx } + culture = { has_clothing_gfx = korean_clothing_gfx } + } + } + # Silla used Tang-style Bokdu (Putou) + NOT = { portrait_era1_trigger = yes } + # High rank officials only + OR = { + korea_high_rank_trigger = yes + royal_councillor_or_regent_trigger = yes + } + } + trigger_else = { + global_var:chinese_fashion ?= flag:song + } } } } @@ -4402,7 +4475,11 @@ headgear_base = { } } has_tgp_dlc_trigger = yes - exists = global_var:chinese_fashion_change + global_var:chinese_fashion ?= flag:song + trigger_if = { + limit = { is_alive = no } + tgp_primary_title_is_ministry = no + } } } } @@ -4421,7 +4498,7 @@ headgear_base = { modifier = { add = 100 is_independent_ruler = yes - highest_held_title_tier = tier_empire + highest_held_title_tier >= tier_empire government_has_flag = government_has_merit NOT = { government_has_flag = government_is_celestial @@ -4438,7 +4515,11 @@ headgear_base = { } } has_tgp_dlc_trigger = yes - exists = global_var:chinese_fashion_change + global_var:chinese_fashion ?= flag:song + trigger_if = { + limit = { is_alive = no } + tgp_primary_title_is_ministry = no + } } } } @@ -4460,7 +4541,7 @@ headgear_base = { # primary_spouse.primary_title ?= title:h_china # primary_title ?= title:h_china # } -# NOT = { exists = global_var:chinese_fashion_change } +# global_var:chinese_fashion ?= flag:tang # } # modifier = { # add = 110 @@ -4497,7 +4578,7 @@ headgear_base = { # modifier = { # add = -1000 # is_landed = no -# tgp_has_minister_title = yes +# tgp_primary_title_is_ministry = yes # } # } # } @@ -4520,7 +4601,7 @@ headgear_base = { # primary_spouse.primary_title ?= title:h_china # } # has_tgp_dlc_trigger = yes -# exists = global_var:chinese_fashion_change +# global_var:chinese_fashion ?= flag:song # } # modifier = { # add = 110 diff --git a/gfx/portraits/portrait_modifiers/02_all_developer_characters.txt b/gfx/portraits/portrait_modifiers/02_all_developer_characters.txt index e5a754dae..532f6d749 100644 --- a/gfx/portraits/portrait_modifiers/02_all_developer_characters.txt +++ b/gfx/portraits/portrait_modifiers/02_all_developer_characters.txt @@ -1062,6 +1062,32 @@ # } # } # +# ali_kara = { +# dna_modifiers = { +# accessory = { +# mode = add +# gene = hairstyles +# template = sp5_hairstyles +# accessory = m_hair_sp5_western_01 +# } +# accessory = { +# mode = add +# gene = beards +# template = all_beards +# accessory = m_beard_sp4_mena_01 +# } +# } +# weight = { +# base = 0 +# modifier = { +# add = 999 +# exists = this +# exists = character:easteregg_ali_kara +# this = character:easteregg_ali_kara +# } +# } +# } +# # marcus_bose = { # dna_modifiers = { # accessory = { @@ -2784,6 +2810,48 @@ # } # } # } +# thea_ariens = { +# dna_modifiers = { +# +# accessory = { +# mode = add +# gene = clothes +# template = fp1_low_nobility_clothes +# accessory = female_clothes_secular_fp1_nobility_02_low +# type = female +# } +# accessory = { +# mode = add +# gene = cloaks +# template = fp1_cloak +# accessory = female_furs_secular_fp1_nobility_02 +# type = female +# } +# accessory = { +# mode = add +# gene = headgear +# template = western_wedding +# accessory = f_headgear_spec_ep2_western_wedding +# type = female +# } +# accessory = { +# mode = add +# gene = legwear +# template = afr_common_legwear +# accessory = f_legwear_sec_afr_common_01 +# type = female +# } +# } +# weight = { +# base = 0 +# modifier = { +# add = 999 +# exists = this +# exists = character:easteregg_thea_ariens +# this = character:easteregg_thea_ariens +# } +# } +# } # # laurence_kennedy = { # dna_modifiers = { diff --git a/gfx/portraits/portrait_modifiers/02_all_historical_characters.txt b/gfx/portraits/portrait_modifiers/02_all_historical_characters.txt index 35811d9b5..9fbd0cace 100644 --- a/gfx/portraits/portrait_modifiers/02_all_historical_characters.txt +++ b/gfx/portraits/portrait_modifiers/02_all_historical_characters.txt @@ -9269,4 +9269,89 @@ # } # } # } -#} \ No newline at end of file +# +# erik_holy = { +# dna_modifiers = { +# accessory = { +# mode = add +# gene = beards +# template = no_beard +# value = 0.5 +# } +# accessory = { +# mode = add +# gene = hairstyles +# template = fp2_hairstyles_iberian_christian_straight +# accessory = male_hair_fp2_iberian_christian_02 +# } +# accessory = { +# mode = add +# gene = headgear +# template = fp1_royalty +# accessory = male_headgear_secular_fp1_royalty_01 +# } +# accessory = { +# mode = add +# gene = clothes +# template = fp4_western_era3_low_nobility_clothes +# accessory = m_clothes_sec_fp4_western_era3_nob_01_lo +# } +# } +# weight = { +# base = 0 +# modifier = { +# add = 1000 +# exists = this +# exists = character:200490 +# this = character:200490 +# } +# } +# } +# +# knut_eriksson = { +# dna_modifiers = { +# accessory = { +# mode = add +# gene = beards +# template = no_beard +# value = 0.5 +# } +# accessory = { +# mode = add +# gene = hairstyles +# template = scripted_character_hairstyles_01 +# accessory = male_hair_western_08 +# } +# } +# weight = { +# base = 0 +# modifier = { +# add = 1000 +# exists = this +# exists = character:200500 +# this = character:200500 +# } +# } +# } +# +# 1000230518_avital = { +# dna_modifiers = { +# accessory = { +# mode = add +# gene = hairstyles +# template = scripted_character_hairstyles_03 +# accessory = female_hair_fp2_iberian_christian_01 +# type = female +# } +# } +# weight = { +# base = 0 +# modifier = { +# add = 2000 +# exists = this +# exists = character:1000230518 +# this = character:1000230518 +# } +# } +# } +#} diff --git a/gfx/portraits/portrait_modifiers/05_clothes_situational.txt b/gfx/portraits/portrait_modifiers/05_clothes_situational.txt index 96eaf6c05..2f6cff6f5 100644 --- a/gfx/portraits/portrait_modifiers/05_clothes_situational.txt +++ b/gfx/portraits/portrait_modifiers/05_clothes_situational.txt @@ -369,6 +369,34 @@ } } } + + antipope = { + dna_modifiers = { + accessory = { + mode = add + gene = clothes + template = religious_catholic_head_clothes + range = { 0 1 } + } + } + weight = { + base = 0 + modifier = { + add = 200 + has_character_flag = antipope_flag + portrait_religious_catholic_trigger = yes + NOT = { + faith = { + has_doctrine_parameter = vows_of_poverty_active + } + } + } + modifier = { # A captured Antipope keeps their prison rags + factor = 0 + portrait_prisoner_trigger = yes + } + } + } # Court Physician court_physician = { @@ -414,6 +442,8 @@ factor = 0 OR = { is_adult = no + is_clergy = yes + portrait_religious_devoted_trigger = yes should_be_naked_trigger = yes } } From 1e112daab24ea4b9a1fce26722b7b582ad1aa12a Mon Sep 17 00:00:00 2001 From: JulesFlammenkueche Date: Thu, 1 Oct 2026 18:29:37 +0200 Subject: [PATCH 2/2] liturgical lutheranism --- common/bookmarks/bookmarks/00_bookmarks.txt | 4 +- .../00_divinity_custom_loc.txt | 10 +- .../00_ruler_transition_loc.txt | 6 +- common/on_action/game_start.txt | 2 +- .../faith_types/NEOW_faiths_protestant.txt | 26 ++ .../rite_types/NEOW_rites_anglican.txt | 21 ++ .../rite_types/NEOW_rites_lutheran.txt | 21 ++ .../characters/NEOW_byzantine_emperors.txt | 2 +- history/characters/NEOW_e_baltic.txt | 4 +- history/characters/NEOW_e_benelux.txt | 2 +- history/characters/NEOW_e_finland.txt | 4 +- history/characters/NEOW_e_germania.txt | 232 +++++++++--------- history/characters/NEOW_e_scandinavia.txt | 32 +-- history/provinces/e_baltic.txt | 10 +- history/provinces/e_europa.txt | 4 +- history/provinces/e_finland.txt | 12 +- history/provinces/e_germany.txt | 28 +-- history/provinces/e_scandinavia.txt | 62 ++--- 18 files changed, 275 insertions(+), 207 deletions(-) create mode 100644 common/religion/rite_types/NEOW_rites_lutheran.txt diff --git a/common/bookmarks/bookmarks/00_bookmarks.txt b/common/bookmarks/bookmarks/00_bookmarks.txt index 2505870f5..c0ef42333 100644 --- a/common/bookmarks/bookmarks/00_bookmarks.txt +++ b/common/bookmarks/bookmarks/00_bookmarks.txt @@ -369,7 +369,7 @@ bm_2555_north_europe = { title = c_limbazi government = tribal_government culture = latvian - religion = "lutheran" + religion = lutheran_rite difficulty = "BOOKMARK_CHARACTER_DIFFICULTY_MEDIUM" history_id = baltic0010 position = { 1050 320 } @@ -384,7 +384,7 @@ bm_2555_north_europe = { title = d_sjaelland government = feudal_government culture = dansk - religion = "lutheran" + religion = lutheran_rite difficulty = "BOOKMARK_CHARACTER_DIFFICULTY_MEDIUM" history_id = scandinavia0030 position = { 530 420 } diff --git a/common/customizable_localization/00_divinity_custom_loc.txt b/common/customizable_localization/00_divinity_custom_loc.txt index 44633d660..413f073b5 100644 --- a/common/customizable_localization/00_divinity_custom_loc.txt +++ b/common/customizable_localization/00_divinity_custom_loc.txt @@ -1361,7 +1361,7 @@ GetActualBishopTitle = { } } OR = { - faith.religion = faith:lutheran.religion + faith.religion = faith:lutheran_faith.religion faith.religion = faith:roman_catholic.religion } } @@ -1376,7 +1376,7 @@ GetActualBishopTitle = { } } OR = { - faith.religion = faith:lutheran.religion + faith.religion = faith:lutheran_faith.religion faith.religion = faith:roman_catholic.religion } } @@ -1385,7 +1385,7 @@ GetActualBishopTitle = { text = { trigger = { highest_held_title_tier >= tier_kingdom OR = { - faith.religion = faith:lutheran.religion + faith.religion = faith:lutheran_faith.religion faith.religion = faith:roman_catholic.religion } } @@ -1394,7 +1394,7 @@ GetActualBishopTitle = { text = { trigger = { highest_held_title_tier >= tier_duchy OR = { - faith.religion = faith:lutheran.religion + faith.religion = faith:lutheran_faith.religion faith.religion = faith:roman_catholic.religion } } @@ -1403,7 +1403,7 @@ GetActualBishopTitle = { text = { trigger = { highest_held_title_tier < tier_duchy OR = { - faith.religion = faith:lutheran.religion + faith.religion = faith:lutheran_faith.religion faith.religion = faith:roman_catholic.religion } } diff --git a/common/customizable_localization/00_ruler_transition_loc.txt b/common/customizable_localization/00_ruler_transition_loc.txt index 83d58a1b3..b7240c8e4 100644 --- a/common/customizable_localization/00_ruler_transition_loc.txt +++ b/common/customizable_localization/00_ruler_transition_loc.txt @@ -156,7 +156,7 @@ DeathMessageIntro = { trigger = { OR = { faith.religion = faith:roman_catholic.religion - faith.religion = faith:lutheran.religion + faith.religion = faith:lutheran_faith.religion faith.religion = faith:orthodox.religion } NOT = { faith = faith:elysian } @@ -167,7 +167,7 @@ DeathMessageIntro = { trigger = { OR = { faith.religion = faith:roman_catholic.religion - faith.religion = faith:lutheran.religion + faith.religion = faith:lutheran_faith.religion faith.religion = faith:orthodox.religion } NOT = { faith = faith:elysian } @@ -178,7 +178,7 @@ DeathMessageIntro = { trigger = { OR = { faith.religion = faith:roman_catholic.religion - faith.religion = faith:lutheran.religion + faith.religion = faith:lutheran_faith.religion faith.religion = faith:orthodox.religion } NOT = { faith = faith:elysian } diff --git a/common/on_action/game_start.txt b/common/on_action/game_start.txt index c6221e6ed..0aa2e1067 100644 --- a/common/on_action/game_start.txt +++ b/common/on_action/game_start.txt @@ -2429,7 +2429,7 @@ on_game_start = { OR = { faith = faith:genevan faith = faith:anglican_faith - faith = faith:lutheran + faith = faith:lutheran_faith faith = faith:illuminated faith = faith:carolingian faith = faith:atlantean diff --git a/common/religion/faith_types/NEOW_faiths_protestant.txt b/common/religion/faith_types/NEOW_faiths_protestant.txt index c9582304c..a348ee4c8 100644 --- a/common/religion/faith_types/NEOW_faiths_protestant.txt +++ b/common/religion/faith_types/NEOW_faiths_protestant.txt @@ -24,4 +24,30 @@ tenet_legalism tenet_chivalric_ideals } +} +lutheran_faith = { + main_rite = liturgical_rite + faith_details = { + religion = protestant_religion + color = { 51 76 229 } + icon = liturgical + graphical_faith = "catholic_gfx" + } + + eminent_holy_sites = { + eisenach + wittenberg + lund + } + + holy_sites = { + turku + uppsala + } + + tenets = { + tenet_adaptive + tenet_mendicant_preachers + tenet_literalism + } } \ No newline at end of file diff --git a/common/religion/rite_types/NEOW_rites_anglican.txt b/common/religion/rite_types/NEOW_rites_anglican.txt index c34f3ecab..59fe37518 100644 --- a/common/religion/rite_types/NEOW_rites_anglican.txt +++ b/common/religion/rite_types/NEOW_rites_anglican.txt @@ -18,6 +18,27 @@ doctrine_imperial_anointment doctrine_gender_equal } +} +anglican_rite = { + name = anglican_rite + desc = anglican_rite_desc + founder = d_anglican_hof + faith = anglican_faith + + color = { 140 178 191 } + icon = anglican + tenets = { + tenet_legalism + tenet_chivalric_ideals + tenet_armed_resistance + } + + doctrines = { + special_doctrine_english_anglican + doctrine_pluralism_righteous + doctrine_imperial_anointment + doctrine_gender_equal + } # TODO_PAM_DESIGN TIT-72804 cultures = { italian roman lombard langobard cisalpine } diff --git a/common/religion/rite_types/NEOW_rites_lutheran.txt b/common/religion/rite_types/NEOW_rites_lutheran.txt new file mode 100644 index 000000000..ad7ffa877 --- /dev/null +++ b/common/religion/rite_types/NEOW_rites_lutheran.txt @@ -0,0 +1,21 @@ +liturgical_rite = { + name = liturgical_rite + desc = liturgical_rite_desc + founder = d_lutheran_hof + faith = lutheran_faith + + color = { 51 76 229 } + icon = liturgical + tenets = { + tenet_adaptive + tenet_mendicant_preachers + tenet_literalism + } + + doctrines = { + special_doctrine_established_church + doctrine_theocracy_lay_clergy + doctrine_pilgrimage_encouraged + doctrine_gender_equal + } +} \ No newline at end of file diff --git a/history/characters/NEOW_byzantine_emperors.txt b/history/characters/NEOW_byzantine_emperors.txt index b11cbe185..25f43cb14 100644 --- a/history/characters/NEOW_byzantine_emperors.txt +++ b/history/characters/NEOW_byzantine_emperors.txt @@ -2901,7 +2901,7 @@ greek_king_otto = { greek_king_george_i = { name="Ge_o_act_rgios" - religion="lutheran" + rite = lutheran_rite culture="dansk" dynasty=NEOW_glucksburg_greece trait="education_diplomacy_4" diff --git a/history/characters/NEOW_e_baltic.txt b/history/characters/NEOW_e_baltic.txt index 9a8ae3e31..10b2dd7be 100644 --- a/history/characters/NEOW_e_baltic.txt +++ b/history/characters/NEOW_e_baltic.txt @@ -40,7 +40,7 @@ baltic0002 = { #King of Estonia baltic0004 = { name = "Harijs" dynasty = skudra_dynasty - religion = "lutheran" + rite = lutheran_rite culture = latvian 2517.7.17 = { birth = yes @@ -115,7 +115,7 @@ baltic0009 = { baltic0010 = { name = "Mat_i_mcn_ss" dynasty = lacplesis_dynasty - religion = "lutheran" + rite = lutheran_rite culture = latvian trait = ambitious trait = zealous diff --git a/history/characters/NEOW_e_benelux.txt b/history/characters/NEOW_e_benelux.txt index af34935ec..2df09bca2 100644 --- a/history/characters/NEOW_e_benelux.txt +++ b/history/characters/NEOW_e_benelux.txt @@ -395,7 +395,7 @@ benelux_ryt_vos = { benelux_lieme_jonker = { name = "Lieme" dynasty = jonker_dynasty - religion = "lutheran" + rite = lutheran_rite culture = frisian 2535.1.1 = { birth = yes diff --git a/history/characters/NEOW_e_finland.txt b/history/characters/NEOW_e_finland.txt index a12fcb2ba..e727b61ed 100644 --- a/history/characters/NEOW_e_finland.txt +++ b/history/characters/NEOW_e_finland.txt @@ -54,7 +54,7 @@ finland0003 = { finland0004 = { name = "Adam" culture = finnoswede - religion = lutheran + rite = lutheran_rite trait = education_stewardship_4 trait = greedy trait = brave @@ -182,7 +182,7 @@ finland0011 = { name = "Oscar" dynasty = nyman_dynasty culture = finnoswede - religion = lutheran + rite = lutheran_rite trait = education_stewardship_1 trait = ambitious trait = temperate diff --git a/history/characters/NEOW_e_germania.txt b/history/characters/NEOW_e_germania.txt index 846b0a8ad..47fc442bc 100644 --- a/history/characters/NEOW_e_germania.txt +++ b/history/characters/NEOW_e_germania.txt @@ -901,7 +901,7 @@ germany0015 = { germany0017={ # Fidelis Zollern name="Fidelis" dynasty=zollern_dynasty - religion="lutheran" + rite = lutheran_rite culture=swabian trait=education_diplomacy_3 trait=cynical @@ -916,7 +916,7 @@ germany0017={ # Fidelis Zollern germany0018 = { #temporary, change later name = "Friedrich" dynasty = musiker_dynasty - religion = "lutheran" + rite = lutheran_rite culture = low_saxon trait = education_diplomacy_3 trait = cynical @@ -947,7 +947,7 @@ germany0018 = { #temporary, change later germany0019 = { name = "Ludwig" dynasty = blucher_dynasty - religion = "lutheran" + rite = lutheran_rite trait = education_martial_4 trait = aggressive_attacker trait = brave @@ -977,7 +977,7 @@ germany0020 = { germany0021 = { name = "Friedrich-Wilhelm" - religion = "lutheran" + rite = lutheran_rite culture = NEOW_pomeranian 2520.1.1 = { birth = yes @@ -991,7 +991,7 @@ germany0021 = { germany0022 = { name = "Sebastian" dynasty = kraft_dynasty - religion = "lutheran" + rite = lutheran_rite culture = NEOW_pomeranian 2528.1.1 = { birth = yes @@ -1229,7 +1229,7 @@ germany0032 = { germany0034 = { name = "Eilika" dynasty = thiele_dynasty - religion = lutheran + rite = lutheran_rite culture = brandenburger female = yes trait = education_intrigue_3 @@ -1612,7 +1612,7 @@ germany0054 = { germany0055 = { name = "Maximilian" dynasty = quadis_dynasty - religion = "lutheran" + rite = lutheran_rite culture = low_saxon trait = education_martial_2 trait = flexible_leader @@ -1637,7 +1637,7 @@ germany0055 = { germany0056 = { name = "Helene" dynasty = albers_dynasty - religion = "lutheran" + rite = lutheran_rite culture = low_saxon female = yes trait = education_intrigue_4 @@ -1658,7 +1658,7 @@ germany0056 = { germany0057 = { name = "Anders" dynasty = scheper_dynasty - religion = "lutheran" + rite = lutheran_rite culture = slesvigsk trait = education_martial_1 trait = cautious_leader @@ -1678,7 +1678,7 @@ germany0057 = { germany0058 = { name = "Thomas" dynasty = siemer_dynasty - religion = "lutheran" + rite = lutheran_rite culture = NEOW_pomeranian trait = education_martial_3 trait = logistician @@ -1864,7 +1864,7 @@ franziske_von_vohburg={ father=benedikt_ii_of_bavaria mother=marlene_kreile culture=franconian - religion=lutheran + rite = lutheran_rite 2175.2.2={birth=yes} 2191.2.14={add_spouse=gerhard_i_of_swabia} 2244.2.11={death=yes} @@ -2494,7 +2494,7 @@ hannes_i_of_swabia={ name="Hannes" dynasty=lechge_dynasty #von Lechge culture=swabian - religion=lutheran + rite = lutheran_rite trait=one_eyed trait=flexible_leader trait=intellect_good_1 @@ -2509,7 +2509,7 @@ joschua_i_of_swabia={ dynasty=lechge_dynasty #von Lechge father=hannes_i_of_swabia culture=swabian - religion=lutheran + rite = lutheran_rite trait=diligent 2127.2.1={birth=yes} 2185.2.17={death=yes} @@ -2519,7 +2519,7 @@ joschua_ii_of_swabia={ dynasty=lechge_dynasty #von Lechge father=joschua_i_of_swabia culture=swabian - religion=lutheran + rite = lutheran_rite trait=leper trait=honest trait=just @@ -2533,7 +2533,7 @@ philipp_i_of_swabia={ dynasty=lechge_dynasty #von Lechge father=joschua_ii_of_swabia culture=swabian - religion=lutheran + rite = lutheran_rite trait=inappetetic give_nickname=nick_the_hollow 2171.8.19={birth=yes} @@ -2545,7 +2545,7 @@ agnes_von_lechge={ dynasty=lechge_dynasty #von Lechge father=philipp_i_of_swabia culture=swabian - religion=lutheran + rite = lutheran_rite 2205.4.10={birth=yes} 2227.1.20={death=yes} } @@ -2555,7 +2555,7 @@ erika_von_lechge={ dynasty=lechge_dynasty #von Lechge father=philipp_i_of_swabia culture=swabian - religion=lutheran + rite = lutheran_rite 2207.12.12={birth=yes} 2273.2.18={death=yes} } @@ -2564,7 +2564,7 @@ gerhard_i_of_swabia={ dynasty=lechge_dynasty #von Lechge father=joschua_ii_of_swabia culture=swabian - religion=lutheran + rite = lutheran_rite trait=just trait=zealous trait=temperate @@ -2579,7 +2579,7 @@ joschua_von_lechge={ father=gerhard_i_of_swabia mother=franziske_von_vohburg culture=swabian - religion=lutheran + rite = lutheran_rite 2192.3.15={birth=yes} 2234.6.12={death={death_reason=death_murder killer=joschua_iii_of_swabia}} } @@ -2590,7 +2590,7 @@ maria_von_lechge={ father=gerhard_i_of_swabia mother=franziske_von_vohburg culture=swabian - religion=lutheran + rite = lutheran_rite 2193.3.24={birth=yes} 2231.10.1={death={death_reason=death_murder killer=joschua_iii_of_swabia}} } @@ -2600,7 +2600,7 @@ joschua_iii_of_swabia={ father=gerhard_i_of_swabia mother=franziske_von_vohburg culture=swabian - religion=lutheran + rite = lutheran_rite trait=sadistic trait=stubborn trait=arrogant @@ -2617,7 +2617,7 @@ ulrich_von_lechge={ father=gerhard_i_of_swabia mother=franziske_von_vohburg culture=swabian - religion=lutheran + rite = lutheran_rite 2195.12.19={birth=yes} 2243.3.24={death=yes} } @@ -2626,7 +2626,7 @@ ulrich_i_of_swabia={ dynasty=lechge_dynasty #von Lechge father=ulrich_von_lechge culture=swabian - religion=lutheran + rite = lutheran_rite trait=beauty_good_1 trait=brave trait=calm @@ -2641,7 +2641,7 @@ eiges_i_of_swabia={ dynasty=lechge_dynasty #von Lechge father=ulrich_i_of_swabia culture=swabian - religion=lutheran + rite = lutheran_rite give_nickname=nick_the_old 2234.1.24={birth=yes} 2294.3.12={death=yes} @@ -2651,7 +2651,7 @@ richard_von_lechge={ dynasty=lechge_dynasty #von Lechge father=eiges_i_of_swabia culture=swabian - religion=lutheran + rite = lutheran_rite trait=pneumonic 2252.2.11={birth=yes} 2286.10.24={death={death_reason=death_murder}} @@ -2661,7 +2661,7 @@ eiges_ii_of_swabia={ dynasty=lechge_dynasty #von Lechge father=richard_von_lechge culture=swabian - religion=lutheran + rite = lutheran_rite give_nickname=nick_the_young 2277.1.6={birth=yes} 2310.5.20={death=yes} @@ -2672,7 +2672,7 @@ johanna_von_lechge={ dynasty=lechge_dynasty #von Lechge father=eiges_ii_of_swabia culture=swabian - religion=lutheran + rite = lutheran_rite 2301.6.29={birth=yes} 2313.5.12={death=yes} } @@ -2682,7 +2682,7 @@ eva_von_lechge={ dynasty=lechge_dynasty #von Lechge father=eiges_ii_of_swabia culture=swabian - religion=lutheran + rite = lutheran_rite 2302.7.3={birth=yes} 2355.8.8={death=yes} } @@ -2692,7 +2692,7 @@ maria_von_lechge_2={ dynasty=lechge_dynasty #von Lechge father=eiges_ii_of_swabia culture=swabian - religion=lutheran + rite = lutheran_rite 2305.3.11={birth=yes} 2252.2.20={add_spouse=lienhardt_i_of_swabia} 2355.5.23={death=yes} @@ -2702,7 +2702,7 @@ burkhard_i_of_ulm={ dynasty=lechge_dynasty #von Lechge father=richard_von_lechge culture=swabian - religion=lutheran + rite = lutheran_rite 2278.1.21={birth=yes} 2309.12.23={death=yes} } @@ -2720,7 +2720,7 @@ gerhard_ii_of_kraichgau={ dynasty=lechge_dynasty #von Lechge father=richard_von_lechge culture=swabian - religion=lutheran + rite = lutheran_rite 2280.10.30={birth=yes} 2306.6.4={death=yes} } @@ -2729,7 +2729,7 @@ wilhelm_i_of_kraichgau={ dynasty=lechge_dynasty #von Lechge father=gerhard_ii_of_kraichgau culture=swabian - religion=lutheran + rite = lutheran_rite 2301.3.6={birth=yes} 2319.10.2={death=yes} } @@ -2738,7 +2738,7 @@ burkhard_i_of_swabia={ dynasty=lechge_dynasty #von Lechge father=wilhelm_i_of_kraichgau culture=swabian - religion=lutheran + rite = lutheran_rite give_nickname=nick_the_child trait=curious trait=compassionate @@ -2750,7 +2750,7 @@ heinrich_i_of_swabia={ dynasty=lechge_dynasty #von Lechge father=gerhard_ii_of_kraichgau culture=swabian - religion=lutheran + rite = lutheran_rite give_nickname=nick_the_accursed trait=kinslayer_2 trait=greedy @@ -2766,7 +2766,7 @@ stefan_i_of_kraichgau={ dynasty=lechge_dynasty #von Lechge father=gerhard_ii_of_kraichgau culture=swabian - religion=lutheran + rite = lutheran_rite 2306.1.14={birth=yes} 2388.4.17={death=yes} } @@ -2775,7 +2775,7 @@ stefan_ii_of_kraichgau={ dynasty=lechge_dynasty #von Lechge father=stefan_i_of_kraichgau culture=swabian - religion=lutheran + rite = lutheran_rite 2339.8.1={birth=yes} 2388.10.13={death=yes} } @@ -2784,7 +2784,7 @@ bernhard_von_lechge={ dynasty=lechge_dynasty #von Lechge father=stefan_ii_of_kraichgau culture=swabian - religion=lutheran + rite = lutheran_rite 2366.7.15={birth=yes} 2385.6.17={death=yes} } @@ -2794,7 +2794,7 @@ lydia_von_lechge={ dynasty=lechge_dynasty #von Lechge father=stefan_i_of_kraichgau culture=swabian - religion=lutheran + rite = lutheran_rite 2334.1.30={birth=yes} 2352.1.1={add_spouse=martin_i_of_swabia} 2405.2.15={death=yes} @@ -2804,7 +2804,7 @@ matthias_i_of_heilbronn={ dynasty=lechge_dynasty #von Lechge father=stefan_ii_of_kraichgau culture=swabian - religion=lutheran + rite = lutheran_rite 2370.7.21={birth=yes} 2413.12.28={death=yes} } @@ -2813,7 +2813,7 @@ erich_von_lechge={ dynasty=lechge_dynasty #von Lechge father=stefan_ii_of_kraichgau culture=swabian - religion=lutheran + rite = lutheran_rite 2376.8.28={birth=yes} 2411.10.19={death=yes} } @@ -2822,7 +2822,7 @@ arnulf_i_of_heilbronn={ dynasty=lechge_dynasty #von Lechge father=stefan_ii_of_kraichgau culture=swabian - religion=lutheran + rite = lutheran_rite 2384.4.28={birth=yes} 2431.9.19={death=yes} } @@ -2831,7 +2831,7 @@ siegfried_i_of_heilbronn={ dynasty=lechge_dynasty #von Lechge father=arnulf_i_of_heilbronn culture=swabian - religion=lutheran + rite = lutheran_rite 2419.2.19={birth=yes} 2495.8.28={death=yes} } @@ -2840,7 +2840,7 @@ max_von_lechge={ dynasty=lechge_dynasty #von Lechge father=arnulf_i_of_heilbronn culture=swabian - religion=lutheran + rite = lutheran_rite 2421.4.7={birth=yes} 2447.1.21={death=yes} } @@ -2849,7 +2849,7 @@ erwin_von_lechge={ dynasty=lechge_dynasty #von Lechge father=max_von_lechge culture=swabian - religion=lutheran + rite = lutheran_rite 2441.7.19={birth=yes} 2491.2.12={death=yes} } @@ -2858,7 +2858,7 @@ bertel_i_of_heilbronn={ dynasty=lechge_dynasty #von Lechge father=erwin_von_lechge culture=swabian - religion=lutheran + rite = lutheran_rite 2465.3.13={birth=yes} 2507.12.13={death=yes} } @@ -2867,7 +2867,7 @@ theo_i_of_heilbronn={ dynasty=lechge_dynasty #von Lechge father=bertel_i_of_heilbronn culture=swabian - religion=lutheran + rite = lutheran_rite 2486.10.11={birth=yes} 2549.9.16={death=yes} } @@ -2877,7 +2877,7 @@ emmy_von_lechge={ dynasty=lechge_dynasty #von Lechge father=bertel_i_of_heilbronn culture=swabian - religion=lutheran + rite = lutheran_rite 2492.10.10={birth=yes} 2551.9.15={death=yes} } @@ -2886,7 +2886,7 @@ hansmartin_i_of_heilbronn={ dynasty=lechge_dynasty #von Lechge father=theo_i_of_heilbronn culture=swabian - religion=lutheran + rite = lutheran_rite 2535.1.24={birth=yes} 2580.9.16={death=yes} } @@ -2896,7 +2896,7 @@ andreas_i_of_tubingen={ name="Andreas" dynasty=wendlenger_dynasty #Wendlenger culture=danish - religion=lutheran + rite = lutheran_rite 2141.5.5={birth=yes} 2203.7.4={death=yes} } @@ -2905,7 +2905,7 @@ bernhard_i_of_tubingen={ dynasty=wendlenger_dynasty #Wendlenger father=andreas_i_of_tubingen culture=swabian - religion=lutheran + rite = lutheran_rite 2174.12.20={birth=yes} 2250.10.28={death=yes} } @@ -2914,7 +2914,7 @@ otto_i_of_tubingen={ dynasty=wendlenger_dynasty #Wendlenger father=bernhard_i_of_tubingen culture=swabian - religion=lutheran + rite = lutheran_rite 2208.7.30={birth=yes} 2265.10.11={death=yes} } @@ -2923,7 +2923,7 @@ lienhardt_i_of_swabia={ dynasty=wendlenger_dynasty #Wendlenger father=otto_i_of_tubingen culture=swabian - religion=lutheran + rite = lutheran_rite give_nickname=nick_the_bold trait=brave trait=zealous @@ -2939,7 +2939,7 @@ lydia_wendlenger={ father=lienhardt_i_of_swabia mother=maria_von_lechge_2 culture=swabian - religion=lutheran + rite = lutheran_rite 2331.10.25={birth=yes} 2356.1.1={add_spouse=heinrich_i_of_kraichgau} 2400.11.5={death=yes} @@ -2950,7 +2950,7 @@ jakob_i_of_swabia={ father=lienhardt_i_of_swabia mother=maria_von_lechge_2 culture=swabian - religion=lutheran + rite = lutheran_rite trait=giant trait=strong trait=compassionate @@ -2964,7 +2964,7 @@ elisabeth_wendlenger={ female=yes father=jakob_i_of_swabia culture=swabian - religion=lutheran + rite = lutheran_rite 2352.4.21={birth=yes} 2371.4.10={add_spouse=eiges_iii_of_swabia} 2391.2.18={death=yes} @@ -2975,7 +2975,7 @@ anna_wendlenger={ female=yes father=jakob_i_of_swabia culture=swabian - religion=lutheran + rite = lutheran_rite 2358.6.3={birth=yes} 2389.10.22={death=yes} } @@ -2984,7 +2984,7 @@ lothar_wendlenger={ dynasty=wendlenger_dynasty #Wendlenger father=jakob_i_of_swabia culture=swabian - religion=lutheran + rite = lutheran_rite 2363.10.22={birth=yes} 2383.1.20={death={death_reason=death_battle}} #killer=heinrich_iii_of_the_palatinate died in battle } @@ -2994,7 +2994,7 @@ martin_i_of_swabia={ father=lienhardt_i_of_swabia mother=maria_von_lechge_2 culture=swabian - religion=lutheran + rite = lutheran_rite trait=theologian trait=compassionate 2335.5.30={birth=yes} @@ -3008,7 +3008,7 @@ debora_wendlenger={ father=martin_i_of_swabia mother=lydia_von_lechge culture=swabian - religion=lutheran + rite = lutheran_rite 2355.2.27={birth=yes} 2394.9.25={death=yes} } @@ -3019,7 +3019,7 @@ johanna_wendlenger={ father=lienhardt_i_of_swabia mother=maria_von_lechge_2 culture=swabian - religion=lutheran + rite = lutheran_rite 2337.8.20={birth=yes} 2355.1.1={add_spouse=franz_i_of_karlsruhe} 2414.12.25={death=yes} @@ -3030,7 +3030,7 @@ eiges_iii_of_swabia={ father=martin_i_of_swabia mother=lydia_von_lechge culture=swabian - religion=lutheran + rite = lutheran_rite trait=administrator trait=just give_nickname=nick_the_lawgiver @@ -3044,7 +3044,7 @@ eiges_v_of_swabia={ father=eiges_iii_of_swabia mother=elisabeth_wendlenger culture=swabian - religion=lutheran + rite = lutheran_rite trait=twin 2372.8.30={birth=yes} 2412.9.20={death=yes} @@ -3054,7 +3054,7 @@ eiges_vi_of_swabia={ dynasty=wendlenger_dynasty #Wendlenger father=eiges_v_of_swabia culture=swabian - religion=lutheran + rite = lutheran_rite trait=celibate trait=temperate trait=content @@ -3068,7 +3068,7 @@ lydia_wendlenger_2={ father=eiges_vi_of_swabia female=yes culture=swabian - religion=lutheran + rite = lutheran_rite 2410.3.25={birth=yes} 2480.4.10={death=yes} } @@ -3078,7 +3078,7 @@ thilo_i_of_tubingen={ father=eiges_iii_of_swabia mother=elisabeth_wendlenger culture=swabian - religion=lutheran + rite = lutheran_rite trait=twin 2372.8.30={birth=yes} 2420.1.8={death={death_reason=death_execution killer=simon_i_of_swabia}} @@ -3089,7 +3089,7 @@ ursel_wendlenger={ dynasty=wendlenger_dynasty #Wendlenger father=thilo_i_of_tubingen culture=swabian - religion=lutheran + rite = lutheran_rite 2389.7.15={birth=yes} 2440.5.20={death={death_reason=death_murder_feast killer=xaver_i_of_ravensburg}} } @@ -3098,7 +3098,7 @@ bernhard_ii_of_tubingen={ dynasty=wendlenger_dynasty #Wendlenger father=thilo_i_of_tubingen culture=swabian - religion=lutheran + rite = lutheran_rite 2404.9.1={birth=yes} 2468.7.7={death=yes} } @@ -3107,7 +3107,7 @@ wolfram_i_of_tubingen={ dynasty=wendlenger_dynasty #Wendlenger father=bernhard_ii_of_tubingen culture=swabian - religion=lutheran + rite = lutheran_rite 2425.7.6={birth=yes} 2488.9.5={death=yes} } @@ -3115,7 +3115,7 @@ bernhard_iii_of_tubingen={ name="Bernhard" dynasty=wendlenger_dynasty #Wendlenger culture=swabian - religion=lutheran + rite = lutheran_rite father=wolfram_i_of_tubingen 2460.9.3={birth=yes} 2520.7.28={death=yes} @@ -3124,7 +3124,7 @@ bernhard_iv_of_tubingen={ name="Bernhard" dynasty=wendlenger_dynasty #Wendlenger culture=swabian - religion=lutheran + rite = lutheran_rite father=bernhard_iii_of_tubingen 2488.9.12={birth=yes} 2533.12.20={death=yes} @@ -3134,7 +3134,7 @@ silvie_i_of_tubingen={ female=yes dynasty=wendlenger_dynasty #Wendlenger culture=swabian - religion=lutheran + rite = lutheran_rite father=bernhard_iv_of_tubingen 2527.5.5={birth=yes} 2580.1.1={death=yes} @@ -3143,7 +3143,7 @@ alfred_wendlenger={ name="Alfred" dynasty=wendlenger_dynasty #Wendlenger culture=swabian - religion=lutheran + rite = lutheran_rite father=wolfram_i_of_tubingen 2474.1.15={birth=yes} 2553.3.5={death=yes} @@ -3152,7 +3152,7 @@ friedrich_wendlenger={ name="Friedrich" dynasty=wendlenger_dynasty #Wendlenger culture=swabian - religion=lutheran + rite = lutheran_rite father=alfred_wendlenger 2502.9.29={birth=yes} 2530.7.13={death=yes} @@ -3161,7 +3161,7 @@ ekkehard_wendlenger={ name="Ekkehard" dynasty=wendlenger_dynasty #Wendlenger culture=swabian - religion=lutheran + rite = lutheran_rite father=friedrich_wendlenger 2526.11.4={birth=yes} 2569.7.13={death=yes} @@ -3170,7 +3170,7 @@ wolfram_wendlenger={ name="Wolfram" dynasty=wendlenger_dynasty #Wendlenger culture=swabian - religion=lutheran + rite = lutheran_rite father=alfred_wendlenger 2527.4.15={birth=yes} 2569.7.13={death=yes} @@ -3224,7 +3224,7 @@ franz_i_of_swabia={ name="Franz" dynasty=weissbronner_dynasty #Weissbronner culture=swabian - religion=lutheran + rite = lutheran_rite trait=education_diplomacy_3 trait=lifestyle_gardener trait=compassionate @@ -3240,7 +3240,7 @@ eiges_vii_of_swabia={ name="Eiges" dynasty=weissbronner_dynasty #Weissbronner culture=swabian - religion=lutheran + rite = lutheran_rite father=franz_i_of_swabia mother=lydia_wendlenger_2 2445.6.13={birth=yes} @@ -3250,7 +3250,7 @@ gotthilf_i_of_swabia={ name="Gotthilf" dynasty=weissbronner_dynasty #Weissbronner culture=swabian - religion=lutheran + rite = lutheran_rite father=eiges_vii_of_swabia mother=marta_hastenteufel trait=education_stewardship_3 @@ -3265,7 +3265,7 @@ franz_weissbronner={ name="Franz" dynasty=weissbronner_dynasty #Weissbronner culture=swabian - religion=lutheran + rite = lutheran_rite father=gotthilf_i_of_swabia trait=twin 2483.8.24={birth=yes} @@ -3277,7 +3277,7 @@ rosemarie_i_of_swabia={ female=yes dynasty=weissbronner_dynasty #Weissbronner culture=swabian - religion=lutheran + rite = lutheran_rite father=franz_weissbronner mother=helene_von_camphausen 2507.6.8={birth=yes} @@ -3289,7 +3289,7 @@ isabella_weissbronner={ female=yes dynasty=weissbronner_dynasty #Weissbronner culture=swabian - religion=lutheran + rite = lutheran_rite father=franz_weissbronner mother=helene_von_camphausen 2509.5.25={birth=yes} @@ -3299,7 +3299,7 @@ eberhard_i_of_swabia={ name="Eberhard" dynasty=weissbronner_dynasty #Weissbronner culture=swabian - religion=lutheran + rite = lutheran_rite father=franz_weissbronner mother=helene_von_camphausen 2512.10.13={birth=yes} @@ -3309,7 +3309,7 @@ markus_i_of_swabia={ name="Markus" dynasty=weissbronner_dynasty #Weissbronner culture=swabian - religion=lutheran + rite = lutheran_rite father=eberhard_i_of_swabia 2535.6.10={birth=yes} 2549.5.15={death=yes} @@ -3319,7 +3319,7 @@ christina_weissbronner={ dynasty=weissbronner_dynasty #Weissbronner female=yes culture=swabian - religion=lutheran + rite = lutheran_rite trait=bastard father=eberhard_i_of_swabia 2532.6.30={birth=yes} @@ -3331,7 +3331,7 @@ josef_i_of_ulm={ dynasty=weissbronner_dynasty #Weissbronner father=gotthilf_i_of_swabia culture=swabian - religion=lutheran + rite = lutheran_rite trait=education_diplomacy_2 trait=brave trait=gregarious @@ -3347,7 +3347,7 @@ klara_weissbronner={ female=yes dynasty=weissbronner_dynasty #Weissbronner culture=swabian - religion=lutheran + rite = lutheran_rite father=josef_i_of_ulm mother=hannelore_weiser 2508.2.6={birth=yes} @@ -3358,7 +3358,7 @@ ferdinand_i_of_swabia={ name="Ferdinand" dynasty=weissbronner_dynasty #Weissbronner culture=swabian - religion=lutheran + rite = lutheran_rite father=josef_i_of_ulm mother=hannelore_weiser trait=education_martial_3 @@ -3375,7 +3375,7 @@ dietrich_weissbronner={ name="Dietrich" dynasty=weissbronner_dynasty #Weissbronner culture=swabian - religion=lutheran + rite = lutheran_rite father=ferdinand_i_of_swabia mother=gisela_fugger trait=education_learning_2 @@ -3393,7 +3393,7 @@ friedhelm_weissbronner={ name="Friedhelm" dynasty=weissbronner_dynasty #Weissbronner culture=swabian - religion=lutheran + rite = lutheran_rite father=ferdinand_i_of_swabia mother=gisela_fugger trait=education_martial_2 @@ -4010,7 +4010,7 @@ vera_bruderle={ felix_i_of_bavaria={ name="Felix" dynasty=kreile_dynasty #Kreile - religion="lutheran" + rite = lutheran_rite culture=franconian trait=intellect_good_1 trait=theologian @@ -4027,7 +4027,7 @@ jakob_ii_of_bavaria={ dynasty=kreile_dynasty #Kreile father=felix_i_of_bavaria culture=franconian - religion=lutheran + rite = lutheran_rite trait=gluttonous give_nickname=nick_the_fat 2107.10.9={birth=yes} @@ -4038,7 +4038,7 @@ albrecht_iii_of_bavaria={ dynasty=kreile_dynasty #Kreile father=jakob_ii_of_bavaria culture=franconian - religion=lutheran + rite = lutheran_rite trait=intellect_good_3 trait=diligent trait=calm @@ -4085,7 +4085,7 @@ roland_i_of_schwandorf={ dynasty=kreile_dynasty #Kreile father=jakob_ii_of_bavaria culture=franconian - religion=lutheran + rite = lutheran_rite 2128.4.5={birth=yes} 2173.10.11={death=yes} } @@ -4094,7 +4094,7 @@ jakob_iii_of_schwandorf={ dynasty=kreile_dynasty #Kreile father=roland_i_of_schwandorf culture=franconian - religion=lutheran + rite = lutheran_rite 2147.5.1={birth=yes} 2190.9.18={death=yes} } @@ -4103,7 +4103,7 @@ horst_i_of_schwandorf={ dynasty=kreile_dynasty #Kreile father=jakob_iii_of_schwandorf culture=franconian - religion=lutheran + rite = lutheran_rite 2166.5.7={birth=yes} 2183.1.15={add_spouse=mathilda_von_vohburg} 2197.5.17={death=yes} @@ -4114,7 +4114,7 @@ felix_ii_of_bavaria={ father=horst_i_of_schwandorf mother=mathilda_von_vohburg culture=franconian - religion=lutheran + rite = lutheran_rite 2183.11.15={birth=yes} 2240.5.13={death=yes} } @@ -4124,7 +4124,7 @@ friedlinde_kreile={ female=yes father=felix_ii_of_bavaria culture=franconian - religion=lutheran + rite = lutheran_rite 2211.7.25={birth=yes} 2278.12.13={death=yes} } @@ -4133,7 +4133,7 @@ felix_iii_of_bavaria={ dynasty=kreile_dynasty #Kreile father=felix_ii_of_bavaria culture=franconian - religion=lutheran + rite = lutheran_rite give_nickname=nick_the_faceless trait=beauty_bad_2 trait=scarred @@ -4146,7 +4146,7 @@ jakob_iii_of_the_upper_palatinate={ father=horst_i_of_schwandorf mother=mathilda_von_vohburg culture=franconian - religion=lutheran + rite = lutheran_rite 2189.1.1={birth=yes} 2243.10.13={death=yes} } @@ -4155,7 +4155,7 @@ roland_i_of_the_upper_palatinate={ dynasty=kreile_dynasty #Kreile father=jakob_iii_of_the_upper_palatinate culture=franconian - religion=lutheran + rite = lutheran_rite 2217.3.20={birth=yes} 2277.3.10={death=yes} } @@ -4164,7 +4164,7 @@ roland_ii_of_the_upper_palatinate={ dynasty=kreile_dynasty #Kreile father=roland_i_of_the_upper_palatinate culture=franconian - religion=lutheran + rite = lutheran_rite 2245.6.13={birth=yes} 2300.11.5={death=yes} } @@ -4173,7 +4173,7 @@ horst_i_of_the_upper_palatinate={ dynasty=kreile_dynasty #Kreile father=roland_ii_of_the_upper_palatinate culture=franconian - religion=lutheran + rite = lutheran_rite 2273.11.13={birth=yes} 2321.11.8={death=yes} } @@ -4183,7 +4183,7 @@ juliane_kreile={ father=roland_ii_of_the_upper_palatinate female=yes culture=franconian - religion=lutheran + rite = lutheran_rite 2280.10.16={birth=yes} 2304.3.2={add_spouse=georg_i_of_bavaria} 2327.1.22={death=yes} @@ -4193,7 +4193,7 @@ roland_iii_of_the_upper_palatinate={ dynasty=kreile_dynasty #Kreile father=horst_i_of_the_upper_palatinate culture=franconian - religion=lutheran + rite = lutheran_rite 2315.2.21={birth=yes} 2388.3.1={death=yes} } @@ -4202,7 +4202,7 @@ albrecht_vii_of_the_upper_palatinate={ dynasty=kreile_dynasty #Kreile father=roland_iii_of_the_upper_palatinate culture=franconian - religion=lutheran + rite = lutheran_rite 2340.3.17={birth=yes} 2393.3.16={death=yes} } @@ -4211,7 +4211,7 @@ siegfried_i_of_the_upper_palatinate={ dynasty=kreile_dynasty #Kreile father=albrecht_vii_of_the_upper_palatinate culture=franconian - religion=lutheran + rite = lutheran_rite 2367.9.21={birth=yes} 2428.11.8={death=yes} } @@ -4220,7 +4220,7 @@ horst_ii_of_the_upper_palatinate={ dynasty=kreile_dynasty #Kreile father=siegfried_i_of_the_upper_palatinate culture=franconian - religion=lutheran + rite = lutheran_rite 2391.7.1={birth=yes} 2433.9.25={death=yes} } @@ -4229,7 +4229,7 @@ roland_iv_of_the_upper_palatinate={ dynasty=kreile_dynasty #Kreile father=horst_ii_of_the_upper_palatinate culture=franconian - religion=lutheran + rite = lutheran_rite 2410.2.17={birth=yes} 2472.7.2={death=yes} } @@ -4238,7 +4238,7 @@ franz_i_of_the_upper_palatinate={ dynasty=kreile_dynasty #Kreile father=roland_iv_of_the_upper_palatinate culture=franconian - religion=lutheran + rite = lutheran_rite 2441.3.9={birth=yes} 2493.3.10={death=yes} } @@ -4257,7 +4257,7 @@ friedlinde_kreile_2={ dynasty=kreile_dynasty #Kreile father=albrecht_viii_of_the_upper_palatinate culture=franconian - religion=lutheran + rite = lutheran_rite 2487.4.29={birth=yes} 2551.5.28={death=yes} } @@ -4266,7 +4266,7 @@ albrecht_xi_of_bavaria={ dynasty=kreile_dynasty #Kreile father=albrecht_viii_of_the_upper_palatinate culture=franconian - religion=lutheran + rite = lutheran_rite trait=clubfooted trait=diplomat trait=cancer @@ -4307,7 +4307,7 @@ burkhard_burkhardinger={ name="Burkhard" dynasty=burkhardinger_dynasty #Burkhardinger culture=franconian - religion=lutheran + rite = lutheran_rite 2110.7.10={birth=yes} 2142.8.21={add_spouse=ilse_hartmann} 2155.6.13={death=yes} @@ -4318,7 +4318,7 @@ manfred_i_of_cham={ name="Manfred" dynasty=lochner_dynasty #Lochner culture=franconian - religion=lutheran + rite = lutheran_rite 2484.9.28={birth=yes} 2504.3.2={add_spouse=friedlinde_kreile_2} 2550.6.8={death={death_reason=death_battle killer=germany0006}} # Slain in battle by Willi Makserbunner @@ -4327,7 +4327,7 @@ albrecht_x_of_the_upper_palatinate={ name="Albrecht" dynasty=lochner_dynasty #Lochner culture=franconian - religion=lutheran + rite = lutheran_rite trait=education_martial_3 trait=strong trait=cynical @@ -4365,7 +4365,7 @@ august_of_sundgau={ name="G_u_uml_scht" dynasty=barthold_dynasty #Barthold culture=elsasse - religion=lutheran + rite = lutheran_rite trait=architect trait=education_stewardship_4 trait=intellect_good_2 @@ -4459,7 +4459,7 @@ germany0007={ # Astrid Abend father=olaf_abend mother=rosemarie_i_of_swabia dynasty=abend_dynasty - religion="lutheran" + rite = lutheran_rite culture=swabian trait=education_martial_3 trait=chaste diff --git a/history/characters/NEOW_e_scandinavia.txt b/history/characters/NEOW_e_scandinavia.txt index 1684582aa..1c71c0574 100644 --- a/history/characters/NEOW_e_scandinavia.txt +++ b/history/characters/NEOW_e_scandinavia.txt @@ -80,7 +80,7 @@ scandinavia0004 = { scandinavia0005 = { name = "Birger" dynasty = dynasty_bergh - religion = "lutheran" + rite = lutheran_rite culture = skansk trait = education_martial_3 trait = gregarious @@ -149,7 +149,7 @@ scandinavia0008 = { scandinavia0009 = { name = "Hedvig" dynasty = fouche_d_otrante_dynasty - religion = "lutheran" + rite = lutheran_rite culture = smalandsk female = yes trait = education_stewardship_4 @@ -168,7 +168,7 @@ scandinavia0009 = { scandinavia0010 = { name = "Fredrik" dynasty = fouche_d_otrante_dynasty - religion = "lutheran" + rite = lutheran_rite culture = gotsk trait = education_intrigue_4 trait = sadistic @@ -308,7 +308,7 @@ scandinavia0015 = { scandinavia0016 = { name = "Carl-Axel" dynasty = dynasty_magnusson - religion = "lutheran" + rite = lutheran_rite culture = gotsk trait = education_stewardship_2 trait = impatient @@ -402,7 +402,7 @@ scandinavia0020 = { scandinavia0021 = { name = "Marlene" dynasty = wrede_dynasty - religion = "lutheran" + rite = lutheran_rite culture = ostsk female = yes 2546.5.1 = { @@ -522,7 +522,7 @@ scandinavia0027 = { scandinavia0028 = { name = "Freja" dynasty = bergh_dynasty - religion = "lutheran" + rite = lutheran_rite culture = skansk female = yes trait= beauty_good_2 @@ -548,7 +548,7 @@ scandinavia0028 = { scandinavia0029 = { name = "Christian" dynasty_house = house_glucksburg_monpezat - religion = "lutheran" + rite = lutheran_rite culture = dansk trait = infirm 2493.1.11 = { @@ -562,7 +562,7 @@ scandinavia0029 = { frederik_of_denmark = { name = "Frederik" dynasty_house = house_glucksburg_monpezat - religion = "lutheran" + rite = lutheran_rite culture = dansk father = scandinavia0029 2519.7.21={ @@ -582,7 +582,7 @@ frederik_of_denmark = { prince_frederik_of_denmark = { name = "Frederik" dynasty_house = house_glucksburg_monpezat - religion = "lutheran" + rite = lutheran_rite culture = dansk trait= education_intrigue_4 trait=vengeful @@ -606,7 +606,7 @@ prince_frederik_of_denmark = { scandinavia0030 = { name = "Christian" dynasty_house = house_glucksburg_monpezat - religion = "lutheran" + rite = lutheran_rite culture = dansk trait= education_diplomacy_4 trait= gregarious @@ -635,7 +635,7 @@ scandinavia0030 = { frederik_glucksburg_2 = { name = "Frederik" dynasty_house = house_glucksburg_monpezat - religion = "lutheran" + rite = lutheran_rite culture = dansk father = scandinavia0030 mother = scandinavia0028 @@ -650,7 +650,7 @@ frederik_glucksburg_2 = { scandinavia0031 = { name = "Joachim" dynasty_house = house_glucksburg_monpezat - religion = "lutheran" + rite = lutheran_rite culture = dansk father = scandinavia0029 2524.3.6={ @@ -664,7 +664,7 @@ scandinavia0031 = { scandinavia0032 = { name = "Felix" dynasty_house = house_glucksburg_monpezat - religion = "lutheran" + rite = lutheran_rite culture = dansk father = scandinavia0029 2526.4.12={ @@ -678,7 +678,7 @@ scandinavia0032 = { scandinavia0033 = { name="Hans" #Current ruler of Jutland, hoping Joakim II of Copenhagen croaks soon dynasty_house = house_andersen - religion="lutheran" + rite = lutheran_rite culture= dansk diplomacy=7 martial=0 @@ -787,7 +787,7 @@ fishe0008 = { germany0016 = { #from a minor branch of the glucksburg family that gained power in the south, creating their own kingdom after the collapse of denmark name = "Frederik" dynasty_house = house_christiansen - religion = "lutheran" + rite = lutheran_rite culture = slesvigsk trait = education_diplomacy_4 trait = cynical @@ -870,7 +870,7 @@ norway_laamp_brand_henriksen = { name = "Brand" dynasty = henriksen_dynasty dna=dna_brand_henriksen - religion = "lutheran" + rite = lutheran_rite culture = trondheimer trait = beauty_good_1 trait = intellect_good_1 diff --git a/history/provinces/e_baltic.txt b/history/provinces/e_baltic.txt index 7022b7ebb..e915d3887 100644 --- a/history/provinces/e_baltic.txt +++ b/history/provinces/e_baltic.txt @@ -255,7 +255,7 @@ ###c_riga 108 = { culture = latvian - religion = lutheran + rite = lutheran_rite holding = city_holding } 104 = { @@ -277,7 +277,7 @@ ###c_limbazi 101 = { culture = latvian - religion = lutheran + rite = lutheran_rite holding = tribal_holding } 109 = { @@ -409,12 +409,12 @@ ###c_wiek 93 = { culture = estonian - religion = lutheran + rite = lutheran_rite holding = tribal_holding } 92 = { culture = estonian - religion = lutheran + rite = lutheran_rite holding = tribal_holding } ##d_parnu @@ -503,7 +503,7 @@ ###c_hiiumaa 91 = { culture = estonian - religion = lutheran + rite = lutheran_rite holding = tribal_holding } 13624 = { diff --git a/history/provinces/e_europa.txt b/history/provinces/e_europa.txt index f30b366c4..4e20f1050 100644 --- a/history/provinces/e_europa.txt +++ b/history/provinces/e_europa.txt @@ -247,7 +247,7 @@ ###c_ostfriesland 2418 = { culture = dutch - religion = lutheran + rite = lutheran_rite holding = city_holding 1178.1.1 = { culture = frisian @@ -262,7 +262,7 @@ ###c_oldenburg 2438 = { culture = low_saxon - religion = lutheran + rite = lutheran_rite holding = castle_holding } 2454 = { diff --git a/history/provinces/e_finland.txt b/history/provinces/e_finland.txt index 8f0f1251d..6124ed438 100644 --- a/history/provinces/e_finland.txt +++ b/history/provinces/e_finland.txt @@ -283,7 +283,7 @@ ###c_finland 179 = { culture = finnoswede - religion = lutheran + rite = lutheran_rite holding = castle_holding } 178 = { @@ -325,14 +325,14 @@ religion = folketro holding = none 1066.1.1 = { culture = finnoswede } - 1085.1.1 = { religion = lutheran } + 1085.1.1 = { rite = lutheran_rite } } 217 = { culture = norse religion = folketro holding = none 1066.1.1 = { culture = finnoswede } - 1085.1.1 = { religion = lutheran } + 1085.1.1 = { rite = lutheran_rite } } ###c_satakunta 185 = { @@ -510,17 +510,17 @@ ###c_vaasa 213 = { culture = finnoswede - religion = lutheran + rite = lutheran_rite holding = tribal_holding } 442 = { culture = finnoswede - religion = lutheran + rite = lutheran_rite holding = tribal_holding } 214 = { culture = finnoswede - religion = lutheran + rite = lutheran_rite terrain = forest holding = none } diff --git a/history/provinces/e_germany.txt b/history/provinces/e_germany.txt index daa0ec4be..8311e9224 100644 --- a/history/provinces/e_germany.txt +++ b/history/provinces/e_germany.txt @@ -25,7 +25,7 @@ holding = castle_holding } 1150.1.1 = { - religion = lutheran + rite = lutheran_rite } } 2819 = { @@ -159,7 +159,7 @@ ###c_wittenberg 3173 = { culture = brandenburger - religion = lutheran + rite = lutheran_rite holding = castle_holding } 3172 = { @@ -274,7 +274,7 @@ ###c_bremen 2793 = { culture = low_saxon - religion = lutheran + rite = lutheran_rite holding = city_holding } 2791 = { @@ -284,7 +284,7 @@ ###c_luneburg 2893 = { culture = low_saxon - religion = lutheran + rite = lutheran_rite holding = castle_holding } 2937 = { @@ -296,7 +296,7 @@ ###c_verden 2794 = { culture = low_saxon - religion = lutheran + rite = lutheran_rite holding = castle_holding } 2796 = { @@ -314,7 +314,7 @@ ###c_stade 2795 = { culture = low_saxon - religion = lutheran + rite = lutheran_rite holding = castle_holding } 2792 = { @@ -323,7 +323,7 @@ ###c_wendland 2895 = { culture = low_saxon - religion = lutheran + rite = lutheran_rite holding = castle_holding } 2894 = { @@ -938,7 +938,7 @@ ###c_stuttgart 2748 = { culture = swabian - religion = lutheran + rite = lutheran_rite holding = castle_holding } 2769 = { @@ -987,7 +987,7 @@ ###c_sigmaringen 2767 = { culture = swabian - religion = lutheran + rite = lutheran_rite holding = castle_holding } 2773 = { @@ -999,7 +999,7 @@ ###c_zollern 2763 = { culture = swabian - religion = lutheran + rite = lutheran_rite holding = castle_holding } 2759 = { @@ -1011,7 +1011,7 @@ ###c_tubingen 2749 = { culture = swabian - religion = lutheran + rite = lutheran_rite holding = castle_holding } 2765 = { @@ -1032,7 +1032,7 @@ ###c_ulm 2768 = { culture = swabian - religion = lutheran + rite = lutheran_rite holding = castle_holding } 2766 = { @@ -1118,7 +1118,7 @@ ###c_schwarzwald 2757 = { culture = swabian - religion = lutheran + rite = lutheran_rite holding = castle_holding } 2760 = { @@ -1136,7 +1136,7 @@ ###c_konstanz 2762 = { culture = swabian - religion = lutheran + rite = lutheran_rite holding = castle_holding } 2758 = { diff --git a/history/provinces/e_scandinavia.txt b/history/provinces/e_scandinavia.txt index 1185450ca..3b2e3f49e 100644 --- a/history/provinces/e_scandinavia.txt +++ b/history/provinces/e_scandinavia.txt @@ -416,7 +416,7 @@ ###c_skane 70 = { culture = skansk - religion = lutheran + rite = lutheran_rite holding = tribal_holding special_building_slot = lund_cathedral_01 1020.1.1 = { @@ -465,7 +465,7 @@ holding = tribal_holding 1020.1.1 = { culture = gotsk - religion = lutheran + rite = lutheran_rite holding = castle_holding } } @@ -478,7 +478,7 @@ ###c_halland 74 = { culture = skansk - religion = lutheran + rite = lutheran_rite holding = tribal_holding 1066.1.1 = { holding = castle_holding @@ -494,7 +494,7 @@ 80 = { holding = castle_holding culture = skansk - religion = lutheran + rite = lutheran_rite } 78 = { holding = city_holding @@ -506,7 +506,7 @@ ###c_vastergotland 317 = { culture = gotsk - religion = lutheran + rite = lutheran_rite holding = tribal_holding } 8724 = { @@ -532,7 +532,7 @@ ###c_skara 316 = { culture = gotsk - religion = lutheran + rite = lutheran_rite holding = tribal_holding } 8723 = { @@ -584,7 +584,7 @@ ###c_more 307 = { culture = smalandsk - religion = lutheran + rite = lutheran_rite holding = castle_holding } 308 = { @@ -611,7 +611,7 @@ ###c_varend 304 = { culture = smalandsk - religion = lutheran + rite = lutheran_rite holding = castle_holding } 302 = { @@ -635,7 +635,7 @@ ###c_njudung 335 = { culture = smalandsk - religion = lutheran + rite = lutheran_rite holding = castle_holding } 312 = { @@ -663,7 +663,7 @@ ###c_oland 314 = { culture = smalandsk - religion = lutheran + rite = lutheran_rite holding = castle_holding } 315 = { @@ -679,11 +679,11 @@ 433 = { holding = castle_holding culture = dansk - religion = lutheran + rite = lutheran_rite } 63 = { culture = dansk - religion = lutheran + rite = lutheran_rite holding = church_holding 1066.1.1 = { buildings = { @@ -717,7 +717,7 @@ holding = tribal_holding 965.1.1 = { culture = bornholmer - religion = lutheran + rite = lutheran_rite } 1000.1.1 = { holding = city_holding @@ -726,7 +726,7 @@ ###c_fyn 65 = { culture = dansk - religion = lutheran + rite = lutheran_rite holding = tribal_holding 988.1.1 ={ holding = castle_holding @@ -748,7 +748,7 @@ holding = tribal_holding 965.1.1 = { culture = dansk - religion = lutheran + rite = lutheran_rite } 1066.1.1 = { holding = castle_holding @@ -761,7 +761,7 @@ ###c_aarhus 57 = { culture = dansk - religion = lutheran + rite = lutheran_rite holding = castle_holding } 58 = { @@ -780,7 +780,7 @@ holding = tribal_holding 965.1.1 = { culture = slesvigsk - religion = lutheran + rite = lutheran_rite holding = castle_holding } } @@ -802,7 +802,7 @@ ###c_ribe 83 = { culture = slesvigsk - religion = lutheran + rite = lutheran_rite holding = castle_holding 1066.1.1 = { buildings = { @@ -821,7 +821,7 @@ holding = tribal_holding 965.1.1 = { culture = dansk - religion = lutheran + rite = lutheran_rite holding = castle_holding } } @@ -831,7 +831,7 @@ ###c_ringkobing 223 = { culture = dansk - religion = lutheran + rite = lutheran_rite holding = castle_holding } 82 = { @@ -846,7 +846,7 @@ ###c_aalborg 81 = { culture = norse - religion = lutheran + rite = lutheran_rite holding = tribal_holding 965.1.1 = { culture = dansk @@ -867,7 +867,7 @@ ###c_slesvig 84 = { culture = slesvigsk - religion = lutheran + rite = lutheran_rite holding = castle_holding 700.1.1 = { special_building = danevirke_01 @@ -889,7 +889,7 @@ ###c_north_frisia 220 = { culture = frisian - religion = lutheran + rite = lutheran_rite holding = castle_holding } ##d_hamburg @@ -916,7 +916,7 @@ } 1168.1.1 = { culture = slesvigsk - religion = lutheran + rite = lutheran_rite } 1066.1.1 = { buildings = { @@ -941,7 +941,7 @@ } 1168.1.1 = { culture = slesvigsk - religion = lutheran + rite = lutheran_rite } } 2800 = { @@ -950,13 +950,13 @@ ###c_ditmarschen 2797 = { culture = slesvigsk - religion = lutheran + rite = lutheran_rite holding = castle_holding } ###c_lauenberg 2806 = { culture = NEOW_pomeranian - religion = lutheran + rite = lutheran_rite holding = none 1045.1.1 = { holding = castle_holding @@ -1007,7 +1007,7 @@ special_building_slot = heddal_stave_church_01 1020.1.1 = { culture = ostsk - religion = lutheran + rite = lutheran_rite holding = castle_holding } } @@ -1033,7 +1033,7 @@ holding = tribal_holding 1020.1.1 = { culture = ostsk - religion = lutheran + rite = lutheran_rite holding = castle_holding } } @@ -1063,7 +1063,7 @@ holding = tribal_holding 1020.1.1 = { culture = ostsk - religion = lutheran + rite = lutheran_rite holding = castle_holding } } @@ -1076,7 +1076,7 @@ ###c_agdeside 289 = { culture = vestsk - religion = lutheran + rite = lutheran_rite holding = castle_holding } 251 = {