From 4c1f524d624d2bf1258afa0f16f88c9635a13aba Mon Sep 17 00:00:00 2001 From: Heidesommer Date: Sat, 25 Apr 2026 18:55:31 -0400 Subject: [PATCH] Stavropul start --- common/accolade_names/00_accolade_names.txt | 5 + .../activities/activity_types/coronation.txt | 1949 ++++-------- common/activities/activity_types/feast.txt | 87 +- common/activities/activity_types/funeral.txt | 2 +- common/activities/activity_types/hike.txt | 33 +- common/activities/activity_types/hunt.txt | 130 +- .../activities/activity_types/pilgrimage.txt | 101 +- common/activities/activity_types/playdate.txt | 2 +- common/activities/activity_types/tour.txt | 49 + common/activities/activity_types/wedding.txt | 362 +-- common/casus_belli_types/00_religious_war.txt | 31 +- common/casus_belli_types/07_ep3_wars.txt | 200 +- common/character_interactions/00_alliance.txt | 5 +- .../00_ce1_interactions.txt | 2 +- .../00_character_interactions.txt | 36 +- .../00_culture_interactions.txt | 9 +- .../00_diarch_interactions.txt | 101 +- .../00_invite_agent_to_scheme.txt | 94 + .../00_marriage_interactions.txt | 698 ++-- .../00_modifiy_vassal_contract.txt | 133 +- .../00_prison_interactions.txt | 1481 ++++++--- .../00_religious_interactions.txt | 48 +- .../00_scheme_interactions.txt | 6 +- .../00_tradition_interactions.txt | 30 +- .../00_tribal_interactions.txt | 62 +- .../00_tributary_interactions.txt | 46 +- .../00_vassal_interactions.txt | 31 +- common/character_interactions/00_war.txt | 4 +- .../03_fp2_interactions.txt | 110 +- .../06_ep3_laamp_interactions.txt | 80 +- .../09_mpo_interactions.txt | 104 +- .../tgp_tribute_mission_interactions.txt | 3 +- common/council_tasks/00_chancellor_tasks.txt | 24 +- common/culture/cultures/NEOW_mongolic.txt | 34 + common/culture/eras/00_culture_eras.txt | 131 - .../culture/innovations/tgp_innovations.txt | 12 +- common/culture/name_equivalency/00_names.txt | 4 +- .../traditions/00_realm_traditions.txt | 229 +- .../traditions/00_societal_traditions.txt | 1 + .../culture/traditions/03_fp3_traditions.txt | 1 + .../00_government_custom_loc.txt | 16 +- .../00_greeting_custom_loc.txt | 2 +- .../00_ruler_transition_loc.txt | 39 +- .../05_bp2_custom_loc.txt | 6 + .../tgp_custom_loc.txt | 10 +- .../00_major_decisions_east_europe.txt | 6 +- common/decisions/10_religious_decisions.txt | 22 +- common/decisions/80_major_decisions_roman.txt | 33 +- .../dlc_decisions/03_fp2_decisions.txt | 229 +- common/defines/00_defines.txt | 58 +- .../domiciles/buildings/00_camp_buildings.txt | 49 +- .../buildings/00_chinese_estate_buildings.txt | 164 +- .../domiciles/buildings/00_yurt_buildings.txt | 548 +--- .../buildings/10_japanese_manor_buildings.txt | 349 +- common/factions/00_factions.txt | 142 +- common/flavorization/00_title_holders.txt | 6 +- common/game_concepts/00_game_concepts.txt | 31 +- common/governments/00_government_types.txt | 95 +- common/landed_titles/nistrenia.txt | 97 +- common/laws/00_succession_laws.txt | 34 +- common/laws/01_title_succession_laws.txt | 19 +- common/laws/_laws.info | 5 +- .../men_at_arms_types/_men_at_arms_types.info | 1 + .../00_definitions.txt | 56 +- common/modifiers/00_province_modifiers.txt | 6 +- common/on_action/army_on_actions.txt | 195 +- common/on_action/death.txt | 83 +- common/on_action/dlc/mpo/mpo_on_actions_2.txt | 34 +- common/on_action/game_start.txt | 222 +- common/on_action/title_on_actions.txt | 566 ++-- common/on_action/travel_on_actions.txt | 138 +- .../religion/religion_types/00_buddhism.txt | 259 +- .../religion_types/00_christianity.txt | 1080 ------- .../scheme_types/learn_language_scheme.txt | 3 + common/script_values/00_culture_values.txt | 43 +- .../script_values/00_men_at_arms_values.txt | 4 + common/script_values/02_religion_values.txt | 8 +- .../script_values/04_ep2_wedding_values.txt | 2 +- common/script_values/07_ep3_values.txt | 635 +--- .../00_court_character_templates.txt | 7 + .../00_court_position_templates.txt | 1 + ...0_fund_inspiration_character_templates.txt | 3 + .../00_hold_court_character_templates.txt | 9 + .../00_knight_templates.txt | 3 + .../00_mystic_templates.txt | 5 + .../00_officials_templates.txt | 3 + .../00_peasant_leader_templates.txt | 2 + .../00_physician_character_template.txt | 3 + ..._pool_repopulation_character_templates.txt | 3 +- .../00_priest_character_template.txt | 4 + .../00_saharan_nomad_template.txt | 1 + .../00_scholar_template.txt | 4 + .../00_scripted_character_templates.txt | 1 + .../00_soldier_character_templates.txt | 12 + .../00_terrain_specialist_templates.txt | 8 + .../01_bp1_filippa_character_templates.txt | 6 + .../01_ep1_character_templates.txt | 3 +- .../01_fp1_character_templates.txt | 7 + .../01_tgp_japan_character_templates.txt | 2 + .../03_fp2_character_templates.txt | 8 + .../04_ep2_accolade_character_templates.txt | 2823 +++++++++++------ .../04_ep2_character_templates.txt | 16 + .../04_ep2_character_templates_james.txt | 1 + .../04_ep2_james_character_templates.txt | 1 + .../04_fp3_character_templates.txt | 8 +- .../05_bp2_character_templates.txt | 4 + .../07_ep3_character_templates.txt | 4 + .../09_mpo_character_templates.txt | 2 + .../tgp_character_templates.txt | 77 +- .../scripted_effects/00_faction_effects.txt | 1 + .../00_major_decisions_scripted_effects.txt | 13 +- .../00_mongol_invasion_effects.txt | 2 +- .../07_dlc_ep3_scripted_effects.txt | 932 +++--- .../09_dlc_mpo_scripted_effects.txt | 731 +++-- .../tgp_debate_scripted_effects.txt | 18 +- ..._imperial_examination_scripted_effects.txt | 113 +- .../tgp_mandala_scripted_effects.txt | 181 +- .../tgp_tribute_mission_scripted_effects.txt | 4 +- .../00_building_requirement_triggers.txt | 55 +- .../00_clothing_triggers.txt | 93 +- .../00_councillor_triggers.txt | 104 +- .../00_government_triggers.txt | 12 +- .../00_illustration_triggers.txt | 5 +- .../scripted_triggers/00_laamp_triggers.txt | 30 +- .../00_marriage_triggers.txt | 105 +- .../00_relation_triggers.txt | 46 +- .../00_religious_triggers.txt | 2 +- .../00_scripted_rule_triggers.txt | 4 +- .../00_war_and_peace_triggers.txt | 20 +- .../02_ep1_scripted_triggers.txt | 10 +- .../03_fp2_scripted_triggers.txt | 25 +- common/scripted_triggers/07_ep3_triggers.txt | 89 +- .../09_mpo_greatest_of_khans_triggers.txt | 1 + .../10_ach_scripted_triggers.txt | 58 +- common/scripted_triggers/10_tgp_triggers.txt | 289 +- .../mpo_scripted_triggers.txt | 308 +- .../10_tgp_dynastic_cycle_catalysts.txt | 1 + .../00_situation_group_types.txt | 4 + .../situation/situations/the_great_steppe.txt | 4 +- .../contracts/_subject_contracts.info | 2 +- .../contracts/administrative.txt | 7 +- .../subject_contracts/contracts/celestial.txt | 1457 --------- .../contracts/meritocratic.txt | 3 + .../task_contracts/laamp_base_contracts.txt | 12 +- .../task_contracts/laamp_extra_contracts.txt | 5 + .../laamp_transport_contracts.txt | 20 +- .../tgp_natural_disaster_contracts.txt | 2 + common/traits/00_traits.txt | 516 ++- .../coronation_activity/coronation_events.txt | 6 +- .../coronation_events_6.txt | 28 +- events/dlc/fp1/fp1_other_decision_events.txt | 16 +- .../dlc/fp3/fp3_dynasty_decision_events.txt | 2 +- events/dlc/fp3/fp3_heritage_events.txt | 8 +- .../learning_theology_events.txt | 2 +- history/provinces/e_nistrenia.txt | 83 +- map_data/default.map | 2 +- map_data/definition.csv | 8 +- map_data/provinces.png | 4 +- 158 files changed, 10079 insertions(+), 10160 deletions(-) create mode 100644 common/culture/cultures/NEOW_mongolic.txt delete mode 100644 common/religion/religion_types/00_christianity.txt delete mode 100644 common/subject_contracts/contracts/celestial.txt diff --git a/common/accolade_names/00_accolade_names.txt b/common/accolade_names/00_accolade_names.txt index cb8ea8af..c2ea1f4d 100644 --- a/common/accolade_names/00_accolade_names.txt +++ b/common/accolade_names/00_accolade_names.txt @@ -2056,6 +2056,8 @@ accolade_leader_of_the_lieges_maa = { has_innovation = innovation_sarawit has_innovation = innovation_legionnaires has_cultural_parameter = unlock_maa_skoutatoi + has_cultural_parameter = unlock_zhanmadao + has_cultural_parameter = unlock_burenjia } } } @@ -2088,6 +2090,9 @@ accolade_leader_of_the_lieges_maa = { has_cultural_parameter = unlock_maa_monaspa has_innovation = innovation_valets has_cultural_parameter = unlock_maa_conrois + has_cultural_parameter = unlock_maa_cataphract_archers + has_innovation = innovation_tiefutu + has_cultural_parameter = unlock_maa_black_armor_cavalry } } diff --git a/common/activities/activity_types/coronation.txt b/common/activities/activity_types/coronation.txt index 3234a548..8b685678 100644 --- a/common/activities/activity_types/coronation.txt +++ b/common/activities/activity_types/coronation.txt @@ -63,6 +63,52 @@ } } } + # In realms with Ceremonial Lieges, only independent Ceremonial Lieges may hold a Coronation + trigger_if = { + limit = { tgp_realm_has_ceremonial_liege_trigger = yes } + custom_tooltip = { + text = tgp_ceremonial_liege_coronation_trigger + tgp_has_ceremonial_liege_title_trigger = yes + } + } + + trigger_if = { + limit = { + highest_held_title_tier >= tier_empire + faith = { + has_doctrine = doctrine_spiritual_head + has_doctrine = doctrine_imperial_anointment + } + } + 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 + } + } + NOT = { has_trait = excommunicated } + trigger_if = { + limit = { + is_ai = no + } + piety_level >= 2 + } + } } is_location_valid = { @@ -172,134 +218,7 @@ limit = { has_treasury = no } - add = { - value = base_coronation_cost - desc = CORONATION_BASE_COST - } - if = { - limit = { - highest_held_title_tier >= tier_empire - } - add = { - value = 30 - add = { - value = 30 - multiply = activity_cost_scale_by_era - subtract = 30 - } - desc = coronation_empire_req - } - } - #The bigger your realm, the more it costs - if = { - limit = { - realm_size >= 1 - highest_held_title_tier > tier_empire - } - add = { - value = realm_size - add = { - value = realm_size - multiply = activity_cost_scale_by_era - subtract = realm_size - } - multiply = 0.125 - desc = coronation_realm_size_desc - } - } - else_if = { - limit = { - realm_size >= 1 - highest_held_title_tier > tier_kingdom - } - add = { - value = realm_size - add = { - value = realm_size - multiply = activity_cost_scale_by_era - subtract = realm_size - } - multiply = 0.25 - desc = coronation_realm_size_desc - } - } - else_if = { - limit = { - realm_size >= 1 - highest_held_title_tier = tier_kingdom - } - add = { - value = realm_size - add = { - value = realm_size - multiply = activity_cost_scale_by_era - subtract = realm_size - } - multiply = 0.5 - desc = coronation_realm_size_desc - } - } - - #Government types - if = { - limit = { - government_has_flag = government_is_tribal - } - multiply = 0.66 - desc = coronation_tribal_req - } - if = { - limit = { - government_has_flag = government_is_nomadic - } - multiply = 0.1 - desc = coronation_nomadic_reg - } - - #AI discounts - if = { - limit = { - is_ai = yes - has_game_rule = hard_difficulty - } - multiply = 0.5 - } - else_if = { - limit = { - is_ai = yes - has_game_rule = very_hard_difficulty - } - multiply = 0.25 - } - else_if = { - limit = { - is_ai = yes - } - multiply = 0.75 - } - if = { - limit = { - exists = primary_title - primary_title.title_held_years >= 5 - is_ai = yes - } - multiply = 0.5 - } - if = { - limit = { - is_ai = yes - exists = primary_title - OR = { - has_trait = conqueror - has_trait = greatest_of_khans - primary_title.title_held_years >= 10 - } - } - multiply = 0 - } - } - else = { - value = 0 + value = coronation_cost } } } @@ -309,246 +228,18 @@ limit = { has_treasury = yes } - add = { - value = base_coronation_cost - desc = CORONATION_BASE_COST - } - if = { - limit = { - highest_held_title_tier >= tier_empire - } - add = { - value = 30 - add = { - value = 30 - multiply = activity_cost_scale_by_era - subtract = 30 - } - desc = coronation_empire_req - } - } - #The bigger your realm, the more it costs - if = { - limit = { - realm_size >= 1 - highest_held_title_tier > tier_empire - } - add = { - value = realm_size - add = { - value = realm_size - multiply = activity_cost_scale_by_era - subtract = realm_size - } - multiply = 0.125 - desc = coronation_realm_size_desc - } - } - else_if = { - limit = { - realm_size >= 1 - highest_held_title_tier > tier_kingdom - } - add = { - value = realm_size - add = { - value = realm_size - multiply = activity_cost_scale_by_era - subtract = realm_size - } - multiply = 0.25 - desc = coronation_realm_size_desc - } - } - else_if = { - limit = { - realm_size >= 1 - highest_held_title_tier = tier_kingdom - } - add = { - value = realm_size - add = { - value = realm_size - multiply = activity_cost_scale_by_era - subtract = realm_size - } - multiply = 0.5 - desc = coronation_realm_size_desc - } - } - - #Government types - if = { - limit = { - government_has_flag = government_is_tribal - } - multiply = 0.66 - desc = coronation_tribal_req - } - if = { - limit = { - government_has_flag = government_is_nomadic - } - multiply = 0.1 - desc = coronation_nomadic_reg - } - - #AI discounts - if = { - limit = { - is_ai = yes - has_game_rule = hard_difficulty - } - multiply = 0.5 - } - else_if = { - limit = { - is_ai = yes - has_game_rule = very_hard_difficulty - } - multiply = 0.25 - } - else_if = { - limit = { - is_ai = yes - } - multiply = 0.75 - } - if = { - limit = { - exists = primary_title - primary_title.title_held_years >= 5 - is_ai = yes - } - multiply = 0.5 - } - if = { - limit = { - is_ai = yes - exists = primary_title - OR = { - has_trait = conqueror - has_trait = greatest_of_khans - primary_title.title_held_years >= 10 - } - } - multiply = 0 - } - } - else = { - value = 0 + add = coronation_cost } } } herd = { - if = { - limit = { - government_has_flag = government_is_nomadic - } - add = { - value = domicile.medium_herd_value - min = 200 - desc = CORONATION_BASE_COST - } - } - if = { - limit = { - confederation ?= { has_cohesion_level_parameter = any_member_activity_cost_reduced } - } - multiply = { - value = 0.9 - desc = CB_COHESION_PARAMETER_DISCOUNT - } - } - if = { - limit = { - highest_held_title_tier >= tier_empire - government_has_flag = government_is_nomadic - } - add = { - value = domicile.minor_herd_value - min = 200 - desc = coronation_empire_req - } - } - #The bigger your realm, the more it costs - if = { - limit = { - government_has_flag = government_is_nomadic - realm_size >= 1 - highest_held_title_tier > tier_empire - } - add = { - value = realm_size - multiply = 2 - desc = coronation_realm_size_desc - } - } - else_if = { - limit = { - government_has_flag = government_is_nomadic - realm_size >= 1 - highest_held_title_tier = tier_empire - } - add = { - value = realm_size - multiply = 4 - desc = coronation_realm_size_desc - } - } - else_if = { - limit = { - government_has_flag = government_is_nomadic - realm_size >= 1 - highest_held_title_tier < tier_empire - } - add = { - value = realm_size - multiply = 6 - desc = coronation_realm_size_desc - } - } - - #AI discounts - if = { - limit = { - is_ai = yes - has_game_rule = hard_difficulty - } - multiply = 0.5 - } - else_if = { - limit = { - is_ai = yes - has_game_rule = very_hard_difficulty - } - multiply = 0.25 - } - else_if = { - limit = { - is_ai = yes - } - multiply = 0.75 - } - if = { - limit = { - exists = primary_title - primary_title.title_held_years >= 5 - is_ai = yes - } - multiply = 0.5 - } - if = { - limit = { - is_ai = yes - exists = primary_title - OR = { - has_trait = conqueror - has_trait = greatest_of_khans - primary_title.title_held_years >= 10 + add = { + if = { + limit = { + government_has_flag = government_is_nomadic } + value = coronation_cost_herd } - multiply = 0 } } } @@ -598,6 +289,15 @@ text = coronation_cancelled_wrong_primary_title_desc } } + + # In realms with Ceremonial Lieges, only independent Ceremonial Lieges may hold a Coronation + trigger_if = { + limit = { tgp_realm_has_ceremonial_liege_trigger = yes } + custom_tooltip = { + text = tgp_ceremonial_liege_coronation_trigger + tgp_has_ceremonial_liege_title_trigger = yes + } + } } } @@ -624,11 +324,26 @@ trigger_event = activity_system.0330 } every_attending_character = { - limit = { NOT = { this = scope:host } } + limit = { this != scope:host } trigger_event = activity_system.0331 } } + #Host has different primary title + if = { + limit = { + scope:host = { + has_variable = coronation_primary_title + NOT = { + var:coronation_primary_title = primary_title + } + } + } + every_attending_character = { + limit = { this != scope:host } + trigger_event = coronation_events.0401 + } + } # Host becomes unlanded if = { @@ -655,7 +370,7 @@ } every_attending_character = { limit = { - NOT = { this = scope:host } + this != scope:host } trigger_event = ach_maintenance_events.0100 } @@ -672,7 +387,7 @@ } every_attending_character = { limit = { - NOT = { this = scope:host } + this != scope:host } trigger_event = ach_maintenance_events.0101 } @@ -742,12 +457,10 @@ } scope:host = { remove_character_flag = no_coronation_events + remove_variable = coronation_primary_title + remove_variable = hide_make_primary_title } } - scope:host = { - remove_variable = coronation_primary_title - remove_variable = hide_make_primary_title - } var:officiator ?= { remove_character_flag = coronation_officiator } @@ -760,340 +473,32 @@ ui_predicted_cost = { gold = { add = { - add = { - value = base_coronation_cost - desc = CORONATION_BASE_COST - } if = { limit = { - highest_held_title_tier >= tier_empire - } - add = { - value = 30 - add = { - value = 30 - multiply = activity_cost_scale_by_era - subtract = 30 - } - desc = coronation_empire_req - } - } - #The bigger your realm, the more it costs - if = { - limit = { - realm_size >= 1 - highest_held_title_tier > tier_empire - } - add = { - value = realm_size - add = { - value = realm_size - multiply = activity_cost_scale_by_era - subtract = realm_size - } - multiply = 0.125 - desc = coronation_realm_size_desc - } - } - else_if = { - limit = { - realm_size >= 1 - highest_held_title_tier > tier_kingdom - } - add = { - value = realm_size - add = { - value = realm_size - multiply = activity_cost_scale_by_era - subtract = realm_size - } - multiply = 0.25 - desc = coronation_realm_size_desc - } - } - else_if = { - limit = { - realm_size >= 1 - highest_held_title_tier = tier_kingdom - } - add = { - value = realm_size - add = { - value = realm_size - multiply = activity_cost_scale_by_era - subtract = realm_size - } - multiply = 0.5 - desc = coronation_realm_size_desc - } - } - #Government types - if = { - limit = { - government_has_flag = government_is_tribal - } - multiply = 0.66 - desc = coronation_tribal_req - } - if = { - limit = { - government_has_flag = government_is_nomadic - } - multiply = 0.1 - desc = coronation_nomadic_reg - } - - #Medium ceremony cost - add = { - value = coronation_medium_ceremony_value - add = { - value = coronation_medium_ceremony_value - multiply = activity_cost_scale_by_era - subtract = coronation_medium_ceremony_value - } - #The bigger your realm, the more it costs - if = { - limit = { - realm_size >= 1 - highest_held_title_tier > tier_empire - } - add = { - value = realm_size - add = { - value = realm_size - multiply = activity_cost_scale_by_era - subtract = realm_size - } - multiply = 0.05 - } - } - else_if = { - limit = { - realm_size >= 1 - highest_held_title_tier > tier_kingdom - } - add = { - value = realm_size - add = { - value = realm_size - multiply = activity_cost_scale_by_era - subtract = realm_size - } - multiply = 0.1 - } - } - else_if = { - limit = { - realm_size >= 1 - highest_held_title_tier = tier_kingdom - } - add = { - value = realm_size - add = { - value = realm_size - multiply = activity_cost_scale_by_era - subtract = realm_size - } - multiply = 0.15 - } - } - if = { - limit = { - has_variable = coronation_discount - } - multiply = 0.5 - } - if = { - limit = { - OR = { - government_has_flag = government_is_nomadic - government_has_flag = government_is_tribal - } - } - multiply = 0.66 - } - } - #Medium feast cost - add = { - value = coronation_medium_feast_value - add = { - value = coronation_medium_feast_value - multiply = activity_cost_scale_by_era - subtract = coronation_medium_feast_value - } - #The bigger your realm, the more it costs - if = { - limit = { - realm_size >= 1 - highest_held_title_tier > tier_empire - } - add = { - value = realm_size - add = { - value = realm_size - multiply = activity_cost_scale_by_era - subtract = realm_size - } - multiply = 0.1 - } - } - else_if = { - limit = { - realm_size >= 1 - highest_held_title_tier > tier_kingdom - } - add = { - value = realm_size - add = { - value = realm_size - multiply = activity_cost_scale_by_era - subtract = realm_size - } - multiply = 0.15 - } - } - else_if = { - limit = { - realm_size >= 1 - highest_held_title_tier = tier_kingdom - } - add = { - value = realm_size - add = { - value = realm_size - multiply = activity_cost_scale_by_era - subtract = realm_size - } - multiply = 0.2 - } - } - if = { - limit = { - has_variable = coronation_discount - } - multiply = 0.5 - } - if = { - limit = { - OR = { - government_has_flag = government_is_nomadic - government_has_flag = government_is_tribal - } - } - multiply = 0.66 + has_treasury = no } + add = coronation_cost } } - if = { - limit = { - confederation ?= { has_cohesion_level_parameter = any_member_activity_cost_reduced } - } - multiply = { - value = 0.9 - desc = CB_COHESION_PARAMETER_DISCOUNT + } + treasury = { + add = { + if = { + limit = { + has_treasury = yes + } + add = coronation_cost } } } herd = { - if = { - limit = { - government_has_flag = government_is_nomadic - } - add = { - value = domicile.medium_herd_value - min = 200 - desc = CORONATION_BASE_COST - } - } - if = { - limit = { - highest_held_title_tier >= tier_empire - government_has_flag = government_is_nomadic - } - add = { - value = domicile.minor_herd_value - min = 200 - desc = coronation_empire_req - } - } - #The bigger your realm, the more it costs - if = { - limit = { - government_has_flag = government_is_nomadic - realm_size >= 1 - highest_held_title_tier > tier_empire - } - add = { - value = realm_size - multiply = 2 - desc = coronation_realm_size_desc - } - } - else_if = { - limit = { - government_has_flag = government_is_nomadic - realm_size >= 1 - highest_held_title_tier = tier_empire - } - add = { - value = realm_size - multiply = 4 - desc = coronation_realm_size_desc - } - } - else_if = { - limit = { - government_has_flag = government_is_nomadic - realm_size >= 1 - highest_held_title_tier < tier_empire - } - add = { - value = realm_size - multiply = 6 - desc = coronation_realm_size_desc - } - } - - #AI discounts - if = { - limit = { - is_ai = yes - has_game_rule = hard_difficulty - } - multiply = 0.5 - } - else_if = { - limit = { - is_ai = yes - has_game_rule = very_hard_difficulty - } - multiply = 0.25 - } - else_if = { - limit = { - is_ai = yes - } - multiply = 0.75 - } - if = { - limit = { - exists = primary_title - primary_title.title_held_years >= 5 - is_ai = yes - } - multiply = 0.5 - } - if = { - limit = { - is_ai = yes - exists = primary_title - OR = { - has_trait = conqueror - has_trait = greatest_of_khans - primary_title.title_held_years >= 10 + add = { + if = { + limit = { + government_has_flag = government_is_nomadic } + value = coronation_cost_herd } - multiply = 0 } } } @@ -1164,19 +569,8 @@ name = supported_anointments target = root } - is_alive = yes - is_imprisoned = no + is_available_allow_travelling = yes is_ai = yes - has_contagious_deadly_disease_trigger = no - custom_description = { - text = ALREADY_IN_ACTIVITY - NOR = { - exists = involved_activity - has_variable = homage_liege_scope - has_character_flag = meditation_character_flag - has_character_flag = petition_liege_character_flag - } - } NOT = { has_any_bad_relationship_with_character_trigger = { CHARACTER = root } } @@ -1225,24 +619,11 @@ exists = scope:hof_temp } scope:hof_temp = { - is_alive = yes - is_imprisoned = no + is_available_allow_travelling = yes custom_description = { text = HOF_is_ai_tt is_ai = yes } - has_contagious_deadly_disease_trigger = no - custom_description = { - text = ALREADY_IN_ACTIVITY - NOR = { - is_travelling = yes - exists = involved_activity - has_variable = homage_liege_scope - has_character_flag = meditation_character_flag - has_character_flag = local_shrine_rite - has_character_flag = petition_liege_character_flag - } - } } } trigger_else = { @@ -1334,68 +715,39 @@ } cost = { gold = { - value = { + add = { if = { limit = { has_treasury = no } - value = coronation_medium_ceremony_value add = { value = coronation_medium_ceremony_value - multiply = activity_cost_scale_by_era - subtract = coronation_medium_ceremony_value + desc = coronation_medium_ceremony } #The bigger your realm, the more it costs - if = { - limit = { - realm_size >= 1 - highest_held_title_tier > tier_empire - } - add = { - value = realm_size - add = { - value = realm_size - multiply = activity_cost_scale_by_era - subtract = realm_size - } - multiply = 0.05 - } - } - else_if = { - limit = { - realm_size >= 1 - highest_held_title_tier > tier_kingdom - } - add = { - value = realm_size - add = { - value = realm_size - multiply = activity_cost_scale_by_era - subtract = realm_size - } - multiply = 0.1 - } - } - else_if = { - limit = { - realm_size >= 1 - highest_held_title_tier = tier_kingdom - } - add = { - value = realm_size - add = { - value = realm_size - multiply = activity_cost_scale_by_era - subtract = realm_size - } - multiply = 0.15 + add = coronation_medium_ceremony_realm_size_cost + + add = { + value = coronation_medium_ceremony_value + add = coronation_medium_ceremony_realm_size_cost + multiply = { + value = activity_cost_scale_by_era + subtract = 1 } + desc = activity_cost_scale_by_era_desc } + if = { limit = { has_variable = coronation_discount } - multiply = 0.5 + add = { + value = coronation_medium_ceremony_value + add = coronation_medium_ceremony_realm_size_cost + multiply = activity_cost_scale_by_era + multiply = 0.5 + desc = coronation_discount_reg + } } if = { limit = { @@ -1404,47 +756,27 @@ government_has_flag = government_is_tribal } } - multiply = 0.66 - } - if = { - limit = { - is_ai = yes - #Go for the cheap option if you poor - monthly_character_income > 0 - } - multiply = coronation_amenity_ai_discount_value - } - if = { - limit = { - OR = { - has_trait = conqueror - has_trait = greatest_of_khans + add = { + value = coronation_medium_ceremony_value + add = coronation_medium_ceremony_realm_size_cost + multiply = activity_cost_scale_by_era + if = { + limit = { + has_variable = coronation_discount + } + multiply = 0.5 } + multiply = -0.34 + desc = coronation_tribal_nomadic_reg + } + } + if = { + limit = { is_ai = yes } - multiply = 0.1 + multiply = coronation_option_cost_ai_factor } desc = coronation_medium_ceremony - if = { - limit = { - exists = primary_title - primary_title.title_held_years >= 5 - is_ai = yes - } - multiply = 0.5 - } - if = { - limit = { - is_ai = yes - exists = primary_title - OR = { - has_trait = conqueror - has_trait = greatest_of_khans - primary_title.title_held_years >= 10 - } - } - multiply = 0.1 - } } else = { value = 0 @@ -1452,68 +784,39 @@ } } treasury = { #Make sure this matches the gold cost above - value = { + add = { if = { limit = { has_treasury = yes } - value = coronation_medium_ceremony_treasury_value add = { value = coronation_medium_ceremony_treasury_value - multiply = activity_cost_scale_by_era - subtract = coronation_medium_ceremony_treasury_value + desc = coronation_medium_ceremony } #The bigger your realm, the more it costs - if = { - limit = { - realm_size >= 1 - highest_held_title_tier > tier_empire - } - add = { - value = realm_size - add = { - value = realm_size - multiply = activity_cost_scale_by_era - subtract = realm_size - } - multiply = 0.05 - } - } - else_if = { - limit = { - realm_size >= 1 - highest_held_title_tier > tier_kingdom - } - add = { - value = realm_size - add = { - value = realm_size - multiply = activity_cost_scale_by_era - subtract = realm_size - } - multiply = 0.1 - } - } - else_if = { - limit = { - realm_size >= 1 - highest_held_title_tier = tier_kingdom - } - add = { - value = realm_size - add = { - value = realm_size - multiply = activity_cost_scale_by_era - subtract = realm_size - } - multiply = 0.15 + add = coronation_medium_ceremony_realm_size_cost + + add = { + value = coronation_medium_ceremony_treasury_value + add = coronation_medium_ceremony_realm_size_cost + multiply = { + value = activity_cost_scale_by_era + subtract = 1 } + desc = activity_cost_scale_by_era_desc } + if = { limit = { has_variable = coronation_discount } - multiply = 0.5 + add = { + value = coronation_medium_ceremony_treasury_value + add = coronation_medium_ceremony_realm_size_cost + multiply = activity_cost_scale_by_era + multiply = 0.5 + desc = coronation_discount_reg + } } if = { limit = { @@ -1522,47 +825,27 @@ government_has_flag = government_is_tribal } } - multiply = 0.66 - } - if = { - limit = { - is_ai = yes - #Go for the cheap option if you poor - monthly_character_income > 0 - } - multiply = coronation_amenity_ai_discount_value - } - if = { - limit = { - OR = { - has_trait = conqueror - has_trait = greatest_of_khans + add = { + value = coronation_medium_ceremony_treasury_value + add = coronation_medium_ceremony_realm_size_cost + multiply = activity_cost_scale_by_era + if = { + limit = { + has_variable = coronation_discount + } + multiply = 0.5 } + multiply = -0.34 + desc = coronation_tribal_nomadic_reg + } + } + if = { + limit = { is_ai = yes } - multiply = 0.1 + multiply = coronation_option_cost_ai_factor } desc = coronation_medium_ceremony - if = { - limit = { - exists = primary_title - primary_title.title_held_years >= 5 - is_ai = yes - } - multiply = 0.5 - } - if = { - limit = { - is_ai = yes - exists = primary_title - OR = { - has_trait = conqueror - has_trait = greatest_of_khans - primary_title.title_held_years >= 10 - } - } - multiply = 0.1 - } } else = { value = 0 @@ -1631,68 +914,39 @@ coronation_large_ceremony = { cost = { gold = { - value = { + add = { if = { limit = { has_treasury = no } - value = coronation_large_ceremony_value add = { value = coronation_large_ceremony_value - multiply = activity_cost_scale_by_era - subtract = coronation_large_ceremony_value + desc = coronation_large_ceremony } #The bigger your realm, the more it costs - if = { - limit = { - realm_size >= 1 - highest_held_title_tier > tier_empire - } - add = { - value = realm_size - add = { - value = realm_size - multiply = activity_cost_scale_by_era - subtract = realm_size - } - multiply = 0.15 - } - } - else_if = { - limit = { - realm_size >= 1 - highest_held_title_tier > tier_kingdom - } - add = { - value = realm_size - add = { - value = realm_size - multiply = activity_cost_scale_by_era - subtract = realm_size - } - multiply = 0.2 - } - } - else_if = { - limit = { - realm_size >= 1 - highest_held_title_tier = tier_kingdom - } - add = { - value = realm_size - add = { - value = realm_size - multiply = activity_cost_scale_by_era - subtract = realm_size - } - multiply = 0.3 + add = coronation_large_ceremony_realm_size_cost + + add = { + value = coronation_large_ceremony_value + add = coronation_large_ceremony_realm_size_cost + multiply = { + value = activity_cost_scale_by_era + subtract = 1 } + desc = activity_cost_scale_by_era_desc } + if = { limit = { has_variable = coronation_discount } - multiply = 0.5 + add = { + value = coronation_large_ceremony_value + add = coronation_large_ceremony_realm_size_cost + multiply = activity_cost_scale_by_era + multiply = 0.5 + desc = coronation_discount_reg + } } if = { limit = { @@ -1701,97 +955,67 @@ government_has_flag = government_is_tribal } } - multiply = 0.66 - } - if = { - limit = { - is_ai = yes - #Go for the cheap option if you poor - monthly_character_income > 0 - } - multiply = coronation_amenity_ai_discount_value - } - if = { - limit = { - OR = { - has_trait = conqueror - has_trait = greatest_of_khans + add = { + value = coronation_large_ceremony_value + add = coronation_large_ceremony_realm_size_cost + multiply = activity_cost_scale_by_era + if = { + limit = { + has_variable = coronation_discount + } + multiply = 0.5 } + multiply = -0.34 + desc = coronation_tribal_nomadic_reg + } + } + if = { + limit = { is_ai = yes } - multiply = 0.25 + multiply = coronation_option_cost_ai_factor } - desc = coronation_medium_ceremony + desc = coronation_large_ceremony } else = { value = 0 } } - } - treasury = { - value = { + treasury = { #Make sure this matches the gold cost above + add = { if = { limit = { has_treasury = yes } - value = coronation_large_ceremony_treasury_value add = { value = coronation_large_ceremony_treasury_value - multiply = activity_cost_scale_by_era - subtract = coronation_large_ceremony_treasury_value + desc = coronation_large_ceremony } #The bigger your realm, the more it costs - if = { - limit = { - realm_size >= 1 - highest_held_title_tier > tier_empire - } - add = { - value = realm_size - add = { - value = realm_size - multiply = activity_cost_scale_by_era - subtract = realm_size - } - multiply = 0.15 - } - } - else_if = { - limit = { - realm_size >= 1 - highest_held_title_tier > tier_kingdom - } - add = { - value = realm_size - add = { - value = realm_size - multiply = activity_cost_scale_by_era - subtract = realm_size - } - multiply = 0.2 - } - } - else_if = { - limit = { - realm_size >= 1 - highest_held_title_tier = tier_kingdom - } - add = { - value = realm_size - add = { - value = realm_size - multiply = activity_cost_scale_by_era - subtract = realm_size - } - multiply = 0.3 + add = coronation_large_ceremony_realm_size_cost + + add = { + value = coronation_large_ceremony_treasury_value + add = coronation_large_ceremony_realm_size_cost + multiply = { + value = activity_cost_scale_by_era + subtract = 1 } + desc = activity_cost_scale_by_era_desc } + if = { limit = { has_variable = coronation_discount } - multiply = 0.5 + add = { + value = coronation_large_ceremony_treasury_value + add = coronation_large_ceremony_realm_size_cost + multiply = activity_cost_scale_by_era + multiply = 0.5 + desc = coronation_discount_reg + } } if = { limit = { @@ -1800,27 +1024,27 @@ government_has_flag = government_is_tribal } } - multiply = 0.66 - } - if = { - limit = { - is_ai = yes - #Go for the cheap option if you poor - monthly_character_income > 0 - } - multiply = coronation_amenity_ai_discount_value - } - if = { - limit = { - OR = { - has_trait = conqueror - has_trait = greatest_of_khans + add = { + value = coronation_large_ceremony_treasury_value + add = coronation_large_ceremony_realm_size_cost + multiply = activity_cost_scale_by_era + if = { + limit = { + has_variable = coronation_discount + } + multiply = 0.5 } + multiply = -0.34 + desc = coronation_tribal_nomadic_reg + } + } + if = { + limit = { is_ai = yes } - multiply = 0.25 + multiply = coronation_option_cost_ai_factor } - desc = coronation_medium_ceremony + desc = coronation_large_ceremony } else = { value = 0 @@ -1943,61 +1167,38 @@ } cost = { gold = { - value = { + add = { if = { limit = { has_treasury = no } - value = coronation_medium_feast_value add = { value = coronation_medium_feast_value - multiply = activity_cost_scale_by_era - subtract = coronation_medium_feast_value + desc = ceremony_feast_type_regular } #The bigger your realm, the more it costs + add = coronation_medium_feast_realm_size_cost + + add = { + value = coronation_medium_feast_value + add = coronation_medium_feast_realm_size_cost + multiply = { + value = activity_cost_scale_by_era + subtract = 1 + } + desc = activity_cost_scale_by_era_desc + } + if = { limit = { - realm_size >= 1 - highest_held_title_tier > tier_empire + has_variable = coronation_discount } add = { - value = realm_size - add = { - value = realm_size - multiply = activity_cost_scale_by_era - subtract = realm_size - } - multiply = 0.1 - } - } - else_if = { - limit = { - realm_size >= 1 - highest_held_title_tier > tier_kingdom - } - add = { - value = realm_size - add = { - value = realm_size - multiply = activity_cost_scale_by_era - subtract = realm_size - } - multiply = 0.15 - } - } - else_if = { - limit = { - realm_size >= 1 - highest_held_title_tier = tier_kingdom - } - add = { - value = realm_size - add = { - value = realm_size - multiply = activity_cost_scale_by_era - subtract = realm_size - } - multiply = 0.2 + value = coronation_medium_feast_value + add = coronation_medium_feast_realm_size_cost + multiply = activity_cost_scale_by_era + multiply = 0.5 + desc = coronation_discount_reg } } if = { @@ -2007,115 +1208,66 @@ government_has_flag = government_is_tribal } } - multiply = 0.66 - } - if = { - limit = { - has_variable = coronation_discount - } - multiply = 0.5 - } - if = { - limit = { - is_ai = yes - #Go for the cheap option if you poor - monthly_character_income > 0 - } - multiply = coronation_amenity_ai_discount_value - } - if = { - limit = { - OR = { - has_trait = conqueror - has_trait = greatest_of_khans + add = { + value = coronation_medium_feast_value + add = coronation_medium_feast_realm_size_cost + multiply = activity_cost_scale_by_era + if = { + limit = { + has_variable = coronation_discount + } + multiply = 0.5 } + multiply = -0.34 + desc = coronation_tribal_nomadic_reg + } + } + if = { + limit = { is_ai = yes } - multiply = 0.1 + multiply = coronation_option_cost_ai_factor } desc = ceremony_feast_type_regular - if = { - limit = { - exists = primary_title - primary_title.title_held_years >= 5 - is_ai = yes - } - multiply = 0.5 - } - if = { - limit = { - is_ai = yes - exists = primary_title - OR = { - has_trait = conqueror - has_trait = greatest_of_khans - primary_title.title_held_years >= 10 - } - } - multiply = 0.1 - } } else = { value = 0 } } } - treasury = { - value = { + treasury = { #Make sure this matches the gold cost above + add = { if = { limit = { has_treasury = yes } - value = coronation_medium_feast_treasury_value add = { value = coronation_medium_feast_treasury_value - multiply = activity_cost_scale_by_era - subtract = coronation_medium_feast_treasury_value + desc = ceremony_feast_type_regular } #The bigger your realm, the more it costs + add = coronation_medium_feast_realm_size_cost + + add = { + value = coronation_medium_feast_treasury_value + add = coronation_medium_feast_realm_size_cost + multiply = { + value = activity_cost_scale_by_era + subtract = 1 + } + desc = activity_cost_scale_by_era_desc + } + if = { limit = { - realm_size >= 1 - highest_held_title_tier > tier_empire + has_variable = coronation_discount } add = { - value = realm_size - add = { - value = realm_size - multiply = activity_cost_scale_by_era - subtract = realm_size - } - multiply = 0.1 - } - } - else_if = { - limit = { - realm_size >= 1 - highest_held_title_tier > tier_kingdom - } - add = { - value = realm_size - add = { - value = realm_size - multiply = activity_cost_scale_by_era - subtract = realm_size - } - multiply = 0.15 - } - } - else_if = { - limit = { - realm_size >= 1 - highest_held_title_tier = tier_kingdom - } - add = { - value = realm_size - add = { - value = realm_size - multiply = activity_cost_scale_by_era - subtract = realm_size - } - multiply = 0.2 + value = coronation_medium_feast_treasury_value + add = coronation_medium_feast_realm_size_cost + multiply = activity_cost_scale_by_era + multiply = 0.5 + desc = coronation_discount_reg } } if = { @@ -2125,53 +1277,27 @@ government_has_flag = government_is_tribal } } - multiply = 0.66 - } - if = { - limit = { - has_variable = coronation_discount - } - multiply = 0.5 - } - if = { - limit = { - is_ai = yes - #Go for the cheap option if you poor - monthly_character_income > 0 - } - multiply = coronation_amenity_ai_discount_value - } - if = { - limit = { - OR = { - has_trait = conqueror - has_trait = greatest_of_khans + add = { + value = coronation_medium_feast_treasury_value + add = coronation_medium_feast_realm_size_cost + multiply = activity_cost_scale_by_era + if = { + limit = { + has_variable = coronation_discount + } + multiply = 0.5 } + multiply = -0.34 + desc = coronation_tribal_nomadic_reg + } + } + if = { + limit = { is_ai = yes } - multiply = 0.1 + multiply = coronation_option_cost_ai_factor } desc = ceremony_feast_type_regular - if = { - limit = { - exists = primary_title - primary_title.title_held_years >= 5 - is_ai = yes - } - multiply = 0.5 - } - if = { - limit = { - is_ai = yes - exists = primary_title - OR = { - has_trait = conqueror - has_trait = greatest_of_khans - primary_title.title_held_years >= 10 - } - } - multiply = 0.1 - } } else = { value = 0 @@ -2247,68 +1373,39 @@ ceremony_feast_type_lavish = { cost = { gold = { - value = { + add = { if = { limit = { has_treasury = no } - value = coronation_large_feast_value add = { value = coronation_large_feast_value - multiply = activity_cost_scale_by_era - subtract = coronation_large_feast_value + desc = ceremony_feast_type_lavish } #The bigger your realm, the more it costs - if = { - limit = { - realm_size >= 1 - highest_held_title_tier > tier_empire - } - add = { - value = realm_size - add = { - value = realm_size - multiply = activity_cost_scale_by_era - subtract = realm_size - } - multiply = 0.3 - } - } - else_if = { - limit = { - realm_size >= 1 - highest_held_title_tier > tier_kingdom - } - add = { - value = realm_size - add = { - value = realm_size - multiply = activity_cost_scale_by_era - subtract = realm_size - } - multiply = 0.45 - } - } - else_if = { - limit = { - realm_size >= 1 - highest_held_title_tier = tier_kingdom - } - add = { - value = realm_size - add = { - value = realm_size - multiply = activity_cost_scale_by_era - subtract = realm_size - } - multiply = 0.6 + add = coronation_large_feast_realm_size_cost + + add = { + value = coronation_large_feast_value + add = coronation_large_feast_realm_size_cost + multiply = { + value = activity_cost_scale_by_era + subtract = 1 } + desc = activity_cost_scale_by_era_desc } + if = { limit = { has_variable = coronation_discount } - multiply = 0.5 + add = { + value = coronation_large_feast_value + add = coronation_large_feast_realm_size_cost + multiply = activity_cost_scale_by_era + multiply = 0.5 + desc = coronation_discount_reg + } } if = { limit = { @@ -2317,25 +1414,25 @@ government_has_flag = government_is_tribal } } - multiply = 0.66 - } - if = { - limit = { - is_ai = yes - #Go for the cheap option if you poor - monthly_character_income > 0 - } - multiply = coronation_amenity_ai_discount_value - } - if = { - limit = { - OR = { - has_trait = conqueror - has_trait = greatest_of_khans + add = { + value = coronation_large_feast_value + add = coronation_large_feast_realm_size_cost + multiply = activity_cost_scale_by_era + if = { + limit = { + has_variable = coronation_discount + } + multiply = 0.5 } + multiply = -0.34 + desc = coronation_tribal_nomadic_reg + } + } + if = { + limit = { is_ai = yes } - multiply = 0.25 + multiply = coronation_option_cost_ai_factor } desc = ceremony_feast_type_lavish } @@ -2344,69 +1441,40 @@ } } } - treasury = { - value = { + treasury = { #Make sure this matches the gold cost above + add = { if = { limit = { has_treasury = yes } - value = coronation_large_feast_treasury_value add = { value = coronation_large_feast_treasury_value - multiply = activity_cost_scale_by_era - subtract = coronation_large_feast_treasury_value + desc = ceremony_feast_type_lavish } #The bigger your realm, the more it costs - if = { - limit = { - realm_size >= 1 - highest_held_title_tier > tier_empire - } - add = { - value = realm_size - add = { - value = realm_size - multiply = activity_cost_scale_by_era - subtract = realm_size - } - multiply = 0.3 - } - } - else_if = { - limit = { - realm_size >= 1 - highest_held_title_tier > tier_kingdom - } - add = { - value = realm_size - add = { - value = realm_size - multiply = activity_cost_scale_by_era - subtract = realm_size - } - multiply = 0.45 - } - } - else_if = { - limit = { - realm_size >= 1 - highest_held_title_tier = tier_kingdom - } - add = { - value = realm_size - add = { - value = realm_size - multiply = activity_cost_scale_by_era - subtract = realm_size - } - multiply = 0.6 + add = coronation_large_feast_realm_size_cost + + add = { + value = coronation_large_feast_treasury_value + add = coronation_large_feast_realm_size_cost + multiply = { + value = activity_cost_scale_by_era + subtract = 1 } + desc = activity_cost_scale_by_era_desc } + if = { limit = { has_variable = coronation_discount } - multiply = 0.5 + add = { + value = coronation_large_feast_treasury_value + add = coronation_large_feast_realm_size_cost + multiply = activity_cost_scale_by_era + multiply = 0.5 + desc = coronation_discount_reg + } } if = { limit = { @@ -2415,25 +1483,25 @@ government_has_flag = government_is_tribal } } - multiply = 0.66 - } - if = { - limit = { - is_ai = yes - #Go for the cheap option if you poor - monthly_character_income > 0 - } - multiply = coronation_amenity_ai_discount_value - } - if = { - limit = { - OR = { - has_trait = conqueror - has_trait = greatest_of_khans + add = { + value = coronation_large_feast_treasury_value + add = coronation_large_feast_realm_size_cost + multiply = activity_cost_scale_by_era + if = { + limit = { + has_variable = coronation_discount + } + multiply = 0.5 } + multiply = -0.34 + desc = coronation_tribal_nomadic_reg + } + } + if = { + limit = { is_ai = yes } - multiply = 0.25 + multiply = coronation_option_cost_ai_factor } desc = ceremony_feast_type_lavish } @@ -2554,7 +1622,7 @@ province_filter = holy_sites_realm ai_province_filter = holy_sites_realm - max_guest_arrival_delay_time = { months = 8 } + max_guest_arrival_delay_time = { months = 5 } ai_check_interval = 6 @@ -2812,7 +1880,7 @@ } } - NOT = { this = scope:host } + this != scope:host scope:activity = { trigger_if = { limit = { @@ -3032,7 +2100,7 @@ } else_if = { #major supporter/detractor guest and players limit = { - NOT = { this = scope:host } + this != scope:host } trigger_event = { on_action = coronation_first_phase_guest_events } } @@ -3083,10 +2151,10 @@ trigger_event = coronation_events.0210 if = { limit = { this = scope:host } - scope:activity = { progress_activity_phase_after = { weeks = 6 } } + scope:activity = { progress_activity_phase_after = { weeks = 3 } } trigger_event = { #Coronation ending events id = coronation_events.0310 - days = 41 + days = 20 } } } @@ -3098,10 +2166,7 @@ } trigger_event = { on_action = coronation_third_phase_host_events } } - else_if = { - limit = { - NOT = { this = scope:host } - } + else = { trigger_event = { on_action = coronation_third_phase_guest_events } } } @@ -3230,6 +2295,11 @@ add = -1000 desc = coronation_pope_not_anointment } + modifier = { + is_acclaimed = yes + add = 20 + desc = ACTIVITY_GUEST_ACCLAIMED_KNIGHT_REASON + } #Lieges, suzerains and tributaries are a bit more likely to attend modifier = { any_vassal = { @@ -3871,12 +2941,104 @@ } remove_variable = coronation_primary_title remove_variable = hide_make_primary_title + random_knight = { + limit = { + can_unlock_accolade_attribute_trigger = { + ATTRIBUTE = politicker + } + } + weight = { + base = -10 + modifier = { + add = diplomacy + factor = 1.5 + } + modifier = { + add = 10 + is_acclaimed = yes + } + modifier = { + add = 10 + involved_activity ?= scope:activity + } + } + save_scope_as = accolade_knight + liege = { + save_scope_as = accolade_liege + set_variable = { + name = accolade_progress + value = 0 + } + send_interface_message = { + type = msg_accolade_eligibility + title = accolade_politicker_unlock.t_coronation + left_icon = scope:accolade_knight + right_icon = scope:accolade_liege + custom_tooltip = accolade_politicker_unlock.tt + scope:accolade_knight = { + set_variable = { + name = politicker_attribute_unlock + value = yes + } + } + } + } + } + hidden_effect = { + accolades_activity_complete_coronation_glory_effect = yes + } + scope:activity.activity_location = { + if = { + limit = { + exists = scope:activity.var:activity_special_type_progression + scope:activity.var:activity_special_type_progression >= 50 + } + if = { + limit = { + has_variable = coronation_tradition_location + } + change_variable = { + name = coronation_tradition_location + add = 1 + } + if = { + limit = { + var:coronation_tradition_location >= 15 + NOT = { has_province_modifier = coronation_ancient_tradition_modifier } + } + add_province_modifier = coronation_ancient_tradition_modifier + remove_province_modifier = coronation_long_tradition_modifier + } + else_if = { + limit = { + var:coronation_tradition_location >= 10 + var:coronation_tradition_location < 15 + NOT = { has_province_modifier = coronation_long_tradition_modifier } + } + add_province_modifier = coronation_long_tradition_modifier + remove_province_modifier = coronation_tradition_modifier + } + else_if = { + limit = { + var:coronation_tradition_location >= 5 + var:coronation_tradition_location < 10 + NOT = { has_province_modifier = coronation_tradition_modifier } + } + add_province_modifier = coronation_tradition_modifier + } + } + else = { + set_variable = { + name = coronation_tradition_location + value = 1 + } + } + } + } } if = { limit = { - NOT = { - this = scope:host - } + this != scope:host } create_character_memory = { type = witnessed_a_coronation_memory @@ -3885,58 +3047,61 @@ } } } - scope:activity.activity_location = { - if = { - limit = { - exists = scope:activity.var:activity_special_type_progression - scope:activity.var:activity_special_type_progression >= 50 - } - if = { - limit = { - has_variable = coronation_tradition_location - } - change_variable = { - name = coronation_tradition_location - add = 1 - } - if = { - limit = { - var:coronation_tradition_location >= 15 - NOT = { has_province_modifier = coronation_ancient_tradition_modifier } - } - add_province_modifier = coronation_ancient_tradition_modifier - remove_province_modifier = coronation_long_tradition_modifier - } - else_if = { - limit = { - var:coronation_tradition_location >= 10 - var:coronation_tradition_location < 15 - NOT = { has_province_modifier = coronation_long_tradition_modifier } - } - add_province_modifier = coronation_long_tradition_modifier - remove_province_modifier = coronation_tradition_modifier - } - else_if = { - limit = { - var:coronation_tradition_location >= 5 - var:coronation_tradition_location < 10 - NOT = { has_province_modifier = coronation_tradition_modifier } - } - add_province_modifier = coronation_tradition_modifier - } - } - else = { - set_variable = { - name = coronation_tradition_location - value = 1 - } - } - } - } # Struggle Catalysts fp3_struggle_catalysts_for_activities_effect = yes } + conclusion_description = { + first_valid = { + triggered_desc = { + trigger = { + coronation_proper_artifact_crown_trigger = yes + } + desc = coronation_conclusion_summary_desc_crown + } + desc = coronation_conclusion_summary_desc + } + + + #Number of supporters who gave their all to the oath + triggered_desc = { + trigger = { + scope:activity = { + has_variable = supporters_pledge_var + var:supporters_pledge_var > 1 + } + } + desc = coronation_supporters_pledge_total + } + triggered_desc = { + trigger = { + scope:activity = { + has_variable = supporters_pledge_var + var:supporters_pledge_var = 1 + } + } + desc = coronation_supporters_pledge_total_1 + } + #Number of detractors who scorned the oath of loyalty + triggered_desc = { + trigger = { + scope:activity = { + has_variable = detractors_scorned_pledge_var + var:detractors_scorned_pledge_var > 1 + } + } + desc = coronation_detractors_scorned_pledge_total + } + triggered_desc = { + trigger = { + scope:activity = { + has_variable = detractors_scorned_pledge_var + var:detractors_scorned_pledge_var = 1 + } + } + desc = coronation_detractors_scorned_pledge_total_1 + } + } ### Plugin widgets activity_window_widgets = { @@ -3972,9 +3137,7 @@ } limit = { location = scope:activity.activity_location - NOT = { - this = scope:host - } + this != scope:host } add_to_list = characters } @@ -4006,9 +3169,7 @@ any_attending_character = { count >= 4 location = scope:activity.activity_location - NOT = { - this = scope:host - } + this != scope:host } } ordered_attending_character = { @@ -4028,9 +3189,7 @@ position = 3 limit = { location = scope:activity.activity_location - NOT = { - this = scope:host - } + this != scope:host } add_to_list = characters } @@ -4156,9 +3315,7 @@ any_attending_character = { count >= 3 location = scope:activity.activity_location - NOT = { - this = scope:host - } + this != scope:host } } ordered_attending_character = { @@ -4178,9 +3335,7 @@ position = 2 limit = { location = scope:activity.activity_location - NOT = { - this = scope:host - } + this != scope:host } add_to_list = characters } @@ -4271,6 +3426,7 @@ has_building_gfx = western_building_gfx has_building_gfx = mediterranean_building_gfx has_building_gfx = byzantine_building_gfx + has_building_gfx = caucasian_building_gfx has_building_gfx = norse_building_gfx has_building_gfx = iberian_building_gfx } @@ -4934,7 +4090,12 @@ trigger = { scope:activity ?= { has_current_phase = coronation_phase_feast - activity_location.culture = { has_building_gfx = byzantine_building_gfx } + activity_location.culture = { + OR = { + has_building_gfx = byzantine_building_gfx + has_building_gfx = caucasian_building_gfx + } + } } } texture = "gfx/interface/illustrations/event_scenes/ep3_feast_byzantine.dds" diff --git a/common/activities/activity_types/feast.txt b/common/activities/activity_types/feast.txt index e6a531af..48627fca 100644 --- a/common/activities/activity_types/feast.txt +++ b/common/activities/activity_types/feast.txt @@ -26,7 +26,7 @@ activity_feast = { has_character_flag = feasts_a_lot short_term_gold >= feast_activity_cost AND = { - house ?= { has_house_power_parameter = feasts_costs_treasury } + house ?= { has_house_aspiration_parameter = feasts_costs_treasury } short_term_treasury >= feast_activity_cost } } @@ -447,8 +447,8 @@ activity_feast = { } if = { limit = { - house ?= { has_house_power_parameter = feasts_costs_treasury } - short_term_treasury >= hunt_activity_base_cost + house ?= { has_house_aspiration_parameter = feasts_costs_treasury } + short_term_treasury >= feast_activity_cost short_term_treasury >= major_gold_value } add = { @@ -985,7 +985,7 @@ activity_feast = { } government_has_flag = government_is_mandala AND = { - house ?= { has_house_power_parameter = feasts_costs_treasury } + house ?= { has_house_aspiration_parameter = feasts_costs_treasury } has_treasury = yes } government_allows = barter @@ -1008,7 +1008,7 @@ activity_feast = { limit = { OR = { NAND = { - house ?= { has_house_power_parameter = feasts_costs_treasury } + house ?= { has_house_aspiration_parameter = feasts_costs_treasury } has_treasury = yes } AND = { @@ -1067,7 +1067,7 @@ activity_feast = { OR = { government_has_flag = government_is_mandala AND = { - house ?= { has_house_power_parameter = feasts_costs_treasury } + house ?= { has_house_aspiration_parameter = feasts_costs_treasury } has_treasury = yes } government_allows = barter @@ -1091,7 +1091,7 @@ activity_feast = { if = { limit = { NAND = { - house ?= { has_house_power_parameter = feasts_costs_treasury } + house ?= { has_house_aspiration_parameter = feasts_costs_treasury } has_treasury = yes } } @@ -3021,7 +3021,7 @@ activity_feast = { has_character_flag = feast_ai_override } AND = { - house ?= { has_house_power_parameter = feasts_costs_treasury } + house ?= { has_house_aspiration_parameter = feasts_costs_treasury } has_treasury = yes } } @@ -3044,7 +3044,7 @@ activity_feast = { limit = { OR = { NAND = { - house ?= { has_house_power_parameter = feasts_costs_treasury } + house ?= { has_house_aspiration_parameter = feasts_costs_treasury } has_treasury = yes } AND = { @@ -3311,7 +3311,7 @@ activity_feast = { } government_has_flag = government_is_mandala AND = { - house ?= { has_house_power_parameter = feasts_costs_treasury } + house ?= { has_house_aspiration_parameter = feasts_costs_treasury } has_treasury = yes } government_allows = barter @@ -3328,7 +3328,7 @@ activity_feast = { limit = { OR = { NAND = { - house ?= { has_house_power_parameter = feasts_costs_treasury } + house ?= { has_house_aspiration_parameter = feasts_costs_treasury } has_treasury = yes } AND = { @@ -3405,7 +3405,7 @@ activity_feast = { } government_has_flag = government_is_mandala AND = { - house ?= { has_house_power_parameter = feasts_costs_treasury } + house ?= { has_house_aspiration_parameter = feasts_costs_treasury } has_treasury = yes } government_allows = barter @@ -3422,7 +3422,7 @@ activity_feast = { limit = { OR = { NAND = { - house ?= { has_house_power_parameter = feasts_costs_treasury } + house ?= { has_house_aspiration_parameter = feasts_costs_treasury } has_treasury = yes } AND = { @@ -3510,7 +3510,7 @@ activity_feast = { } government_has_flag = government_is_mandala AND = { - house ?= { has_house_power_parameter = feasts_costs_treasury } + house ?= { has_house_aspiration_parameter = feasts_costs_treasury } has_treasury = yes } government_allows = barter @@ -3527,7 +3527,7 @@ activity_feast = { limit = { OR = { NAND = { - house ?= { has_house_power_parameter = feasts_costs_treasury } + house ?= { has_house_aspiration_parameter = feasts_costs_treasury } has_treasury = yes } AND = { @@ -3622,7 +3622,7 @@ activity_feast = { } government_has_flag = government_is_mandala AND = { - house ?= { has_house_power_parameter = feasts_costs_treasury } + house ?= { has_house_aspiration_parameter = feasts_costs_treasury } has_treasury = yes } government_allows = barter @@ -3639,7 +3639,7 @@ activity_feast = { limit = { OR = { NAND = { - house ?= { has_house_power_parameter = feasts_costs_treasury } + house ?= { has_house_aspiration_parameter = feasts_costs_treasury } has_treasury = yes } AND = { @@ -3741,7 +3741,7 @@ activity_feast = { gold = { if = { limit = { - house ?= { has_house_power_parameter = feasts_costs_treasury } + house ?= { has_house_aspiration_parameter = feasts_costs_treasury } has_treasury = yes } value = 0 @@ -3801,7 +3801,7 @@ activity_feast = { treasury = { # Make sure this matches the gold cost above if = { limit = { - house ?= { has_house_power_parameter = feasts_costs_treasury } + house ?= { has_house_aspiration_parameter = feasts_costs_treasury } has_treasury = yes } add = { @@ -3887,7 +3887,7 @@ activity_feast = { gold = { if = { limit = { - house ?= { has_house_power_parameter = feasts_costs_treasury } + house ?= { has_house_aspiration_parameter = feasts_costs_treasury } has_treasury = yes } value = 0 @@ -3947,7 +3947,7 @@ activity_feast = { treasury = { # Make sure this matches the gold cost above if = { limit = { - house ?= { has_house_power_parameter = feasts_costs_treasury } + house ?= { has_house_aspiration_parameter = feasts_costs_treasury } has_treasury = yes } add = { @@ -4028,7 +4028,7 @@ activity_feast = { gold = { if = { limit = { - house ?= { has_house_power_parameter = feasts_costs_treasury } + house ?= { has_house_aspiration_parameter = feasts_costs_treasury } has_treasury = yes } value = 0 @@ -4088,7 +4088,7 @@ activity_feast = { treasury = { # Make sure this matches the gold cost above if = { limit = { - house ?= { has_house_power_parameter = feasts_costs_treasury } + house ?= { has_house_aspiration_parameter = feasts_costs_treasury } has_treasury = yes } add = { @@ -4164,7 +4164,7 @@ activity_feast = { # PHASES ################### - max_guest_arrival_delay_time = { months = 8 } + max_guest_arrival_delay_time = { months = 5 } phases = { # Meal. @@ -4874,6 +4874,45 @@ activity_feast = { limit = { has_character_modifier = mpo_si_slaughtered_animals } remove_character_modifier = mpo_si_slaughtered_animals } + random_knight = { + limit = { + can_unlock_accolade_attribute_trigger = { + ATTRIBUTE = master_of_revels + } + } + weight = { + base = 1 + modifier = { + add = 50 + is_acclaimed = yes + } + modifier = { + add = 50 + involved_activity ?= scope:activity + } + } + save_scope_as = accolade_knight + liege = { + save_scope_as = accolade_liege + set_variable = { + name = accolade_progress + value = 0 + } + send_interface_message = { + type = msg_accolade_eligibility + title = accolade_master_of_revels_unlock.t_feast + left_icon = scope:accolade_knight + right_icon = scope:accolade_liege + custom_tooltip = accolade_master_of_revels_unlock.tt + scope:accolade_knight = { + set_variable = { + name = master_of_revels_attribute_unlock + value = yes + } + } + } + } + } } # Conclusion event for guests else = { diff --git a/common/activities/activity_types/funeral.txt b/common/activities/activity_types/funeral.txt index 1ce7790a..d9100c35 100644 --- a/common/activities/activity_types/funeral.txt +++ b/common/activities/activity_types/funeral.txt @@ -1461,7 +1461,7 @@ activity_funeral = { # PHASES ################### - max_guest_arrival_delay_time = { months = 8 } + max_guest_arrival_delay_time = { months = 5 } phases = { # Mingling and socialising diff --git a/common/activities/activity_types/hike.txt b/common/activities/activity_types/hike.txt index de4bb5b8..78a87ff7 100644 --- a/common/activities/activity_types/hike.txt +++ b/common/activities/activity_types/hike.txt @@ -37,6 +37,23 @@ is_location_valid = { trigger_if = { + limit = { + scope:host = { + is_ai = no + is_landless_adventurer = no + } + } + custom_tooltip = { + text = hike_province_requirement_landed + county_controller ?= { + OR = { + target_is_liege_or_above = scope:host + this = scope:host + } + } + } + } + trigger_else_if = { limit = { scope:host = { is_ai = no @@ -62,22 +79,6 @@ } } } - trigger_else_if = { - limit = { - scope:host = { - is_ai = no - is_landless_adventurer = no - } - } - custom_tooltip = { - text = hike_province_requirement_landed - scope:host = { - any_realm_province = { - this = root - } - } - } - } trigger_else = { always = yes } diff --git a/common/activities/activity_types/hunt.txt b/common/activities/activity_types/hunt.txt index 8fdbef01..ea33ed00 100644 --- a/common/activities/activity_types/hunt.txt +++ b/common/activities/activity_types/hunt.txt @@ -17,7 +17,7 @@ ai_has_warlike_personality = yes } AND = { - house ?= { has_house_power_parameter = hunts_costs_treasury } + house ?= { has_house_aspiration_parameter = hunts_costs_treasury } short_term_treasury >= hunt_activity_base_cost } government_has_flag = government_is_nomadic @@ -305,7 +305,7 @@ has_character_flag = free_hunt government_has_flag = government_is_mandala AND = { - house ?= { has_house_power_parameter = hunts_costs_treasury } + house ?= { has_house_aspiration_parameter = hunts_costs_treasury } has_treasury = yes } AND = { @@ -424,7 +424,7 @@ treasury = { # Make sure this matches the gold cost above if = { limit = { - house ?= { has_house_power_parameter = hunts_costs_treasury } + house ?= { has_house_aspiration_parameter = hunts_costs_treasury } has_treasury = yes } add = { @@ -711,7 +711,7 @@ } government_has_flag = government_is_mandala AND = { - house ?= { has_house_power_parameter = hunts_costs_treasury } + house ?= { has_house_aspiration_parameter = hunts_costs_treasury } has_treasury = yes } } @@ -798,7 +798,7 @@ treasury = { # Make sure this matches the gold cost above if = { limit = { - house ?= { has_house_power_parameter = hunts_costs_treasury } + house ?= { has_house_aspiration_parameter = hunts_costs_treasury } has_treasury = yes } add = { # Base cost, scaled by era @@ -1360,7 +1360,7 @@ } if = { limit = { - house ?= { has_house_power_parameter = hunts_costs_treasury } + house ?= { has_house_aspiration_parameter = hunts_costs_treasury } has_treasury = yes short_term_treasury >= hunt_activity_base_cost short_term_treasury >= major_gold_value @@ -1508,11 +1508,9 @@ limit = { any_held_title = { tier = tier_county - any_county_province = { - any_province_epidemic = { - count >= 1 - outbreak_intensity < apocalyptic - } + any_county_province_epidemic = { + count >= 1 + outbreak_intensity < apocalyptic } } would_follow_social_distancing_value >= -1 @@ -1525,11 +1523,9 @@ else_if = { limit = { any_realm_county = { - any_county_province = { - any_province_epidemic = { - count >= 1 - outbreak_intensity < apocalyptic - } + any_county_province_epidemic = { + count >= 1 + outbreak_intensity < apocalyptic } } would_follow_social_distancing_value >= -1 @@ -1543,11 +1539,9 @@ limit = { any_held_title = { tier = tier_county - any_county_province = { - any_province_epidemic = { - count >= 1 - outbreak_intensity = apocalyptic - } + any_county_province_epidemic = { + count >= 1 + outbreak_intensity = apocalyptic } } } @@ -1560,11 +1554,9 @@ limit = { any_held_title = { tier = tier_county - any_county_province = { - any_province_epidemic = { - count >= 1 - outbreak_intensity = apocalyptic - } + any_county_province_epidemic = { + count >= 1 + outbreak_intensity = apocalyptic } } } @@ -1839,6 +1831,13 @@ } desc = activity_hunt_province_desc_rainbow_mountains_major } + triggered_desc = { + trigger = { + has_building_or_higher = chocolate_hills_01 + NOT = { scope:special_option ?= flag:hunt_type_nerge } + } + desc = activity_hunt_province_desc_chocolate_hills_major + } triggered_desc = { trigger = { has_building_or_higher = visegrad_castle_01 @@ -1846,6 +1845,17 @@ } desc = activity_hunt_province_desc_visegrad_castle_01_major } + triggered_desc = { + trigger = { + county = { + any_county_province = { + has_building_or_higher = legendary_hunting_lodge + } + } + NOT = { scope:special_option ?= flag:hunt_type_nerge } + } + desc = activity_hunt_province_desc_legendary_hunting_lodge + } triggered_desc = { trigger = { OR = { @@ -3742,7 +3752,7 @@ } government_has_flag = government_is_mandala AND = { - house ?= { has_house_power_parameter = hunts_costs_treasury } + house ?= { has_house_aspiration_parameter = hunts_costs_treasury } has_treasury = yes } } @@ -3794,7 +3804,7 @@ treasury = { # Make sure this matches the gold cost above if = { limit = { - house ?= { has_house_power_parameter = hunts_costs_treasury } + house ?= { has_house_aspiration_parameter = hunts_costs_treasury } has_treasury = yes } add = { @@ -4213,7 +4223,7 @@ } government_has_flag = government_is_mandala AND = { - house ?= { has_house_power_parameter = hunts_costs_treasury } + house ?= { has_house_aspiration_parameter = hunts_costs_treasury } has_treasury = yes } } @@ -4254,7 +4264,7 @@ treasury = { # Make sure this matches the gold cost above if = { limit = { - house ?= { has_house_power_parameter = hunts_costs_treasury } + house ?= { has_house_aspiration_parameter = hunts_costs_treasury } has_treasury = yes } add = { @@ -4444,7 +4454,7 @@ } government_has_flag = government_is_mandala AND = { - house ?= { has_house_power_parameter = hunts_costs_treasury } + house ?= { has_house_aspiration_parameter = hunts_costs_treasury } has_treasury = yes } } @@ -4485,7 +4495,7 @@ treasury = { # Make sure this matches the gold cost above if = { limit = { - house ?= { has_house_power_parameter = hunts_costs_treasury } + house ?= { has_house_aspiration_parameter = hunts_costs_treasury } has_treasury = yes } add = { @@ -4735,7 +4745,7 @@ } government_has_flag = government_is_mandala AND = { - house ?= { has_house_power_parameter = hunts_costs_treasury } + house ?= { has_house_aspiration_parameter = hunts_costs_treasury } has_treasury = yes } } @@ -4776,7 +4786,7 @@ treasury = { # Make sure this matches the gold cost above if = { limit = { - house ?= { has_house_power_parameter = hunts_costs_treasury } + house ?= { has_house_aspiration_parameter = hunts_costs_treasury } has_treasury = yes } add = { @@ -4951,7 +4961,7 @@ } government_has_flag = government_is_mandala AND = { - house ?= { has_house_power_parameter = hunts_costs_treasury } + house ?= { has_house_aspiration_parameter = hunts_costs_treasury } has_treasury = yes } } @@ -4992,7 +5002,7 @@ treasury = { # Make sure this matches the gold cost above if = { limit = { - house ?= { has_house_power_parameter = hunts_costs_treasury } + house ?= { has_house_aspiration_parameter = hunts_costs_treasury } has_treasury = yes } add = { @@ -5123,7 +5133,7 @@ # PHASES ################### - max_guest_arrival_delay_time = { months = 8 } + max_guest_arrival_delay_time = { months = 5 } phases = { hunt_phase = { @@ -5247,7 +5257,7 @@ # House aspiration - gain merit if = { limit = { - house ?= { has_house_power_parameter = hunts_provides_merit } + house ?= { has_house_aspiration_parameter = hunts_provides_merit } } scope:activity = { add_activity_log_entry = { @@ -5785,5 +5795,49 @@ } } } + if = { + limit = { + this = scope:host + } + random_knight = { + limit = { + can_unlock_accolade_attribute_trigger = { + ATTRIBUTE = huntsmaster + } + } + weight = { + base = 1 + modifier = { + add = 50 + is_acclaimed = yes + } + modifier = { + add = 50 + involved_activity ?= scope:activity + } + } + save_scope_as = accolade_knight + liege = { + save_scope_as = accolade_liege + set_variable = { + name = accolade_progress + value = 0 + } + send_interface_message = { + type = msg_accolade_eligibility + title = accolade_huntsmaster_unlock.t + left_icon = scope:accolade_knight + right_icon = scope:accolade_liege + custom_tooltip = accolade_huntsmaster_unlock.tt + scope:accolade_knight = { + set_variable = { + name = huntsmaster_attribute_unlock + value = yes + } + } + } + } + } + } } } diff --git a/common/activities/activity_types/pilgrimage.txt b/common/activities/activity_types/pilgrimage.txt index 282f2edb..86f3baa0 100644 --- a/common/activities/activity_types/pilgrimage.txt +++ b/common/activities/activity_types/pilgrimage.txt @@ -78,6 +78,7 @@ limit = { faith = { has_doctrine_parameter = mandatory_hajj } capital_province.barony ?= title:b_makka + is_landless_adventurer = no } custom_tooltip = { text = activity_pilgrimage.is_location_valid.capital_is_mecca @@ -126,7 +127,10 @@ #Invalidate flag, until/unless this is fixed in code NOT = { has_variable = pilgrimage_invalidated_illness } #Don't change your capital to be the holy site destination - capital_province.barony != scope:activity.activity_location.barony + trigger_if = { + limit = { is_landless_adventurer = no } + capital_province.barony != scope:activity.activity_location.barony + } } # Converting mid-pilgrimage is a big no-no. scope:activity = { @@ -252,10 +256,15 @@ } } } - #You can't pilgrimage to your own capital - custom_tooltip = { - text = activity_pilgrimage.is_location_valid.capital_is_holy_site - scope:host.capital_province != root + #You can't pilgrimage to your own capital - Except for if you are an adventurer because then you travel around all the time anyway + trigger_if = { + limit = { + scope:host = { is_landless_adventurer = no } + } + custom_tooltip = { + text = activity_pilgrimage.is_location_valid.capital_is_holy_site + scope:host.capital_province != root + } } # If you are supposed to be the realm's reserve ruler, then you can't take a multi-year foreign trip. @@ -266,10 +275,14 @@ custom_tooltip = { text = activity_pilgrimage.serving_diarch county.holder = { - any_liege_or_above = { this = scope:host.liege } + OR = { + any_liege_or_above = { this = scope:host.liege } + this = scope:host.liege + } } } } + trigger_if = { limit = { scope:host = { @@ -852,13 +865,13 @@ gold = { add = { add = { - value = root.pilgrimage_base_cost + value = pilgrimage_base_cost desc = pilgrimage_base_cost } add = { - value = root.pilgrimage_base_cost + value = pilgrimage_base_cost multiply = activity_cost_scale_by_era - subtract = root.pilgrimage_base_cost + subtract = pilgrimage_base_cost desc = activity_cost_scale_by_era_desc } if = { @@ -889,7 +902,7 @@ dynasty ?= { has_dynasty_perk = ep2_activities_legacy_1 } } subtract = { - value = root.pilgrimage_base_cost + value = pilgrimage_base_cost multiply = ep2_activities_legacy_1_pilgrimages_discount_value desc = ep2_activities_legacy_track } @@ -922,7 +935,7 @@ #House Aspiration Humility if = { limit = { - house ?= { has_house_power_parameter = humility_pilgrimage_discount } + house ?= { has_house_aspiration_parameter = humility_pilgrimage_discount } } multiply = { value = 0.75 @@ -1015,6 +1028,12 @@ } min = minor_gold_value } + if = { + limit = { + has_title = title:e_minister_of_revenue + } + multiply = 0.85 + } } } @@ -1163,7 +1182,7 @@ dynasty ?= { has_dynasty_perk = ep2_activities_legacy_1 } } subtract = { - value = root.pilgrimage_base_cost + value = pilgrimage_base_cost multiply = ep2_activities_legacy_1_pilgrimages_discount_value desc = ep2_activities_legacy_track } @@ -1220,6 +1239,12 @@ divide = 5 ceiling = yes multiply = 5 + if = { + limit = { + has_title = title:e_minister_of_revenue + } + multiply = 0.85 + } } } @@ -1362,6 +1387,7 @@ NAND = { exists = capital_province capital_province.barony = title:b_makka + is_landless_adventurer = no } } } @@ -1906,6 +1932,34 @@ add = 1 } } + + # Bonus wandering XP from travel_events_bp3.95 + if = { + limit = { + has_variable_list = holy_site_dreams + is_target_in_variable_list = { + name = holy_site_dreams + target = root.location.barony + } + } + send_interface_message = { + type = send_interface_message_good + title = travel_events_bp3.95.t + left_icon = root + + if = { + limit = { + has_lifestyle = wanderer_lifestyle + } + add_wanderer_lifestyle_xp = 500 + } + stress_impact = { + base = major_stress_impact_loss + zealous = medium_stress_impact_loss + } + add_piety = major_piety_gain + } + } #Arrival events - where Pilgrims gain their Pilgrim trait #We have the Obligatory option selected - we skip the destination events @@ -2041,6 +2095,10 @@ can_be_activity_guest = { age > 5 + OR = { + faith.religion = scope:host.faith.religion + current_travel_plan ?= { travel_plan_owner = scope:host } #When people join you on the way there. + } } max_guests = 30 @@ -2846,7 +2904,11 @@ trigger = { scope:host = { faith.religion = { - is_in_family = rf_eastern + OR = { + is_in_family = rf_eastern + is_in_family = rf_sinitic + this = religion:shintoism_religion + } } culture = { has_graphical_east_asia_culture_group_trigger = yes @@ -2863,6 +2925,19 @@ environment = "environment_ep3_holysite_orthodox" ambience = "event:/DLC/EP3/SFX/Events/Event_Images/ep3_evn_eventimage_orthodox_holy_site" } + background = { + trigger = { + activity_location.culture = { + OR = { + has_graphical_mena_culture_group_trigger = yes + has_graphical_iranian_culture_group_trigger = yes + } + } + } + texture = "gfx/interface/illustrations/event_scenes/ep2_holysite_mena.dds" + environment = "environment_generic_holy_site_mena" + ambience = "event:/SFX/Events/Backgrounds/town_market_middleeastern_day" + } background = { trigger = { activity_location.culture = { has_graphical_mena_culture_group_trigger = yes } diff --git a/common/activities/activity_types/playdate.txt b/common/activities/activity_types/playdate.txt index 288049cf..0d789f94 100644 --- a/common/activities/activity_types/playdate.txt +++ b/common/activities/activity_types/playdate.txt @@ -271,7 +271,7 @@ } wait_time_before_start = { days = 7 } - max_guest_arrival_delay_time = { months = 8 } + max_guest_arrival_delay_time = { months = 5 } ################### diff --git a/common/activities/activity_types/tour.txt b/common/activities/activity_types/tour.txt index e3d421d7..b9fd71b6 100644 --- a/common/activities/activity_types/tour.txt +++ b/common/activities/activity_types/tour.txt @@ -228,6 +228,7 @@ limit = { any_vassal = { count >= 5 + highest_held_title_tier >= tier_county } } desc = "I have many vassals" @@ -2748,6 +2749,11 @@ # Scripted Modifiers activity_guest_shared_ai_accept_modifier = yes + modifier = { + is_acclaimed = yes + add = 20 + desc = ACTIVITY_GUEST_ACCLAIMED_KNIGHT_REASON + } } travel_entourage_selection = { @@ -3335,6 +3341,49 @@ value = yes } } + random_knight = { + limit = { + can_unlock_accolade_attribute_trigger = { + ATTRIBUTE = reeve + } + } + weight = { + base = -10 + modifier = { + add = stewardship + factor = 1.5 + } + modifier = { + add = 10 + is_acclaimed = yes + } + modifier = { + add = 10 + involved_activity ?= scope:activity + } + } + save_scope_as = accolade_knight + liege = { + save_scope_as = accolade_liege + set_variable = { + name = accolade_progress + value = 0 + } + send_interface_message = { + type = msg_accolade_eligibility + title = accolade_reeve_unlock.t + left_icon = scope:accolade_knight + right_icon = scope:accolade_liege + custom_tooltip = accolade_reeve_unlock.tt + scope:accolade_knight = { + set_variable = { + name = reeve_attribute_unlock + value = yes + } + } + } + } + } } } } diff --git a/common/activities/activity_types/wedding.txt b/common/activities/activity_types/wedding.txt index eb8429c9..e814fc55 100644 --- a/common/activities/activity_types/wedding.txt +++ b/common/activities/activity_types/wedding.txt @@ -45,9 +45,11 @@ #That someone and their betrothed are alive and adults and can marry var:promised_grand_wedding_marriage_countdown = { is_valid_grand_wedding_special_guest_trigger = { OTHER_SPOUSE = root.var:promised_grand_wedding_marriage_countdown.betrothed } + NOT = { any_invited_activity = {} } } var:promised_grand_wedding_marriage_countdown.betrothed = { is_valid_grand_wedding_special_guest_trigger = { OTHER_SPOUSE = root.var:promised_grand_wedding_marriage_countdown } + NOT = { any_invited_activity = {} } } } } @@ -71,12 +73,7 @@ scope:activity.var:spouse_2_var = { is_alive = no } - scope:activity = { #you're in a murder wedding - has_activity_option = { - category = special_type - option = wedding_type_bloody - } - } + is_bloody_wedding = yes } } } @@ -92,10 +89,7 @@ } scope:host = { # The host becoming unlanded will invalidate - OR = { - is_landed_or_landless_administrative = yes - has_government = landless_minority_government - } + is_landed_or_landless_administrative = yes # The new host being only a baron will invalidate highest_held_title_tier >= tier_county # Incapable host will invalidate @@ -135,12 +129,7 @@ is_ai = no AND = { is_alive = no - scope:activity = { #you're in a murder wedding - has_activity_option = { - category = special_type - option = wedding_type_bloody - } - } + is_bloody_wedding = yes } } } @@ -167,7 +156,7 @@ if = { limit = { - scope:host = { has_trait = incapable } + scope:host = { is_physically_able = no } } scope:activity = { activity_type = { save_scope_as = activity_type } @@ -187,8 +176,7 @@ scope:activity = { has_variable = wedding_invalidated_said_no } - exists = scope:spouse_1 - scope:spouse_1 = { is_alive = yes } + scope:spouse_1 ?= { is_alive = yes } } scope:spouse_1 = { trigger_event = ep2_wedding.0152 } } @@ -257,12 +245,8 @@ scope:activity.var:spouse_2_var ?= { is_alive = no } - scope:activity = { #you're not in a murder wedding - has_activity_option = { - category = special_type - option = wedding_type_normal - } - } + #you're not in a murder wedding + is_bloody_wedding = no } } } @@ -495,8 +479,8 @@ } if = { - limit = { exists = scope:officiant } - scope:officiant = { + limit = { var:officiant ?= { is_alive = yes } } + var:officiant = { if = { limit = { has_character_flag = need_priest_outfit } remove_character_flag = need_priest_outfit @@ -514,6 +498,9 @@ } } + scope:host = { + clean_grand_wedding_betrothal_variables = yes + } } on_host_death = { @@ -522,9 +509,15 @@ # Make the player heir the new host if attending (unless it was the host's wedding!) if = { limit = { - exists = scope:host.player_heir - scope:host.player_heir = { - involved_activity = scope:activity + scope:host.player_heir ?= { + OR = { + involved_activity ?= scope:activity + AND = { + location = scope:activity.activity_location + is_available_allow_travelling = yes + NOT = { exists = involved_activity } + } + } } scope:host = { NOR = { @@ -533,9 +526,27 @@ } } } - scope:host.player_heir = { save_scope_as = new_host } + scope:host.player_heir = { + save_scope_as = new_host + if = { + limit = { NOT = { exists = involved_activity } } + add_to_activity = scope:activity + } + } } - # Otherwise, spouse_1 takes over + else_if = { + limit = { + scope:spouse_1 = { is_landed_or_landless_administrative = yes } + } + scope:spouse_1 = { save_scope_as = new_host } + } + else_if = { + limit = { + scope:spouse_2 = { is_landed_or_landless_administrative = yes } + } + scope:spouse_2 = { save_scope_as = new_host } + } + # Otherwise, spouse_1 takes over (and invalidate at once) else = { scope:spouse_1 = { save_scope_as = new_host } } @@ -633,6 +644,14 @@ desc = "Holy Site" } } + #Kizuki Taisha + if = { + limit = { has_building = izumo_taisha_01 } + add = { + value = 30 + desc = "Kizuki Taisha" + } + } } max_province_icons = 5 @@ -680,6 +699,11 @@ limit = { barony = { is_holy_site_of = scope:host.faith } } add = 75 } + #Kizuki Taisha + if = { + limit = { has_building = izumo_taisha_01 } + add = 30 + } } province_description = { @@ -715,6 +739,10 @@ trigger = { has_building = pleasure_dome } desc = province_desc_wedding_pleasure_dome } + triggered_desc = { + trigger = { has_building = izumo_taisha_01 } + desc = province_desc_wedding_izumo_taisha + } triggered_desc = { trigger = { barony = { is_holy_site_of = scope:host.faith } } desc = province_desc_wedding_holy_site @@ -2005,105 +2033,32 @@ scope:host = { trigger_event = ep2_wedding.0101 } } else = { trigger_event = ep2_wedding.0100 } - # Accolade stuff if = { - limit = { - this = scope:host - any_active_accolade = { - accolade_parameter = accolade_party_fertility - } - } - add_character_modifier = { - modifier = accolade_charmer_party_modifier - } - } - if = { - limit = { - this = scope:host - any_active_accolade = { - accolade_parameter = accolade_party_fertility_high - } - } - add_character_modifier = { - modifier = accolade_charmer_party_high_modifier - } - } - if = { - limit = { - exists = scope:host.faith.religious_head - scope:host.faith.religious_head = { - NOR = { - this = scope:activity.special_guest:spouse_1 - this = scope:activity.special_guest:spouse_2 + limit = { this = scope:host } + # Accolade stuff + if = { + limit = { + any_active_accolade = { + accolade_parameter = accolade_party_fertility } } - scope:activity = { - any_attending_character = { - this = scope:host.faith.religious_head - } + add_character_modifier = { + modifier = accolade_charmer_party_modifier } } - scope:host.faith.religious_head = { save_scope_as = officiant } - } - else_if = { - limit = { - scope:host != scope:activity.special_guest:spouse_1 - } - scope:host = { save_scope_as = officiant } - } - else_if = { - limit = { - exists = scope:host.cp:councillor_court_chaplain - scope:activity = { - any_attending_character = { - this = scope:host.cp:councillor_court_chaplain - } - } - } - scope:host.cp:councillor_court_chaplain = { save_scope_as = officiant } - } - else_if = { - limit = { - NOT = { scope:host.faith = { has_doctrine = doctrine_theocracy_lay_clergy } } - } if = { limit = { - NOT = { - scope:activity = { - any_attending_character = { - is_ai = no - } - } - } - any_pool_character = { - province = scope:activity.activity_location - is_physically_able_ai_adult = yes - faith = scope:host.faith - can_be_clergy_due_to_gender_trigger = yes + any_active_accolade = { + accolade_parameter = accolade_party_fertility_high } } - random_pool_character = { - province = scope:activity.activity_location - limit = { - is_physically_able_ai_adult = yes - faith = scope:host.faith - can_be_clergy_due_to_gender_trigger = yes - } - save_scope_as = officiant - } - } - else = { - create_character = { - template = priest_character_template - dynasty = none - location = scope:host.location - save_scope_as = officiant + add_character_modifier = { + modifier = accolade_charmer_party_high_modifier } } + wedding_assign_officiant_effect = yes } - scope:officiant ?= { - add_character_flag = officiant - } + # Fires the conclusion events for every attendee, and advance to next phase, with a delay of 2 months trigger_event = { on_action = wedding_ceremony_ending_event_pulse @@ -2145,17 +2100,12 @@ if = { limit = { - scope:activity = { - has_activity_option = { - category = special_type - option = wedding_type_bloody - } - } + is_bloody_wedding = yes } if = { #if you have the wedding night kill we progress to that limit = { - has_variable = bloody_wedding_murder_spouse_var + var:bloody_wedding_murder ?= flag:spouse } scope:activity = { progress_activity_phase_after = { months = 2 } } } @@ -2210,13 +2160,8 @@ if = { limit = { OR = { - scope:activity = { - has_activity_option = { - category = special_type - option = wedding_type_normal - } - } - scope:host = { has_variable = bloody_wedding_murder_spouse_var } + is_bloody_wedding = no + scope:host = { var:bloody_wedding_murder ?= flag:spouse } } } trigger_event = ep2_wedding.0300 @@ -2231,58 +2176,35 @@ # Bloody Wedding only has a murder event, no regular wnight if = { limit = { - scope:activity = { - has_activity_option = { - category = special_type - option = wedding_type_bloody - } - } + is_bloody_wedding = yes } if = { limit = { scope:host = scope:activity.special_guest:spouse_1 #if you're the spouse - scope:host = { has_variable = bloody_wedding_murder_spouse_var } #and you've chosen to kill them during the wedding night + scope:host = { var:bloody_wedding_murder ?= flag:spouse } #and you've chosen to kill them during the wedding night } scope:host = { trigger_event = ep2_wedding.3060 } } } # For a regular wedding - # Fires only for the spouses - if = { - limit = { - OR = { - scope:activity = { - has_activity_option = { - category = special_type - option = wedding_type_normal - } + else = { + # Fires only for the spouses + if = { + limit = { + OR = { + root = scope:activity.special_guest:spouse_1 + root = scope:activity.special_guest:spouse_2 } - scope:host = { has_variable = bloody_wedding_backed_down_var } } - OR = { - root = scope:activity.special_guest:spouse_1 - root = scope:activity.special_guest:spouse_2 + trigger_event = { + on_action = wedding_wnight_spouse_event_pulse } } - trigger_event = { - on_action = wedding_wnight_spouse_event_pulse + # Fires for the guests and host + else = { + trigger_event = { on_action = wedding_wnight_ongoing_event_pulse } } } - # Fires for the guests - else_if = { - limit = { - OR = { - scope:activity = { - has_activity_option = { - category = special_type - option = wedding_type_normal - } - } - scope:host = { has_variable = bloody_wedding_backed_down_var } - } - } - trigger_event = { on_action = wedding_wnight_ongoing_event_pulse } - } } ai_will_do = { @@ -2813,11 +2735,8 @@ # Remove the wedding reward for Bloody Weddings if = { limit = { + is_bloody_wedding = yes scope:activity = { - has_activity_option = { - category = special_type - option = wedding_type_bloody - } activity_location.county = { has_county_modifier = ruler_married_here_county_modifier } @@ -2830,19 +2749,7 @@ # Clean up for murder host / guests if = { limit = { - scope:activity = { - has_activity_option = { - category = special_type - option = wedding_type_bloody - } - } - scope:host = { - #You haven't failed/backed down - NOR = { - has_variable = bloody_wedding_backed_down_var - has_variable = bloody_murder_fail - } - } + is_successful_bloody_wedding = yes } scope:activity.special_guest:spouse_1 = { save_scope_as = spouse_1 @@ -2888,21 +2795,56 @@ } remove_character_modifier = accolade_charmer_party_high_modifier } - + if = { + limit = { + this = scope:host + } + random_knight = { + limit = { + can_unlock_accolade_attribute_trigger = { + ATTRIBUTE = politicker + } + } + weight = { + base = 1 + modifier = { + add = 50 + is_acclaimed = yes + } + modifier = { + add = 50 + involved_activity ?= scope:activity + } + } + save_scope_as = accolade_knight + liege = { + save_scope_as = accolade_liege + set_variable = { + name = accolade_progress + value = 0 + } + send_interface_message = { + type = msg_accolade_eligibility + title = accolade_politicker_unlock.t_wedding + left_icon = scope:accolade_knight + right_icon = scope:accolade_liege + custom_tooltip = accolade_politicker_unlock.tt + scope:accolade_knight = { + set_variable = { + name = politicker_attribute_unlock + value = yes + } + } + } + } + } + } # Rewards for Bloody Weddings given out in event ep2_wedding.0955 # Rewards for Normal Weddings if = { limit = { - OR = { - scope:activity = { - has_activity_option = { - category = special_type - option = wedding_type_normal - } - } - scope:host = { has_variable = bloody_wedding_backed_down_var } #you've backed down from a Red Wedding - } + is_bloody_wedding = no } if = { limit = { @@ -3007,16 +2949,7 @@ limit = { exists = global_var:started_black_dinner_achievement is_ai = no - scope:activity = { - has_activity_option = { - category = special_type - option = wedding_type_bloody - } - } - NOR = { - has_variable = bloody_murder_fail - has_variable = bloody_wedding_backed_down_var - } + is_successful_bloody_wedding = yes } set_global_variable = { name = finished_black_dinner_achievement @@ -3027,17 +2960,12 @@ } # Free the officiant! if = { - limit = { exists = scope:officiant } - scope:officiant = { - if = { - limit = { has_character_flag = need_priest_outfit } - remove_character_flag = need_priest_outfit - } - if = { - limit = { has_character_flag = officiant } - remove_character_flag = officiant - } + limit = { has_character_flag = officiant } + if = { + limit = { has_character_flag = need_priest_outfit } + remove_character_flag = need_priest_outfit } + remove_character_flag = officiant } } diff --git a/common/casus_belli_types/00_religious_war.txt b/common/casus_belli_types/00_religious_war.txt index 84e68189..fdb368ad 100644 --- a/common/casus_belli_types/00_religious_war.txt +++ b/common/casus_belli_types/00_religious_war.txt @@ -116,6 +116,12 @@ # Filter for struggles trigger_if = { limit = { + scope:attacker = { + any_character_struggle = { + involvement = involved + is_struggle_type = iberian_struggle + } + } scope:defender = { any_character_struggle = { involvement = involved @@ -559,8 +565,10 @@ religious_war = { # Additional requirements to the defines in 00_casus_belli_groups.txt allowed_for_character = { scope:attacker.faith = { - NOT = { has_doctrine_parameter = unreformed } - NOT = { has_doctrine_parameter = holy_wars_forbidden } + NOR = { + has_doctrine_parameter = unreformed + has_doctrine_parameter = holy_wars_forbidden + } } NOR = { government_has_flag = government_is_nomadic @@ -679,6 +687,12 @@ religious_war = { # Filter for struggles trigger_if = { limit = { + scope:attacker = { + any_character_struggle = { + involvement = involved + is_struggle_type = iberian_struggle + } + } scope:defender = { any_character_struggle = { involvement = involved @@ -689,7 +703,6 @@ religious_war = { are_holy_wars_disabled_in_struggle_phase_trigger = yes } are_holy_wars_disabled_by_struggle_conciliation_trigger = no # Disabled against other involved faiths in FP2 Conciliation ending - } should_invalidate = { @@ -1275,6 +1288,12 @@ major_religious_war = { # Filter for struggles trigger_if = { limit = { + scope:attacker = { + any_character_struggle = { + involvement = involved + is_struggle_type = iberian_struggle + } + } scope:defender = { any_character_struggle = { involvement = involved @@ -4043,9 +4062,6 @@ directed_great_holy_war = { } } } - scope:attacker.religious_head = { - piety_level >= 2 - } religion = { exists = var:variable_ghw_unlocked } #Activated by event for every religion. } } @@ -4126,9 +4142,6 @@ directed_great_holy_war = { pledge_attacker = scope:attacker } } - scope:attacker.religious_head = { - add_piety_level = -1 - } } scope:attacker.faith.great_holy_war = { every_pledged_attacker = { #Add Beneficiary automatically on victory of direct GHW for any attacker that doesn't have one already. diff --git a/common/casus_belli_types/07_ep3_wars.txt b/common/casus_belli_types/07_ep3_wars.txt index d188e549..50ed6580 100644 --- a/common/casus_belli_types/07_ep3_wars.txt +++ b/common/casus_belli_types/07_ep3_wars.txt @@ -355,13 +355,6 @@ ## Seizing control so things *vaguely* work. custom_tooltip = fp1_varangian_adventurer_conquest.summaries.control_rebate scope:attacker = { trigger_event = fp1_varangian_adventures.0001 } - ## And giving them a gold bounty to keep them afloat. - scope:attacker = { - add_gold = { - value = varangian_adventures_bounty_amount_value - multiply = 0.5 #Half it for counties - } - } # Finally, general cleanup. ep3_become_landed_cleanup_effect = yes # Prestige Progress for the Attacker @@ -938,13 +931,6 @@ ep3_laamp_adventurer_duchy_invasion = { ## Seizing control so things *vaguely* work. custom_tooltip = fp1_varangian_adventurer_conquest.summaries.control_rebate scope:attacker = { trigger_event = fp1_varangian_adventures.0001 } - ## And giving them a gold bounty to keep them afloat. - scope:attacker = { - add_gold = { - value = varangian_adventures_bounty_amount_value - multiply = 0.5 #Half it for counties - } - } # Finally, general cleanup. ep3_become_landed_cleanup_effect = yes # Prestige Progress for the Attacker @@ -1533,13 +1519,6 @@ ep3_laamp_adventurer_kingdom_invasion = { ## Seizing control so things *vaguely* work. custom_tooltip = fp1_varangian_adventurer_conquest.summaries.control_rebate scope:attacker = { trigger_event = fp1_varangian_adventures.0001 } - ## And giving them a gold bounty to keep them afloat. - scope:attacker = { - add_gold = { - value = varangian_adventures_bounty_amount_value - multiply = 0.5 #Half it for counties - } - } # Finally, general cleanup. ep3_become_landed_cleanup_effect = yes # Prestige Progress for the Attacker @@ -3729,7 +3708,7 @@ imperial_expedition_cb = { allowed_for_character = { top_liege != this - liege ?= { has_diarchy_parameter = unlock_diarch_requests_military_expedition_interaction } + liege ?= { has_diarchy_active_parameter = unlock_diarch_requests_military_expedition_interaction } is_diarch_of_target = liege NOT = { government_has_flag = government_is_landless_adventurer @@ -4641,6 +4620,14 @@ ep3_roman_empire_border_war = { } is_ai = no } + top_liege = { + NOR = { + any_owned_story = { + type = ep3_story_cycle_restoring_rome + } + is_roman_emperor_excluding_byzantium_trigger = yes + } + } } allowed_for_character_display_regardless = { @@ -5137,6 +5124,7 @@ ep3_laamp_apprehend_adventurer_cb = { } } every_character_artifact = { + limit = { NOT = { has_variable = artifact_prevent_transfer } } set_owner = { target = scope:defender history = { @@ -5966,6 +5954,44 @@ ep3_laamp_peasant_war = { } remove_variable = number_rebel_reinforcements } + if = { + limit = { + has_variable = ep3_laamp_peasant_war_remain_laamp + variable_list_size = { + name = war_met_peasant_leaders_list + value <= 0 + } + } + ordered_in_list = { + variable = war_supported_counties_list + order_by = development_level + save_scope_as = new_capital + } + create_character = { + location = scope:new_capital.title_province + template = peasant_faction_leader_template + faith = scope:new_capital.faith + culture = scope:new_capital.culture + gender_female_chance = { + if = { + limit = { scope:new_capital.faith = { has_doctrine = doctrine_gender_male_dominated } } + add = 0 + } + else_if = { + limit = { scope:new_capital.faith = { has_doctrine = doctrine_gender_female_dominated } } + add = 100 + } + else = { + add = 50 + } + } + save_scope_as = peasant_leader + } + add_to_variable_list = { + name = war_met_peasant_leaders_list + target = scope:peasant_leader + } + } } } @@ -5993,7 +6019,7 @@ ep3_laamp_peasant_war = { involvement = involved activate_struggle_catalyst = { catalyst = catalyst_populist_uprise - character = this + character = scope:defender } } } @@ -6004,16 +6030,24 @@ ep3_laamp_peasant_war = { first_valid = { triggered_desc = { trigger = { - scope:attacker = { is_local_player = yes } + scope:attacker = { + is_local_player = yes + has_variable = ep3_laamp_peasant_war_remain_laamp + } } - desc = county_conquest_cb_victory_desc_attacker + desc = county_conquest_cb_victory_desc_remain_laamp } - desc = county_conquest_cb_victory_desc + desc = county_conquest_cb_victory_desc_attacker } } on_victory = { scope:attacker = { + ordered_in_list = { + variable = war_supported_counties_list + order_by = development_level + save_scope_as = new_capital + } primary_title = { save_scope_as = old_title } @@ -6023,6 +6057,46 @@ ep3_laamp_peasant_war = { #swap the peasant trait for the better one remove_trait = peasant_leader add_trait = populist_leader + if = { + limit = { + has_variable = ep3_laamp_peasant_war_remain_laamp + } + random_in_list = { + variable = war_met_peasant_leaders_list + limit = { + this != scope:attacker + } + save_scope_as = peasant_leader + } + if = { + limit = { + NOT = { exists = scope:peasant_leader } + } + create_character = { + location = scope:new_capital.title_province + template = peasant_faction_leader_template + faith = scope:new_capital.faith + culture = scope:new_capital.culture + gender_female_chance = { + if = { + limit = { scope:new_capital.faith = { has_doctrine = doctrine_gender_male_dominated } } + add = 0 + } + else_if = { + limit = { scope:new_capital.faith = { has_doctrine = doctrine_gender_female_dominated } } + add = 100 + } + else = { + add = 50 + } + } + save_scope_as = peasant_leader + } + } + } + else = { + save_scope_as = peasant_leader + } } # Set up titles in the new realm. # Determine potential breakaways @@ -6050,18 +6124,18 @@ ep3_laamp_peasant_war = { if = { limit = { OR = { - scope:attacker.faith = { + scope:peasant_leader.faith = { faith_hostility_level_comparison = { prev.holder.faith >= scope:defender.faith } } holder = scope:defender holder.primary_title.tier >= scope:target.tier - scope:attacker = { has_claim_on = scope:title_temp } + scope:peasant_leader = { has_claim_on = scope:title_temp } } } - add_to_temporary_list = titles_taken + add_to_list = titles_taken } else = { - holder = { add_to_temporary_list = vassals_taken } + holder = { add_to_list = vassals_taken } } } } @@ -6069,7 +6143,7 @@ ep3_laamp_peasant_war = { every_in_list = { list = titles_taken change_title_holder = { - holder = scope:attacker + holder = scope:peasant_leader change = scope:change take_baronies = yes } @@ -6078,20 +6152,13 @@ ep3_laamp_peasant_war = { every_in_list = { list = vassals_taken change_liege = { - liege = scope:attacker + liege = scope:peasant_leader change = scope:change } } } resolve_title_and_vassal_change = scope:change ## Grab the best county to be the capital - scope:attacker = { - ordered_in_list = { - variable = war_supported_counties_list - order_by = development_level - save_scope_as = new_capital - } - } scope:new_capital = { duchy = { save_scope_as = new_capital_duchy @@ -6110,7 +6177,7 @@ ep3_laamp_peasant_war = { } scope:new_title = { change_title_holder = { - holder = scope:attacker + holder = scope:peasant_leader change = scope:change } } @@ -6118,30 +6185,21 @@ ep3_laamp_peasant_war = { #make the new title look like your landless adventurer title hidden_effect = { scope:new_title = { - set_de_jure_liege_title = scope:new_capital.title_province.empire set_coa = scope:old_title set_color_from_title = scope:new_capital set_capital_county = scope:new_capital } } - scope:attacker = { - #stop being a landless adventurer - destroy_laamp_effect = { ADVENTURER = scope:attacker } - #set new capital - set_realm_capital = scope:new_capital - #increase county control and remove all county corruption modifiers - every_in_list = { - variable = war_supported_counties_list - change_county_control = 100 - remove_every_county_corruption_modifier_effect = yes - add_county_modifier = { - modifier = ep3_peasant_leader_modifier - years = 10 + + scope:peasant_leader = { + if = { + limit = { + has_variable = ep3_laamp_peasant_war_remain_laamp } + #stop being a landless adventurer + destroy_laamp_effect = { ADVENTURER = scope:attacker } + return_home = yes } - clear_variable_list = war_supported_counties_list - clear_variable_list = war_met_peasant_leaders_list - return_home = yes } scope:defender = { # Legitimacy effect @@ -6175,7 +6233,29 @@ ep3_laamp_peasant_war = { } } } - + scope:attacker = { + #increase county control and remove all county corruption modifiers + every_in_list = { + variable = war_supported_counties_list + if = { + limit = { + scope:attacker = { + has_variable = ep3_laamp_peasant_war_remain_laamp + } + } + custom_tooltip = taken_county_remain_laamp + } + change_county_control = 100 + remove_every_county_corruption_modifier_effect = yes + add_county_modifier = { + modifier = ep3_peasant_leader_modifier + years = 10 + } + } + clear_variable_list = war_supported_counties_list + clear_variable_list = war_met_peasant_leaders_list + remove_variable = ep3_laamp_peasant_war_remain_laamp + } # EP3: note gold gained from military assistance/join war contracts and their war contribution threshold laamp_as_mercenary_payout_tooltip_effect = yes } @@ -6202,6 +6282,7 @@ ep3_laamp_peasant_war = { #clear all variable lists, you only get one chance! clear_variable_list = war_supported_counties_list clear_variable_list = war_met_peasant_leaders_list + remove_variable = ep3_laamp_peasant_war_remain_laamp stress_impact = { ambitious = medium_stress_impact_gain arrogant = medium_stress_impact_gain @@ -6240,6 +6321,7 @@ ep3_laamp_peasant_war = { #clear all variable lists, you only get one chance! clear_variable_list = war_supported_counties_list clear_variable_list = war_met_peasant_leaders_list + remove_variable = ep3_laamp_peasant_war_remain_laamp #lose the trait, because you didn't win remove_trait = peasant_leader } @@ -6333,7 +6415,7 @@ admin_barbarian_conquest_cb = { } } } - target_titles = all + target_titles = neighbor_land_or_water target_title_tier = duchy target_de_jure_regions_above = yes ignore_effect = change_title_holder diff --git a/common/character_interactions/00_alliance.txt b/common/character_interactions/00_alliance.txt index d2fdf175..2dacf5d7 100644 --- a/common/character_interactions/00_alliance.txt +++ b/common/character_interactions/00_alliance.txt @@ -3760,7 +3760,7 @@ join_war_interaction = { } scope:recipient = { show_as_tooltip = { - if = { + if = { # if war leader is AI, will directly increase friendship for contributing limit = { is_ai = yes } @@ -3770,7 +3770,7 @@ join_war_interaction = { REASON = friend_alliance } } - else = { + else = { # otherwise will create potential friendship hidden_effect = { #To nudge friendship if = { limit = { @@ -4058,6 +4058,7 @@ join_vassal_war_interaction = { } any_in_list = { list = target_titles + tier <= tier_duchy count = 1 } diff --git a/common/character_interactions/00_ce1_interactions.txt b/common/character_interactions/00_ce1_interactions.txt index 07a3d1d2..975583e1 100644 --- a/common/character_interactions/00_ce1_interactions.txt +++ b/common/character_interactions/00_ce1_interactions.txt @@ -36,7 +36,7 @@ ce1_ask_to_promote_legend_interaction = { scope:recipient.dynasty = scope:actor.dynasty scope:recipient = { knows_language_of_culture = scope:actor.culture } scope:actor = { - has_friendly_relationship_with_character_trigger = { CHARACTER = scope:recipient } + has_any_moderate_good_relationship_with_character_trigger = { CHARACTER = scope:recipient } } scope:recipient = { any_character_to_title_neighboring_county = { diff --git a/common/character_interactions/00_character_interactions.txt b/common/character_interactions/00_character_interactions.txt index e765cb72..0ce12166 100644 --- a/common/character_interactions/00_character_interactions.txt +++ b/common/character_interactions/00_character_interactions.txt @@ -650,7 +650,14 @@ offer_vassalization_interaction = { character_is_realm_neighbor = scope:recipient } } - scope:recipient.capital_province = { squared_distance = { target = scope:actor.capital_province value < 200000 } } + scope:recipient = { + # landless ruler count as within realm + trigger_if = { + limit = { is_landed = no } + NOT = { capital_county.holder = { target_is_same_character_or_above = scope:actor } } + } + capital_province = { squared_distance = { target = scope:actor.capital_province value < 200000 } } + } } add = -250 } @@ -662,7 +669,14 @@ offer_vassalization_interaction = { character_is_realm_neighbor = scope:recipient } } - scope:recipient.capital_province = { squared_distance = { target = scope:actor.capital_province value >= 200000 } } + scope:recipient = { + # landless ruler count as within realm + trigger_if = { + limit = { is_landed = no } + NOT = { capital_county.holder = { target_is_same_character_or_above = scope:actor } } + } + capital_province = { squared_distance = { target = scope:actor.capital_province value >= 200000 } } + } } add = -500 } @@ -1530,8 +1544,13 @@ offer_fealty_interaction = { NOT = { any_neighboring_top_liege_realm_owner = { this = scope:recipient } } + # landless ruler count as within realm + trigger_if = { + limit = { is_landed = no } + NOT = { capital_county.holder = { target_is_same_character_or_above = scope:actor } } + } + capital_province = { squared_distance = { target = scope:recipient.capital_province value < 200000 } } } - scope:actor.capital_province = { squared_distance = { target = scope:recipient.capital_province value < 200000 } } } add = -15 } @@ -1542,14 +1561,13 @@ offer_fealty_interaction = { NOT = { any_neighboring_top_liege_realm_owner = { this = scope:recipient } } - } - trigger_if = { - limit = { - exists = scope:recipient.suzerain - scope:recipient.suzerain != scope:actor + # landless ruler count as within realm + trigger_if = { + limit = { is_landed = no } + NOT = { capital_county.holder = { target_is_same_character_or_above = scope:actor } } } + capital_province = { squared_distance = { target = scope:recipient.capital_province value >= 200000 } } } - scope:actor.capital_province = { squared_distance = { target = scope:recipient.capital_province value >= 200000 } } } add = -25 } diff --git a/common/character_interactions/00_culture_interactions.txt b/common/character_interactions/00_culture_interactions.txt index a077fe18..e64ec67e 100644 --- a/common/character_interactions/00_culture_interactions.txt +++ b/common/character_interactions/00_culture_interactions.txt @@ -122,9 +122,7 @@ ai_cultural_hybridization_interaction = { sub_realm_size >= 4 is_physically_able_adult = yes is_at_war = no - NOT = { - has_game_rule = none_hybrid_culture_ai_frequency - } + game_rule_can_create_hybird_culture_trigger = yes } is_shown = { @@ -216,11 +214,6 @@ ai_cultural_hybridization_interaction = { has_game_rule = less_common_hybrid_culture_ai_frequency } - modifier = { - factor = 0 - exists = global_var:has_ai_hybrid_event_cooldown - } - modifier = { factor = 0 culture = { diff --git a/common/character_interactions/00_diarch_interactions.txt b/common/character_interactions/00_diarch_interactions.txt index 4b536176..75d4fb2d 100644 --- a/common/character_interactions/00_diarch_interactions.txt +++ b/common/character_interactions/00_diarch_interactions.txt @@ -1577,11 +1577,16 @@ diarch_imprison_interaction = { on_decline = { scope:actor = { + save_scope_as = use_strife_not_tyranny imprison_HoF_consequences_effect = yes imprison_tyranny_effect = yes } # Do we want a war or an escape? scope:recipient = { + add_opinion = { + target = scope:actor + modifier = attempted_imprisonment_opinion + } # If target is count or higher, we want the option to start a war. if = { limit = { @@ -1599,6 +1604,11 @@ diarch_imprison_interaction = { diarch_declare_recipient_criminal_effect = yes } 50 = { + trigger = { + scope:actor = { + is_landed = yes # consistent with char_interaction.0283 + } + } show_chance = no desc = char_interaction.0263.result.war scope:recipient = { @@ -5010,10 +5020,14 @@ diarch_coup_liege_interaction = { scope:recipient = scope:actor.liege } } - scope:recipient = { save_scope_as = secondary_recipient } + scope:recipient = { + save_scope_as = secondary_recipient + } } # Always make sure we're targeting your liege as the recipient for UX consistency. - scope:actor.liege = { save_scope_as = recipient } + scope:actor.liege = { + save_scope_as = recipient + } } is_shown = { @@ -5028,12 +5042,11 @@ diarch_coup_liege_interaction = { is_designated_diarch = yes } } - # Valid on vassals of your liege or your liege themselves. - ## More complex triggers don't generally work because redirect brings the interaction back to targeting the liege as scope:recipient, so we're left with this. - ### Don't try to improve it, it's not worth it, but if you _do_, then test your changes thoroughly. - #### When this breaks (which it does easily), it tends to mean the interaction shows up as valid against _every_ other character in diplomatic range. - OR = { - scope:recipient = scope:actor.liege + # secondary_recipient is always saved whenever you use it on anyone who isn't yourself or your liege, so we use this fact to validate it after the redirect, otherwise it will show up on every other ruler in the game + trigger_if = { + limit = { + exists = scope:secondary_recipient + } scope:secondary_recipient.liege ?= scope:actor.liege } } @@ -5256,12 +5269,18 @@ diarch_coup_liege_interaction = { # Opinion. ## Of scope:actor. opinion_modifier = { + trigger = { + exists = scope:secondary_recipient # because the secondary_recipient hasn't been chosen when the interaction is initialized + } who = scope:secondary_recipient opinion_target = scope:actor multiplier = 1 } ## Of scope:recipient. opinion_modifier = { + trigger = { + exists = scope:secondary_recipient + } who = scope:secondary_recipient opinion_target = scope:recipient multiplier = -0.5 @@ -5269,6 +5288,9 @@ diarch_coup_liege_interaction = { # Personality. ## Values. ai_value_modifier = { + trigger = { + exists = scope:secondary_recipient + } who = scope:secondary_recipient ai_honor = -1 ai_boldness = 0.25 @@ -5278,68 +5300,69 @@ diarch_coup_liege_interaction = { modifier = { add = diarch_ai_desire_plus_3_value desc = diarch_coup_liege_interaction.tt.liege_has_loyalty_hook.tt.has_trait.disloyal - scope:secondary_recipient = { has_trait = disloyal } + scope:secondary_recipient ?= { has_trait = disloyal } } ### +++ Ambitious. modifier = { add = diarch_ai_desire_plus_3_value desc = diarch_coup_liege_interaction.tt.liege_has_loyalty_hook.tt.has_trait.ambitious - scope:secondary_recipient = { has_trait = ambitious } + scope:secondary_recipient ?= { has_trait = ambitious } } ### ++ Arbitrary. modifier = { add = diarch_ai_desire_plus_2_value desc = diarch_coup_liege_interaction.tt.liege_has_loyalty_hook.tt.has_trait.arbitrary - scope:secondary_recipient = { has_trait = arbitrary } + scope:secondary_recipient ?= { has_trait = arbitrary } } ### + Fickle. modifier = { add = diarch_ai_desire_plus_1_value desc = diarch_coup_liege_interaction.tt.liege_has_loyalty_hook.tt.has_trait.fickle - scope:secondary_recipient = { has_trait = fickle } + scope:secondary_recipient ?= { has_trait = fickle } } ### - Stubborn. modifier = { add = diarch_ai_desire_minus_1_value desc = diarch_coup_liege_interaction.tt.liege_has_loyalty_hook.tt.has_trait.stubborn - scope:secondary_recipient = { has_trait = stubborn } + scope:secondary_recipient ?= { has_trait = stubborn } } ### -- Just. modifier = { add = diarch_ai_desire_minus_2_value desc = diarch_coup_liege_interaction.tt.liege_has_loyalty_hook.tt.has_trait.just - scope:secondary_recipient = { has_trait = just } + scope:secondary_recipient ?= { has_trait = just } } ### --- Content. modifier = { add = diarch_ai_desire_minus_3_value desc = diarch_coup_liege_interaction.tt.liege_has_loyalty_hook.tt.has_trait.content - scope:secondary_recipient = { has_trait = content } + scope:secondary_recipient ?= { has_trait = content } } ### --- Loyal. modifier = { add = diarch_ai_desire_minus_3_value desc = diarch_coup_liege_interaction.tt.liege_has_loyalty_hook.tt.has_trait.loyal - scope:secondary_recipient = { has_trait = loyal } + scope:secondary_recipient ?= { has_trait = loyal } } # Hooks. ## Weak hooks are happy to have you in power. modifier = { add = 25 - scope:secondary_recipient = { has_weak_hook = scope:actor } + scope:secondary_recipient ?= { has_weak_hook = scope:actor } } ## Strong hooks are *very* happy to have you in power. modifier = { add = 75 - scope:secondary_recipient = { has_strong_hook = scope:actor } + scope:secondary_recipient ?= { has_strong_hook = scope:actor } } ## And conversely, don't want you to coup scope:recipient if they've already got a strong hook on them. modifier = { add = -100 - scope:secondary_recipient = { has_strong_hook = scope:recipient } + scope:secondary_recipient ?= { has_strong_hook = scope:recipient } } ## Loyalty hooks stop the AI signing up. modifier = { + exists = scope:secondary_recipient add = -1000 desc = diarch_coup_liege_interaction.tt.liege_has_loyalty_hook diarch_loyalty_due_to_hook_trigger = { @@ -5355,12 +5378,12 @@ diarch_coup_liege_interaction = { # Reduce the malus a little if also allied to scope:actor. if = { limit = { - scope:secondary_recipient = { is_allied_to = scope:actor } + scope:secondary_recipient ?= { is_allied_to = scope:actor } } add = 50 } } - scope:secondary_recipient = { is_allied_to = scope:recipient } + scope:secondary_recipient ?= { is_allied_to = scope:recipient } } ## Heirs don't generally want to betray scope:recipient, as they'll lose out. modifier = { @@ -6996,9 +7019,11 @@ diarch_swing_scales_currency_interaction = { scope:actor.var:movement_power_individual >= decent_movement_power_value } is_shown = { + exists = scope:actor.var:movement_power_individual scope:actor = { government_has_flag = government_is_celestial is_diarch_of_target = scope:recipient + exists = var:movement_power_individual } scope:recipient = { government_has_flag = government_is_celestial } } @@ -8580,7 +8605,7 @@ liege_dismiss_vizier_interaction = { declare_me_regent_interaction = { category = interaction_category_diarch icon = icon_declare_me_regent - filter_tags = { admin_liege rep_liege } + filter_tags = { admin_liege } desc = declare_me_regent_interaction_desc notification_text = DECLARE_ME_REGENT_PROPOSAL @@ -9193,16 +9218,26 @@ appoint_vizier_interaction = { NOT = { has_diarchy_active_parameter = diarchy_is_vizierate } } # We perform this upon ourselves or our (probable) candidates. - scope:recipient = { - OR = { - this = scope:actor - is_courtier_of = scope:actor - AND = { - highest_held_title_tier = tier_barony - liege = scope:actor + trigger_if = { + limit = { + exists = scope:secondary_recipient + } + scope:secondary_recipient = { + is_valid_basic_candidate_for_vizier_trigger = yes + OR = { + is_courtier_of = scope:actor + AND = { + highest_held_title_tier = tier_barony + liege = scope:actor + } } } } + trigger_else = { + scope:recipient = { + this = scope:actor + } + } } is_valid_showing_failures_only = { @@ -9227,6 +9262,14 @@ appoint_vizier_interaction = { populate_recipient_list = { sort_vizier_candidates_to_list_effect = yes } + redirect = { + if = { + limit = { scope:recipient != scope:actor } + scope:recipient = { save_scope_as = secondary_recipient } + scope:actor = { save_scope_as = recipient } + } + } + cost = { prestige = major_prestige_value renown = { diff --git a/common/character_interactions/00_invite_agent_to_scheme.txt b/common/character_interactions/00_invite_agent_to_scheme.txt index 2723d6ab..85688414 100644 --- a/common/character_interactions/00_invite_agent_to_scheme.txt +++ b/common/character_interactions/00_invite_agent_to_scheme.txt @@ -14,6 +14,8 @@ invite_agent_to_scheme_interaction = { always = scope:mandala_trickster always = scope:gift always = scope:gift_significant + always = scope:treasury + always = scope:treasury_significant always = scope:offer_hook always = scope:offer_hook_strong always = scope:hook @@ -45,6 +47,8 @@ invite_agent_to_scheme_interaction = { always = scope:mandala_trickster always = scope:gift always = scope:gift_significant + always = scope:treasury + always = scope:treasury_significant always = scope:offer_hook always = scope:offer_hook_strong always = scope:hook @@ -87,6 +91,22 @@ invite_agent_to_scheme_interaction = { } stress_impact = { greedy = medium_stress_impact_gain } } + # Treasury Bribe + if = { + limit = { always = scope:treasury } + pay_treasury_to_gold = { + value = bribe_value + target = scope:recipient + } + } + # Big Treasury Bribe + if = { + limit = { always = scope:treasury_significant } + pay_treasury_to_gold = { + value = greater_bribe_value + target = scope:recipient + } + } # Offer Hook if = { limit = { always = scope:offer_hook } @@ -449,6 +469,12 @@ invite_agent_to_scheme_interaction = { send_option = { flag = gift is_shown = { + NOT = { + scope:actor = { + has_treasury = yes + has_title = title:e_minister_censor + } + } # We don't show bribes for schemes where agents will always auto-accept or else deny. NAND = { scope:scheme = { is_scheme_category = contract } @@ -476,6 +502,12 @@ invite_agent_to_scheme_interaction = { send_option = { flag = gift_significant is_shown = { + NOT = { + scope:actor = { + has_treasury = yes + has_title = title:e_minister_censor + } + } # We don't show bribes for schemes where agents will always auto-accept or else deny. NAND = { scope:scheme = { is_scheme_category = contract } @@ -499,6 +531,68 @@ invite_agent_to_scheme_interaction = { } } } + ## Treasury + send_option = { + flag = treasury + is_shown = { + scope:actor = { + has_treasury = yes + has_title = title:e_minister_censor + } + # We don't show bribes for schemes where agents will always auto-accept or else deny. + NAND = { + scope:scheme = { is_scheme_category = contract } + scope:recipient = { is_courtier_of = scope:actor } + } + } + is_valid = { + scope:actor.treasury >= bribe_value + custom_tooltip = { + text = offer_gold.tt.cannot_offer_both_bribes + scope:treasury_significant = no + } + would_agent_accept_petty_bribes_against_target_trigger = yes + } + localization = SCHEME_AGENT_TREASURY_BRIBE + current_description = { + # Triggered desc so that we don't get a weird double tooltip. + triggered_desc = { + trigger = { scope:actor.treasury >= bribe_value } + desc = SCHEME_AGENT_TREASURY_BRIBE_VALID + } + } + } + ## Even more treasury + send_option = { + flag = treasury_significant + is_shown = { + scope:actor = { + has_treasury = yes + has_title = title:e_minister_censor + } + # We don't show bribes for schemes where agents will always auto-accept or else deny. + NAND = { + scope:scheme = { is_scheme_category = contract } + scope:recipient = { is_courtier_of = scope:actor } + } + } + is_valid = { + scope:actor.treasury >= greater_bribe_value + custom_tooltip = { + text = offer_gold.tt.cannot_offer_both_bribes + scope:treasury = no + } + would_agent_accept_petty_bribes_against_target_trigger = yes + } + localization = SCHEME_AGENT_TREASURY_SIGNIFICANT_BRIBE + current_description = { + # Triggered desc so that we don't get a weird double tooltip. + triggered_desc = { + trigger = { scope:actor.treasury >= greater_bribe_value } + desc = SCHEME_AGENT_TREASURY_SIGNIFICANT_VALID + } + } + } ## Offer a hook send_option = { flag = offer_hook diff --git a/common/character_interactions/00_marriage_interactions.txt b/common/character_interactions/00_marriage_interactions.txt index 9773407c..bdd108ef 100644 --- a/common/character_interactions/00_marriage_interactions.txt +++ b/common/character_interactions/00_marriage_interactions.txt @@ -787,10 +787,7 @@ arrange_marriage_interaction = { custom_tooltip = { text = grand_wedding_already_promised_tt NOR = { - AND = { - has_variable = promised_grand_wedding_marriage_countdown - var:promised_grand_wedding_marriage_countdown = { is_alive = yes } - } + var:promised_grand_wedding_marriage_countdown ?= { is_alive = yes } has_variable = grand_wedding_promise_pending } } @@ -858,8 +855,7 @@ arrange_marriage_interaction = { } trigger_if = { limit = { - exists = scope:secondary_recipient.liege - scope:secondary_recipient.liege = { + scope:secondary_recipient.liege ?= { diarch = scope:secondary_recipient has_active_diarchy = yes } @@ -882,17 +878,15 @@ arrange_marriage_interaction = { flag = matrilineal localization = MATRILINEAL_OFFER is_shown = { - OR = { - NOT = { exists = scope:secondary_actor } - NOT = { exists = scope:secondary_recipient } - scope:secondary_actor = { sex_opposite_of = scope:secondary_recipient } + NAND = { + scope:secondary_actor ?= { is_male = yes } + scope:secondary_recipient ?= { is_male = yes } } } current_description = { triggered_desc = { trigger = { - exists = scope:secondary_actor - scope:secondary_actor = { + scope:secondary_actor ?= { betrothed = scope:secondary_recipient matrilinear_betrothal = yes } @@ -931,12 +925,16 @@ arrange_marriage_interaction = { } } } + # so they can use grand wedding... + NAND = { + scope:secondary_actor ?= { is_female = yes } + scope:secondary_recipient ?= { is_female = yes } + } } starts_enabled = { trigger_if = { limit = { - exists = scope:secondary_actor - scope:secondary_actor = { + scope:secondary_actor ?= { betrothed = scope:secondary_recipient } } @@ -946,8 +944,7 @@ arrange_marriage_interaction = { } trigger_else_if = { limit = { - exists = scope:secondary_actor - scope:actor = scope:secondary_actor + scope:secondary_actor ?= scope:actor scope:actor = { is_female = yes is_ai = no @@ -963,18 +960,20 @@ arrange_marriage_interaction = { } AND = { this = scope:recipient - exists = scope:secondary_recipient - scope:secondary_recipient = { + scope:secondary_recipient ?= { is_female = yes } faith = { has_doctrine = doctrine_gender_equal } } AND = { - exists = scope:secondary_actor - scope:actor = scope:secondary_actor + scope:secondary_actor ?= this is_female = yes is_ai = no } + AND = { + scope:secondary_actor ?= { is_female = yes } + scope:secondary_recipient ?= { is_female = yes } + } } } } @@ -1322,28 +1321,40 @@ marry_off_interaction = { #otherwise, populate with anyone eligible else = { scope:secondary_actor = { - every_opposite_sex_spouse_candidate = { add_to_list = characters } if = { - limit = { allowed_to_marry_same_sex_trigger = yes } - every_same_sex_spouse_candidate = { + limit = { + culture = { has_cultural_parameter = reduced_marriage_acceptance_distant_realms } + } + every_opposite_sex_spouse_candidate = { limit = { - scope:secondary_actor != this + top_liege.culture = scope:secondary_actor.top_liege.culture } add_to_list = characters } - } - } - # Cleanup list if insular culture - if = { - limit = { - scope:secondary_actor.culture = { has_cultural_parameter = reduced_marriage_acceptance_distant_realms } - } - every_in_list = { - list = characters - limit = { - NOT = { top_liege.culture = scope:secondary_actor.top_liege.culture } + if = { + limit = { allowed_to_marry_same_sex_trigger = yes } + every_same_sex_spouse_candidate = { + limit = { + scope:secondary_actor != this + top_liege.culture = scope:secondary_actor.top_liege.culture + } + add_to_list = characters + } + } + } + else = { + every_opposite_sex_spouse_candidate = { + add_to_list = characters + } + if = { + limit = { allowed_to_marry_same_sex_trigger = yes } + every_same_sex_spouse_candidate = { + limit = { + scope:secondary_actor != this + } + add_to_list = characters + } } - remove_from_list = characters } } } @@ -1674,6 +1685,12 @@ marry_off_interaction = { send_option = { flag = matrilineal localization = "MATRILINEAL_OFFER" + is_shown = { + NAND = { + scope:secondary_actor ?= { is_male = yes } + scope:secondary_recipient ?= { is_male = yes } + } + } starts_enabled = { scope:actor = { OR = { @@ -1681,18 +1698,28 @@ marry_off_interaction = { has_doctrine = doctrine_gender_female_dominated } AND = { - scope:secondary_actor = { is_female = yes } + scope:secondary_actor ?= { is_female = yes } faith = { has_doctrine = doctrine_gender_equal } } AND = { - exists = scope:secondary_actor - scope:actor = scope:secondary_actor + scope:secondary_actor ?= this is_female = yes is_ai = no } + AND = { + scope:secondary_actor ?= { is_female = yes } + scope:secondary_recipient ?= { is_female = yes } + } } } } + # so they can use grand wedding... + can_be_changed = { + NAND = { + scope:secondary_actor ?= { is_female = yes } + scope:secondary_recipient ?= { is_female = yes } + } + } } send_option = { @@ -1881,106 +1908,81 @@ break_betrothal_interaction = { is_shown = { OR = { - #Betrothed to betrothed - scope:actor.betrothed = scope:recipient - - #Actor breaking recipient's betrothal with their courtier/vassal child - scope:actor = { - any_courtier = { - is_ai = yes - is_betrothed = yes - betrothed = { this = scope:recipient } - OR = { - is_playable_character = no - any_parent = { this = scope:actor } - } - } + #Actor breaking their betrothal to recipient or recipient's courtier/vassal child + scope:actor.betrothed ?= { + break_betrothal_valid_target_trigger = { CHARACTER = scope:recipient } } #Actor breaking the betrothal of their courtier/vassal child scope:recipient = { - is_ai = yes - is_betrothed = yes - OR = { - AND = { - is_playable_character = no - liege = scope:actor - } - AND = { - is_child_of = scope:actor - NOT = { - matchmaker = { - is_parent_of = prev - this != scope:actor - } - } - OR = { - is_playable_character = no - target_is_liege_or_above = scope:actor - } - } - } - betrothed = { always = yes } + break_betrothal_valid_target_trigger = { CHARACTER = scope:actor } } - #Break recipient's betrothal with actor's vassal child/courtier - scope:recipient = { - is_betrothed = yes - betrothed = { - is_ai = yes - OR = { - AND = { - is_child_of = scope:actor - target_is_liege_or_above = scope:actor - NOT = { - matchmaker = { - is_parent_of = prev - this != scope:actor - } - } - } - AND = { - is_playable_character = no - liege = scope:actor - } - } - } - } - - #Actor breaking their betrothal to recipient's courtier/vassal child - AND = { - scope:actor = { is_betrothed = yes } - scope:recipient = { - OR = { - #Check for courtiers - any_courtier = { - is_betrothed = yes - betrothed = scope:actor - liege = scope:recipient - } - #Check for vassal children - any_child = { - is_betrothed = yes - betrothed = scope:actor - OR = { - is_playable_character = no - target_is_liege_or_above = scope:recipient - } - NOT = { - matchmaker = { - is_parent_of = prev - this != scope:actor - } - } - } - } - } + #Break recipient's betrothal with actor, or actor's vassal child/courtier + scope:recipient.betrothed ?= { + break_betrothal_valid_target_trigger = { CHARACTER = scope:actor } } } } - is_valid = { + populate_actor_list = { + # breaking your own betrothal to recipient or their courtier or unplayable child + if = { + limit = { + betrothed ?= { + break_betrothal_valid_target_trigger = { CHARACTER = scope:recipient } + } + } + add_to_list = characters + } + scope:recipient = { + if = { + limit = { + betrothed ?= { + is_ai = yes + break_betrothal_valid_target_trigger = { CHARACTER = scope:actor } + } + } + add_to_list = characters + } + } + every_courtier = { + limit = { + is_ai = yes + is_betrothed = yes + betrothed ?= { + break_betrothal_valid_target_trigger = { CHARACTER = scope:recipient } + } + OR = { + is_playable_character = no + any_parent = { this = scope:actor } + } + } + add_to_list = characters + } + } + redirect = { + # secondary_actor is the one under actor's control, could be actor + if = { + limit = { + scope:actor.betrothed ?= { + break_betrothal_valid_target_trigger = { CHARACTER = scope:recipient } + } + } + scope:actor = { save_scope_as = secondary_actor } + } + else_if = { + limit = { + scope:recipient = { + break_betrothal_valid_target_trigger = { CHARACTER = scope:actor } + } + } + scope:recipient = { save_scope_as = secondary_actor } + } + else = { + scope:recipient.betrothed ?= { save_scope_as = secondary_actor } + } } is_valid_showing_failures_only = { @@ -1991,28 +1993,8 @@ break_betrothal_interaction = { object = scope:recipient trigger_if = { limit = { - exists = scope:recipient.betrothed - OR = { - scope:recipient.betrothed = scope:actor - scope:recipient.betrothed = { - is_ai = yes - OR = { - AND = { - is_child_of = scope:actor - target_is_liege_or_above = scope:actor - NOT = { - matchmaker = { - is_parent_of = prev - this != scope:actor - } - } - } - AND = { - is_playable_character = no - liege = scope:actor - } - } - } + scope:recipient.betrothed ?= { + break_betrothal_valid_target_trigger = { CHARACTER = scope:actor } } exists = scope:recipient.var:hook_used_for_betrothal } @@ -2027,28 +2009,8 @@ break_betrothal_interaction = { object = scope:recipient trigger_if = { limit = { - exists = scope:recipient.betrothed - OR = { - scope:recipient = scope:actor - scope:recipient = { - is_ai = yes - OR = { - AND = { - is_child_of = scope:actor - target_is_liege_or_above = scope:actor - NOT = { - matchmaker = { - is_parent_of = prev - this != scope:actor - } - } - } - AND = { - is_playable_character = no - liege = scope:actor - } - } - } + scope:recipient.betrothed ?= { + break_betrothal_valid_target_trigger = { CHARACTER = scope:actor } } exists = scope:recipient.betrothed.var:hook_used_for_betrothal } @@ -2071,8 +2033,7 @@ break_betrothal_interaction = { is_betrothed = yes betrothed = scope:actor liege = scope:recipient - exists = var:hook_used_for_betrothal - var:hook_used_for_betrothal = { + var:hook_used_for_betrothal ?= { this = scope:actor } } @@ -2090,8 +2051,7 @@ break_betrothal_interaction = { this != scope:actor } } - exists = var:hook_used_for_betrothal - var:hook_used_for_betrothal = { + var:hook_used_for_betrothal ?= { this = scope:actor } } @@ -2109,7 +2069,7 @@ break_betrothal_interaction = { limit = { OR = { scope:recipient = { has_been_promised_grand_wedding = yes } - scope:recipient.betrothed = { has_been_promised_grand_wedding = yes } + scope:recipient.betrothed ?= { has_been_promised_grand_wedding = yes } } } NOR = { @@ -2138,43 +2098,10 @@ break_betrothal_interaction = { on_accept = { #Identifies the "injured party" - scope:recipient = { - if = { - limit = { matchmaker = scope:actor } - betrothed = { save_scope_as = rejected_betrothed } - save_scope_as = rejecting_betrothed - } - else_if = { - limit = { - OR = { - #Check for courtiers - any_courtier = { - is_betrothed = yes - is_ai = yes - betrothed = scope:actor - liege = scope:recipient - } - #Check for vassal children - any_child = { - is_betrothed = yes - is_ai = yes - betrothed = scope:actor - target_is_liege_or_above = scope:recipient - } - } - } - scope:actor.betrothed = { - save_scope_as = rejected_betrothed - } - scope:actor = { - save_scope_as = rejecting_betrothed - } - } - - else = { - save_scope_as = rejected_betrothed - betrothed = { save_scope_as = rejecting_betrothed } - } + # rejected_betrothed NEVER actor + scope:secondary_actor = { + save_scope_as = rejecting_betrothed + betrothed = { save_scope_as = rejected_betrothed } } # If it was a Grand Wedding, find the host @@ -2211,19 +2138,8 @@ break_betrothal_interaction = { if = { limit = { #Only if you had no reason to break the betrothal - scope:rejected_betrothed = { is_eunuch_trigger = no } - scope:rejecting_betrothed = { is_eunuch_trigger = no } + has_proper_reason_to_break_betrothal_trigger = no NOR = { - scope:rejected_betrothed = { has_trait_with_flag = can_not_marry } - scope:rejecting_betrothed = { has_trait_with_flag = can_not_marry } - scope:rejected_betrothed = { - allowed_to_marry_same_sex_trigger = no - sex_same_as = scope:rejecting_betrothed - } - scope:rejecting_betrothed = { - allowed_to_marry_same_sex_trigger = no - sex_same_as = scope:rejected_betrothed - } # Prestige loss for Grand Weddings is handled below in the specific effect scope:rejecting_betrothed = { has_been_promised_grand_wedding = yes } scope:rejected_betrothed = { has_been_promised_grand_wedding = yes } @@ -2231,41 +2147,25 @@ break_betrothal_interaction = { } #Prestige penalty if = { + limit = { + OR = { + scope:rejected_betrothed = { highest_held_title_tier > tier_empire } + scope:rejected_betrothal_owner = { highest_held_title_tier > tier_empire } + } + #Only applied for relevant characters + cost_prestige_for_break_betrothal_trigger = yes + } + scope:actor = { add_prestige = monumental_prestige_loss } + } + + else_if = { limit = { OR = { scope:rejected_betrothed = { highest_held_title_tier = tier_empire } scope:rejected_betrothal_owner = { highest_held_title_tier = tier_empire } } #Only applied for relevant characters - OR = { - scope:rejected_betrothed = { - OR = { - is_close_family_of = scope:actor - AND = { - exists = dynasty - exists = scope:actor.dynasty - dynasty = scope:actor.dynasty - } - } - } - scope:rejecting_betrothed = { - OR = { - is_close_family_of = scope:actor - AND = { - exists = dynasty - exists = scope:actor.dynasty - dynasty = scope:actor.dynasty - } - } - } - scope:actor = { - yields_alliance = { - candidate = scope:rejecting_betrothed - target = scope:rejected_betrothal_owner - target_candidate = scope:rejected_betrothed - } - } - } + cost_prestige_for_break_betrothal_trigger = yes } scope:actor = { add_prestige = massive_prestige_loss } } @@ -2277,35 +2177,7 @@ break_betrothal_interaction = { scope:rejected_betrothal_owner = { highest_held_title_tier = tier_kingdom } } #Only applied for relevant characters - OR = { - scope:rejected_betrothed = { - OR = { - is_close_family_of = scope:actor - AND = { - exists = dynasty - exists = scope:actor.dynasty - dynasty = scope:actor.dynasty - } - } - } - scope:rejecting_betrothed = { - OR = { - is_close_family_of = scope:actor - AND = { - exists = dynasty - exists = scope:actor.dynasty - dynasty = scope:actor.dynasty - } - } - } - scope:actor = { - yields_alliance = { - candidate = scope:rejecting_betrothed - target = scope:rejected_betrothal_owner - target_candidate = scope:rejected_betrothed - } - } - } + cost_prestige_for_break_betrothal_trigger = yes } scope:actor = { add_prestige = major_prestige_loss } } @@ -2317,35 +2189,7 @@ break_betrothal_interaction = { scope:rejected_betrothal_owner = { highest_held_title_tier = tier_duchy } } #Only applied for relevant characters - OR = { - scope:rejected_betrothed = { - OR = { - is_close_family_of = scope:actor - AND = { - exists = dynasty - exists = scope:actor.dynasty - dynasty = scope:actor.dynasty - } - } - } - scope:rejecting_betrothed = { - OR = { - is_close_family_of = scope:actor - AND = { - exists = dynasty - exists = scope:actor.dynasty - dynasty = scope:actor.dynasty - } - } - } - scope:actor = { - yields_alliance = { - candidate = scope:rejecting_betrothed - target = scope:rejected_betrothal_owner - target_candidate = scope:rejected_betrothed - } - } - } + cost_prestige_for_break_betrothal_trigger = yes } scope:actor = { add_prestige = medium_prestige_loss } } @@ -2357,35 +2201,7 @@ break_betrothal_interaction = { scope:rejected_betrothal_owner = { highest_held_title_tier = tier_county } } #Only applied for relevant characters - OR = { - scope:rejected_betrothed = { - OR = { - is_close_family_of = scope:actor - AND = { - exists = dynasty - exists = scope:actor.dynasty - dynasty = scope:actor.dynasty - } - } - } - scope:rejecting_betrothed = { - OR = { - is_close_family_of = scope:actor - AND = { - exists = dynasty - exists = scope:actor.dynasty - dynasty = scope:actor.dynasty - } - } - } - scope:actor = { - yields_alliance = { - candidate = scope:rejecting_betrothed - target = scope:rejected_betrothal_owner - target_candidate = scope:rejected_betrothed - } - } - } + cost_prestige_for_break_betrothal_trigger = yes } scope:actor = { add_prestige = minor_prestige_loss } } @@ -2397,35 +2213,7 @@ break_betrothal_interaction = { scope:rejected_betrothal_owner = { highest_held_title_tier = tier_barony } } #Only applied for relevant characters - OR = { - scope:rejected_betrothed = { - OR = { - is_close_family_of = scope:actor - AND = { - exists = dynasty - exists = scope:actor.dynasty - dynasty = scope:actor.dynasty - } - } - } - scope:rejecting_betrothed = { - OR = { - is_close_family_of = scope:actor - AND = { - exists = dynasty - exists = scope:actor.dynasty - dynasty = scope:actor.dynasty - } - } - } - scope:actor = { - yields_alliance = { - candidate = scope:rejecting_betrothed - target = scope:rejected_betrothal_owner - target_candidate = scope:rejected_betrothed - } - } - } + cost_prestige_for_break_betrothal_trigger = yes } scope:actor = { add_prestige = miniscule_prestige_loss } } @@ -2437,20 +2225,7 @@ break_betrothal_interaction = { if = { limit = { # There is no forced reason for breaking the betrothal - scope:rejected_betrothed = { is_eunuch_trigger = no } - scope:rejecting_betrothed = { is_eunuch_trigger = no } - NOR = { - scope:rejected_betrothed = { has_trait_with_flag = can_not_marry } - scope:rejecting_betrothed = { has_trait_with_flag = can_not_marry } - scope:rejecting_betrothed = { - allowed_to_marry_same_sex_trigger = no - sex_same_as = scope:rejected_betrothed - } - scope:rejected_betrothed = { - allowed_to_marry_same_sex_trigger = no - sex_same_as = scope:rejecting_betrothed - } - } + has_proper_reason_to_break_betrothal_trigger = no # A Grand Wedding was promised OR = { scope:rejecting_betrothed = { @@ -2462,33 +2237,18 @@ break_betrothal_interaction = { } } scope:actor = { break_grand_wedding_betrothal_effect = yes } - scope:rejected_betrothed = { trigger_event = marriage_interaction.0001 } } ###################################### # Opinion hits & notification events # ###################################### #Personal opinion hit for the rejected_betrothed - else_if = { - limit = { scope:rejected_betrothed != scope:actor } - scope:rejected_betrothed = { - if = { - limit = { - is_eunuch_trigger = no - scope:rejecting_betrothed = { is_eunuch_trigger = no } - NOR = { - has_trait_with_flag = can_not_marry - scope:rejecting_betrothed = { has_trait_with_flag = can_not_marry } - scope:rejecting_betrothed = { - allowed_to_marry_same_sex_trigger = no - sex_same_as = scope:rejected_betrothed - } - AND = { - allowed_to_marry_same_sex_trigger = no - sex_same_as = scope:rejecting_betrothed - } - } - } + else = { + if = { + limit = { + has_proper_reason_to_break_betrothal_trigger = no + } + scope:rejected_betrothed = { show_as_tooltip = { add_opinion = { target = scope:actor @@ -2496,58 +2256,12 @@ break_betrothal_interaction = { } } } - - hidden_effect = { trigger_event = marriage_interaction.0001 } - } - } - else = { - hidden_effect = { - scope:rejecting_betrothed = { - break_betrothal = scope:rejected_betrothed - } - } - } - - #Personal opinion hit for the rejected_betrothal_owner - if = { - limit = { - NOR = { - scope:rejected_betrothed = { - this = scope:rejected_betrothal_owner - } - scope:actor = { - this = scope:rejected_betrothal_owner - } - scope:actor = { - this = scope:rejected_betrothed - } - } - } - scope:rejected_betrothal_owner = { if = { limit = { - scope:rejected_betrothed = { is_eunuch_trigger = no } - scope:rejecting_betrothed = { is_eunuch_trigger = no } - NOR = { - scope:rejected_betrothed = { has_trait_with_flag = can_not_marry } - scope:rejecting_betrothed = { has_trait_with_flag = can_not_marry } - scope:rejected_betrothed = { - allowed_to_marry_same_sex_trigger = no - sex_same_as = scope:rejecting_betrothed - } - scope:rejecting_betrothed = { - allowed_to_marry_same_sex_trigger = no - sex_same_as = scope:rejected_betrothed - } - } + scope:actor != scope:rejected_betrothal_owner + scope:rejected_betrothal_owner != scope:rejected_betrothed } - if = { - limit = { - NOR = { - scope:rejected_betrothed = { has_been_promised_grand_wedding = yes } - scope:rejecting_betrothed = { has_been_promised_grand_wedding = yes } - } - } + scope:rejected_betrothal_owner = { show_as_tooltip = { add_opinion = { target = scope:actor @@ -2556,27 +2270,26 @@ break_betrothal_interaction = { } } } - - hidden_effect = { trigger_event = marriage_interaction.0001 } + } + if = { + limit = { + scope:actor != scope:rejected_betrothal_owner + } + scope:rejected_betrothal_owner = { trigger_event = marriage_interaction.0001 } + } + else = { + hidden_effect = { + scope:rejecting_betrothed = { + break_betrothal = scope:rejected_betrothed + } + } } } + #Personal opinion hit for other relative if = { limit = { - scope:rejected_betrothed = { is_eunuch_trigger = no } - scope:rejecting_betrothed = { is_eunuch_trigger = no } - NOR = { - scope:rejected_betrothed = { has_trait_with_flag = can_not_marry } - scope:rejecting_betrothed = { has_trait_with_flag = can_not_marry } - scope:rejected_betrothed = { - allowed_to_marry_same_sex_trigger = no - sex_same_as = scope:rejecting_betrothed - } - scope:rejecting_betrothed = { - allowed_to_marry_same_sex_trigger = no - sex_same_as = scope:rejected_betrothed - } - } + has_proper_reason_to_break_betrothal_trigger = no } #Opinion hit for close relatives of the rejected_betrothed (that are not rejected_betrothed_owner) if = { @@ -2630,10 +2343,8 @@ break_betrothal_interaction = { #Opinion hit for close relatives of the rejecting_betrothed (that are not also close relatives to rejected_betrothed) if = { limit = { - NOR = { - scope:rejecting_betrothed = scope:actor - scope:rejected_betrothed = scope:actor - } + scope:rejecting_betrothed != scope:actor + scope:rejected_betrothed != scope:actor scope:rejecting_betrothed = { any_close_or_extended_family_member = { NOR = { @@ -2656,13 +2367,13 @@ break_betrothal_interaction = { every_close_or_extended_family_member = { limit = { NOR = { - this = scope:rejected_betrothal_owner is_close_or_extended_family_of = scope:rejected_betrothed + this = scope:rejected_betrothal_owner this = scope:rejected_betrothed + this = scope:actor } } custom = all_family_members - add_opinion = { target = scope:actor modifier = broke_betrothal_grand_wedding_opinion @@ -2679,6 +2390,7 @@ break_betrothal_interaction = { is_close_or_extended_family_of = scope:rejected_betrothed this = scope:rejected_betrothal_owner this = scope:rejected_betrothed + this = scope:actor } } custom = all_family_members @@ -2693,17 +2405,17 @@ break_betrothal_interaction = { } scope:actor = { - # Was the marriage of relevence to the player? + # Was the marriage of relevence to the player? if = { limit = { scope:rejecting_betrothed = { - is_player_heir_of = scope:actor + is_child_of = scope:actor } } hidden_effect = { send_interface_toast = { type = msg_break_betrothal_player_heir - title = msg_break_betrothal + title = msg_break_betrothal_player_heir left_icon = scope:rejecting_betrothed right_icon = scope:rejected_betrothed custom_tooltip = break_betrothal_hook_toast_desc @@ -2728,15 +2440,13 @@ break_betrothal_interaction = { #Was the marriage promised to a vassal? if = { limit = { - exists = var:promised_to_marry_1 - var:promised_to_marry_1 = { + var:promised_to_marry_1 ?= { this = scope:rejected_betrothed any_parent = { is_vassal_of = scope:actor } } - exists = var:promised_to_marry_2 - var:promised_to_marry_2 = { + var:promised_to_marry_2 ?= { this = scope:rejecting_betrothed is_close_family_of = scope:actor } @@ -3218,10 +2928,7 @@ offer_concubine = { is_shown = { scope:actor != scope:recipient scope:actor = { - OR = { - culture = { has_cultural_tradition = tradition_concubines } - faith = { has_doctrine = doctrine_concubines } - } + allowed_more_concubines = yes } scope:recipient = { #NOT = { government_has_flag = government_is_true_herder } @@ -3637,10 +3344,7 @@ offer_concubine = { has_trait = greedy ai_greed > very_high_positive_ai_value } - OR = { - culture = { has_cultural_tradition = tradition_concubines } - faith = { has_doctrine = doctrine_concubines } - } + allowed_concubines = yes } ai_will_do = { @@ -3877,7 +3581,7 @@ dismiss_concubine_interaction = { scope:actor = { custom_tooltip = { NOT = { - var:family_widow_forbidden_divorce ?= scope:target + var:family_widow_forbidden_divorce ?= scope:recipient } text = BOUND_TO_FAMILY_WIDOW } @@ -4010,7 +3714,7 @@ divorce_character_interaction = { scope:actor = { custom_tooltip = { NOT = { - var:family_widow_forbidden_divorce ?= scope:target + var:family_widow_forbidden_divorce ?= scope:recipient } text = BOUND_TO_FAMILY_WIDOW } @@ -4151,7 +3855,7 @@ divorce_character_house_head_interaction = { scope:actor = { custom_tooltip = { NOT = { - var:family_widow_forbidden_divorce ?= scope:target + var:family_widow_forbidden_divorce ?= scope:recipient } text = BOUND_TO_FAMILY_WIDOW } @@ -4951,7 +4655,7 @@ divorce_character_dynast_request_interaction = { scope:actor = { custom_tooltip = { NOT = { - var:family_widow_forbidden_divorce ?= scope:target + var:family_widow_forbidden_divorce ?= scope:recipient } text = BOUND_TO_FAMILY_WIDOW } @@ -5131,7 +4835,7 @@ divorce_character_dynast_request_rel_head_interaction = { scope:actor = { custom_tooltip = { NOT = { - var:family_widow_forbidden_divorce ?= scope:target + var:family_widow_forbidden_divorce ?= scope:recipient } text = BOUND_TO_FAMILY_WIDOW } diff --git a/common/character_interactions/00_modifiy_vassal_contract.txt b/common/character_interactions/00_modifiy_vassal_contract.txt index 2c49a835..fbe7988a 100644 --- a/common/character_interactions/00_modifiy_vassal_contract.txt +++ b/common/character_interactions/00_modifiy_vassal_contract.txt @@ -15,7 +15,8 @@ is_shown = { scope:recipient = { this != scope:actor - liege ?= scope:actor # this excludes tributary contracts by default + liege = scope:actor + is_tributary = no # this excludes tributary contracts by default is_ruler = yes vassal_contract_has_modifiable_obligations = yes NOT = { government_allows = administrative } @@ -339,12 +340,14 @@ vassal_modify_vassal_contract_interaction = { is_shown = { scope:recipient = { - top_liege != this + liege = scope:actor this != scope:actor - liege ?= scope:actor # this excludes tributary contracts by default + is_tributary = no # this excludes tributary contracts by default vassal_contract_has_modifiable_obligations = yes - NOT = { government_allows = administrative } - NOT = { government_has_flag = government_is_nomadic } + NOR = { + government_allows = administrative + government_has_flag = government_is_nomadic + } } } @@ -595,10 +598,11 @@ ai_only_liege_modify_vassal_contract_interaction = { } scope:recipient = { this != scope:actor + liege = scope:actor NOT = { has_strong_hook = scope:actor } - liege ?= scope:actor # this excludes tributary contracts by default + is_tributary = no # this excludes tributary contracts by default is_ruler = yes vassal_contract_can_be_modified_trigger = yes does_ai_liege_in_vassal_contract_desire_obligation_change = yes @@ -683,10 +687,11 @@ ai_only_liege_modify_vassal_contract_admin_province_interaction = { } scope:recipient = { this != scope:actor + liege = scope:actor + is_tributary = no NOT = { has_strong_hook = scope:actor } - liege ?= scope:actor # this excludes tributary contracts by default is_ruler = yes government_has_flag = government_uses_admin_province_obligations @@ -748,10 +753,11 @@ ai_only_vassal_modify_vassal_contract_interaction = { has_usable_hook = scope:recipient vassal_contract_can_be_modified_trigger = yes does_ai_vassal_in_vassal_contract_desire_obligation_change = yes + is_tributary = no # this excludes tributary contracts by default + liege = scope:recipient } scope:recipient = { this != scope:actor - liege ?= scope:actor # this excludes tributary contracts by default is_ruler = yes NOT = { has_strong_hook = scope:actor @@ -824,11 +830,12 @@ admin_liege_modify_vassal_contract_interaction = { is_shown = { scope:recipient = { this != scope:actor + liege = scope:actor OR = { is_landed = yes is_councillor_of = scope:actor.top_liege } - liege ?= scope:actor # this excludes tributary contracts by default + is_tributary = no # this excludes tributary contracts by default is_ruler = yes vassal_contract_has_modifiable_obligations = yes government_allows = administrative @@ -1017,7 +1024,6 @@ admin_liege_modify_vassal_contract_interaction = { government_has_flag = government_is_celestial scope:obligation.vassal_contract_type = vassal_contract:celestial_provinces } - if = { limit = { OR = { @@ -1040,6 +1046,51 @@ admin_liege_modify_vassal_contract_interaction = { add_realm_law_skip_effects = celestial_appointment_succession_law } } + # Update the succession law for meritocratic province types if applicable - That way, we don't have to wait until the current law invalidates. + else_if = { + limit = { + government_has_flag = government_is_meritocratic + scope:obligation.vassal_contract_type = vassal_contract:meritocratic_provinces + } + if = { + limit = { + vassal_contract_has_flag = meritocratic_province_military + NOT = { has_realm_law = meritocratic_military_appointment_succession_law } + } + add_realm_law_skip_effects = meritocratic_military_appointment_succession_law + } + else_if = { + limit = { + OR = { + vassal_contract_has_flag = meritocratic_province_standard + vassal_contract_has_flag = meritocratic_province_industrial + } + NOT = { has_realm_law = meritocratic_appointment_succession_law } + } + add_realm_law_skip_effects = meritocratic_appointment_succession_law + } + } + # Update the succession law for japanese province types if applicable - That way, we don't have to wait until the current law invalidates. + else_if = { + limit = { + government_has_flag = government_is_japanese_administrative + scope:obligation.vassal_contract_type = vassal_contract:japan_administrative_provinces + } + if = { + limit = { + NOT = { vassal_contract_has_flag = japan_administrative_military_appointment } + NOT = { has_realm_law = japanese_appointment_succession_law } + } + add_realm_law_skip_effects = japanese_appointment_succession_law + } + else_if = { + limit = { + vassal_contract_has_flag = japan_administrative_military_appointment + NOT = { has_realm_law = japanese_military_appointment_succession_law } + } + add_realm_law_skip_effects = japanese_military_appointment_succession_law + } + } } } } @@ -1060,7 +1111,7 @@ admin_vassal_modify_vassal_contract_interaction = { common_interaction = yes icon = icon_contract_modification_single - filter_tags = { admin_liege rep_liege } + filter_tags = { admin_liege } send_name = "admin_vassal_modify_vassal_contract_interaction_send" desc = admin_vassal_modify_vassal_contract_interaction_desc @@ -1069,7 +1120,8 @@ admin_vassal_modify_vassal_contract_interaction = { scope:actor = { top_liege != this this != scope:recipient - liege ?= scope:recipient # this excludes tributary contracts by default + liege = scope:recipient + is_tributary = no # this excludes tributary contracts by default vassal_contract_has_modifiable_obligations = yes government_allows = administrative tgp_is_ceremonial_liege_trigger = no @@ -1235,6 +1287,51 @@ admin_vassal_modify_vassal_contract_interaction = { add_realm_law_skip_effects = celestial_appointment_succession_law } } + # Update the succession law for meritocratic province types if applicable - That way, we don't have to wait until the current law invalidates. + else_if = { + limit = { + government_has_flag = government_is_meritocratic + scope:obligation.vassal_contract_type = vassal_contract:meritocratic_provinces + } + if = { + limit = { + vassal_contract_has_flag = meritocratic_province_military + NOT = { has_realm_law = meritocratic_military_appointment_succession_law } + } + add_realm_law_skip_effects = meritocratic_military_appointment_succession_law + } + else_if = { + limit = { + OR = { + vassal_contract_has_flag = meritocratic_province_standard + vassal_contract_has_flag = meritocratic_province_industrial + } + NOT = { has_realm_law = meritocratic_appointment_succession_law } + } + add_realm_law_skip_effects = meritocratic_appointment_succession_law + } + } + # Update the succession law for japanese province types if applicable - That way, we don't have to wait until the current law invalidates. + else_if = { + limit = { + government_has_flag = government_is_japanese_administrative + scope:obligation.vassal_contract_type = vassal_contract:japan_administrative_provinces + } + if = { + limit = { + NOT = { vassal_contract_has_flag = japan_administrative_military_appointment } + NOT = { has_realm_law = japanese_appointment_succession_law } + } + add_realm_law_skip_effects = japanese_appointment_succession_law + } + else_if = { + limit = { + vassal_contract_has_flag = japan_administrative_military_appointment + NOT = { has_realm_law = japanese_military_appointment_succession_law } + } + add_realm_law_skip_effects = japanese_military_appointment_succession_law + } + } } } } @@ -1427,8 +1524,9 @@ nomad_liege_modify_vassal_contract_interaction = { is_shown = { scope:recipient = { - NOT = { this = scope:actor } - liege ?= scope:actor # this excludes tributary contracts by default + this != scope:actor + liege = scope:actor + is_tributary = no # this excludes tributary contracts by default is_ruler = yes vassal_contract_has_modifiable_obligations = yes government_has_flag = government_is_nomadic @@ -1692,8 +1790,9 @@ nomad_vassal_modify_vassal_contract_interaction = { is_shown = { scope:recipient = { is_independent_ruler = no - NOT = { this = scope:actor } - liege ?= scope:actor # this excludes tributary contracts by default + this != scope:actor + liege = scope:actor + is_tributary = no # this excludes tributary contracts by default vassal_contract_has_modifiable_obligations = yes government_has_flag = government_is_nomadic } @@ -1874,7 +1973,7 @@ suzerain_modify_tributary_contract_interaction = { scope:recipient = { is_tributary_of = scope:actor # excludes vassals by default subject_contract_has_modifiable_obligations = yes - NOT = { government_has_flag = government_is_true_herder } + NOT = { government_has_flag = government_is_herder } } } diff --git a/common/character_interactions/00_prison_interactions.txt b/common/character_interactions/00_prison_interactions.txt index 111cde89..ce82cc74 100644 --- a/common/character_interactions/00_prison_interactions.txt +++ b/common/character_interactions/00_prison_interactions.txt @@ -436,281 +436,281 @@ on_decline = { if = { limit = { - scope:recipient = { - has_government = landless_adventurer_government - reverse_has_opinion_modifier = { - target = scope:actor - modifier = eviction_ignored_opinion - } - } - } - scope:recipient = { - if = { - limit = { current_military_strength >= ep3_interactions_events_0500_troops_count_value } - start_war = { - cb = ep3_laamp_apprehend_adventurer_cb - target = scope:actor - } - } - else = { - # Remove them immediately. - remove_laamp_from_exiled_county_automatically_effect = { - PROVINCE = scope:recipient.location - LAAMP = scope:recipient - } - } - } - } - else = { - scope:actor = { - imprison_HoF_consequences_effect = yes - imprison_tyranny_effect = yes - } - scope:recipient = { - #If target is count or higher, start war. - if = { - limit = { - is_playable_character = yes - primary_title.tier > tier_barony - } - if = { - limit = { - is_a_faction_member = yes - liege = scope:actor - joined_faction = { - faction_target = scope:actor - NOT = { faction_is_type = populist_faction } - } - } - joined_faction = { - save_scope_as = retaliating_faction # For loc - imprisonment_retribution_start_faction_war_if_valid = yes - } - hidden_effect = { - if = { - limit = { NOT = { exists = joined_faction.faction_war } } - war_for_imprison_effect = yes - } - } - } - else = { - war_for_imprison_effect = yes - } - } - #If target is a baron or unlanded, have them escape. - else = { - if = { #To block them from being instantly rehired - limit = { - is_councillor_of = scope:actor - can_be_fired_from_council_trigger = { COURT_OWNER = scope:actor } - } - set_variable = { - name = escaped_imprisonment_from - value = scope:actor - years = 20 - } - } - imprison_court_chaplain_consequences_effect = yes - if = { - limit = { - is_landed_or_landless_administrative = yes - } - depose_effect = { DEPOSER = scope:actor } - } - else_if = { - limit = { - is_hostage = yes - warden = scope:actor - } - save_scope_as = imprison_failure - save_scope_as = hostage - warden = { save_scope_as = warden } - home_court = { save_scope_as = home_court } - scope:warden = { trigger_event = bp2_hostage_system.0400 } - scope:home_court = { trigger_event = bp2_hostage_system.0401 } - return_hostage = yes - } - else_if = { - limit = { - is_landed_or_landless_administrative = no - trigger_if = { - limit = { - is_councillor = yes - } - can_be_fired_from_council_trigger = { COURT_OWNER = scope:recipient.liege } - } - trigger_if = { - limit = { - exists = scope:actor.faith.religious_head - } - scope:actor.faith.religious_head != scope:recipient - } - } - select_and_move_to_pool_effect = yes - } - add_opinion = { - target = scope:actor - modifier = attempted_imprisonment_opinion - } - } - } - - if = { - limit = { - scope:actor = { has_realm_law_flag = vassal_refusal_is_treason } - } scope:actor = { - add_opinion = { - target = scope:recipient - modifier = treasonous_imprison_refusal - } + NOT = { has_title = title:e_minister_of_justice } } } - } - - #Remove them as guardian/ward for any courtier (feedback given in char_interaction.0230) - scope:actor = { - if = { - limit = { - any_courtier = { - has_relation_guardian = scope:recipient - } - } - every_courtier = { - limit = { - has_relation_guardian = scope:recipient - } - save_scope_as = ward - scope:recipient = { remove_relation_ward = scope:ward } - - scope:ward = { - if = { - limit = { - host != liege - } - return_to_court = yes - } - guardian_remove_opinion_effect = { - GUARDIAN = scope:recipient - WARD = this - WARD_LIEGE = scope:actor - } - } - - add_to_list = ward_children - } - } - if = { - limit = { - any_courtier = { - has_relation_ward = scope:recipient - } - } - random_courtier = { - limit = { - has_relation_ward = scope:recipient - } - save_scope_as = guardian - scope:guardian = { remove_relation_ward = scope:recipient } - - scope:guardian = { - if = { - limit = { - host != liege - } - return_to_court = yes - } - guardian_remove_opinion_effect = { - GUARDIAN = this - WARD = scope:recipient - WARD_LIEGE = scope:actor - } - } - - add_to_list = guardian_list - } - - hidden_effect = { - scope:guardian = { - send_interface_message = { - type = event_childhood_neutral - title = remove_guardian_interaction_notification - left_icon = scope:recipient - right_icon = scope:guardian - remove_guardian_effect = { - GUARDIAN = scope:guardian - WARD = scope:recipient - RETURN_WARD = yes - HIDE_OPINION = no - } - } - } - } - } - } - - scope:actor = { if = { limit = { scope:recipient = { - OR = { - is_playable_character = no - AND = { - is_playable_character = yes - primary_title.tier = tier_barony + has_government = landless_adventurer_government + } + } + scope:recipient = { + if = { + limit = { current_military_strength >= ep3_interactions_events_0500_troops_count_value } + start_war = { + cb = ep3_laamp_apprehend_adventurer_cb + target = scope:actor + } + } + else = { + # Remove them immediately. + remove_laamp_from_exiled_county_automatically_effect = { + PROVINCE = scope:recipient.location + LAAMP = scope:recipient + } + } + } + } + else = { + scope:actor = { + imprison_HoF_consequences_effect = yes + imprison_tyranny_effect = yes + } + scope:recipient = { + #If target is count or higher, start war. + if = { + limit = { + is_playable_character = yes + primary_title.tier > tier_barony + } + if = { + limit = { + is_a_faction_member = yes + liege = scope:actor + joined_faction = { + faction_target = scope:actor + NOT = { faction_is_type = populist_faction } + } + } + joined_faction = { + save_scope_as = retaliating_faction # For loc + imprisonment_retribution_start_faction_war_if_valid = yes + } + hidden_effect = { + if = { + limit = { NOT = { exists = joined_faction.faction_war } } + war_for_imprison_effect = yes + } + } + } + else = { + war_for_imprison_effect = yes + } + } + #If target is a baron or unlanded, have them escape. + else = { + if = { #To block them from being instantly rehired + limit = { + is_councillor_of = scope:actor + can_be_fired_from_council_trigger = { COURT_OWNER = scope:actor } + } + set_variable = { + name = escaped_imprisonment_from + value = scope:actor + years = 20 + } + } + imprison_court_chaplain_consequences_effect = yes + if = { + limit = { + is_landed_or_landless_administrative = yes + } + depose_effect = { DEPOSER = scope:actor } + } + else_if = { + limit = { + is_hostage = yes + warden = scope:actor + } + save_scope_as = imprison_failure + save_scope_as = hostage + warden = { save_scope_as = warden } + home_court = { save_scope_as = home_court } + scope:warden = { trigger_event = bp2_hostage_system.0400 } + scope:home_court = { trigger_event = bp2_hostage_system.0401 } + return_hostage = yes + } + else_if = { + limit = { + is_landed_or_landless_administrative = no + trigger_if = { + limit = { + is_councillor = yes + } + can_be_fired_from_council_trigger = { COURT_OWNER = scope:recipient.liege } + } + trigger_if = { + limit = { + exists = scope:actor.faith.religious_head + } + scope:actor.faith.religious_head != scope:recipient + } + } + select_and_move_to_pool_effect = yes + } + add_opinion = { + target = scope:actor + modifier = attempted_imprisonment_opinion + } + } + } + + if = { + limit = { + scope:actor = { has_realm_law_flag = vassal_refusal_is_treason } + } + scope:actor = { + add_opinion = { + target = scope:recipient + modifier = treasonous_imprison_refusal + } + } + } + } + + #Remove them as guardian/ward for any courtier (feedback given in char_interaction.0230) + scope:actor = { + if = { + limit = { + any_courtier = { + has_relation_guardian = scope:recipient + } + } + every_courtier = { + limit = { + has_relation_guardian = scope:recipient + } + save_scope_as = ward + scope:recipient = { remove_relation_ward = scope:ward } + + scope:ward = { + if = { + limit = { + host != liege + } + return_to_court = yes + } + guardian_remove_opinion_effect = { + GUARDIAN = scope:recipient + WARD = this + WARD_LIEGE = scope:actor + } + } + + add_to_list = ward_children + } + } + if = { + limit = { + any_courtier = { + has_relation_ward = scope:recipient + } + } + random_courtier = { + limit = { + has_relation_ward = scope:recipient + } + save_scope_as = guardian + scope:guardian = { remove_relation_ward = scope:recipient } + + scope:guardian = { + if = { + limit = { + host != liege + } + return_to_court = yes + } + guardian_remove_opinion_effect = { + GUARDIAN = this + WARD = scope:recipient + WARD_LIEGE = scope:actor + } + } + + add_to_list = guardian_list + } + + hidden_effect = { + scope:guardian = { + send_interface_message = { + type = event_childhood_neutral + title = remove_guardian_interaction_notification + left_icon = scope:recipient + right_icon = scope:guardian + remove_guardian_effect = { + GUARDIAN = scope:guardian + WARD = scope:recipient + RETURN_WARD = yes + HIDE_OPINION = no + } } } } } - trigger_event = char_interaction.0230 - } - } - - if = { - limit = { - scope:actor = { has_character_flag = flag_hostile_actions_disabled_delay } - } - scope:actor = { remove_character_flag = flag_hostile_actions_disabled_delay } - } - - # If we're a clan this interaction affects unity - if = { # If you don't have an imprisonment reason, and the target is landed, you lose more unity - limit = { - NOT = { - scope:actor = { has_imprisonment_reason = scope:recipient } + if = { + limit = { + scope:recipient = { + OR = { + is_playable_character = no + AND = { + is_playable_character = yes + primary_title.tier = tier_barony + } + } + } + } + trigger_event = char_interaction.0230 } - scope:recipient = { is_landed_or_landless_administrative = yes } - } - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = major_unity_loss - DESC = clan_unity_imprison.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - else_if = { # If you don't have an imprisonment reason, and the target is unlanded, you lose slightly less unity - limit = { - NOT = { - scope:actor = { has_imprisonment_reason = scope:recipient } + + if = { + limit = { + has_character_flag = flag_hostile_actions_disabled_delay + } + remove_character_flag = flag_hostile_actions_disabled_delay } - scope:recipient = { is_landed_or_landless_administrative = no } } - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = medium_unity_loss - DESC = clan_unity_imprison.desc - REVERSE_NON_HOUSE_TARGET = no + + # If we're a clan this interaction affects unity + if = { # If you don't have an imprisonment reason, and the target is landed, you lose more unity + limit = { + NOT = { + scope:actor = { has_imprisonment_reason = scope:recipient } + } + scope:recipient = { is_landed_or_landless_administrative = yes } + } + add_clan_unity_interaction_effect = { + CHARACTER = scope:actor + TARGET = scope:recipient + VALUE = major_unity_loss + DESC = clan_unity_imprison.desc + REVERSE_NON_HOUSE_TARGET = no + } } - } - else = { # If you have a valid reason, you lose only a tiny bit of unity (criminal or not, they are still family) - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = miniscule_unity_loss - DESC = clan_unity_imprison.desc - REVERSE_NON_HOUSE_TARGET = no + else_if = { # If you don't have an imprisonment reason, and the target is unlanded, you lose slightly less unity + limit = { + NOT = { + scope:actor = { has_imprisonment_reason = scope:recipient } + } + scope:recipient = { is_landed_or_landless_administrative = no } + } + add_clan_unity_interaction_effect = { + CHARACTER = scope:actor + TARGET = scope:recipient + VALUE = medium_unity_loss + DESC = clan_unity_imprison.desc + REVERSE_NON_HOUSE_TARGET = no + } + } + else = { # If you have a valid reason, you lose only a tiny bit of unity (criminal or not, they are still family) + add_clan_unity_interaction_effect = { + CHARACTER = scope:actor + TARGET = scope:recipient + VALUE = miniscule_unity_loss + DESC = clan_unity_imprison.desc + REVERSE_NON_HOUSE_TARGET = no + } } } } @@ -1482,6 +1482,19 @@ } } + modifier = { # Expel first, even if they criminals + factor = 0 + scope:actor = { + NOT = { + has_opinion_modifier = { + target = scope:recipient + modifier = eviction_ignored_opinion + } + } + } + scope:recipient = { government_has_flag = government_is_landless_adventurer } + } + evaluate_action_decreasing_house_unity = { VALUE = 100 } @@ -1536,16 +1549,14 @@ move_to_dungeon_interaction = { } trigger_event = prison_notification.1001 custom_tooltip = MOVE_PRISONER_TO_DUNGEON - scope:recipient = { - every_close_or_extended_family_member = { - custom = all_family_members - limit = { - scope:actor != this - } - add_opinion = { - modifier = family_moved_to_dungeon_opinion - target = scope:actor - } + every_close_or_extended_family_member = { + custom = all_family_members + limit = { + scope:actor != this + } + add_opinion = { + modifier = family_moved_to_dungeon_opinion + target = scope:actor } } } @@ -1667,16 +1678,14 @@ move_to_house_arrest_interaction = { trigger_event = prison_notification.1002 } custom_tooltip = MOVE_PRISONER_TO_HOUSE_ARREST - scope:recipient = { - every_close_or_extended_family_member = { - custom = all_family_members - limit = { - scope:actor != this - } - add_opinion = { - modifier = moved_to_house_arrest_opinion - target = scope:actor - } + every_close_or_extended_family_member = { + custom = all_family_members + limit = { + scope:actor != this + } + add_opinion = { + modifier = moved_to_house_arrest_opinion + target = scope:actor } } } @@ -1745,12 +1754,9 @@ ransom_interaction = { is_valid_showing_failures_only = { trigger_if = { - limit = { - scope:invalid = yes - } + limit = { scope:invalid = yes } always = no } - scope:secondary_recipient = { custom_description = { text = "currently_being_tortured" @@ -1764,20 +1770,7 @@ ransom_interaction = { custom_tooltip = { text = is_currently_being_purged_tt scope:secondary_recipient = { - NOT = { - has_character_flag = is_currently_being_purged - } - } - } - } - - cost = { - influence = { - value = 0 - if = { - limit = { scope:influence_send_option = yes } - add = scope:actor.medium_influence_value - desc = INFLUENCE_INTERACTION_ACCEPTANCE_SEND_OPTION + NOT = { has_character_flag = is_currently_being_purged } } } } @@ -2033,6 +2026,8 @@ ransom_interaction = { is_valid = { # Actor has enough influence scope:actor = { influence >= medium_influence_value } + # Recipient wants your influence + scope:recipient = { government_has_flag = government_has_influence } # Both characters are within the same top realm custom_tooltip = { text = not_same_realm_tt @@ -2040,7 +2035,7 @@ ransom_interaction = { } } flag = influence_send_option - localization = TRADE_INFLUENCE_FOR_BETTER_AI_ACCEPTANCE + localization = DEMAND_INFLUENCE_AI_ACCEPTANCE } # MPO Herd @@ -2059,7 +2054,7 @@ ransom_interaction = { } is_valid = { # Recipient has enough Herd - scope:recipient = { domicile.herd >= domicile.medium_herd_value } + scope:recipient = { domicile.herd >= scope:recipient.ransom_herd_value } } flag = herd_send_option localization = RANSOM_HERD_OPTION @@ -2069,7 +2064,7 @@ ransom_interaction = { EXTORTIONATE_RANSOM_COST = scope:secondary_recipient.increased_ransom_cost_value RANSOM_COST = scope:secondary_recipient.ransom_cost_value CURRENT_GOLD = scope:recipient.gold - RANSOM_HERD_COST = ransom_herd_value_recipient + RANSOM_HERD_COST = scope:recipient.ransom_herd_value } ai_accept = { @@ -2379,9 +2374,7 @@ pay_ransom_interaction = { scope:recipient = { save_scope_as = secondary_recipient if = { - limit = { - exists = imprisoner - } + limit = { exists = imprisoner } imprisoner = { save_scope_as = recipient } } } @@ -2389,17 +2382,6 @@ pay_ransom_interaction = { desc = pay_ransom_interaction_desc - cost = { - influence = { - value = 0 - if = { - limit = { scope:influence_send_option = yes } - add = scope:actor.medium_influence_value - desc = INFLUENCE_INTERACTION_ACCEPTANCE_SEND_OPTION - } - } - } - greeting = positive notification_text = PAY_RANSOM_PROPOSAL @@ -2901,6 +2883,8 @@ pay_ransom_interaction = { is_valid = { # Actor has enough influence scope:actor = { influence >= medium_influence_value } + # Recipient has enough influence + scope:recipient = { government_has_flag = government_has_influence } # Both characters are within the same top realm custom_tooltip = { text = not_same_realm_tt @@ -2908,7 +2892,7 @@ pay_ransom_interaction = { } } flag = influence_send_option - localization = TRADE_INFLUENCE_FOR_BETTER_AI_ACCEPTANCE + localization = DEMAND_INFLUENCE_AI_ACCEPTANCE } send_option = { # MPO Herd @@ -2926,7 +2910,7 @@ pay_ransom_interaction = { } is_valid = { # Actor has enough Herd - scope:actor = { domicile.herd >= domicile.medium_herd_value } + scope:actor = { domicile.herd >= scope:actor.ransom_herd_value } } flag = herd_send_option localization = PAY_FOR_BETTER_AI_ACCEPTANCE @@ -2954,7 +2938,7 @@ pay_ransom_interaction = { EXTORTIONATE_RANSOM_COST = scope:secondary_recipient.increased_ransom_cost_value RANSOM_COST = scope:secondary_recipient.ransom_cost_value CURRENT_GOLD = scope:actor.gold - RANSOM_HERD_COST = ransom_herd_value_actor + RANSOM_HERD_COST = scope:actor.ransom_herd_value } ai_accept = { @@ -3501,9 +3485,7 @@ ransom_me_interaction = { } is_shown = { - scope:actor = { - is_imprisoned_by = scope:recipient - } + scope:actor = { is_imprisoned_by = scope:recipient } } is_valid_showing_failures_only = { @@ -3646,17 +3628,6 @@ ransom_me_interaction = { } } - cost = { - influence = { - value = 0 - if = { - limit = { scope:influence_send_option = yes } - add = scope:actor.medium_influence_value - desc = INFLUENCE_INTERACTION_ACCEPTANCE_SEND_OPTION - } - } - } - send_option = { is_shown = { exists = scope:recipient @@ -3708,9 +3679,7 @@ ransom_me_interaction = { } } is_valid = { - scope:actor = { - gold >= ransom_cost - } + scope:actor = { gold >= ransom_cost } } flag = gold localization = "RANSOM_GOLD_OPTION" @@ -3719,14 +3688,11 @@ ransom_me_interaction = { # If you don't have what they're worth, pay me what you have! send_option = { is_shown = { - exists = scope:recipient - scope:recipient = { + scope:recipient ?= { OR = { is_lowborn = yes NOT = { - dynasty = { - has_dynasty_perk = fp1_pillage_legacy_3 - } + dynasty = { has_dynasty_perk = fp1_pillage_legacy_3 } } } } @@ -3761,6 +3727,8 @@ ransom_me_interaction = { is_valid = { # Actor has enough influence scope:actor = { influence >= medium_influence_value } + # Recipient wants your influence + scope:recipient = { government_has_flag = government_has_influence } # Both characters are within the same top realm custom_tooltip = { text = not_same_realm_tt @@ -3768,7 +3736,7 @@ ransom_me_interaction = { } } flag = influence_send_option - localization = TRADE_INFLUENCE_FOR_BETTER_AI_ACCEPTANCE + localization = DEMAND_INFLUENCE_AI_ACCEPTANCE } send_option = { # MPO Herd @@ -3785,7 +3753,7 @@ ransom_me_interaction = { } is_valid = { # Actor has enough Herd - scope:actor = { domicile.herd >= domicile.medium_herd_value } + scope:actor = { domicile.herd >= ransom_herd_value } } flag = herd_send_option localization = PAY_FOR_BETTER_AI_ACCEPTANCE @@ -3812,7 +3780,7 @@ ransom_me_interaction = { EXTORTIONATE_RANSOM_COST = scope:actor.increased_ransom_cost_value RANSOM_COST = scope:actor.ransom_cost_value CURRENT_GOLD = scope:actor.gold - RANSOM_HERD_COST = ransom_herd_value_actor + RANSOM_HERD_COST = scope:actor.ransom_herd_value } ai_accept = { @@ -4138,6 +4106,8 @@ release_from_prison_interaction = { scope:disfigure = no scope:blind = no scope:castrate = no + scope:demand_admin = no + scope:gain_hook = no } desc = RELEASE_PRISONER_OFFER } @@ -4185,6 +4155,16 @@ release_from_prison_interaction = { limit = { scope:recipient = { is_imprisoned_by = scope:actor } } scope:recipient = { + if = { + limit = { + is_imprisoned = yes + # Release is handled in follow-up events + scope:disfigure = no + scope:blind = no + scope:castrate = no + } + release_from_prison = yes + } # Demand Conversion if = { limit = { scope:demand_conversion = yes } @@ -4273,6 +4253,7 @@ release_from_prison_interaction = { has_any_artifact = yes } every_character_artifact = { + limit = { NOT = { has_variable = artifact_prevent_transfer } } set_owner = { target = scope:actor history = { @@ -4658,6 +4639,68 @@ release_from_prison_interaction = { target = scope:actor } } + hidden_effect = { + random = { # chance of inspiring a knight to become eligible for idealist accolade + chance = 2 + modifier = { + factor = accolade_progress # scales with accolade progress + } + modifier = { # must have an eligible knight + NOT = { + any_knight = { + can_unlock_accolade_attribute_trigger = { + ATTRIBUTE = idealist + } + } + } + factor = 0 + } + set_variable = { + name = accolade_progress + value = 0 + } + random_knight = { + limit = { + can_unlock_accolade_attribute_trigger = { + ATTRIBUTE = idealist + } + } + weight = { + base = 1 + modifier = { + add = 50 + is_acclaimed = yes + } + modifier = { + add = 50 + has_trait = compassionate + } + modifier = { + add = 30 + has_trait = just + } + modifier = { + add = 30 + has_trait = zealous + } + } + save_scope_as = idealist + } + send_interface_message = { + type = msg_accolade_eligibility + title = accolade_idealist_unlock.t + left_icon = scope:idealist + right_icon = scope:recipient + custom_tooltip = accolade_idealist_unlock.tt + scope:idealist = { + set_variable = { + name = idealist_attribute_unlock + value = yes + } + } + } + } + } } house ?= { change_house_relation_effect = { @@ -4724,17 +4767,15 @@ release_from_prison_interaction = { SECOND = scope:recipient } any_character_struggle = { - involvement = involved - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { + activate_struggle_catalyst_secondary_character_involvement_either_trigger = { CATALYST = catalyst_release_supporter_detractor CHAR = scope:recipient } } } every_character_struggle = { - involvement = involved limit = { - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { + activate_struggle_catalyst_secondary_character_involvement_either_trigger = { CATALYST = catalyst_release_supporter_detractor CHAR = scope:recipient } @@ -4787,11 +4828,18 @@ release_from_prison_interaction = { } } } - else = { + else_if = { + limit = { + scope:disfigure = no + scope:blind = no + scope:castrate = no + } scope:actor = { trigger_event = char_interaction.0160 } } + else = { #do nothing as rest is handled in follow-up events + } # If a child was imprisoned due to yearly_4021 they'll come back to say hi if = { @@ -4827,17 +4875,6 @@ release_from_prison_interaction = { remove_variable = marked_for_revenge_in_event_yearly_4021 } } - - if = { - limit = { - is_imprisoned = yes - # Release is handled in follow-up events - scope:disfigure = no - scope:blind = no - scope:castrate = no - } - release_from_prison = yes - } } # FP3 - If prisoner is important for war @@ -5747,7 +5784,7 @@ release_from_prison_interaction = { NOR = { has_trait = one_eyed has_trait = infirm - age > 60 # I.e. they have poor eyesight already + has_trait = clouded_eyes } } desc = "BLIND_NEGATIVE_REASON" @@ -5759,7 +5796,7 @@ release_from_prison_interaction = { OR = { has_trait = one_eyed has_trait = infirm - age > 60 # I.e. they have poor eyesight already + has_trait = clouded_eyes } } desc = "BLIND_NEGATIVE_REASON" @@ -6826,17 +6863,15 @@ execute_prisoner_interaction = { limit = { scope:recipient = { is_important_or_vip_struggle_character = yes } any_character_struggle = { - involvement = involved - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { + activate_struggle_catalyst_secondary_character_involvement_either_trigger = { CATALYST = catalyst_execute_important CHAR = scope:recipient } } } every_character_struggle = { - involvement = involved limit = { - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { + activate_struggle_catalyst_secondary_character_involvement_either_trigger = { CATALYST = catalyst_execute_important CHAR = scope:recipient } @@ -6857,9 +6892,8 @@ execute_prisoner_interaction = { if = { limit = { scope:recipient = { has_trait = fp3_struggle_detractor } - any_character_struggle = { - involvement = involved - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { + struggle:persian_struggle = { + activate_struggle_catalyst_secondary_character_involvement_either_trigger = { CATALYST = catalyst_execute_detractor CHAR = scope:recipient } @@ -6868,7 +6902,7 @@ execute_prisoner_interaction = { every_character_struggle = { involvement = involved limit = { - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { + activate_struggle_catalyst_secondary_character_involvement_either_trigger = { CATALYST = catalyst_execute_detractor CHAR = scope:recipient } @@ -6885,7 +6919,7 @@ execute_prisoner_interaction = { scope:recipient = { has_trait = fp3_struggle_supporter } any_character_struggle = { involvement = involved - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { + activate_struggle_catalyst_secondary_character_involvement_either_trigger = { CATALYST = catalyst_execute_supporter CHAR = scope:recipient } @@ -6894,7 +6928,7 @@ execute_prisoner_interaction = { every_character_struggle = { involvement = involved limit = { - activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { + activate_struggle_catalyst_secondary_character_involvement_either_trigger = { CATALYST = catalyst_execute_supporter CHAR = scope:recipient } @@ -7987,6 +8021,11 @@ systematically_maim_character_interaction = { send_option = { flag = maim_castrate + is_shown = { + scope:actor.culture = { + has_cultural_parameter = can_castrate_prisoners + } + } is_valid = { scope:recipient = { NOR = { @@ -8000,6 +8039,11 @@ systematically_maim_character_interaction = { } send_option = { flag = maim_blind + is_shown = { + scope:actor.culture = { + has_cultural_parameter = can_blind_prisoners + } + } is_valid = { scope:recipient = { NOT = { has_trait = blind } @@ -8011,6 +8055,11 @@ systematically_maim_character_interaction = { } send_option = { flag = maim_face + is_shown = { + scope:actor.culture = { + has_cultural_parameter = can_blind_prisoners + } + } is_valid = { scope:recipient = { NOT = { has_trait = disfigured } @@ -8039,6 +8088,263 @@ systematically_maim_character_interaction = { localization = maim_arm_name current_description = maim_arm } + send_option = { + flag = renounce_claims + localization = RELEASE_RENOUNCE_CLAIMS + is_shown = { + custom_description = { + text = "release_renounce_claims" + subject = scope:recipient + scope:recipient = { + any_claim = { + explicit = yes + save_temporary_scope_as = temp_claim + OR = { + holder = scope:actor + AND = { + NOT = { prev = { target_is_liege_or_above = scope:actor } } + trigger_if = { + limit = { + exists = holder + } + holder = { target_is_liege_or_above = scope:actor } + } + } + scope:actor = { + any_held_title = { + is_de_jure_liege_or_above_target = scope:temp_claim + } + } + } + } + } + } + } + current_description = { + desc = RELEASE_RENOUNCE_CLAIMS_DESC + } + } + + send_option = { + flag = banish + localization = "RELEASE_BANISH" + is_shown = { + trigger_if = { + limit = { + scope:actor = { is_ai = yes } + } + scope:recipient = { + OR = { + AND = { + is_playable_character = no + is_ruler = no + gold > scope:actor.gold + gold > scope:actor.medium_gold_value + scope:actor.ai_greed > low_negative_ai_value + } + AND = { + is_playable_character = no + is_ruler = no + gold > 0 + scope:actor = { + has_banish_reason = scope:recipient + } + } + AND = { + is_playable_character = no + is_ruler = no + gold > 100 + scope:actor.ai_greed >= high_positive_ai_value + } + AND = { + scope:actor = { + has_banish_reason = scope:recipient + } + scope:actor = { + opinion = { + target = scope:recipient + value <= medium_negative_opinion + } + } + } + } + } + } + trigger_if = { + limit = { + scope:recipient = { + is_playable_character = yes + } + } + scope:recipient = { + is_vassal_of = scope:actor + } + } + trigger_else = { + scope:recipient = { + is_courtier_of = scope:actor + } + } + NOT = { + scope:recipient = { + is_spouse_of = scope:actor + } + } + } + } + + send_option = { + flag = take_vows + localization = "RELEASE_TAKE_VOWS" + is_shown = { + scope:actor = { take_vows_available_trigger = yes } + } + is_valid = { + #Handle AI + trigger_if = { + limit = { + scope:actor = { is_ai = yes } + } + #We're AI and Byzantium + trigger_if = { + limit = { + scope:actor = { + culture = { has_cultural_pillar = heritage_byzantine } + } + } + scope:recipient = { + is_ai = yes #Not gonna depose player characters, for now + OR = { + is_close_or_extended_family_of = scope:actor + is_vassal_or_below_of = scope:actor #Weigh this for Byz AI in the modifiers below + has_relation_rival = scope:actor + is_courtier_of = scope:actor + } + NOT = { + is_heir_of = scope:actor + } + } + #Get rid of rivals despite potentially liking them + trigger_if = { + limit = { + scope:recipient = { has_relation_rival = scope:actor } + } + always = yes + } + #Only get rid of family members if we dislike them + trigger_else = { + scope:actor = { + opinion = { + target = scope:recipient + value <= medium_negative_opinion + } + } + } + } + #We're not Byzantium but plain AI + trigger_else = { + scope:recipient = { + is_ai = yes #Not gonna depose player characters, for now + is_close_or_extended_family_of = scope:actor + NOT = { + is_heir_of = scope:actor + } + } + scope:actor = { + opinion = { + target = scope:recipient + value <= medium_negative_opinion + } + } + custom_description = { + text = "release_vows_invalid_not_your_court" + object = scope:recipient + subject = scope:actor + scope:recipient = { is_courtier_of = scope:actor } + } + } + } + #Enhanced Take the Vows for Byzantium players -- who do we want to boot to a monastery far, far away? + trigger_else_if = { + limit = { + scope:actor = { + culture = { has_cultural_pillar = heritage_byzantine } + } + } + scope:recipient = { + is_ai = yes #Not gonna depose player characters, for now + custom_description = { + text = "release_byz_vows_invalid" + object = scope:recipient + subject = scope:actor + OR = { + is_close_or_extended_family_of = scope:actor + is_vassal_or_below_of = scope:actor + has_relation_rival = scope:actor + is_courtier_of = scope:actor + } + } + } + } + #Otherwise standard procedure Take the Vows requirements + trigger_else = { + scope:recipient = { + is_ai = yes #Not gonna depose player characters, for now + } + scope:actor = { is_close_or_extended_family_of = scope:recipient } #Triggering I_AM_NOT instead of CHARACTER_IS_NOT makes the tooltip look less cursed + custom_description = { + text = "release_vows_invalid_not_your_court" + object = scope:recipient + subject = scope:actor + scope:recipient = { is_courtier_of = scope:actor } + } + + } + scope:recipient = { + age >= 10 + NOR = { + has_trait = excommunicated + has_trait = devoted + has_trait = incapable + } + #Do they have the "wrong" marriage type? + NOR = { + custom_description = { + text = is_married_matrilineally + subject = scope:recipient + any_spouse = { + is_female = yes + matrilinear_marriage = yes + } + } + custom_description = { + text = is_married_patrilineally + subject = scope:recipient + any_spouse = { + is_male = yes + patrilinear_marriage = yes + } + } + custom_description = { + text = matrilinear_betrothal + subject = scope:recipient + betrothed ?= { + is_female = yes + matrilinear_betrothal = yes + } + } + custom_description = { + text = patrilinear_betrothal + subject = scope:recipient + betrothed ?= { + is_male = yes + patrilinear_betrothal = yes + } + } + } + } + } + } on_accept = { scope:recipient = { @@ -8060,172 +8366,317 @@ systematically_maim_character_interaction = { } # Let the enchoppening begin. - ## Castrate. - if = { - limit = { scope:maim_castrate = yes } - show_as_tooltip = { + switch = { + trigger = yes + ## Castrate. + scope:maim_castrate = { + show_as_tooltip = { + scope:recipient = { + if = { + limit = { + age < 12 + } + ep3_child_castration_effect = yes + } + else = { + ep3_youth_castration_effect = yes + } + release_from_prison = yes + } + } + torture_blind_castrate_disfigure_opinion_effect = { VERB = castrated } + scope:actor = { + clear_designated_heir = yes + trigger_event = { + id = prison.1025 + days = 1 + } + } + add_clan_unity_interaction_effect = { + CHARACTER = scope:actor + TARGET = scope:recipient + VALUE = major_unity_loss + DESC = clan_unity_abelarding.desc + REVERSE_NON_HOUSE_TARGET = no + } + } + ## Blind. + scope:maim_blind = { + show_as_tooltip = { + scope:recipient = { + add_trait = blind + release_from_prison = yes + } + } + torture_blind_castrate_disfigure_opinion_effect = { VERB = blinded } + scope:actor = { + clear_designated_heir = yes + # Merciful Blindings + if = { + limit = { + culture = { has_cultural_parameter = merciful_blinding } + OR = { + has_execute_reason = scope:recipient + has_banish_reason = scope:recipient + } + } + add_piety = medium_piety_gain + } + trigger_event = { + id = prison.1020 + days = 1 + } + } + # If actor's culture has Merciful Blindings, they lose less unity. + if = { + limit = { + scope:actor.culture = { has_cultural_parameter = merciful_blinding } + } + add_clan_unity_interaction_effect = { + CHARACTER = scope:actor + TARGET = scope:recipient + VALUE = minor_unity_loss + DESC = clan_unity_blinding.desc + REVERSE_NON_HOUSE_TARGET = no + } + } + else = { + add_clan_unity_interaction_effect = { + CHARACTER = scope:actor + TARGET = scope:recipient + VALUE = medium_unity_loss + DESC = clan_unity_blinding.desc + REVERSE_NON_HOUSE_TARGET = no + } + } + } + ## Disfigure. + scope:maim_face = { + show_as_tooltip = { + scope:recipient = { + add_trait = disfigured + release_from_prison = yes + } + } + torture_blind_castrate_disfigure_opinion_effect = { VERB = disfigured } + scope:actor = { + clear_designated_heir = yes + trigger_event = { + id = prison.1030 + days = 1 + } + } + add_clan_unity_interaction_effect = { + CHARACTER = scope:actor + TARGET = scope:recipient + VALUE = major_unity_loss + DESC = clan_unity_maimed.desc + REVERSE_NON_HOUSE_TARGET = no + } + } + ## Take off an arm. + scope:maim_arm = { + show_as_tooltip = { + scope:recipient = { + apply_maimed_trait_and_modifier_effect = yes + release_from_prison = yes + } + } + torture_blind_castrate_disfigure_opinion_effect = { VERB = maimed } + scope:actor = { + clear_designated_heir = yes + save_scope_value_as = { + name = maim_type + value = flag:arm + } + trigger_event = { + id = prison.1041 + days = 1 + } + } + add_clan_unity_interaction_effect = { + CHARACTER = scope:actor + TARGET = scope:recipient + VALUE = major_unity_loss + DESC = clan_unity_maimed.desc + REVERSE_NON_HOUSE_TARGET = no + } + } + ## Take off a leg. + scope:maim_leg = { + show_as_tooltip = { + scope:recipient = { + add_trait = one_legged + release_from_prison = yes + } + } + torture_blind_castrate_disfigure_opinion_effect = { VERB = maimed } + scope:actor = { + clear_designated_heir = yes + save_scope_value_as = { + name = maim_type + value = flag:leg + } + trigger_event = { + id = prison.1041 + days = 1 + } + } + add_clan_unity_interaction_effect = { + CHARACTER = scope:actor + TARGET = scope:recipient + VALUE = major_unity_loss + DESC = clan_unity_maimed.desc + REVERSE_NON_HOUSE_TARGET = no + } + } + # Banish Landed Character + scope:banish = { scope:recipient = { if = { limit = { - age < 12 + is_landed_or_landless_administrative = yes + } + banish_effect = { BANISHER = scope:actor } + if = { + limit = { + NOT = { + scope:actor = { + has_banish_reason = scope:recipient + } + } + } + scope:actor = { add_tyranny = banishment_tyranny_gain } } - ep3_child_castration_effect = yes } - else = { - ep3_youth_castration_effect = yes + # Banish Unlanded Character + else_if = { + limit = { + is_landless_adventurer = no + is_pool_character = no # It is possible for them to end up in the pool between the interaction being sent, and it being accepted + } + if = { + limit = { + gold > 0 + NOR = { + has_character_flag = realm_priest + has_character_flag = was_bookmaker + } + } + pay_short_term_gold = { target = scope:actor gold = scope:recipient.gold } + } + if = { + limit = { + has_any_artifact = yes + } + every_character_artifact = { + limit = { NOT = { has_variable = artifact_prevent_transfer } } + set_owner = { + target = scope:actor + history = { + location = scope:recipient.location + actor = scope:recipient + recipient = scope:actor + type = stolen + } + } + scope:actor = { + if = { + limit = { + NOT = { has_variable = stolen_artifact } + } + set_variable = { + name = stolen_artifact + value = 1 + } + } + else = { + change_variable = { + name = stolen_artifact + add = 1 + } + } + } + } + } + banish = yes + } + # 'Banish' Pool Character + else_if = { + limit = { + is_playable_character = no + is_pool_character = yes # They'll just leave for the pool + } + if = { + limit = { + gold > 0 + } + pay_short_term_gold = { target = scope:actor gold = scope:recipient.gold } + } + } + add_opinion = { + modifier = banished_me + target = scope:actor } release_from_prison = yes } } - torture_blind_castrate_disfigure_opinion_effect = { VERB = castrated } - scope:actor = { - clear_designated_heir = yes - trigger_event = { - id = prison.1025 - days = 1 - } - } - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = major_unity_loss - DESC = clan_unity_abelarding.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - ## Blind. - if = { - limit = { scope:maim_blind = yes } - show_as_tooltip = { + # Renounce Claims + scope:renounce_claims = { scope:recipient = { - add_trait = blind + add_opinion = { + modifier = demanded_claim_renouncement + target = scope:actor + } release_from_prison = yes + every_claim = { + explicit = yes + limit = { + save_temporary_scope_as = temp_claim + OR = { + holder = scope:actor + AND = { + exists = holder + NOT = { prev = { target_is_liege_or_above = scope:actor } } + holder = { target_is_liege_or_above = scope:actor } + } + scope:actor = { + any_held_title = { + is_de_jure_liege_or_above_target = scope:temp_claim + } + } + } + } + scope:recipient = { remove_claim = prev } + } } } - torture_blind_castrate_disfigure_opinion_effect = { VERB = blinded } - scope:actor = { - clear_designated_heir = yes - # Merciful Blindings + # Take Vows + scope:take_vows = { + send_child_to_clergy_effect = yes + #Does Byzan go hay-wire with deposing vassals? if = { limit = { - culture = { has_cultural_parameter = merciful_blinding } - OR = { - has_execute_reason = scope:recipient - has_banish_reason = scope:recipient + scope:actor = { + is_ai = yes + culture = { has_cultural_pillar = heritage_byzantine } } } - add_piety = medium_piety_gain + debug_log = debug_ai_byzan_forced_vows_on_prison_release + debug_log_scopes = yes } - trigger_event = { - id = prison.1020 - days = 1 + #Does the AI in general go haywire with deposing prisoners? + else_if = { + limit = { + scope:actor = { is_ai = yes } + } + debug_log = debug_ai_forced_vows_on_prison_release + debug_log_scopes = yes } - } - # If actor's culture has Merciful Blindings, they lose less unity. - if = { - limit = { - scope:actor.culture = { has_cultural_parameter = merciful_blinding } - } - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = minor_unity_loss - DESC = clan_unity_blinding.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - else = { - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = medium_unity_loss - DESC = clan_unity_blinding.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - } - ## Disfigure. - if = { - limit = { scope:maim_face = yes } - show_as_tooltip = { scope:recipient = { - add_trait = disfigured release_from_prison = yes } } - torture_blind_castrate_disfigure_opinion_effect = { VERB = disfigured } - scope:actor = { - clear_designated_heir = yes - trigger_event = { - id = prison.1030 - days = 1 - } - } - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = major_unity_loss - DESC = clan_unity_maimed.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - ## Take off an arm. - if = { - limit = { scope:maim_arm = yes } - show_as_tooltip = { - scope:recipient = { - apply_maimed_trait_and_modifier_effect = yes - release_from_prison = yes - } - } - torture_blind_castrate_disfigure_opinion_effect = { VERB = maimed } - scope:actor = { - clear_designated_heir = yes - save_scope_value_as = { - name = maim_type - value = flag:arm - } - trigger_event = { - id = prison.1041 - days = 1 - } - } - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = major_unity_loss - DESC = clan_unity_maimed.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - ## Take off a leg. - if = { - limit = { scope:maim_leg = yes } - show_as_tooltip = { - scope:recipient = { - add_trait = one_legged - release_from_prison = yes - } - } - torture_blind_castrate_disfigure_opinion_effect = { VERB = maimed } - scope:actor = { - clear_designated_heir = yes - save_scope_value_as = { - name = maim_type - value = flag:leg - } - trigger_event = { - id = prison.1041 - days = 1 - } - } - add_clan_unity_interaction_effect = { - CHARACTER = scope:actor - TARGET = scope:recipient - VALUE = major_unity_loss - DESC = clan_unity_maimed.desc - REVERSE_NON_HOUSE_TARGET = no - } } } diff --git a/common/character_interactions/00_religious_interactions.txt b/common/character_interactions/00_religious_interactions.txt index 239dac97..352a4053 100644 --- a/common/character_interactions/00_religious_interactions.txt +++ b/common/character_interactions/00_religious_interactions.txt @@ -2234,7 +2234,7 @@ seek_indulgences_interaction = { trigger_if = { limit = { has_trait = kinslayer_3 - trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = kinslayer_3 GENDER_CHARACTER = scope:actor } + trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = trait:kinslayer_3 GENDER_CHARACTER = scope:actor } } gold >= seek_indulgences_major_criminal_trait_value } @@ -2243,19 +2243,19 @@ seek_indulgences_interaction = { OR = { AND = { has_trait = kinslayer_2 - trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = kinslayer_2 GENDER_CHARACTER = scope:actor } + trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = trait:kinslayer_2 GENDER_CHARACTER = scope:actor } } AND = { has_trait = witch - trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = witch GENDER_CHARACTER = scope:actor } + trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = trait:witch GENDER_CHARACTER = scope:actor } } AND = { has_trait = deviant - trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = deviant GENDER_CHARACTER = scope:actor } + trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = trait:deviant GENDER_CHARACTER = scope:actor } } AND = { has_trait = sodomite - trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = sodomite GENDER_CHARACTER = scope:actor } + trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = trait:sodomite GENDER_CHARACTER = scope:actor } } } } @@ -2266,15 +2266,15 @@ seek_indulgences_interaction = { OR = { AND = { has_trait = kinslayer_1 - trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = kinslayer_1 GENDER_CHARACTER = scope:actor } + trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = trait:kinslayer_1 GENDER_CHARACTER = scope:actor } } AND = { has_trait = fornicator - trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = fornicator GENDER_CHARACTER = scope:actor } + trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = trait:fornicator GENDER_CHARACTER = scope:actor } } AND = { has_trait = adulterer - trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = adulterer GENDER_CHARACTER = scope:actor } + trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = trait:adulterer GENDER_CHARACTER = scope:actor } } } } @@ -4089,7 +4089,7 @@ take_vows_interaction = { if = { limit = { house = { - has_house_power_parameter = humility_take_the_vows_bonus + has_house_aspiration_parameter = humility_take_the_vows_bonus } } add_piety_experience = 100 @@ -5426,11 +5426,11 @@ hof_ask_for_gold_interaction = { OR = { AND = { has_trait = fornicator - trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = fornicator GENDER_CHARACTER = scope:actor } + trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = trait:fornicator GENDER_CHARACTER = scope:actor } } AND = { has_trait = adulterer - trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = adulterer GENDER_CHARACTER = scope:actor } + trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = trait:adulterer GENDER_CHARACTER = scope:actor } } } } @@ -5460,15 +5460,15 @@ hof_ask_for_gold_interaction = { OR = { AND = { has_trait = kinslayer_1 - trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = kinslayer_1 GENDER_CHARACTER = scope:actor } + trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = trait:kinslayer_1 GENDER_CHARACTER = scope:actor } } AND = { has_trait = kinslayer_2 - trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = kinslayer_2 GENDER_CHARACTER = scope:actor } + trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = trait:kinslayer_2 GENDER_CHARACTER = scope:actor } } AND = { has_trait = kinslayer_3 - trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = kinslayer_3 GENDER_CHARACTER = scope:actor } + trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = trait:kinslayer_3 GENDER_CHARACTER = scope:actor } } } } @@ -6255,11 +6255,11 @@ hof_ask_for_claim_interaction = { OR = { AND = { has_trait = fornicator - trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = fornicator GENDER_CHARACTER = scope:actor } + trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = trait:fornicator GENDER_CHARACTER = scope:actor } } AND = { has_trait = adulterer - trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = adulterer GENDER_CHARACTER = scope:actor } + trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = trait:adulterer GENDER_CHARACTER = scope:actor } } } } @@ -6272,11 +6272,11 @@ hof_ask_for_claim_interaction = { OR = { AND = { has_trait = fornicator - trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = fornicator GENDER_CHARACTER = scope:secondary_recipient } + trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = trait:fornicator GENDER_CHARACTER = scope:secondary_recipient } } AND = { has_trait = adulterer - trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = adulterer GENDER_CHARACTER = scope:secondary_recipient } + trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = trait:adulterer GENDER_CHARACTER = scope:secondary_recipient } } } } @@ -6323,15 +6323,15 @@ hof_ask_for_claim_interaction = { OR = { AND = { has_trait = kinslayer_1 - trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = kinslayer_1 GENDER_CHARACTER = scope:actor } + trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = trait:kinslayer_1 GENDER_CHARACTER = scope:actor } } AND = { has_trait = kinslayer_2 - trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = kinslayer_2 GENDER_CHARACTER = scope:actor } + trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = trait:kinslayer_2 GENDER_CHARACTER = scope:actor } } AND = { has_trait = kinslayer_3 - trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = kinslayer_3 GENDER_CHARACTER = scope:actor } + trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = trait:kinslayer_3 GENDER_CHARACTER = scope:actor } } } } @@ -6344,15 +6344,15 @@ hof_ask_for_claim_interaction = { OR = { AND = { has_trait = kinslayer_1 - trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = kinslayer_1 GENDER_CHARACTER = scope:secondary_recipient } + trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = trait:kinslayer_1 GENDER_CHARACTER = scope:secondary_recipient } } AND = { has_trait = kinslayer_2 - trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = kinslayer_2 GENDER_CHARACTER = scope:secondary_recipient } + trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = trait:kinslayer_2 GENDER_CHARACTER = scope:secondary_recipient } } AND = { has_trait = kinslayer_3 - trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = kinslayer_3 GENDER_CHARACTER = scope:secondary_recipient } + trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = trait:kinslayer_3 GENDER_CHARACTER = scope:secondary_recipient } } } } diff --git a/common/character_interactions/00_scheme_interactions.txt b/common/character_interactions/00_scheme_interactions.txt index 226b87ca..5e505b0e 100644 --- a/common/character_interactions/00_scheme_interactions.txt +++ b/common/character_interactions/00_scheme_interactions.txt @@ -738,7 +738,7 @@ befriend_interaction = { involvement = involved has_struggle_phase_parameter = struggle_unlocks_befriend_schemes_for_everyone } - house ?= { has_house_power_parameter = aspect_of_serenity } + house ?= { has_house_aspiration_parameter = aspect_of_serenity } } NOR = { has_trait = shy @@ -903,7 +903,7 @@ befriend_interaction = { factor = 25 OR = { has_focus = diplomacy_family_focus - house ?= { has_house_power_parameter = aspect_of_serenity } + house ?= { has_house_aspiration_parameter = aspect_of_serenity } } } @@ -1388,7 +1388,7 @@ seduce_interaction = { } } - modifier = { # Try to avoid agressive seduction unless you're geared for it + modifier = { # Try to avoid aggressive seduction unless you're geared for it add = -10 scope:actor = { NOR = { diff --git a/common/character_interactions/00_tradition_interactions.txt b/common/character_interactions/00_tradition_interactions.txt index 825c1eb3..3872424e 100644 --- a/common/character_interactions/00_tradition_interactions.txt +++ b/common/character_interactions/00_tradition_interactions.txt @@ -416,31 +416,19 @@ appoint_podesta_interaction = { } resolve_title_and_vassal_change = scope:change } - } - } - else = { - scope:recipient = { - show_as_tooltip = { - change_government = republic_government - create_title_and_vassal_change = { - type = returned - save_scope_as = change - add_claim_on_loss = no + every_vassal = { + limit = { + government_has_flag = government_is_republic } - every_vassal = { - limit = { - government_has_flag = government_is_republic - } - every_held_title = { - change_title_holder = { - holder = scope:recipient - change = scope:change - take_baronies = yes - } + every_held_title = { + change_title_holder = { + holder = scope:recipient + change = scope:change + take_baronies = yes } } - resolve_title_and_vassal_change = scope:change } + resolve_title_and_vassal_change = scope:change } } } diff --git a/common/character_interactions/00_tribal_interactions.txt b/common/character_interactions/00_tribal_interactions.txt index 0a50014b..17e51d45 100644 --- a/common/character_interactions/00_tribal_interactions.txt +++ b/common/character_interactions/00_tribal_interactions.txt @@ -182,27 +182,23 @@ } } - if = { - limit = { - scope:target = { + scope:target ?= { + if = { + limit = { title_province = { geographical_region = geographical_region:mpo_region_permafrost } } - } - if = { - limit = { - scope:target = { has_county_modifier = mpo_siberian_permafrost_modifier } + if = { + limit = { has_county_modifier = mpo_siberian_permafrost_modifier } + remove_county_modifier = mpo_siberian_permafrost_modifier } - scope:target = { remove_county_modifier = mpo_siberian_permafrost_modifier } - } - else_if = { - limit = { - scope:target = { has_county_modifier = mpo_siberian_permafrost_modifier_bad } + else_if = { + limit = { has_county_modifier = mpo_siberian_permafrost_modifier_bad } + remove_county_modifier = mpo_siberian_permafrost_modifier_bad } - scope:target = { remove_county_modifier = mpo_siberian_permafrost_modifier_bad } - } - } + } + } } } } @@ -364,29 +360,7 @@ tribalize_holding_interaction = { scope:target.title_province = { set_holding_type = tribal_holding } - } - - if = { - limit = { - scope:target = { - title_province = { - geographical_region = geographical_region:mpo_region_permafrost - } - } - } - if = { - limit = { - scope:target = { has_county_modifier = mpo_siberian_permafrost_modifier } - } - scope:target = { remove_county_modifier = mpo_siberian_permafrost_modifier } - } - else_if = { - limit = { - scope:target = { has_county_modifier = mpo_siberian_permafrost_modifier_bad } - } - scope:target = { remove_county_modifier = mpo_siberian_permafrost_modifier_bad } - } - } + } } } } @@ -847,7 +821,7 @@ turn_subject_into_mandala_interaction = { scope:actor = { is_at_war = no } custom_tooltip = { text = cannot_take_overt_hostile_actions_against_diarch.tt - NOT = { scope:recipient ?= scope:actor.diarch } + NOT = { scope:actor.diarch ?= scope:recipient } } custom_tooltip = { text = head_of_faith_unable_to_change_government_desc @@ -938,6 +912,16 @@ turn_subject_into_mandala_interaction = { scope:recipient = { highest_held_title_tier >= tier_kingdom } gold >= 2000 } + modifier = { + scope:recipient.capital_county.title_province = { + NOR = { + has_holding_type = temple_citadel_holding + has_holding_type = church_holding + has_holding_type = castle_holding + } + } + factor = 0 + } } ai_accept = { diff --git a/common/character_interactions/00_tributary_interactions.txt b/common/character_interactions/00_tributary_interactions.txt index d926656f..424ac93f 100644 --- a/common/character_interactions/00_tributary_interactions.txt +++ b/common/character_interactions/00_tributary_interactions.txt @@ -12,13 +12,6 @@ become_tributary_interaction = { desc = become_tributary_interaction_desc is_shown = { - scope:actor = { - trigger_if = { - limit = { is_ai = yes } - current_military_strength < scope:recipient.one_and_a_half_times_current_military_strength - primary_title.tier < scope:recipient.primary_title.tier - } - } scope:recipient = { is_independent_ruler = yes # while it's possible for tributaries to have their own tributaries, it should not be possible to create a tributary relationship with a non-independent ruler NOR = { @@ -28,6 +21,13 @@ become_tributary_interaction = { } can_have_tributaries_trigger = yes } + scope:actor = { + trigger_if = { + limit = { is_ai = yes } + current_military_strength < scope:recipient.one_and_a_half_times_current_military_strength + primary_title.tier < scope:recipient.primary_title.tier + } + } } is_valid_showing_failures_only = { @@ -76,22 +76,6 @@ become_tributary_interaction = { is_confederation_member = no is_at_war = no } - trigger_if = { - limit = { scope:recipient = title:h_china.holder } - scope:actor = { - custom_tooltip = { - text = neighbor_is_china - is_tributary = no - is_independent_ruler = yes - OR = { - has_variable = wants_to_become_tributary_of_china - any_neighboring_and_across_water_top_liege_realm_owner = { - primary_title = title:h_china - } - } - } - } - } } needs_confirmation = { @@ -1289,8 +1273,7 @@ demand_tributary_interaction = { scope:recipient = { NOT = { any_neighboring_top_suzerain_realm_owner = { - exists = this - NOT = { this = scope:actor } + this != scope:actor } } NOT = { @@ -2020,6 +2003,7 @@ release_tributary_interaction = { add_truce_both_ways = { character = scope:actor years = 5 + override = yes name = TRUCE_TRIBUTARY_STOPPED } add_opinion = { @@ -2170,7 +2154,7 @@ exact_tribute_interaction = { ai_max_reply_days = 9 can_send_despite_rejection = yes popup_on_receive = yes - common_interaction = yes + common_interaction = no interface_priority = 4 @@ -2228,9 +2212,7 @@ exact_tribute_interaction = { is_tributary = no custom_tooltip = { text = exact_tribute_interaction_hegemony_not_neighbor_tt - any_neighboring_and_across_water_top_liege_realm_owner = { - this = scope:actor - } + any_neighboring_realm_with_tributaries_owner = { this = scope:actor } } } } @@ -2432,9 +2414,7 @@ exact_tribute_interaction = { GIVER = scope:recipient CHARACTER = scope:actor } - is_adult = yes - has_any_disease_trigger = no - has_easily_mocked_physical_attribute_trigger = no + tribute_mission_is_available_concubine_trigger = yes } add_to_list = potential_concubine_tribute_list random_in_list = { @@ -3462,7 +3442,7 @@ offer_courtier_interaction = { add_opinion = { target = scope:recipient modifier = annoyed_opinion - opinion = 10 + opinion = -10 } } scope:recipient = { diff --git a/common/character_interactions/00_vassal_interactions.txt b/common/character_interactions/00_vassal_interactions.txt index 468d3fa4..35141ab0 100644 --- a/common/character_interactions/00_vassal_interactions.txt +++ b/common/character_interactions/00_vassal_interactions.txt @@ -2,7 +2,7 @@ grant_vassal_interaction = { category = interaction_category_vassal - common_interaction = yes + common_interaction = no interface = transfer_vassal icon = icon_vassal @@ -1393,24 +1393,17 @@ create_claimant_faction_against_interaction = { exists = scope:recipient exists = scope:landed_title scope:recipient = { - OR = { - has_title = title:e_minister_chancellor - has_title = title:e_minister_censor - has_title = title:e_minister_grand_marshal - has_title = title:e_minister_of_personnel - has_title = title:e_minister_of_revenue - has_title = title:e_minister_of_rites - has_title = title:e_minister_of_war - has_title = title:e_minister_of_justice - has_title = title:e_minister_of_works - } + tgp_is_any_minister = yes } } scope:recipient = { custom_description = { text = target_is_a_minister_desc subject = this - scope:landed_title = { this = title:h_china } + any_held_title = { + tgp_is_minister_title = yes + de_jure_liege ?= scope:landed_title + } } } } @@ -1681,10 +1674,7 @@ force_onto_council = { NAND = { has_council_position = councillor_court_chaplain faith = { - OR = { - has_doctrine = doctrine_clerical_succession_temporal_fixed_appointment - has_doctrine = doctrine_clerical_succession_spiritual_fixed_appointment - } + has_doctrine_parameter = clerical_appointment_fixed } } } @@ -2291,7 +2281,7 @@ ask_for_pardon_interaction = { first_valid = { triggered_desc = { trigger = { - scope:actor != scope:recipient.liege + scope:actor.top_liege != scope:recipient } desc = ask_for_pardon_interaction_minister_desc } @@ -2332,7 +2322,9 @@ ask_for_pardon_interaction = { is_highlighted = { OR = { - has_usable_hook = scope:recipient + scope:actor = { + has_usable_hook = scope:recipient + } AND = { scope:recipient = { has_title = title:e_minister_of_justice @@ -4008,6 +4000,7 @@ grant_court_position = { scope:recipient = { liege ?= scope:actor tgp_is_ceremonial_liege_trigger = no + NOT = { has_character_flag = travel_option_added_character } } } diff --git a/common/character_interactions/00_war.txt b/common/character_interactions/00_war.txt index 2867e253..4b2e1270 100644 --- a/common/character_interactions/00_war.txt +++ b/common/character_interactions/00_war.txt @@ -114,7 +114,9 @@ NOT = { has_strong_hook = scope:actor } trigger_if = { limit = { is_imprisoned = yes } - imprisoner != scope:actor + NOT = { + imprisoner = scope:actor + } } } scope:actor = { diff --git a/common/character_interactions/03_fp2_interactions.txt b/common/character_interactions/03_fp2_interactions.txt index e3fe3533..938dd6e4 100644 --- a/common/character_interactions/03_fp2_interactions.txt +++ b/common/character_interactions/03_fp2_interactions.txt @@ -3411,7 +3411,11 @@ contract_assistance_interaction = { greedy = medium_stress_impact_gain arrogant = medium_stress_impact_gain } - custom_tooltip = contract_assistance_interaction_condition_tt + custom_description_no_bullet = { + text = contract_assistance_interaction_condition_tt + subject = scope:recipient + object = scope:actor + } show_as_tooltip = { pay_short_term_gold = { target = scope:actor @@ -3996,7 +4000,11 @@ request_contract_assistance_interaction = { greedy = medium_stress_impact_gain arrogant = medium_stress_impact_gain } - custom_tooltip = request_contract_assistance_interaction_condition_tt + custom_description_no_bullet = { + text = contract_assistance_interaction_condition_tt + subject = scope:actor + object = scope:recipient + } show_as_tooltip = { pay_short_term_gold = { target = scope:recipient @@ -4778,8 +4786,8 @@ bargain_fealty_interaction = { top_liege = this is_at_war = yes any_character_war = { - is_war_leader = prev - primary_defender = prev + is_war_leader = scope:actor + primary_defender = scope:actor } trigger_if = { limit = { @@ -4799,24 +4807,36 @@ bargain_fealty_interaction = { } } } - # Recipient is not at war with Actor scope:recipient = { - any_neighboring_and_across_water_top_liege_realm_owner = { this = scope:actor } + NOT = { this = scope:actor } primary_title = { is_mercenary_company = no } - NOR = { - this = scope:actor - is_at_war_with = scope:actor - } } } is_valid_showing_failures_only = { scope:actor = { + custom_tooltip = { + text = bargain_fealty_interaction_valid_tt + any_character_war = { + is_war_leader = scope:actor + primary_defender = scope:actor + NOT = { using_cb = fp2_border_raid } + NOT = { using_cb = county_struggle_cb } + } + } any_character_struggle = { involvement = involved has_struggle_phase_parameter = unlocks_bargain_fealty_interaction } } + scope:recipient = { + custom_tooltip = { + text = bargain_fealty_interaction_neighbor_tt + any_neighboring_and_across_water_top_liege_realm_owner = { this = scope:actor } + } + # Recipient is not at war with Actor + NOT = { is_at_war_with = scope:actor } + } } can_be_picked = { @@ -4841,45 +4861,45 @@ bargain_fealty_interaction = { } } + can_send = { + exists = scope:target + } + on_accept = { - if = { - limit = { exists = scope:target } + scope:target = { # Add Recipient to Actor's war - scope:target = { - hidden_effect = { set_called_to = scope:recipient } - if = { - limit = { is_attacker = scope:actor } - add_attacker = scope:recipient - } - else = { add_defender = scope:recipient } + hidden_effect = { set_called_to = scope:recipient } + add_defender = scope:recipient + } + create_title_and_vassal_change = { + type = swear_fealty + save_scope_as = change + } + scope:actor = { + change_liege = { + liege = scope:recipient + change = scope:change } - create_title_and_vassal_change = { - type = swear_fealty - save_scope_as = change - } - scope:actor = { - change_liege = { - liege = scope:recipient - change = scope:change - } - resolve_title_and_vassal_change = scope:change - } - # Actor effects - scope:actor = { - stress_impact = { - arrogant = medium_stress_impact_gain - craven = medium_stress_impact_gain - } - } - # Recipient effects - scope:recipient = { - stress_impact = { - greedy = medium_stress_impact_gain - craven = medium_stress_impact_gain - } + resolve_title_and_vassal_change = scope:change + } + # Actor effects + scope:actor = { + stress_impact = { + arrogant = medium_stress_impact_gain + craven = medium_stress_impact_gain } } - else = { + # Recipient effects + scope:recipient = { + stress_impact = { + greedy = medium_stress_impact_gain + craven = medium_stress_impact_gain + } + } + if = { + limit = { + NOT = { exists = scope:target } + } scope:actor = { send_interface_toast = { type = event_toast_effect_neutral @@ -5377,7 +5397,7 @@ invite_foreign_ruler_to = { # is_imprisoned = no # # Matches the regular minimum triggers. # any_character_struggle = { involvement = involved } - # short_term_gold > standard_activity_cost + # short_term_gold > standard_activity_base_cost #} # #ai_target_quick_trigger = { adult = yes } diff --git a/common/character_interactions/06_ep3_laamp_interactions.txt b/common/character_interactions/06_ep3_laamp_interactions.txt index 5446f642..01b687b3 100644 --- a/common/character_interactions/06_ep3_laamp_interactions.txt +++ b/common/character_interactions/06_ep3_laamp_interactions.txt @@ -168,21 +168,18 @@ purchase_land_interaction = { } is_valid_showing_failures_only = { - scope:actor = { top_liege = this } scope:actor = { + top_liege = this prestige_level >= 2 - } - scope:actor = { - NOT = { + NOR = { has_trait = gallowsbait - } - } - scope:actor = { - NOT = { has_trait = gallivanter } } - scope:recipient = { is_at_war = no } + scope:recipient = { + is_at_war = no + NOT = { has_strong_hook = scope:actor } + } trigger_if = { # Can't purchase Baronies limit = { scope:target ?= { tier = tier_barony } @@ -240,9 +237,6 @@ purchase_land_interaction = { always = no } } - scope:recipient = { - NOT = { has_strong_hook = scope:actor } - } #Has to be used instead of diplo range checks in laamp to landed interactions ep3_laamp_diplo_range_trigger = { TARGET = scope:recipient @@ -320,9 +314,7 @@ purchase_land_interaction = { multiply = 0.5 } if = { - limit = { - scope:offer_gold = yes - } + limit = { scope:offer_gold = yes } multiply = 2 } } @@ -346,7 +338,9 @@ purchase_land_interaction = { } } } - show_as_tooltip = { purchase_land_interaction_shortened_effect = yes } + show_as_tooltip = { + scope:actor = { purchase_land_interaction_effect = yes } + } if = { limit = { always = scope:hook } scope:actor = { use_hook = scope:recipient } @@ -2010,10 +2004,7 @@ negotiate_settlement_interaction = { any_claim = { OR = { holder ?= { - OR = { - this = scope:actor - target_is_liege_or_above = scope:actor - } + target_is_same_character_or_above = scope:actor } target_is_de_jure_liege_or_above = scope:actor.primary_title } @@ -4801,6 +4792,11 @@ hire_laamp_mercenaries_interaction = { is_ai = yes } scope:recipient.current_military_strength >= 100 + scope:recipient = { + NOT = { + has_character_flag = ai_hire_blocker + } + } } } } @@ -4922,9 +4918,20 @@ hire_laamp_mercenaries_interaction = { } } scope:actor = { - pay_short_term_gold = { - target = scope:recipient - gold = ep3_hire_laamp_mercs_cost_value + if = { + limit = { + has_treasury = no + } + pay_short_term_gold = { + target = scope:recipient + gold = ep3_hire_laamp_mercs_cost_value + } + } + else = { + pay_short_term_treasury = { + target = scope:recipient + treasury = ep3_hire_laamp_mercs_cost_value + } } add_to_variable_list = { name = hired_mercenaries @@ -4945,7 +4952,10 @@ hire_laamp_mercenaries_interaction = { } } scope:recipient = { - add_character_flag = joined_as_mercenary + set_variable = { + name = joined_as_mercenary + value = scope:actor + } } add_clan_unity_interaction_effect = { CHARACTER = scope:actor @@ -5665,10 +5675,7 @@ evict_adventurer_interaction = { scope:recipient = { # Adventurer must be in the subrealm domicile.domicile_location.county.holder ?= { - OR = { - this = scope:actor - any_liege_or_above = { this ?= scope:actor } - } + target_is_same_character_or_above = scope:actor } } # AI should not against hired adventurers @@ -5709,10 +5716,7 @@ evict_adventurer_interaction = { every_character_task_contract = { limit = { task_contract_location.county.holder = { - OR = { - this = scope:actor - any_liege_or_above = { this = scope:actor } - } + target_is_same_character_or_above = scope:actor } } invalidate_contract = yes @@ -5733,14 +5737,14 @@ evict_adventurer_interaction = { modifier = demanded_eviction_opinion } custom_tooltip = evict_adventurer_contracts_tt - } - scope:actor = { custom_description_no_bullet = { text = evict_adventurer_consequences_tt - object = scope:recipient - subject = scope:actor + object = scope:actor + subject = scope:recipient } custom_tooltip = evict_adventurer_casus_belli_tt + } + scope:actor = { show_as_tooltip = { add_opinion = { target = scope:recipient @@ -5835,6 +5839,10 @@ evict_adventurer_interaction = { target = scope:recipient } } + modifier = { + add = 100 + has_imprisonment_reason = scope:recipient + } modifier = { add = { if = { diff --git a/common/character_interactions/09_mpo_interactions.txt b/common/character_interactions/09_mpo_interactions.txt index ae55136e..9bbeb1fb 100644 --- a/common/character_interactions/09_mpo_interactions.txt +++ b/common/character_interactions/09_mpo_interactions.txt @@ -369,9 +369,7 @@ scope:recipient = { NOT = { any_land_neighboring_realm_with_tributaries_owner = { - NOT = { - this = scope:actor - } + this != scope:actor } } NOT = { @@ -2631,7 +2629,43 @@ migration_interaction = { value = scope:target_title } } - + if = { + limit = { + OR = { + has_variable = crowned_king_var + has_variable = crowned_emperor_var + } + } + set_variable = { + name = nomad_migration_preserve_coronation + value = yes + } + } + if = { + limit = { + highest_held_title_tier = tier_duchy + } + add_character_modifier = { + modifier = mpo_migrating_accolade_duke_modifier + } + } + else_if = { + limit = { + highest_held_title_tier = tier_kingdom + } + add_character_modifier = { + modifier = mpo_migrating_accolade_king_modifier + } + } + else_if = { + limit = { + highest_held_title_tier >= tier_empire + } + add_character_modifier = { + modifier = mpo_migrating_accolade_emperor_modifier + } + } + # Save your old lands save_scope_as = old_holder capital_county = { save_scope_as = old_capital_county } @@ -2716,17 +2750,6 @@ migration_interaction = { migration_set_obedient_vassal_effect = yes } } - # Player and non obedient vassals get turned into Tributaries instead - every_vassal = { - limit = { - exists = scope:target_title - OR = { - NOT = { is_obedient_to = scope:actor } - is_ai = no - } - } - break_subject_contract_and_establish_tributary_effect = { SUZERAIN = scope:actor TRIBUTARY = prev } - } # Migration travel is handled by code } } @@ -2751,6 +2774,44 @@ migration_interaction = { } } } + scope:actor = { + if = { + limit = { + OR = { + has_variable = crowned_king_var + has_variable = crowned_emperor_var + } + } + set_variable = { + name = nomad_migration_preserve_coronation + value = yes + } + } + if = { + limit = { + highest_held_title_tier = tier_duchy + } + add_character_modifier = { + modifier = mpo_migrating_accolade_duke_modifier + } + } + else_if = { + limit = { + highest_held_title_tier = tier_kingdom + } + add_character_modifier = { + modifier = mpo_migrating_accolade_king_modifier + } + } + else_if = { + limit = { + highest_held_title_tier >= tier_empire + } + add_character_modifier = { + modifier = mpo_migrating_accolade_emperor_modifier + } + } + } # Migration wars are handled by code scope:actor = { if = { @@ -3332,9 +3393,7 @@ migration_interaction = { } AND = { tier = tier_county - any_county_province = { - any_province_epidemic = { - } + any_county_province_epidemic = { } } } @@ -7716,7 +7775,9 @@ mpo_retrieve_land_from_herder_interaction = { desc = YOU_ARE_AN_ADVENTURER_REASON } modifier = { - exists = scope:actor.suzerain + scope:recipient = { + is_tributary = yes + } add = -25 desc = ADVENTURER_SUZERAIN_REASON } @@ -7775,6 +7836,7 @@ mpo_vassal_to_tributary_interaction = { is_valid_showing_failures_only = { scope:recipient = { is_imprisoned = no + is_independent_ruler = yes } scope:actor = { is_imprisoned = no @@ -8769,9 +8831,7 @@ mpo_offer_submission_or_ruin = { scope:recipient = { NOT = { any_neighboring_top_liege_realm_owner = { - NOT = { - this = scope:actor - } + this != scope:actor } } NOT = { diff --git a/common/character_interactions/tgp_tribute_mission_interactions.txt b/common/character_interactions/tgp_tribute_mission_interactions.txt index b41ebcd5..95a0d913 100644 --- a/common/character_interactions/tgp_tribute_mission_interactions.txt +++ b/common/character_interactions/tgp_tribute_mission_interactions.txt @@ -382,8 +382,7 @@ tribute_mission_concubine_interaction = { GIVER = scope:actor CHARACTER = scope:actor.overlord } - has_any_disease_trigger = no - has_easily_mocked_physical_attribute_trigger = no + tribute_mission_is_available_concubine_trigger = yes } add_to_list = characters } diff --git a/common/council_tasks/00_chancellor_tasks.txt b/common/council_tasks/00_chancellor_tasks.txt index 5f994261..46d4889e 100644 --- a/common/council_tasks/00_chancellor_tasks.txt +++ b/common/council_tasks/00_chancellor_tasks.txt @@ -567,17 +567,18 @@ task_integrate_title = { trigger_if = { limit = { has_tgp_dlc_trigger = yes - liege = { - any_character_situation = { - situation_type = dynastic_cycle - save_temporary_scope_as = dynastic_cycle + top_liege = { + top_participant_group:dynastic_cycle ?= { + participant_group_type = hegemon_ruler } } } custom_tooltip = { text = dynastic_cycle_locks_title_integration_tt - top_participant_group:dynastic_cycle ?= { - NOT = { has_participant_group_parameter = dynastic_cycle_locks_title_integration } + top_liege = { + top_participant_group:dynastic_cycle ?= { + NOT = { has_participant_group_parameter = dynastic_cycle_locks_title_integration } + } } } } @@ -585,6 +586,17 @@ task_integrate_title = { on_finish_task_county = { start_default_task = yes + # Add the title to the Dynastic Cycle core region + if = { + limit = { + scope:councillor_liege = { + top_participant_group:dynastic_cycle ?= { + participant_group_type = hegemon_ruler + } + } + } + situation:dynastic_cycle.situation_sub_region:core = { add_dejure_title_to_sub_region = scope:county.empire } + } } potential_county = { diff --git a/common/culture/cultures/NEOW_mongolic.txt b/common/culture/cultures/NEOW_mongolic.txt new file mode 100644 index 00000000..2b6e3dac --- /dev/null +++ b/common/culture/cultures/NEOW_mongolic.txt @@ -0,0 +1,34 @@ +kalmyk = { + color = { 0.2 0.2 1.0 } + + ethos = ethos_bellicose + heritage = heritage_mongolic + language = language_mongolic + martial_custom = martial_custom_male_only + head_determination = head_determination_herd + + traditions = { + #tradition_horse_lords + #tradition_loyal_soldiers + tradition_hunters + tradition_zealous_people + tradition_mountain_homes + } + + dlc_tradition = { + trait = tradition_mpo_northern_tribes + requires_dlc_flag = khans_of_the_steppe + } + + name_list = name_list_oirat + + coa_gfx = { mongol_coa_gfx steppe_coa_gfx } + building_gfx = { steppe_building_gfx } + clothing_gfx = { mongol_clothing_gfx } + unit_gfx = { mongol_unit_gfx } + house_coa_frame = house_frame_14 + + ethnicities = { + 100 = asian_mongol + } +} diff --git a/common/culture/eras/00_culture_eras.txt b/common/culture/eras/00_culture_eras.txt index a84f8c3a..e8ab2d02 100644 --- a/common/culture/eras/00_culture_eras.txt +++ b/common/culture/eras/00_culture_eras.txt @@ -34,33 +34,6 @@ culture_era_early_medieval = { damage = 5 toughness = 2 } - - # Accolade - ## Accolade Archers - maa_upgrade = { - men_at_arms = accolade_maa_archers - damage = 6 - } - ## Accolade Skirmishers - maa_upgrade = { - men_at_arms = accolade_maa_skirmishers - damage = 6 - } - ## Accolade Pikes - maa_upgrade = { - men_at_arms = accolade_maa_pikes - damage = 6 - } - ## Accolade Outriders - maa_upgrade = { - men_at_arms = accolade_maa_outriders - pursuit = 6 - } - ## Accolade Cameliers - maa_upgrade = { - men_at_arms = accolade_maa_cameliers - pursuit = 6 - } } culture_era_high_medieval = { @@ -105,55 +78,6 @@ culture_era_high_medieval = { damage = 5 screen = 3 } - - # Accolade - ## Accolade Archers - maa_upgrade = { - men_at_arms = accolade_maa_archers - damage = 4 - toughness = 4 - } - ## Accolade Skirmishers - maa_upgrade = { - men_at_arms = accolade_maa_skirmishers - damage = 4 - toughness = 4 - pursuit = 4 - screen = 4 - } - ## Accolade Pikes - maa_upgrade = { - men_at_arms = accolade_maa_pikes - damage = 4 - toughness = 4 - } - ## Accolade Outriders - maa_upgrade = { - men_at_arms = accolade_maa_outriders - damage = 4 - toughness = 4 - pursuit = 4 - screen = 4 - } - ## Accolade Vanguards - maa_upgrade = { - men_at_arms = accolade_maa_vanguards - damage = 10 - toughness = 10 - } - ## Accolade Lancers - maa_upgrade = { - men_at_arms = accolade_maa_lancers - pursuit = 10 - } - ## Accolade Cameliers - maa_upgrade = { - men_at_arms = accolade_maa_cameliers - damage = 4 - toughness = 4 - pursuit = 4 - screen = 4 - } } culture_era_late_medieval = { @@ -199,59 +123,4 @@ culture_era_late_medieval = { damage = 8 screen = 5 } - - # Accolade - ## Accolade Archers - maa_upgrade = { - men_at_arms = accolade_maa_archers - damage = 10 - toughness = 10 - } - ## Accolade Skirmishers - maa_upgrade = { - men_at_arms = accolade_maa_skirmishers - damage = 6 - toughness = 6 - pursuit = 4 - screen = 4 - } - ## Accolade Pikes - maa_upgrade = { - men_at_arms = accolade_maa_pikes - damage = 10 - toughness = 6 - } - ## Accolade Outriders - maa_upgrade = { - men_at_arms = accolade_maa_outriders - damage = 16 - toughness = 16 - pursuit = 20 - screen = 6 - } - ## Accolade Vanguards - maa_upgrade = { - men_at_arms = accolade_maa_vanguards - damage = 10 - toughness = 10 - } - ## Accolade Lancers - maa_upgrade = { - men_at_arms = accolade_maa_lancers - screen = 20 - } - ## Accolade Crossbowers - maa_upgrade = { - men_at_arms = accolade_maa_crossbowers - damage = 10 - toughness = 10 - } - ## Accolade Cameliers - maa_upgrade = { - men_at_arms = accolade_maa_cameliers - damage = 16 - toughness = 6 - pursuit = 20 - screen = 6 - } } diff --git a/common/culture/innovations/tgp_innovations.txt b/common/culture/innovations/tgp_innovations.txt index c8c4e0a0..d79123e8 100644 --- a/common/culture/innovations/tgp_innovations.txt +++ b/common/culture/innovations/tgp_innovations.txt @@ -181,17 +181,7 @@ innovation_sericulture = { # VICTORIA TECHS ARE BACK BABEYYY AWOOOOU (wolf howl) icon = @sericulture potential = { - has_tgp_dlc_trigger = yes - } - - can_progress = { - custom_tooltip = { - text = silk_road_sericulture_trigger_tt - OR = { - has_cultural_pillar = heritage_chinese - has_cultural_pillar = heritage_byzantine - } - } + silk_road_innovation_trigger = { INNOVATION = sericulture } } parameters = { diff --git a/common/culture/name_equivalency/00_names.txt b/common/culture/name_equivalency/00_names.txt index 5f962457..5e18e6e6 100644 --- a/common/culture/name_equivalency/00_names.txt +++ b/common/culture/name_equivalency/00_names.txt @@ -932,7 +932,7 @@ morganna_female = { Morganna Morganne } morna_female = { Morna Muirne } moses_male = { MosE_ Moses Mouses Musa Muza } mstislav_male = { Mstislav ML_cisL_aw MS_cisL_aw } -muhammad_male = { Muhammad Mahammad Mamlan Mihemed Mohammed Muhammed Mahamed } +muhammad_male = { Muhammad Mahammad Mamlan Mihemed Mohammed Muhammed Mahamed Muhammad_Bughra Muhammad_Toghan } mungo_male = { Mungo Mwyn } munia_female = { Moninha Monnia Munia MU_nia Munya } muniadomna_female = { Mumadona MU_niadomna Muniadona } @@ -1218,7 +1218,7 @@ skule_male = { Skule Scule Skuli SkU_li } slaine_female = { Slaine SlA_I_ne } smbat_male = { Smbat Sumbat } sobeslaus_male = { Sobeslaus SobE_slav Sobieslav } -solomon_male = { Salemon Salman Salomon Selevan Selyf Solomon SolomO_n Sulayman Suleyman Suleiman } +solomon_male = { Salemon Salman Salomon Selevan Selyf Solomon SolomO_n Sulayman Suleyman Suleiman Suleyman-Arslan } solve_male = { SO_lve SO_lvi } somerled_male = { Somerled Somhairle SumarliT_i } sonpala_male = { Sonpala Sonpal } diff --git a/common/culture/traditions/00_realm_traditions.txt b/common/culture/traditions/00_realm_traditions.txt index 5edac7aa..2dcf6e74 100644 --- a/common/culture/traditions/00_realm_traditions.txt +++ b/common/culture/traditions/00_realm_traditions.txt @@ -551,6 +551,7 @@ tradition_gardening = { } } } + NOT = { culture_tradition:tradition_tgp_ephemeral_grace = { is_in_list = traits } } } parameters = { @@ -1624,7 +1625,7 @@ tradition_culture_blending = { scope:character = { any_sub_realm_county = { percent >= 0.3 - NOT = { culture = root } + culture != root } } } @@ -1718,9 +1719,7 @@ tradition_isolationist = { any_sub_realm_county = { culture = scope:character.culture any_neighboring_county = { - NOT = { - culture = scope:character.culture - } + culture != scope:character.culture culture = { cultural_acceptance = { target = scope:character.culture value >= 40 } } @@ -1760,6 +1759,14 @@ tradition_isolationist = { } } + can_pick = { + # Mutually exclusive with other Isolationist + NOR = { + culture_tradition:tradition_tgp_inward_perfection = { is_in_list = traits } + culture_tradition:tradition_cultural_primacy = { is_in_list = traits } + } + } + ai_will_do = { value = 100 if = { @@ -1903,16 +1910,20 @@ tradition_agrarian = { 1 = indian 4 = farmland.dds } + + is_shown = { + NOT = { + culture_tradition:tradition_intensive_farming = { is_in_list = traits } + } + } can_pick = { custom_tooltip = { text = culture_in_farmlands_or_floodplains_terrain_desc any_culture_county = { - any_county_province = { - OR = { - terrain = farmlands - terrain = floodplains - } + county_has_province_with_terrain = { + terrain = farmlands + terrain = floodplains } } } @@ -1966,11 +1977,9 @@ tradition_agrarian = { NOT = { any_culture_county = { count >= 5 - any_county_province = { - OR = { - terrain = farmlands - terrain = floodplains - } + county_has_province_with_terrain = { + terrain = farmlands + terrain = floodplains } } } @@ -2004,11 +2013,9 @@ tradition_agrarian = { any_sub_realm_county = { count >= 2 culture = scope:character.culture - any_county_province = { - OR = { - terrain = farmlands - terrain = floodplains - } + county_has_province_with_terrain = { + terrain = farmlands + terrain = floodplains } } } @@ -2130,11 +2137,9 @@ tradition_pastoralists = { any_sub_realm_county = { percent >= 0.6 culture = scope:character.culture - any_county_province = { - OR = { - terrain = plains - terrain = steppe - } + county_has_province_with_terrain = { + terrain = plains + terrain = steppe } } } @@ -2437,9 +2442,7 @@ tradition_staunch_traditionalists = { limit = { scope:character = { any_sub_realm_county = { - NOT = { - culture = scope:character.culture - } + culture != scope:character.culture } } } @@ -2516,7 +2519,7 @@ tradition_hill_dwellers = { custom_description = { text = culture_in_hills_desc any_culture_county = { - any_county_province = { + county_has_province_with_terrain = { terrain = hills } } @@ -2562,7 +2565,7 @@ tradition_hill_dwellers = { NOT = { any_culture_county = { percent >= 0.3 - any_county_province = { + county_has_province_with_terrain = { terrain = hills } } @@ -2597,7 +2600,7 @@ tradition_hill_dwellers = { any_sub_realm_county = { percent >= 0.2 culture = scope:character.culture - any_county_province = { + county_has_province_with_terrain = { terrain = hills } } @@ -2610,7 +2613,7 @@ tradition_hill_dwellers = { limit = { any_culture_county = { percent >= 0.6 - any_county_province = { + county_has_province_with_terrain = { terrain = hills } } @@ -2642,11 +2645,9 @@ tradition_forest_folk = { custom_description = { text = culture_in_forest_desc any_culture_county = { - any_county_province = { - OR = { - terrain = forest - terrain = taiga - } + county_has_province_with_terrain = { + terrain = forest + terrain = taiga } } } @@ -2695,11 +2696,9 @@ tradition_forest_folk = { NOT = { any_culture_county = { percent >= 0.3 - any_county_province = { - OR = { - terrain = forest - terrain = taiga - } + county_has_province_with_terrain = { + terrain = forest + terrain = taiga } } } @@ -2733,11 +2732,9 @@ tradition_forest_folk = { any_sub_realm_county = { percent >= 0.2 culture = scope:character.culture - any_county_province = { - OR = { - terrain = forest - terrain = taiga - } + county_has_province_with_terrain = { + terrain = forest + terrain = taiga } } } @@ -2749,11 +2746,9 @@ tradition_forest_folk = { limit = { any_culture_county = { percent >= 0.6 - any_county_province = { - OR = { - terrain = forest - terrain = taiga - } + county_has_province_with_terrain = { + terrain = forest + terrain = taiga } } } @@ -2791,11 +2786,9 @@ tradition_mountain_homes = { custom_description = { text = culture_in_mountains_desc any_culture_county = { - any_county_province = { - OR = { - terrain = mountains - terrain = desert_mountains - } + county_has_province_with_terrain = { + terrain = mountains + terrain = desert_mountains } } } @@ -2844,11 +2837,9 @@ tradition_mountain_homes = { NOT = { any_culture_county = { percent >= 0.3 - any_county_province = { - OR = { - terrain = mountains - terrain = desert_mountains - } + county_has_province_with_terrain = { + terrain = mountains + terrain = desert_mountains } } } @@ -2882,11 +2873,9 @@ tradition_mountain_homes = { any_sub_realm_county = { percent >= 0.2 culture = scope:character.culture - any_county_province = { - OR = { - terrain = mountains - terrain = desert_mountains - } + county_has_province_with_terrain = { + terrain = mountains + terrain = desert_mountains } } } @@ -2898,11 +2887,9 @@ tradition_mountain_homes = { limit = { any_culture_county = { percent >= 0.6 - any_county_province = { - OR = { - terrain = mountains - terrain = desert_mountains - } + county_has_province_with_terrain = { + terrain = mountains + terrain = desert_mountains } } } @@ -2924,11 +2911,9 @@ tradition_dryland_dwellers = { custom_description = { text = culture_in_dryland_desc any_culture_county = { - any_county_province = { - OR = { - terrain = drylands - terrain = desert - } + county_has_province_with_terrain = { + terrain = drylands + terrain = desert } } } @@ -2981,11 +2966,9 @@ tradition_dryland_dwellers = { NOT = { any_culture_county = { percent >= 0.3 - any_county_province = { - OR = { - terrain = drylands - terrain = desert - } + county_has_province_with_terrain = { + terrain = drylands + terrain = desert } } } @@ -3019,11 +3002,9 @@ tradition_dryland_dwellers = { any_sub_realm_county = { percent >= 0.2 culture = scope:character.culture - any_county_province = { - OR = { - terrain = drylands - terrain = desert - } + county_has_province_with_terrain = { + terrain = drylands + terrain = desert } } } @@ -3035,11 +3016,9 @@ tradition_dryland_dwellers = { limit = { any_culture_county = { percent >= 0.6 - any_county_province = { - OR = { - terrain = drylands - terrain = desert - } + county_has_province_with_terrain = { + terrain = drylands + terrain = desert } } } @@ -3068,7 +3047,7 @@ tradition_jungle_dwellers = { custom_description = { text = culture_in_jungle_desc any_culture_county = { - any_county_province = { + county_has_province_with_terrain = { terrain = jungle } } @@ -3111,7 +3090,7 @@ tradition_jungle_dwellers = { NOT = { any_culture_county = { percent >= 0.3 - any_county_province = { + county_has_province_with_terrain = { terrain = jungle } } @@ -3146,7 +3125,7 @@ tradition_jungle_dwellers = { any_sub_realm_county = { percent >= 0.2 culture = scope:character.culture - any_county_province = { + county_has_province_with_terrain = { terrain = jungle } } @@ -3159,7 +3138,7 @@ tradition_jungle_dwellers = { limit = { any_culture_county = { percent >= 0.6 - any_county_province = { + county_has_province_with_terrain = { terrain = jungle } } @@ -3182,7 +3161,7 @@ tradition_wetlanders = { custom_tooltip = { text = culture_in_wetlands_desc any_culture_county = { - any_county_province = { + county_has_province_with_terrain = { terrain = wetlands } } @@ -3237,7 +3216,7 @@ tradition_wetlanders = { NOT = { any_culture_county = { count >= 3 - any_county_province = { + county_has_province_with_terrain = { terrain = wetlands } } @@ -3272,7 +3251,7 @@ tradition_wetlanders = { any_sub_realm_county = { count >= 3 culture = scope:character.culture - any_county_province = { + county_has_province_with_terrain = { terrain = wetlands } } @@ -3285,7 +3264,7 @@ tradition_wetlanders = { limit = { any_culture_county = { percent >= 0.6 - any_county_province = { + county_has_province_with_terrain = { terrain = wetlands } } @@ -3315,7 +3294,7 @@ tradition_hidden_cities = { custom_description = { text = culture_in_jungle_desc any_culture_county = { - any_county_province = { + county_has_province_with_terrain = { terrain = jungle } } @@ -3358,7 +3337,7 @@ tradition_hidden_cities = { NOT = { any_culture_county = { percent >= 0.3 - any_county_province = { + county_has_province_with_terrain = { terrain = jungle } } @@ -3391,7 +3370,7 @@ tradition_hidden_cities = { NOT = { any_culture_county = { percent >= 0.3 - any_county_province = { + county_has_province_with_terrain = { terrain = jungle } } @@ -3419,8 +3398,8 @@ tradition_hidden_cities = { limit = { any_culture_county = { percent >= 0.6 - any_county_province = { - terrain = wetlands + county_has_province_with_terrain = { + terrain = jungle } } } @@ -3478,7 +3457,7 @@ tradition_ancient_miners = { scope:character = { any_sub_realm_county = { culture = scope:character.culture - any_county_province = { + county_has_province_with_terrain = { terrain = hills } } @@ -3503,8 +3482,11 @@ tradition_castle_keepers = { custom_tooltip = { scope:character = { OR = { - government_has_flag = government_is_feudal - government_has_flag = government_is_clan + government_has_flag = government_is_feudal + government_has_flag = government_is_clan #Update for FP3 + government_has_flag = government_is_administrative + government_has_flag = government_has_merit + government_has_flag = government_is_japan_feudal } } text = must_be_feudal_or_clan @@ -3611,13 +3593,20 @@ tradition_city_keepers = { can_pick = { trigger_if = { - limit = { has_ep3_dlc_trigger = yes } + limit = { + OR = { + has_ep3_dlc_trigger = yes + has_tgp_dlc_trigger = yes + } + } custom_tooltip = { scope:character = { OR = { government_has_flag = government_is_feudal - government_has_flag = government_is_clan #Update for FP3 + government_has_flag = government_is_clan government_has_flag = government_is_administrative + government_has_flag = government_has_merit + government_has_flag = government_is_japan_feudal } } text = must_be_feudal_clan_or_admin @@ -3628,7 +3617,7 @@ tradition_city_keepers = { scope:character = { OR = { government_has_flag = government_is_feudal - government_has_flag = government_is_clan #Update for FP3 + government_has_flag = government_is_clan } } text = must_be_feudal_or_clan @@ -3735,9 +3724,7 @@ tradition_maritime_mercantilism = { custom_description = { text = culture_on_coast_desc any_culture_county = { - any_county_province = { - is_coastal = yes - } + has_coastal_province = yes } } } @@ -3779,9 +3766,7 @@ tradition_maritime_mercantilism = { NOT = { any_culture_county = { percent >= 0.3 - any_county_province = { - is_coastal = yes - } + has_coastal_province = yes } } } @@ -3812,9 +3797,7 @@ tradition_maritime_mercantilism = { scope:character = { any_sub_realm_county = { percent >= 0.6 - any_county_province = { - is_coastal = yes - } + has_coastal_province = yes } } } @@ -3835,9 +3818,7 @@ tradition_maritime_mercantilism = { scope:character = { any_sub_realm_county = { percent >= 0.3 - any_county_province = { - is_coastal = yes - } + has_coastal_province = yes } } } @@ -3848,9 +3829,7 @@ tradition_maritime_mercantilism = { limit = { any_culture_county = { percent >= 0.6 - any_county_province = { - is_coastal = yes - } + has_coastal_province = yes } } multiply = 2 diff --git a/common/culture/traditions/00_societal_traditions.txt b/common/culture/traditions/00_societal_traditions.txt index 1bef6091..22e9643d 100644 --- a/common/culture/traditions/00_societal_traditions.txt +++ b/common/culture/traditions/00_societal_traditions.txt @@ -1238,6 +1238,7 @@ tradition_music_theory = { gregarious_trait_gives_bonuses = yes characters_are_better_court_musicians = yes # Also hooked in to increase the Feast opinion bonus better_court_musicians = yes + withering_mind_less_likely = yes } cost = { diff --git a/common/culture/traditions/03_fp3_traditions.txt b/common/culture/traditions/03_fp3_traditions.txt index 4f45ce91..eca80452 100644 --- a/common/culture/traditions/03_fp3_traditions.txt +++ b/common/culture/traditions/03_fp3_traditions.txt @@ -781,6 +781,7 @@ tradition_fp3_fierce_independence = { } parameters = { + unlock_maa_tawashi = yes harder_to_hybridize = yes harder_to_convert_county_culture = yes } diff --git a/common/customizable_localization/00_government_custom_loc.txt b/common/customizable_localization/00_government_custom_loc.txt index 739a60c7..6977c1d8 100644 --- a/common/customizable_localization/00_government_custom_loc.txt +++ b/common/customizable_localization/00_government_custom_loc.txt @@ -302,7 +302,17 @@ GetSuccessionHeirMotion = { trigger = { trigger_if = { limit = { is_ruler = yes } - has_government = landless_adventurer_government + OR = { + has_government = landless_adventurer_government + AND = { + OR = { + any_held_title = { is_noble_family_title = yes } + government_allows = administrative + } + is_independent_ruler = no + } + tgp_is_ceremonial_regent_trigger = yes + } } trigger_else = { liege ?= { has_government = landless_adventurer_government } @@ -508,10 +518,10 @@ GetRealmOrDomicileTooltip = { trigger = { trigger_if = { limit = { is_ruler = yes } - is_governor = yes + is_governor_or_admin_count = yes } trigger_else = { - liege ?= { is_governor = yes } + liege ?= { is_governor_or_admin_count = yes } } } localization_key = GOVERNORSHIP_TOOLTIP diff --git a/common/customizable_localization/00_greeting_custom_loc.txt b/common/customizable_localization/00_greeting_custom_loc.txt index 948d4692..c42b539c 100644 --- a/common/customizable_localization/00_greeting_custom_loc.txt +++ b/common/customizable_localization/00_greeting_custom_loc.txt @@ -800,7 +800,7 @@ FormOfAddressForLiege = { trigger = { tgp_is_ceremonial_regent_trigger = yes } - localization_key = form_of_address_ladylord_regent + localization_key = form_of_address_liege_title } text = { trigger = { diff --git a/common/customizable_localization/00_ruler_transition_loc.txt b/common/customizable_localization/00_ruler_transition_loc.txt index 9cda6e91..1c0cca72 100644 --- a/common/customizable_localization/00_ruler_transition_loc.txt +++ b/common/customizable_localization/00_ruler_transition_loc.txt @@ -203,6 +203,24 @@ DeathMessageIntro = { } } +NicknameReason = { + type = character + + random_valid = yes + text = { + localization_key = SUCCESSION_EVENT_WINDOW_NICKNAME + trigger = { + has_any_nickname = yes + } + } + text = { + localization_key = blank_line + trigger = { + has_any_nickname = no + } + } +} + DeathMessageReason = { type = character @@ -455,7 +473,10 @@ DeathMessageOutro = { text = { localization_key = SUCCESSION_EVENT_WINDOW_DEAD_OUTRO_MIND_INFIRM trigger = { - has_trait = infirm + OR = { + has_trait = infirm + has_trait = withering_mind + } } weight_multiplier = { base = 2 @@ -2099,6 +2120,22 @@ GameOverMessageNotableAchievements = { } } + text = { + localization_key = SUCCESSION_EVENT_WINDOW_END_DATE_CREATED_BRUNEI_KINGDOM_DESC + trigger = { + exists = global_var:flag_created_brunei_kingdom + dynasty = global_var:flag_created_brunei_kingdom.dynasty + } + } + + text = { + localization_key = SUCCESSION_EVENT_WINDOW_END_DATE_CREATED_BRUNEI_EMPIRE_DESC + trigger = { + exists = global_var:flag_created_brunei_empire + dynasty = global_var:flag_created_brunei_empire.dynasty + } + } + text = { localization_key = SUCCESSION_EVENT_WINDOW_END_DATE_CREATED_RUM_DESC trigger = { diff --git a/common/customizable_localization/05_bp2_custom_loc.txt b/common/customizable_localization/05_bp2_custom_loc.txt index f212664b..7e032252 100644 --- a/common/customizable_localization/05_bp2_custom_loc.txt +++ b/common/customizable_localization/05_bp2_custom_loc.txt @@ -390,6 +390,12 @@ GetLearningBuilding = { RockStoryName = { type = character + text = { + trigger = { + NOT = { exists = var:story_cycle_rock_name } + } + localization_key = not_yet_chosen + } text = { trigger = { AND = { diff --git a/common/customizable_localization/tgp_custom_loc.txt b/common/customizable_localization/tgp_custom_loc.txt index b80ee605..cf084066 100644 --- a/common/customizable_localization/tgp_custom_loc.txt +++ b/common/customizable_localization/tgp_custom_loc.txt @@ -701,31 +701,31 @@ GetTurbanRebellionColor = { type = all text = { trigger = { - has_global_variable = old_dynastic_color_is_red + situation:dynastic_cycle.var:wuking_element ?= flag:metal } localization_key = red } text = { trigger = { - has_global_variable = old_dynastic_color_is_green + situation:dynastic_cycle.var:wuking_element ?= flag:earth } localization_key = green } text = { trigger = { - has_global_variable = old_dynastic_color_is_white + situation:dynastic_cycle.var:wuking_element ?= flag:wood } localization_key = white } text = { trigger = { - has_global_variable = old_dynastic_color_is_black + situation:dynastic_cycle.var:wuking_element ?= flag:fire } localization_key = black } text = { trigger = { - has_global_variable = old_dynastic_color_is_yellow + situation:dynastic_cycle.var:wuking_element ?= flag:water } localization_key = yellow } diff --git a/common/decisions/00_major_decisions_east_europe.txt b/common/decisions/00_major_decisions_east_europe.txt index d9d39b07..d25c7ac9 100644 --- a/common/decisions/00_major_decisions_east_europe.txt +++ b/common/decisions/00_major_decisions_east_europe.txt @@ -95,6 +95,10 @@ unite_the_western_slavs_decision = { name = unite_the_western_slavs_decision_title value = scope:western_slav_uniter.primary_title } + close_view = { + view = decisions + player = root + } } @@ -126,7 +130,7 @@ unite_the_southern_slavs_decision = { is_shown = { culture = { has_cultural_pillar = heritage_south_slavic } - NOT = { + NOR = { has_culture = culture:vlach # Not technically Slavic despite being in the South Slavic group. is_target_in_global_variable_list = { name = unavailable_unique_decisions diff --git a/common/decisions/10_religious_decisions.txt b/common/decisions/10_religious_decisions.txt index 90213a7f..79b8e40d 100644 --- a/common/decisions/10_religious_decisions.txt +++ b/common/decisions/10_religious_decisions.txt @@ -401,7 +401,7 @@ initiate_consolamentum_decision = { is_valid = { OR = { - age >= 60 + age >= ritual_suicide_age custom_description = { text = decision_consolamentum_health health <= 1 @@ -414,7 +414,7 @@ initiate_consolamentum_decision = { hidden_effect = { add_piety_level = 1 } - death = { death_reason = death_suicide} + death = { death_reason = death_ritual_suicide } show_as_tooltip = { add_piety_level = 1 } @@ -1356,12 +1356,18 @@ return_rome_decision = { resolve_title_and_vassal_change = scope:change add_piety = major_piety_value - - faith.religious_head = { - add_opinion = { - target = root - modifier = grateful_opinion - opinion = 20 + if = { + limit = { + faith.religious_head ?= { + this != root + } + } + faith.religious_head = { + add_opinion = { + target = root + modifier = grateful_opinion + opinion = 20 + } } } diff --git a/common/decisions/80_major_decisions_roman.txt b/common/decisions/80_major_decisions_roman.txt index fd1399a7..50a83124 100644 --- a/common/decisions/80_major_decisions_roman.txt +++ b/common/decisions/80_major_decisions_roman.txt @@ -39,7 +39,7 @@ restore_roman_empire_decision = { is_valid = { prestige_level >= max_prestige_level - + restore_roman_empire_decision_religion_culture_trigger = yes completely_controls = title:d_latium completely_controls = title:d_venice completely_controls = title:d_romagna @@ -62,13 +62,6 @@ restore_roman_empire_decision = { is_capable_adult = yes is_imprisoned = no top_liege = this - - OR = { - religion = { is_in_family = rf_abrahamic } - religion = religion:hellenism_religion - culture = { has_cultural_pillar = heritage_latin } - culture = { has_cultural_pillar = heritage_byzantine } - } } effect = { @@ -151,6 +144,7 @@ restore_roman_empire_holy_decision = { is_valid = { prestige_level >= max_prestige_level + restore_roman_empire_decision_religion_culture_trigger = yes completely_controls = title:d_latium completely_controls = title:d_venice completely_controls = title:d_romagna @@ -173,13 +167,6 @@ restore_roman_empire_holy_decision = { is_capable_adult = yes is_imprisoned = no top_liege = this - - OR = { - religion = { is_in_family = rf_abrahamic } - religion = religion:hellenism_religion - culture = { has_cultural_pillar = heritage_latin } - culture = { has_cultural_pillar = heritage_byzantine } - } } effect = { @@ -263,7 +250,7 @@ restore_roman_empire_italian_decision = { is_valid = { prestige_level >= max_prestige_level - + restore_roman_empire_decision_religion_culture_trigger = yes completely_controls = title:d_latium completely_controls = title:d_venice completely_controls = title:d_romagna @@ -286,13 +273,6 @@ restore_roman_empire_italian_decision = { is_capable_adult = yes is_imprisoned = no top_liege = this - - OR = { - religion = { is_in_family = rf_abrahamic } - religion = religion:hellenism_religion - culture = { has_cultural_pillar = heritage_latin } - culture = { has_cultural_pillar = heritage_byzantine } - } } effect = { @@ -907,7 +887,7 @@ restore_pope_in_rome_decision = { } NOT = { title:c_roma.holder = { has_title = title:k_papal_state } } NOT = { capital_county = { this = title:c_roma } } - title:k_papal_state.holder = { + title:k_papal_state.holder ?= { NOT = { has_opinion_modifier = { #Not accepting it if you conquered it yourself. target = root @@ -1277,7 +1257,10 @@ dismantle_byz_pretender_decision = { } is_ruler = yes is_playable_character = yes - is_roman_emperor_trigger = yes + OR = { + is_roman_emperor_trigger = yes + has_title = title:e_hre + } NOR = { #Once an Emperor throws the challenge, he has only one chance to dismantle the Empire. has_character_flag = flag_emperor_challenging_byz #Applied below. has_character_flag = flag_emperor_challenged_byz #Applied in war. diff --git a/common/decisions/dlc_decisions/03_fp2_decisions.txt b/common/decisions/dlc_decisions/03_fp2_decisions.txt index ac857c68..0ea7c268 100644 --- a/common/decisions/dlc_decisions/03_fp2_decisions.txt +++ b/common/decisions/dlc_decisions/03_fp2_decisions.txt @@ -5,6 +5,7 @@ # by Joe Parkin # ############################################# +### [ROOT.Char.GetPrimaryTitle.GetAdjectiveNoTooltip] Dominance ### struggle_iberia_ending_hostility_decision = { decision_group_type = major title = struggle_iberia_ending_hostility_decision @@ -17,6 +18,7 @@ struggle_iberia_ending_hostility_decision = { confirm_click_sound = "event:/DLC/FP2/SFX/UI/fp2_struggle_ending_decision_confirm" is_invisible = yes sort_order = 80 + cooldown = { days = 1 } is_shown = { is_landless_adventurer = no @@ -29,9 +31,7 @@ struggle_iberia_ending_hostility_decision = { OR = { custom_tooltip = { text = struggle_iberia_ending_hostility_decision_correct_phase_tt - any_character_struggle = { - involvement = involved - is_struggle_type = iberian_struggle + struggle:iberian_struggle = { is_struggle_phase = struggle_iberia_phase_hostility } } @@ -45,15 +45,6 @@ struggle_iberia_ending_hostility_decision = { } } - - custom_tooltip = { - text = struggle_ending_decision_correct_involvement_spain_tt - any_character_struggle = { - involvement = involved - is_struggle_type = iberian_struggle - } - } - # Hold and completely control two de jure kingdoms of Hispania OR = { custom_tooltip = { # @@ -221,6 +212,7 @@ struggle_iberia_ending_hostility_decision = { # by Joe Parkin # ############################################# +### Status Quo ### struggle_iberia_ending_compromise_decision = { decision_group_type = major title = struggle_iberia_ending_compromise_decision @@ -232,6 +224,7 @@ struggle_iberia_ending_compromise_decision = { selection_tooltip = struggle_iberia_ending_compromise_decision_tooltip confirm_click_sound = "event:/DLC/FP2/SFX/UI/fp2_struggle_ending_decision_confirm" is_invisible = yes + cooldown = { days = 1 } sort_order = 80 @@ -245,20 +238,11 @@ struggle_iberia_ending_compromise_decision = { custom_tooltip = { text = struggle_iberia_ending_compromise_decision_correct_phase_tt - any_character_struggle = { - is_struggle_type = iberian_struggle + struggle:iberian_struggle = { is_struggle_phase = struggle_iberia_phase_compromise } } - custom_tooltip = { - text = struggle_ending_decision_correct_involvement_spain_tt - any_character_struggle = { - involvement = involved - is_struggle_type = iberian_struggle - } - } - OR = { # Exalted among Men or higher prestige_level >= very_high_prestige_level @@ -434,6 +418,7 @@ struggle_iberia_ending_compromise_decision = { # by Joe Parkin # ############################################# +### Détente ### struggle_iberia_ending_conciliation_decision = { decision_group_type = major title = struggle_iberia_ending_conciliation_decision @@ -445,6 +430,7 @@ struggle_iberia_ending_conciliation_decision = { selection_tooltip = struggle_iberia_ending_conciliation_decision_tooltip confirm_click_sound = "event:/DLC/FP2/SFX/UI/fp2_struggle_ending_decision_confirm" is_invisible = yes + cooldown = { days = 1 } sort_order = 80 @@ -458,20 +444,11 @@ struggle_iberia_ending_conciliation_decision = { custom_tooltip = { text = struggle_iberia_ending_conciliation_decision_correct_phase_tt - any_character_struggle = { - is_struggle_type = iberian_struggle + struggle:iberian_struggle = { is_struggle_phase = struggle_iberia_phase_conciliation } } - custom_tooltip = { - text = struggle_ending_decision_correct_involvement_spain_tt - any_character_struggle = { - involvement = involved - is_struggle_type = iberian_struggle - } - } - prestige_level >= very_high_prestige_level # Exalted among Men or higher # Hold and completely control a de jure kingdom of Hispania @@ -560,10 +537,192 @@ struggle_iberia_ending_conciliation_decision = { ai_will_do = { base = 100 } } +################################### +# Secure the Mediterranean +# By Hugo Cortell +################################### +### Secure The Mediterranean ### +secure_mediterranean_decision = { + title = fp2_secure_mediterranean.t + picture = { + reference = "gfx/interface/illustrations/event_scenes/fp1_ocean.dds" + } + desc = fp2_secure_mediterranean.desc + decision_group_type = major + + selection_tooltip = fp2_secure_mediterranean.tip + sort_order = 50 + + is_shown = { + # DLC check + has_fp2_dlc_trigger = yes + # Standard checks + is_playable_character = yes + exists = dynasty + NOT = { + is_target_in_global_variable_list = { + name = unavailable_unique_decisions + target = flag:flag_secured_the_mediterranean + } + } + + OR = { + completely_controls = title:d_sardinia + completely_controls = title:d_sicily + AND = { + completely_controls = title:d_mallorca + completely_controls = title:d_corsica + } + } + } + + is_valid = { + completely_controls = title:d_mallorca + completely_controls = title:d_sardinia + completely_controls = title:d_corsica + completely_controls = title:d_sicily + } + + is_valid_showing_failures_only = { + is_landed = yes + } + + effect = { + add_to_global_variable_list = { + name = unavailable_unique_decisions + target = flag:flag_secured_the_mediterranean + } + + # LOC + root = { + save_scope_as = mediterranean_conqueror + house = { save_scope_as = mediterranean_house } + } + title:d_mallorca = { save_scope_as = mallorca } + title:d_sardinia = { save_scope_as = sardinas } + title:d_sicily = { save_scope_as = sicily } + title:k_mediterranean_sea = { save_scope_as = mediterranean_title } + + every_player = { + limit = { + this != ROOT + any_held_title = { title_province = { geographical_region = dlc_fp2_mediterranean_shoreline } } + } + send_interface_message = { + type = event_generic_bad_with_text + title = secure_mediterranean_decision.involved_notif + desc = secure_mediterranean_decision.involved_notif_desc # Players who get this: "why do I hear boss music?" (It is meant to sound vaguely threatening) + left_icon = scope:mediterranean_conqueror + + show_as_tooltip = { + scope:mediterranean_conqueror = { + house = { + add_house_modifier = { + modifier = fp2_controls_the_mediterranean_house_modifier + years = 100 + } + } + dynasty = { add_dynasty_prestige = major_prestige_gain } + } + } + } + } + + house = { + add_house_modifier = { + modifier = fp2_controls_the_mediterranean_house_modifier + years = 100 + } + } + dynasty = { add_dynasty_prestige = major_prestige_gain } # You used to get +25% prestiege, but that caused UI issues + custom_tooltip = secure_mediterranean_decision.a + + create_title_and_vassal_change = { + type = created + save_scope_as = title_change + add_claim_on_loss = yes + } + title:k_mediterranean_sea = { + change_title_holder = { + holder = root + change = scope:title_change + } + } + resolve_title_and_vassal_change = scope:title_change + title:d_mallorca = { set_de_jure_liege_title = title:k_mediterranean_sea } + title:d_sardinia = { set_de_jure_liege_title = title:k_mediterranean_sea } + title:d_corsica = { set_de_jure_liege_title = title:k_mediterranean_sea } + title:d_sicily = { set_de_jure_liege_title = title:k_mediterranean_sea } + + hidden_effect = { + title:k_mediterranean_sea = { set_de_jure_liege_title = title:e_italy } # Straying closer to remaking the roman empire + trigger_event = iberia_north_africa.2105 + } + } + + cost = { + gold = { + value = 0 + if = { + limit = { + has_treasury = no + } + add = major_gold_value + multiply = 1.5 + round = yes + } + } + treasury = { + value = 0 + if = { + limit = { + has_treasury = yes + } + add = major_gold_value + multiply = 1.5 + round = yes + } + } + prestige = { + value = major_prestige_gain + multiply = 3 + round = yes + } + } + + ai_check_interval_by_tier = { + barony = 0 + county = 0 + duchy = 0 + kingdom = 730 + empire = 730 + hegemony = 730 + } + + ai_potential = { + is_ruler = yes + short_term_gold >= { + value = major_gold_value + multiply = 1.5 + round = yes + } + prestige >= { + value = major_prestige_gain + multiply = 3 + round = yes + } + } + + ai_will_do = { + base = 80 + } +} + ############################################# # Eat a Cheese # by Daniel "yes I know what exciting content is stop bullying me" Moore ########################################################################### +### Eat Your Cheese ### eat_cheese_decision = { picture = { reference = "gfx/interface/illustrations/decisions/decision_personal_religious.dds" @@ -599,6 +758,7 @@ eat_cheese_decision = { # Sponsor Jewish Sciences # By Hugo Cortell ################################### +### Sponsor Jewish Sciences ### golden_age_jewish_science_in_iberia_decision = { picture = { reference = "gfx/interface/illustrations/decisions/decision_golden_age.dds" @@ -793,6 +953,7 @@ golden_age_jewish_science_in_iberia_decision = { # Convene Council of Toledo # # by Joe Parkin and Ola Jentzsch # ############################################# +### Council Of Toledo Decision ### council_of_toledo_decision = { title = council_of_toledo_decision_title picture = { @@ -927,6 +1088,7 @@ council_of_toledo_decision = { # Secure Iberian Foothold # by Joe Parkin and Ola Jentzsch ############################################# +### Secure Iberian Foothold Decision ### secure_iberian_foothold_decision = { title = secure_iberian_foothold_decision_title picture = { @@ -1110,6 +1272,7 @@ secure_iberian_foothold_decision = { # Build Pilgrim Roads # By Hugo Cortell ################################### +### Build Pilgrim Roads ### build_holy_pilgrim_roads_decision = { picture = { reference = "gfx/interface/illustrations/decisions/fp2_decision_struggle_opening.dds" @@ -1285,6 +1448,7 @@ build_holy_pilgrim_roads_decision = { # Found Kingdom of Toledo # by Joe Parkin ############################################# +### Found Kingdom Toledo Decision ### found_kingdom_toledo_decision = { title = found_kingdom_toledo_decision_title picture = { @@ -1415,6 +1579,7 @@ found_kingdom_toledo_decision = { # Develop a city # by Maxence Voleau ############################################# +### Expand Cities ### improve_city_province_decision = { title = improve_city_province_decision_name picture = { diff --git a/common/defines/00_defines.txt b/common/defines/00_defines.txt index 71f8675d..e3bd1dbf 100644 --- a/common/defines/00_defines.txt +++ b/common/defines/00_defines.txt @@ -43,7 +43,7 @@ NSetup = { # chance that a courtless character is sent to a court as a guest instead of a regular courtier on game start (0..1) COURTLESS_CHARACTER_GUEST_CHANCE = 0 # Random range for number of characters per pool (duchy) generated at the start of the game - GENERATED_POOL_CHARACTERS = { 2 9 } + GENERATED_POOL_CHARACTERS = { 2 6 } # Templates used for the pool character. The weights correspond to the template names at the same index. # The scope of the template is a random ruler whose capital is in that pool. GENERATED_POOL_CHARACTER_TEMPLATES = { @@ -227,8 +227,10 @@ NCharacter = { SKILL_MODIFIER_OFFSET = -8 # skill modifiers with offset add this from skill value (see common/modifiers/00_basic_modifiers.txt) - #Character window info + # Standard RelationTo number of relations to show MAX_RELATIONS_TO_SHOW = 3 + # Standard RelationToShort number of relations to show + MAX_RELATIONS_TO_SHOW_SHORT = 2 MARRIAGE_TIER_DIFF_PRESTIGE_MULT = 100 @@ -782,9 +784,18 @@ NPowerfulVassal = { VALUE_INCOME_MULT = 50 # Multiplier applied to the income of the vassal } +NFaith = { + BASE_FERVOR = 50.0 # Default fervor + MAX_FERVOR = 100.0 # Max amount of fervor + YEARLY_FERVOR_GROWTH = 3.5 # Fervor yearly change, can be negative + MINIMUM_FAITH_SIZE_FERVOR_MODIFIER = 10 # Adjusts the size modifier for monthly fervor gain for a faith according to the following formula: 1/squareroot(max(define_value, faith_size)/define_value) where define value is the value of MINIMUM_FAITH_SIZE_FERVOR_MODIFIER and faith_size is the current amount of provinces that follows the faith. + FERVOR_CHANGELOG_DURATION = 10 # After how many years do fervor changelog entries get deleted? + FAITH_CREATION_FERVOR_DISCOUNT_PER_MISSING_FERVOR = 1 # How much cheaper does creating a faith get per fervor below 100%? 1 means 1% per point + FAITH_CREATION_FERVOR_DISCOUNT_MAX = 50 # What percentage does the discount cap out at? With these numbers, 0-50 fervor means a 50% discount. Above 50 means between 0% and 50% discount +} + NReligion = { - DEFAULT_FERVOR = 50 # Default fervor - TIME_AT_PEACE_FOR_PIETY = 730 # For faiths with a doctrine with piety_from_long_peace, how long do they need to be at peace (in days) + TIME_AT_PEACE_FOR_PIETY = 730 # For faiths with a doctrine with piety_from_long_peace, how long do they need to be at peace (in days) # Hostility levels start at 0 (same faith or equivalent to same faith) HOSTILITY_OPINION_EFFECTS = { # The opinion effects of each hostility level @@ -817,17 +828,12 @@ NReligion = { PIETY_LOSS_PER_MISSING_SPOUSE = 0.5 # If you have fewer spouses than expected in a polygamous faith, you'll lose this much piety for each spouse you fall short. DESIRED_SPOUSES_PER_TIER = { 0 1 1 2 3 4 4 } # Number of spouses you are expected to have per tier, starging with unlanded, then baron and ending with hegemon FAITH_CONVERSION_PIETY_MINIMUM = 250 # The minimum amount of piety converting faith costs - FAITH_CREATION_FERVOR_DISCOUNT_PER_MISSING_FERVOR = 1 # How much cheaper does creating a faith get per fervor below 100%? 1 means 1% per point - FAITH_CREATION_FERVOR_DISCOUNT_MAX = 50 # What percentage does the discount cap out at? With these numbers, 0-50 fervor means a 50% discount. Above 50 means between 0% and 50% discount PART_OF_GHW_POT_DESIGNATED_FOR_KINGDOM_RECIPIENT = 10 # How many percent of the pot will be reserved for the person receiving the kingdom? GHW_HOSTILITY_MIN_LEVEL = 2 # Any independent ruler within the target kingdom at least this hostile to the caller faith will be a forced defender PREFERRED_GENDER_CHANCE = 3 # When deciding if clergy characters should be male or female a 3 here means that the preferred gender will be three times as likely GHW_DAYS_LIMIT_CAN_CHANGE_TARGET = 30 # is GHW starts sooner than this number, you can no longer change target GHW_COST_PIETY_CHANGE_TARGET = 250 # cost to chagne GHW target. Grows linearly with each change - MAX_FERVOR = 100 # Max amount of fervor HEAD_OF_FAITH_PIETY_GAIN = 1.0 # Monthly piety gain for heads of faith - MINIMUM_FAITH_SIZE_FERVOR_MODIFIER = 10 # Adjusts the size modifier for monthly fervor gain for a faith according to the following formula: 1/squareroot(max(define_value, faith_size)/define_value) where define value is the value of MINIMUM_FAITH_SIZE_FERVOR_MODIFIER and faith_size is the current amount of provinces that follows the faith. - FERVOR_CHANGELOG_DURATION = 10 # After how many years do fervor changelog entries get deleted? FAITH_COLOR_DEVIATION = { 0.25 0.35 } # How much should generated colors differ from the faith they're based on? Distance within the HSV colorspace } @@ -855,7 +861,7 @@ NTitle = { DRIFT_ADJACENT_ACROSS_WATER_DISTANCE = 2 REVOKE_LAWS_COST_SCALE = { 0 0 0.1 0.25 0.5 1 2 } DYNAMIC_TITLE_MAP_COLOR_S_V = { 0.8 1.0 } # What is the Saturation and Value of dynamic title map colors? (via HSV color - Hue is fully randomized) - CREATE_TITLE_PIETY_LEVEL = { 0 0 0 2 3 5 5 } # not a global requirement, it is used only for goverment with rule considers_piety_for_title_creation + CREATE_TITLE_PIETY_LEVEL = { 0 0 0 2 3 5 5 } # not a global requirement, it is used only for government with rule considers_piety_for_title_creation CREATE_TITLE_PIETY_COST = { 0 0 0 500 2500 5000 10000 } # Default desired titles to keep for AI - per current primary title tier. (-1 = keep all) @@ -966,7 +972,7 @@ NCounty = { COUNTY_FERTILITY_DECLINE_FACTOR = 0.125 # Makes all county fertility decline modifiers give out more adjusted growth. 1.1 = 10% stronger decline. Moves equilibriums COUNTY_FERTILITY_EQUILIBRIUM_FACTOR = 0.09 # 0.007 # Factor value for how sensitive the fertility equilibrium is towards small changes. Inverted in calculations: the lower the value the more sensitive the behavior. Set to 100 to have a clear curve. COUNTY_FERTILITY_MONTHLY_CHANGE_LEVELS = { -20 -0.01 0.01 20 } - COUNTY_FERTILITY_NON_NOMAD_HOLDING_MALUS = -0.001 # Negative mult malus applied to the amount of Herd gained from the county fertility in a county that does not have a Nomad or Herder Holding + COUNTY_FERTILITY_NON_NOMAD_HOLDING_MALUS = -0.75 # Negative mult malus applied to the amount of Herd gained from the county fertility in a county that does not have a Nomad or Herder Holding HERD_GAIN_FROM_COUNTY_MULTIPLIER = 0.5 # Direct multiplier on the base Herd gained from County ( Base Gain = CountyFertility * HERD_GAIN_FROM_COUNTY_MULTIPLIER ) } @@ -1057,7 +1063,7 @@ NDomain = { ABOVE_LIMIT_HERD_INCOME_PENALTY = 0.5 # How much herd income from domain is reduced per holding over the limit ABOVE_LIMIT_MAX_HERD_INCOME_PENALTY = 1 # How much herd income from domain can be reduced at most HOLDING_GRACE_PERIOD = 365 # How many days do newly gained holdings not count towards the domain size for the purposes of penalties (but also not produce any levies) - STEWARDSHIP_SKILL_FOR_DOMAIN_LIMIT_INCREASE = 6 # domain limit += floor( / STEWARDSHIP_SKILL_FOR_DOMAIN_LIMIT_INCREASE ) + STEWARDSHIP_SKILL_FOR_DOMAIN_LIMIT_INCREASE = 200 # domain limit += floor( / STEWARDSHIP_SKILL_FOR_DOMAIN_LIMIT_INCREASE ) LEVIES_AT_ZERO_COUNTY_CONTROL = 0.5 # How many % levies do you get at 0 county control? Interpolated between this value and 100% when between 0 and 100 TAX_AT_ZERO_COUNTY_CONTROL = 0.0 # How much % tax do you get at 0 county control? Interpolated between this value and 100% when between 0 and 100 LEVIES_AT_MAX_COUNTY_DEVELOPMENT = 0.5 # How many % levies bonus do you get at 100 county development? Interpolated between this value and 0% when between 0 and 100 @@ -1078,7 +1084,11 @@ NFaction = DEFAULT_POWER_THRESHOLD = 80 # The default power threshold if there no one defined. MAX_DEMAND_DELAY_DAYS = 90 # The faction is guaranteed to send demands on the next update after this number of days has passed since it started being able to send demands. - POTENTIAL_FORCE_JOIN_HOOK_TYPE = "strong" # The type of hook that means the UI will show a member as potentially joining + POTENTIAL_FORCE_JOIN_HOOK_TYPE = "strong" # The type of hook that means the UI will show a member as potentially joining + + # the minimum warscore a defender in a faction war must have to win the war when the faction is destroyed due to other reasons. + # If below this warscore the war will just be invalidated. + MIN_WARSCORE_FOR_VICTORY_ON_FACTION_INVALIDATION = 75 } NPathFinding = { @@ -1379,7 +1389,7 @@ NRaid = { MIN_SOLDIERS_TO_RAID = 200 # How small can a raid army be and still be able to loot? MONTHLY_ATTRITION = 0.01 # How much attrition do you take while looting a province? 0.01 = 1% per month MONTHS_OF_RAID_LOOT = 12 # How many months of holding income (with owner effects discounted) does raiding provide? - LESS_MONTHS_OF_RAID_LOOT = 6 # This is subtracted from MONTHS_OF_RAID_LOOT if you have the goverment 'barter = yes' + LESS_MONTHS_OF_RAID_LOOT = 6 # This is subtracted from MONTHS_OF_RAID_LOOT if you have the government 'barter = yes' # Progress cannot be lower than 1/day (except when interrupted by combat) BASE_PROGRESS = 20 # How much base raid action progress do you get per day? @@ -1399,7 +1409,7 @@ NBarter = { BASE_PROGRESS = 15 PROGRESS_PER_SOLDIER = 0.005 LOOT_PER_SOLDIER = 0.1 # How much loot can a single soldier carry? Minimum increment is 0.001 - BARTER_GOODS_TO_LOOT_MULT = 1.5 # Used to convert Barter Goods to Loot. A value of 0.5 means that 2 Barter Goods are worth 1 Loot + BARTER_GOODS_TO_LOOT_MULT = 0.5 # Used to convert Barter Goods to Loot. A value of 0.5 means that 2 Barter Goods are worth 1 Loot } NCharacterGlow = { @@ -1644,6 +1654,24 @@ NAccolade = { "badge_color9.dds" } + ACCOLADE_GLORY_LEVELS = { + 100 + 300 + 600 + 1000 + 1500 + 2100 + } + + ACCOLADE_SQUIRE_LEVELS = { + 20 + 40 + 60 + 80 + } + + ACCOLADE_MAX_TYPES = 3 # maximum number of accolade attributes (types) an acclaimed knight can have + STARTING_GLORY = 100 # how much glory does each created accolade start out with? 100 is default to unlock rank 1 POTENTIAL_ACCLAIMED_KNIGHT_UPDATE_TIME = 0.5 # Time between potential acclaimed knights window updates, in seconds } diff --git a/common/domiciles/buildings/00_camp_buildings.txt b/common/domiciles/buildings/00_camp_buildings.txt index b1831b87..169a4eb1 100644 --- a/common/domiciles/buildings/00_camp_buildings.txt +++ b/common/domiciles/buildings/00_camp_buildings.txt @@ -4469,7 +4469,7 @@ proving_grounds_01 = { } proving_grounds_02 = { construction_time = @camp_building_main_slot_construction_duration_t2 - allowed_domicile_types = { camp} + allowed_domicile_types = { camp } previous_building = proving_grounds_01 internal_slots = 2 @@ -4518,7 +4518,7 @@ proving_grounds_02 = { } proving_grounds_03 = { construction_time = @camp_building_main_slot_construction_duration_t3 - allowed_domicile_types = { camp} + allowed_domicile_types = { camp } previous_building = proving_grounds_02 internal_slots = 3 @@ -4567,7 +4567,7 @@ proving_grounds_03 = { } proving_grounds_04 = { construction_time = @camp_building_main_slot_construction_duration_t4 - allowed_domicile_types = { camp} + allowed_domicile_types = { camp } previous_building = proving_grounds_03 internal_slots = 4 @@ -4619,7 +4619,7 @@ proving_grounds_04 = { } proving_grounds_05 = { construction_time = @camp_building_main_slot_construction_duration_t5 - allowed_domicile_types = { camp} + allowed_domicile_types = { camp } previous_building = proving_grounds_04 internal_slots = 5 @@ -4670,7 +4670,7 @@ proving_grounds_05 = { } proving_grounds_06 = { construction_time = @camp_building_main_slot_construction_duration_t6 - allowed_domicile_types = { camp} + allowed_domicile_types = { camp } previous_building = proving_grounds_05 internal_slots = 6 @@ -4725,7 +4725,7 @@ proving_grounds_06 = { proving_grounds_horse_run = { # Horse Run slot_type = internal construction_time = @camp_building_internal_slot_construction_duration_t2 - allowed_domicile_types = { camp} + allowed_domicile_types = { camp } previous_building = proving_grounds_01 cost = { gold = proving_grounds_horse_run_domicile_building_gold_cost_value } @@ -4790,7 +4790,7 @@ proving_grounds_horse_run = { # Horse Run proving_grounds_camel_run = { # Camel Run slot_type = internal construction_time = @camp_building_internal_slot_construction_duration_t2 - allowed_domicile_types = { camp} + allowed_domicile_types = { camp } previous_building = proving_grounds_01 cost = { gold = proving_grounds_camel_run_domicile_building_gold_cost_value } @@ -4859,7 +4859,7 @@ proving_grounds_camel_run = { # Camel Run proving_grounds_elephantry_reserve = { # Elephantry Reserve slot_type = internal construction_time = @camp_building_internal_slot_construction_duration_t3 - allowed_domicile_types = { camp} + allowed_domicile_types = { camp } previous_building = proving_grounds_01 cost = { gold = proving_grounds_elephantry_reserve_domicile_building_gold_cost_value } @@ -4922,7 +4922,7 @@ proving_grounds_elephantry_reserve = { # Elephantry Reserve proving_grounds_nightly_barding_drills = { # Nightly Barding Drills slot_type = internal construction_time = @camp_building_internal_slot_construction_duration_t3 - allowed_domicile_types = { camp} + allowed_domicile_types = { camp } previous_building = proving_grounds_01 cost = { gold = proving_grounds_nightly_barding_drills_domicile_building_gold_cost_value } @@ -4987,7 +4987,7 @@ proving_grounds_nightly_barding_drills = { # Nightly Barding Drills proving_grounds_life_in_the_saddle = { # Life in the Saddle slot_type = internal construction_time = @camp_building_internal_slot_construction_duration_t3 - allowed_domicile_types = { camp} + allowed_domicile_types = { camp } previous_building = proving_grounds_01 cost = { gold = proving_grounds_life_in_the_saddle_domicile_building_gold_cost_value } @@ -5002,12 +5002,7 @@ proving_grounds_life_in_the_saddle = { # Life in the Saddle can_construct = { custom_tooltip = { text = proving_grounds_life_in_the_saddle_horse_archers_tt - any_maa_regiment = { - OR = { - is_maa_type = horse_archers - is_maa_type = heavy_horse_archers - } - } + number_maa_regiments_of_base_type:archer_cavalry > 0 } } @@ -5065,7 +5060,7 @@ proving_grounds_life_in_the_saddle = { # Life in the Saddle proving_grounds_the_stump = { # The Stump slot_type = internal construction_time = @camp_building_internal_slot_construction_duration_t3 - allowed_domicile_types = { camp} + allowed_domicile_types = { camp } previous_building = proving_grounds_01 cost = { gold = proving_grounds_the_stump_domicile_building_gold_cost_value } @@ -5130,7 +5125,7 @@ proving_grounds_the_stump = { # The Stump proving_grounds_personal_bouts = { # Personal Bouts slot_type = internal construction_time = @camp_building_internal_slot_construction_duration_t3 - allowed_domicile_types = { camp} + allowed_domicile_types = { camp } previous_building = proving_grounds_01 cost = { gold = proving_grounds_personal_bouts_domicile_building_gold_cost_value } @@ -5196,7 +5191,7 @@ proving_grounds_personal_bouts = { # Personal Bouts proving_grounds_training_circle = { # Training Circle slot_type = internal construction_time = @camp_building_internal_slot_construction_duration_t3 - allowed_domicile_types = { camp} + allowed_domicile_types = { camp } previous_building = proving_grounds_01 cost = { gold = proving_grounds_training_circle_domicile_building_gold_cost_value } @@ -5262,7 +5257,7 @@ proving_grounds_training_circle = { # Training Circle proving_grounds_mock_battle_drills = { # Mock Battle Drills slot_type = internal construction_time = @camp_building_internal_slot_construction_duration_t3 - allowed_domicile_types = { camp} + allowed_domicile_types = { camp } previous_building = proving_grounds_01 cost = { gold = proving_grounds_mock_battle_drills_domicile_building_gold_cost_value } @@ -5327,7 +5322,7 @@ proving_grounds_mock_battle_drills = { # Mock Battle Drills proving_grounds_lockwagon = { # Lockwagon slot_type = internal construction_time = @camp_building_internal_slot_construction_duration_t2 - allowed_domicile_types = { camp} + allowed_domicile_types = { camp } previous_building = proving_grounds_01 cost = { gold = proving_grounds_lockwagon_domicile_building_gold_cost_value } @@ -5392,7 +5387,7 @@ proving_grounds_lockwagon = { # Lockwagon proving_grounds_martial_study = { # Martial Study slot_type = internal construction_time = @camp_building_internal_slot_construction_duration_t3 - allowed_domicile_types = { camp} + allowed_domicile_types = { camp } previous_building = proving_grounds_01 cost = { gold = proving_grounds_martial_study_domicile_building_gold_cost_value } @@ -5454,7 +5449,7 @@ proving_grounds_martial_study = { # Martial Study proving_grounds_the_stick_game = { # The Stick Game slot_type = internal construction_time = @camp_building_internal_slot_construction_duration_t1 - allowed_domicile_types = { camp} + allowed_domicile_types = { camp } previous_building = proving_grounds_01 cost = { gold = proving_grounds_the_stick_game_domicile_building_gold_cost_value } @@ -5514,7 +5509,7 @@ proving_grounds_the_stick_game = { # The Stick Game proving_grounds_bodyguard_drills = { # Bodyguard Drills slot_type = internal construction_time = @camp_building_internal_slot_construction_duration_t3 - allowed_domicile_types = { camp} + allowed_domicile_types = { camp } previous_building = proving_grounds_01 cost = { gold = proving_grounds_bodyguard_drills_domicile_building_gold_cost_value } @@ -5535,7 +5530,7 @@ proving_grounds_bodyguard_drills = { # Bodyguard Drills character_modifier = { enemy_hostile_scheme_phase_duration_add = minor_scheme_phase_duration_malus_value - scheme_discovery_chance_mult = 0.15 + enemy_scheme_secrecy_add = -15 } parameters = { @@ -5907,7 +5902,7 @@ camp_perimeter_good_siting = { # Good Siting } character_modifier = { - scheme_discovery_chance_mult = 0.1 + enemy_scheme_secrecy_add = -10 enemy_hostile_scheme_phase_duration_add = minor_scheme_phase_duration_malus_value } @@ -6021,7 +6016,7 @@ camp_perimeter_extra_watch = { # Extra Watch character_modifier = { enemy_hostile_scheme_phase_duration_add = major_scheme_phase_duration_malus_value - scheme_discovery_chance_mult = 0.1 + enemy_scheme_secrecy_add = -10 archers_damage_mult = 0.1 archer_cavalry_damage_mult = 0.05 } diff --git a/common/domiciles/buildings/00_chinese_estate_buildings.txt b/common/domiciles/buildings/00_chinese_estate_buildings.txt index f8b9c7f1..bfb9226d 100644 --- a/common/domiciles/buildings/00_chinese_estate_buildings.txt +++ b/common/domiciles/buildings/00_chinese_estate_buildings.txt @@ -633,9 +633,7 @@ east_asian_peasant_quarters_01 = { } can_construct = { - top_participant_group:dynastic_cycle ?= { - NOT = { participant_group_type = conservative_movement } - } + } cost = { @@ -668,9 +666,7 @@ east_asian_peasant_quarters_02 = { previous_building = east_asian_peasant_quarters_01 can_construct = { - top_participant_group:dynastic_cycle ?= { - NOT = { participant_group_type = conservative_movement } - } + } cost = { @@ -704,9 +700,7 @@ east_asian_peasant_quarters_03 = { previous_building = east_asian_peasant_quarters_02 can_construct = { - top_participant_group:dynastic_cycle ?= { - NOT = { participant_group_type = conservative_movement } - } + } cost = { @@ -742,9 +736,7 @@ east_asian_peasant_quarters_04 = { previous_building = east_asian_peasant_quarters_03 can_construct = { - top_participant_group:dynastic_cycle ?= { - NOT = { participant_group_type = conservative_movement } - } + } cost = { @@ -2656,7 +2648,10 @@ east_asian_estate_commander_study_01 = { custom_tooltip = { text = is_a_military_governor_county_or_above_desc highest_held_title_tier >= tier_county - vassal_contract_has_flag = celestial_military_appointment + OR = { + vassal_contract_has_flag = celestial_military_appointment + vassal_contract_has_flag = meritocratic_military_appointment + } } } } @@ -2674,6 +2669,7 @@ east_asian_estate_commander_study_01 = { parameters = { celestial_military_score_bonus_1 = yes + meritocratic_military_score_bonus_1 = yes } character_modifier = { @@ -2701,7 +2697,10 @@ east_asian_estate_commander_study_02 = { custom_tooltip = { text = is_a_military_governor_duchy_or_above_desc highest_held_title_tier >= tier_duchy - vassal_contract_has_flag = celestial_military_appointment + OR = { + vassal_contract_has_flag = celestial_military_appointment + vassal_contract_has_flag = meritocratic_military_appointment + } } } @@ -2718,6 +2717,7 @@ east_asian_estate_commander_study_02 = { parameters = { celestial_military_score_bonus_2 = yes + meritocratic_military_score_bonus_2 = yes } character_modifier = { @@ -2746,7 +2746,10 @@ east_asian_estate_commander_study_03 = { custom_tooltip = { text = is_a_military_governor_kingdom_or_above_desc highest_held_title_tier >= tier_kingdom - vassal_contract_has_flag = celestial_military_appointment + OR = { + vassal_contract_has_flag = celestial_military_appointment + vassal_contract_has_flag = meritocratic_military_appointment + } } domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } } @@ -2764,6 +2767,7 @@ east_asian_estate_commander_study_03 = { parameters = { celestial_military_score_bonus_3 = yes + meritocratic_military_score_bonus_3 = yes } character_modifier = { @@ -2806,6 +2810,7 @@ east_asian_estate_commander_study_04 = { parameters = { celestial_military_score_bonus_4 = yes + meritocratic_military_score_bonus_4 = yes } character_modifier = { @@ -2837,7 +2842,10 @@ east_asian_estate_office_01 = { custom_tooltip = { text = is_a_civilian_governor_county_or_above_desc highest_held_title_tier >= tier_county - vassal_contract_has_flag = celestial_civil_appointment + OR = { + vassal_contract_has_flag = celestial_civil_appointment + vassal_contract_has_flag = meritocratic_civil_appointment + } } } @@ -2854,6 +2862,7 @@ east_asian_estate_office_01 = { parameters = { celestial_civilian_score_bonus_1 = yes + meritocratic_civilian_score_bonus_1 = yes } character_modifier = { @@ -2881,7 +2890,10 @@ east_asian_estate_office_02 = { custom_tooltip = { text = is_a_civilian_governor_duchy_or_above_desc highest_held_title_tier >= tier_duchy - vassal_contract_has_flag = celestial_civil_appointment + OR = { + vassal_contract_has_flag = celestial_civil_appointment + vassal_contract_has_flag = meritocratic_civil_appointment + } } } @@ -2898,6 +2910,7 @@ east_asian_estate_office_02 = { parameters = { celestial_civilian_score_bonus_2 = yes + meritocratic_civilian_score_bonus_2 = yes estate_governor_efficiency_bonus = yes } @@ -2926,7 +2939,10 @@ east_asian_estate_office_03 = { custom_tooltip = { text = is_a_civilian_governor_kingdom_or_above_desc highest_held_title_tier >= tier_kingdom - vassal_contract_has_flag = celestial_civil_appointment + OR = { + vassal_contract_has_flag = celestial_civil_appointment + vassal_contract_has_flag = meritocratic_civil_appointment + } } domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } } @@ -2944,6 +2960,7 @@ east_asian_estate_office_03 = { parameters = { celestial_civilian_score_bonus_3 = yes + meritocratic_civilian_score_bonus_3 = yes estate_governor_efficiency_bonus = yes estate_governor_efficiency_bonus_for_house_members = yes } @@ -2986,6 +3003,7 @@ east_asian_estate_office_04 = { parameters = { celestial_civilian_score_bonus_4 = yes + meritocratic_civilian_score_bonus_4 = yes estate_governor_efficiency_bonus = yes estate_governor_efficiency_bonus_for_house_members = yes estate_governor_trait_xp_bonus_for_contracts = yes @@ -4007,9 +4025,6 @@ east_asian_estate_reception_hall_01 = { previous_building = east_asian_estate_main_01 can_construct_potential = { - top_participant_group:dynastic_cycle ?= { - participant_group_type = conservative_movement - } } cost = { @@ -4050,9 +4065,6 @@ east_asian_estate_reception_hall_02 = { previous_building = east_asian_estate_reception_hall_01 can_construct = { - top_participant_group:dynastic_cycle ?= { - participant_group_type = conservative_movement - } } cost = { @@ -4094,9 +4106,6 @@ east_asian_estate_reception_hall_03 = { previous_building = east_asian_estate_reception_hall_02 can_construct = { - top_participant_group:dynastic_cycle ?= { - participant_group_type = conservative_movement - } domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 } } @@ -4138,11 +4147,6 @@ east_asian_estate_reception_hall_04 = { slot_type = internal previous_building = east_asian_estate_reception_hall_03 - can_construct = { - top_participant_group:dynastic_cycle ?= { - participant_group_type = conservative_movement - } - } cost = { gold = { @@ -4183,9 +4187,6 @@ east_asian_estate_reception_hall_05 = { previous_building = east_asian_estate_reception_hall_04 can_construct = { - top_participant_group:dynastic_cycle ?= { - participant_group_type = conservative_movement - } domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_04 } } @@ -4229,7 +4230,7 @@ east_asian_estate_cabinet_of_curiosities_01 = { slot_type = internal previous_building = east_asian_estate_main_01 - can_construct_potential = { + can_construct = { dynasty ?= { has_dynasty_perk = ep3_administrative_legacy_4 } } @@ -5106,6 +5107,7 @@ east_asian_estate_health_01 = { parameters = { estate_increase_safe_treatment_success_1 = yes + estate_increase_physician_aptitude_1 = yes } ai_value = { @@ -5152,7 +5154,7 @@ east_asian_estate_health_02 = { parameters = { estate_increase_safe_treatment_success_1 = yes - estate_increase_physician_aptitude = yes + estate_increase_physician_aptitude_2 = yes } ai_value = { @@ -5194,7 +5196,7 @@ east_asian_estate_health_03 = { parameters = { estate_increase_safe_treatment_success_1 = yes - estate_increase_physician_aptitude = yes + estate_increase_physician_aptitude_3 = yes } ai_value = { @@ -5236,7 +5238,7 @@ east_asian_estate_health_04 = { parameters = { estate_increase_safe_treatment_success_2 = yes - estate_increase_physician_aptitude_2 = yes + estate_increase_physician_aptitude_4 = yes } ai_value = { @@ -5278,7 +5280,7 @@ east_asian_estate_health_05 = { parameters = { estate_increase_safe_treatment_success_2 = yes - estate_increase_physician_aptitude_2 = yes + estate_increase_physician_aptitude_5 = yes } ai_value = { @@ -5320,7 +5322,7 @@ east_asian_estate_health_06 = { parameters = { estate_increase_safe_treatment_success_2 = yes - estate_increase_physician_aptitude_3 = yes + estate_increase_physician_aptitude_6 = yes } ai_value = { @@ -6572,6 +6574,7 @@ east_asian_estate_watchtower_01 = { } parameters = { + estate_increase_bodyguard_aptitude_1 = yes raids_less_likely_to_make_prisoners_1 = yes house_head_can_ask_for_knight = yes } @@ -6617,7 +6620,7 @@ east_asian_estate_watchtower_02 = { parameters = { raids_less_likely_to_make_prisoners_1 = yes - estate_increase_bodyguard_aptitude_1 = yes + estate_increase_bodyguard_aptitude_2 = yes house_head_can_ask_for_knight = yes } @@ -6657,7 +6660,7 @@ east_asian_estate_watchtower_03 = { parameters = { raids_less_likely_to_make_prisoners_2 = yes estate_unlock_bolster_security_decision = yes - estate_increase_bodyguard_aptitude_1 = yes + estate_increase_bodyguard_aptitude_3 = yes house_head_can_ask_for_knight = yes house_head_can_ask_for_maa = yes } @@ -6709,7 +6712,7 @@ east_asian_estate_watchtower_04 = { raids_less_likely_to_make_prisoners_2 = yes house_head_can_ask_for_maa = yes estate_unlock_bolster_security_decision = yes - estate_increase_bodyguard_aptitude_2 = yes + estate_increase_bodyguard_aptitude_4 = yes house_head_can_ask_for_knight = yes } @@ -6760,7 +6763,7 @@ east_asian_estate_watchtower_05 = { raids_less_likely_to_make_prisoners_3 = yes house_head_can_ask_for_maa = yes estate_unlock_bolster_security_decision = yes - estate_increase_bodyguard_aptitude_2 = yes + estate_increase_bodyguard_aptitude_5 = yes house_head_can_ask_for_knight = yes } @@ -6812,7 +6815,7 @@ east_asian_estate_watchtower_06 = { estate_unlock_patrol_decision = yes house_head_can_ask_for_maa = yes estate_unlock_bolster_security_decision = yes - estate_increase_bodyguard_aptitude_2 = yes + estate_increase_bodyguard_aptitude_6 = yes house_head_can_ask_for_knight = yes } @@ -7119,7 +7122,7 @@ east_asian_estate_garden_leisure_04 = { } parameters = { - increased_gardener_aptitude_3 = yes + increased_gardener_aptitude_4 = yes } on_complete = { @@ -7206,7 +7209,7 @@ east_asian_estate_garden_leisure_05 = { } parameters = { - increased_gardener_aptitude_3 = yes + increased_gardener_aptitude_5 = yes } on_complete = { @@ -7293,7 +7296,7 @@ east_asian_estate_garden_leisure_06 = { } parameters = { - increased_gardener_aptitude_3 = yes + increased_gardener_aptitude_6 = yes } on_complete = { @@ -7383,7 +7386,7 @@ east_asian_estate_garden_fruit_04 = { } parameters = { - increased_gardener_aptitude_3 = yes + increased_gardener_aptitude_4 = yes } on_complete = { @@ -7471,7 +7474,7 @@ east_asian_estate_garden_fruit_05 = { } parameters = { - increased_gardener_aptitude_3 = yes + increased_gardener_aptitude_5 = yes } on_complete = { @@ -7559,7 +7562,7 @@ east_asian_estate_garden_fruit_06 = { } parameters = { - increased_gardener_aptitude_3 = yes + increased_gardener_aptitude_6 = yes } on_complete = { @@ -11280,7 +11283,10 @@ east_asian_estate_militia_muster_green_01 = { can_construct = { custom_tooltip = { text = celestial_military_appointment_allowed_desc - vassal_contract_has_flag = celestial_military_appointment + OR = { + vassal_contract_has_flag = celestial_military_appointment + vassal_contract_has_flag = meritocratic_military_appointment + } } } @@ -11436,7 +11442,10 @@ east_asian_estate_ration_wine_stores_01 = { can_construct = { custom_tooltip = { text = celestial_military_appointment_allowed_desc - vassal_contract_has_flag = celestial_military_appointment + OR = { + vassal_contract_has_flag = celestial_military_appointment + vassal_contract_has_flag = meritocratic_military_appointment + } } } @@ -13765,7 +13774,10 @@ east_asian_estate_tea_horse_road_office_01 = { custom_tooltip = { text = is_a_military_governor_county_or_above_desc highest_held_title_tier >= tier_county - vassal_contract_has_flag = celestial_military_appointment + OR = { + vassal_contract_has_flag = celestial_military_appointment + vassal_contract_has_flag = meritocratic_military_appointment + } } } } @@ -14626,7 +14638,10 @@ east_asian_estate_field_surgeon_cart_01 = { custom_tooltip = { text = is_a_military_governor_county_or_above_desc highest_held_title_tier >= tier_county - vassal_contract_has_flag = celestial_military_appointment + OR = { + vassal_contract_has_flag = celestial_military_appointment + vassal_contract_has_flag = meritocratic_military_appointment + } } } } @@ -15870,7 +15885,7 @@ east_asian_estate_history_school_04 = { } } parameters = { - estate_increased_tutor_aptitude_1 = yes + estate_increased_tutor_aptitude_4 = yes } character_modifier = { monthly_merit = @east_asian_manor_monthly_merit_2 @@ -16316,7 +16331,10 @@ east_asian_estate_armorer_01 = { custom_tooltip = { text = is_a_military_governor_county_or_above_desc highest_held_title_tier >= tier_county - vassal_contract_has_flag = celestial_military_appointment + OR = { + vassal_contract_has_flag = celestial_military_appointment + vassal_contract_has_flag = meritocratic_military_appointment + } } } } @@ -16741,7 +16759,10 @@ east_asian_estate_sergeants_school_01 = { custom_tooltip = { text = is_a_military_governor_county_or_above_desc highest_held_title_tier >= tier_county - vassal_contract_has_flag = celestial_military_appointment + OR = { + vassal_contract_has_flag = celestial_military_appointment + vassal_contract_has_flag = meritocratic_military_appointment + } } } } @@ -16886,7 +16907,10 @@ east_asian_estate_drill_yard_01 = { custom_tooltip = { text = is_a_military_governor_county_or_above_desc highest_held_title_tier >= tier_county - vassal_contract_has_flag = celestial_military_appointment + OR = { + vassal_contract_has_flag = celestial_military_appointment + vassal_contract_has_flag = meritocratic_military_appointment + } } } } @@ -17604,7 +17628,10 @@ east_asian_estate_crossbow_storage_01 = { can_construct = { custom_tooltip = { text = celestial_military_appointment_allowed_desc - vassal_contract_has_flag = celestial_military_appointment + OR = { + vassal_contract_has_flag = celestial_military_appointment + vassal_contract_has_flag = meritocratic_military_appointment + } } } @@ -18445,7 +18472,10 @@ east_asian_estate_foaling_pens_01 = { custom_tooltip = { text = is_a_military_governor_county_or_above_desc highest_held_title_tier >= tier_county - vassal_contract_has_flag = celestial_military_appointment + OR = { + vassal_contract_has_flag = celestial_military_appointment + vassal_contract_has_flag = meritocratic_military_appointment + } } } } @@ -19712,7 +19742,10 @@ east_asian_estate_leatherworks_01 = { can_construct = { custom_tooltip = { text = celestial_military_appointment_allowed_desc - vassal_contract_has_flag = celestial_military_appointment + OR = { + vassal_contract_has_flag = celestial_military_appointment + vassal_contract_has_flag = meritocratic_military_appointment + } } } @@ -20987,7 +21020,10 @@ east_asian_estate_salt_lick_terraces_01 = { custom_tooltip = { text = is_a_military_governor_county_or_above_desc highest_held_title_tier >= tier_county - vassal_contract_has_flag = celestial_military_appointment + OR = { + vassal_contract_has_flag = celestial_military_appointment + vassal_contract_has_flag = meritocratic_military_appointment + } } } } diff --git a/common/domiciles/buildings/00_yurt_buildings.txt b/common/domiciles/buildings/00_yurt_buildings.txt index bbfce762..e3be9d5b 100644 --- a/common/domiciles/buildings/00_yurt_buildings.txt +++ b/common/domiciles/buildings/00_yurt_buildings.txt @@ -2217,8 +2217,6 @@ camel_yurt_03 = { ai_value = { value = nomadic_capital_interior_building_2 - - } asset = { @@ -2261,8 +2259,6 @@ camel_yurt_04 = { ai_value = { value = nomadic_capital_interior_building_3 - - } asset = { @@ -2305,8 +2301,6 @@ camel_yurt_05 = { ai_value = { value = nomadic_capital_interior_building_4 - - } asset = { @@ -2349,8 +2343,6 @@ camel_yurt_06 = { ai_value = { value = nomadic_capital_interior_building_5 - - } asset = { @@ -2486,8 +2478,6 @@ goat_yurt_03 = { ai_value = { value = nomadic_capital_interior_building_2 - - } asset = { @@ -2533,8 +2523,6 @@ goat_yurt_04 = { ai_value = { value = nomadic_capital_interior_building_3 - - } asset = { @@ -2580,8 +2568,6 @@ goat_yurt_05 = { ai_value = { value = nomadic_capital_interior_building_4 - - } asset = { @@ -2627,8 +2613,6 @@ goat_yurt_06 = { ai_value = { value = nomadic_capital_interior_building_5 - - } asset = { @@ -3028,8 +3012,6 @@ sheep_yurt_03 = { ai_value = { value = nomadic_capital_interior_building_2 - - } asset = { @@ -3075,8 +3057,6 @@ sheep_yurt_04 = { ai_value = { value = nomadic_capital_interior_building_3 - - } asset = { @@ -3122,8 +3102,6 @@ sheep_yurt_05 = { ai_value = { value = nomadic_capital_interior_building_4 - - } asset = { @@ -3169,8 +3147,6 @@ sheep_yurt_06 = { ai_value = { value = nomadic_capital_interior_building_5 - - } asset = { @@ -3270,8 +3246,6 @@ steal_herd_yurt_03 = { ai_value = { value = nomadic_capital_interior_building_3 - - } asset = { @@ -3305,8 +3279,6 @@ steal_herd_yurt_04 = { ai_value = { value = nomadic_capital_interior_building_4 - - } asset = { @@ -3340,8 +3312,6 @@ steal_herd_yurt_05 = { ai_value = { value = nomadic_capital_interior_building_5 - - } asset = { @@ -3375,8 +3345,6 @@ steal_herd_yurt_06 = { ai_value = { value = nomadic_capital_interior_building_6 - - } asset = { @@ -3466,8 +3434,6 @@ consumption_yurt_03 = { ai_value = { value = nomadic_capital_interior_building_2 - - } asset = { @@ -3497,8 +3463,6 @@ consumption_yurt_04 = { ai_value = { value = nomadic_capital_interior_building_3 - - } asset = { @@ -3528,8 +3492,6 @@ consumption_yurt_05 = { ai_value = { value = nomadic_capital_interior_building_4 - - } asset = { @@ -3559,8 +3521,6 @@ consumption_yurt_06 = { ai_value = { value = nomadic_capital_interior_building_5 - - } asset = { @@ -3650,8 +3610,6 @@ herd_wealth_yurt_03 = { ai_value = { value = nomadic_capital_interior_building_3 - - } asset = { @@ -3681,8 +3639,6 @@ herd_wealth_yurt_04 = { ai_value = { value = nomadic_capital_interior_building_4 - - } asset = { @@ -3712,8 +3668,6 @@ herd_wealth_yurt_05 = { ai_value = { value = nomadic_capital_interior_building_5 - - } asset = { @@ -3743,8 +3697,6 @@ herd_wealth_yurt_06 = { ai_value = { value = nomadic_capital_interior_building_6 - - } asset = { @@ -3834,8 +3786,6 @@ herder_yurt_03 = { ai_value = { value = nomadic_capital_interior_building_2 - - } asset = { @@ -3864,8 +3814,6 @@ herder_yurt_04 = { ai_value = { value = nomadic_capital_interior_building_3 - - } asset = { @@ -3895,8 +3843,6 @@ herder_yurt_05 = { ai_value = { value = nomadic_capital_interior_building_4 - - } asset = { @@ -3926,8 +3872,6 @@ herder_yurt_06 = { ai_value = { value = nomadic_capital_interior_building_5 - - } asset = { @@ -4045,8 +3989,6 @@ character_warfare_yurt_03 = { ai_value = { value = nomadic_capital_exterior_building_3 - - } asset = { @@ -4091,8 +4033,6 @@ character_warfare_yurt_04 = { ai_value = { value = nomadic_capital_exterior_building_4 - - } asset = { @@ -4138,8 +4078,6 @@ character_warfare_yurt_05 = { ai_value = { value = nomadic_capital_exterior_building_5 - - } asset = { @@ -4191,8 +4129,6 @@ character_warfare_yurt_06 = { ai_value = { value = nomadic_capital_exterior_building_6 - - } asset = { @@ -4296,8 +4232,6 @@ falconry_yurt_03 = { ai_value = { value = nomadic_capital_interior_building_3 - - } asset = { @@ -4331,8 +4265,6 @@ falconry_yurt_04 = { ai_value = { value = nomadic_capital_interior_building_4 - - } asset = { @@ -4366,8 +4298,6 @@ falconry_yurt_05 = { ai_value = { value = nomadic_capital_interior_building_5 - - } asset = { @@ -4402,8 +4332,6 @@ falconry_yurt_06 = { ai_value = { value = nomadic_capital_interior_building_6 - - } asset = { @@ -4490,8 +4418,6 @@ knight_yurt_03 = { ai_value = { value = nomadic_capital_interior_building_3 - - } asset = { @@ -4520,8 +4446,6 @@ knight_yurt_04 = { ai_value = { value = nomadic_capital_interior_building_4 - - } asset = { @@ -4551,8 +4475,6 @@ knight_yurt_05 = { ai_value = { value = nomadic_capital_interior_building_5 - - } asset = { @@ -4582,8 +4504,6 @@ knight_yurt_06 = { ai_value = { value = nomadic_capital_interior_building_6 - - } asset = { @@ -4673,8 +4593,6 @@ commander_yurt_03 = { ai_value = { value = nomadic_capital_interior_building_3 - - } asset = { @@ -4704,8 +4622,6 @@ commander_yurt_04 = { ai_value = { value = nomadic_capital_interior_building_4 - - } asset = { @@ -4737,8 +4653,6 @@ commander_yurt_05 = { ai_value = { value = nomadic_capital_interior_building_5 - - } asset = { @@ -4770,8 +4684,6 @@ commander_yurt_06 = { ai_value = { value = nomadic_capital_interior_building_6 - - } asset = { @@ -4795,7 +4707,7 @@ bodyguard_yurt_01 = { } parameters = { - nomad_yurt_increased_bodyguard_aptitude_lvl_1 = yes + estate_increase_bodyguard_aptitude_1 = yes } character_modifier = { @@ -4828,7 +4740,7 @@ bodyguard_yurt_02 = { } parameters = { - nomad_yurt_increased_bodyguard_aptitude_lvl_1 = yes + estate_increase_bodyguard_aptitude_2 = yes } character_modifier = { @@ -4861,7 +4773,7 @@ bodyguard_yurt_03 = { } parameters = { - nomad_yurt_increased_bodyguard_aptitude_lvl_2 = yes + estate_increase_bodyguard_aptitude_3 = yes } character_modifier = { @@ -4871,8 +4783,6 @@ bodyguard_yurt_03 = { ai_value = { value = nomadic_capital_interior_building_3 - - } asset = { @@ -4896,7 +4806,7 @@ bodyguard_yurt_04 = { } parameters = { - nomad_yurt_increased_bodyguard_aptitude_lvl_2 = yes + estate_increase_bodyguard_aptitude_4 = yes } character_modifier = { @@ -4907,8 +4817,6 @@ bodyguard_yurt_04 = { ai_value = { value = nomadic_capital_interior_building_4 - - } asset = { @@ -4932,7 +4840,7 @@ bodyguard_yurt_05 = { } parameters = { - nomad_yurt_increased_bodyguard_aptitude_lvl_3 = yes + estate_increase_bodyguard_aptitude_5 = yes } character_modifier = { @@ -4942,8 +4850,6 @@ bodyguard_yurt_05 = { ai_value = { value = nomadic_capital_interior_building_5 - - } asset = { @@ -4967,7 +4873,7 @@ bodyguard_yurt_06 = { } parameters = { - nomad_yurt_increased_bodyguard_aptitude_lvl_3 = yes + estate_increase_bodyguard_aptitude_6 = yes } character_modifier = { @@ -4978,8 +4884,6 @@ bodyguard_yurt_06 = { ai_value = { value = nomadic_capital_interior_building_6 - - } asset = { @@ -5070,8 +4974,6 @@ accolade_yurt_03 = { ai_value = { value = nomadic_capital_interior_building_3 - - } asset = { @@ -5102,8 +5004,6 @@ accolade_yurt_04 = { ai_value = { value = nomadic_capital_interior_building_4 - - } asset = { @@ -5134,8 +5034,6 @@ accolade_yurt_05 = { ai_value = { value = nomadic_capital_interior_building_5 - - } asset = { @@ -5166,8 +5064,6 @@ accolade_yurt_06 = { ai_value = { value = nomadic_capital_interior_building_6 - - } asset = { @@ -5204,6 +5100,7 @@ mass_warfare_yurt_01 = { parameters = { unlock_maa_heavy_horse_archers = yes + nomad_yurt_unlock_master_the_art_of_command = yes } ai_value = { @@ -5244,8 +5141,6 @@ mass_warfare_yurt_02 = { ai_value = { value = nomadic_capital_interior_building_1 - - } asset = { @@ -5283,8 +5178,6 @@ mass_warfare_yurt_03 = { ai_value = { value = nomadic_capital_interior_building_2 - - } asset = { @@ -5330,8 +5223,6 @@ mass_warfare_yurt_04 = { ai_value = { value = nomadic_capital_interior_building_3 - - } asset = { @@ -5371,8 +5262,6 @@ mass_warfare_yurt_05 = { ai_value = { value = nomadic_capital_interior_building_4 - - } asset = { @@ -5422,8 +5311,6 @@ mass_warfare_yurt_06 = { ai_value = { value = nomadic_capital_interior_building_5 - - } asset = { @@ -5518,8 +5405,6 @@ lcav_yurt_03 = { ai_value = { value = nomadic_capital_interior_building_3 - - } asset = { @@ -5551,8 +5436,6 @@ lcav_yurt_04 = { ai_value = { value = nomadic_capital_interior_building_4 - - } asset = { @@ -5585,8 +5468,6 @@ lcav_yurt_05 = { ai_value = { value = nomadic_capital_interior_building_5 - - } asset = { @@ -5619,8 +5500,6 @@ lcav_yurt_06 = { ai_value = { value = nomadic_capital_interior_building_6 - - } asset = { @@ -5716,8 +5595,6 @@ foot_archer_yurt_03 = { ai_value = { value = nomadic_capital_interior_building_3 - - } asset = { @@ -5747,8 +5624,6 @@ foot_archer_yurt_04 = { ai_value = { value = nomadic_capital_interior_building_4 - - } asset = { @@ -5778,8 +5653,6 @@ foot_archer_yurt_05 = { ai_value = { value = nomadic_capital_interior_building_5 - - } asset = { @@ -5809,8 +5682,6 @@ foot_archer_yurt_06 = { ai_value = { value = nomadic_capital_interior_building_6 - - } asset = { @@ -5908,8 +5779,6 @@ merc_yurt_03 = { ai_value = { value = nomadic_capital_interior_building_3 - - } asset = { @@ -5958,8 +5827,6 @@ merc_yurt_04 = { ai_value = { value = nomadic_capital_interior_building_4 - - } asset = { @@ -5994,8 +5861,6 @@ merc_yurt_05 = { ai_value = { value = nomadic_capital_interior_building_5 - - } asset = { @@ -6044,8 +5909,6 @@ merc_yurt_06 = { ai_value = { value = nomadic_capital_interior_building_6 - - } asset = { @@ -6133,8 +5996,6 @@ herd_conversion_yurt_03 = { ai_value = { value = nomadic_capital_interior_building_2 - - } asset = { @@ -6164,8 +6025,6 @@ herd_conversion_yurt_04 = { ai_value = { value = nomadic_capital_interior_building_3 - - } asset = { @@ -6195,8 +6054,6 @@ herd_conversion_yurt_05 = { ai_value = { value = nomadic_capital_interior_building_4 - - } asset = { @@ -6226,8 +6083,6 @@ herd_conversion_yurt_06 = { ai_value = { value = nomadic_capital_interior_building_5 - - } asset = { @@ -6318,8 +6173,6 @@ raiding_yurt_03 = { ai_value = { value = nomadic_capital_interior_building_3 - - } asset = { @@ -6350,8 +6203,6 @@ raiding_yurt_04 = { ai_value = { value = nomadic_capital_interior_building_4 - - } asset = { @@ -6382,8 +6233,6 @@ raiding_yurt_05 = { ai_value = { value = nomadic_capital_interior_building_5 - - } asset = { @@ -6414,8 +6263,6 @@ raiding_yurt_06 = { ai_value = { value = nomadic_capital_interior_building_6 - - } asset = { @@ -6503,8 +6350,6 @@ stationing_yurt_03 = { ai_value = { value = nomadic_capital_interior_building_3 - - } asset = { @@ -6534,8 +6379,6 @@ stationing_yurt_04 = { ai_value = { value = nomadic_capital_interior_building_4 - - } asset = { @@ -6566,8 +6409,6 @@ stationing_yurt_05 = { ai_value = { value = nomadic_capital_interior_building_5 - - } asset = { @@ -6598,8 +6439,6 @@ stationing_yurt_06 = { ai_value = { value = nomadic_capital_interior_building_6 - - } asset = { @@ -6715,8 +6554,6 @@ court_yurt_03 = { ai_value = { value = nomadic_capital_exterior_building_3 - - } asset = { @@ -6766,8 +6603,6 @@ court_yurt_04 = { ai_value = { value = nomadic_capital_exterior_building_4 - - } asset = { @@ -6813,8 +6648,6 @@ court_yurt_05 = { ai_value = { value = nomadic_capital_exterior_building_5 - - } asset = { @@ -6865,8 +6698,6 @@ court_yurt_06 = { ai_value = { value = nomadic_capital_exterior_building_6 - - } asset = { @@ -6962,8 +6793,6 @@ tributary_yurt_03 = { ai_value = { value = nomadic_capital_interior_building_2 - - } asset = { @@ -6996,8 +6825,6 @@ tributary_yurt_04 = { ai_value = { value = nomadic_capital_interior_building_3 - - } asset = { @@ -7030,8 +6857,6 @@ tributary_yurt_05 = { ai_value = { value = nomadic_capital_interior_building_4 - - } asset = { @@ -7064,8 +6889,6 @@ tributary_yurt_06 = { ai_value = { value = nomadic_capital_interior_building_5 - - } asset = { @@ -7152,8 +6975,6 @@ vassal_yurt_03 = { ai_value = { value = nomadic_capital_interior_building_2 - - } asset = { @@ -7183,8 +7004,6 @@ vassal_yurt_04 = { ai_value = { value = nomadic_capital_interior_building_3 - - } asset = { @@ -7214,8 +7033,6 @@ vassal_yurt_05 = { ai_value = { value = nomadic_capital_interior_building_4 - - } asset = { @@ -7245,8 +7062,6 @@ vassal_yurt_06 = { ai_value = { value = nomadic_capital_interior_building_5 - - } asset = { @@ -7271,7 +7086,7 @@ secret_scheme_yurt_01 = { character_modifier = { owned_scheme_secrecy_add = 4 - scheme_discovery_chance_mult = 0.04 + enemy_scheme_secrecy_add = -4 } ai_value = { @@ -7300,7 +7115,7 @@ secret_scheme_yurt_02 = { character_modifier = { owned_scheme_secrecy_add = 2 - scheme_discovery_chance_mult = 0.04 + enemy_scheme_secrecy_add = -4 } ai_value = { @@ -7329,13 +7144,11 @@ secret_scheme_yurt_03 = { character_modifier = { owned_scheme_secrecy_add = 4 - scheme_discovery_chance_mult = 0.08 + enemy_scheme_secrecy_add = -8 } ai_value = { value = nomadic_capital_interior_building_3 - - } asset = { @@ -7360,13 +7173,11 @@ secret_scheme_yurt_04 = { character_modifier = { owned_scheme_secrecy_add = 4 - scheme_discovery_chance_mult = 0.08 + enemy_scheme_secrecy_add = -8 } ai_value = { value = nomadic_capital_interior_building_4 - - } asset = { @@ -7391,13 +7202,11 @@ secret_scheme_yurt_05 = { character_modifier = { owned_scheme_secrecy_add = 6 - scheme_discovery_chance_mult = 0.16 + enemy_scheme_secrecy_add = -16 } ai_value = { value = nomadic_capital_interior_building_5 - - } asset = { @@ -7422,13 +7231,11 @@ secret_scheme_yurt_06 = { character_modifier = { owned_scheme_secrecy_add = 10 - scheme_discovery_chance_mult = 0.16 + enemy_scheme_secrecy_add = -16 } ai_value = { value = nomadic_capital_interior_building_6 - - } asset = { @@ -7486,8 +7293,6 @@ kurultai_yurt_02 = { ai_value = { value = nomadic_capital_interior_building_2 - - } asset = { @@ -7517,8 +7322,6 @@ kurultai_yurt_03 = { ai_value = { value = nomadic_capital_interior_building_3 - - } asset = { @@ -7548,8 +7351,6 @@ kurultai_yurt_04 = { ai_value = { value = nomadic_capital_interior_building_4 - - } asset = { @@ -7579,8 +7380,6 @@ kurultai_yurt_05 = { ai_value = { value = nomadic_capital_interior_building_5 - - } asset = { @@ -7610,8 +7409,6 @@ kurultai_yurt_06 = { ai_value = { value = nomadic_capital_interior_building_6 - - } asset = { @@ -7676,8 +7473,6 @@ feast_yurt_02 = { ai_value = { value = nomadic_capital_interior_building_2 - - } asset = { @@ -7710,8 +7505,6 @@ feast_yurt_03 = { ai_value = { value = nomadic_capital_interior_building_3 - - } asset = { @@ -7744,8 +7537,6 @@ feast_yurt_04 = { ai_value = { value = nomadic_capital_interior_building_4 - - } asset = { @@ -7778,8 +7569,6 @@ feast_yurt_05 = { ai_value = { value = nomadic_capital_interior_building_5 - - } asset = { @@ -7812,8 +7601,6 @@ feast_yurt_06 = { ai_value = { value = nomadic_capital_interior_building_6 - - } asset = { @@ -7875,8 +7662,6 @@ agent_dread_yurt_02 = { ai_value = { value = nomadic_capital_interior_building_2 - - } asset = { @@ -7910,8 +7695,6 @@ agent_dread_yurt_03 = { ai_value = { value = nomadic_capital_interior_building_3 - - } asset = { @@ -7945,8 +7728,6 @@ agent_dread_yurt_04 = { ai_value = { value = nomadic_capital_interior_building_4 - - } asset = { @@ -7980,8 +7761,6 @@ agent_dread_yurt_05 = { ai_value = { value = nomadic_capital_interior_building_5 - - } asset = { @@ -8015,8 +7794,6 @@ agent_dread_yurt_06 = { ai_value = { value = nomadic_capital_interior_building_6 - - } asset = { @@ -8082,8 +7859,6 @@ dynasty_court_yurt_02 = { ai_value = { value = nomadic_capital_interior_building_2 - - } asset = { @@ -8116,8 +7891,6 @@ dynasty_court_yurt_03 = { ai_value = { value = nomadic_capital_interior_building_3 - - } asset = { @@ -8150,8 +7923,6 @@ dynasty_court_yurt_04 = { ai_value = { value = nomadic_capital_interior_building_4 - - } asset = { @@ -8185,8 +7956,6 @@ dynasty_court_yurt_05 = { ai_value = { value = nomadic_capital_interior_building_5 - - } asset = { @@ -8220,8 +7989,6 @@ dynasty_court_yurt_06 = { ai_value = { value = nomadic_capital_interior_building_6 - - } asset = { @@ -8289,8 +8056,6 @@ culture_court_yurt_02 = { ai_value = { value = nomadic_capital_interior_building_2 - - } asset = { @@ -8324,8 +8089,6 @@ culture_court_yurt_03 = { ai_value = { value = nomadic_capital_interior_building_3 - - } asset = { @@ -8359,8 +8122,6 @@ culture_court_yurt_04 = { ai_value = { value = nomadic_capital_interior_building_4 - - } asset = { @@ -8395,8 +8156,6 @@ culture_court_yurt_05 = { ai_value = { value = nomadic_capital_interior_building_5 - - } asset = { @@ -8431,8 +8190,6 @@ culture_court_yurt_06 = { ai_value = { value = nomadic_capital_interior_building_6 - - } asset = { @@ -8506,8 +8263,6 @@ family_yurt_02 = { ai_value = { value = nomadic_capital_exterior_building_2 - - } asset = { @@ -8546,8 +8301,6 @@ family_yurt_03 = { ai_value = { value = nomadic_capital_exterior_building_3 - - } asset = { @@ -8595,8 +8348,6 @@ family_yurt_04 = { ai_value = { value = nomadic_capital_exterior_building_4 - - } asset = { @@ -8640,8 +8391,6 @@ family_yurt_05 = { ai_value = { value = nomadic_capital_exterior_building_5 - - } asset = { @@ -8688,8 +8437,6 @@ family_yurt_06 = { ai_value = { value = nomadic_capital_exterior_building_6 - - } asset = { @@ -8916,8 +8663,8 @@ wet_nurse_yurt_01 = { } parameters = { - nomad_yurt_wet_nurse_aptitude_lvl_1 = yes - nomad_yurt_court_tutor_aptitude_lvl_1 = yes + domicile_increased_wet_nurse_aptitude_1 = yes + estate_increased_tutor_aptitude_1 = yes } ai_value = { @@ -8951,8 +8698,8 @@ wet_nurse_yurt_02 = { } parameters = { - nomad_yurt_wet_nurse_aptitude_lvl_1 = yes - nomad_yurt_court_tutor_aptitude_lvl_1 = yes + domicile_increased_wet_nurse_aptitude_2 = yes + estate_increased_tutor_aptitude_2 = yes } character_modifier = { @@ -8961,8 +8708,6 @@ wet_nurse_yurt_02 = { ai_value = { value = nomadic_capital_interior_building_2 - - } asset = { @@ -8986,8 +8731,8 @@ wet_nurse_yurt_03 = { } parameters = { - nomad_yurt_wet_nurse_aptitude_lvl_2 = yes - nomad_yurt_court_tutor_aptitude_lvl_1 = yes + domicile_increased_wet_nurse_aptitude_3 = yes + estate_increased_tutor_aptitude_3 = yes } character_modifier = { @@ -8996,8 +8741,6 @@ wet_nurse_yurt_03 = { ai_value = { value = nomadic_capital_interior_building_3 - - } asset = { @@ -9021,8 +8764,8 @@ wet_nurse_yurt_04 = { } parameters = { - nomad_yurt_wet_nurse_aptitude_lvl_2 = yes - nomad_yurt_court_tutor_aptitude_lvl_2 = yes + domicile_increased_wet_nurse_aptitude_4 = yes + estate_increased_tutor_aptitude_4 = yes } character_modifier = { @@ -9031,8 +8774,6 @@ wet_nurse_yurt_04 = { ai_value = { value = nomadic_capital_interior_building_4 - - } asset = { @@ -9056,8 +8797,8 @@ wet_nurse_yurt_05 = { } parameters = { - nomad_yurt_wet_nurse_aptitude_lvl_3 = yes - nomad_yurt_court_tutor_aptitude_lvl_3 = yes + domicile_increased_wet_nurse_aptitude_5 = yes + estate_increased_tutor_aptitude_5 = yes } character_modifier = { @@ -9066,8 +8807,6 @@ wet_nurse_yurt_05 = { ai_value = { value = nomadic_capital_interior_building_5 - - } asset = { @@ -9091,8 +8830,8 @@ wet_nurse_yurt_06 = { } parameters = { - nomad_yurt_wet_nurse_aptitude_lvl_4 = yes - nomad_yurt_court_tutor_aptitude_lvl_4 = yes + domicile_increased_wet_nurse_aptitude_6 = yes + estate_increased_tutor_aptitude_6 = yes } character_modifier = { @@ -9101,8 +8840,6 @@ wet_nurse_yurt_06 = { ai_value = { value = nomadic_capital_interior_building_6 - - } asset = { @@ -9161,8 +8898,6 @@ personal_chamber_yurt_02 = { ai_value = { value = nomadic_capital_interior_building_2 - - } asset = { @@ -9192,8 +8927,6 @@ personal_chamber_yurt_03 = { ai_value = { value = nomadic_capital_interior_building_3 - - } asset = { @@ -9227,8 +8960,6 @@ personal_chamber_yurt_04 = { ai_value = { value = nomadic_capital_interior_building_4 - - } asset = { @@ -9262,8 +8993,6 @@ personal_chamber_yurt_05 = { ai_value = { value = nomadic_capital_interior_building_5 - - } asset = { @@ -9297,8 +9026,6 @@ personal_chamber_yurt_06 = { ai_value = { value = nomadic_capital_interior_building_6 - - } asset = { @@ -9357,8 +9084,6 @@ recreation_chamber_yurt_02 = { ai_value = { value = nomadic_capital_interior_building_2 - - } asset = { @@ -9389,8 +9114,6 @@ recreation_chamber_yurt_03 = { ai_value = { value = nomadic_capital_interior_building_3 - - } asset = { @@ -9421,8 +9144,6 @@ recreation_chamber_yurt_04 = { ai_value = { value = nomadic_capital_interior_building_4 - - } asset = { @@ -9453,8 +9174,6 @@ recreation_chamber_yurt_05 = { ai_value = { value = nomadic_capital_interior_building_5 - - } asset = { @@ -9485,8 +9204,6 @@ recreation_chamber_yurt_06 = { ai_value = { value = nomadic_capital_interior_building_6 - - } asset = { @@ -9551,8 +9268,6 @@ marriage_yurt_02 = { ai_value = { value = nomadic_capital_interior_building_2 - - } asset = { @@ -9585,8 +9300,6 @@ marriage_yurt_03 = { ai_value = { value = nomadic_capital_interior_building_3 - - } asset = { @@ -9619,8 +9332,6 @@ marriage_yurt_04 = { ai_value = { value = nomadic_capital_interior_building_4 - - } asset = { @@ -9653,8 +9364,6 @@ marriage_yurt_05 = { ai_value = { value = nomadic_capital_interior_building_5 - - } asset = { @@ -9687,8 +9396,6 @@ marriage_yurt_06 = { ai_value = { value = nomadic_capital_interior_building_6 - - } asset = { @@ -9753,8 +9460,6 @@ better_children_yurt_02 = { ai_value = { value = nomadic_capital_interior_building_2 - - } asset = { @@ -9787,8 +9492,6 @@ better_children_yurt_03 = { ai_value = { value = nomadic_capital_interior_building_3 - - } asset = { @@ -9821,8 +9524,6 @@ better_children_yurt_04 = { ai_value = { value = nomadic_capital_interior_building_4 - - } asset = { @@ -9855,8 +9556,6 @@ better_children_yurt_05 = { ai_value = { value = nomadic_capital_interior_building_5 - - } asset = { @@ -9889,8 +9588,6 @@ better_children_yurt_06 = { ai_value = { value = nomadic_capital_interior_building_6 - - } asset = { @@ -9955,8 +9652,6 @@ friend_yurt_02 = { ai_value = { value = nomadic_capital_interior_building_2 - - } asset = { @@ -9989,8 +9684,6 @@ friend_yurt_03 = { ai_value = { value = nomadic_capital_interior_building_3 - - } asset = { @@ -10023,8 +9716,6 @@ friend_yurt_04 = { ai_value = { value = nomadic_capital_interior_building_4 - - } asset = { @@ -10057,8 +9748,6 @@ friend_yurt_05 = { ai_value = { value = nomadic_capital_interior_building_5 - - } asset = { @@ -10091,8 +9780,6 @@ friend_yurt_06 = { ai_value = { value = nomadic_capital_interior_building_6 - - } asset = { @@ -10159,8 +9846,6 @@ hostage_ward_yurt_02 = { ai_value = { value = nomadic_capital_interior_building_2 - - } asset = { @@ -10194,8 +9879,6 @@ hostage_ward_yurt_03 = { ai_value = { value = nomadic_capital_interior_building_3 - - } asset = { @@ -10229,8 +9912,6 @@ hostage_ward_yurt_04 = { ai_value = { value = nomadic_capital_interior_building_4 - - } asset = { @@ -10264,8 +9945,6 @@ hostage_ward_yurt_05 = { ai_value = { value = nomadic_capital_interior_building_5 - - } asset = { @@ -10299,8 +9978,6 @@ hostage_ward_yurt_06 = { ai_value = { value = nomadic_capital_interior_building_6 - - } asset = { @@ -10366,8 +10043,6 @@ mystical_yurt_02 = { ai_value = { value = nomadic_capital_exterior_building_2 - - } asset = { @@ -10399,8 +10074,6 @@ mystical_yurt_03 = { ai_value = { value = nomadic_capital_exterior_building_3 - - } asset = { @@ -10442,8 +10115,6 @@ mystical_yurt_04 = { ai_value = { value = nomadic_capital_exterior_building_4 - - } asset = { @@ -10485,8 +10156,6 @@ mystical_yurt_05 = { ai_value = { value = nomadic_capital_exterior_building_5 - - } asset = { @@ -10532,8 +10201,6 @@ mystical_yurt_06 = { ai_value = { value = nomadic_capital_exterior_building_6 - - } asset = { @@ -10605,8 +10272,6 @@ astrologer_yurt_02 = { ai_value = { value = nomadic_capital_interior_building_2 - - } asset = { @@ -10641,8 +10306,6 @@ astrologer_yurt_03 = { ai_value = { value = nomadic_capital_interior_building_3 - - } asset = { @@ -10677,8 +10340,6 @@ astrologer_yurt_04 = { ai_value = { value = nomadic_capital_interior_building_4 - - } asset = { @@ -10713,8 +10374,6 @@ astrologer_yurt_05 = { ai_value = { value = nomadic_capital_interior_building_5 - - } asset = { @@ -10749,8 +10408,6 @@ astrologer_yurt_06 = { ai_value = { value = nomadic_capital_interior_building_6 - - } asset = { @@ -10774,7 +10431,7 @@ physician_yurt_01 = { } parameters = { - nomad_yurt_increased_physician_aptitude_lvl_1 = yes + estate_increase_physician_aptitude_1 = yes } character_modifier = { @@ -10807,7 +10464,7 @@ physician_yurt_02 = { } parameters = { - nomad_yurt_increased_physician_aptitude_lvl_1 = yes + estate_increase_physician_aptitude_2 = yes } character_modifier = { @@ -10817,8 +10474,6 @@ physician_yurt_02 = { ai_value = { value = nomadic_capital_interior_building_2 - - } asset = { @@ -10842,7 +10497,7 @@ physician_yurt_03 = { } parameters = { - nomad_yurt_increased_physician_aptitude_lvl_2 = yes + estate_increase_physician_aptitude_3 = yes } character_modifier = { @@ -10852,8 +10507,6 @@ physician_yurt_03 = { ai_value = { value = nomadic_capital_interior_building_3 - - } asset = { @@ -10877,7 +10530,7 @@ physician_yurt_04 = { } parameters = { - nomad_yurt_increased_physician_aptitude_lvl_2 = yes + estate_increase_physician_aptitude_4 = yes } character_modifier = { @@ -10887,8 +10540,6 @@ physician_yurt_04 = { ai_value = { value = nomadic_capital_interior_building_4 - - } asset = { @@ -10912,7 +10563,7 @@ physician_yurt_05 = { } parameters = { - nomad_yurt_increased_physician_aptitude_lvl_3 = yes + estate_increase_physician_aptitude_5 = yes } character_modifier = { @@ -10922,8 +10573,6 @@ physician_yurt_05 = { ai_value = { value = nomadic_capital_interior_building_5 - - } asset = { @@ -10947,7 +10596,7 @@ physician_yurt_06 = { } parameters = { - nomad_yurt_increased_physician_aptitude_lvl_4 = yes + estate_increase_physician_aptitude_6 = yes } character_modifier = { @@ -10957,8 +10606,6 @@ physician_yurt_06 = { ai_value = { value = nomadic_capital_interior_building_6 - - } asset = { @@ -11023,8 +10670,6 @@ fertility_mystical_yurt_02 = { ai_value = { value = nomadic_capital_interior_building_2 - - } asset = { @@ -11057,8 +10702,6 @@ fertility_mystical_yurt_03 = { ai_value = { value = nomadic_capital_interior_building_3 - - } asset = { @@ -11091,8 +10734,6 @@ fertility_mystical_yurt_04 = { ai_value = { value = nomadic_capital_interior_building_4 - - } asset = { @@ -11125,8 +10766,6 @@ fertility_mystical_yurt_05 = { ai_value = { value = nomadic_capital_interior_building_5 - - } asset = { @@ -11159,8 +10798,6 @@ fertility_mystical_yurt_06 = { ai_value = { value = nomadic_capital_interior_building_6 - - } asset = { @@ -11239,8 +10876,6 @@ language_yurt_02 = { ai_value = { value = nomadic_capital_interior_building_2 - - } asset = { @@ -11280,8 +10915,6 @@ language_yurt_03 = { ai_value = { value = nomadic_capital_interior_building_3 - - } asset = { @@ -11317,8 +10950,6 @@ language_yurt_04 = { ai_value = { value = nomadic_capital_interior_building_4 - - } asset = { @@ -11355,8 +10986,6 @@ language_yurt_05 = { ai_value = { value = 5 - - } asset = { @@ -11398,8 +11027,6 @@ language_yurt_06 = { ai_value = { value = 26 - - } asset = { @@ -11464,8 +11091,6 @@ omen_yurt_02 = { ai_value = { value = nomadic_capital_interior_building_2 - - } asset = { @@ -11498,8 +11123,6 @@ omen_yurt_03 = { ai_value = { value = nomadic_capital_interior_building_3 - - } asset = { @@ -11532,8 +11155,6 @@ omen_yurt_04 = { ai_value = { value = nomadic_capital_interior_building_4 - - } asset = { @@ -11567,8 +11188,6 @@ omen_yurt_05 = { ai_value = { value = nomadic_capital_interior_building_5 - - } asset = { @@ -11601,8 +11220,6 @@ omen_yurt_06 = { ai_value = { value = nomadic_capital_interior_building_6 - - } asset = { @@ -11667,8 +11284,6 @@ kurultai_mystical_yurt_02 = { ai_value = { value = nomadic_capital_interior_building_2 - - } asset = { @@ -11702,8 +11317,6 @@ kurultai_mystical_yurt_03 = { ai_value = { value = nomadic_capital_interior_building_3 - - } asset = { @@ -11737,8 +11350,6 @@ kurultai_mystical_yurt_04 = { ai_value = { value = nomadic_capital_interior_building_4 - - } asset = { @@ -11773,8 +11384,6 @@ kurultai_mystical_yurt_05 = { ai_value = { value = nomadic_capital_interior_building_5 - - } asset = { @@ -11808,8 +11417,6 @@ kurultai_mystical_yurt_06 = { ai_value = { value = nomadic_capital_interior_building_6 - - } asset = { @@ -11875,8 +11482,6 @@ knight_mystical_yurt_02 = { ai_value = { value = nomadic_capital_interior_building_2 - - } asset = { @@ -11909,8 +11514,6 @@ knight_mystical_yurt_03 = { ai_value = { value = nomadic_capital_interior_building_3 - - } asset = { @@ -11943,8 +11546,6 @@ knight_mystical_yurt_04 = { ai_value = { value = nomadic_capital_interior_building_4 - - } asset = { @@ -11978,8 +11579,6 @@ knight_mystical_yurt_05 = { ai_value = { value = nomadic_capital_interior_building_5 - - } asset = { @@ -12013,8 +11612,6 @@ knight_mystical_yurt_06 = { ai_value = { value = nomadic_capital_interior_building_6 - - } asset = { @@ -12113,8 +11710,6 @@ trade_yurt_02 = { ai_value = { value = nomadic_capital_exterior_building_2 - - } asset = { @@ -12163,8 +11758,6 @@ trade_yurt_03 = { ai_value = { value = nomadic_capital_exterior_building_3 - - } asset = { @@ -12218,8 +11811,6 @@ trade_yurt_04 = { ai_value = { value = nomadic_capital_exterior_building_4 - - } asset = { @@ -12269,8 +11860,6 @@ trade_yurt_05 = { ai_value = { value = nomadic_capital_exterior_building_5 - - } asset = { @@ -12324,8 +11913,6 @@ trade_yurt_06 = { ai_value = { value = nomadic_capital_exterior_building_6 - - } asset = { @@ -12397,8 +11984,6 @@ paiza_yurt_02 = { ai_value = { value = nomadic_capital_interior_building_2 - - } asset = { @@ -12432,8 +12017,6 @@ paiza_yurt_03 = { ai_value = { value = nomadic_capital_interior_building_3 - - } asset = { @@ -12471,8 +12054,6 @@ paiza_yurt_04 = { ai_value = { value = nomadic_capital_interior_building_4 - - } asset = { @@ -12506,8 +12087,6 @@ paiza_yurt_05 = { ai_value = { value = nomadic_capital_interior_building_5 - - } asset = { @@ -12545,8 +12124,6 @@ paiza_yurt_06 = { ai_value = { value = nomadic_capital_interior_building_6 - - } asset = { @@ -12612,8 +12189,6 @@ innovation_yurt_02 = { ai_value = { value = nomadic_capital_interior_building_2 - - } asset = { @@ -12647,8 +12222,6 @@ innovation_yurt_03 = { ai_value = { value = nomadic_capital_interior_building_3 - - } asset = { @@ -12682,8 +12255,6 @@ innovation_yurt_04 = { ai_value = { value = nomadic_capital_interior_building_4 - - } asset = { @@ -12717,8 +12288,6 @@ innovation_yurt_05 = { ai_value = { value = nomadic_capital_interior_building_5 - - } asset = { @@ -12752,8 +12321,6 @@ innovation_yurt_06 = { ai_value = { value = nomadic_capital_interior_building_6 - - } asset = { @@ -12820,8 +12387,6 @@ merchant_yurt_02 = { ai_value = { value = nomadic_capital_interior_building_2 - - } asset = { @@ -12855,8 +12420,6 @@ merchant_yurt_03 = { ai_value = { value = nomadic_capital_interior_building_3 - - } asset = { @@ -12890,8 +12453,6 @@ merchant_yurt_04 = { ai_value = { value = nomadic_capital_interior_building_4 - - } asset = { @@ -12925,8 +12486,6 @@ merchant_yurt_05 = { ai_value = { value = nomadic_capital_interior_building_5 - - } asset = { @@ -12960,8 +12519,6 @@ merchant_yurt_06 = { ai_value = { value = nomadic_capital_interior_building_6 - - } asset = { @@ -13028,8 +12585,6 @@ fertility_trade_yurt_02 = { ai_value = { value = nomadic_capital_interior_building_1 - - } asset = { @@ -13063,8 +12618,6 @@ fertility_trade_yurt_03 = { ai_value = { value = nomadic_capital_interior_building_2 - - } asset = { @@ -13098,8 +12651,6 @@ fertility_trade_yurt_04 = { ai_value = { value = nomadic_capital_interior_building_3 - - } asset = { @@ -13133,8 +12684,6 @@ fertility_trade_yurt_05 = { ai_value = { value = nomadic_capital_interior_building_4 - - } asset = { @@ -13168,8 +12717,6 @@ fertility_trade_yurt_06 = { ai_value = { value = nomadic_capital_interior_building_5 - - } asset = { @@ -13236,8 +12783,6 @@ herd_trade_yurt_02 = { ai_value = { value = nomadic_capital_interior_building_2 - - } asset = { @@ -13271,8 +12816,6 @@ herd_trade_yurt_03 = { ai_value = { value = nomadic_capital_interior_building_3 - - } asset = { @@ -13306,8 +12849,6 @@ herd_trade_yurt_04 = { ai_value = { value = nomadic_capital_interior_building_4 - - } asset = { @@ -13341,8 +12882,6 @@ herd_trade_yurt_05 = { ai_value = { value = nomadic_capital_interior_building_5 - - } asset = { @@ -13376,8 +12915,6 @@ herd_trade_yurt_06 = { ai_value = { value = nomadic_capital_interior_building_6 - - } asset = { @@ -13442,8 +12979,6 @@ char_trade_yurt_02 = { ai_value = { value = nomadic_capital_interior_building_2 - - } asset = { @@ -13477,8 +13012,6 @@ char_trade_yurt_03 = { ai_value = { value = nomadic_capital_interior_building_3 - - } asset = { @@ -13503,7 +13036,6 @@ char_trade_yurt_04 = { parameters = { nomad_yurt_paiza_char_gain_lvl_2 = yes - nomad_yurt_paiza_char_gain_arrival_lvl_1 = yes } character_modifier = { @@ -13512,8 +13044,6 @@ char_trade_yurt_04 = { ai_value = { value = nomadic_capital_interior_building_4 - - } asset = { @@ -13538,7 +13068,6 @@ char_trade_yurt_05 = { parameters = { nomad_yurt_paiza_char_gain_lvl_2 = yes - nomad_yurt_paiza_char_gain_arrival_lvl_1 = yes } character_modifier = { @@ -13547,8 +13076,6 @@ char_trade_yurt_05 = { ai_value = { value = nomadic_capital_interior_building_5 - - } asset = { @@ -13573,7 +13100,6 @@ char_trade_yurt_06 = { parameters = { nomad_yurt_paiza_char_gain_lvl_3 = yes - nomad_yurt_paiza_char_gain_arrival_lvl_2 = yes } character_modifier = { @@ -13582,8 +13108,6 @@ char_trade_yurt_06 = { ai_value = { value = nomadic_capital_interior_building_6 - - } asset = { @@ -13648,8 +13172,6 @@ knight_trade_yurt_02 = { ai_value = { value = nomadic_capital_interior_building_2 - - } asset = { @@ -13682,8 +13204,6 @@ knight_trade_yurt_03 = { ai_value = { value = nomadic_capital_interior_building_3 - - } asset = { @@ -13716,8 +13236,6 @@ knight_trade_yurt_04 = { ai_value = { value = nomadic_capital_interior_building_4 - - } asset = { @@ -13750,8 +13268,6 @@ knight_trade_yurt_05 = { ai_value = { value = nomadic_capital_interior_building_5 - - } asset = { @@ -13784,8 +13300,6 @@ knight_trade_yurt_06 = { ai_value = { value = nomadic_capital_interior_building_6 - - } asset = { diff --git a/common/domiciles/buildings/10_japanese_manor_buildings.txt b/common/domiciles/buildings/10_japanese_manor_buildings.txt index 0dcfbc0b..edcb9fb7 100644 --- a/common/domiciles/buildings/10_japanese_manor_buildings.txt +++ b/common/domiciles/buildings/10_japanese_manor_buildings.txt @@ -2015,7 +2015,7 @@ japanese_manor_library_confucian_04 = { } parameters = { - japanese_manor_unlock_tier_5_education = yes + estate_unlock_tier_5_education = yes } character_modifier = { @@ -2056,7 +2056,7 @@ japanese_manor_library_confucian_05 = { } parameters = { - japanese_manor_unlock_tier_5_education = yes + estate_unlock_tier_5_education = yes } character_modifier = { @@ -2097,7 +2097,7 @@ japanese_manor_library_confucian_06 = { } parameters = { - japanese_manor_unlock_tier_5_education = yes + estate_unlock_tier_5_education = yes } character_modifier = { @@ -2188,7 +2188,7 @@ japanese_manor_retainer_accomodations_02 = { parameters = { house_head_can_ask_for_knight = yes - estate_increase_bodyguard_aptitude_1 = yes + estate_increase_bodyguard_aptitude_2 = yes } ai_value = { @@ -2231,7 +2231,7 @@ japanese_manor_retainer_accomodations_03 = { parameters = { house_head_can_ask_for_knight = yes - estate_increase_bodyguard_aptitude_1 = yes + estate_increase_bodyguard_aptitude_3 = yes } ai_value = { @@ -2263,7 +2263,7 @@ japanese_manor_retainer_accomodations_04 = { parameters = { house_head_can_ask_for_knight = yes - estate_increase_bodyguard_aptitude_2 = yes + estate_increase_bodyguard_aptitude_4 = yes } character_modifier = { @@ -2304,7 +2304,7 @@ japanese_manor_retainer_accomodations_05 = { parameters = { house_head_can_ask_for_knight = yes - estate_increase_bodyguard_aptitude_2 = yes + estate_increase_bodyguard_aptitude_5 = yes } character_modifier = { @@ -3691,7 +3691,7 @@ japanese_shrine_01 = { can_construct = { custom_tooltip = { text = humility_house_power_tt - house = { has_house_power_parameter = unlocks_japanese_manor_shrine } + house = { has_house_aspiration_parameter = unlocks_japanese_manor_shrine } } } @@ -3734,7 +3734,7 @@ japanese_shrine_02 = { domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } custom_tooltip = { text = humility_house_power_tt - house = { has_house_power_parameter = unlocks_japanese_manor_shrine } + house = { has_house_aspiration_parameter = unlocks_japanese_manor_shrine } } } @@ -3769,14 +3769,14 @@ japanese_shrine_02 = { japanese_shrine_03 = { construction_time = @japanese_manor_external_construction_time_tier_3 allowed_domicile_types = { japanese_manor } - internal_slots = 1 + internal_slots = 2 previous_building = japanese_shrine_02 can_construct = { domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } custom_tooltip = { text = humility_house_power_tt - house = { has_house_power_parameter = unlocks_japanese_manor_shrine } + house = { has_house_aspiration_parameter = unlocks_japanese_manor_shrine } } } @@ -3818,7 +3818,7 @@ japanese_shrine_04 = { domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } custom_tooltip = { text = humility_house_power_tt - house = { has_house_power_parameter = unlocks_japanese_manor_shrine } + house = { has_house_aspiration_parameter = unlocks_japanese_manor_shrine } } } @@ -3854,14 +3854,14 @@ japanese_shrine_04 = { japanese_shrine_05 = { construction_time = @japanese_manor_external_construction_time_tier_5 allowed_domicile_types = { japanese_manor } - internal_slots = 2 + internal_slots = 3 previous_building = japanese_shrine_04 can_construct = { domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } custom_tooltip = { text = humility_house_power_tt - house = { has_house_power_parameter = unlocks_japanese_manor_shrine } + house = { has_house_aspiration_parameter = unlocks_japanese_manor_shrine } } } @@ -3896,14 +3896,14 @@ japanese_shrine_05 = { japanese_shrine_06 = { construction_time = @japanese_manor_external_construction_time_tier_6 allowed_domicile_types = { japanese_manor } - internal_slots = 2 + internal_slots = 3 previous_building = japanese_shrine_05 can_construct = { domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } custom_tooltip = { text = humility_house_power_tt - house = { has_house_power_parameter = unlocks_japanese_manor_shrine } + house = { has_house_aspiration_parameter = unlocks_japanese_manor_shrine } } } @@ -3985,6 +3985,10 @@ japanese_cemetery_02 = { dynasty_house_opinion = @japanese_manor_opinion_add_1 } + parameters = { + estate_cheaper_funeral_cost = yes + } + ai_value = { value = 8 add = japanese_manor_building_ai_modifier_value @@ -4014,6 +4018,10 @@ japanese_cemetery_03 = { monthly_dynasty_prestige = @japanese_manor_monthly_dynasty_prestige_add_1 dynasty_house_opinion = @japanese_manor_opinion_add_1 } + + parameters = { + estate_cheaper_funeral_cost = yes + } ai_value = { value = 7 @@ -4044,6 +4052,10 @@ japanese_cemetery_04 = { monthly_dynasty_prestige = @japanese_manor_monthly_dynasty_prestige_add_1 dynasty_house_opinion = @japanese_manor_opinion_add_1 } + + parameters = { + estate_cheaper_funeral_cost = yes + } ai_value = { value = 7 @@ -4074,6 +4086,10 @@ japanese_cemetery_05 = { monthly_dynasty_prestige = @japanese_manor_monthly_dynasty_prestige_add_1 dynasty_house_opinion = @japanese_manor_opinion_add_1 } + + parameters = { + estate_cheaper_funeral_cost = yes + } ai_value = { value = 7 @@ -4104,6 +4120,10 @@ japanese_cemetery_06 = { monthly_dynasty_prestige = @japanese_manor_monthly_dynasty_prestige_add_1 dynasty_house_opinion = @japanese_manor_opinion_add_1 } + + parameters = { + estate_cheaper_funeral_cost = yes + } ai_value = { value = 7 @@ -4168,6 +4188,10 @@ japanese_shokubo_02 = { character_travel_safety = @japanese_manor_character_travel_safety } + parameters = { + estate_cheaper_pilgrimage_cost = yes + } + ai_value = { value = 8 add = japanese_manor_building_ai_modifier_value @@ -4198,6 +4222,10 @@ japanese_shokubo_03 = { different_faith_opinion = @japanese_manor_opinion_add_1 character_travel_safety = @japanese_manor_character_travel_safety } + + parameters = { + estate_cheaper_pilgrimage_cost = yes + } ai_value = { value = 7 @@ -4230,6 +4258,10 @@ japanese_shokubo_04 = { different_faith_opinion = @japanese_manor_opinion_add_1 character_travel_safety = @japanese_manor_character_travel_safety } + + parameters = { + estate_cheaper_pilgrimage_cost = yes + } ai_value = { value = 7 @@ -4261,6 +4293,10 @@ japanese_shokubo_05 = { different_faith_opinion = @japanese_manor_opinion_add_1 character_travel_safety = @japanese_manor_character_travel_safety } + + parameters = { + estate_cheaper_pilgrimage_cost = yes + } ai_value = { value = 7 @@ -4292,6 +4328,10 @@ japanese_shokubo_06 = { different_faith_opinion = @japanese_manor_opinion_add_1 character_travel_safety = @japanese_manor_character_travel_safety } + + parameters = { + estate_cheaper_pilgrimage_cost = yes + } ai_value = { value = 7 @@ -4534,7 +4574,7 @@ japanese_brewery_01 = { can_construct = { custom_tooltip = { text = prosperity_house_power_tt - house = { has_house_power_parameter = unlocks_japanese_manor_brewery } + house = { has_house_aspiration_parameter = unlocks_japanese_manor_brewery } } } @@ -4575,7 +4615,7 @@ japanese_brewery_02 = { domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } custom_tooltip = { text = prosperity_house_power_tt - house = { has_house_power_parameter = unlocks_japanese_manor_brewery } + house = { has_house_aspiration_parameter = unlocks_japanese_manor_brewery } } } @@ -4589,6 +4629,10 @@ japanese_brewery_02 = { county_opinion_add = @japanese_manor_opinion_add_1 } + parameters = { + estate_cheaper_feast_cost = yes + } + ai_value = { value = 8 add = japanese_manor_building_ai_modifier_value @@ -4604,14 +4648,14 @@ japanese_brewery_02 = { japanese_brewery_03 = { construction_time = @japanese_manor_external_construction_time_tier_3 allowed_domicile_types = { japanese_manor } - internal_slots = 1 + internal_slots = 2 previous_building = japanese_brewery_02 can_construct = { domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } custom_tooltip = { text = prosperity_house_power_tt - house = { has_house_power_parameter = unlocks_japanese_manor_brewery } + house = { has_house_aspiration_parameter = unlocks_japanese_manor_brewery } } } @@ -4624,6 +4668,10 @@ japanese_brewery_03 = { development_growth_factor = @japanese_manor_development_growth_factor_1 county_opinion_add = @japanese_manor_opinion_add_1 } + + parameters = { + estate_cheaper_feast_cost = yes + } ai_value = { value = 7 @@ -4647,7 +4695,7 @@ japanese_brewery_04 = { domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } custom_tooltip = { text = prosperity_house_power_tt - house = { has_house_power_parameter = unlocks_japanese_manor_brewery } + house = { has_house_aspiration_parameter = unlocks_japanese_manor_brewery } } } @@ -4661,6 +4709,10 @@ japanese_brewery_04 = { county_opinion_add = @japanese_manor_opinion_add_1 stewardship_per_prestige_level = 1 } + + parameters = { + estate_cheaper_feast_cost = yes + } ai_value = { value = 7 @@ -4677,14 +4729,14 @@ japanese_brewery_04 = { japanese_brewery_05 = { construction_time = @japanese_manor_external_construction_time_tier_5 allowed_domicile_types = { japanese_manor } - internal_slots = 2 + internal_slots = 3 previous_building = japanese_brewery_04 can_construct = { domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } custom_tooltip = { text = prosperity_house_power_tt - house = { has_house_power_parameter = unlocks_japanese_manor_brewery } + house = { has_house_aspiration_parameter = unlocks_japanese_manor_brewery } } } @@ -4697,6 +4749,10 @@ japanese_brewery_05 = { development_growth_factor = @japanese_manor_development_growth_factor_1 county_opinion_add = @japanese_manor_opinion_add_1 } + + parameters = { + estate_cheaper_feast_cost = yes + } ai_value = { value = 7 @@ -4713,14 +4769,14 @@ japanese_brewery_05 = { japanese_brewery_06 = { construction_time = @japanese_manor_external_construction_time_tier_6 allowed_domicile_types = { japanese_manor } - internal_slots = 2 + internal_slots = 3 previous_building = japanese_brewery_05 can_construct = { domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } custom_tooltip = { text = prosperity_house_power_tt - house = { has_house_power_parameter = unlocks_japanese_manor_brewery } + house = { has_house_aspiration_parameter = unlocks_japanese_manor_brewery } } } @@ -4733,6 +4789,10 @@ japanese_brewery_06 = { development_growth_factor = @japanese_manor_development_growth_factor_1 county_opinion_add = @japanese_manor_opinion_add_1 } + + parameters = { + estate_cheaper_feast_cost = yes + } ai_value = { value = 7 @@ -5291,7 +5351,7 @@ japanese_archive_01 = { } custom_tooltip = { text = service_house_power_tt - house = { has_house_power_parameter = unlocks_japanese_manor_archive } + house = { has_house_aspiration_parameter = unlocks_japanese_manor_archive } } } @@ -5307,8 +5367,8 @@ japanese_archive_01 = { parameters = { japanese_archives_governor_efficiency_boost = yes japanese_manor_local_theme_cost_reduction = yes - japanese_manor_governor_efficiency_bonus = yes - japanese_manor_governor_trait_xp_bonus_for_contracts = yes + estate_governor_efficiency_bonus = yes + estate_governor_trait_xp_bonus_for_contracts = yes } ai_value = { @@ -5337,7 +5397,7 @@ japanese_archive_02 = { domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } custom_tooltip = { text = service_house_power_tt - house = { has_house_power_parameter = unlocks_japanese_manor_archive } + house = { has_house_aspiration_parameter = unlocks_japanese_manor_archive } } } @@ -5349,6 +5409,13 @@ japanese_archive_02 = { domicile_monthly_influence_add = @japanese_manor_monthly_influence_add_2 } + parameters = { + japanese_archives_governor_efficiency_boost = yes + japanese_manor_local_theme_cost_reduction = yes + estate_governor_efficiency_bonus = yes + estate_governor_trait_xp_bonus_for_contracts = yes + } + ai_value = { value = 8 add = japanese_manor_building_ai_modifier_value @@ -5364,7 +5431,7 @@ japanese_archive_02 = { japanese_archive_03 = { construction_time = @japanese_manor_external_construction_time_tier_3 allowed_domicile_types = { japanese_manor } - internal_slots = 1 + internal_slots = 2 previous_building = japanese_archive_02 can_construct = { @@ -5375,7 +5442,7 @@ japanese_archive_03 = { domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } custom_tooltip = { text = service_house_power_tt - house = { has_house_power_parameter = unlocks_japanese_manor_archive } + house = { has_house_aspiration_parameter = unlocks_japanese_manor_archive } } } @@ -5386,6 +5453,13 @@ japanese_archive_03 = { character_modifier = { domicile_monthly_influence_add = @japanese_manor_monthly_influence_add_2 } + + parameters = { + japanese_archives_governor_efficiency_boost = yes + japanese_manor_local_theme_cost_reduction = yes + estate_governor_efficiency_bonus = yes + estate_governor_trait_xp_bonus_for_contracts = yes + } ai_value = { value = 7 @@ -5413,7 +5487,7 @@ japanese_archive_04 = { domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } custom_tooltip = { text = service_house_power_tt - house = { has_house_power_parameter = unlocks_japanese_manor_archive } + house = { has_house_aspiration_parameter = unlocks_japanese_manor_archive } } } @@ -5425,6 +5499,13 @@ japanese_archive_04 = { stewardship_per_influence_level = 1 domicile_monthly_influence_add = @japanese_manor_monthly_influence_add_2 } + + parameters = { + japanese_archives_governor_efficiency_boost = yes + japanese_manor_local_theme_cost_reduction = yes + estate_governor_efficiency_bonus = yes + estate_governor_trait_xp_bonus_for_contracts = yes + } ai_value = { value = 7 @@ -5441,7 +5522,7 @@ japanese_archive_04 = { japanese_archive_05 = { construction_time = @japanese_manor_external_construction_time_tier_5 allowed_domicile_types = { japanese_manor } - internal_slots = 2 + internal_slots = 3 previous_building = japanese_archive_04 can_construct = { @@ -5452,7 +5533,7 @@ japanese_archive_05 = { domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } custom_tooltip = { text = service_house_power_tt - house = { has_house_power_parameter = unlocks_japanese_manor_archive } + house = { has_house_aspiration_parameter = unlocks_japanese_manor_archive } } } @@ -5463,6 +5544,13 @@ japanese_archive_05 = { character_modifier = { domicile_monthly_influence_add = @japanese_manor_monthly_influence_add_2 } + + parameters = { + japanese_archives_governor_efficiency_boost = yes + japanese_manor_local_theme_cost_reduction = yes + estate_governor_efficiency_bonus = yes + estate_governor_trait_xp_bonus_for_contracts = yes + } ai_value = { value = 7 @@ -5479,7 +5567,7 @@ japanese_archive_05 = { japanese_archive_06 = { construction_time = @japanese_manor_external_construction_time_tier_6 allowed_domicile_types = { japanese_manor } - internal_slots = 2 + internal_slots = 3 previous_building = japanese_archive_05 can_construct = { @@ -5490,7 +5578,7 @@ japanese_archive_06 = { domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } custom_tooltip = { text = service_house_power_tt - house = { has_house_power_parameter = unlocks_japanese_manor_archive } + house = { has_house_aspiration_parameter = unlocks_japanese_manor_archive } } } @@ -5501,6 +5589,13 @@ japanese_archive_06 = { character_modifier = { domicile_monthly_influence_add = @japanese_manor_monthly_influence_add_2 } + + parameters = { + japanese_archives_governor_efficiency_boost = yes + japanese_manor_local_theme_cost_reduction = yes + estate_governor_efficiency_bonus = yes + estate_governor_trait_xp_bonus_for_contracts = yes + } ai_value = { value = 7 @@ -5530,7 +5625,7 @@ japanese_schoolhouse_01 = { } parameters = { - increased_tutor_aptitude_1 = yes + estate_increased_tutor_aptitude_1 = yes estate_reduced_tutor_cost = yes japanese_schoolhouse_education_boost_1 = yes estate_governor_efficiency_bonus_for_house_members = yes @@ -5566,7 +5661,7 @@ japanese_schoolhouse_02 = { } parameters = { - increased_tutor_aptitude_2 = yes + estate_increased_tutor_aptitude_2 = yes estate_reduced_tutor_cost = yes japanese_schoolhouse_education_boost_1 = yes estate_governor_efficiency_bonus_for_house_members = yes @@ -5602,7 +5697,7 @@ japanese_schoolhouse_03 = { } parameters = { - increased_tutor_aptitude_3 = yes + estate_increased_tutor_aptitude_3 = yes estate_reduced_tutor_cost = yes japanese_schoolhouse_education_boost_1 = yes estate_governor_efficiency_bonus_for_house_members = yes @@ -5638,7 +5733,7 @@ japanese_schoolhouse_04 = { } parameters = { - increased_tutor_aptitude_4 = yes + estate_increased_tutor_aptitude_4 = yes estate_reduced_tutor_cost = yes japanese_schoolhouse_education_boost_1 = yes estate_governor_efficiency_bonus_for_house_members = yes @@ -5674,7 +5769,7 @@ japanese_schoolhouse_05 = { } parameters = { - increased_tutor_aptitude_5 = yes + estate_increased_tutor_aptitude_5 = yes estate_reduced_tutor_cost = yes japanese_schoolhouse_education_boost_1 = yes estate_governor_efficiency_bonus_for_house_members = yes @@ -5710,9 +5805,9 @@ japanese_schoolhouse_06 = { } parameters = { - japanese_schoolhouse_education_boost_1 = yes - increased_tutor_aptitude_6 = yes + estate_increased_tutor_aptitude_6 = yes estate_reduced_tutor_cost = yes + japanese_schoolhouse_education_boost_1 = yes estate_governor_efficiency_bonus_for_house_members = yes } @@ -6108,7 +6203,7 @@ japanese_armory_01 = { can_construct = { custom_tooltip = { text = strength_house_power_tt - house = { has_house_power_parameter = unlocks_japanese_manor_armory } + house = { has_house_aspiration_parameter = unlocks_japanese_manor_armory } } } @@ -6150,7 +6245,7 @@ japanese_armory_02 = { domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } custom_tooltip = { text = strength_house_power_tt - house = { has_house_power_parameter = unlocks_japanese_manor_armory } + house = { has_house_aspiration_parameter = unlocks_japanese_manor_armory } } } @@ -6184,14 +6279,14 @@ japanese_armory_02 = { japanese_armory_03 = { construction_time = @japanese_manor_external_construction_time_tier_3 allowed_domicile_types = { japanese_manor } - internal_slots = 1 + internal_slots = 2 previous_building = japanese_armory_02 can_construct = { domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } custom_tooltip = { text = strength_house_power_tt - house = { has_house_power_parameter = unlocks_japanese_manor_armory } + house = { has_house_aspiration_parameter = unlocks_japanese_manor_armory } } } @@ -6232,7 +6327,7 @@ japanese_armory_04 = { domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } custom_tooltip = { text = strength_house_power_tt - house = { has_house_power_parameter = unlocks_japanese_manor_armory } + house = { has_house_aspiration_parameter = unlocks_japanese_manor_armory } } } @@ -6267,14 +6362,14 @@ japanese_armory_04 = { japanese_armory_05 = { construction_time = @japanese_manor_external_construction_time_tier_5 allowed_domicile_types = { japanese_manor } - internal_slots = 2 + internal_slots = 3 previous_building = japanese_armory_04 can_construct = { domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } custom_tooltip = { text = strength_house_power_tt - house = { has_house_power_parameter = unlocks_japanese_manor_armory } + house = { has_house_aspiration_parameter = unlocks_japanese_manor_armory } } } @@ -6308,14 +6403,14 @@ japanese_armory_05 = { japanese_armory_06 = { construction_time = @japanese_manor_external_construction_time_tier_6 allowed_domicile_types = { japanese_manor } - internal_slots = 2 + internal_slots = 3 previous_building = japanese_armory_05 can_construct = { domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } custom_tooltip = { text = strength_house_power_tt - house = { has_house_power_parameter = unlocks_japanese_manor_armory } + house = { has_house_aspiration_parameter = unlocks_japanese_manor_armory } } } @@ -6923,6 +7018,11 @@ japanese_barracks_02 = { character_modifier = { knight_limit = 1 } + + parameters = { + house_head_can_ask_for_maa = yes + reduce_success_of_raid_estate = yes + } ai_value = { value = 8 @@ -6959,6 +7059,11 @@ japanese_barracks_03 = { character_modifier = { men_at_arms_limit = 1 } + + parameters = { + house_head_can_ask_for_maa = yes + reduce_success_of_raid_estate = yes + } ai_value = { value = 8 @@ -6991,6 +7096,11 @@ japanese_barracks_04 = { } } } + + parameters = { + house_head_can_ask_for_maa = yes + reduce_success_of_raid_estate = yes + } ai_value = { value = 8 @@ -7027,6 +7137,11 @@ japanese_barracks_05 = { character_modifier = { knight_limit = 1 } + + parameters = { + house_head_can_ask_for_maa = yes + reduce_success_of_raid_estate = yes + } ai_value = { value = 8 @@ -7063,6 +7178,11 @@ japanese_barracks_06 = { character_modifier = { men_at_arms_cap = 1 } + + parameters = { + house_head_can_ask_for_maa = yes + reduce_success_of_raid_estate = yes + } ai_value = { value = 8 @@ -7086,7 +7206,7 @@ japanese_watch_house_01 = { can_construct = { custom_tooltip = { text = determination_house_power_tt - house = { has_house_power_parameter = unlocks_japanese_manor_watch_house } + house = { has_house_aspiration_parameter = unlocks_japanese_manor_watch_house } } } @@ -7135,7 +7255,7 @@ japanese_watch_house_02 = { domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } custom_tooltip = { text = determination_house_power_tt - house = { has_house_power_parameter = unlocks_japanese_manor_watch_house } + house = { has_house_aspiration_parameter = unlocks_japanese_manor_watch_house } } } @@ -7156,6 +7276,11 @@ japanese_watch_house_02 = { hostile_raid_time = @japanese_manor_hostile_raid_time_1 } + parameters = { + reduce_success_of_raid_estate = yes + raids_less_likely_to_make_prisoners_1_japanese = yes + } + ai_value = { value = 8 add = japanese_manor_building_ai_modifier_value @@ -7171,14 +7296,14 @@ japanese_watch_house_02 = { japanese_watch_house_03 = { construction_time = @japanese_manor_external_construction_time_tier_3 allowed_domicile_types = { japanese_manor } - internal_slots = 1 + internal_slots = 2 previous_building = japanese_watch_house_02 can_construct = { domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } custom_tooltip = { text = determination_house_power_tt - house = { has_house_power_parameter = unlocks_japanese_manor_watch_house } + house = { has_house_aspiration_parameter = unlocks_japanese_manor_watch_house } } } @@ -7200,6 +7325,7 @@ japanese_watch_house_03 = { } parameters = { + reduce_success_of_raid_estate = yes raids_less_likely_to_make_prisoners_2_japanese = yes } @@ -7225,7 +7351,7 @@ japanese_watch_house_04 = { domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } custom_tooltip = { text = determination_house_power_tt - house = { has_house_power_parameter = unlocks_japanese_manor_watch_house } + house = { has_house_aspiration_parameter = unlocks_japanese_manor_watch_house } } } @@ -7246,6 +7372,11 @@ japanese_watch_house_04 = { hostile_raid_time = @japanese_manor_hostile_raid_time_1 intrigue_per_prestige_level = 1 } + + parameters = { + reduce_success_of_raid_estate = yes + raids_less_likely_to_make_prisoners_2_japanese = yes + } ai_value = { value = 8 @@ -7262,14 +7393,14 @@ japanese_watch_house_04 = { japanese_watch_house_05 = { construction_time = @japanese_manor_external_construction_time_tier_5 allowed_domicile_types = { japanese_manor } - internal_slots = 2 + internal_slots = 3 previous_building = japanese_watch_house_04 can_construct = { domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } custom_tooltip = { text = determination_house_power_tt - house = { has_house_power_parameter = unlocks_japanese_manor_watch_house } + house = { has_house_aspiration_parameter = unlocks_japanese_manor_watch_house } } } @@ -7291,6 +7422,7 @@ japanese_watch_house_05 = { } parameters = { + reduce_success_of_raid_estate = yes raids_less_likely_to_make_prisoners_3_japanese = yes } @@ -7309,14 +7441,14 @@ japanese_watch_house_05 = { japanese_watch_house_06 = { construction_time = @japanese_manor_external_construction_time_tier_6 allowed_domicile_types = { japanese_manor } - internal_slots = 2 + internal_slots = 3 previous_building = japanese_watch_house_05 can_construct = { domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } custom_tooltip = { text = determination_house_power_tt - house = { has_house_power_parameter = unlocks_japanese_manor_watch_house } + house = { has_house_aspiration_parameter = unlocks_japanese_manor_watch_house } } } @@ -7337,6 +7469,11 @@ japanese_watch_house_06 = { hostile_raid_time = @japanese_manor_hostile_raid_time_1 } + parameters = { + reduce_success_of_raid_estate = yes + raids_less_likely_to_make_prisoners_3_japanese = yes + } + ai_value = { value = 7 add = japanese_manor_building_ai_modifier_value @@ -7988,7 +8125,7 @@ japanese_horse_pastures_02 = { } japanese_horse_pastures_03 = { construction_time = @japanese_manor_external_construction_time_tier_3 - internal_slots = 1 + internal_slots = 2 allowed_domicile_types = { japanese_manor } previous_building = japanese_horse_pastures_02 @@ -8066,7 +8203,7 @@ japanese_horse_pastures_04 = { } japanese_horse_pastures_05 = { construction_time = @japanese_manor_external_construction_time_tier_5 - internal_slots = 2 + internal_slots = 3 allowed_domicile_types = { japanese_manor } previous_building = japanese_horse_pastures_04 @@ -8105,7 +8242,7 @@ japanese_horse_pastures_05 = { } japanese_horse_pastures_06 = { construction_time = @japanese_manor_external_construction_time_tier_6 - internal_slots = 2 + internal_slots = 3 allowed_domicile_types = { japanese_manor } previous_building = japanese_horse_pastures_05 @@ -8835,7 +8972,7 @@ japanese_tea_plantation_02 = { } japanese_tea_plantation_03 = { construction_time = @japanese_manor_external_construction_time_tier_3 - internal_slots = 1 + internal_slots = 2 allowed_domicile_types = { japanese_manor } previous_building = japanese_tea_plantation_02 @@ -8965,7 +9102,7 @@ japanese_tea_plantation_04 = { } japanese_tea_plantation_05 = { construction_time = @japanese_manor_external_construction_time_tier_5 - internal_slots = 2 + internal_slots = 3 allowed_domicile_types = { japanese_manor } previous_building = japanese_tea_plantation_04 @@ -9030,7 +9167,7 @@ japanese_tea_plantation_05 = { } japanese_tea_plantation_06 = { construction_time = @japanese_manor_external_construction_time_tier_6 - internal_slots = 2 + internal_slots = 3 allowed_domicile_types = { japanese_manor } previous_building = japanese_tea_plantation_05 @@ -9881,7 +10018,7 @@ japanese_stables_02 = { japanese_stables_03 = { construction_time = @japanese_manor_external_construction_time_tier_3 allowed_domicile_types = { japanese_manor } - internal_slots = 1 + internal_slots = 2 previous_building = japanese_stables_02 can_construct = { @@ -9967,7 +10104,7 @@ japanese_stables_04 = { japanese_stables_05 = { construction_time = @japanese_manor_external_construction_time_tier_5 allowed_domicile_types = { japanese_manor } - internal_slots = 2 + internal_slots = 3 previous_building = japanese_stables_04 can_construct = { @@ -10010,7 +10147,7 @@ japanese_stables_05 = { japanese_stables_06 = { construction_time = @japanese_manor_external_construction_time_tier_6 allowed_domicile_types = { japanese_manor } - internal_slots = 2 + internal_slots = 3 previous_building = japanese_stables_05 can_construct = { @@ -10784,7 +10921,7 @@ japanese_workshop_03 = { construction_time = @japanese_manor_external_construction_time_tier_3 allowed_domicile_types = { japanese_manor } previous_building = japanese_workshop_02 - internal_slots = 1 + internal_slots = 2 can_construct = { domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } @@ -10862,7 +10999,7 @@ japanese_workshop_05 = { construction_time = @japanese_manor_external_construction_time_tier_5 allowed_domicile_types = { japanese_manor } previous_building = japanese_workshop_04 - internal_slots = 2 + internal_slots = 3 can_construct = { domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } @@ -10901,7 +11038,7 @@ japanese_workshop_06 = { construction_time = @japanese_manor_external_construction_time_tier_6 allowed_domicile_types = { japanese_manor } previous_building = japanese_workshop_05 - internal_slots = 2 + internal_slots = 3 can_construct = { domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } @@ -11595,7 +11732,7 @@ japanese_tea_house_01 = { can_construct = { custom_tooltip = { text = ceremony_house_power_tt - house = { has_house_power_parameter = unlocks_japanese_manor_tea_house } + house = { has_house_aspiration_parameter = unlocks_japanese_manor_tea_house } } } @@ -11635,7 +11772,7 @@ japanese_tea_house_02 = { domicile ?= { has_domicile_building_or_higher = japanese_manor_main_02 } custom_tooltip = { text = ceremony_house_power_tt - house = { has_house_power_parameter = unlocks_japanese_manor_tea_house } + house = { has_house_aspiration_parameter = unlocks_japanese_manor_tea_house } } } @@ -11667,14 +11804,14 @@ japanese_tea_house_02 = { japanese_tea_house_03 = { construction_time = @japanese_manor_external_construction_time_tier_3 allowed_domicile_types = { japanese_manor } - internal_slots = 1 + internal_slots = 2 previous_building = japanese_tea_house_02 can_construct = { domicile ?= { has_domicile_building_or_higher = japanese_manor_main_03 } custom_tooltip = { text = ceremony_house_power_tt - house = { has_house_power_parameter = unlocks_japanese_manor_tea_house } + house = { has_house_aspiration_parameter = unlocks_japanese_manor_tea_house } } } @@ -11706,14 +11843,14 @@ japanese_tea_house_03 = { japanese_tea_house_04 = { construction_time = @japanese_manor_external_construction_time_tier_4 allowed_domicile_types = { japanese_manor } - internal_slots = 1 + internal_slots = 2 previous_building = japanese_tea_house_03 can_construct = { domicile ?= { has_domicile_building_or_higher = japanese_manor_main_04 } custom_tooltip = { text = ceremony_house_power_tt - house = { has_house_power_parameter = unlocks_japanese_manor_tea_house } + house = { has_house_aspiration_parameter = unlocks_japanese_manor_tea_house } } } @@ -11746,14 +11883,14 @@ japanese_tea_house_04 = { japanese_tea_house_05 = { construction_time = @japanese_manor_external_construction_time_tier_5 allowed_domicile_types = { japanese_manor } - internal_slots = 1 + internal_slots = 3 previous_building = japanese_tea_house_04 can_construct = { domicile ?= { has_domicile_building_or_higher = japanese_manor_main_05 } custom_tooltip = { text = ceremony_house_power_tt - house = { has_house_power_parameter = unlocks_japanese_manor_tea_house } + house = { has_house_aspiration_parameter = unlocks_japanese_manor_tea_house } } } @@ -11785,14 +11922,14 @@ japanese_tea_house_05 = { japanese_tea_house_06 = { construction_time = @japanese_manor_external_construction_time_tier_6 allowed_domicile_types = { japanese_manor } - internal_slots = 1 + internal_slots = 3 previous_building = japanese_tea_house_05 can_construct = { domicile ?= { has_domicile_building_or_higher = japanese_manor_main_06 } custom_tooltip = { text = ceremony_house_power_tt - house = { has_house_power_parameter = unlocks_japanese_manor_tea_house } + house = { has_house_aspiration_parameter = unlocks_japanese_manor_tea_house } } } @@ -11882,6 +12019,10 @@ japanese_guest_house_02 = { character_modifier = { owned_personal_scheme_success_chance_add = @japanese_manor_owned_scheme_success_chance_add } + + parameters = { + estate_unlock_ingratiate_family_interaction = yes + } ai_value = { value = 6 @@ -11919,6 +12060,10 @@ japanese_guest_house_03 = { owned_personal_scheme_success_chance_add = @japanese_manor_owned_scheme_success_chance_add max_personal_schemes_add = 1 } + + parameters = { + estate_unlock_ingratiate_family_interaction = yes + } ai_value = { value = 5 @@ -11957,6 +12102,10 @@ japanese_guest_house_04 = { personal_scheme_phase_duration_add = @japanese_manor_owned_scheme_phase_duration_add owned_personal_scheme_success_chance_add = @japanese_manor_owned_scheme_success_chance_add } + + parameters = { + estate_unlock_ingratiate_family_interaction = yes + } ai_value = { value = 4 @@ -11995,6 +12144,10 @@ japanese_guest_house_05 = { personal_scheme_phase_duration_add = @japanese_manor_owned_scheme_phase_duration_add owned_personal_scheme_success_chance_add = @japanese_manor_owned_scheme_success_chance_add } + + parameters = { + estate_unlock_ingratiate_family_interaction = yes + } ai_value = { value = 4 @@ -12033,6 +12186,10 @@ japanese_guest_house_06 = { personal_scheme_phase_duration_add = @japanese_manor_owned_scheme_phase_duration_add owned_personal_scheme_success_chance_add = @japanese_manor_owned_scheme_success_chance_add } + + parameters = { + estate_unlock_ingratiate_family_interaction = yes + } ai_value = { value = 4 @@ -12093,6 +12250,10 @@ japanese_performance_stage_02 = { personal_scheme_phase_duration_add = @japanese_manor_owned_scheme_phase_duration_add owned_personal_scheme_success_chance_add = @japanese_manor_owned_scheme_success_chance_add } + + parameters = { + estate_improved_feast_opinion = yes + } ai_value = { value = 6 @@ -12123,6 +12284,10 @@ japanese_performance_stage_03 = { personal_scheme_phase_duration_add = @japanese_manor_owned_scheme_phase_duration_add owned_personal_scheme_success_chance_add = @japanese_manor_owned_scheme_success_chance_add } + + parameters = { + estate_improved_feast_opinion = yes + } ai_value = { value = 5 @@ -12154,6 +12319,10 @@ japanese_performance_stage_04 = { personal_scheme_phase_duration_add = @japanese_manor_owned_scheme_phase_duration_add owned_personal_scheme_success_chance_add = @japanese_manor_owned_scheme_success_chance_add } + + parameters = { + estate_improved_feast_opinion = yes + } ai_value = { value = 4 @@ -12185,6 +12354,10 @@ japanese_performance_stage_05 = { personal_scheme_phase_duration_add = @japanese_manor_owned_scheme_phase_duration_add owned_personal_scheme_success_chance_add = @japanese_manor_owned_scheme_success_chance_add } + + parameters = { + estate_improved_feast_opinion = yes + } ai_value = { value = 4 @@ -12214,6 +12387,10 @@ japanese_performance_stage_06 = { character_modifier = { dynasty_house_opinion = @japanese_manor_opinion_add_1 } + + parameters = { + estate_improved_feast_opinion = yes + } ai_value = { value = 4 @@ -12510,7 +12687,7 @@ japanese_garden_02 = { japanese_garden_03 = { construction_time = @japanese_manor_external_construction_time_tier_3 allowed_domicile_types = { japanese_manor } - internal_slots = 1 + internal_slots = 2 previous_building = japanese_garden_02 can_construct = { @@ -12596,7 +12773,7 @@ japanese_garden_04 = { japanese_garden_05 = { construction_time = @japanese_manor_external_construction_time_tier_5 allowed_domicile_types = { japanese_manor } - internal_slots = 2 + internal_slots = 3 previous_building = japanese_garden_04 can_construct = { @@ -12639,7 +12816,7 @@ japanese_garden_05 = { japanese_garden_06 = { construction_time = @japanese_manor_external_construction_time_tier_6 allowed_domicile_types = { japanese_manor } - internal_slots = 2 + internal_slots = 3 previous_building = japanese_garden_05 can_construct = { diff --git a/common/factions/00_factions.txt b/common/factions/00_factions.txt index 35fc2ecf..8ad7e5e8 100644 --- a/common/factions/00_factions.txt +++ b/common/factions/00_factions.txt @@ -297,6 +297,15 @@ } } + trigger_if = { + limit = { + government_allows = administrative + } + custom_tooltip = { + text = admin_high_tier_vassal_create_faction + highest_held_title_tier >= tier_kingdom + } + } #PROPPA CONFEDERATION VASSALS trigger_if = { limit = { @@ -371,6 +380,15 @@ } } + trigger_if = { + limit = { + government_allows = administrative + } + custom_tooltip = { + text = admin_high_tier_vassal_create_faction + highest_held_title_tier >= tier_kingdom + } + } #PROPPA CONFEDERATION VASSALS trigger_if = { limit = { @@ -417,6 +435,15 @@ } } + trigger_if = { + limit = { + government_allows = administrative + } + custom_tooltip = { + text = admin_high_tier_vassal_join_faction + highest_held_title_tier >= tier_kingdom + } + } #PROPPA CONFEDERATION VASSALS trigger_if = { limit = { @@ -672,97 +699,15 @@ liberty_faction = { # Bloc Cohesion requirement japan_faction_cohesion_trigger = yes - trigger_if = { - limit = { scope:target = { realm_law_use_imperial_bureaucracy = yes } } - custom_description = { - text = has_lowest_imperial_bureaucracy - subject = scope:target - scope:target = { - OR = { - has_realm_law = imperial_bureaucracy_1 - has_realm_law = imperial_bureaucracy_2 - has_realm_law = imperial_bureaucracy_3 - } - } - } - } - trigger_else_if = { - limit = { scope:target = { government_has_flag = government_is_tribal } } - custom_description = { - text = has_lowest_tribal_authority - subject = scope:target - scope:target = { - OR = { - has_realm_law = tribal_authority_1 - has_realm_law = tribal_authority_2 - has_realm_law = tribal_authority_3 - } - } - } - } - trigger_else_if = { - limit = { scope:target = { realm_law_use_celestial_bureaucracy = yes } } - custom_description = { - text = has_lowest_celestial_bureaucracy - subject = scope:target - scope:target = { - OR = { - has_realm_law = celestial_bureaucracy_1 - has_realm_law = celestial_bureaucracy_2 - has_realm_law = celestial_bureaucracy_3 - } - } - } - } - trigger_else_if = { - limit = { scope:target = { realm_law_use_meritocratic_bureaucracy = yes } } - custom_description = { - text = has_lowest_meritocratic_bureaucracy - subject = scope:target - scope:target = { - OR = { - has_realm_law = meritocratic_bureaucracy_1 - has_realm_law = meritocratic_bureaucracy_2 - has_realm_law = meritocratic_bureaucracy_3 - } - } - } - } - trigger_else_if = { - limit = { scope:target = { realm_law_use_japanese_bureaucracy = yes } } - custom_description = { - text = has_lowest_japanese_bureaucracy - subject = scope:target - scope:target = { - OR = { - has_realm_law = japanese_bureaucracy_1 - has_realm_law = japanese_bureaucracy_2 - has_realm_law = japanese_bureaucracy_3 - } - } - } - } - trigger_else = { - custom_description = { - text = has_lowest_crown_authority - subject = scope:target - scope:target = { - OR = { - has_realm_law = crown_authority_1 - has_realm_law = crown_authority_2 - has_realm_law = crown_authority_3 - } - } - } + has_valid_realm_laws_for_liberty_faction_trigger = { + TARGET = scope:target } trigger_if = { limit = { - scope:target = { government_has_flag = government_is_administrative } - } - scope:target = { - top_liege = this + scope:target = { government_allows = administrative } } + is_vassal_of = scope:target.top_liege } } @@ -781,9 +726,7 @@ liberty_faction = { limit = { scope:target = { government_allows = administrative } } - scope:target = { - top_liege = this - } + is_vassal_of = scope:target.top_liege } } @@ -802,9 +745,7 @@ liberty_faction = { limit = { scope:faction.faction_target = { government_allows = administrative } } - scope:faction.faction_target = { - top_liege = this - } + is_vassal_of = scope:faction.faction_target } } @@ -1031,22 +972,15 @@ claimant_faction = { # Ministers cannot be claimants unless we are targeting h_china trigger_if = { limit = { - OR = { - has_title = title:e_minister_chancellor - has_title = title:e_minister_censor - has_title = title:e_minister_grand_marshal - has_title = title:e_minister_of_personnel - has_title = title:e_minister_of_revenue - has_title = title:e_minister_of_rites - has_title = title:e_minister_of_war - has_title = title:e_minister_of_justice - has_title = title:e_minister_of_works - } + tgp_has_minister_title = yes } custom_description = { text = target_is_a_minister_desc subject = this - root.special_title = { this = title:h_china } + any_held_title = { + tgp_is_minister_title = yes + de_jure_liege = root.special_title + } } } } diff --git a/common/flavorization/00_title_holders.txt b/common/flavorization/00_title_holders.txt index 7365eeb1..5014aed0 100644 --- a/common/flavorization/00_title_holders.txt +++ b/common/flavorization/00_title_holders.txt @@ -3771,7 +3771,7 @@ king_feudal_male_grand_duke_independent = { priority = 47 governments = { feudal_government administrative_government } #name_lists = { name_list_lithuanian } - titles = { k_lotharingia k_brittany k_lithuania k_white_rus } + titles = { k_lotharingia k_brittany k_lithuania } flavourization_rules = { #only_independent = yes } @@ -3784,7 +3784,7 @@ king_feudal_female_grand_duke_independent = { priority = 47 governments = { feudal_government administrative_government } #name_lists = { name_list_lithuanian } - titles = { k_lotharingia k_brittany k_lithuania k_white_rus } + titles = { k_lotharingia k_brittany k_lithuania } flavourization_rules = { #only_independent = yes } @@ -3795,7 +3795,7 @@ kingdom_feudal_grand_duke_independent = { priority = 47 governments = { feudal_government administrative_government } #name_lists = { name_list_lithuanian } - titles = { k_lotharingia k_brittany k_lithuania k_white_rus } + titles = { k_lotharingia k_brittany k_lithuania } flavourization_rules = { #only_independent = yes } diff --git a/common/game_concepts/00_game_concepts.txt b/common/game_concepts/00_game_concepts.txt index a4e38797..4041201d 100644 --- a/common/game_concepts/00_game_concepts.txt +++ b/common/game_concepts/00_game_concepts.txt @@ -1265,12 +1265,36 @@ illness = { texture = "gfx/interface/icons/traits/ill.dds" } +clouded_eyes_mitigation = { + texture = "gfx/interface/icons/traits/clouded_eyes.dds" + parent = elder_traits +} + +fragile_bones_mitigation = { + texture = "gfx/interface/icons/traits/fragile_bones.dds" + parent = elder_traits +} + +withering_mind_mitigation = { + texture = "gfx/interface/icons/traits/withering_mind.dds" + parent = elder_traits +} + +infirm_mitigation = { + texture = "gfx/interface/icons/traits/infirm.dds" + parent = elder_traits +} + +elder_traits = { + texture = "gfx/interface/icons/traits/faltering_heart.dds" +} + medical_treatments = { texture = "gfx/interface/icons/traits/ill.dds" } occupation = { - alias = {occupy occupying occupied occupations} + alias = {occupy occupying occupied occupations occupies} } fortified_holding = { @@ -1305,6 +1329,7 @@ physical_trait = { fame_trait = { texture = "gfx/interface/icons/traits/augustus.dds" parent = trait + alias = { fame_traits } } health_trait = { @@ -3216,6 +3241,10 @@ state_faith = { parent = faith } +story_cycle = { + alias = { story_cycles } +} + story_content_hereward = { texture = "gfx/interface/icons/court_position_types/champion_court_position.dds" shown_in_encyclopedia = no diff --git a/common/governments/00_government_types.txt b/common/governments/00_government_types.txt index ca05baac..5d662c65 100644 --- a/common/governments/00_government_types.txt +++ b/common/governments/00_government_types.txt @@ -8,6 +8,7 @@ feudal_government = { rulers_should_have_dynasty = yes dynasty_named_realms = no legitimacy = yes + allow_accolades = yes } royal_court = any @@ -134,9 +135,17 @@ theocracy_government = { can_get_government = { NOT = { - faith = { - has_doctrine = doctrine_theocracy_lay_clergy + faith = { has_doctrine = doctrine_theocracy_lay_clergy } + } + #The LAAMP Construct Holding decision + trigger_if = { + limit = { + OR = { + has_variable = city_construction_is_temple_citadel + has_variable = city_construction_is_castle + } } + always = no } } @@ -165,6 +174,7 @@ clan_government = { legitimacy = yes dynasty_named_realms = no always_use_patronym = yes + allow_accolades = yes } royal_court = any @@ -245,6 +255,7 @@ tribal_government = { legitimacy = yes always_use_patronym = yes affected_by_development = no + allow_accolades = yes } royal_court = any @@ -305,6 +316,7 @@ wanua_government = { # "Wanua" gain_legitimacy_becoming_tributary = yes regiments_use_barter_goods_as_gold = yes barter = yes + allow_accolades = yes } royal_court = any @@ -347,6 +359,7 @@ wanua_government = { # "Wanua" flags = { government_is_tribal government_is_wanua + government_is_settled government_can_raid_rule government_enables_naval_raiding government_enables_river_travel @@ -368,6 +381,7 @@ mercenary_government = { court_generate_spouses = no council = no inherit_from_dynastic_government = no + allow_accolades = no } court_generate_commanders = 5 @@ -406,6 +420,7 @@ holy_order_government = { council = no court_generate_spouses = no inherit_from_dynastic_government = no + allow_accolades = no } court_generate_commanders = 5 @@ -450,6 +465,7 @@ administrative_government = { administrative = yes use_as_base_on_landed = yes use_as_base_on_rank_up = yes + allow_as_base_for_baronies = no inherit_from_dynastic_government = no sticky_government = yes house_aspirations = yes @@ -457,9 +473,11 @@ administrative_government = { admin_allows_holding_multiple_primary_tier_titles = yes treasury = yes replace_gold_cost_by_treasury = yes + allow_accolades = yes } - royal_court = top_liege + royal_court = any + blocked_subject_courts = { meritocratic_government celestial_government japan_administrative_government administrative_government steppe_admin_government } domicile_type = estate main_administrative_tier = duchy @@ -474,6 +492,19 @@ administrative_government = { vassal_contract_group = admin_vassal + can_get_government = { + #The LAAMP Construct Holding decision + trigger_if = { + limit = { + OR = { + has_variable = city_construction_is_temple_citadel + has_variable = city_construction_is_castle + } + } + always = no + } + } + character_modifier = { levy_size = -0.5 feudal_government_tax_contribution_mult = -0.5 @@ -484,7 +515,7 @@ administrative_government = { men_at_arms_limit = -2 knight_limit = -5 vassal_limit = 100 - active_accolades = -1 + accolades = -1 title_creation_cost_mult = -0.5 mercenary_hire_cost_mult = 2 men_at_arms_maintenance = 0.5 @@ -545,6 +576,7 @@ landless_adventurer_government = { allow_out_of_realm_inheritance = yes use_as_base_on_landed = yes use_maa_maintenance = no + allow_accolades = no } domicile_type = camp @@ -560,7 +592,6 @@ landless_adventurer_government = { valid_holdings = { tribal_holding church_holding castle_holding city_holding temple_citadel_holding } character_modifier = { - active_accolades = -100 knight_limit = 2 men_at_arms_cap = -3 men_at_arms_limit = -2 @@ -872,6 +903,7 @@ nomad_government = { no_capital_movement_cooldown = yes affected_by_development = no buildings = no + allow_accolades = yes } royal_court = any @@ -888,6 +920,10 @@ nomad_government = { vassal_contract_group = nomad_vassal + can_get_government = { + has_mpo_dlc_trigger = yes + } + character_modifier = { steppe_travel_danger = steppe_high_danger_reduction plains_travel_danger = steppe_high_danger_reduction @@ -955,11 +991,11 @@ herder_government = { deny_powerful_vassal = yes redirects_wars_to_overlord = yes buildings = no + allow_accolades = no } character_modifier = { knight_limit = -100 - active_accolades = -100 county_opinion_add = 100 monthly_income_mult = -10 } @@ -1006,6 +1042,7 @@ celestial_government = { legitimacy = yes use_as_base_on_landed = yes use_as_base_on_rank_up = yes + allow_as_base_for_baronies = no inherit_from_dynastic_government = no sticky_government = yes house_aspirations = yes @@ -1017,9 +1054,12 @@ celestial_government = { replace_gold_cost_by_treasury = yes block_alliance_child_marriage = yes admin_allows_holding_multiple_primary_tier_titles = no + disable_regnal_numbers = yes + allow_accolades = yes } - royal_court = top_liege + royal_court = any + blocked_subject_courts = { meritocratic_government celestial_government japan_administrative_government administrative_government steppe_admin_government } domicile_type = east_asian_estate main_administrative_tier = duchy @@ -1030,7 +1070,7 @@ celestial_government = { fallback = 3 primary_holding = castle_holding - valid_holdings = { city_holding temple_citadel_holding } + valid_holdings = { city_holding temple_citadel_holding tribal_holding } required_county_holdings = { castle_holding city_holding church_holding } vassal_contract_group = celestial_vassal @@ -1045,7 +1085,7 @@ celestial_government = { men_at_arms_limit = -2 knight_limit = -5 vassal_limit = 20 - active_accolades = -1 + accolades = -1 character_max_merit_level_add = 1 mercenary_hire_cost_mult = 2 @@ -1130,6 +1170,7 @@ mandala_government = { count_tributaries_for_title_requirements = yes radiance = yes + allow_accolades = yes } royal_court = any @@ -1142,8 +1183,18 @@ mandala_government = { has_tgp_dlc_trigger = yes always = no OR = { - liege = { has_government = mandala_government } - highest_held_title_tier > tier_barony + liege ?= { has_government = mandala_government } + is_independent_ruler = yes + } + #The LAAMP Construct Holding decision + trigger_if = { + limit = { + OR = { + has_variable = city_construction_is_temple_citadel + has_variable = city_construction_is_castle + } + } + capital_province = { has_holding_type = temple_citadel_holding } } } @@ -1288,6 +1339,7 @@ steppe_admin_government = { legitimacy = yes use_as_base_on_rank_up = yes use_as_base_on_landed = yes + allow_as_base_for_baronies = no inherit_from_dynastic_government = no sticky_government = yes house_aspirations = yes @@ -1299,9 +1351,12 @@ steppe_admin_government = { replace_gold_cost_by_treasury = yes government_ignores_rightful_liege_penalties = yes deny_powerful_vassal = yes + disable_regnal_numbers = yes + allow_accolades = yes } royal_court = any + blocked_subject_courts = { meritocratic_government celestial_government japan_administrative_government administrative_government steppe_admin_government } domicile_type = east_asian_estate @@ -1310,7 +1365,7 @@ steppe_admin_government = { minimum_provincial_maa_tier = duchy primary_holding = castle_holding - valid_holdings = { city_holding temple_citadel_holding } + valid_holdings = { city_holding temple_citadel_holding tribal_holding } required_county_holdings = { castle_holding city_holding church_holding } vassal_contract_group = meritocratic_vassal @@ -1326,8 +1381,8 @@ steppe_admin_government = { men_at_arms_cap = -2 men_at_arms_limit = -2 knight_limit = -5 - vassal_limit = 100 - active_accolades = -1 + vassal_limit = 20 + accolades = -1 ignore_negative_opinion_of_culture = yes movement_speed = 0.1 movement_speed_land_raiding = 0.1 @@ -1381,6 +1436,7 @@ steppe_admin_government = { can_raze_holdings government_is_settled government_uses_domicile_but_not_adventurer + government_uses_domain_limit government_uses_admin_province_obligations government_uses_merit_family_aspirations has_special_house_aspirations @@ -1409,6 +1465,7 @@ meritocratic_government = { # e.g. Korea, Dai Viet legitimacy = yes use_as_base_on_landed = yes use_as_base_on_rank_up = yes + allow_as_base_for_baronies = no inherit_from_dynastic_government = no sticky_government = yes house_aspirations = yes @@ -1418,9 +1475,12 @@ meritocratic_government = { # e.g. Korea, Dai Viet treasury = yes replace_gold_cost_by_treasury = yes deny_powerful_vassal = yes + disable_regnal_numbers = yes + allow_accolades = yes } royal_court = any + blocked_subject_courts = { meritocratic_government celestial_government japan_administrative_government administrative_government steppe_admin_government } domicile_type = east_asian_estate main_administrative_tier = duchy @@ -1428,7 +1488,7 @@ meritocratic_government = { # e.g. Korea, Dai Viet minimum_provincial_maa_tier = duchy primary_holding = castle_holding - valid_holdings = { city_holding temple_citadel_holding } + valid_holdings = { city_holding temple_citadel_holding tribal_holding } required_county_holdings = { castle_holding city_holding church_holding } vassal_contract_group = meritocratic_vassal @@ -1442,8 +1502,8 @@ meritocratic_government = { # e.g. Korea, Dai Viet men_at_arms_cap = -2 men_at_arms_limit = -2 knight_limit = -5 - vassal_limit = 100 - active_accolades = -1 + vassal_limit = 20 + accolades = -1 title_creation_cost_mult = -0.5 character_max_merit_level_add = 2 mercenary_hire_cost_mult = 2 @@ -1478,7 +1538,6 @@ meritocratic_government = { # e.g. Korea, Dai Viet can_get_government = { has_tgp_dlc_trigger = yes - always = no } # Use flags instead of has_government for moddability if possible (i.e., wherever not visible to the player). diff --git a/common/landed_titles/nistrenia.txt b/common/landed_titles/nistrenia.txt index 6a1ebc98..9e6e36be 100644 --- a/common/landed_titles/nistrenia.txt +++ b/common/landed_titles/nistrenia.txt @@ -2639,7 +2639,51 @@ e_nistrenia = { province = 8870 color = { 8 3 95 } } - } + } + c_turkmensky = { + color = { 200 40 50 } + b_turkmensky = { # Mozdog + province = 12377 + color = { 200 40 50 } + } + b_blagodarnesky = { + province = 12381 + color = { 170 20 40 } + } + } + c_levokumsky = { + color = { 170 20 40 } + b_arzgir = { + province = 12382 + color = { 170 20 40 } + } + b_levokumskoye = { + province = 12379 + color = { 170 20 40 } + } + } + c_stavropul = { + color = { 80 10 40 } + b_stavropul = { + province = 12378 + color = { 80 10 40 } + } + b_novoalexandrovsky = { + province = 12380 + color ={ 80 10 40 } + } + } + c_ipatovsky = { + color = { 200 40 100 } + b_ipatovsky = { + province = 12376 + color = { 200 40 100 } + } + b_apanasenkovsky = { + province = 12375 + color = { 200 40 100 } + } + } } d_vainakhia = { # Vainakhia color = { 5 8 120 } @@ -2888,11 +2932,6 @@ e_nistrenia = { color = { 151 118 30 } } - b_sara = { - province = 5312 - - color = { 151 118 30 } - } b_khazaran = { province = 604 @@ -3106,6 +3145,52 @@ e_nistrenia = { color = { 125 80 18 } } } + } + d_kalmykia = { # Kalmykia + color = { 60 150 230 } + capital = c_elista + + c_elista = { + color = { 60 150 230 } + + b_elista = { # Elista + province = 12388 + color = { 60 150 230 } + } + b_ketchenery = { + province = 12385 + color = { 60 150 230 } + } + b_yashkul = { + province = 12383 + color = { 60 150 230 } + } + } + c_laganya = { + b_lagan = { + province = 5312 + color = { 130 180 220 } + } + b_komsomolsky = { + province = 12390 + ccolor = { 130 180 220 } + } + b_ik_buurla = { + province = 12389 + ccolor = { 130 180 220 } + } + b_yusta = { + province = 5514 + color = { 130 180 220 } + } + } + c_gorodovikovsk = { + color = { 60 100 130 } + b_gorodovikovsk = { + province = 12384 + color = { 60 100 130 } + } + } } d_krasnodar = { # Krasnodar color = { 111 45 80 } diff --git a/common/laws/00_succession_laws.txt b/common/laws/00_succession_laws.txt index e53c1b25..5d0f8a8f 100644 --- a/common/laws/00_succession_laws.txt +++ b/common/laws/00_succession_laws.txt @@ -708,6 +708,7 @@ government_has_flag = government_is_celestial government_has_flag = government_is_japan_administrative government_has_flag = government_is_meritocratic + government_has_flag = government_is_steppe_admin } is_independent_ruler = no } @@ -1231,6 +1232,7 @@ } flag = advanced_succession_law flag = appointment_type_succession + flag = appointment_with_level_requirement modifier = { glory_hound_opinion = -10 courtly_opinion = 5 @@ -1302,6 +1304,7 @@ } flag = advanced_succession_law flag = appointment_type_succession + flag = appointment_with_level_requirement modifier = { glory_hound_opinion = 5 courtly_opinion = -10 @@ -1380,17 +1383,30 @@ japanese_appointment_succession_law = { can_keep = { can_keep_japanese_appointment_succession_law_trigger = yes + custom_tooltip = { + text = celestial_military_appointment_allowed_desc + NOT = { vassal_contract_has_flag = japan_administrative_military_appointment } + } } can_pass = { can_change_japanese_appointment_succession_law_trigger = yes + custom_tooltip = { + text = celestial_military_appointment_allowed_desc + NOT = { vassal_contract_has_flag = japan_administrative_military_appointment } + } } can_have = { can_have_japanese_appointment_succession_law_trigger = yes + custom_tooltip = { + text = celestial_military_appointment_allowed_desc + NOT = { vassal_contract_has_flag = japan_administrative_military_appointment } + } } should_start_with = { government_has_flag = government_is_japan_administrative is_independent_ruler = no NOT = { has_title = title:k_chrysanthemum_throne } + NOT = { vassal_contract_has_flag = japan_administrative_military_appointment } } succession = { order_of_succession = appointment @@ -1449,11 +1465,13 @@ can_have = { government_allows = administrative is_independent_ruler = no + vassal_contract_has_flag = japan_administrative_military_appointment } can_pass = { can_change_succession_law_trigger = yes government_allows = administrative is_independent_ruler = no + vassal_contract_has_flag = japan_administrative_military_appointment } should_start_with = { government_has_flag = government_is_japan_administrative @@ -1538,7 +1556,7 @@ government_allows = administrative is_independent_ruler = no custom_tooltip = { - text = celestial_military_appointment_allowed_desc + text = celestial_appointment_allowed_desc NOT = { vassal_contract_has_flag = meritocratic_military_appointment } } # Vassal Contract allows it @@ -1565,7 +1583,7 @@ } is_independent_ruler = no custom_tooltip = { - text = celestial_military_appointment_allowed_desc + text = celestial_appointment_allowed_desc NOT = { vassal_contract_has_flag = meritocratic_military_appointment } } } @@ -1575,6 +1593,7 @@ } flag = advanced_succession_law flag = appointment_type_succession + flag = appointment_with_level_requirement modifier = { glory_hound_opinion = -10 courtly_opinion = 5 @@ -1602,7 +1621,10 @@ } potential = { - government_has_flag = government_is_meritocratic + OR = { + government_has_flag = government_is_steppe_admin + government_has_flag = government_is_meritocratic + } is_independent_ruler = no } } @@ -1649,6 +1671,7 @@ } flag = advanced_succession_law flag = appointment_type_succession + flag = appointment_with_level_requirement modifier = { glory_hound_opinion = -10 courtly_opinion = 5 @@ -1676,7 +1699,10 @@ } potential = { - government_has_flag = government_is_meritocratic + OR = { + government_has_flag = government_is_steppe_admin + government_has_flag = government_is_meritocratic + } is_independent_ruler = no } } diff --git a/common/laws/01_title_succession_laws.txt b/common/laws/01_title_succession_laws.txt index c7e2c02c..0ece08c4 100644 --- a/common/laws/01_title_succession_laws.txt +++ b/common/laws/01_title_succession_laws.txt @@ -79,11 +79,7 @@ can_change_title_law_trigger = yes } can_title_have = { - tier >= tier_county - is_temporal_head_of_faith_trigger = no - NOT = { - is_nomad_title = yes - } + can_title_have_law_general_trigger = yes } succession = { order_of_succession = election @@ -360,16 +356,7 @@ can_pass = { } can_title_have = { - OR = { - this = title:e_minister_chancellor - this = title:e_minister_censor - this = title:e_minister_of_personnel - this = title:e_minister_of_revenue - this = title:e_minister_of_rites - this = title:e_minister_of_war - this = title:e_minister_of_justice - this = title:e_minister_of_works - } + tgp_is_civilian_minister_title = yes } can_realm_have = { always = no @@ -388,6 +375,7 @@ celestial_government_opinion = 5 } flag = appointment_type_succession + flag = appointment_with_level_requirement } # Celestial Grand Marshal Succession @@ -421,6 +409,7 @@ celestial_government_opinion = 5 } flag = appointment_type_succession + flag = appointment_with_level_requirement } } diff --git a/common/laws/_laws.info b/common/laws/_laws.info index 6716e264..8815dc0f 100644 --- a/common/laws/_laws.info +++ b/common/laws/_laws.info @@ -269,8 +269,9 @@ faith = same_faith ### brief: create_primary_tier_titles ( bool, optional ) - # If set, then under partition all titles you can create of your primary - # tier will be created for free, resulting in a more split-up realm + # If set and under partition, titles you can create of your primary tier + # ( up to your number of secondary heirs ) will be created for free, + # resulting in a more split-up realm # default = no # create_primary_tier_titles = no diff --git a/common/men_at_arms_types/_men_at_arms_types.info b/common/men_at_arms_types/_men_at_arms_types.info index 40a4a4f8..cad53fec 100644 --- a/common/men_at_arms_types/_men_at_arms_types.info +++ b/common/men_at_arms_types/_men_at_arms_types.info @@ -57,6 +57,7 @@ holy_order_fallback = no # Holy order will have a lower priority to use this type allowed_in_hired_troops = yes # MaA type can be used in hired troops max_sub_regiments = -1 # If positive, only one reginemt of this type can be created, and have this maximum size. Unaffected by bonuses to MaA regiment size + max_regiments = -1 # If positive, only this number of this type can be created. provision_cost = 0 # The amount of provison cost for this MAA type when moving your domicile } diff --git a/common/modifier_definition_formats/00_definitions.txt b/common/modifier_definition_formats/00_definitions.txt index 06778472..2a964901 100644 --- a/common/modifier_definition_formats/00_definitions.txt +++ b/common/modifier_definition_formats/00_definitions.txt @@ -33,6 +33,43 @@ prowess_no_portrait = { prefix = MOD_PROWESS_PREFIX } +diplomacy_mult = { + decimals = 0 + percent = yes + prefix = MOD_DIPLOMACY_PREFIX +} + +martial_mult = { + decimals = 0 + percent = yes + prefix = MOD_MARTIAL_PREFIX +} + +stewardship_mult = { + decimals = 0 + percent = yes + prefix = MOD_STEWARDSHIP_PREFIX +} + +intrigue_mult = { + decimals = 0 + percent = yes + prefix = MOD_INTRIGUE_PREFIX +} + +learning_mult = { + decimals = 0 + percent = yes + prefix = MOD_LEARNING_PREFIX +} + +prowess_mult = { + decimals = 0 + percent = yes + prefix = MOD_PROWESS_PREFIX +} + + negate_diplomacy_penalty_add = { decimals = 0 prefix = MOD_DIPLOMACY_PREFIX @@ -2358,23 +2395,6 @@ domicile_monthly_gold_add = { suffix = MOD_MONTHLY_POSTFIX } -domicile_monthly_barter_goods = { - decimals = 2 - prefix = MOD_MONTHLY_BARTER_GOODS_PREFIX - suffix = MOD_MONTHLY_POSTFIX -} - -domicile_monthly_barter_goods_mult = { - decimals = 0 - prefix = MOD_MONTHLY_BARTER_GOODS_PREFIX - percent = yes -} -domicile_monthly_barter_goods_add = { - decimals = 2 - prefix = MOD_MONTHLY_BARTER_GOODS_PREFIX - suffix = MOD_MONTHLY_POSTFIX -} - domicile_monthly_prestige_add = { decimals = 2 prefix = MOD_MONTHLY_PRESTIGE_PREFIX @@ -2762,7 +2782,7 @@ strife_opinion_loss_mult = { percent = yes } -active_accolades = { +accolades = { decimals = 0 dlc_feature = accolades } diff --git a/common/modifiers/00_province_modifiers.txt b/common/modifiers/00_province_modifiers.txt index 72d8491d..f4d97aef 100644 --- a/common/modifiers/00_province_modifiers.txt +++ b/common/modifiers/00_province_modifiers.txt @@ -72,7 +72,7 @@ flourishing_culture_modifier = { } hungarian_resettlement_modifier = { - icon = horse_positive + icon = horse_mixed county_opinion_add = -10 build_speed = -0.1 development_growth_factor = small_development_growth_gain @@ -167,10 +167,12 @@ winter_harsh_modifier = { # End of winter modifiers spurned_by_traders = { + icon = social_negative development_growth_factor = -0.25 } elevate_mann_and_the_isles_modifier = { + icon = social_positive development_growth_factor = 0.5 levy_size = 1 tax_mult = 0.5 @@ -208,7 +210,7 @@ wayfarer_astronomical_phenomenon = { } innkeeper_bad_result = { - icon = county_modifier_development_negative + icon = county_modifier_development_mixed monthly_income = 0.5 county_opinion_add = -20 } diff --git a/common/on_action/army_on_actions.txt b/common/on_action/army_on_actions.txt index 587b2a56..561fff82 100644 --- a/common/on_action/army_on_actions.txt +++ b/common/on_action/army_on_actions.txt @@ -58,6 +58,189 @@ on_army_monthly = { # scope:war is the war causing the previous controller and the occupant to be hostile on_county_occupied = { effect = { + random = { # chance of granting a knight eligibility for marauder / besieger accolade + chance = 2 + modifier = { + factor = accolade_progress + } + modifier = { + NOT = { + any_knight = { + OR = { + can_be_acclaimed = yes + accolade ?= { + accolade_can_have_more_attributes = yes + } + } + knight_army ?= { + location.county = scope:county + } + OR = { + AND = { # needed for besieger + knight_army ?= { + any_army_maa_regiment = { + is_unit_type = siege_weapon + } + } + besieger_attribute_trigger = no + } + AND = { # needed for marauder + NOT = { + has_trait = compassionate + } + marauder_attribute_trigger = no + } + } + } + } + factor = 0 + } + set_variable = { + name = accolade_progress + value = 0 + } + random_list = { + 10 = { # marauder + trigger = { + any_knight = { + OR = { + can_be_acclaimed = yes + accolade ?= { + accolade_can_have_more_attributes = yes + } + } + knight_army ?= { + location.county = scope:county + } + NOT = { + has_trait = compassionate + } + marauder_attribute_trigger = no + } + } + random_knight = { + limit = { + OR = { + can_be_acclaimed = yes + accolade ?= { + accolade_can_have_more_attributes = yes + } + } + knight_army ?= { + location.county = scope:county + } + NOT = { + has_trait = compassionate + } + marauder_attribute_trigger = no + } + weight = { + base = 1 + modifier = { + add = 60 + is_acclaimed = yes + } + modifier = { + add = 30 + has_trait = sadistic + } + modifier = { + add = 30 + has_trait = callous + } + modifier = { + add = 30 + has_trait = wrathful + } + modifier = { + add = 30 + has_trait = greedy + } + } + save_scope_as = marauder + } + send_interface_message = { + type = msg_accolade_eligibility + title = accolade_marauder_unlock.t + left_icon = scope:marauder + right_icon = scope:recipient + custom_tooltip = accolade_marauder_unlock.tt + scope:marauder = { + set_variable = { + name = marauder_attribute_unlock + value = yes + } + } + } + } + 10 = { # besieger + trigger = { + any_knight = { + OR = { + can_be_acclaimed = yes + accolade ?= { + accolade_can_have_more_attributes = yes + } + } + knight_army ?= { + location.county = scope:county + any_army_maa_regiment = { + is_unit_type = siege_weapon + } + } + besieger_attribute_trigger = no + } + } + random_knight = { + limit = { + OR = { + can_be_acclaimed = yes + accolade ?= { + accolade_can_have_more_attributes = yes + } + } + knight_army ?= { + location.county = scope:county + any_army_maa_regiment = { + is_unit_type = siege_weapon + } + } + besieger_attribute_trigger = no + } + weight = { + base = 1 + modifier = { + add = 60 + is_acclaimed = yes + } + modifier = { + add = 30 + has_trait = calm + } + modifier = { + add = 30 + has_trait = patient + } + } + save_scope_as = besieger + } + send_interface_message = { + type = msg_accolade_eligibility + title = accolade_besieger_unlock.t + left_icon = scope:besieger + right_icon = scope:recipient + custom_tooltip = accolade_besieger_unlock.tt + scope:besieger = { + set_variable = { + name = besieger_attribute_unlock + value = yes + } + } + } + } + } + + } scope:county = { if = { limit = { @@ -186,28 +369,28 @@ on_county_occupied = { limit = { house ?= { OR = { - has_house_power_parameter = occupations_give_bonuses_1 - has_house_power_parameter = occupations_give_bonuses_2 - has_house_power_parameter = occupations_give_bonuses_3 + has_house_aspiration_parameter = occupations_give_bonuses_1 + has_house_aspiration_parameter = occupations_give_bonuses_2 + has_house_aspiration_parameter = occupations_give_bonuses_3 } } } send_interface_message = { type = msg_siege_effect - title = tactical_besiegers_house_power + title = tactical_besiegers_house_aspiration left_icon = root right_icon = scope:barony if = { limit = { - house = { has_house_power_parameter = occupations_give_bonuses_3 } + house = { has_house_aspiration_parameter = occupations_give_bonuses_3 } } add_gold = occupations_give_bonuses_3_value change_influence = occupations_give_bonuses_3_value } else_if = { limit = { - house = { has_house_power_parameter = occupations_give_bonuses_2 } + house = { has_house_aspiration_parameter = occupations_give_bonuses_2 } } add_gold = occupations_give_bonuses_2_value change_influence = occupations_give_bonuses_2_value diff --git a/common/on_action/death.txt b/common/on_action/death.txt index 3d9acb68..49f6f08a 100644 --- a/common/on_action/death.txt +++ b/common/on_action/death.txt @@ -516,48 +516,44 @@ on_death = { # EP2 - Handle Grand Wedding betrothals if = { - limit = { - is_ai = no + limit = { # You have promised someone else in a grand marriage has_variable = promised_grand_wedding_marriage_countdown - exists = player_heir + var:promised_grand_wedding_marriage_countdown != this } - var:promised_grand_wedding_marriage_countdown = { save_scope_as = temp_marriage_scope } - player_heir = { - set_variable = { - name = promised_grand_wedding_marriage_countdown - value = prev.var:promised_grand_wedding_marriage_countdown - years = grand_wedding_timeout_alt + if = { # Find a player heir or primary heir that hasn't ALSO promised a grand wedding + limit = { + player_heir ?= { NOT = { has_variable = promised_grand_wedding_marriage_countdown } } } - # Notification that the countdown has expired (one day before, to avoid getting the variable deleted before we have used it) - trigger_event = { - id = ep2_wedding.0001 - days = grand_wedding_timeout_notification_alt + player_heir = { save_scope_as = new_wedding_host } + } + else_if = { + limit = { + primary_heir ?= { NOT = { has_variable = promised_grand_wedding_marriage_countdown } } + } + primary_heir = { save_scope_as = new_wedding_host } + } + if = { # If such an heir exists, copy all involved scopes, clean up, and recreate the promise on all relevant characters + limit = { + exists = scope:new_wedding_host + has_variable = promised_grand_wedding_to + } + var:promised_grand_wedding_marriage_countdown = { + save_scope_as = spouse_1 + betrothed = { save_scope_as = spouse_2 } + } + var:promised_grand_wedding_to = { + save_scope_as = promisee + } + clean_grand_wedding_betrothal_variables = yes + set_grand_wedding_betrothal_variables = { + HOST = scope:new_wedding_host + SPOUSE_1 = scope:spouse_1 + SPOUSE_2 = scope:spouse_2 + PROMISEE = scope:promisee } } - } - if = { - limit = { - is_ai = no - has_variable = promised_grand_wedding_marriage_countdown - exists = primary_heir - NOT = { - primary_heir = { - has_variable = promised_grand_wedding_marriage_countdown - } - } - } - var:promised_grand_wedding_marriage_countdown = { save_scope_as = temp_marriage_scope } - primary_heir = { - set_variable = { - name = promised_grand_wedding_marriage_countdown - value = prev.var:promised_grand_wedding_marriage_countdown - years = grand_wedding_timeout_alt - } - # Notification that the countdown has expired (one day before, to avoid getting the variable deleted before we have used it) - trigger_event = { - id = ep2_wedding.0001 - days = grand_wedding_timeout_notification_alt - } + else = { # Otherwise, clean up all variables on all characters (cancelling the Grand Wedding promise but retaining the betrothal) + clean_grand_wedding_betrothal_variables = yes } } if = { @@ -565,8 +561,7 @@ on_death = { # You are a spouse to be has_variable = promised_grand_wedding_by # your Grand Wedding has not been organized yet - NOR = { - exists = involved_activity + NOT = { involved_activity ?= { has_activity_type = activity_wedding OR = { @@ -1640,7 +1635,7 @@ on_death = { } # save Wallada's scope save_scope_as = wallada - random_artifact = { + random_character_artifact = { limit = { has_artifact_modifier = double_moon_modifier } @@ -1879,10 +1874,10 @@ on_death = { limit = { house ?= { OR = { - has_house_power_parameter = inherit_merit_bonus_1 - has_house_power_parameter = inherit_merit_bonus_2 - has_house_power_parameter = inherit_merit_bonus_3 - has_house_power_parameter = inherit_merit_bonus_4 + has_house_aspiration_parameter = inherit_merit_bonus_1 + has_house_aspiration_parameter = inherit_merit_bonus_2 + has_house_aspiration_parameter = inherit_merit_bonus_3 + has_house_aspiration_parameter = inherit_merit_bonus_4 } } } diff --git a/common/on_action/dlc/mpo/mpo_on_actions_2.txt b/common/on_action/dlc/mpo/mpo_on_actions_2.txt index 8220b29e..a08268e6 100644 --- a/common/on_action/dlc/mpo/mpo_on_actions_2.txt +++ b/common/on_action/dlc/mpo/mpo_on_actions_2.txt @@ -126,6 +126,30 @@ mpo_migration_finished = { move_domicile = prev.capital_province } } + if = { + limit = { + has_character_modifier = mpo_migrating_accolade_duke_modifier + } + remove_character_modifier = mpo_migrating_accolade_duke_modifier + } + else_if = { + limit = { + has_character_modifier = mpo_migrating_accolade_king_modifier + } + remove_character_modifier = mpo_migrating_accolade_king_modifier + } + else_if = { + limit = { + has_character_modifier = mpo_migrating_accolade_emperor_modifier + } + remove_character_modifier = mpo_migrating_accolade_emperor_modifier + } + if = { + limit = { + has_variable = nomad_migration_preserve_coronation + } + remove_variable = nomad_migration_preserve_coronation + } } } @@ -225,6 +249,12 @@ on_migration_war_end = { trigger_event = { on_action = mpo_migration_finished } + if = { + limit = { + has_variable = nomad_migration_preserve_coronation + } + remove_variable = nomad_migration_preserve_coronation + } every_character_situation = { limit = { any_participant_group = { @@ -294,7 +324,7 @@ on_kurultai_succession_stable = { list = obedient_kurultai limit = { exists = this - NOT = { this = root } + this != root } add_opinion = { target = root @@ -336,7 +366,7 @@ on_kurultai_succession_chaotic = { list = obedient_kurultai limit = { exists = this - NOT = { this = root } + this != root } add_opinion = { target = root diff --git a/common/on_action/game_start.txt b/common/on_action/game_start.txt index b6b51e18..f6ef1718 100644 --- a/common/on_action/game_start.txt +++ b/common/on_action/game_start.txt @@ -84,6 +84,7 @@ on_game_start = { add_confederation_member = title:d_trier.holder } } + set_global_variable = { name = is_game_start_date days = 1 } # Chinese Song-fashion if = { limit = { @@ -689,6 +690,7 @@ on_game_start = { } } } + } religion:eastern_orthodox_religion = { every_faith = { @@ -1536,6 +1538,7 @@ on_game_start = { limit = { government_has_flag = government_is_wanua } + empty_treasury_when_abandoning_landed_life_effect = yes change_government = tribal_government } # TGP: Clean up mandala govs and revert them to non-dlc feudals @@ -1543,6 +1546,7 @@ on_game_start = { limit = { government_has_flag = government_is_mandala } + empty_treasury_when_abandoning_landed_life_effect = yes change_government = feudal_government } ### Every Celestial/Meritocratic/Japanese Government becomes feudal if DLC not enabled, pre-lobby history setup ### @@ -1556,8 +1560,8 @@ on_game_start = { has_government = japan_feudal_government } } + empty_treasury_when_abandoning_landed_life_effect = yes change_government = feudal_government - } if = { limit = { @@ -2571,26 +2575,29 @@ on_game_start = { } ### TGP Earthquake Regions + # background regions add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:world_europe } add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:world_europe_south } - add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:world_asia } add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:world_asia_china } - add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:world_asia_japan } + add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:north_pacific_earthquake_region } # Basically Japan, whole region as risky + add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:world_asia_north_east_and_korea } + add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:world_asia_southeast_mainland } # no Burma since it's already fully covered by sichuan_myanmar_earthquake_region + add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:world_asia_southeast_islands } add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:world_asia_minor } - add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:world_asia_indonesia } - add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:world_asia_philippines } - add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:world_asia_sakhalin_hokkaido } add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:world_middle_east } add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:world_india } add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:world_steppe } add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:world_siberia } - add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:world_burma } - add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:custom_arakan_mountains } - add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:custom_bactria } add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:world_tibet } - add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:world_himalaya } add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:world_africa } add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:world_africa_north_east } + # strips + add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:himalaya_earthquake_region } + add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:sichuan_myanmar_earthquake_region } + add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:south_china_coastaline_earthquake_region } + add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:north_china_earthquake_region } + add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:mongolia_baikal_earthquake_region } + add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:central_asian_earthquake_region } ### TGP Flood Regions add_to_global_variable_list = { name = flood_region_list target = geographical_region:amur_river_region } @@ -2632,8 +2639,13 @@ on_game_start = { limit = { has_tgp_dlc_trigger = yes } ### DYNASTIES tgp_dynasty_house_name_setup_effect = yes - ### BLOCS - tgp_setup_historical_house_bloc_effect = yes + ### BLOCS — AuH defers to after noble_family_title_realm_setup (see TGP SETUP); else house heads lack NF titles and create_confederation asserts. + if = { + limit = { + NOT = { has_dlc_feature = all_under_heaven } + } + tgp_setup_historical_house_bloc_effect = yes + } } # if = { @@ -2675,6 +2687,8 @@ on_game_start = { # Like on_game_start, except it is called once the host (or player, in single player) exits the lobby. Good for anything where you need to know who the players are, or what the game rules are on_game_start_after_lobby = { effect = { + disable_succession_calculation = yes + # To prevent the Season Changes event from triggering on game start situation:the_great_steppe ?= { every_participant_group = { @@ -2805,34 +2819,6 @@ on_game_start_after_lobby = { } } } - title:k_xia ?= { - every_in_de_jure_hierarchy = { - limit = { - holder ?= { - government_has_flag = government_is_tribal - } - } - holder = { - set_variable = { - name = steppe_game_start_var - years = 1 - } - every_held_title = { - if = { - limit = { - title_province = { - has_holding_type = tribal_holding - } - } - title_province = { - set_holding_type = nomad_holding - } - } - } - change_government = nomad_government - } - } - } } #Sami if = { @@ -2970,6 +2956,12 @@ on_game_start_after_lobby = { culture = culture:bedouin is_ai = no } + NOR = { + culture = culture:welayta + culture = culture:ethiopian + culture = culture:nubian + culture = culture:daju + } } } holder = { @@ -3059,6 +3051,9 @@ on_game_start_after_lobby = { enact_treasury_budgets_init = yes } } + + + every_ruler = { # PUT EVERY_RULER TYPE STUFF HERE FOR PERFORMANCE REASONS ### Every nomad in the Steppe Region gets their yurt domicile goodies ### if = { @@ -3141,7 +3136,6 @@ on_game_start_after_lobby = { domicile ?= { add_domicile_building = yurt_main_02 add_random_yurt_external_building_effect = yes - add_random_yurt_external_building_effect = yes upgrade_random_yurt_external_building_effect = yes } } @@ -4555,6 +4549,8 @@ on_game_start_after_lobby = { } } } + + if = { limit = { has_game_rule = sexuality_distribution_default } @@ -8341,6 +8337,7 @@ on_game_start_after_lobby = { has_government = landless_adventurer_government } add_realm_law_skip_effects = camp_purpose_scholars + add_realm_law_skip_effects = equal_law trigger_event = ep3_story_cycle_violet_poet.0001 } } @@ -8584,7 +8581,7 @@ on_game_start_after_lobby = { add_realm_law_skip_effects = camp_purpose_mercenaries } } - character:bojo_jinul_1 ?= { + character:il_eom_1 ?= { if = { limit = { is_alive = yes @@ -8713,6 +8710,35 @@ on_game_start_after_lobby = { limit = { has_tgp_dlc_trigger = yes } ### JAPAN + # History defaults e_japan to feudal + single heir so partial DLC / no AuH bookmarks load cleanly. + # Restore Ritsuryō Kampaku when All Under Heaven is active (must run before noble-family / bureaucracy setup). + if = { + limit = { has_dlc_feature = all_under_heaven } + title:e_japan.holder ?= { + # can_get_government for japan_administrative checks top_liege for japanese government OR this flag; independent Kampaku is neither until flagged. + if = { + limit = { + NOT = { government_has_flag = government_is_japan_administrative } + OR = { + has_government = feudal_government + has_government = japan_feudal_government + } + } + add_character_flag = tgp_japan_restore_japanese_government_flag + change_government = japan_administrative_government + remove_character_flag = tgp_japan_restore_japanese_government_flag + } + # Separate if (not else_if): first block can flip government same pass; law must still run for that case and for history Ritsuryō holders missing the law. + if = { + limit = { + government_has_flag = government_is_japan_administrative + NOT = { has_realm_law = japanese_regency_succession_law } + } + add_realm_law_skip_effects = japanese_regency_succession_law + } + } + } + # Special variable that UI uses to display correct title title:e_japan = { # More starting house relations @@ -8795,6 +8821,14 @@ on_game_start_after_lobby = { } } + if = { + limit = { + has_dlc_feature = all_under_heaven + exists = title:e_japan.holder + } + tgp_setup_historical_house_bloc_effect = yes + } + ### MANDALA @@ -8847,11 +8881,11 @@ on_game_start_after_lobby = { add_great_building = mandala_capital_01 } else_if = { - limit = { game_start_date >= 1066.1.1 } - add_great_building = mandala_capital_02 + limit = { game_start_date > 1066.09.15 } + add_great_building = mandala_capital_03 } else = { - add_great_building = mandala_capital_03 + add_great_building = mandala_capital_02 } add_to_global_variable_list = { # Add to list so it can be found by the PoI name = mandala_poi_list @@ -8928,6 +8962,37 @@ on_game_start_after_lobby = { create_story = story_mandala } } + #Tai Migrations + every_county_in_region = { # save all migration counties to variable list + region = custom_tai_migration_target + add_to_global_variable_list = { + name = tai_migration_target_counties + target = this + } + } + every_in_global_list = { # give all saved migration county holders the story + variable = tai_migration_target_counties + holder = { + if = { + limit = { + NOT = { + any_owned_story = { + type = story_tai_migrations + } + } + has_tgp_dlc_trigger = yes + any_realm_province = { + culture = { + NOT = { + has_cultural_pillar = heritage_tai + } + } + } + } + create_story = story_tai_migrations + } + } + } } ### TGP MERIT AND TREASURY HANDOUT ON GAME START ### if = { @@ -9762,26 +9827,65 @@ on_game_start_after_lobby = { limit = { is_ai = yes OR = { - AND = { - OR = { - vassal_contract_has_flag = celestial_province_military - vassal_contract_has_flag = celestial_province_protectorate - } - has_trait_with_flag = civilian_province + is_governor = yes + tgp_is_any_minister = yes + } + trigger_if = { + limit = { has_trait_with_flag = civilian_province } + OR = { + vassal_contract_has_flag = celestial_military_appointment + vassal_contract_has_flag = meritocratic_military_appointment } - AND = { - OR = { - vassal_contract_has_flag = celestial_province_standard - vassal_contract_has_flag = celestial_province_industrial - vassal_contract_has_flag = celestial_province_metropolitan - } - has_trait_with_flag = military_province + } + trigger_else = { + OR = { + vassal_contract_has_flag = celestial_civil_appointment + vassal_contract_has_flag = meritocratic_civil_appointment } } } - tgp_flip_education_track_on_game_start = yes + if = { + limit = { has_trait_with_flag = civilian_province } + set_variable = { + name = appointment_trait_override + value = trait:education_martial_1 + } + } + else = { + set_variable = { + name = appointment_trait_override + value = trait:education_stewardship_1 + } + } } } + if = { + limit = { + has_game_rule = no_easteregg_characters + } + # needed for error suppression as all characters are added to the list in the history + if = { + limit = { + always = no + } + add_to_global_variable_list = { + name = easteregg_characters_list + target = this + } + } + every_in_global_list = { + variable = easteregg_characters_list + limit = { + is_ai = yes + } + death = { + death_reason = death_vanished + } + } + clear_global_variable_list = easteregg_characters_list + } + + enable_and_run_succession_calculation = yes } events = { diff --git a/common/on_action/title_on_actions.txt b/common/on_action/title_on_actions.txt index 49d3220d..a19cc445 100644 --- a/common/on_action/title_on_actions.txt +++ b/common/on_action/title_on_actions.txt @@ -101,34 +101,8 @@ on_title_destroyed = { } } } - every_vassal = { - # Because a change in liege isn't triggered when the title being destroyed - if = { - limit = { - government_has_flag = government_is_celestial - highest_held_title_tier >= tier_kingdom - primary_title = { - has_custom_title_name = no - } - tgp_capital_not_in_chinese_naming_region = no - } - if = { - limit = { - is_ai = no - } - trigger_event = { - id = tgp_dynastic_cycle.9000 - days = 1 # so the player gets to choose first - } - } - else = { - trigger_event = { - id = tgp_dynastic_cycle.9000 - days = 2 - } - } - } - } + # Because a change in liege isn't triggered when the title being destroyed + tgp_fire_china_realm_name_event_for_vassals_effect = yes title:h_china = { reset_title_name = yes } @@ -661,7 +635,7 @@ on_title_gain = { ########### if = { limit = { - scope:title.title_province = { + scope:title.title_province ?= { geographical_region = geographical_region:mpo_region_permafrost } } @@ -1142,7 +1116,7 @@ on_title_gain = { } every_held_title = { limit = { exists = var:administrative_ui_special_title } - var:administrative_ui_special_title.holder = { tgp_destroy_ceremonial_throne_effect = yes } + holder = { tgp_destroy_ceremonial_throne_effect = yes } } if = { limit = { has_trait = former_emperor } @@ -1174,12 +1148,16 @@ on_title_gain = { limit = { has_trait = devoted } remove_trait = devoted } - destroy_laamp_effect = { ADVENTURER = this } + if = { + limit = { government_has_flag = government_is_landless_adventurer } + destroy_laamp_effect = { ADVENTURER = this } + } } # Reset raid remit if = { limit = { this = top_liege + scope:title = primary_title any_noble_family = { } } every_noble_family = { @@ -1442,7 +1420,10 @@ on_title_gain = { # When conquering China - Change to conquest phase if = { limit = { - root.dynasty != scope:previous_holder.dynasty + OR = { + root.dynasty != scope:previous_holder.dynasty + is_lowborn = yes # in the rare instance that a lowborn theocrat reunites China + } } if = { limit = { @@ -1527,6 +1508,7 @@ on_title_gain = { set_family_accomplishment_effect = { ACCOMPLISHMENT = family_accomplishment_dynasty } } } + # left them in enum since we can not avoid touch here with encapsulated macro else_if = { limit = { OR = { @@ -1673,16 +1655,8 @@ on_title_gain = { } } # That isn't a part of the ministry - NOR = { - scope:title = title:e_minister_chancellor - scope:title = title:e_minister_censor - scope:title = title:e_minister_grand_marshal - scope:title = title:e_minister_of_personnel - scope:title = title:e_minister_of_revenue - scope:title = title:e_minister_of_rites - scope:title = title:e_minister_of_war - scope:title = title:e_minister_of_justice - scope:title = title:e_minister_of_works + scope:title = { + tgp_is_minister_title = no } } trigger_event = { @@ -1799,7 +1773,10 @@ on_title_gain = { limit = { has_trait = devoted } remove_trait = devoted } - destroy_laamp_effect = { ADVENTURER = this } + if = { + limit = { government_has_flag = government_is_landless_adventurer } + destroy_laamp_effect = { ADVENTURER = this } + } trigger_event = { id = tgp_japan_general.9100 days = 1 @@ -2029,6 +2006,14 @@ on_title_gain = { } has_appointment_level_for_title = scope:title } + # prevent penalty for giving non-feudal lands to nomad/tribals + OR = { + scope:title = { + has_title_law_flag = appointment_with_level_requirement + } + has_realm_law_flag = appointment_with_level_requirement + } + has_global_variable = game_has_started # Don't mess up for initialization } situation:dynastic_cycle ?= { if = { @@ -2044,17 +2029,8 @@ on_title_gain = { if = { limit = { scope:title = { - OR = { - this = title:e_minister_chancellor - this = title:e_minister_censor - this = title:e_minister_grand_marshal - this = title:e_minister_of_personnel - this = title:e_minister_of_revenue - this = title:e_minister_of_rites - this = title:e_minister_of_war - this = title:e_minister_of_justice - this = title:e_minister_of_works - } + tgp_is_minister_title = yes + de_jure_liege = title:h_china } NOT = { has_appointment_level_for_title = scope:title } } @@ -2071,40 +2047,21 @@ on_title_gain = { # Admin Stuff if = { limit = { - OR = { - government_allows = administrative - government_has_flag = government_is_japan_feudal - } - NOT = { has_variable = laamp_invasion_flag } + government_allows = noble_families } government_type = { save_scope_as = nf_gov_type } # Note: anything that should be run after creation can go in on_noble_family_title_created give_new_noble_family_title_effect = yes - # EP3 - Ensure Emperor keeps old realm capital in admin realms & apply unique domicile building bonus if appropriate + } + if = { + limit = { + government_allows = administrative + NOT = { has_variable = laamp_invasion_flag } + } + # EP3 - apply unique domicile building bonus if appropriate if = { limit = { top_liege = this - highest_held_title_tier >= tier_empire - NOT = { - any_held_title = { - OR = { - tier = tier_empire - tier = tier_hegemony - } - this != scope:title - } - } - } - if = { # Ensure we keep the old realm capital - limit = { - scope:title = { - tier >= tier_empire - title_capital_county != root.capital_county - # Constantinople must have been inherited - title_capital_county.holder = root - } - } - set_realm_capital = scope:title.title_capital_county } if = { # Get legitimacy from Reception Hall House Bonus limit = { @@ -2160,37 +2117,17 @@ on_title_gain = { scope:title = root.primary_title has_ep3_dlc_trigger = yes #Checks so this event doesn't fire after character creation, although it's not really a problem if it does - trigger_if = { - limit = { - game_start_date = 867.1.1 - } - current_date >= 867.1.4 - } - trigger_if = { - limit = { - game_start_date = 1066.9.15 - } - current_date >= 1066.9.18 - } - trigger_if = { - limit = { - game_start_date = 1178.10.1 - } - current_date >= 1178.10.4 - } + current_date_is_start_date_trigger = no } save_scope_as = emperor #Should trigger special event during fourth crusade! if = { limit = { - exists = global_var:byz_claimant_champion - global_var:byz_claimant_champion = { + scope:title = title:e_byzantium + global_var:byz_claimant_champion ?= { any_owned_story = { type = frankokratia_story - exists = var:byz_claimant - var:byz_claimant = { - this = root - } + var:byz_claimant ?= root } } } @@ -2201,27 +2138,24 @@ on_title_gain = { trigger_event = ep3_frankokratia_events.0110 } } - else = { - if = { + else_if = { + limit = { + exists = house + exists = scope:previous_holder + is_alive = yes + is_ruler = yes + is_imprisoned = no + top_liege = this + } + every_vassal_or_below = { limit = { - exists = root.house - } - #normal triggering - every_vassal_or_below = { - limit = { - is_playable_character = yes - exists = scope:previous_holder - has_government = administrative_government - OR = { - highest_held_title_tier >= main_administrative_tier # All governors - liege = root - } - } - trigger_event = { - id = ep3_governor_yearly.3060 - days = 1 + is_playable_character = yes + OR = { + highest_held_title_tier >= main_administrative_tier # All governors + liege = root } } + trigger_event = ep3_governor_yearly.3060 } } } @@ -2691,6 +2625,7 @@ on_title_gain = { limit = { scope:title = { tier = tier_county + is_landless_type_title = no OR = { has_county_modifier = major_coronation_approval_unsettled_modifier has_county_modifier = medium_coronation_approval_unsettled_modifier @@ -3923,17 +3858,9 @@ on_title_lost = { # Remove manually added Ministers if they're not ministers anymore if = { limit = { - NOR = { - primary_title = title:e_minister_chancellor - primary_title = title:e_minister_censor - primary_title = title:e_minister_grand_marshal - primary_title = title:e_minister_of_personnel - primary_title = title:e_minister_of_revenue - primary_title = title:e_minister_of_rites - primary_title = title:e_minister_of_war - primary_title = title:e_minister_of_justice - primary_title = title:e_minister_of_works - } + is_landed = no + tgp_is_any_minister = no + any_character_situation = { this = situation:dynastic_cycle } } situation:dynastic_cycle = { remove_manual_participant = prev @@ -4146,6 +4073,64 @@ on_rank_up = { # Will not fire during history execution or for dying characters events = { } effect = { + # EP3 - Ensure Emperor keeps old realm capital in admin realms + if = { + limit = { + government_allows = administrative + NOT = { has_variable = laamp_invasion_flag } + top_liege = this + trigger_if = { + limit = { exists = scope:title } + highest_held_title_tier > scope:title.tier + } + } + # celestial emperor+ ruler keep their capital when they were kingdom + # but if they become emperor+ without ever being a king, follow normal de jure realm + if = { + limit = { + tgp_use_chinese_naming_trigger = yes + trigger_if = { + limit = { + NOT = { exists = title:h_china.holder } + capital_county.title_province ?= { + OR = { + geographical_region = tgp_county_chinese_naming_region + geographical_region = tgp_duchy_chinese_naming_region + } + } + } + highest_held_title_tier >= tier_duchy + } + trigger_else = { + highest_held_title_tier >= tier_empire + } + primary_title = { + is_de_jure_liege_or_above_target = prev.capital_county + } + } + primary_title = { + if = { + limit = { + title_capital_county != prev.capital_county + NOT = { previous_holder.house ?= prev.house } + } + set_capital_county = prev.capital_county + } + } + } + else_if = { # Ensure we keep the old realm capital + limit = { + highest_held_title_tier >= tier_empire + primary_title = { + title_capital_county != root.capital_county + # Constantinople must have been inherited + title_capital_county.holder = root + } + } + set_realm_capital = primary_title.title_capital_county + } + } + if = { # ACH call to coronation reminder limit = { coronation_trigger = yes @@ -4302,8 +4287,23 @@ on_rank_up = { # Will not fire during history execution or for dying characters if = { limit = { is_independent_ruler = yes - government_has_flag = government_is_celestial - highest_held_title_tier >= tier_kingdom + OR = { + tgp_use_chinese_naming_trigger = yes + primary_title = { + recent_history = { + type = conquest_populist + days = 1 + } + previous_holder = { + tgp_use_chinese_naming_trigger = yes + } + } + AND = { + exists = var:claimed_mandate_var + primary_title ?= title:h_china + } + } + tgp_chinese_naming_tier_trigger = yes OR = { primary_title ?= { has_custom_title_name = no @@ -4312,56 +4312,12 @@ on_rank_up = { # Will not fire during history execution or for dying characters } trigger_if = { limit = { - tgp_capital_not_in_chinese_naming_region = yes + tgp_has_unique_chinese_naming = no } primary_title ?= title:h_china } } - if = { - limit = { - is_ai = no - } - trigger_event = { - id = tgp_dynastic_cycle.9000 - days = 1 # so the player gets to choose first - } - } - else = { - trigger_event = { - id = tgp_dynastic_cycle.9000 - days = 2 - } - } - } - else_if = { # Make sure non-Celestials get to rename/recolor china - limit = { - is_independent_ruler = yes - has_tgp_dlc_trigger = yes - NOT = { government_has_flag = government_is_celestial } - exists = var:claimed_mandate_var - primary_title ?= title:h_china - OR = { - primary_title ?= { - has_custom_title_name = no - } - primary_title.previous_holder.dynasty != root.dynasty - } - } - if = { - limit = { - is_ai = no - } - trigger_event = { - id = tgp_dynastic_cycle.9000 - days = 1 # so the player gets to choose first - } - } - else = { - trigger_event = { - id = tgp_dynastic_cycle.9000 - days = 2 - } - } + tgp_fire_china_realm_name_event_effect = yes } # ACH - Remove Coronated laws when titles are passed onto a new character @@ -4386,6 +4342,7 @@ on_rank_up = { # Will not fire during history execution or for dying characters limit = { is_house_head = yes NOT = { house.house_confederation.leading_house = this.house } + house.house_confederation.leading_house.house_head.top_liege = this } house.house_confederation = { tgp_set_house_bloc_leading_house_effect = { LEADER = root.house } @@ -4476,6 +4433,46 @@ on_rank_down = { # Will not fire during history execution or for dying character } ach_remove_oaths_on_king_minus_effect = yes } + + # Grand Wedding: no longer valid host + if = { + limit = { + highest_held_title_tier < tier_county + has_variable = promised_grand_wedding_marriage_countdown + scope:transfer_type = flag:abdication + } + + scope:title.holder ?= { + if = { + limit = { NOT = { has_variable = promised_grand_wedding_marriage_countdown } } + save_scope_as = new_wedding_host + } + } + + if = { + limit = { + exists = scope:new_wedding_host + has_variable = promised_grand_wedding_to + } + var:promised_grand_wedding_marriage_countdown = { + save_scope_as = spouse_1 + betrothed = { save_scope_as = spouse_2 } + } + var:promised_grand_wedding_to = { + save_scope_as = promisee + } + clean_grand_wedding_betrothal_variables = yes + set_grand_wedding_betrothal_variables = { + HOST = scope:new_wedding_host + SPOUSE_1 = scope:spouse_1 + SPOUSE_2 = scope:spouse_2 + PROMISEE = scope:promisee + } + } + else = { + clean_grand_wedding_betrothal_variables = yes + } + } } } @@ -4551,6 +4548,37 @@ on_vassal_gained = { # TGP end the ceremonial liege tgp_destroy_ceremonial_throne_effect = yes } + + # TGP Put vassals in blocs + if = { + limit = { + top_liege != this # independent rulers are an exception + exists = house.house_confederation + scope:vassal = { + tgp_uses_house_blocs_trigger = yes + house.house_head = scope:vassal + } + trigger_if = { + limit = { exists = scope:vassal.house.house_confederation } + scope:vassal.house.house_confederation != house.house_confederation + } + } + if = { + limit = { exists = scope:vassal.house.house_confederation } + scope:vassal.house = { + tgp_leave_house_bloc_effect = { + OPINION = flag:no + TRUCE = flag:yes + } + } + } + scope:vassal.house = { + tgp_join_house_bloc_effect = { + INVITER = root.house + OPINION = flag:no + } + } + } } } @@ -4566,7 +4594,7 @@ on_vassal_change = { government_allows = administrative is_house_head = yes trigger_if = { - # This trigger is intentionally different from the similar effecy in on_title_gain up above. We want all direct vassals of the top liege to have a family title if they can + # This trigger is intentionally different from the similar effect in on_title_gain up above. We want all direct vassals of the top liege to have a family title if they can limit = { government_has_flag = government_has_county_tier_noble_families } highest_held_title_tier >= tier_county } @@ -4590,27 +4618,50 @@ on_vassal_change = { ### If an admin ruler becomes independent... if = { limit = { - liege = root # I.e. root is independent government_has_flag = government_is_administrative } - # And is not of a high enough rank, change government if = { - limit = { - administrative_tier_allows_independence = no + limit = { + liege = root # I.e. root is independent } - admin_change_government_effect = yes - } - # If they can be independent, make sure they have a noble family title - else_if = { - limit = { - NOT = { - any_held_title = { - is_noble_family_title = yes + # And is not of a high enough rank, change government + if = { + limit = { + administrative_tier_allows_independence = no + } + admin_change_government_effect = yes + } + # If they can be independent, make sure they have a noble family title + else_if = { + limit = { + NOT = { + any_held_title = { + is_noble_family_title = yes + } } } + create_noble_family_effect = { GOVERNMENT_GIVER = this } + domicile ?= { set_up_domicile_estate_effect = yes } } - create_noble_family_effect = { GOVERNMENT_GIVER = this } - domicile ?= { set_up_domicile_estate_effect = yes } + } + # Byz admin landless NF should always be direct vassal of top liege + else_if = { + limit = { + liege != top_liege + primary_title = { + is_noble_family_title = yes + } + is_landed = no + } + create_title_and_vassal_change = { + type = appointment + save_scope_as = change + } + change_liege = { + liege = top_liege + change = scope:change + } + resolve_title_and_vassal_change = scope:change } } ### Independent Celestial rulers who become direct vassals of a top liege adopt Military obligations if they have title troops - Everyone else will default to Standard. @@ -4623,6 +4674,12 @@ on_vassal_change = { primary_title = { any_title_maa_regiment = { count >= 1 } } + liege = { #only if the liege didn't reach the limit yet + any_vassal = { + count < celestial_province_military_max_value + vassal_contract_has_flag = celestial_province_military + } + } } vassal_contract_set_obligation_level = { type = celestial_provinces level = 3 } } @@ -4636,52 +4693,14 @@ on_vassal_change = { this = top_liege } - any_held_title = { - # has a ministry title that is not being swapped - OR = { - this = title:e_minister_chancellor - this = title:e_minister_censor - this = title:e_minister_grand_marshal - this = title:e_minister_of_personnel - this = title:e_minister_of_revenue - this = title:e_minister_of_rites - this = title:e_minister_of_war - this = title:e_minister_of_justice - this = title:e_minister_of_works - } - } + # has a ministry title that is not being swapped + tgp_has_minister_title = yes } every_held_title = { - switch = { - trigger = this - title:e_minister_chancellor = { - root = { destroy_title = title:e_minister_chancellor } - } - title:e_minister_censor = { - root = { destroy_title = title:e_minister_censor } - } - title:e_minister_grand_marshal = { - root = { destroy_title = title:e_minister_grand_marshal } - } - title:e_minister_of_personnel = { - root = { destroy_title = title:e_minister_of_personnel } - } - title:e_minister_of_revenue = { - root = { destroy_title = title:e_minister_of_revenue } - } - title:e_minister_of_rites = { - root = { destroy_title = title:e_minister_of_rites } - } - title:e_minister_of_war = { - root = { destroy_title = title:e_minister_of_war } - } - title:e_minister_of_justice = { - root = { destroy_title = title:e_minister_of_justice } - } - title:e_minister_of_works = { - root = { destroy_title = title:e_minister_of_works } - } + limit = { + tgp_is_minister_title = yes } + root = { destroy_title = prev } } } # Make sure independent rulers and their vassals leave movements if they are part of the Dynastic Cycle @@ -4711,42 +4730,24 @@ on_vassal_change = { if = { limit = { # We have become independent! - NOT = { - scope:old_liege = root - } + scope:old_liege != root liege = root - government_has_flag = government_is_celestial - highest_held_title_tier >= tier_kingdom + tgp_use_chinese_naming_trigger = yes + tgp_chinese_naming_tier_trigger = yes primary_title = { has_custom_title_name = no # sanity check } OR = { - tgp_capital_not_in_chinese_naming_region = no + tgp_has_unique_chinese_naming = yes primary_title = title:h_china # failsafe, in case this somehow ends up here } } - if = { - limit = { - is_ai = no - } - trigger_event = { - id = tgp_dynastic_cycle.9000 - days = 1 # so the player gets to choose first - } - } - else = { - trigger_event = { - id = tgp_dynastic_cycle.9000 - days = 2 - } - } + tgp_fire_china_realm_name_event_effect = yes } if = { limit = { scope:old_liege = root - NOT = { - liege = root - } + liege != root primary_title ?= { has_custom_title_name = yes } @@ -4946,6 +4947,43 @@ on_realm_capital_change = { } } } + + # Move ministers to realm capital. + if = { + limit = { + tgp_has_access_to_ministry_trigger = yes + } + every_vassal = { + limit = { + tgp_has_minister_title = yes + } + every_held_title = { + limit = { + OR = { + is_noble_family_title = yes + tgp_is_minister_title = yes + } + } + set_capital_county = ROOT.county + } + if = { + limit = { is_ai = yes } + domicile ?= { + move_domicile = ROOT.title_province + } + } + # don't move them in such cases + if = { + limit = { + is_landed = no + is_in_army = no + is_travelling = no + NOT = { exists = involved_activity } + } + set_location_to_default = yes + } + } + } } } } diff --git a/common/on_action/travel_on_actions.txt b/common/on_action/travel_on_actions.txt index d341c90a..7097b755 100644 --- a/common/on_action/travel_on_actions.txt +++ b/common/on_action/travel_on_actions.txt @@ -13,7 +13,7 @@ on_travel_plan_movement = { delay = { days = 2 } adventurer_talent_scouting_on_action delay = { days = 3 } - adventurer_encourage_realtionships_on_action + adventurer_encourage_relationships_on_action migration_events_on_action delay = { days = 1 } } @@ -493,7 +493,10 @@ on_travel_plan_movement = { # laamp_base_1041/Ambush Travellers task contract minigame. current_travel_plan ?= { if = { - limit = { has_variable = activate_laamp_base_1041_logic } + limit = { + has_variable = activate_laamp_base_1041_logic + current_location = { is_sea_province = no } + } travel_plan_owner.var:laamp_base_1041_travel_plan_contract_storage = { if = { limit = { var:event_ratio_tracker >= 1 } @@ -553,6 +556,62 @@ travel_danger_events_on_action = { is_migrating = no # No Danger events while migrating exists = current_travel_plan } + effect = { + random = { # chance of inspiring a knight to become eligible for stalwart accolade + chance = 0.05 + modifier = { + factor = current_travel_plan.current_danger_value # scales with danger (even if mitigated) + } + modifier = { + factor = accolade_progress # scales with accolade progress + } + modifier = { # must have an eligible knight + NOT = { + any_knight = { + current_travel_plan ?= root.current_travel_plan + can_unlock_accolade_attribute_trigger = { + ATTRIBUTE = stalwart + } + } + } + factor = 0 + } + set_variable = { + name = accolade_progress + value = 0 + } + random_knight = { + limit = { + current_travel_plan ?= root.current_travel_plan + can_unlock_accolade_attribute_trigger = { + ATTRIBUTE = stalwart + } + } + weight = { + base = 1 + modifier = { + add = 50 + is_acclaimed = yes + } + } + save_scope_as = accolade_knight + } + save_scope_as = accolade_liege + send_interface_message = { + type = msg_accolade_eligibility + title = accolade_stalwart_unlock.t + left_icon = scope:accolade_knight + right_icon = scope:accolade_liege + custom_tooltip = accolade_stalwart_unlock.tt + scope:accolade_knight = { + set_variable = { + name = stalwart_attribute_unlock + value = yes + } + } + } + } + } random_events = { chance_of_no_event = { value = { @@ -641,6 +700,15 @@ travel_danger_events_on_action = { 350 = ep3_laamp_flavour_ewan.4071 # Slavers - bastards try to kidnap people from the edges of your train. 350 = ep3_laamp_flavour_ewan.4081 # Born of Desperation - hungry locals swarm at you, searching for food. 350 = ep3_laamp_flavour_ewan.4091 # Night Attack - unknown group assaults your camp one evening. + + # TGP Travel Danger Events + 100 = tgp_travel_danger_events.0001 # Encounter an orphan in an area struck by natural disaster. + + # Simple Danger Events + 100 = travel_danger_events.9030 # Rain: delay + 100 = travel_danger_events.9040 # Rainstorm, someone is lost & gone forever! + 100 = travel_danger_events.9050 # Someone with Withering Mind walks off + 100 = travel_danger_events.9060 # Faltering Heart/Fragile Bones entourage character suffers during travel } } @@ -664,18 +732,18 @@ travel_events_on_action = { random_events = { chance_of_no_event = { - value = 80 + value = 95 if = { limit = { is_ai = yes } - add = 19 # Not very important that AI's get these + add = 4 # Not very important that AI's get these } if = { # Less regular travel events when you're migrating limit = { is_migrating = yes } - add = 15 + add = 4 } } 100 = 0 @@ -745,6 +813,7 @@ travel_events_on_action = { 100 = travel_events.4050 # hostage/ward/different culture courtier acts as cultural mediator 200 = hunt.8200 # Falconry Practice 500 = hunt.8210 #Pursued by a Shrine Maiden + 100 = travel_events.5100 #You reach a spirit haunted bridge #Cultural Tradition events 100 = travel_events.1200 #Friendly People 100 = travel_events.1201 #Chivalry @@ -866,6 +935,18 @@ travel_events_on_action = { 100 = tgp_travel_events.0035 100 = tgp_travel_events.0040 100 = tgp_travel_events.0045 + + #Travel Events Japan + 100 = tgp_japan_yearly_events.0006 # 0006 - Treasures from the Sea - ama divers + 100 = tgp_japan_yearly_events.0012 # 0012 - Monkey Business - Onsen + 100 = tgp_japan_yearly_events.0013 # 0013 - Purifying the Spirit - Onsen + 100 = tgp_japan_yearly_events.0014 # 0014 - Taking It Easy - Onsen + 100 = tgp_japan_yearly_events.0027 # 0027 - Prove Your Worth - Tengu + 10 = tgp_japan_yearly_events.0028 # 0028 - False Rumors - Tengu + 100 = tgp_japan_yearly_events.1000 # 1000 - You see some Onibi, follow them or no? + 50 = tgp_japan_yearly_events.1040 # 1040 - You come across a red bridge + 50 = tgp_japan_yearly_events.1120 # 1120 - You meet a warrior monk + 50 = tgp_japan_yearly_events.1140 # 1140 - You are stopped in Soryo lands as a Ritsuryo ruler } } @@ -942,7 +1023,8 @@ travel_event_tombola = { 1 = travel_events_on_action 2 = on_tour_travel 2 = pilgrimage_journey_events - 2 = hajj_journey_events + #2 = hajj_journey_events # They're the same as Pilgrimage for now, commenting out until further notice to save performance + # If Hajj content is added, also see comment in is_on_a_pilgrimage_trigger } } @@ -1289,18 +1371,24 @@ on_travel_plan_start = { } } events = { - travel_start_event.1000 #Generic start (no activity) - travel_start_event.1010 #Travelling to a Tournament + # Commented-out events are removed due to spam concerns + # The ones who are left have mechanical impacts; Tours give prestige/stress loss, pilgrimages add additional pilgrims, wanderer activities give boons based ona ctivity options for Monument Explorations, etc. + # Chinese debates/examinations give necessary context effects, such as choosing movement if you have none, or resigning from your alnds if you need to take the exam + + travel_start_event.1130 # Generic 'travel started' toast, also plays mx_cue_travel_start + + #travel_start_event.1000 #Generic start (no activity) + #travel_start_event.1010 #Travelling to a Tournament travel_start_event.1020 #Setting off on a Tour - travel_start_event.1030 #Travelling to a Wedding - travel_start_event.1040 #Travelling to a Feast - travel_start_event.1050 #Travelling to a Playdate + #travel_start_event.1030 #Travelling to a Wedding + #travel_start_event.1040 #Travelling to a Feast + #travel_start_event.1050 #Travelling to a Playdate travel_start_event.1060 #Going on a Pilgrimage - travel_start_event.1070 #Travelling to a Hunt - travel_start_event.1080 #Travelling to a Witch Ritual + #travel_start_event.1070 #Travelling to a Hunt + #travel_start_event.1080 #Travelling to a Witch Ritual travel_start_event.1090 #Travelling to a Travel Lifestyle Activity travel_start_event.1100 #Travelling to an Examination - travel_start_event.1110 #Travelling to a Mandala Ritual + #travel_start_event.1110 #Travelling to a Mandala Ritual travel_start_event.1120 #Travelling to a Debate ep3_contract_event.0002 #When doing a Contract as Landless Adventurer fill your entourage with relevant people @@ -1608,6 +1696,9 @@ on_travel_plan_complete = { trigger_event = laamp_base_learning_contract_events.4017 } tribute_mission_clean_up_variables_effect = yes + + #Remove characters added by travel options at the start of travel plan + remove_travel_option_added_character_effect = yes } } @@ -1681,10 +1772,10 @@ on_travel_plan_abort = { # refund prestige and influence cost if = { limit = { petition_liege_admin_valid_trigger = yes } - change_influence_no_experience = standard_activity_cost + change_influence_no_experience = standard_activity_base_cost } else = { - add_prestige_no_experience = standard_activity_cost + add_prestige_no_experience = standard_activity_base_cost } } # remove variables and flags @@ -1707,6 +1798,9 @@ on_travel_plan_abort = { #Hit absentee Tributary with Tribute Mission penalty requested_tribute_mission_penalty_effect = yes tribute_mission_clean_up_variables_effect = yes + + #Remove characters added by travel options at the start of travel plan + remove_travel_option_added_character_effect = yes } } @@ -1731,10 +1825,10 @@ on_travel_plan_cancel = { # refund prestige and influence cost if = { limit = { petition_liege_admin_valid_trigger = yes } - change_influence_no_experience = standard_activity_cost + change_influence_no_experience = standard_activity_base_cost } else = { - add_prestige_no_experience = standard_activity_cost + add_prestige_no_experience = standard_activity_base_cost } } # remove variables and flags @@ -1750,9 +1844,9 @@ on_travel_plan_cancel = { # refund prestige and influence cost if = { limit = { petition_liege_admin_valid_trigger = yes } - change_influence_no_experience = standard_activity_cost + change_influence_no_experience = standard_activity_base_cost } - else = { add_prestige_no_experience = standard_activity_cost } + else = { add_prestige_no_experience = standard_activity_base_cost } } # remove variables and flags petition_liege_variable_cleanup_effect = yes @@ -1788,7 +1882,7 @@ on_travel_plan_cancel = { remove_variable = pledge_loyalty_to_liege_grace } # refund any costs - add_prestige = standard_activity_cost + add_prestige = standard_activity_base_cost if = { limit = { has_variable = pay_homage_gold_value @@ -1989,7 +2083,7 @@ adventurer_talent_scouting_on_action = { } } -adventurer_encourage_realtionships_on_action = { +adventurer_encourage_relationships_on_action = { trigger = { current_travel_plan ?= { has_travel_option = adventurers_encourage_relationships_option } } diff --git a/common/religion/religion_types/00_buddhism.txt b/common/religion/religion_types/00_buddhism.txt index 52651a83..0d5c0fad 100644 --- a/common/religion/religion_types/00_buddhism.txt +++ b/common/religion/religion_types/00_buddhism.txt @@ -265,7 +265,262 @@ holy_order_names = { #placeholder } - - } } + lamaism = { # Nangchos aka Tibetan Buddhism - syncretic of Mahayana, Vajrayana and native Tibetan elements + color = { 200 100 20 } + icon = lamaism_buddhism + + holy_site = kusinagara + holy_site = bodh_gaya + holy_site = lhasa + holy_site = sagya + holy_site = purang + + doctrine = doctrine_gender_equal + doctrine = doctrine_polygamy + doctrine = doctrine_adultery_men_accepted + doctrine = doctrine_adultery_women_accepted + doctrine = doctrine_deviancy_accepted + doctrine = doctrine_witchcraft_accepted + + # Carried over from pre-Buddhist Tibet. Similar theological motivations as cremation, demonstrating the impermanence of life + doctrine = doctrine_funeral_sky_burial + + doctrine = tenet_dharmic_pacifism + doctrine = tenet_monasticism + doctrine = tenet_esotericism + + localization = { + ReligiousText = lamaism_religious_text + ReligiousText2 = lamaism_religious_text_2 + ReligiousText3 = lamaism_religious_text_3 + HouseOfWorship = lamaism_house_of_worship + HouseOfWorship2 = lamaism_house_of_worship_2 + HouseOfWorship3 = lamaism_house_of_worship_3 + HouseOfWorshipPlural = lamaism_house_of_worship_plural + ReligiousHeadName = lamaism_religious_head_title + DevoteeMale = lamaism_devotee_male + DevoteeMalePlural = lamaism_devotee_male_plural + DevoteeFemale = lamaism_devotee_female + DevoteeFemalePlural = lamaism_devotee_female_plural + DevoteeNeuter = lamaism_devotee_neuter + DevoteeNeuterPlural = lamaism_devotee_neuter_plural + PriestMale = lamaism_priest + PriestMalePlural = lamaism_priest_plural + PriestFemale = lamaism_priest + PriestFemalePlural = lamaism_priest_plural + PriestNeuter = lamaism_priest + PriestNeuterPlural = lamaism_priest_plural + AltPriestTermPlural = lamaism_priest_term_plural + BishopMale = lamaism_bishop + BishopMalePlural = lamaism_bishop_plural + BishopFemale = lamaism_bishop + BishopFemalePlural = lamaism_bishop_plural + BishopNeuter = lamaism_bishop + BishopNeuterPlural = lamaism_bishop_plural + WitchGodName = bon_evil_god_shinje + WitchGodNamePossessive = bon_evil_god_shinje_possessive + WitchGodHerHis = CHARACTER_HERHIS_HIS + WitchGodSheHe = CHARACTER_SHEHE_HE + WitchGodHerHim = CHARACTER_HERHIM_HIM + WitchGodMistressMaster = master + WitchGodMotherFather = father + + #Creator + CreatorName = lamaism_creator_god_name + CreatorNamePossessive = lamaism_creator_god_name_possessive + CreatorSheHe = CHARACTER_HERHIM_IT + CreatorHerHis = CHARACTER_HERHIS_ITS + CreatorHerHim = CHARACTER_HERHIM_IT + + #HealthGod + HealthGodName = lamaism_health_god_name + HealthGodNamePossessive = lamaism_health_god_name_possessive + HealthGodSheHe = CHARACTER_SHEHE_HE + HealthGodHerHis = CHARACTER_HERHIS_HIS + HealthGodHerHim = CHARACTER_HERHIM_HIM + + #FertilityGod + FertilityGodName = lamaism_fertility_god_name + FertilityGodNamePossessive = lamaism_fertility_god_name_possessive + FertilityGodSheHe = CHARACTER_SHEHE_HE + FertilityGodHerHis = CHARACTER_HERHIS_HIS + FertilityGodHerHim = CHARACTER_HERHIM_HIM + + #WealthGod + WealthGodName = lamaism_wealth_god_name + WealthGodNamePossessive = lamaism_wealth_god_name_possessive + WealthGodSheHe = CHARACTER_SHEHE_HE + WealthGodHerHis = CHARACTER_HERHIS_HIS + WealthGodHerHim = CHARACTER_HERHIM_HIM + + #HouseholdGod + HouseholdGodName = lamaism_household_god_name + HouseholdGodNamePossessive = lamaism_household_god_name_possessive + HouseholdGodSheHe = CHARACTER_SHEHE_SHE + HouseholdGodHerHis = CHARACTER_HERHIS_HER + HouseholdGodHerHim = CHARACTER_HERHIM_HER + + #KnowledgeGod + KnowledgeGodName = lamaism_knowledge_god_name + KnowledgeGodNamePossessive = lamaism_knowledge_god_name_possessive + KnowledgeGodSheHe = CHARACTER_SHEHE_HE + KnowledgeGodHerHis = CHARACTER_HERHIS_HIS + KnowledgeGodHerHim = CHARACTER_HERHIM_HIM + + #WarGod + WarGodName = lamaism_war_god_name + WarGodNamePossessive = lamaism_war_god_name_possessive + WarGodSheHe = CHARACTER_SHEHE_HE + WarGodHerHis = CHARACTER_HERHIS_HIS + WarGodHerHim = CHARACTER_HERHIM_HIM + + #NightGod + NightGodName = lamaism_night_god_name + NightGodNamePossessive = lamaism_night_god_name_possessive + NightGodSheHe = CHARACTER_SHEHE_HE + NightGodHerHis = CHARACTER_HERHIS_HIS + NightGodHerHim = CHARACTER_HERHIM_HIM + + #WaterGod + WaterGodName = lamaism_water_god_name + WaterGodNamePossessive = lamaism_water_god_name_possessive + WaterGodSheHe = CHARACTER_SHEHE_SHE + WaterGodHerHis = CHARACTER_HERHIS_HER + WaterGodHerHim = CHARACTER_HERHIM_HER + + GoodGodNames = { + bon_good_god_gyalpo_pehar + } + } + } + + rime = { # Nangchos aka Tibetan Buddhism - syncretic of Mahayana, Vajrayana and native Tibetan elements + color = { 230 200 180 } + icon = lamaism_buddhism + + holy_site = kusinagara + holy_site = bodh_gaya + holy_site = lhasa + holy_site = sagya + holy_site = purang + + doctrine = doctrine_gender_equal + doctrine = doctrine_polygamy + doctrine = doctrine_adultery_men_accepted + doctrine = doctrine_adultery_women_accepted + doctrine = doctrine_deviancy_accepted + doctrine = doctrine_witchcraft_accepted + + # Carried over from pre-Buddhist Tibet. Similar theological motivations as cremation, demonstrating the impermanence of life + doctrine = doctrine_funeral_sky_burial + + doctrine = tenet_dharmic_pacifism + doctrine = tenet_monasticism + doctrine = tenet_esotericism + + localization = { + ReligiousText = lamaism_religious_text + ReligiousText2 = lamaism_religious_text_2 + ReligiousText3 = lamaism_religious_text_3 + HouseOfWorship = lamaism_house_of_worship + HouseOfWorship2 = lamaism_house_of_worship_2 + HouseOfWorship3 = lamaism_house_of_worship_3 + HouseOfWorshipPlural = lamaism_house_of_worship_plural + ReligiousHeadName = lamaism_religious_head_title + DevoteeMale = lamaism_devotee_male + DevoteeMalePlural = lamaism_devotee_male_plural + DevoteeFemale = lamaism_devotee_female + DevoteeFemalePlural = lamaism_devotee_female_plural + DevoteeNeuter = lamaism_devotee_neuter + DevoteeNeuterPlural = lamaism_devotee_neuter_plural + PriestMale = lamaism_priest + PriestMalePlural = lamaism_priest_plural + PriestFemale = lamaism_priest + PriestFemalePlural = lamaism_priest_plural + PriestNeuter = lamaism_priest + PriestNeuterPlural = lamaism_priest_plural + AltPriestTermPlural = lamaism_priest_term_plural + BishopMale = lamaism_bishop + BishopMalePlural = lamaism_bishop_plural + BishopFemale = lamaism_bishop + BishopFemalePlural = lamaism_bishop_plural + BishopNeuter = lamaism_bishop + BishopNeuterPlural = lamaism_bishop_plural + WitchGodName = bon_evil_god_shinje + WitchGodNamePossessive = bon_evil_god_shinje_possessive + WitchGodHerHis = CHARACTER_HERHIS_HIS + WitchGodSheHe = CHARACTER_SHEHE_HE + WitchGodHerHim = CHARACTER_HERHIM_HIM + WitchGodMistressMaster = master + WitchGodMotherFather = father + + #Creator + CreatorName = lamaism_creator_god_name + CreatorNamePossessive = lamaism_creator_god_name_possessive + CreatorSheHe = CHARACTER_HERHIM_IT + CreatorHerHis = CHARACTER_HERHIS_ITS + CreatorHerHim = CHARACTER_HERHIM_IT + + #HealthGod + HealthGodName = lamaism_health_god_name + HealthGodNamePossessive = lamaism_health_god_name_possessive + HealthGodSheHe = CHARACTER_SHEHE_HE + HealthGodHerHis = CHARACTER_HERHIS_HIS + HealthGodHerHim = CHARACTER_HERHIM_HIM + + #FertilityGod + FertilityGodName = lamaism_fertility_god_name + FertilityGodNamePossessive = lamaism_fertility_god_name_possessive + FertilityGodSheHe = CHARACTER_SHEHE_HE + FertilityGodHerHis = CHARACTER_HERHIS_HIS + FertilityGodHerHim = CHARACTER_HERHIM_HIM + + #WealthGod + WealthGodName = lamaism_wealth_god_name + WealthGodNamePossessive = lamaism_wealth_god_name_possessive + WealthGodSheHe = CHARACTER_SHEHE_HE + WealthGodHerHis = CHARACTER_HERHIS_HIS + WealthGodHerHim = CHARACTER_HERHIM_HIM + + #HouseholdGod + HouseholdGodName = lamaism_household_god_name + HouseholdGodNamePossessive = lamaism_household_god_name_possessive + HouseholdGodSheHe = CHARACTER_SHEHE_SHE + HouseholdGodHerHis = CHARACTER_HERHIS_HER + HouseholdGodHerHim = CHARACTER_HERHIM_HER + + #KnowledgeGod + KnowledgeGodName = lamaism_knowledge_god_name + KnowledgeGodNamePossessive = lamaism_knowledge_god_name_possessive + KnowledgeGodSheHe = CHARACTER_SHEHE_HE + KnowledgeGodHerHis = CHARACTER_HERHIS_HIS + KnowledgeGodHerHim = CHARACTER_HERHIM_HIM + + #WarGod + WarGodName = lamaism_war_god_name + WarGodNamePossessive = lamaism_war_god_name_possessive + WarGodSheHe = CHARACTER_SHEHE_HE + WarGodHerHis = CHARACTER_HERHIS_HIS + WarGodHerHim = CHARACTER_HERHIM_HIM + + #NightGod + NightGodName = lamaism_night_god_name + NightGodNamePossessive = lamaism_night_god_name_possessive + NightGodSheHe = CHARACTER_SHEHE_HE + NightGodHerHis = CHARACTER_HERHIS_HIS + NightGodHerHim = CHARACTER_HERHIM_HIM + + #WaterGod + WaterGodName = lamaism_water_god_name + WaterGodNamePossessive = lamaism_water_god_name_possessive + WaterGodSheHe = CHARACTER_SHEHE_SHE + WaterGodHerHis = CHARACTER_HERHIS_HER + WaterGodHerHim = CHARACTER_HERHIM_HER + + GoodGodNames = { + bon_good_god_gyalpo_pehar + } + } + } } diff --git a/common/religion/religion_types/00_christianity.txt b/common/religion/religion_types/00_christianity.txt deleted file mode 100644 index 2c8eaeb8..00000000 --- a/common/religion/religion_types/00_christianity.txt +++ /dev/null @@ -1,1080 +0,0 @@ -christianity_religion = { - family = rf_abrahamic - - doctrine_background_icon = core_tenet_banner_christian.dds - doctrine = abrahamic_hostility_doctrine - - #Main Group - doctrine = doctrine_monotheist - doctrine = doctrine_spiritual_head - doctrine = doctrine_gender_male_dominated - doctrine = doctrine_pluralism_righteous - doctrine = doctrine_theocracy_temporal - - #Marriage - doctrine = doctrine_monogamy - doctrine = doctrine_divorce_approval - doctrine = doctrine_bastardry_legitimization - doctrine = doctrine_consanguinity_aunt_nephew_and_uncle_niece - - #Crimes - doctrine = doctrine_homosexuality_shunned - doctrine = doctrine_adultery_men_shunned - doctrine = doctrine_adultery_women_crime - doctrine = doctrine_kinslaying_close_kin_crime - doctrine = doctrine_deviancy_crime - doctrine = doctrine_witchcraft_crime - - #Clerical Functions - doctrine = doctrine_clerical_function_taxation - doctrine = doctrine_clerical_gender_male_only - doctrine = doctrine_clerical_marriage_disallowed - doctrine = doctrine_clerical_succession_spiritual_fixed_appointment - - #Special Doctrine for Christian Syncretism - doctrine = special_doctrine_is_christian_faith - - #Allow pilgrimages - doctrine = doctrine_pilgrimage_encouraged - - #Funeral tradition - doctrine = doctrine_funeral_stoic - - #Coronation tradition - doctrine = doctrine_imperial_anointment - - traits = { - virtues = { forgiving compassionate chaste } - sins = { vengeful sadistic lustful } - } - - reserved_male_names = { - Andrew Antoninus Bartolomeus Benedict Christian Christopher Clement Constantine David Demetrius Eustace George Gregory - Hans Isaac Joakim Jacob John Jordan Joseph Laurence Magnus Marcus Martin Matthew Michael Nicholas Patrick Paul Peter Philip - Salvador Samuel Sebastian Simon Stephen Thomas Abraham Alexander Daniel Job Joshua Cyrus Luke Zachariah - } - reserved_female_names = { - Anna Beatrice Benedicta Brigid Catherine Cecilia Christina Clementia Constance Dorothy Elisabeth Joan Judith Juliana Helen - Magdalena Margaret Maria Marine Patricia Philippa Rachel Sarah Sophia Stephania - } - - custom_faith_icons = { - custom_faith_1 custom_faith_2 custom_faith_3 custom_faith_4 custom_faith_5 custom_faith_6 custom_faith_7 custom_faith_8 custom_faith_9 custom_faith_10 dualism_custom_1 zoroastrian_custom_1 zoroastrian_custom_2 buddhism_custom_1 buddhism_custom_2 buddhism_custom_3 buddhism_custom_4 taoism_custom_1 yazidi_custom_1 sunni_custom_2 sunni_custom_3 sunni_custom_4 muhakkima_1 muhakkima_2 muhakkima_4 muhakkima_5 muhakkima_6 judaism_custom_1 custom_faith_fp1_fenrir custom_faith_fp1_irminsul custom_faith_fp1_jormungandr custom_faith_fp1_odins_ravens custom_faith_fp1_runestone_moon custom_faith_fp1_thors_hammer custom_faith_fp1_valknut custom_faith_fp1_yggdrasil custom_faith_boromian_circles custom_faith_lotus custom_faith_aum_tibetan custom_faith_pentagram custom_faith_pentagram_inverted custom_faith_burning_bush custom_faith_allah custom_faith_gankyil custom_faith_eye_of_providence custom_faith_dove custom_faith_ichthys custom_faith_lamb custom_faith_black_sheep custom_faith_ankh custom_faith_chi_rho custom_faith_hamsa custom_faith_cool_s custom_faith_magatama custom_faith_soto custom_faith_benzhuism - } - - holy_order_names = { - { name = "holy_order_knights_of_the_chalice" } - { name = "holy_order_order_of_the_holy_communion" } - { name = "holy_order_knights_of_the_first_gospel" } - { name = "holy_order_guardians_of_the_shroud" } - { name = "holy_order_knights_of_the_reliquary" } - { name = "holy_order_warriors_of_the_cross" } - { name = "holy_order_christian" coat_of_arms = "ho_christian" } - } - - holy_order_maa = { teutonic_knights } - - localization = { - #HighGod - HighGodName = christianity_high_god_name - HighGodName2 = christianity_high_god_name_2 - HighGodNamePossessive = christianity_high_god_name_possessive - HighGodNameSheHe = CHARACTER_SHEHE_HE - HighGodHerselfHimself = CHARACTER_HIMSELF - HighGodHerHis = CHARACTER_HERHIS_HIS - HighGodNameAlternate = christianity_high_god_name_alternate - HighGodNameAlternatePossessive = christianity_high_god_name_alternate_possessive - - #Creator - CreatorName = christianity_creator_god_name - CreatorNamePossessive = christianity_creator_god_name_possessive - CreatorSheHe = CHARACTER_SHEHE_HE - CreatorHerHis = CHARACTER_HERHIS_HIS - CreatorHerHim = CHARACTER_HERHIM_HIM - - #HealthGod - HealthGodName = christianity_health_god_name - HealthGodNamePossessive = christianity_health_god_name_possessive - HealthGodSheHe = CHARACTER_SHEHE_HE - HealthGodHerHis = CHARACTER_HERHIS_HIS - HealthGodHerHim = CHARACTER_HERHIM_HIM - - #FertilityGod - FertilityGodName = christianity_fertility_god_name - FertilityGodNamePossessive = christianity_fertility_god_name_possessive - FertilityGodSheHe = CHARACTER_SHEHE_HE - FertilityGodHerHis = CHARACTER_HERHIS_HIS - FertilityGodHerHim = CHARACTER_HERHIM_HIM - - #WealthGod - WealthGodName = christianity_wealth_god_name - WealthGodNamePossessive = christianity_wealth_god_name_possessive - WealthGodSheHe = CHARACTER_SHEHE_HE - WealthGodHerHis = CHARACTER_HERHIS_HIS - WealthGodHerHim = CHARACTER_HERHIM_HIM - - #HouseholdGod - HouseholdGodName = christianity_household_god_name - HouseholdGodNamePossessive = christianity_household_god_name_possessive - HouseholdGodSheHe = CHARACTER_SHEHE_HE - HouseholdGodHerHis = CHARACTER_HERHIS_HIS - HouseholdGodHerHim = CHARACTER_HERHIM_HIM - - #FateGod - FateGodName = christianity_fate_god_name - FateGodNamePossessive = christianity_fate_god_name_possessive - FateGodSheHe = CHARACTER_SHEHE_HE - FateGodHerHis = CHARACTER_HERHIS_HIS - FateGodHerHim = CHARACTER_HERHIM_HIM - - #KnowledgeGod - KnowledgeGodName = christianity_knowledge_god_name - KnowledgeGodNamePossessive = christianity_knowledge_god_name_possessive - KnowledgeGodSheHe = CHARACTER_SHEHE_HE - KnowledgeGodHerHis = CHARACTER_HERHIS_HIS - KnowledgeGodHerHim = CHARACTER_HERHIM_HIM - - #WarGod - WarGodName = christianity_war_god_name - WarGodNamePossessive = christianity_war_god_name_possessive - WarGodSheHe = CHARACTER_SHEHE_HE - WarGodHerHis = CHARACTER_HERHIS_HIS - WarGodHerHim = CHARACTER_HERHIM_HIM - - #TricksterGod - TricksterGodName = christianity_trickster_god_name - TricksterGodNamePossessive = christianity_trickster_god_name_possessive - TricksterGodSheHe = CHARACTER_SHEHE_HE - TricksterGodHerHis = CHARACTER_HERHIS_HIS - TricksterGodHerHim = CHARACTER_HERHIM_HIM - - #NightGod - NightGodName = christianity_night_god_name - NightGodNamePossessive = christianity_night_god_name_possessive - NightGodSheHe = CHARACTER_SHEHE_HE - NightGodHerHis = CHARACTER_HERHIS_HIS - NightGodHerHim = CHARACTER_HERHIM_HIM - - #WaterGod - WaterGodName = christianity_water_god_name - WaterGodNamePossessive = christianity_water_god_name_possessive - WaterGodSheHe = CHARACTER_SHEHE_HE - WaterGodHerHis = CHARACTER_HERHIS_HIS - WaterGodHerHim = CHARACTER_HERHIM_HIM - - PantheonTerm = christianity_high_god_name - PantheonTerm2 = christianity_high_god_name_2 - PantheonTerm3 = christianity_high_god_name_3 - PantheonTermHasHave = pantheon_term_has - GoodGodNames = { - christianity_high_god_name - christianity_high_god_name_alternate - chistianity_good_god_jesus - chistianity_good_god_christ - } - DevilName = christianity_devil_name - DevilNamePossessive = christianity_devil_name_possessive - DevilSheHe = CHARACTER_SHEHE_HE - DevilHerHis = CHARACTER_HERHIS_HIS - DevilHerHis = CHARACTER_HERHIS_HIS - DevilHerselfHimself = CHARACTER_HIMSELF - EvilGodNames = { - christianity_devil_name - christianity_evil_god_lucifer - christianity_evil_god_beelzebub - christianity_evil_god_mephistopheles - } - HouseOfWorship = christianity_house_of_worship - HouseOfWorship2 = christianity_house_of_worship_2 - HouseOfWorship3 = christianity_house_of_worship_3 - HouseOfWorshipPlural = christianity_house_of_worship_plural - ReligiousSymbol = christianity_religious_symbol - ReligiousSymbol2 = christianity_religious_symbol_2 - ReligiousSymbol3 = christianity_religious_symbol_3 - ReligiousText = christianity_religious_text - ReligiousText2 = christianity_religious_text_2 - ReligiousText3 = christianity_religious_text_3 - ReligiousHeadName = christianity_religious_head_title - ReligiousHeadTitleName = christianity_religious_head_title_name - DevoteeMale = christianity_devotee_male - DevoteeMalePlural = christianity_devotee_male_plural - DevoteeFemale = christianity_devotee_female - DevoteeFemalePlural = christianity_devotee_female_plural - DevoteeNeuter = christianity_devotee_neuter - DevoteeNeuterPlural = christianity_devotee_neuter_plural - PriestMale = christianity_priest_male - PriestMalePlural = christianity_priest_male_plural - PriestFemale = christianity_priest_male - PriestFemalePlural = christianity_priest_male_plural - PriestNeuter = christianity_priest_male - PriestNeuterPlural = christianity_priest_male_plural - AltPriestTermPlural = christianity_priest_alternate_plural - BishopMale = christianity_bishop - BishopMalePlural = christianity_bishop_plural - BishopFemale = christianity_bishop - BishopFemalePlural = christianity_bishop_plural - BishopNeuter = christianity_bishop - BishopNeuterPlural = christianity_bishop_plural - DivineRealm = christianity_positive_afterlife - DivineRealm2 = christianity_positive_afterlife_2 - DivineRealm3 = christianity_positive_afterlife_3 - PositiveAfterLife = christianity_positive_afterlife - PositiveAfterLife2 = christianity_positive_afterlife_2 - PositiveAfterLife3 = christianity_positive_afterlife_3 - NegativeAfterLife = christianity_negative_afterlife - NegativeAfterLife2 = christianity_negative_afterlife_2 - NegativeAfterLife3 = christianity_negative_afterlife_3 - DeathDeityName = christianity_death_deity_name - DeathDeityNamePossessive = christianity_death_deity_name_possessive - DeathDeitySheHe = CHARACTER_SHEHE_HE - DeathDeityHerHis = CHARACTER_HERHIS_HIS - DeathDeityHerHim = CHARACTER_HERHIM_HIM - WitchGodName = christianity_witchgodname_the_horned_god - WitchGodNamePossessive = christianity_witchgodname_the_horned_god_possessive - WitchGodHerHis = CHARACTER_HERHIS_HIS - WitchGodSheHe = CHARACTER_SHEHE_HE - WitchGodHerHim = CHARACTER_HERHIM_HIM - WitchGodMistressMaster = master - WitchGodMotherFather = father - - - GHWName = ghw_crusade - GHWNamePlural = ghw_crusades - - } - - piety_icon_group = "christian" - - faiths = { - catholic = { - color = { 0.8 0.8 0.6 } - religious_head = k_papal_state - graphical_faith = "catholic_gfx" - - holy_site = jerusalem - holy_site = rome - holy_site = cologne - holy_site = santiago - holy_site = kent - #holy_site = segrada_familia - - #Special Tolerance - doctrine = special_doctrine_ecumenical_christian - - #Tenets - doctrine = tenet_communion - doctrine = tenet_armed_pilgrimages - doctrine = tenet_monasticism - - holy_order_names = { - { name = "holy_order_knights_templar" coat_of_arms = "ho_knights_templar" } - { name = "holy_order_knights_hospitaller" coat_of_arms = "ho_knights_hospitaller" } - { name = "holy_order_teutonic_order" coat_of_arms = "ho_teutonic_order" } - { name = "holy_order_order_of_calatrava" coat_of_arms = "ho_order_of_calatrava" } - { name = "holy_order_order_of_alcantara" coat_of_arms = "ho_order_of_alcantara" } - { name = "holy_order_knights_of_santiago" coat_of_arms = "ho_knights_of_santiago" } - } - - localization = { # Utilizes the 'West Christian' Saints, shared by Catholics and Orthodox - #FertilityGod - FertilityGodName = west_christian_fertility_god_name - FertilityGodNamePossessive = west_christian_fertility_god_name_possessive - FertilityGodSheHe = CHARACTER_SHEHE_SHE - FertilityGodHerHis = CHARACTER_HERHIS_HER - FertilityGodHerHim = CHARACTER_HERHIM_HER - - #WealthGod - WealthGodName = west_christian_wealth_god_name - WealthGodNamePossessive = west_christian_wealth_god_name_possessive - WealthGodSheHe = CHARACTER_SHEHE_HE - WealthGodHerHis = CHARACTER_HERHIS_HIS - WealthGodHerHim = CHARACTER_HERHIM_HIM - - #HouseholdGod - HouseholdGodName = west_christian_household_god_name - HouseholdGodNamePossessive = west_christian_household_god_name_possessive - HouseholdGodSheHe = CHARACTER_SHEHE_HE - HouseholdGodHerHis = CHARACTER_HERHIS_HIS - HouseholdGodHerHim = CHARACTER_HERHIM_HIM - - #KnowledgeGod - KnowledgeGodName = west_christian_knowledge_god_name - KnowledgeGodNamePossessive = west_christian_knowledge_god_name_possessive - KnowledgeGodSheHe = CHARACTER_SHEHE_SHE - KnowledgeGodHerHis = CHARACTER_HERHIS_HER - KnowledgeGodHerHim = CHARACTER_HERHIM_HER - - #WarGod - WarGodName = west_christian_war_god_name - WarGodNamePossessive = west_christian_war_god_name_possessive - WarGodSheHe = CHARACTER_SHEHE_HE - WarGodHerHis = CHARACTER_HERHIS_HIS - WarGodHerHim = CHARACTER_HERHIM_HIM - - #WaterGod - WaterGodName = west_christian_water_god_name - WaterGodNamePossessive = west_christian_water_god_name_possessive - WaterGodSheHe = CHARACTER_SHEHE_HE - WaterGodHerHis = CHARACTER_HERHIS_HIS - WaterGodHerHim = CHARACTER_HERHIM_HIM - } - } - - coptic = { - color = { 210 235 87 } - religious_head = d_coptic_papacy - graphical_faith = "orthodox_gfx" - holy_site = alexandria - holy_site = jerusalem - holy_site = antioch - holy_site = aksum - holy_site = napata - - #Special Tolerance - doctrine = special_doctrine_ecumenical_christian - - #Main Group - doctrine = doctrine_pluralism_pluralistic - - #Tenets - doctrine = tenet_monasticism - doctrine = tenet_alexandrian_catechism - doctrine = tenet_communal_identity - - holy_order_names = { - { name = "holy_order_order_of_saint_anthony" } - } - - localization = { # Utilizes the 'East Christian' Saints, shared by Coptics and Armenians - #HealthGod - HealthGodName = east_christian_health_god_name - HealthGodNamePossessive = east_christian_health_god_name_possessive - HealthGodSheHe = CHARACTER_SHEHE_HE - HealthGodHerHis = CHARACTER_HERHIS_HIS - HealthGodHerHim = CHARACTER_HERHIM_HIM - - #FertilityGod - FertilityGodName = east_christian_fertility_god_name - FertilityGodNamePossessive = east_christian_fertility_god_name_possessive - FertilityGodSheHe = CHARACTER_SHEHE_SHE - FertilityGodHerHis = CHARACTER_HERHIS_HER - FertilityGodHerHim = CHARACTER_HERHIM_HER - - #WealthGod - WealthGodName = east_christian_wealth_god_name - WealthGodNamePossessive = east_christian_wealth_god_name_possessive - WealthGodSheHe = CHARACTER_SHEHE_HE - WealthGodHerHis = CHARACTER_HERHIS_HIS - WealthGodHerHim = CHARACTER_HERHIM_HIM - - #HouseholdGod - HouseholdGodName = east_christian_household_god_name - HouseholdGodNamePossessive = east_christian_household_god_name_possessive - HouseholdGodSheHe = CHARACTER_SHEHE_HE - HouseholdGodHerHis = CHARACTER_HERHIS_HIS - HouseholdGodHerHim = CHARACTER_HERHIM_HIM - - #KnowledgeGod - KnowledgeGodName = east_christian_knowledge_god_name - KnowledgeGodNamePossessive = east_christian_knowledge_god_name_possessive - KnowledgeGodSheHe = CHARACTER_SHEHE_HE - KnowledgeGodHerHis = CHARACTER_HERHIS_HIS - KnowledgeGodHerHim = CHARACTER_HERHIM_HIM - - #WarGod - WarGodName = east_christian_war_god_name - WarGodNamePossessive = east_christian_war_god_name_possessive - WarGodSheHe = CHARACTER_SHEHE_HE - WarGodHerHis = CHARACTER_HERHIS_HIS - WarGodHerHim = CHARACTER_HERHIM_HIM - - #Popes despite lacking rank - ReligiousHeadName = coptic_religious_head_title - ReligiousHeadTitleName = coptic_religious_head_title_name - } - } - - armenian_apostolic = { - color = { 0.8 0.4 0.1 } - religious_head = d_apostolic_church - icon = christianity_armenian - graphical_faith = "orthodox_gfx" - - holy_site = jerusalem - holy_site = antioch - holy_site = suenik #city of Dvin within county of Suenik - holy_site = colonea - holy_site = beirut - - #Special Tolerance - doctrine = special_doctrine_ecumenical_christian - - #Clerical Functions - doctrine = doctrine_clerical_marriage_allowed - - #Tenets - doctrine = tenet_communion - doctrine = tenet_cthonic_redoubts - doctrine = tenet_communal_identity - - localization = { # Utilizes the 'East Christian' Saints, shared by Coptics and Armenians - #HealthGod - HealthGodName = east_christian_health_god_name - HealthGodNamePossessive = east_christian_health_god_name_possessive - HealthGodSheHe = CHARACTER_SHEHE_HE - HealthGodHerHis = CHARACTER_HERHIS_HIS - HealthGodHerHim = CHARACTER_HERHIM_HIM - - #FertilityGod - FertilityGodName = east_christian_fertility_god_name - FertilityGodNamePossessive = east_christian_fertility_god_name_possessive - FertilityGodSheHe = CHARACTER_SHEHE_SHE - FertilityGodHerHis = CHARACTER_HERHIS_HER - FertilityGodHerHim = CHARACTER_HERHIM_HER - - #WealthGod - WealthGodName = east_christian_wealth_god_name - WealthGodNamePossessive = east_christian_wealth_god_name_possessive - WealthGodSheHe = CHARACTER_SHEHE_HE - WealthGodHerHis = CHARACTER_HERHIS_HIS - WealthGodHerHim = CHARACTER_HERHIM_HIM - - #HouseholdGod - HouseholdGodName = east_christian_household_god_name - HouseholdGodNamePossessive = east_christian_household_god_name_possessive - HouseholdGodSheHe = CHARACTER_SHEHE_HE - HouseholdGodHerHis = CHARACTER_HERHIS_HIS - HouseholdGodHerHim = CHARACTER_HERHIM_HIM - - #KnowledgeGod - KnowledgeGodName = east_christian_knowledge_god_name - KnowledgeGodNamePossessive = east_christian_knowledge_god_name_possessive - KnowledgeGodSheHe = CHARACTER_SHEHE_HE - KnowledgeGodHerHis = CHARACTER_HERHIS_HIS - KnowledgeGodHerHim = CHARACTER_HERHIM_HIM - - #WarGod - WarGodName = east_christian_war_god_name - WarGodNamePossessive = east_christian_war_god_name_possessive - WarGodSheHe = CHARACTER_SHEHE_HE - WarGodHerHis = CHARACTER_HERHIS_HIS - WarGodHerHim = CHARACTER_HERHIM_HIM - - #Catholicoi instead of Popes - ReligiousHeadName = apostolic_religious_head_title - ReligiousHeadTitleName = apostolic_religious_head_title_name - } - } - - conversos = { - color = { 0.4 0.5 0.8 } - icon = conversos - religious_head = k_papal_state - graphical_faith = "catholic_gfx" - - holy_site = jerusalem - holy_site = rome - holy_site = santiago - holy_site = toledo - holy_site = cordoba - - # Tenets - doctrine = tenet_communion - doctrine = tenet_communal_identity - doctrine = tenet_jewish_syncretism - - # Main Group - doctrine = doctrine_pluralism_pluralistic - - #Crimes - doctrine = doctrine_adultery_men_crime - doctrine = doctrine_adultery_women_crime - doctrine = doctrine_kinslaying_extended_family_crime - - #Special Tolerance - doctrine = special_doctrine_ecumenical_christian - } - - cathar = { - color = { 0.5 0.5 0.9 } - icon = christianity_cathar - graphical_faith = "catholic_gfx" - - #Shared with Catholics - holy_site = jerusalem - holy_site = rome - holy_site = cologne - holy_site = albi - holy_site = kent - - #Main Group - doctrine = doctrine_no_head - doctrine = doctrine_gender_equal - - #Marriage - doctrine = doctrine_divorce_disallowed - - #Crimes - doctrine = doctrine_homosexuality_accepted - doctrine = doctrine_adultery_men_shunned - doctrine = doctrine_adultery_women_shunned - - #Clerical Functions - doctrine = doctrine_clerical_function_alms_and_pacification - doctrine = doctrine_clerical_gender_either - - #Tenets - doctrine = tenet_reincarnation - doctrine = tenet_pacifism - doctrine = tenet_gnosticism - - #Coronation tradition - doctrine = doctrine_no_anointment - - #Unique Localization - localization = { - PriestMale = cathar_priest_male - PriestMalePlural = cathar_priest_male_plural - PriestFemale = cathar_priest_female - PriestFemalePlural = cathar_priest_female_plural - PriestNeuter = cathar_priest_neuter - PriestNeuterPlural = cathar_priest_neuter_plural - } - } - - waldensian = { - color = { 0.4 0.2 0.5 } - icon = christianity_waldensian - graphical_faith = "catholic_gfx" - - #Shared with Catholics - holy_site = jerusalem - holy_site = rome - holy_site = cologne - holy_site = santiago - holy_site = kent - - #Main Group - doctrine = doctrine_pluralism_pluralistic - doctrine = doctrine_theocracy_lay_clergy - doctrine = doctrine_pilgrimage_forbidden - - - - #Tenets - doctrine = tenet_vows_of_poverty - doctrine = tenet_mendicant_preachers - doctrine = tenet_aniconism - } - - lollard = { - color = { 0.5 0.8 0.8 } - icon = christianity_lollard - graphical_faith = "catholic_gfx" - - #Shared with Catholics - holy_site = jerusalem - holy_site = rome - holy_site = cologne - holy_site = santiago - holy_site = kent - - #Main Gorup - doctrine = doctrine_theocracy_lay_clergy - doctrine = doctrine_pilgrimage_forbidden - - #Clerical Functions - doctrine = doctrine_clerical_marriage_allowed - - #Tenets - doctrine = tenet_pacifism - doctrine = tenet_aniconism - doctrine = tenet_literalism - } - - iconoclast = { - color = { 0.5 0.2 0.4 } - icon = christianity_iconoclasm - religious_head = d_iconoclast - graphical_faith = "orthodox_gfx" - - #Shared with Orthodox - holy_site = jerusalem - holy_site = constantinople - holy_site = rome - holy_site = alexandria - holy_site = antioch - - #Tenets - doctrine = tenet_communion - doctrine = tenet_pentarchy - doctrine = tenet_aniconism - - localization = { - # Patriarchs instead of Popes - ReligiousHeadName = orthodox_religious_head_title - ReligiousHeadTitleName = orthodox_religious_head_title_name - } - } - - bogomilist = { - color = { 0.7 0 0.2 } - icon = christianity_bogomilist - graphical_faith = "orthodox_gfx" - - #Shared with Orthodox - holy_site = jerusalem - holy_site = constantinople - holy_site = rome - holy_site = alexandria - holy_site = antioch - - #Main Gorup - doctrine = doctrine_no_head - doctrine = doctrine_gender_equal - doctrine = doctrine_theocracy_lay_clergy - - #Clerical Functions - doctrine = doctrine_clerical_function_alms_and_pacification - doctrine = doctrine_clerical_gender_either - - #Tenets - doctrine = tenet_gnosticism - doctrine = tenet_pacifism - doctrine = tenet_mendicant_preachers - - #Coronation tradition - doctrine = doctrine_no_anointment - - #Unique Localization - localization = { - PriestMale = bogomilist_priest - PriestMalePlural = bogomilist_priest_plural - PriestFemale = bogomilist_priest - PriestFemalePlural = bogomilist_priest_plural - PriestNeuter = bogomilist_priest - PriestNeuterPlural = bogomilist_priest_plural - - # Patriarchs instead of Popes - ReligiousHeadName = orthodox_religious_head_title - ReligiousHeadTitleName = orthodox_religious_head_title_name - } - } - - paulician = { - color = { 0.6 0.1 0.4 } - icon = christianity_paulicanism - graphical_faith = "orthodox_gfx" - - #Shared with Armenian? - holy_site = jerusalem - holy_site = constantinople - holy_site = rome - holy_site = alexandria - holy_site = antioch - - #Main Group - doctrine = doctrine_pluralism_fundamentalist - - #Clerical Functions - doctrine = doctrine_clerical_function_recruitment - doctrine = doctrine_pilgrimage_forbidden - - #Tenets - doctrine = tenet_gnosticism - doctrine = tenet_aniconism - doctrine = tenet_unrelenting_faith - - localization = { - ReligiousText = paulician_religious_text - ReligiousText2 = paulician_religious_text_2 - ReligiousText3 = paulician_religious_text_3 - - # Patriarchs instead of Popes - ReligiousHeadName = orthodox_religious_head_title - ReligiousHeadTitleName = orthodox_religious_head_title_name - } - } - - nestorian = { - color = { 0.8 0.3 0.5 } - religious_head = d_patriarchate_in_the_east - graphical_faith = "orthodox_gfx" - - holy_site = jerusalem - holy_site = baghdad - holy_site = farz - holy_site = antioch - holy_site = kerala - - #Main Group - doctrine = doctrine_pluralism_pluralistic - - #Tenets - doctrine = tenet_eastern_syncretism - doctrine = tenet_monasticism - doctrine = tenet_mendicant_preachers - - #Coronation tradition - doctrine = doctrine_anointment_permitted - - holy_order_names = { - { name = "holy_order_order_of_saint_addai" } - } - - localization = { # Utilizes the 'West Christian' Saints, shared by Catholics and Orthodox - # Patriarchs instead of Popes - ReligiousHeadName = nestorian_religious_head_title - ReligiousHeadTitleName = nestorian_religious_head_title_name - } - } - - messalian = { - color = { 0.6 0.1 0.4 } - icon = christianity_messalian - graphical_faith = "orthodox_gfx" - - holy_site = jerusalem - holy_site = constantinople - holy_site = baghdad - holy_site = farz - holy_site = antioch - - #Main Group - doctrine = doctrine_no_head - doctrine = doctrine_gender_equal - doctrine = doctrine_theocracy_lay_clergy - - #Marriage - doctrine = doctrine_consanguinity_unrestricted - - #Crimes - doctrine = doctrine_homosexuality_accepted - doctrine = doctrine_adultery_men_accepted - doctrine = doctrine_adultery_women_accepted - doctrine = doctrine_deviancy_accepted - doctrine = doctrine_witchcraft_accepted - - #Clerical Functions - doctrine = doctrine_clerical_gender_either - doctrine = doctrine_clerical_marriage_allowed - - #Coronation tradition - doctrine = doctrine_no_anointment - - #Tenets - doctrine = tenet_divine_marriage - doctrine = tenet_carnal_exaltation - doctrine = tenet_esotericism - - #Unique Localization - localization = { - PriestMale = messalian_priest - PriestMalePlural = messalian_priest_plural - PriestFemale = messalian_priest - PriestFemalePlural = messalian_priest_plural - PriestNeuter = messalian_priest - PriestNeuterPlural = messalian_priest_plural - } - } - - adamites = { - color = { 0.6 0.8 0.6 } - icon = adamites - graphical_faith = "catholic_gfx" - - holy_site = rome - holy_site = jerusalem - holy_site = fes - holy_site = alexandria - holy_site = carthage - - #Main Group - doctrine = doctrine_no_head - doctrine = doctrine_gender_equal - doctrine = doctrine_pluralism_righteous - doctrine = doctrine_theocracy_lay_clergy - - #Marriage - doctrine = doctrine_concubines - doctrine = doctrine_divorce_allowed - doctrine = doctrine_bastardry_none - doctrine = doctrine_consanguinity_unrestricted - - #Crimes - doctrine = doctrine_homosexuality_accepted - doctrine = doctrine_adultery_men_accepted - doctrine = doctrine_adultery_women_accepted - doctrine = doctrine_kinslaying_accepted - doctrine = doctrine_deviancy_accepted - doctrine = doctrine_witchcraft_accepted - - #Clerical Functions - doctrine = doctrine_clerical_function_alms_and_pacification - doctrine = doctrine_clerical_gender_either - doctrine = doctrine_clerical_marriage_disallowed - doctrine = doctrine_clerical_succession_temporal_appointment - - #Tenets - doctrine = tenet_natural_primitivism - doctrine = tenet_sanctity_of_nature - doctrine = tenet_communal_identity - - #Coronation tradition - doctrine = doctrine_no_anointment - } - - insular_celtic = { - color = { 0.5 0.5 0.3 } - icon = insular_celtic - graphical_faith = "catholic_gfx" - religious_head = k_papal_state - - holy_site = jerusalem - holy_site = rome - holy_site = kent #Though Lindisfarne was certainly more important to them, Armagh & Iona already cover the northern & western British Isles, and Canterbury is symbolic of Rome's control over the Isles as a whole. - holy_site = armagh - holy_site = iona - - #Special Tolerance - doctrine = special_doctrine_ecumenical_christian - - #Main Group - doctrine = doctrine_pluralism_pluralistic #Mostly to keep them from forcing Catholics out of Britain. - - #Marriage - doctrine = doctrine_divorce_approval - - #Crimes - doctrine = doctrine_kinslaying_any_dynasty_member_crime #A dramatic crime under medieval Irish law. - - #Clerical Functions - doctrine = doctrine_clerical_function_alms_and_pacification - doctrine = doctrine_clerical_succession_spiritual_fixed_appointment - doctrine = doctrine_clerical_marriage_allowed - - #Tenets - doctrine = tenet_vows_of_poverty - doctrine = tenet_rite - doctrine = tenet_monasticism - doctrine = doctrine_funeral_bewailment # Keening - - #Coronation tradition - doctrine = doctrine_anointment_permitted - - - holy_order_names = { - { name = "holy_order_order_of_saint_patrick" coat_of_arms = "ho_order_of_saint_patrick" } - } - - localization = { - #FertilityGod - FertilityGodName = insular_celtic_fertility_god_name - FertilityGodNamePossessive = insular_celtic_fertility_god_name_possessive - FertilityGodSheHe = CHARACTER_SHEHE_SHE - FertilityGodHerHis = CHARACTER_HERHIS_HER - FertilityGodHerHim = CHARACTER_HERHIM_HER - - #WealthGod - WealthGodName = insular_celtic_wealth_god_name - WealthGodNamePossessive = insular_celtic_wealth_god_name_possessive - WealthGodSheHe = CHARACTER_SHEHE_HE - WealthGodHerHis = CHARACTER_HERHIS_HIS - WealthGodHerHim = CHARACTER_HERHIM_HIM - - #HouseholdGod - HouseholdGodName = insular_celtic_household_god_name - HouseholdGodNamePossessive = insular_celtic_household_god_name_possessive - HouseholdGodSheHe = CHARACTER_SHEHE_HE - HouseholdGodHerHis = CHARACTER_HERHIS_HIS - HouseholdGodHerHim = CHARACTER_HERHIM_HIM - - #FateGod - FateGodName = insular_celtic_fate_god_name - FateGodNamePossessive = insular_celtic_fate_god_name_possessive - FateGodSheHe = CHARACTER_SHEHE_HE - FateGodHerHis = CHARACTER_HERHIS_HIS - FateGodHerHim = CHARACTER_HERHIM_HIM - - #KnowledgeGod - KnowledgeGodName = insular_celtic_knowledge_god_name - KnowledgeGodNamePossessive = insular_celtic_knowledge_god_name_possessive - KnowledgeGodSheHe = CHARACTER_SHEHE_SHE - KnowledgeGodHerHis = CHARACTER_HERHIS_HER - KnowledgeGodHerHim = CHARACTER_HERHIM_HER - - #WarGod - WarGodName = insular_celtic_war_god_name - WarGodNamePossessive = insular_celtic_war_god_name_possessive - WarGodSheHe = CHARACTER_SHEHE_HE - WarGodHerHis = CHARACTER_HERHIS_HIS - WarGodHerHim = CHARACTER_HERHIM_HIM - - #TricksterGod - TricksterGodName = insular_celtic_trickster_god_name - TricksterGodNamePossessive = insular_celtic_trickster_god_name_possessive - TricksterGodSheHe = CHARACTER_SHEHE_HE - TricksterGodHerHis = CHARACTER_HERHIS_HIS - TricksterGodHerHim = CHARACTER_HERHIM_HIM - - #WaterGod - WaterGodName = insular_celtic_water_god_name - WaterGodNamePossessive = insular_celtic_water_god_name_possessive - WaterGodSheHe = CHARACTER_SHEHE_HE - WaterGodHerHis = CHARACTER_HERHIS_HIS - WaterGodHerHim = CHARACTER_HERHIM_HIM - - #Irish abbey preeminence. - HouseOfWorship = insular_celtic_house_of_worship - HouseOfWorship2 = insular_celtic_house_of_worship_2 - HouseOfWorship3 = insular_celtic_house_of_worship_3 - HouseOfWorshipPlural = insular_celtic_house_of_worship_plural - PriestMale = insular_celtic_priest_male - PriestMalePlural = insular_celtic_priest_plural_male - PriestFemale = insular_celtic_priest_female - PriestFemalePlural = insular_celtic_priest_plural_female - PriestNeuter = insular_celtic_priest_male - PriestNeuterPlural = insular_celtic_priest_plural_male - BishopMale = insular_celtic_bishop_male - BishopMalePlural = insular_celtic_bishop_plural_male - BishopFemale = insular_celtic_bishop_female - BishopFemalePlural = insular_celtic_bishop_plural_female - BishopNeuter = insular_celtic_bishop_male - BishopNeuterPlural = insular_celtic_bishop_plural_male - ReligiousHeadName = insular_celtic_religious_head_title - ReligiousHeadTitleName = insular_celtic_religious_head_title_name - } - } - - bosnian_church = { - color = { 153 117 134 } - icon = bosnian_church - graphical_faith = "catholic_gfx" - - holy_site = jerusalem - holy_site = rome - holy_site = visoki - holy_site = ragusa - holy_site = esztergom - - #Special Tolerance - #It should be noted that the Krstjani were never *really* ecumenical. Just isolated rural Christians, mostly forgotten by both the Orthodox and Catholic churches. When they started to become relevant, passive tolerance of them faded into persecution rather quickly. - #This is reflected in-game by a decision that allows them to be accused of heresy by other ecumenical Christians if they ever become more than just a backwater curiosity. If successful, their "ecumenism" is stripped. - doctrine = special_doctrine_ecumenical_christian - - #Main Group - doctrine = doctrine_no_head - doctrine = doctrine_pluralism_pluralistic - - #Crimes - #Generally quite bad at enforcing religious dictats from Rome: many things are shunned, few things are criminal. - doctrine = doctrine_homosexuality_shunned - doctrine = doctrine_adultery_men_shunned - doctrine = doctrine_adultery_women_shunned - doctrine = doctrine_kinslaying_shunned - doctrine = doctrine_deviancy_shunned - doctrine = doctrine_witchcraft_shunned #Mostly for being rural and having an unfortunate habit of taking in travelling heretics. - - #Clerical Functions - doctrine = doctrine_clerical_function_alms_and_pacification - - #Tenets - doctrine = tenet_mendicant_preachers - doctrine = tenet_pastoral_isolation - doctrine = tenet_monasticism - - #Coronation tradition - doctrine = doctrine_no_anointment - - localization = { - #Represents the peculiar Bosnian ecclesiastic setup as best as possible. - HouseOfWorship = bosnian_house_of_worship - HouseOfWorship2 = bosnian_house_of_worship_2 - HouseOfWorship3 = bosnian_house_of_worship_3 - HouseOfWorshipPlural = bosnian_house_of_worship_plural - ReligiousHeadName = bosnian_religious_head_title - ReligiousHeadTitleName = bosnian_religious_head_title_name - DevoteeMale = bosnian_devotee_male - DevoteeMalePlural = bosnian_devotee_male_plural - DevoteeFemale = bosnian_devotee_female - DevoteeFemalePlural = bosnian_devotee_female_plural - DevoteeNeuter = bosnian_devotee_neuter - DevoteeNeuterPlural = bosnian_devotee_neuter_plural - PriestMale = bosnian_priest_male - PriestMalePlural = bosnian_priest_male_plural - PriestFemale = bosnian_priest_female - PriestFemalePlural = bosnian_priest_female_plural - PriestNeuter = bosnian_priest_neuter - PriestNeuterPlural = bosnian_priest_neuter_plural - AltPriestTermPlural = bosnian_priest_alternate_plural - BishopMale = bosnian_bishop_male - BishopMalePlural = bosnian_bishop_male_plural - BishopFemale = bosnian_bishop_female - BishopFemalePlural = bosnian_bishop_female_plural - BishopNeuter = bosnian_bishop_neuter - BishopNeuterPlural = bosnian_bishop_neuterplural - } - } - - mozarabic_church = { - color = { 124 255 142 } - icon = fp2_mozarabic - graphical_faith = "catholic_gfx" - religious_head = k_papal_state - - holy_site = jerusalem - holy_site = rome - holy_site = santiago - holy_site = toledo_mozarabic - holy_site = cordoba - - #Special Tolerance - doctrine = special_doctrine_ecumenical_christian - - #Main Group - doctrine = doctrine_pluralism_pluralistic - - #Crimes - # More used to Andalusian-Muwalladi norms than some Catholic ones. - doctrine = doctrine_homosexuality_accepted - doctrine = doctrine_deviancy_shunned - - #Clerical Functions - doctrine = doctrine_clerical_function_alms_and_pacification - - #Tenets - doctrine = tenet_adaptive - doctrine = tenet_communion - doctrine = tenet_rite - - #Coronation tradition - doctrine = doctrine_anointment_permitted - } - - adoptionist = { - color = { 255 51 51 } - icon = fp2_adoptionist - graphical_faith = "catholic_gfx" - - holy_site = lyon - holy_site = rome - holy_site = santiago - holy_site = toledo_mozarabic - holy_site = carthage_adoptionist - - #Main Group - doctrine = doctrine_pluralism_fundamentalist - - #Tenets - doctrine = tenet_religious_legal_pronouncements - doctrine = tenet_communion - doctrine = tenet_literalism - - localization = { - # Since the Elipandic school wouldn't want their own papacy, we restrict Adoptionists to an arch-bishop. - ReligiousHeadName = adoptionist_religious_head_title - ReligiousHeadTitleName = adoptionist_religious_head_title_name - } - } - } -} diff --git a/common/schemes/scheme_types/learn_language_scheme.txt b/common/schemes/scheme_types/learn_language_scheme.txt index beff07b4..7f79b721 100644 --- a/common/schemes/scheme_types/learn_language_scheme.txt +++ b/common/schemes/scheme_types/learn_language_scheme.txt @@ -65,6 +65,9 @@ } valid = { is_incapable = no + NOT = { + has_character_modifier = partially_mute_modifier + } NOT = { knows_language_of_culture = scope:target.culture } diff --git a/common/script_values/00_culture_values.txt b/common/script_values/00_culture_values.txt index d47c5746..9d51979d 100644 --- a/common/script_values/00_culture_values.txt +++ b/common/script_values/00_culture_values.txt @@ -665,6 +665,12 @@ court_language_ai_score = { min = 1 } + #Increase from number of other courts using the Language (1.5 per court). + add = { + value = scope:courts_with_language + multiply = 1.5 + } + #Adjust for Court Grandeur. #World religions primarily cares about other courts that share their faith. add = { @@ -732,6 +738,15 @@ court_language_ai_score = { } #Add nothing } + else_if = { # Immaterial harmony wants immaterial harmony languages + limit = { + faith = { has_doctrine = special_doctrine_immaterial_harmony } + NOT = { + scope:target.faith = { has_doctrine = special_doctrine_immaterial_harmony } + } + } + #Add nothing + } else_if = { #Eastern religion matching vs non Eastern religion - CGV Ignored limit = { OR = { @@ -750,13 +765,27 @@ court_language_ai_score = { else = { #Everyone else just cares about the Grandeur directly add = scope:target.court_grandeur_current } - } - - - #Increase from number of other courts using the Language (1.5 per court). - add = { - value = scope:courts_with_language - multiply = 1.5 + if = { # Only care about checking rulers who speak the language that their court speaks + limit = { + scope:target = { + NOT = { + knows_court_language_of = scope:target + } + } + } + multiply = 0 + } + else_if = { # Reduce if the target does not have the court language of their own culture + limit = { + scope:target = { + is_ai = yes + NOT = { + has_court_language_of_culture = scope:target.culture + } + } + } + multiply = 0.5 + } } #Arbitrary Geographical Bias - if our courts are not in the same region the score is divided by 2. diff --git a/common/script_values/00_men_at_arms_values.txt b/common/script_values/00_men_at_arms_values.txt index 00782379..424e0e3f 100644 --- a/common/script_values/00_men_at_arms_values.txt +++ b/common/script_values/00_men_at_arms_values.txt @@ -386,6 +386,10 @@ guanch_vaulter_recruitment_cost = @[skirmisher_recruitment_cost * 1.2] guanch_vaulter_low_maint_cost = @[skirmisher_low_maint_cost * 1.2] guanch_vaulter_high_maint_cost = @[skirmisher_high_maint_cost * 1.2] +teulu_recruitment_cost = @[light_cavalry_recruitment_cost * 1.2] +teulu_low_maint_cost = @[light_cavalry_low_maint_cost * 1.2] +teulu_high_maint_cost = @[light_cavalry_high_maint_cost * 1.2] + ###Accolade MaA accolade_skirmisher_recruitment_cost = @[skirmisher_recruitment_cost * 2] diff --git a/common/script_values/02_religion_values.txt b/common/script_values/02_religion_values.txt index 67a80bfe..a36c301b 100644 --- a/common/script_values/02_religion_values.txt +++ b/common/script_values/02_religion_values.txt @@ -3329,11 +3329,11 @@ holy_war_defensive_join_value = { # Root = faith faith_conversion_fervor_mult = { - value = define:NReligion|MAX_FERVOR + value = define:NFaith|MAX_FERVOR subtract = fervor - multiply = define:NReligion|FAITH_CREATION_FERVOR_DISCOUNT_PER_MISSING_FERVOR - max = define:NReligion|FAITH_CREATION_FERVOR_DISCOUNT_MAX - divide = define:NReligion|MAX_FERVOR + multiply = define:NFaith|FAITH_CREATION_FERVOR_DISCOUNT_PER_MISSING_FERVOR + max = define:NFaith|FAITH_CREATION_FERVOR_DISCOUNT_MAX + divide = define:NFaith|MAX_FERVOR } # Modify (multiply) the doctrine cost when creating a faith. diff --git a/common/script_values/04_ep2_wedding_values.txt b/common/script_values/04_ep2_wedding_values.txt index 74081f05..fd9c5200 100644 --- a/common/script_values/04_ep2_wedding_values.txt +++ b/common/script_values/04_ep2_wedding_values.txt @@ -816,7 +816,7 @@ if = { limit = { - scope:actor = { + scope:actor ?= { has_variable = severed_head_vassalization var:severed_head_vassalization = { this = scope:impress_check diff --git a/common/script_values/07_ep3_values.txt b/common/script_values/07_ep3_values.txt index d9bb9f3e..6e44c95f 100644 --- a/common/script_values/07_ep3_values.txt +++ b/common/script_values/07_ep3_values.txt @@ -1047,7 +1047,7 @@ ep3_hire_laamp_mercs_payment_value = { min = scope:employer.medium_gold_value if = { limit = { - scope:laamp_temp.domicile ?= { has_domicile_parameter = camp_improved_mercenary_contract_rewards } + domicile ?= { has_domicile_parameter = camp_improved_mercenary_contract_rewards } } multiply = camp_improved_mercenary_contract_rewards_value } @@ -1062,10 +1062,14 @@ ep3_hire_laamp_mercs_payment_value = { } if = { limit = { - scope:laamp_temp ?= { has_perk = hard_rule_perk } + has_perk = hard_rule_perk } multiply = adventurer_hard_rule_contract_rewards_value } + if = { + limit = { exists = var:aggregate_war_contribution_value } + add = var:aggregate_war_contribution_value + } max = { value = scope:employer.yearly_character_income if = { @@ -1421,514 +1425,7 @@ governor_efficiency = { } divide = 100 } - if = { - limit = { - OR = { - AND = { - realm_size >= 65 - realm_size < 75 - } - liege ?= { - realm_size >= 65 - realm_size < 75 - } - } - } - add = { - add = { - value = -5 - desc = game_concept_realm_size - } - divide = 100 - } - } - else_if = { - limit = { - OR = { - AND = { - realm_size >= 75 - realm_size < 85 - } - liege ?= { - realm_size >= 75 - realm_size < 85 - } - } - } - add = { - add = { - value = -10 - desc = game_concept_realm_size - } - divide = 100 - } - } - else_if = { - limit = { - - OR = { - AND = { - realm_size >= 85 - realm_size < 95 - } - liege ?= { - realm_size >= 85 - realm_size < 95 - } - } - } - add = { - add = { - value = -15 - desc = game_concept_realm_size - } - divide = 100 - } - } - else_if = { - limit = { - - OR = { - AND = { - realm_size >= 95 - realm_size < 105 - } - liege ?= { - realm_size >= 95 - realm_size < 105 - } - } - } - add = { - add = { - value = -20 - desc = game_concept_realm_size - } - divide = 100 - } - } - else_if = { - limit = { - - OR = { - AND = { - realm_size >= 105 - realm_size < 115 - } - liege ?= { - realm_size >= 105 - realm_size < 115 - } - } - } - add = { - add = { - value = -25 - desc = game_concept_realm_size - } - divide = 100 - } - } - else_if = { - limit = { - - OR = { - AND = { - realm_size >= 115 - realm_size < 125 - } - liege ?= { - realm_size >= 115 - realm_size < 125 - } - } - } - add = { - add = { - value = -30 - desc = game_concept_realm_size - } - divide = 100 - } - } - else_if = { - limit = { - - OR = { - AND = { - realm_size >= 125 - realm_size < 135 - } - liege ?= { - realm_size >= 125 - realm_size < 135 - } - } - } - add = { - add = { - value = -35 - desc = game_concept_realm_size - } - divide = 100 - } - } - else_if = { - limit = { - - OR = { - AND = { - realm_size >= 135 - realm_size < 145 - } - liege ?= { - realm_size >= 135 - realm_size < 145 - } - } - } - add = { - add = { - value = -40 - desc = game_concept_realm_size - } - divide = 100 - } - } - else_if = { - limit = { - - OR = { - AND = { - realm_size >= 145 - realm_size < 155 - } - liege ?= { - realm_size >= 145 - realm_size < 155 - } - } - } - add = { - add = { - value = -45 - desc = game_concept_realm_size - } - divide = 100 - } - } - else_if = { - limit = { - - OR = { - AND = { - realm_size >= 155 - realm_size < 165 - } - liege ?= { - realm_size >= 155 - realm_size < 165 - } - } - } - add = { - add = { - value = -50 - desc = game_concept_realm_size - } - divide = 100 - } - } - else_if = { - limit = { - - OR = { - AND = { - realm_size >= 175 - realm_size < 185 - } - liege ?= { - realm_size >= 175 - realm_size < 185 - } - } - } - add = { - add = { - value = -55 - desc = game_concept_realm_size - } - divide = 100 - } - } - else_if = { - limit = { - - OR = { - AND = { - realm_size >= 185 - realm_size < 195 - } - liege ?= { - realm_size >= 185 - realm_size < 195 - } - } - } - add = { - add = { - value = -60 - desc = game_concept_realm_size - } - divide = 100 - } - } - else_if = { - limit = { - - OR = { - AND = { - realm_size >= 195 - realm_size < 205 - } - liege ?= { - realm_size >= 195 - realm_size < 205 - } - } - } - add = { - add = { - value = -65 - desc = game_concept_realm_size - } - divide = 100 - } - } - else_if = { - limit = { - - OR = { - AND = { - realm_size >= 205 - realm_size < 215 - } - liege ?= { - realm_size >= 205 - realm_size < 215 - } - } - } - add = { - add = { - value = -70 - desc = game_concept_realm_size - } - divide = 100 - } - } - else_if = { - limit = { - - OR = { - AND = { - realm_size >= 215 - realm_size < 225 - } - liege ?= { - realm_size >= 215 - realm_size < 225 - } - } - } - add = { - add = { - value = -75 - desc = game_concept_realm_size - } - divide = 100 - } - } - else_if = { - limit = { - - OR = { - AND = { - realm_size >= 225 - realm_size < 235 - } - liege ?= { - realm_size >= 225 - realm_size < 235 - } - } - } - add = { - add = { - value = -80 - desc = game_concept_realm_size - } - divide = 100 - } - } - else_if = { - limit = { - - OR = { - AND = { - realm_size >= 235 - realm_size < 245 - } - liege ?= { - realm_size >= 235 - realm_size < 245 - } - } - } - add = { - add = { - value = -85 - desc = game_concept_realm_size - } - divide = 100 - } - } - else_if = { - limit = { - OR = { - AND = { - realm_size >= 245 - realm_size < 255 - - } - liege ?= { - realm_size >= 245 - realm_size < 255 - - } - } - } - add = { - add = { - value = -90 - desc = game_concept_realm_size - } - divide = 100 - } - } - else_if = { - limit = { - - OR = { - AND = { - realm_size >= 255 - realm_size < 265 - } - liege ?= { - realm_size >= 255 - realm_size < 265 - } - } - } - add = { - add = { - value = -95 - desc = game_concept_realm_size - } - divide = 100 - } - } - else_if = { - limit = { - OR = { - AND = { - realm_size >= 265 - realm_size < 275 - - } - liege ?= { - realm_size >= 265 - realm_size < 275 - - } - } - } - add = { - add = { - value = -100 - desc = game_concept_realm_size - } - divide = 100 - } - } - else_if = { - limit = { - OR = { - AND = { - realm_size >= 275 - realm_size < 285 - - } - liege ?= { - realm_size >= 275 - realm_size < 285 - - } - } - } - add = { - add = { - value = -105 - desc = game_concept_realm_size - } - divide = 100 - } - } - else_if = { - limit = { - - OR = { - AND = { - realm_size >= 285 - realm_size < 295 - } - liege ?= { - realm_size >= 285 - realm_size < 295 - } - } - } - add = { - add = { - value = -110 - desc = game_concept_realm_size - } - divide = 100 - } - } - else_if = { - limit = { - - OR = { - AND = { - realm_size >= 300 - } - liege ?= { - realm_size >= 300 - } - } - } - add = { - add = { - value = -115 - desc = game_concept_realm_size - } - divide = 100 - } - } - else = { - } # Rank 4 or 5 education trait if = { limit = { @@ -2042,7 +1539,7 @@ governor_efficiency = { # Aspirations if = { limit = { # Service - house ?= { has_house_power_parameter = service_house_governor_efficiency_bonus } + house ?= { has_house_aspiration_parameter = service_house_governor_efficiency_bonus } } add = { add = { @@ -2055,7 +1552,7 @@ governor_efficiency = { } if = { limit = { # Governance - house ?= { has_house_power_parameter = governance_improved_governor_efficiency_bonus } + house ?= { has_house_aspiration_parameter = governance_improved_governor_efficiency_bonus } } add = { add = { @@ -2540,10 +2037,8 @@ governor_efficiency = { } if = { # The Forbidden City special building bonus limit = { - top_liege ?= { - capital_province = { - has_building_or_higher = forbidden_city_01 - } + top_liege.capital_province ?= { + has_building_or_higher = forbidden_city_01 } } add = { @@ -2900,20 +2395,38 @@ estate_local_theme_cost_reduction_value = -0.25 estate_court_tutor_cost_reduction_low_value = 0.25 estate_court_tutor_cost_reduction_value = 0.5 estate_court_tutor_cost_reduction_high_value = 0.75 -estate_increased_tutor_aptitude_value = 20 +estate_increased_tutor_aptitude_1_value = 5 +estate_increased_tutor_aptitude_2_value = 10 +estate_increased_tutor_aptitude_3_value = 15 +estate_increased_tutor_aptitude_4_value = 20 +estate_increased_tutor_aptitude_5_value = 25 +estate_increased_tutor_aptitude_6_value = 30 +domicile_increased_wet_nurse_aptitude_1_value = 5 +domicile_increased_wet_nurse_aptitude_2_value = 10 +domicile_increased_wet_nurse_aptitude_3_value = 15 +domicile_increased_wet_nurse_aptitude_4_value = 20 +domicile_increased_wet_nurse_aptitude_5_value = 25 +domicile_increased_wet_nurse_aptitude_6_value = 30 estate_increase_charioteer_aptitude_value = 20 estate_improved_wine_cellar_1_value = 0.1 estate_improved_wine_cellar_2_value = 0.25 estate_improved_wine_cellar_3_value = 0.5 estate_increase_bodyguard_aptitude_1_value = 5 -estate_increase_bodyguard_aptitude_2_value = 15 +estate_increase_bodyguard_aptitude_2_value = 10 +estate_increase_bodyguard_aptitude_3_value = 15 +estate_increase_bodyguard_aptitude_4_value = 20 +estate_increase_bodyguard_aptitude_5_value = 25 +estate_increase_bodyguard_aptitude_6_value = 30 estate_cheaper_feast_cost_value = 0.2 estate_reduce_council_position_cost_value = 0.2 estate_reduce_commission_artifact_cost_value = 0.5 estate_increase_antiquarian_aptitude_value = 20 -estate_increase_physician_aptitude_value = 10 -estate_increase_physician_aptitude_2_value = 15 -estate_increase_physician_aptitude_3_value = 20 +estate_increase_physician_aptitude_1_value = 5 +estate_increase_physician_aptitude_2_value = 10 +estate_increase_physician_aptitude_3_value = 15 +estate_increase_physician_aptitude_4_value = 20 +estate_increase_physician_aptitude_5_value = 25 +estate_increase_physician_aptitude_6_value = 30 estate_increase_master_of_hunt_aptitude_value = 20 estate_increase_master_of_horse_aptitude_value = 20 estate_cheaper_hunt_cost_value = 0.2 @@ -4643,6 +4156,38 @@ appointment_investment_cap = { limit = { has_domicile_building = reception_hall_05 } add = 40 } + if = { + limit = { has_domicile_building = east_asian_estate_main_02 } + add = 10 + } + else_if = { + limit = { has_domicile_building = east_asian_estate_main_03 } + add = 20 + } + else_if = { + limit = { has_domicile_building = east_asian_estate_main_04 } + add = 30 + } + else_if = { + limit = { has_domicile_building = east_asian_estate_main_05 } + add = 40 + } + if = { + limit = { has_domicile_building = east_asian_estate_reception_hall_02 } + add = 10 + } + else_if = { + limit = { has_domicile_building = east_asian_estate_reception_hall_03 } + add = 20 + } + else_if = { + limit = { has_domicile_building = east_asian_estate_reception_hall_04 } + add = 30 + } + else_if = { + limit = { has_domicile_building = east_asian_estate_reception_hall_05 } + add = 40 + } if = { limit = { has_domicile_building = japanese_manor_office_01 } add = 5 @@ -4676,15 +4221,15 @@ appointment_investment_cap = { add = { value = 0 if = { - limit = { has_house_power_parameter = increased_investment_cap_bonus_3 } + limit = { has_house_aspiration_parameter = increased_investment_cap_bonus_3 } add = increased_investment_cap_bonus_3_value } else_if = { - limit = { has_house_power_parameter = increased_investment_cap_bonus_2 } + limit = { has_house_aspiration_parameter = increased_investment_cap_bonus_2 } add = increased_investment_cap_bonus_2_value } else_if = { - limit = { has_house_power_parameter = increased_investment_cap_bonus_1 } + limit = { has_house_aspiration_parameter = increased_investment_cap_bonus_1 } add = increased_investment_cap_bonus_1_value } desc = political_meddlers_attribute_name_desc @@ -6744,13 +6289,6 @@ laamp_city_construction_year_value = { add = 100 } -estate_increase_tutor_aptitude_value_1 = 5 -estate_increase_tutor_aptitude_value_2 = 10 -estate_increase_tutor_aptitude_value_3 = 15 -estate_increase_tutor_aptitude_value_4 = 20 -estate_increase_tutor_aptitude_value_5 = 25 -estate_increase_tutor_aptitude_value_6 = 30 - force_step_down_interaction_gold_cost_value = { value = 0 scope:recipient = { @@ -6831,15 +6369,15 @@ building_construction_dynasty_prestige_gain_value = { value = 0 scope:character.house ?= { if = { - limit = { has_house_power_parameter = gain_dynasty_prestige_on_building_construction_3 } + limit = { has_house_aspiration_parameter = gain_dynasty_prestige_on_building_construction_3 } add = gain_dynasty_prestige_on_building_construction_3_value } else_if = { - limit = { has_house_power_parameter = gain_dynasty_prestige_on_building_construction_2 } + limit = { has_house_aspiration_parameter = gain_dynasty_prestige_on_building_construction_2 } add = gain_dynasty_prestige_on_building_construction_2_value } else_if = { - limit = { has_house_power_parameter = gain_dynasty_prestige_on_building_construction_1 } + limit = { has_house_aspiration_parameter = gain_dynasty_prestige_on_building_construction_1 } add = gain_dynasty_prestige_on_building_construction_1_value } } @@ -6855,20 +6393,25 @@ swing_scales_cost_reduction_3_value = -0.2 swing_scales_cost_multipler_value = { value = 1 - house ?= { - if = { - limit = { has_house_power_parameter = respected_despots } + if = { + limit = { + exists = house + } + house = { if = { - limit = { has_house_power_parameter = swing_scales_cost_reduction_3 } - add = swing_scales_cost_reduction_3_value - } - else_if = { - limit = { has_house_power_parameter = swing_scales_cost_reduction_2 } - add = swing_scales_cost_reduction_2_value - } - else_if = { - limit = { has_house_power_parameter = swing_scales_cost_reduction_1 } - add = swing_scales_cost_reduction_1_value + limit = { has_house_aspiration_parameter = respected_despots } + if = { + limit = { has_house_aspiration_parameter = swing_scales_cost_reduction_3 } + add = swing_scales_cost_reduction_3_value + } + else_if = { + limit = { has_house_aspiration_parameter = swing_scales_cost_reduction_2 } + add = swing_scales_cost_reduction_2_value + } + else_if = { + limit = { has_house_aspiration_parameter = swing_scales_cost_reduction_1 } + add = swing_scales_cost_reduction_1_value + } } } } diff --git a/common/scripted_character_templates/00_court_character_templates.txt b/common/scripted_character_templates/00_court_character_templates.txt index b7757936..e3942ede 100644 --- a/common/scripted_character_templates/00_court_character_templates.txt +++ b/common/scripted_character_templates/00_court_character_templates.txt @@ -1,5 +1,6 @@ bleeding_diplomat_character = { age = { 18 60 } + dynasty = none gender = male random_traits_list = { count = 2 @@ -26,6 +27,7 @@ preaching_tour_priest_character = { age = { 50 80 } + dynasty = none gender_female_chance = root_faith_clergy_gender_female_chance random_traits_list = { count = 2 @@ -55,6 +57,7 @@ preaching_tour_priest_character = { bernard_of_clairvaux_character = { name = Bernard_of_Clairvaux age = { 20 63 } + dynasty = none gender = male trait = saint trait = ambitious @@ -66,6 +69,7 @@ bernard_of_clairvaux_character = { head_chasing_monk_character = { age = { 20 30 } + dynasty = none gender_female_chance = root_faith_clergy_gender_female_chance faith = root.faith culture = root.culture @@ -80,6 +84,7 @@ head_chasing_monk_character = { fake_artifact_peddler_character = { age = { 20 80 } + dynasty = none trait = greedy trait = education_intrigue_2 random_traits = yes @@ -87,6 +92,7 @@ fake_artifact_peddler_character = { adoring_fan_character = { age = { 20 80 } + dynasty = none gender_female_chance = root_faith_clergy_gender_female_chance trait = trusting trait = education_martial_3 @@ -95,6 +101,7 @@ adoring_fan_character = { trepanner_character = { age = { 20 40 } + dynasty = none gender_female_chance = root_faith_clergy_gender_female_chance trait = lifestyle_physician diff --git a/common/scripted_character_templates/00_court_position_templates.txt b/common/scripted_character_templates/00_court_position_templates.txt index 080a4798..68b42e2a 100644 --- a/common/scripted_character_templates/00_court_position_templates.txt +++ b/common/scripted_character_templates/00_court_position_templates.txt @@ -1,6 +1,7 @@  scribe_travel_option_character = { age = { 25 30 } + dynasty = none gender_female_chance = 50 trait = devoted diff --git a/common/scripted_character_templates/00_fund_inspiration_character_templates.txt b/common/scripted_character_templates/00_fund_inspiration_character_templates.txt index f7acb5d7..2dcf3a2f 100644 --- a/common/scripted_character_templates/00_fund_inspiration_character_templates.txt +++ b/common/scripted_character_templates/00_fund_inspiration_character_templates.txt @@ -1,5 +1,6 @@ adventurer_pregnant_lover_character = { age = { 18 40 } + dynasty = none gender = female random_traits_list = { count = 2 @@ -24,6 +25,7 @@ adventurer_female_lover_character = { age = { 18 40 } + dynasty = none gender = female random_traits = yes trait = beauty_good_3 @@ -31,6 +33,7 @@ adventurer_female_lover_character = { adventurer_male_lover_character = { age = { 18 40 } + dynasty = none gender = male random_traits = yes trait = beauty_good_3 diff --git a/common/scripted_character_templates/00_hold_court_character_templates.txt b/common/scripted_character_templates/00_hold_court_character_templates.txt index 6b4d1639..dca708a7 100644 --- a/common/scripted_character_templates/00_hold_court_character_templates.txt +++ b/common/scripted_character_templates/00_hold_court_character_templates.txt @@ -1,6 +1,7 @@  demanding_poet_character = { age = { 20 30 } + dynasty = none faith = root.faith culture = root.culture trait = education_learning_2 @@ -19,6 +20,7 @@ demanding_poet_character = { demanding_poet_lover_character = { age = { 20 30 } + dynasty = none faith = root.faith culture = root.culture trait = beauty_good_2 @@ -37,6 +39,7 @@ demanding_poet_lover_character = { demanding_poet_diplomacy_character = { age = { 20 30 } + dynasty = none faith = root.faith culture = root.culture trait = beauty_good_2 @@ -68,6 +71,7 @@ demanding_poet_diplomacy_character = { demanding_poet_stewardship_character = { age = { 20 30 } + dynasty = none faith = root.faith culture = root.culture trait = beauty_good_2 @@ -87,6 +91,7 @@ demanding_poet_stewardship_character = { demanding_poet_martial_character = { age = { 20 30 } + dynasty = none faith = root.faith culture = root.culture trait = beauty_good_2 @@ -118,6 +123,7 @@ demanding_poet_martial_character = { demanding_poet_intrigue_character = { age = { 20 30 } + dynasty = none faith = root.faith culture = root.culture trait = beauty_good_2 @@ -136,6 +142,7 @@ demanding_poet_intrigue_character = { } demanding_poet_learning_character = { age = { 20 30 } + dynasty = none faith = root.faith culture = root.culture trait = beauty_good_2 @@ -155,6 +162,7 @@ demanding_poet_learning_character = { suspicious_genealogist_character = { age = { 70 80 } + dynasty = none faith = root.faith culture = root.culture trait = education_intrigue_2 @@ -169,6 +177,7 @@ suspicious_genealogist_character = { alluring_suitor_character = { age = { 18 35 } + dynasty = none random_traits_list = { count = 1 beauty_good_2 = {} diff --git a/common/scripted_character_templates/00_knight_templates.txt b/common/scripted_character_templates/00_knight_templates.txt index 4203d8dc..39d8b508 100644 --- a/common/scripted_character_templates/00_knight_templates.txt +++ b/common/scripted_character_templates/00_knight_templates.txt @@ -1,5 +1,6 @@ knight_errant_character = { age = { 18 32 } + dynasty = none random_traits = no culture = root.location.culture faith = root.location.faith @@ -43,6 +44,7 @@ knight = { age = { 18 32 } + dynasty = none random_traits = yes culture = root.culture faith = root.faith @@ -86,6 +88,7 @@ knight = { wandering_knight_character = { age = { 18 35 } + dynasty = none random_traits_list = { count = 1 education_martial_2 = {} diff --git a/common/scripted_character_templates/00_mystic_templates.txt b/common/scripted_character_templates/00_mystic_templates.txt index 1628805a..67c7a066 100644 --- a/common/scripted_character_templates/00_mystic_templates.txt +++ b/common/scripted_character_templates/00_mystic_templates.txt @@ -1,5 +1,6 @@ default_mystic_character = { age = { 30 80 } + dynasty = none trait = lifestyle_mystic random_traits = yes faith = root.faith @@ -37,6 +38,7 @@ local_saint_template = { age = { 30 80 } faith = root.faith culture = root.culture + dynasty = none gender_female_chance = { if = { limit = { root.faith = { has_doctrine = doctrine_gender_male_dominated } } @@ -243,6 +245,7 @@ local_saint_template = { mendicant_mystic_character = { age = { 30 80 } + dynasty = none # Education random_traits_list = { count = 1 @@ -295,6 +298,7 @@ mendicant_mystic_character = { wise_woman_character = { age = { 30 80 } + dynasty = none #Education random_traits_list = { count = 1 @@ -425,6 +429,7 @@ stylite_saint_character = { ancient_forest_traveler_character = { age = { 60 90 } + dynasty = none # Education random_traits_list = { count = 1 diff --git a/common/scripted_character_templates/00_officials_templates.txt b/common/scripted_character_templates/00_officials_templates.txt index c3cc2f6e..7e44281a 100644 --- a/common/scripted_character_templates/00_officials_templates.txt +++ b/common/scripted_character_templates/00_officials_templates.txt @@ -1,6 +1,7 @@  tax_collector_character = { age = { 30 65 } + dynasty = none gender_female_chance = root_faith_dominant_gender_female_chance random_traits = yes culture = scope:county.culture @@ -173,6 +174,7 @@ administrator_character = { estate_owner_character = { age = { 20 40 } + dynasty = none trait = deceitful random_traits_list = { count = 1 @@ -203,6 +205,7 @@ estate_owner_character = { herald_character = { age = { 30 50 } + dynasty = none faith = root.faith culture = root.culture gender_female_chance = root_faith_dominant_gender_female_chance diff --git a/common/scripted_character_templates/00_peasant_leader_templates.txt b/common/scripted_character_templates/00_peasant_leader_templates.txt index 1a5fc97b..31eed9e1 100644 --- a/common/scripted_character_templates/00_peasant_leader_templates.txt +++ b/common/scripted_character_templates/00_peasant_leader_templates.txt @@ -1,5 +1,6 @@ peasant_leader_stewardship_character = { age = { 20 40 } + dynasty = none random_traits = yes culture = scope:project_county.culture faith = scope:project_county.faith @@ -25,6 +26,7 @@ peasant_leader_martial_character = { age = { 20 40 } + dynasty = none random_traits = yes culture = scope:project_county.culture faith = scope:project_county.faith diff --git a/common/scripted_character_templates/00_physician_character_template.txt b/common/scripted_character_templates/00_physician_character_template.txt index 35265317..92aa147e 100644 --- a/common/scripted_character_templates/00_physician_character_template.txt +++ b/common/scripted_character_templates/00_physician_character_template.txt @@ -1,5 +1,6 @@ physician_low_character_template = { age = { 18 50 } + dynasty = none faith = root.faith culture = root.culture gender_female_chance = 50 @@ -32,6 +33,7 @@ physician_high_character_template = { age = { 24 50 } + dynasty = none faith = root.faith culture = root.culture gender_female_chance = 50 @@ -65,6 +67,7 @@ physician_high_character_template = { physician_excellent_character_template = { age = { 30 60 } + dynasty = none faith = root.faith culture = root.culture gender_female_chance = 50 diff --git a/common/scripted_character_templates/00_pool_repopulation_character_templates.txt b/common/scripted_character_templates/00_pool_repopulation_character_templates.txt index 8e18e62d..0927081a 100644 --- a/common/scripted_character_templates/00_pool_repopulation_character_templates.txt +++ b/common/scripted_character_templates/00_pool_repopulation_character_templates.txt @@ -1186,7 +1186,6 @@ pool_repopulate_local_flavor = { lifestyle_hunter = {} } dynasty = none - after_creation = { random_list = { @@ -1534,7 +1533,7 @@ pool_repopulate_local_flavor = { 450 = { trigger = { NOT = { - trait_is_criminal_in_faith_trigger = { TRAIT = witch FAITH = this.faith GENDER_CHARACTER = this } + trait_is_criminal_in_faith_trigger = { TRAIT = trait:witch FAITH = this.faith GENDER_CHARACTER = this } } } add_trait = witch diff --git a/common/scripted_character_templates/00_priest_character_template.txt b/common/scripted_character_templates/00_priest_character_template.txt index adffb096..68fdf709 100644 --- a/common/scripted_character_templates/00_priest_character_template.txt +++ b/common/scripted_character_templates/00_priest_character_template.txt @@ -1,5 +1,6 @@ priest_character_template = { age = { 30 60 } + dynasty = none random_traits_list = { count = 1 education_learning_2 = {} @@ -25,6 +26,7 @@ simple_priest_character_template = { age = { 30 60 } + dynasty = none random_traits_list = { count = 1 education_learning_2 = {} @@ -46,6 +48,7 @@ simple_priest_character_template = { virtuous_priest_character_template = { age = { 30 60 } + dynasty = none random_traits_list = { count = 1 education_learning_3 = {} @@ -1088,6 +1091,7 @@ location_pilgrim_template = { tournament_priest_character_template = { age = { 30 60 } + dynasty = none random_traits_list = { count = 1 education_learning_2 = {} diff --git a/common/scripted_character_templates/00_saharan_nomad_template.txt b/common/scripted_character_templates/00_saharan_nomad_template.txt index 30c16ca4..ce83bd5f 100644 --- a/common/scripted_character_templates/00_saharan_nomad_template.txt +++ b/common/scripted_character_templates/00_saharan_nomad_template.txt @@ -1,6 +1,7 @@ #Clan leader saharan_clan_leader_character = { age = { 30 50 } + dynasty = none #Education random_traits_list = { count = 1 diff --git a/common/scripted_character_templates/00_scholar_template.txt b/common/scripted_character_templates/00_scholar_template.txt index 86883bd5..f690b151 100644 --- a/common/scripted_character_templates/00_scholar_template.txt +++ b/common/scripted_character_templates/00_scholar_template.txt @@ -2,6 +2,7 @@ # Root scholars scholar_character = { age = { 35 50 } + dynasty = none random_traits_list = { count = 1 education_learning_3 = {} @@ -29,6 +30,7 @@ scholar_character = { writer_character = { age = { 25 60 } + dynasty = none random_traits_list = { count = 1 education_learning_2 = {} @@ -59,6 +61,7 @@ writer_character = { # Capital county-based scholars capital_scholar_character = { age = { 35 50 } + dynasty = none random_traits_list = { count = 1 education_learning_2 = {} @@ -77,6 +80,7 @@ capital_scholar_character = { capital_writer_character = { age = { 25 60 } + dynasty = none random_traits_list = { count = 1 education_learning_2 = {} diff --git a/common/scripted_character_templates/00_scripted_character_templates.txt b/common/scripted_character_templates/00_scripted_character_templates.txt index 5b31b0f9..65e457fe 100644 --- a/common/scripted_character_templates/00_scripted_character_templates.txt +++ b/common/scripted_character_templates/00_scripted_character_templates.txt @@ -1,5 +1,6 @@ frankish_knight_character = { age = { 20 40 } + dynasty = none random_traits = yes culture = culture:frankish faith = faith:catholic diff --git a/common/scripted_character_templates/00_soldier_character_templates.txt b/common/scripted_character_templates/00_soldier_character_templates.txt index b0da6d40..faac0223 100644 --- a/common/scripted_character_templates/00_soldier_character_templates.txt +++ b/common/scripted_character_templates/00_soldier_character_templates.txt @@ -1,6 +1,7 @@  soldier_friend_character = { age = { 18 35 } + dynasty = none random_traits_list = { count = 1 education_martial_2 = {} @@ -59,6 +60,7 @@ soldier_friend_character = { new_commander_character = { age = { 18 40 } + dynasty = none random_traits_list = { count = 1 education_martial_2 = {} @@ -129,6 +131,7 @@ new_commander_character = { new_warrior_character = { age = { 18 40 } + dynasty = none random_traits_list = { count = 1 education_martial_2 = {} @@ -245,6 +248,7 @@ new_warrior_character = { new_siege_engineer = { age = { 30 45 } + dynasty = none random_traits_list = { count = 1 education_martial_4 = {} @@ -319,6 +323,7 @@ new_siege_engineer = { new_berserker_character = { age = { 18 40 } + dynasty = none random_traits_list = { count = 1 education_martial_1 = {} @@ -396,6 +401,7 @@ new_berserker_character = { mercenary = { age = { 25 42 } + dynasty = none random_traits_list = { count = 1 education_martial_3 = {} @@ -446,6 +452,7 @@ mercenary = { great_mercenary = { age = { 25 42 } + dynasty = none random_traits_list = { count = 1 @@ -504,6 +511,7 @@ great_mercenary = { retired_mercenary = { age = { 40 60 } + dynasty = none random_traits_list = { count = 1 education_martial_3 = {} @@ -556,6 +564,7 @@ retired_mercenary = { new_raider_character = { age = { 40 60 } + dynasty = none random_traits_list = { count = 1 education_martial_2 = {} @@ -592,6 +601,7 @@ new_raider_character = { honorable_soldier_character = { age = { 30 50 } + dynasty = none random_traits_list = { count = 1 education_martial_3 = {} @@ -641,6 +651,7 @@ honorable_soldier_character = { old_knight_teacher = { age = { 55 60 } + dynasty = none random_traits_list = { count = 1 education_martial_3 = {} @@ -687,6 +698,7 @@ old_knight_teacher = { wrestler_character = { age = { 25 42 } + dynasty = none trait = education_martial_1 diff --git a/common/scripted_character_templates/00_terrain_specialist_templates.txt b/common/scripted_character_templates/00_terrain_specialist_templates.txt index 4343e452..82052fb5 100644 --- a/common/scripted_character_templates/00_terrain_specialist_templates.txt +++ b/common/scripted_character_templates/00_terrain_specialist_templates.txt @@ -1,5 +1,6 @@ winter_commander_character = { age = { 18 40 } + dynasty = none random_traits_list = { count = 1 education_martial_2 = {} @@ -56,6 +57,7 @@ forest_commander_character = { age = { 18 40 } + dynasty = none random_traits_list = { count = 1 education_martial_2 = {} @@ -107,6 +109,7 @@ forest_commander_character = { mountain_commander_character = { age = { 18 40 } + dynasty = none random_traits_list = { count = 1 education_martial_2 = {} @@ -149,6 +152,7 @@ mountain_commander_character = { desert_commander_character = { age = { 18 40 } + dynasty = none random_traits_list = { count = 1 education_martial_2 = {} @@ -192,6 +196,7 @@ desert_commander_character = { hill_commander_character = { age = { 18 40 } + dynasty = none random_traits_list = { count = 1 education_martial_2 = {} @@ -231,6 +236,7 @@ hill_commander_character = { jungle_commander_character = { age = { 18 40 } + dynasty = none random_traits_list = { count = 1 education_martial_2 = {} @@ -282,6 +288,7 @@ jungle_commander_character = { open_commander_character = { age = { 18 40 } + dynasty = none random_traits_list = { count = 1 education_martial_2 = {} @@ -331,6 +338,7 @@ open_commander_character = { #Slightly different to the above; used in the Hereward story cycle wetlands_commander_character = { age = { 18 40 } + dynasty = none culture = root.culture faith = root.faith gender_female_chance = root_soldier_female_chance diff --git a/common/scripted_character_templates/01_bp1_filippa_character_templates.txt b/common/scripted_character_templates/01_bp1_filippa_character_templates.txt index 2e83714c..41da60fe 100644 --- a/common/scripted_character_templates/01_bp1_filippa_character_templates.txt +++ b/common/scripted_character_templates/01_bp1_filippa_character_templates.txt @@ -1,6 +1,7 @@  bp1_yearly_2021_martial_person_template = { age = { 18 35 } + dynasty = none random_traits_list = { count = 1 education_martial_3 = {} @@ -56,6 +57,7 @@ bp1_yearly_2021_martial_person_template = { bp1_yearly_2021_learning_witch_template = { age = { 18 35 } + dynasty = none random_traits_list = { count = 1 lifestyle_mystic = {} @@ -114,6 +116,7 @@ bp1_yearly_2021_learning_witch_template = { bp1_yearly_2021_learning_person_template = { age = { 18 35 } + dynasty = none random_traits_list = { count = 1 lifestyle_mystic = {} @@ -176,6 +179,7 @@ bp1_yearly_2021_learning_person_template = { bp1_yearly_2021_stewardship_person_template = { age = { 18 35 } + dynasty = none random_traits_list = { count = 1 education_stewardship_3 = {} @@ -212,6 +216,7 @@ bp1_yearly_2021_stewardship_person_template = { bp1_yearly_2021_diplomacy_person_template = { age = { 18 35 } + dynasty = none random_traits_list = { count = 1 education_diplomacy_3 = {} @@ -254,6 +259,7 @@ bp1_yearly_2021_diplomacy_person_template = { bp1_yearly_2021_intrigue_person_template = { age = { 18 35 } + dynasty = none random_traits_list = { count = 1 education_intrigue_3 = {} diff --git a/common/scripted_character_templates/01_ep1_character_templates.txt b/common/scripted_character_templates/01_ep1_character_templates.txt index 75d788ae..9fa8d72b 100644 --- a/common/scripted_character_templates/01_ep1_character_templates.txt +++ b/common/scripted_character_templates/01_ep1_character_templates.txt @@ -1,5 +1,6 @@ frontier_hero_template = { age = { 18 30 } + dynasty = none trait = education_martial_4 trait = brave random_traits_list = { @@ -225,7 +226,6 @@ inspired_template = { local_artisan_template = { age = { 20 40 } - dynasty = none faith = root.faith culture = root.culture dynasty = none @@ -995,6 +995,7 @@ local_dispute_template = { symposium_template = { # General age = { 55 65 } + dynasty = none faith = scope:symposium_ruler.faith culture = scope:symposium_ruler.culture gender_female_chance = root_faith_dominant_gender_adjusted_female_chance diff --git a/common/scripted_character_templates/01_fp1_character_templates.txt b/common/scripted_character_templates/01_fp1_character_templates.txt index b99ae32a..d9f631fc 100644 --- a/common/scripted_character_templates/01_fp1_character_templates.txt +++ b/common/scripted_character_templates/01_fp1_character_templates.txt @@ -250,6 +250,7 @@ fp1_ms_vagrant_character = { fp1_western_warrior_character = { #General age = { 30 60 } + dynasty = none faith = scope:scandinavian_county.faith culture = scope:scandinavian_county.culture #Education @@ -309,6 +310,7 @@ fp1_western_warrior_character = { fp1_eastern_warrior_character = { #General age = { 30 60 } + dynasty = none faith = scope:scandinavian_county.faith culture = scope:scandinavian_county.culture #Education @@ -371,6 +373,7 @@ fp1_eastern_warrior_character = { fp1_jomsviking_bigwig = { #General age = { 30 60 } + dynasty = none faith = faith:norse_pagan culture = culture:norse #Education @@ -441,6 +444,7 @@ fp1_jomsviking_bigwig = { fp1_jomsviking_retainer_martial = { #General age = { 25 45 } + dynasty = none faith = faith:norse_pagan culture = root.culture #Education @@ -499,6 +503,7 @@ fp1_jomsviking_retainer_martial = { fp1_jomsviking_retainer_prowess = { #General age = { 25 45 } + dynasty = none faith = faith:norse_pagan culture = root.culture #Education @@ -712,6 +717,7 @@ fp1_truthful_explorer_character = { fp1_islamic_explorer_character = { #General age = { 30 60 } + dynasty = none faith = scope:sponsoring_liege.faith culture = scope:sponsoring_liege.culture dynasty = generate @@ -1216,6 +1222,7 @@ fp1_trade_partner_warrior = { # Local Warlords old_country_local_warlord_template = { age = { 20 40 } + dynasty = none random_traits = yes culture = scope:current_county.title_province.culture faith = scope:current_county.title_province.faith diff --git a/common/scripted_character_templates/01_tgp_japan_character_templates.txt b/common/scripted_character_templates/01_tgp_japan_character_templates.txt index b1bf5743..c26a87f8 100644 --- a/common/scripted_character_templates/01_tgp_japan_character_templates.txt +++ b/common/scripted_character_templates/01_tgp_japan_character_templates.txt @@ -5,6 +5,7 @@ tgp_japan_yearly_events_pearl_diver_template = { age = { 18 70 } + dynasty = none #Force the character to always be brave and calm trait = brave trait = calm @@ -54,6 +55,7 @@ tgp_japan_yearly_events_pearl_diver_template = { tgp_japan_yearly_events_tengu_warrior_template = { age = { 35 70 } + dynasty = none gender_female_chance = root_soldier_female_chance trait = reclusive trait = lifestyle_blademaster diff --git a/common/scripted_character_templates/03_fp2_character_templates.txt b/common/scripted_character_templates/03_fp2_character_templates.txt index d57e6d17..6bb0fefe 100644 --- a/common/scripted_character_templates/03_fp2_character_templates.txt +++ b/common/scripted_character_templates/03_fp2_character_templates.txt @@ -7,6 +7,7 @@ # Super Scholar celebration_scholar_character = { age = { 35 50 } + dynasty = none random_traits_list = { count = 1 education_learning_2 = {} @@ -52,6 +53,7 @@ celebration_scholar_character = { celebration_martial_character = { age = { 18 30 } + dynasty = none trait = brave random_traits_list = { count = 1 @@ -104,6 +106,7 @@ celebration_martial_character = { celebration_diplomat_character = { age = { 18 30 } + dynasty = none trait = brave random_traits_list = { count = 1 @@ -254,6 +257,7 @@ celebration_hunter_character = { celebration_priest_character = { age = { 30 60 } + dynasty = none random_traits_list = { count = 1 education_learning_2 = {} @@ -482,6 +486,7 @@ celebration_artisan_character = { celebration_chessmaster_character = { age = { 35 50 } + dynasty = none random_traits_list = { count = { 0 1 } @@ -527,6 +532,7 @@ celebration_chessmaster_character = { spanish_jewish_merchant_character = { age = { 25 50 } + dynasty = none random_traits_list = { count = 1 @@ -562,6 +568,7 @@ spanish_jewish_merchant_character = { spanish_conversos_character = { age = { 25 50 } + dynasty = none random_traits = yes @@ -573,6 +580,7 @@ spanish_conversos_character = { toledan_night_character = { age = { 25 50 } + dynasty = none trait = sadistic random_traits_list = { count = 1 diff --git a/common/scripted_character_templates/04_ep2_accolade_character_templates.txt b/common/scripted_character_templates/04_ep2_accolade_character_templates.txt index b5fdeb37..c094a15f 100644 --- a/common/scripted_character_templates/04_ep2_accolade_character_templates.txt +++ b/common/scripted_character_templates/04_ep2_accolade_character_templates.txt @@ -1,9 +1,34 @@ # COMMON ATTRIBUTES accolade_marauder_character = { - age = { 16 35 } + age = { 16 22 } random_traits = yes - + faith = faith + random_culture = { + culture = { + trigger = { always = yes } + } + location.culture = { + trigger = { exists = location.culture } + } + scope:knight_culture = { + trigger = { exists = scope:knight_culture } + } + scope:varangian_culture = { + trigger = { exists = scope:varangian_culture } + } + scope:turkic_culture = { + trigger = { exists = scope:turkic_culture } + } + scope:type_specific_culture = { + trigger = { exists = scope:type_specific_culture } + } + } + #This is just temporary, will be replaced by squire quality-determined education trait + random_traits_list = { + count = 1 + education_martial_1 = {} + } random_traits_list = { count = 1 sadistic = {} @@ -33,30 +58,31 @@ accolade_marauder_character = { vengeful = {} callous = {} greedy = {} - } - random_traits_list = { - education_intrigue_1 = { weight = { base = 35 } } - education_intrigue_2 = { weight = { base = 35 } } - education_intrigue_3 = { weight = { base = 20 } } - education_intrigue_4 = { weight = { base = 10 } } - } - random_traits_list = { - count = { 0 1 } - lifestyle_blademaster = {} - lifestyle_hunter = {} - giant = {} - torturer = {} - murderer = {} - strong = {} disloyal = {} } + # Bad traits for bad squires random_traits_list = { - count = { 0 1 } - tourney_participant = { } + count = squire_quality_bad_traits + murderer = {} + contrite = {} + drunkard = {} + dull = {} + flagellant = {} } - prowess = { min_guest_template_skill 16 } - gender_female_chance = root_soldier_female_chance + # Good traits for good squires + random_traits_list = { + count = squire_quality_good_traits + strong = {} + athletic = {} + shrewd = {} + torturer = {} + lifestyle_blademaster = {} + lifestyle_hunter = {} + } + prowess = min_guest_template_skill + gender_female_chance = scope_value_target_soldier_female_chance after_creation = { + assign_intrigue_education_from_squires_quality_effect = yes #berserker if = { limit = { @@ -70,7 +96,7 @@ accolade_marauder_character = { if = { limit = { current_date < 1400 - root = { + scope:new_owner = { has_title = title:e_byzantium } culture = { @@ -166,13 +192,38 @@ accolade_marauder_character = { LEVEL_1 = yes LEVEL_3 = no } - add_random_tourney_participant_level_effect = yes } } accolade_idealist_character = { - age = { 16 35 } + age = { 16 22 } random_traits = yes + faith = faith + random_culture = { + culture = { + trigger = { always = yes } + } + location.culture = { + trigger = { exists = location.culture } + } + scope:knight_culture = { + trigger = { exists = scope:knight_culture } + } + scope:varangian_culture = { + trigger = { exists = scope:varangian_culture } + } + scope:turkic_culture = { + trigger = { exists = scope:turkic_culture } + } + scope:type_specific_culture = { + trigger = { exists = scope:type_specific_culture } + } + } + #This is just temporary, will be replaced by squire quality-determined education trait + random_traits_list = { + count = 1 + education_martial_1 = {} + } random_traits_list = { count = 1 @@ -202,27 +253,32 @@ accolade_idealist_character = { trusting = {} generous = {} } + # Bad traits for bad squires random_traits_list = { - education_diplomacy_1 = { weight = { base = 35 } } - education_diplomacy_2 = { weight = { base = 35 } } - education_diplomacy_3 = { weight = { base = 20 } } - education_diplomacy_4 = { weight = { base = 10 } } - } - random_traits_list = { - count = { 0 1 } - lifestyle_hunter = {} - gallant = {} - diplomat = {} - loyal = {} + count = squire_quality_bad_traits + murderer = {} + disfigured = {} + drunkard = {} + rakish = {} + reclusive = {} improvident = {} } + # Good traits for good squires random_traits_list = { - count = { 0 1 } - tourney_participant = { } + count = squire_quality_good_traits + strong = {} + athletic = {} + shrewd = {} + gallant = {} + loyal = {} + diplomat = {} + lifestyle_hunter = {} } - prowess = { min_guest_template_skill 16 } - gender_female_chance = root_soldier_female_chance + + prowess = min_guest_template_skill + gender_female_chance = scope_value_target_soldier_female_chance after_creation = { + assign_diplomacy_education_from_squires_quality_effect = yes random = { chance = 5 @@ -319,13 +375,38 @@ accolade_idealist_character = { LEVEL_1 = yes LEVEL_3 = no } - add_random_tourney_participant_level_effect = yes } } accolade_charmer_character = { - age = { 16 35 } + age = { 16 22 } random_traits = yes + faith = faith + random_culture = { + culture = { + trigger = { always = yes } + } + location.culture = { + trigger = { exists = location.culture } + } + scope:knight_culture = { + trigger = { exists = scope:knight_culture } + } + scope:varangian_culture = { + trigger = { exists = scope:varangian_culture } + } + scope:turkic_culture = { + trigger = { exists = scope:turkic_culture } + } + scope:type_specific_culture = { + trigger = { exists = scope:type_specific_culture } + } + } + #This is just temporary, will be replaced by squire quality-determined education trait + random_traits_list = { + count = 1 + education_martial_1 = {} + } random_traits_list = { count = 1 @@ -356,29 +437,31 @@ accolade_charmer_character = { callous = {} greedy = {} } + # Bad traits for bad squires random_traits_list = { - education_intrigue_1 = { weight = { base = 35 } } - education_intrigue_2 = { weight = { base = 35 } } - education_intrigue_3 = { weight = { base = 20 } } - education_intrigue_4 = { weight = { base = 10 } } - } - random_traits_list = { - count = { 0 1 } - gallant = {} - seducer = {} - fecund = {} - rakish = {} - lovers_pox = {} + count = squire_quality_bad_traits + murderer = {} + contrite = {} + drunkard = {} + dull = {} deviant = {} - lifestyle_reveler = { } + lovers_pox = {} + rakish = {} } + # Good traits for good squires random_traits_list = { - count = { 0 1 } - tourney_participant = { } + count = squire_quality_good_traits + strong = {} + athletic = {} + shrewd = {} + seducer = {} + gallant = {} + lifestyle_reveler = {} } - prowess = { min_guest_template_skill 16 } - gender_female_chance = root_soldier_female_chance + prowess = min_guest_template_skill + gender_female_chance = scope_value_target_soldier_female_chance after_creation = { + assign_intrigue_education_from_squires_quality_effect = yes random = { chance = 5 @@ -469,15 +552,38 @@ accolade_charmer_character = { } } set_interesting_traits_and_modifiers_effect = yes - add_random_tourney_participant_level_effect = yes } } - - accolade_thug_character = { - age = { 16 35 } + age = { 16 22 } random_traits = yes + faith = faith + random_culture = { + culture = { + trigger = { always = yes } + } + location.culture = { + trigger = { exists = location.culture } + } + scope:knight_culture = { + trigger = { exists = scope:knight_culture } + } + scope:varangian_culture = { + trigger = { exists = scope:varangian_culture } + } + scope:turkic_culture = { + trigger = { exists = scope:turkic_culture } + } + scope:type_specific_culture = { + trigger = { exists = scope:type_specific_culture } + } + } + #This is just temporary, will be replaced by squire quality-determined education trait + random_traits_list = { + count = 1 + education_martial_1 = {} + } random_traits_list = { count = 1 @@ -509,33 +615,41 @@ accolade_thug_character = { callous = {} greedy = {} } + # Bad traits for bad squires random_traits_list = { - education_martial_1 = { weight = { base = 35 } } - education_martial_2 = { weight = { base = 35 } } - education_intrigue_1 = { weight = { base = 35 } } - education_intrigue_2 = { weight = { base = 35 } } - } - random_traits_list = { - count = { 0 1 } - lifestyle_blademaster = {} - strong = {} - reaver = {} - giant = {} + count = squire_quality_bad_traits + murderer = {} + contrite = {} + drunkard = {} dull = {} irritable = {} disloyal = {} } + # Good traits for good squires random_traits_list = { - count = { 0 1 } - tourney_participant = { } + count = squire_quality_good_traits + strong = {} + athletic = {} + shrewd = {} + reaver = {} + lifestyle_blademaster = {} + giant = {} } - prowess = { min_guest_template_skill 16 } - gender_female_chance = root_soldier_female_chance + prowess = min_guest_template_skill + gender_female_chance = scope_value_target_soldier_female_chance after_creation = { + random_list = { + 1 = { + assign_intrigue_education_from_squires_quality_effect = yes + } + 1 = { + assign_martial_education_from_squires_quality_effect = yes + } + } if = { limit = { current_date < 1400 - root = { + scope:new_owner = { has_title = title:e_byzantium } culture = { @@ -635,13 +749,38 @@ accolade_thug_character = { LEVEL_1 = yes LEVEL_3 = no } - add_random_tourney_participant_level_effect = yes } } accolade_disciplinarian_character = { - age = { 16 35 } + age = { 16 22 } random_traits = yes + faith = faith + random_culture = { + culture = { + trigger = { always = yes } + } + location.culture = { + trigger = { exists = location.culture } + } + scope:knight_culture = { + trigger = { exists = scope:knight_culture } + } + scope:varangian_culture = { + trigger = { exists = scope:varangian_culture } + } + scope:turkic_culture = { + trigger = { exists = scope:turkic_culture } + } + scope:type_specific_culture = { + trigger = { exists = scope:type_specific_culture } + } + } + #This is just temporary, will be replaced by squire quality-determined education trait + random_traits_list = { + count = 1 + education_martial_1 = {} + } random_traits_list = { count = 1 @@ -673,32 +812,34 @@ accolade_disciplinarian_character = { callous = {} greedy = {} } + # Bad traits for bad squires random_traits_list = { - education_stewardship_1 = { weight = { base = 35 } } - education_stewardship_2 = { weight = { base = 35 } } - education_stewardship_3 = { weight = { base = 20 } } - education_stewardship_4 = { weight = { base = 10 } } + count = squire_quality_bad_traits + murderer = {} + contrite = {} + drunkard = {} + dull = {} + flagellant = {} } + # Good traits for good squires random_traits_list = { - count = { 0 1 } - lifestyle_blademaster = {} + count = squire_quality_good_traits + strong = {} athletic = {} + shrewd = {} organizer = {} overseer = {} - flagellant = {} administrator = {} + lifestyle_blademaster = {} } - random_traits_list = { - count = { 0 1 } - tourney_participant = { } - } - prowess = { min_guest_template_skill 16 } - gender_female_chance = root_soldier_female_chance + prowess = min_guest_template_skill + gender_female_chance = scope_value_target_soldier_female_chance after_creation = { + assign_stewardship_education_from_squires_quality_effect = yes if = { limit = { current_date < 1400 - root = { + scope:new_owner = { has_title = title:e_byzantium } culture = { @@ -787,13 +928,38 @@ accolade_disciplinarian_character = { LEVEL_1 = yes LEVEL_3 = no } - add_random_tourney_participant_level_effect = yes } } accolade_fanatic_character = { - age = { 16 35 } + age = { 16 22 } random_traits = yes + faith = faith + random_culture = { + culture = { + trigger = { always = yes } + } + location.culture = { + trigger = { exists = location.culture } + } + scope:knight_culture = { + trigger = { exists = scope:knight_culture } + } + scope:varangian_culture = { + trigger = { exists = scope:varangian_culture } + } + scope:turkic_culture = { + trigger = { exists = scope:turkic_culture } + } + scope:type_specific_culture = { + trigger = { exists = scope:type_specific_culture } + } + } + #This is just temporary, will be replaced by squire quality-determined education trait + random_traits_list = { + count = 1 + education_martial_1 = {} + } random_traits_list = { count = 1 @@ -823,33 +989,34 @@ accolade_fanatic_character = { callous = {} greedy = {} } + # Bad traits for bad squires random_traits_list = { - education_learning_1 = { weight = { base = 35 } } - education_learning_2 = { weight = { base = 35 } } - education_learning_3 = { weight = { base = 20 } } - education_learning_4 = { weight = { base = 10 } } - } - random_traits_list = { - count = { 0 1 } - lifestyle_blademaster = {} + count = squire_quality_bad_traits + murderer = {} + contrite = {} + drunkard = {} + dull = {} lunatic_1 = {} lunatic_genetic = {} - albino = {} - disfigured = {} + flagellant = {} + contrite = {} + } + # Good traits for good squires + random_traits_list = { + count = squire_quality_good_traits + strong = {} + athletic = {} + shrewd = {} theologian = {} lifestyle_mystic = {} holy_warrior = {} - flagellant = {} - contrite = {} whole_of_body = {} + lifestyle_blademaster = {} } - random_traits_list = { - count = { 0 1 } - tourney_participant = { } - } - prowess = { min_guest_template_skill 16 } - gender_female_chance = root_soldier_female_chance + prowess = min_guest_template_skill + gender_female_chance = scope_value_target_soldier_female_chance after_creation = { + assign_learning_education_from_squires_quality_effect = yes # Cultural Traditions if = { limit = { @@ -932,13 +1099,38 @@ accolade_fanatic_character = { LEVEL_1 = yes LEVEL_3 = yes } - add_random_tourney_participant_level_effect = yes } } accolade_valiant_character = { - age = { 16 35 } + age = { 16 22 } random_traits = yes + faith = faith + random_culture = { + culture = { + trigger = { always = yes } + } + location.culture = { + trigger = { exists = location.culture } + } + scope:knight_culture = { + trigger = { exists = scope:knight_culture } + } + scope:varangian_culture = { + trigger = { exists = scope:varangian_culture } + } + scope:turkic_culture = { + trigger = { exists = scope:turkic_culture } + } + scope:type_specific_culture = { + trigger = { exists = scope:type_specific_culture } + } + } + #This is just temporary, will be replaced by squire quality-determined education trait + random_traits_list = { + count = 1 + education_martial_1 = {} + } random_traits_list = { count = 1 @@ -969,33 +1161,36 @@ accolade_valiant_character = { forgiving = {} trusting = {} } + # Bad traits for bad squires random_traits_list = { - education_martial_1 = { weight = { base = 35 } } - education_martial_2 = { weight = { base = 35 } } - education_martial_3 = { weight = { base = 20 } } - education_martial_4 = { weight = { base = 10 } } + count = squire_quality_bad_traits + murderer = {} + contrite = {} + drunkard = {} + dull = {} + weak = {} + hunchbacked = {} } + # Good traits for good squires random_traits_list = { - count = { 0 1 } + count = squire_quality_good_traits lifestyle_blademaster = {} lifestyle_traveler = {} strong = {} lifestyle_hunter = {} - reckless = {} + athletic = {} + shrewd = {} gallant = {} loyal = {} } - random_traits_list = { - count = { 0 1 } - tourney_participant = { } - } - prowess = { min_guest_template_skill 16 } - gender_female_chance = root_soldier_female_chance + prowess = min_guest_template_skill + gender_female_chance = scope_value_target_soldier_female_chance after_creation = { + assign_martial_education_from_squires_quality_effect = yes if = { limit = { current_date < 1400 - root = { + scope:new_owner = { has_title = title:e_byzantium } culture = { @@ -1118,13 +1313,38 @@ accolade_valiant_character = { LEVEL_1 = yes LEVEL_3 = no } - add_random_tourney_participant_level_effect = yes } } accolade_stalwart_character = { - age = { 16 35 } + age = { 16 22 } random_traits = yes + faith = faith + random_culture = { + culture = { + trigger = { always = yes } + } + location.culture = { + trigger = { exists = location.culture } + } + scope:knight_culture = { + trigger = { exists = scope:knight_culture } + } + scope:varangian_culture = { + trigger = { exists = scope:varangian_culture } + } + scope:turkic_culture = { + trigger = { exists = scope:turkic_culture } + } + scope:type_specific_culture = { + trigger = { exists = scope:type_specific_culture } + } + } + #This is just temporary, will be replaced by squire quality-determined education trait + random_traits_list = { + count = 1 + education_martial_1 = {} + } random_traits_list = { count = 1 @@ -1155,14 +1375,23 @@ accolade_stalwart_character = { forgiving = {} greedy = {} } + # Bad traits for bad squires random_traits_list = { - education_martial_1 = { weight = { base = 35 } } - education_martial_2 = { weight = { base = 35 } } - education_martial_3 = { weight = { base = 20 } } - education_martial_4 = { weight = { base = 10 } } + count = squire_quality_bad_traits + murderer = {} + contrite = {} + drunkard = {} + dull = {} + weak = {} + hunchbacked = {} + clubfooted = {} } + # Good traits for good squires random_traits_list = { - count = { 0 1 } + count = squire_quality_good_traits + strong = {} + athletic = {} + shrewd = {} lifestyle_blademaster = {} lifestyle_hunter = {} athletic = {} @@ -1170,21 +1399,14 @@ accolade_stalwart_character = { confider = {} unyielding_defender = {} } - random_traits_list = { - count = { 0 1 } - tourney_participant = { } - } - random_traits_list = { - count = { 0 1 } - loyal = {} - } - prowess = { min_guest_template_skill 16 } - gender_female_chance = root_soldier_female_chance + prowess = min_guest_template_skill + gender_female_chance = scope_value_target_soldier_female_chance after_creation = { + assign_martial_education_from_squires_quality_effect = yes if = { limit = { current_date < 1400 - root = { + scope:new_owner = { has_title = title:e_byzantium } culture = { @@ -1279,13 +1501,38 @@ accolade_stalwart_character = { LEVEL_1 = yes LEVEL_3 = no } - add_random_tourney_participant_level_effect = yes } } accolade_scoundrel_character = { - age = { 16 35 } + age = { 16 22 } random_traits = yes + faith = faith + random_culture = { + culture = { + trigger = { always = yes } + } + location.culture = { + trigger = { exists = location.culture } + } + scope:knight_culture = { + trigger = { exists = scope:knight_culture } + } + scope:varangian_culture = { + trigger = { exists = scope:varangian_culture } + } + scope:turkic_culture = { + trigger = { exists = scope:turkic_culture } + } + scope:type_specific_culture = { + trigger = { exists = scope:type_specific_culture } + } + } + #This is just temporary, will be replaced by squire quality-determined education trait + random_traits_list = { + count = 1 + education_martial_1 = {} + } random_traits_list = { count = 1 @@ -1315,36 +1562,42 @@ accolade_scoundrel_character = { forgiving = {} greedy = {} } + # Bad traits for bad squires random_traits_list = { - education_diplomacy_1 = { weight = { base = 35 } } - education_diplomacy_2 = { weight = { base = 35 } } - education_diplomacy_3 = { weight = { base = 20 } } - education_diplomacy_4 = { weight = { base = 10 } } - } - random_traits_list = { - count = { 0 1 } - lifestyle_traveler = {} - disloyal = {} - shrewd = {} - schemer = {} + count = squire_quality_bad_traits + murderer = {} + contrite = {} drunkard = {} - hashishiyah = {} + dull = {} rakish = {} profligate = {} + disloyal = {} wild_oat = {} + } + # Good traits for good squires + random_traits_list = { + count = squire_quality_good_traits + strong = {} + athletic = {} + shrewd = {} + lifestyle_traveler = {} lifestyle_reveler = { } } - random_traits_list = { - count = { 0 1 } - tourney_participant = { } - } - prowess = { min_guest_template_skill 16 } - gender_female_chance = root_soldier_female_chance + prowess = min_guest_template_skill + gender_female_chance = scope_value_target_soldier_female_chance after_creation = { + random_list = { + 1 = { + assign_diplomacy_education_from_squires_quality_effect = yes + } + 1 = { + assign_intrigue_education_from_squires_quality_effect = yes + } + } if = { limit = { current_date < 1400 - root = { + scope:new_owner = { has_title = title:e_byzantium } culture = { @@ -1445,15 +1698,40 @@ accolade_scoundrel_character = { } } set_interesting_traits_and_modifiers_effect = yes - add_random_tourney_participant_level_effect = yes } } # SKILLED ATTRIBUTES accolade_politicker_character = { - age = { 18 36 } + age = { 16 24 } random_traits = yes + faith = faith + random_culture = { + culture = { + trigger = { always = yes } + } + location.culture = { + trigger = { exists = location.culture } + } + scope:knight_culture = { + trigger = { exists = scope:knight_culture } + } + scope:varangian_culture = { + trigger = { exists = scope:varangian_culture } + } + scope:turkic_culture = { + trigger = { exists = scope:turkic_culture } + } + scope:type_specific_culture = { + trigger = { exists = scope:type_specific_culture } + } + } + #This is just temporary, will be replaced by squire quality-determined education trait + random_traits_list = { + count = 1 + education_martial_1 = {} + } random_traits_list = { count = 1 @@ -1497,24 +1775,32 @@ accolade_politicker_character = { forgiving = {} } + # Bad traits for bad squires random_traits_list = { - education_diplomacy_3 = { weight = { base = 50 } } - education_diplomacy_4 = { weight = { base = 25 } } + count = squire_quality_bad_traits + inappetetic = {} + murderer = {} + drunkard = {} + dull = {} + stuttering = {} + lisping = {} } + # Good traits for good squires random_traits_list = { - count = { 0 1 } + count = squire_quality_good_traits + strong = {} + athletic = {} + shrewd = {} lifestyle_traveler = {} diplomat = {} - lifestyle_poet = {} august = {} loyal = {} lifestyle_reveler = { } - tourney_participant = { } } - prowess = { min_guest_template_skill 16 } - diplomacy = { min_guest_template_skill 16 } - gender_female_chance = root_soldier_female_chance + prowess = min_guest_template_skill + gender_female_chance = scope_value_target_soldier_female_chance after_creation = { + assign_diplomacy_education_from_squires_quality_effect = yes random = { chance = 1 @@ -1604,13 +1890,38 @@ accolade_politicker_character = { } } set_interesting_traits_and_modifiers_effect = yes - add_random_tourney_participant_level_effect = yes } } accolade_tactician_character = { - age = { 18 36 } + age = { 16 24 } random_traits = yes + faith = faith + random_culture = { + culture = { + trigger = { always = yes } + } + location.culture = { + trigger = { exists = location.culture } + } + scope:knight_culture = { + trigger = { exists = scope:knight_culture } + } + scope:varangian_culture = { + trigger = { exists = scope:varangian_culture } + } + scope:turkic_culture = { + trigger = { exists = scope:turkic_culture } + } + scope:type_specific_culture = { + trigger = { exists = scope:type_specific_culture } + } + } + #This is just temporary, will be replaced by squire quality-determined education trait + random_traits_list = { + count = 1 + education_martial_1 = {} + } random_traits_list = { count = 1 @@ -1656,31 +1967,38 @@ accolade_tactician_character = { vengeful = {} forgiving = {} } - + # Bad traits for bad squires random_traits_list = { - education_martial_3 = { weight = { base = 50 } } - education_martial_4 = { weight = { base = 25 } } + count = squire_quality_bad_traits + murderer = {} + contrite = {} + drunkard = {} + dull = {} + weak = {} + clubfooted = {} + hunchbacked = {} } + # Good traits for good squires random_traits_list = { - count = { 0 1 } + count = squire_quality_good_traits + strong = {} + athletic = {} + shrewd = {} lifestyle_hunter = {} + lifestyle_blademaster = {} strategist = {} gallant = {} overseer = {} - tourney_participant = {} - lifestyle_blademaster = {} - strong = {} - lifestyle_hunter = {} } - prowess = { 8 14 } - martial = { 9 12 } - gender_female_chance = root_soldier_female_chance + prowess = min_guest_template_skill + gender_female_chance = scope_value_target_soldier_female_chance after_creation = { + assign_martial_education_from_squires_quality_effect = yes # Cultural Traditions if = { limit = { current_date < 1400 - root = { + scope:new_owner = { has_title = title:e_byzantium } culture = { @@ -1768,14 +2086,39 @@ accolade_tactician_character = { LEVEL_1 = yes LEVEL_3 = no } - add_random_tourney_participant_level_effect = yes set_interesting_traits_and_modifiers_effect = yes } } accolade_reeve_character = { - age = { 18 36 } + age = { 16 24 } random_traits = yes + faith = faith + random_culture = { + culture = { + trigger = { always = yes } + } + location.culture = { + trigger = { exists = location.culture } + } + scope:knight_culture = { + trigger = { exists = scope:knight_culture } + } + scope:varangian_culture = { + trigger = { exists = scope:varangian_culture } + } + scope:turkic_culture = { + trigger = { exists = scope:turkic_culture } + } + scope:type_specific_culture = { + trigger = { exists = scope:type_specific_culture } + } + } + #This is just temporary, will be replaced by squire quality-determined education trait + random_traits_list = { + count = 1 + education_martial_1 = {} + } random_traits_list = { count = 1 @@ -1819,24 +2162,29 @@ accolade_reeve_character = { vengeful = {} forgiving = {} } - + # Bad traits for bad squires random_traits_list = { - education_stewardship_3 = { weight = { base = 50 } } - education_stewardship_4 = { weight = { base = 25 } } + count = squire_quality_bad_traits + murderer = {} + profligate = {} + drunkard = {} + dull = {} + comfort_eater = {} } + # Good traits for good squires random_traits_list = { - count = { 0 1 } - administrator = {} - avaricious = {} - architect = {} + count = squire_quality_good_traits + strong = {} + athletic = {} shrewd = {} - tourney_participant = { } - journaller = {} + avaricious = {} + administrator = {} + architect = {} } - prowess = { min_guest_template_skill 16 } - stewardship = { min_guest_template_skill 16 } - gender_female_chance = root_soldier_female_chance + prowess = min_guest_template_skill + gender_female_chance = scope_value_target_soldier_female_chance after_creation = { + assign_stewardship_education_from_squires_quality_effect = yes # Cultural Traditions if = { limit = { @@ -1909,13 +2257,38 @@ accolade_reeve_character = { } } set_interesting_traits_and_modifiers_effect = yes - add_random_tourney_participant_level_effect = yes } } accolade_manipulator_character = { - age = { 18 36 } + age = { 16 24 } random_traits = yes + faith = faith + random_culture = { + culture = { + trigger = { always = yes } + } + location.culture = { + trigger = { exists = location.culture } + } + scope:knight_culture = { + trigger = { exists = scope:knight_culture } + } + scope:varangian_culture = { + trigger = { exists = scope:varangian_culture } + } + scope:turkic_culture = { + trigger = { exists = scope:turkic_culture } + } + scope:type_specific_culture = { + trigger = { exists = scope:type_specific_culture } + } + } + #This is just temporary, will be replaced by squire quality-determined education trait + random_traits_list = { + count = 1 + education_martial_1 = {} + } random_traits_list = { count = 1 @@ -1962,30 +2335,37 @@ accolade_manipulator_character = { fickle = {} vengeful = {} } - + # Bad traits for bad squires random_traits_list = { - education_intrigue_3 = { weight = { base = 50 } } - education_intrigue_4 = { weight = { base = 25 } } + count = squire_quality_bad_traits + murderer = {} + contrite = {} + drunkard = {} + dull = {} + loyal = {} + blind = {} } + # Good traits for good squires random_traits_list = { - count = { 0 1 } - tourney_participant = { } + count = squire_quality_good_traits + strong = {} + athletic = {} + shrewd = {} schemer = {} seducer = {} torturer = {} lifestyle_herbalist = {} lifestyle_reveler = {} - disloyal = {} } - prowess = { min_guest_template_skill 16 } - intrigue = { min_guest_template_skill 16 } - gender_female_chance = root_soldier_female_chance + prowess = min_guest_template_skill + gender_female_chance = scope_value_target_soldier_female_chance after_creation = { + assign_intrigue_education_from_squires_quality_effect = yes # Cultural Traditions if = { limit = { current_date < 1400 - root = { + scope:new_owner = { has_title = title:e_byzantium } culture = { @@ -2068,13 +2448,38 @@ accolade_manipulator_character = { } } set_interesting_traits_and_modifiers_effect = yes - add_random_tourney_participant_level_effect = yes } } accolade_mentor_character = { - age = { 20 40 } + age = { 22 30 } random_traits = yes + faith = faith + random_culture = { + culture = { + trigger = { always = yes } + } + location.culture = { + trigger = { exists = location.culture } + } + scope:knight_culture = { + trigger = { exists = scope:knight_culture } + } + scope:varangian_culture = { + trigger = { exists = scope:varangian_culture } + } + scope:turkic_culture = { + trigger = { exists = scope:turkic_culture } + } + scope:type_specific_culture = { + trigger = { exists = scope:type_specific_culture } + } + } + #This is just temporary, will be replaced by squire quality-determined education trait + random_traits_list = { + count = 1 + education_martial_1 = {} + } random_traits_list = { count = 1 @@ -2101,32 +2506,33 @@ accolade_mentor_character = { deceitful = {} greedy = {} } - + # Bad traits for bad squires random_traits_list = { - education_learning_3 = { weight = { base = 50 } } - education_learning_4 = { weight = { base = 25 } } + count = squire_quality_bad_traits + murderer = {} + drunkard = {} + dull = {} + inappetetic = {} + flagellant = {} + rakish = {} } + # Good traits for good squires random_traits_list = { - count = { 0 1 } - chaste = {} - diligent = {} - shy = {} - forgiving = {} - patient = {} - cynical = {} + count = squire_quality_good_traits + strong = {} + athletic = {} shrewd = {} - one_eyed = {} + journaller = {} scholar = {} theologian = {} lifestyle_traveler = {} whole_of_body = {} lifestyle_physician = {} - journaller = {} } - prowess = { min_guest_template_skill 16 } - learning = { min_guest_template_skill 16 } - gender_female_chance = root_soldier_female_chance + prowess = min_guest_template_skill + gender_female_chance = scope_value_target_soldier_female_chance after_creation = { + assign_learning_education_from_squires_quality_effect = yes # Cultural Traditions if = { limit = { @@ -2199,15 +2605,38 @@ accolade_mentor_character = { } } set_interesting_traits_and_modifiers_effect = yes - add_random_tourney_participant_level_effect = yes } } accolade_contender_character = { - age = { 16 36 } + age = { 16 24 } random_traits = yes - - trait = tourney_participant + faith = faith + random_culture = { + culture = { + trigger = { always = yes } + } + location.culture = { + trigger = { exists = location.culture } + } + scope:knight_culture = { + trigger = { exists = scope:knight_culture } + } + scope:varangian_culture = { + trigger = { exists = scope:varangian_culture } + } + scope:turkic_culture = { + trigger = { exists = scope:turkic_culture } + } + scope:type_specific_culture = { + trigger = { exists = scope:type_specific_culture } + } + } + #This is just temporary, will be replaced by squire quality-determined education trait + random_traits_list = { + count = 1 + education_martial_1 = {} + } random_traits_list = { count = 1 wrathful = {} @@ -2235,27 +2664,37 @@ accolade_contender_character = { deceitful = {} greedy = {} } - + # Bad traits for bad squires random_traits_list = { - education_martial_1 = { weight = { base = 45 } } - education_martial_2 = { weight = { base = 40 } } - education_martial_3 = { weight = { base = 10 } } - education_martial_4 = { weight = { base = 5 } } + count = squire_quality_bad_traits + murderer = {} + contrite = {} + drunkard = {} + dull = {} + irritable = {} + inappetetic = {} } + # Good traits for good squires random_traits_list = { - count = { 0 1 } - brave = {} - vengeful = {} - sadistic = {} - giant = {} + count = squire_quality_good_traits strong = {} + athletic = {} + shrewd = {} + giant = {} gallant = {} lifestyle_blademaster = {} - irritable = {} } - prowess = { min_guest_template_skill 16 } - gender_female_chance = root_soldier_female_chance + prowess = min_guest_template_skill + gender_female_chance = scope_value_target_soldier_female_chance after_creation = { + random_list = { + 1 = { + assign_martial_education_from_squires_quality_effect = yes + } + 1 = { + assign_diplomacy_education_from_squires_quality_effect = yes + } + } #berserker if = { limit = { @@ -2270,7 +2709,7 @@ accolade_contender_character = { if = { limit = { current_date < 1400 - root = { + scope:new_owner = { has_title = title:e_byzantium } culture = { @@ -2358,16 +2797,40 @@ accolade_contender_character = { LEVEL_1 = yes LEVEL_3 = yes } - add_random_tourney_participant_level_effect = yes } } # MEN-AT-ARMS ACCOLADES accolade_archer_character = { - age = { 16 35 } + age = { 16 22 } random_traits = yes - trait = tourney_participant + faith = faith + random_culture = { + culture = { + trigger = { always = yes } + } + location.culture = { + trigger = { exists = location.culture } + } + scope:knight_culture = { + trigger = { exists = scope:knight_culture } + } + scope:varangian_culture = { + trigger = { exists = scope:varangian_culture } + } + scope:turkic_culture = { + trigger = { exists = scope:turkic_culture } + } + scope:type_specific_culture = { + trigger = { exists = scope:type_specific_culture } + } + } + #This is just temporary, will be replaced by squire quality-determined education trait + random_traits_list = { + count = 1 + education_martial_1 = {} + } random_traits_list = { count = 1 arbitrary = {} @@ -2391,48 +2854,30 @@ accolade_archer_character = { deceitful = {} greedy = {} } - + # Bad traits for bad squires random_traits_list = { - education_martial_1 = { weight = { base = 35 } } - education_martial_2 = { weight = { base = 35 } } - education_martial_3 = { weight = { base = 20 } } - education_martial_4 = { weight = { base = 10 } } + count = squire_quality_bad_traits + murderer = {} + contrite = {} + drunkard = {} + dull = {} + irritable = {} + inappetetic = {} } + # Good traits for good squires random_traits_list = { - count = { 0 1 } + count = squire_quality_good_traits + strong = {} + athletic = {} + shrewd = {} + giant = {} + gallant = {} lifestyle_hunter = {} - calm = {} - patient = {} - cynical = {} - callous = {} - craven = {} - forest_fighter = {} - } - prowess = { min_guest_template_skill 16 } - gender_female_chance = root_soldier_female_chance + } + prowess = min_guest_template_skill + gender_female_chance = scope_value_target_soldier_female_chance after_creation = { - add_trait_xp = { - trait = tourney_participant - track = bow - value = 25 - } - random = { - chance = 35 - add_trait_xp = { - trait = tourney_participant - track = bow - value = 25 - } - } - random = { - chance = 5 - add_trait_xp = { - trait = tourney_participant - track = bow - value = 30 - } - } - + assign_martial_education_from_squires_quality_effect = yes # Cultural Traditions if = { limit = { @@ -2512,9 +2957,34 @@ accolade_archer_character = { } accolade_skirmisher_character = { - age = { 16 35 } + age = { 16 22 } random_traits = yes - trait = tourney_participant + faith = faith + random_culture = { + culture = { + trigger = { always = yes } + } + location.culture = { + trigger = { exists = location.culture } + } + scope:knight_culture = { + trigger = { exists = scope:knight_culture } + } + scope:varangian_culture = { + trigger = { exists = scope:varangian_culture } + } + scope:turkic_culture = { + trigger = { exists = scope:turkic_culture } + } + scope:type_specific_culture = { + trigger = { exists = scope:type_specific_culture } + } + } + #This is just temporary, will be replaced by squire quality-determined education trait + random_traits_list = { + count = 1 + education_martial_1 = {} + } random_traits_list = { count = 1 wrathful = {} @@ -2541,57 +3011,40 @@ accolade_skirmisher_character = { deceitful = {} greedy = {} } - + # Bad traits for bad squires random_traits_list = { - education_martial_1 = { weight = { base = 35 } } - education_martial_2 = { weight = { base = 35 } } - education_martial_3 = { weight = { base = 20 } } - education_martial_4 = { weight = { base = 10 } } + count = squire_quality_bad_traits + murderer = {} + contrite = {} + drunkard = {} + dull = {} + irritable = {} + inappetetic = {} } + # Good traits for good squires random_traits_list = { - count = { 0 1 } + count = squire_quality_good_traits + strong = {} + athletic = {} + shrewd = {} + physique_good_1 = {} + gallant = {} lifestyle_hunter = {} - lifestyle_blademaster = {} - jungle_stalker = {} - winter_soldier = {} - diligent = {} - brave = {} - fickle = {} - arbitrary = {} - humble = {} - scarred = {} } - prowess = { min_guest_template_skill 16 } - gender_female_chance = root_soldier_female_chance + prowess = min_guest_template_skill + gender_female_chance = scope_value_target_soldier_female_chance after_creation = { + assign_martial_education_from_squires_quality_effect = yes + add_trait = tourney_participant add_trait_xp = { trait = tourney_participant track = bow - value = 20 + value = 10 } - random = { - chance = 35 - add_trait_xp = { - trait = tourney_participant - track = foot - value = 20 - } - } - random = { - chance = 20 - add_trait_xp = { - trait = tourney_participant - track = bow - value = 30 - } - } - random = { - chance = 20 - add_trait_xp = { - trait = tourney_participant - track = foot - value = 30 - } + add_trait_xp = { + trait = tourney_participant + track = foot + value = 10 } # Cultural Traditions @@ -2675,8 +3128,34 @@ accolade_skirmisher_character = { } accolade_pike_character = { - age = { 16 35 } + age = { 16 22 } random_traits = yes + faith = faith + random_culture = { + culture = { + trigger = { always = yes } + } + location.culture = { + trigger = { exists = location.culture } + } + scope:knight_culture = { + trigger = { exists = scope:knight_culture } + } + scope:varangian_culture = { + trigger = { exists = scope:varangian_culture } + } + scope:turkic_culture = { + trigger = { exists = scope:turkic_culture } + } + scope:type_specific_culture = { + trigger = { exists = scope:type_specific_culture } + } + } + #This is just temporary, will be replaced by squire quality-determined education trait + random_traits_list = { + count = 1 + education_martial_1 = {} + } random_traits_list = { count = 1 @@ -2701,56 +3180,44 @@ accolade_pike_character = { deceitful = {} greedy = {} } - + # Bad traits for bad squires random_traits_list = { - education_martial_1 = { weight = { base = 35 } } - education_martial_2 = { weight = { base = 35 } } - education_martial_3 = { weight = { base = 20 } } - education_martial_4 = { weight = { base = 10 } } + count = squire_quality_bad_traits + murderer = {} + contrite = {} + drunkard = {} + dull = {} + irritable = {} + inappetetic = {} + weak = {} } + # Good traits for good squires random_traits_list = { - count = { 0 1 } - rough_terrain_expert = {} - unyielding_defender = {} - just = {} - cynical = {} - forgiving = {} - diligent = {} - trusting = {} - stubborn = {} + count = squire_quality_good_traits + strong = {} + athletic = {} + shrewd = {} giant = {} + gallant = {} + lifestyle_blademaster = {} + rough_terrain_expert = {} } - prowess = { min_guest_template_skill 16 } - gender_female_chance = root_soldier_female_chance + prowess = min_guest_template_skill + gender_female_chance = scope_value_target_soldier_female_chance after_creation = { + assign_martial_education_from_squires_quality_effect = yes add_trait = tourney_participant add_trait_xp = { trait = tourney_participant track = foot - value = 25 - } - random = { - chance = 35 - add_trait_xp = { - trait = tourney_participant - track = foot - value = 25 - } - } - random = { - chance = 5 - add_trait_xp = { - trait = tourney_participant - track = foot - value = 30 - } + value = 10 } # Cultural Traditions if = { limit = { current_date < 1400 - root = { + scope:new_owner = { has_title = title:e_byzantium } culture = { @@ -2834,8 +3301,34 @@ accolade_pike_character = { } accolade_outrider_character = { - age = { 16 35 } + age = { 16 22 } random_traits = yes + faith = faith + random_culture = { + culture = { + trigger = { always = yes } + } + location.culture = { + trigger = { exists = location.culture } + } + scope:knight_culture = { + trigger = { exists = scope:knight_culture } + } + scope:varangian_culture = { + trigger = { exists = scope:varangian_culture } + } + scope:turkic_culture = { + trigger = { exists = scope:turkic_culture } + } + scope:type_specific_culture = { + trigger = { exists = scope:type_specific_culture } + } + } + #This is just temporary, will be replaced by squire quality-determined education trait + random_traits_list = { + count = 1 + education_martial_1 = {} + } random_traits_list = { count = 1 @@ -2863,49 +3356,38 @@ accolade_outrider_character = { deceitful = {} greedy = {} } - + # Bad traits for bad squires random_traits_list = { - education_martial_1 = { weight = { base = 35 } } - education_martial_2 = { weight = { base = 35 } } - education_martial_3 = { weight = { base = 20 } } - education_martial_4 = { weight = { base = 10 } } + count = squire_quality_bad_traits + murderer = {} + contrite = {} + drunkard = {} + dull = {} + irritable = {} + inappetetic = {} + weak = {} } + # Good traits for good squires random_traits_list = { - count = { 0 1 } + count = squire_quality_good_traits + strong = {} + athletic = {} + shrewd = {} + physique_good_1 = {} + gallant = {} + lifestyle_blademaster = {} lifestyle_hunter = {} open_terrain_expert = {} - reckless = {} - brave = {} - wrathful = {} - impatient = {} - ambitious = {} - arbitrary = {} - fickle = {} } - prowess = { min_guest_template_skill 16 } - gender_female_chance = root_soldier_female_chance + prowess = min_guest_template_skill + gender_female_chance = scope_value_target_soldier_female_chance after_creation = { + assign_martial_education_from_squires_quality_effect = yes add_trait = tourney_participant add_trait_xp = { trait = tourney_participant track = horse - value = 25 - } - random = { - chance = 35 - add_trait_xp = { - trait = tourney_participant - track = horse - value = 25 - } - } - random = { - chance = 5 - add_trait_xp = { - trait = tourney_participant - track = horse - value = 30 - } + value = 10 } # Cultural Traditions @@ -2990,8 +3472,115 @@ accolade_outrider_character = { } accolade_vanguard_character = { - age = { 16 35 } + age = { 16 22 } random_traits = yes + faith = faith + random_culture = { + culture = { + trigger = { always = yes } + } + location.culture = { + trigger = { + exists = location.culture + location.culture = { + OR = { + has_innovation = innovation_quilted_armor + has_cultural_tradition = tradition_fp1_coastal_warriors + has_cultural_tradition = tradition_hird + has_cultural_tradition = tradition_futuwaa + has_cultural_tradition = tradition_druzhina + has_cultural_tradition = tradition_khadga_puja + has_cultural_tradition = tradition_garuda_warriors + has_cultural_tradition = tradition_himalayan_settlers + has_cultural_tradition = tradition_mubarizuns + has_cultural_tradition = tradition_burman_royal_army + has_cultural_tradition = tradition_mountaineer_ruralism + has_innovation = innovation_sarawit + has_innovation = innovation_legionnaires + has_cultural_parameter = unlock_zhanmadao + has_cultural_parameter = unlock_burenjia + } + } + } + } + scope:knight_culture = { + trigger = { + exists = scope:knight_culture + scope:knight_culture = { + OR = { + has_innovation = innovation_quilted_armor + has_cultural_tradition = tradition_fp1_coastal_warriors + has_cultural_tradition = tradition_hird + has_cultural_tradition = tradition_futuwaa + has_cultural_tradition = tradition_druzhina + has_cultural_tradition = tradition_khadga_puja + has_cultural_tradition = tradition_garuda_warriors + has_cultural_tradition = tradition_himalayan_settlers + has_cultural_tradition = tradition_mubarizuns + has_cultural_tradition = tradition_burman_royal_army + has_cultural_tradition = tradition_mountaineer_ruralism + has_innovation = innovation_sarawit + has_innovation = innovation_legionnaires + has_cultural_parameter = unlock_zhanmadao + has_cultural_parameter = unlock_burenjia + } + } + } + } + scope:varangian_culture = { + trigger = { + exists = scope:varangian_culture + scope:varangian_culture = { + OR = { + has_innovation = innovation_quilted_armor + has_cultural_tradition = tradition_fp1_coastal_warriors + has_cultural_tradition = tradition_hird + has_cultural_tradition = tradition_futuwaa + has_cultural_tradition = tradition_druzhina + has_cultural_tradition = tradition_khadga_puja + has_cultural_tradition = tradition_garuda_warriors + has_cultural_tradition = tradition_himalayan_settlers + has_cultural_tradition = tradition_mubarizuns + has_cultural_tradition = tradition_burman_royal_army + has_cultural_tradition = tradition_mountaineer_ruralism + has_innovation = innovation_sarawit + has_innovation = innovation_legionnaires + has_cultural_parameter = unlock_zhanmadao + has_cultural_parameter = unlock_burenjia + } + } + } + } + scope:type_specific_culture = { + trigger = { + exists = scope:type_specific_culture + scope:type_specific_culture = { + OR = { + has_innovation = innovation_quilted_armor + has_cultural_tradition = tradition_fp1_coastal_warriors + has_cultural_tradition = tradition_hird + has_cultural_tradition = tradition_futuwaa + has_cultural_tradition = tradition_druzhina + has_cultural_tradition = tradition_khadga_puja + has_cultural_tradition = tradition_garuda_warriors + has_cultural_tradition = tradition_himalayan_settlers + has_cultural_tradition = tradition_mubarizuns + has_cultural_tradition = tradition_burman_royal_army + has_cultural_tradition = tradition_mountaineer_ruralism + has_innovation = innovation_sarawit + has_innovation = innovation_legionnaires + has_cultural_parameter = unlock_zhanmadao + has_cultural_parameter = unlock_burenjia + } + } + } + } + } + #This is just temporary, will be replaced by squire quality-determined education trait + random_traits_list = { + count = 1 + education_martial_1 = {} + } random_traits_list = { count = 1 @@ -3019,50 +3608,36 @@ accolade_vanguard_character = { gregarious = {} greedy = {} } - + # Bad traits for bad squires random_traits_list = { - education_martial_1 = { weight = { base = 35 } } - education_martial_2 = { weight = { base = 35 } } - education_martial_3 = { weight = { base = 20 } } - education_martial_4 = { weight = { base = 10 } } + count = squire_quality_bad_traits + murderer = {} + contrite = {} + drunkard = {} + dull = {} + irritable = {} + flagellant = {} + rakish = {} } + # Good traits for good squires random_traits_list = { - count = { 0 1 } - lifestyle_blademaster = {} + count = squire_quality_good_traits strong = {} athletic = {} - gallant = {} - wrathful = {} - impatient = {} - arrogant = {} - brave = {} - stubborn = {} + shrewd = {} giant = {} + gallant = {} + lifestyle_blademaster = {} } - prowess = { min_guest_template_skill 16 } - gender_female_chance = root_soldier_female_chance + prowess = min_guest_template_skill + gender_female_chance = scope_value_target_soldier_female_chance after_creation = { + assign_martial_education_from_squires_quality_effect = yes add_trait = tourney_participant add_trait_xp = { trait = tourney_participant track = foot - value = 25 - } - random = { - chance = 35 - add_trait_xp = { - trait = tourney_participant - track = foot - value = 25 - } - } - random = { - chance = 5 - add_trait_xp = { - trait = tourney_participant - track = foot - value = 30 - } + value = 10 } # Cultural Traditions @@ -3079,7 +3654,7 @@ accolade_vanguard_character = { if = { limit = { current_date < 1400 - root = { + scope:new_owner = { has_title = title:e_byzantium } culture = { @@ -3171,8 +3746,91 @@ accolade_vanguard_character = { } accolade_lancer_character = { - age = { 16 35 } + age = { 16 22 } random_traits = yes + faith = faith + random_culture = { + culture = { + trigger = { always = yes } + } + location.culture = { + trigger = { + exists = location.culture + location.culture = { + OR = { + has_innovation = innovation_arched_saddle + has_cultural_tradition = tradition_caucasian_wolves + has_cultural_tradition = tradition_ep3_audacious_cadets + has_cultural_tradition = tradition_roman_legacy + has_cultural_tradition = tradition_ep3_imperial_tagmata + has_innovation = innovation_valets + has_cultural_parameter = unlock_maa_cataphract_archers + has_innovation = innovation_tiefutu + has_cultural_parameter = unlock_maa_black_armor_cavalry + } + } + } + } + scope:knight_culture = { + trigger = { + exists = scope:knight_culture + scope:knight_culture = { + OR = { + has_innovation = innovation_arched_saddle + has_cultural_tradition = tradition_caucasian_wolves + has_cultural_tradition = tradition_ep3_audacious_cadets + has_cultural_tradition = tradition_roman_legacy + has_cultural_tradition = tradition_ep3_imperial_tagmata + has_innovation = innovation_valets + has_cultural_parameter = unlock_maa_cataphract_archers + has_innovation = innovation_tiefutu + has_cultural_parameter = unlock_maa_black_armor_cavalry + } + } + } + } + scope:turkic_culture = { + trigger = { + exists = scope:turkic_culture + scope:turkic_culture = { + OR = { + has_innovation = innovation_arched_saddle + has_cultural_tradition = tradition_caucasian_wolves + has_cultural_tradition = tradition_ep3_audacious_cadets + has_cultural_tradition = tradition_roman_legacy + has_cultural_tradition = tradition_ep3_imperial_tagmata + has_innovation = innovation_valets + has_cultural_parameter = unlock_maa_cataphract_archers + has_innovation = innovation_tiefutu + has_cultural_parameter = unlock_maa_black_armor_cavalry + } + } + } + } + scope:type_specific_culture = { + trigger = { + exists = scope:type_specific_culture + scope:type_specific_culture = { + OR = { + has_innovation = innovation_arched_saddle + has_cultural_tradition = tradition_caucasian_wolves + has_cultural_tradition = tradition_ep3_audacious_cadets + has_cultural_tradition = tradition_roman_legacy + has_cultural_tradition = tradition_ep3_imperial_tagmata + has_innovation = innovation_valets + has_cultural_parameter = unlock_maa_cataphract_archers + has_innovation = innovation_tiefutu + has_cultural_parameter = unlock_maa_black_armor_cavalry + } + } + } + } + } + #This is just temporary, will be replaced by squire quality-determined education trait + random_traits_list = { + count = 1 + education_martial_1 = {} + } random_traits_list = { count = 1 @@ -3200,59 +3858,44 @@ accolade_lancer_character = { deceitful = {} greedy = {} } - + # Bad traits for bad squires random_traits_list = { - education_martial_1 = { weight = { base = 35 } } - education_martial_2 = { weight = { base = 35 } } - education_martial_3 = { weight = { base = 20 } } - education_martial_4 = { weight = { base = 10 } } + count = squire_quality_bad_traits + murderer = {} + contrite = {} + drunkard = {} + dull = {} + irritable = {} + inappetetic = {} + weak = {} } + # Good traits for good squires random_traits_list = { - count = { 0 1 } - lifestyle_blademaster = {} + count = squire_quality_good_traits strong = {} + athletic = {} + shrewd = {} + giant = {} gallant = {} + lifestyle_blademaster = {} aggressive_attacker = {} - brave = {} - wrathful = {} - impatient = {} - arrogant = {} - honest = {} - ambitious = {} - zealous = {} - vengeful = {} } - prowess = { min_guest_template_skill 16 } - gender_female_chance = root_soldier_female_chance + prowess = min_guest_template_skill + gender_female_chance = scope_value_target_soldier_female_chance after_creation = { + assign_martial_education_from_squires_quality_effect = yes add_trait = tourney_participant add_trait_xp = { trait = tourney_participant track = horse - value = 25 - } - random = { - chance = 35 - add_trait_xp = { - trait = tourney_participant - track = horse - value = 25 - } - } - random = { - chance = 5 - add_trait_xp = { - trait = tourney_participant - track = horse - value = 30 - } + value = 10 } # Cultural Traditions if = { limit = { current_date < 1400 - root = { + scope:new_owner = { has_title = title:e_byzantium } culture = { @@ -3343,163 +3986,51 @@ accolade_lancer_character = { } } -accolade_crossbowmen_character = { - age = { 16 35 } +accolade_besieger_character = { + age = { 16 22 } random_traits = yes - + faith = faith + random_culture = { + culture = { + trigger = { always = yes } + } + location.culture = { + trigger = { + exists = location.culture + location.culture = { has_innovation = innovation_mangonel } + } + } + scope:knight_culture = { + trigger = { + exists = scope:knight_culture + scope:knight_culture = { has_innovation = innovation_mangonel } + } + } + scope:varangian_culture = { + trigger = { + exists = scope:varangian_culture + scope:varangian_culture = { has_innovation = innovation_mangonel } + } + } + scope:turkic_culture = { + trigger = { + exists = scope:turkic_culture + scope:turkic_culture = { has_innovation = innovation_mangonel } + } + } + scope:type_specific_culture = { + trigger = { + exists = scope:type_specific_culture + scope:type_specific_culture = { has_innovation = innovation_mangonel } + } + } + } + #This is just temporary, will be replaced by squire quality-determined education trait random_traits_list = { count = 1 - arbitrary = {} - impatient = {} - lustful = {} - compassionate = {} - forgiving = {} - trusting = {} - generous = {} - sadistic = {} - callous = {} - vengeful = {} - stubborn = {} - diligent = {} - temperate = {} - honest = {} - just = {} - patient = {} - ambitious = {} - gregarious = {} - deceitful = {} - greedy = {} + education_martial_1 = {} } - random_traits_list = { - education_martial_1 = { weight = { base = 35 } } - education_martial_2 = { weight = { base = 35 } } - education_martial_3 = { weight = { base = 20 } } - education_martial_4 = { weight = { base = 10 } } - } - random_traits_list = { - count = { 0 1 } - lifestyle_hunter = {} - calm = {} - patient = {} - cynical = {} - callous = {} - craven = {} - humble = {} - cautious_leader = {} - military_engineer = {} - } - prowess = { min_guest_template_skill 16 } - gender_female_chance = root_soldier_female_chance - after_creation = { - add_trait = tourney_participant - add_trait_xp = { - trait = tourney_participant - track = bow - value = 25 - } - random = { - chance = 35 - add_trait_xp = { - trait = tourney_participant - track = bow - value = 25 - } - } - random = { - chance = 5 - add_trait_xp = { - trait = tourney_participant - track = bow - value = 30 - } - } - - # Cultural Traditions - if = { - limit = { - culture = { - has_cultural_parameter = winter_soldier_trait_more_common - } - NOT = { - has_trait = winter_soldier - } - } - random = { - chance = 10 - add_trait = winter_soldier - } - } - if = { - limit = { - culture = { - has_cultural_parameter = forest_fighter_trait_more_common - } - NOT = { - has_trait = forest_fighter - } - } - random = { - chance = 10 - add_trait = forest_fighter - } - } - if = { - limit = { - culture = { - has_cultural_parameter = rough_terrain_expert_trait_more_common - } - NOT = { - has_trait = rough_terrain_expert - } - } - random = { - chance = 10 - add_trait = rough_terrain_expert - } - } - if = { - limit = { - culture = { - has_cultural_parameter = desert_warrior_trait_more_common - } - NOT = { - has_trait = desert_warrior - } - } - random = { - chance = 10 - add_trait = desert_warrior - } - } - if = { - limit = { - culture = { - has_cultural_parameter = jungle_stalker_trait_more_common - } - NOT = { - has_trait = jungle_stalker - } - } - random = { - chance = 10 - add_trait = jungle_stalker - } - } - set_interesting_traits_and_modifiers_effect = yes - add_random_tiered_trait_track_xp_effect = { - TRAIT = lifestyle_hunter - TRACK = hunter - LEVEL_1 = yes - LEVEL_3 = yes - } - } -} - -accolade_besieger_character = { - age = { 16 35 } - random_traits = yes - random_traits_list = { count = 1 wrathful = {} @@ -3523,37 +4054,37 @@ accolade_besieger_character = { deceitful = {} greedy = {} } - + # Bad traits for bad squires random_traits_list = { - education_martial_1 = { weight = { base = 35 } } - education_martial_2 = { weight = { base = 35 } } - education_martial_3 = { weight = { base = 20 } } - education_martial_4 = { weight = { base = 10 } } + count = squire_quality_bad_traits + murderer = {} + contrite = {} + drunkard = {} + dull = {} + irritable = {} + inappetetic = {} + weak = {} } + # Good traits for good squires random_traits_list = { - count = { 0 1 } - tourney_participant = {} + count = squire_quality_good_traits + strong = {} + athletic = {} + shrewd = {} + giant = {} + gallant = {} logistician = {} - calm = {} - patient = {} - deceitful = {} - cynical = {} - paranoid = {} - sadistic = {} - callous = {} - vengeful = {} - diligent = {} - stubborn = {} - } - prowess = { min_guest_template_skill 16 } - gender_female_chance = root_soldier_female_chance + } + prowess = min_guest_template_skill + gender_female_chance = scope_value_target_soldier_female_chance after_creation = { + assign_martial_education_from_squires_quality_effect = yes add_trait = military_engineer # Cultural Traditions if = { limit = { current_date < 1400 - root = { + scope:new_owner = { has_title = title:e_byzantium } culture = { @@ -3642,13 +4173,241 @@ accolade_besieger_character = { LEVEL_1 = yes LEVEL_3 = yes } - add_random_tourney_participant_level_effect = yes + } +} + +accolade_crossbowmen_character = { + age = { 16 22 } + random_traits = yes + faith = faith + random_culture = { + culture = { + trigger = { always = yes } + } + location.culture = { + trigger = { + exists = location.culture + location.culture = { + has_innovation = innovation_advanced_bowmaking + has_innovation = innovation_repeating_crossbow + } + } + } + scope:knight_culture = { + trigger = { + exists = scope:knight_culture + scope:knight_culture = { + OR = { + has_innovation = innovation_advanced_bowmaking + has_innovation = innovation_repeating_crossbow + } + } + } + } + scope:turkic_culture = { + trigger = { + exists = scope:turkic_culture + scope:turkic_culture = { + OR = { + has_innovation = innovation_advanced_bowmaking + has_innovation = innovation_repeating_crossbow + } + } + } + } + scope:type_specific_culture = { + trigger = { + exists = scope:type_specific_culture + scope:type_specific_culture = { + OR = { + has_innovation = innovation_advanced_bowmaking + has_innovation = innovation_repeating_crossbow + } + } + } + } + } + #This is just temporary, will be replaced by squire quality-determined education trait + random_traits_list = { + count = 1 + education_martial_1 = {} + } + + random_traits_list = { + count = 1 + arbitrary = {} + impatient = {} + lustful = {} + compassionate = {} + forgiving = {} + trusting = {} + generous = {} + sadistic = {} + callous = {} + vengeful = {} + stubborn = {} + diligent = {} + temperate = {} + honest = {} + just = {} + patient = {} + ambitious = {} + gregarious = {} + deceitful = {} + greedy = {} + } + # Bad traits for bad squires + random_traits_list = { + count = squire_quality_bad_traits + murderer = {} + contrite = {} + drunkard = {} + dull = {} + irritable = {} + inappetetic = {} + weak = {} + } + # Good traits for good squires + random_traits_list = { + count = squire_quality_good_traits + strong = {} + athletic = {} + shrewd = {} + giant = {} + gallant = {} + lifestyle_hunter = {} + military_engineer = {} + } + prowess = min_guest_template_skill + gender_female_chance = scope_value_target_soldier_female_chance + after_creation = { + assign_martial_education_from_squires_quality_effect = yes + add_trait = tourney_participant + add_trait_xp = { + trait = tourney_participant + track = bow + value = 10 + } + + # Cultural Traditions + if = { + limit = { + culture = { + has_cultural_parameter = winter_soldier_trait_more_common + } + NOT = { + has_trait = winter_soldier + } + } + random = { + chance = 10 + add_trait = winter_soldier + } + } + if = { + limit = { + culture = { + has_cultural_parameter = forest_fighter_trait_more_common + } + NOT = { + has_trait = forest_fighter + } + } + random = { + chance = 10 + add_trait = forest_fighter + } + } + if = { + limit = { + culture = { + has_cultural_parameter = rough_terrain_expert_trait_more_common + } + NOT = { + has_trait = rough_terrain_expert + } + } + random = { + chance = 10 + add_trait = rough_terrain_expert + } + } + if = { + limit = { + culture = { + has_cultural_parameter = desert_warrior_trait_more_common + } + NOT = { + has_trait = desert_warrior + } + } + random = { + chance = 10 + add_trait = desert_warrior + } + } + if = { + limit = { + culture = { + has_cultural_parameter = jungle_stalker_trait_more_common + } + NOT = { + has_trait = jungle_stalker + } + } + random = { + chance = 10 + add_trait = jungle_stalker + } + } + set_interesting_traits_and_modifiers_effect = yes + add_random_tiered_trait_track_xp_effect = { + TRAIT = lifestyle_hunter + TRACK = hunter + LEVEL_1 = yes + LEVEL_3 = yes + } } } accolade_camelry_character = { - age = { 16 35 } + age = { 16 22 } random_traits = yes + faith = faith + random_culture = { + culture = { + trigger = { always = yes } + } + location.culture = { + trigger = { + exists = location.culture + location.culture = { has_innovation = innovation_war_camels } + } + } + scope:knight_culture = { + trigger = { + exists = scope:knight_culture + scope:knight_culture = { has_innovation = innovation_war_camels } + } + } + scope:turkic_culture = { + trigger = { + exists = scope:turkic_culture + scope:turkic_culture = { has_innovation = innovation_war_camels } + } + } + scope:type_specific_culture = { + trigger = { + exists = scope:type_specific_culture + scope:type_specific_culture = { has_innovation = innovation_war_camels } + } + } + } + #This is just temporary, will be replaced by squire quality-determined education trait + random_traits_list = { + count = 1 + education_martial_1 = {} + } random_traits_list = { count = 1 @@ -3675,56 +4434,37 @@ accolade_camelry_character = { deceitful = {} greedy = {} } - + # Bad traits for bad squires random_traits_list = { - education_martial_1 = { weight = { base = 35 } } - education_martial_2 = { weight = { base = 35 } } - education_martial_3 = { weight = { base = 20 } } - education_martial_4 = { weight = { base = 10 } } + count = squire_quality_bad_traits + murderer = {} + contrite = {} + drunkard = {} + dull = {} + irritable = {} + inappetetic = {} + weak = {} } + # Good traits for good squires random_traits_list = { - count = { 0 1 } + count = squire_quality_good_traits + strong = {} + athletic = {} + shrewd = {} + physique_good_1 = {} + gallant = {} lifestyle_hunter = {} - temperate = {} - wrathful = {} - impatient = {} - brave = {} - zealous = {} - humble = {} - content = {} - stubborn = {} } - prowess = { min_guest_template_skill 16 } - gender_female_chance = root_soldier_female_chance + prowess = min_guest_template_skill + gender_female_chance = scope_value_target_soldier_female_chance after_creation = { + assign_martial_education_from_squires_quality_effect = yes add_trait = desert_warrior - random = { - chance = 60 - if = { - limit = { - NOT = { has_trait = tourney_participant } - } - add_trait = tourney_participant - } - add_trait_xp = { - trait = tourney_participant - track = horse - value = 20 - } - } - random = { - chance = 20 - if = { - limit = { - NOT = { has_trait = tourney_participant } - } - add_trait = tourney_participant - } - add_trait_xp = { - trait = tourney_participant - track = horse - value = 30 - } + add_trait = tourney_participant + add_trait_xp = { + trait = tourney_participant + track = horse + value = 10 } # Cultural Traditions @@ -3795,8 +4535,37 @@ accolade_camelry_character = { } accolade_elephantry_character = { - age = { 16 35 } + age = { 16 22 } random_traits = yes + faith = faith + random_culture = { + culture = { + trigger = { always = yes } + } + location.culture = { + trigger = { + exists = location.culture + location.culture = { has_innovation = innovation_elephantry } + } + } + scope:knight_culture = { + trigger = { + exists = scope:knight_culture + scope:knight_culture = { has_innovation = innovation_elephantry } + } + } + scope:type_specific_culture = { + trigger = { + exists = scope:type_specific_culture + scope:type_specific_culture = { has_innovation = innovation_elephantry } + } + } + } + #This is just temporary, will be replaced by squire quality-determined education trait + random_traits_list = { + count = 1 + education_martial_1 = {} + } random_traits_list = { count = 1 @@ -3824,84 +4593,35 @@ accolade_elephantry_character = { gregarious = {} greedy = {} } - + # Bad traits for bad squires random_traits_list = { - education_martial_1 = { weight = { base = 35 } } - education_martial_2 = { weight = { base = 35 } } - education_martial_3 = { weight = { base = 20 } } - education_martial_4 = { weight = { base = 10 } } + count = squire_quality_bad_traits + murderer = {} + clubfooted = {} + drunkard = {} + dull = {} + irritable = {} + inappetetic = {} + weak = {} } + # Good traits for good squires random_traits_list = { - count = { 0 1 } - gallant = {} - wrathful = {} - impatient = {} - arrogant = {} - ambitious = {} - stubborn = {} - gregarious = {} - lazy = {} + count = squire_quality_good_traits + strong = {} + athletic = {} + shrewd = {} giant = {} - } - prowess = { min_guest_template_skill 16 } - gender_female_chance = root_soldier_female_chance + gallant = {} + } + prowess = min_guest_template_skill + gender_female_chance = scope_value_target_soldier_female_chance after_creation = { - add_trait = jungle_stalker - random = { - chance = 30 - if = { - limit = { - NOT = { has_trait = tourney_participant } - } - add_trait = tourney_participant - } - add_trait_xp = { - trait = tourney_participant - track = horse - value = 20 - } - } - random = { - chance = 10 - if = { - limit = { - NOT = { has_trait = tourney_participant } - } - add_trait = tourney_participant - } - add_trait_xp = { - trait = tourney_participant - track = horse - value = 30 - } - } - random = { - chance = 30 - if = { - limit = { - NOT = { has_trait = tourney_participant } - } - add_trait = tourney_participant - } - add_trait_xp = { - trait = tourney_participant - track = bow - value = 20 - } - } - random = { - chance = 10 - if = { - limit = { - NOT = { has_trait = tourney_participant } - } - add_trait = tourney_participant - } - add_trait_xp = { - trait = tourney_participant - track = bow - value = 30 - } + assign_martial_education_from_squires_quality_effect = yes + add_trait = tourney_participant + add_trait_xp = { + trait = tourney_participant + track = horse + value = 10 } # Cultural Traditions @@ -3966,8 +4686,34 @@ accolade_elephantry_character = { } accolade_horse_archer_character = { - age = { 16 35 } + age = { 16 22 } random_traits = yes + faith = faith + random_culture = { + culture = { + trigger = { always = yes } + } + location.culture = { + trigger = { exists = location.culture } + } + scope:knight_culture = { + trigger = { exists = scope:knight_culture } + } + scope:varangian_culture = { + trigger = { exists = scope:varangian_culture } + } + scope:turkic_culture = { + trigger = { exists = scope:turkic_culture } + } + scope:type_specific_culture = { + trigger = { exists = scope:type_specific_culture } + } + } + #This is just temporary, will be replaced by squire quality-determined education trait + random_traits_list = { + count = 1 + education_martial_1 = {} + } random_traits_list = { count = 1 @@ -3995,57 +4741,43 @@ accolade_horse_archer_character = { deceitful = {} greedy = {} } - + # Bad traits for bad squires random_traits_list = { - education_martial_1 = { weight = { base = 35 } } - education_martial_2 = { weight = { base = 35 } } - education_martial_3 = { weight = { base = 20 } } - education_martial_4 = { weight = { base = 10 } } + count = squire_quality_bad_traits + murderer = {} + contrite = {} + drunkard = {} + dull = {} + irritable = {} + inappetetic = {} + weak = {} } + # Good traits for good squires random_traits_list = { - count = { 0 1 } + count = squire_quality_good_traits + strong = {} + athletic = {} + shrewd = {} + physique_good_1 = {} + gallant = {} lifestyle_hunter = {} open_terrain_expert = {} flexible_leader = {} - patient = {} - arbitrary = {} - fickle = {} - trusting = {} - deceitful = {} - cynical = {} - } - prowess = { min_guest_template_skill 16 } - gender_female_chance = root_soldier_female_chance + } + prowess = min_guest_template_skill + gender_female_chance = scope_value_target_soldier_female_chance after_creation = { + assign_martial_education_from_squires_quality_effect = yes add_trait = tourney_participant add_trait_xp = { trait = tourney_participant track = bow - value = 20 + value = 10 } - random = { - chance = 35 - add_trait_xp = { - trait = tourney_participant - track = horse - value = 20 - } - } - random = { - chance = 20 - add_trait_xp = { - trait = tourney_participant - track = bow - value = 30 - } - } - random = { - chance = 20 - add_trait_xp = { - trait = tourney_participant - track = horse - value = 30 - } + add_trait_xp = { + trait = tourney_participant + track = horse + value = 10 } # Cultural Traditions @@ -4131,8 +4863,43 @@ accolade_horse_archer_character = { # EMINENT ATTRIBUTES accolade_huntsmaster_character = { - age = { 18 36 } + age = { 16 24 } random_traits = yes + faith = faith + random_culture = { + culture = { + trigger = { always = yes } + } + location.culture = { + trigger = { + exists = location.culture + location.culture = { NOT = { has_cultural_tradition = tradition_vegetarianism } } + } + } + scope:knight_culture = { + trigger = { + exists = scope:knight_culture + scope:knight_culture = { NOT = { has_cultural_tradition = tradition_vegetarianism } } + } + } + scope:turkic_culture = { + trigger = { + exists = scope:turkic_culture + scope:turkic_culture = { NOT = { has_cultural_tradition = tradition_vegetarianism } } + } + } + scope:type_specific_culture = { + trigger = { + exists = scope:type_specific_culture + scope:type_specific_culture = { NOT = { has_cultural_tradition = tradition_vegetarianism } } + } + } + } + #This is just temporary, will be replaced by squire quality-determined education trait + random_traits_list = { + count = 1 + education_martial_1 = {} + } random_traits_list = { count = 1 @@ -4160,49 +4927,40 @@ accolade_huntsmaster_character = { deceitful = {} greedy = {} } - + # Bad traits for bad squires random_traits_list = { - education_stewardship_3 = { weight = { base = 40 } } - education_stewardship_4 = { weight = { base = 10 } } - education_martial_3 = { weight = { base = 40 } } - education_martial_4 = { weight = { base = 10 } } + count = squire_quality_bad_traits + murderer = {} + profligate = {} + drunkard = {} + dull = {} + irritable = {} + inappetetic = {} + weak = {} } + # Good traits for good squires random_traits_list = { - count = { 0 1 } - tourney_participant = {} - patient = {} - diligent = {} - calm = {} - callous = {} - shy = {} + count = squire_quality_good_traits + strong = {} + athletic = {} + shrewd = {} + physique_good_1 = {} + gallant = {} lifestyle_traveler = {} lifestyle_herbalist = {} - } - prowess = { min_guest_template_skill 16 } - gender_female_chance = root_soldier_female_chance + } + prowess = min_guest_template_skill + gender_female_chance = scope_value_target_soldier_female_chance after_creation = { - add_trait = lifestyle_hunter - if = { - limit = { - has_trait = tourney_participant + random_list = { + 1 = { + assign_martial_education_from_squires_quality_effect = yes } - random = { - chance = 60 - add_trait_xp = { - trait = tourney_participant - track = horse - value = 20 - } - } - random = { - chance = 60 - add_trait_xp = { - trait = tourney_participant - track = bow - value = 30 - } + 1 = { + assign_stewardship_education_from_squires_quality_effect = yes } } + add_trait = lifestyle_hunter # Cultural Traditions if = { @@ -4271,8 +5029,34 @@ accolade_huntsmaster_character = { } accolade_blademaster_character = { - age = { 18 36 } + age = { 16 24 } random_traits = yes + faith = faith + random_culture = { + culture = { + trigger = { always = yes } + } + location.culture = { + trigger = { exists = location.culture } + } + scope:knight_culture = { + trigger = { exists = scope:knight_culture } + } + scope:varangian_culture = { + trigger = { exists = scope:varangian_culture } + } + scope:turkic_culture = { + trigger = { exists = scope:turkic_culture } + } + scope:type_specific_culture = { + trigger = { exists = scope:type_specific_culture } + } + } + #This is just temporary, will be replaced by squire quality-determined education trait + random_traits_list = { + count = 1 + education_martial_1 = {} + } random_traits_list = { count = 1 @@ -4301,50 +5085,76 @@ accolade_blademaster_character = { deceitful = {} greedy = {} } - + # Bad traits for bad squires random_traits_list = { - education_martial_1 = { weight = { base = 35 } } - education_martial_2 = { weight = { base = 35 } } - education_martial_3 = { weight = { base = 20 } } - education_martial_4 = { weight = { base = 10 } } - } - random_traits_list = { - count = { 0 1 } - tourney_participant = {} - giant = {} + count = squire_quality_bad_traits + murderer = {} + drunkard = {} + dull = {} + irritable = {} + inappetetic = {} + weak = {} one_eyed = {} - scarred = {} - gallant = {} - temperate = {} - ambitious = {} - calm = {} - vengeful = {} - callous = {} - sadistic = {} } - prowess = { min_guest_template_skill 16 } - gender_female_chance = root_soldier_female_chance + # Good traits for good squires + random_traits_list = { + count = squire_quality_good_traits + strong = {} + athletic = {} + shrewd = {} + giant = {} + gallant = {} + } + prowess = min_guest_template_skill + gender_female_chance = scope_value_target_soldier_female_chance after_creation = { - add_trait = lifestyle_blademaster + assign_martial_education_from_squires_quality_effect = yes + add_trait = lifestyle_blademaster add_trait_xp = { trait = lifestyle_blademaster - value = 100 + value = 25 } if = { limit = { - has_trait = tourney_participant + scope:succeeding_accolade = { accolade_squires_quality_value >= accolade_squires_accomplished_minimum_value } } add_trait_xp = { - trait = tourney_participant - track = foot - value = 20 + trait = lifestyle_blademaster + value = 25 + } + } + if = { + limit = { + scope:succeeding_accolade = { accolade_squires_quality_value >= accolade_squires_capable_minimum_value } + } + add_trait_xp = { + trait = lifestyle_blademaster + value = 15 + } + } + if = { + limit = { + scope:succeeding_accolade = { accolade_squires_quality_value >= accolade_squires_inexperienced_minimum_value } + } + add_trait_xp = { + trait = lifestyle_blademaster + value = 10 + } + } + if = { + limit = { + scope:succeeding_accolade = { accolade_squires_quality_value >= accolade_squires_feckless_minimum_value } + } + add_trait_xp = { + trait = lifestyle_blademaster + value = 5 } } # Cultural Traditions if = { limit = { current_date < 1400 - root = { + scope:new_owner = { has_title = title:e_byzantium } culture = { @@ -4416,8 +5226,34 @@ accolade_blademaster_character = { } accolade_master_of_revels_character = { - age = { 18 36 } + age = { 16 24 } random_traits = yes + faith = faith + random_culture = { + culture = { + trigger = { always = yes } + } + location.culture = { + trigger = { exists = location.culture } + } + scope:knight_culture = { + trigger = { exists = scope:knight_culture } + } + scope:varangian_culture = { + trigger = { exists = scope:varangian_culture } + } + scope:turkic_culture = { + trigger = { exists = scope:turkic_culture } + } + scope:type_specific_culture = { + trigger = { exists = scope:type_specific_culture } + } + } + #This is just temporary, will be replaced by squire quality-determined education trait + random_traits_list = { + count = 1 + education_martial_1 = {} + } random_traits_list = { count = 1 @@ -4443,30 +5279,40 @@ accolade_master_of_revels_character = { deceitful = {} greedy = {} } - + # Bad traits for bad squires random_traits_list = { - education_diplomacy_1 = { weight = { base = 35 } } - education_diplomacy_2 = { weight = { base = 35 } } - education_diplomacy_3 = { weight = { base = 20 } } - education_diplomacy_4 = { weight = { base = 10 } } - } - random_traits_list = { - count = { 0 1 } - tourney_participant = {} - lifestyle_traveler = {} - gluttonous = {} - gregarious = {} - hashishiyah = {} + count = squire_quality_bad_traits + murderer = {} + stuttering = {} drunkard = {} - generous = {} - trusting = {} - content = {} - lazy = {} - august = {} + dull = {} + irritable = {} + inappetetic = {} + lisping = {} } - prowess = { min_guest_template_skill 16 } - gender_female_chance = root_soldier_female_chance + # Good traits for good squires + random_traits_list = { + count = squire_quality_good_traits + strong = {} + athletic = {} + shrewd = {} + giant = {} + gallant = {} + august = {} + lifestyle_traveler = {} + diplomat = {} + } + prowess = min_guest_template_skill + gender_female_chance = scope_value_target_soldier_female_chance after_creation = { + random_list = { + 1 = { + assign_diplomacy_education_from_squires_quality_effect = yes + } + 1 = { + assign_intrigue_education_from_squires_quality_effect = yes + } + } add_trait = lifestyle_reveler random = { chance = 75 @@ -4496,24 +5342,185 @@ accolade_master_of_revels_character = { } } } - if = { - limit = { - has_trait = tourney_participant - } - add_trait_xp = { - trait = tourney_participant - track = wit - value = 20 - } - random = { - chance = 50 - add_trait_xp = { - trait = tourney_participant - track = wit - value = 30 - } - } - } set_interesting_traits_and_modifiers_effect = yes } } + +accolade_house_knight_character = { + age = { 16 22 } + random_traits = yes + faith = faith + culture = culture + trait = loyal + + #This is just temporary, will be replaced by squire quality-determined education trait + random_traits_list = { + count = 1 + education_martial_1 = {} + } + random_traits_list = { + count = 1 + honest = {} + just = {} + patient = {} + } + random_traits_list = { + count = 1 + lustful = {} + wrathful = {} + arrogant = {} + stubborn = {} + diligent = {} + temperate = {} + zealous = {} + brave = {} + honest = {} + just = {} + patient = {} + gregarious = {} + trusting = {} + sadistic = {} + vengeful = {} + callous = {} + generous = {} + compassionate = {} + forgiving = {} + greedy = {} + } + # Bad traits for bad squires + random_traits_list = { + count = squire_quality_bad_traits + murderer = {} + contrite = {} + drunkard = {} + dull = {} + weak = {} + hunchbacked = {} + clubfooted = {} + } + # Good traits for good squires + random_traits_list = { + count = squire_quality_good_traits + strong = {} + athletic = {} + shrewd = {} + lifestyle_blademaster = {} + lifestyle_hunter = {} + athletic = {} + strategist = {} + confider = {} + unyielding_defender = {} + } + prowess = min_guest_template_skill + gender_female_chance = scope_value_target_soldier_female_chance + after_creation = { + random_list = { + 1 = { + assign_martial_education_from_squires_quality_effect = yes + } + 1 = { + assign_diplomacy_education_from_squires_quality_effect = yes + } + } + add_trait = bastard + add_trait = disputed_heritage + if = { + limit = { + current_date < 1400 + scope:new_owner = { + has_title = title:e_byzantium + } + culture = { + OR = { + has_cultural_parameter = unlock_maa_huscarls + has_cultural_parameter = unlock_maa_varangian_veterans + } + } + } + add_trait = varangian + } + # Cultural Traditions + if = { + limit = { + culture = { + has_cultural_parameter = winter_soldier_trait_more_common + } + NOT = { + has_trait = winter_soldier + } + } + random = { + chance = 10 + add_trait = winter_soldier + } + } + if = { + limit = { + culture = { + has_cultural_parameter = forest_fighter_trait_more_common + } + NOT = { + has_trait = forest_fighter + } + } + random = { + chance = 10 + add_trait = forest_fighter + } + } + if = { + limit = { + culture = { + has_cultural_parameter = rough_terrain_expert_trait_more_common + } + NOT = { + has_trait = rough_terrain_expert + } + } + random = { + chance = 10 + add_trait = rough_terrain_expert + } + } + if = { + limit = { + culture = { + has_cultural_parameter = desert_warrior_trait_more_common + } + NOT = { + has_trait = desert_warrior + } + } + random = { + chance = 10 + add_trait = desert_warrior + } + } + if = { + limit = { + culture = { + has_cultural_parameter = jungle_stalker_trait_more_common + } + NOT = { + has_trait = jungle_stalker + } + } + random = { + chance = 10 + add_trait = jungle_stalker + } + } + set_interesting_traits_and_modifiers_effect = yes + add_random_tiered_trait_xp_effect = { + TRAIT = lifestyle_blademaster + LEVEL_1 = yes + LEVEL_3 = yes + } + add_random_tiered_trait_track_xp_effect = { + TRAIT = lifestyle_hunter + TRACK = hunter + LEVEL_1 = yes + LEVEL_3 = no + } + } +} diff --git a/common/scripted_character_templates/04_ep2_character_templates.txt b/common/scripted_character_templates/04_ep2_character_templates.txt index 1d447e3a..b1f46b64 100644 --- a/common/scripted_character_templates/04_ep2_character_templates.txt +++ b/common/scripted_character_templates/04_ep2_character_templates.txt @@ -1,5 +1,6 @@ tournament_foot_character = { age = { 18 40 } + dynasty = none random_traits_list = { count = 1 education_martial_2 = {} @@ -26,6 +27,7 @@ tournament_horse_character = { age = { 18 40 } + dynasty = none random_traits_list = { count = 1 education_martial_2 = {} @@ -58,6 +60,7 @@ tournament_horse_character = { tournament_archery_character = { age = { 18 40 } + dynasty = none trait = tourney_participant prowess = { min_template_decent_skill @@ -76,6 +79,7 @@ tournament_archery_character = { tournament_recital_character = { age = { 18 40 } + dynasty = none random_traits_list = { count = 1 lifestyle_poet = {} @@ -95,6 +99,7 @@ tournament_recital_character = { tournament_pugilism_character = { age = { 18 40 } + dynasty = none random_traits_list = { count = 1 strong = {} @@ -119,6 +124,7 @@ tournament_pugilism_character = { tournament_board_game_character = { age = { 18 40 } + dynasty = none random_traits_list = { count = 1 education_learning_2 = {} @@ -133,6 +139,7 @@ tournament_board_game_character = { loyal_fan_character = { age = { 18 40 } + dynasty = none trait = loyal random_traits_list = { count = 1 @@ -151,6 +158,7 @@ loyal_fan_character = { local_beauty_character = { age = { 18 40 } + dynasty = none random_traits_list = { count = { 0 1 } beauty_good_1 = {} @@ -253,6 +261,7 @@ feral_child_template = { castaway_character = { age = { 18 40 } + dynasty = none random_traits = yes gender_female_chance = root_soldier_female_chance after_creation = { @@ -315,6 +324,7 @@ sexy_assassin_character = { garden_hermit_character = { age = { 55 80 } + dynasty = none trait = lifestyle_mystic random_traits_list = { count = 1 @@ -341,6 +351,7 @@ garden_hermit_character = { brainless_character_template = { age = { 18 40 } + dynasty = none trait = dull random_traits_list = { count = 1 @@ -392,6 +403,7 @@ brainless_character_template = { heartless_knight = { age = { 18 40 } + dynasty = none random_traits_list = { # Likely to commit social faux pas count = 1 callous = {} @@ -426,6 +438,7 @@ heartless_knight = { cowardly_knight = { age = { 18 40 } + dynasty = none trait = craven random_traits_list = { count = 1 @@ -485,6 +498,7 @@ wealthy_gambler_template = { tournament_mulan_character = { age = { 18 30 } + dynasty = none random_traits_list = { count = 1 education_martial_2 = {} @@ -514,6 +528,7 @@ tournament_mulan_character = { quasimodo_template = { age = { 6 12 } + dynasty = none random_traits_list = { count = { 1 3 } hunchbacked = {} @@ -533,6 +548,7 @@ quasimodo_template = { tournament_unusual_stranger = { age = { 18 40 } + dynasty = none random_traits_list = { count = 1 education_intrigue_3 = {} diff --git a/common/scripted_character_templates/04_ep2_character_templates_james.txt b/common/scripted_character_templates/04_ep2_character_templates_james.txt index bc3514fe..3993f841 100644 --- a/common/scripted_character_templates/04_ep2_character_templates_james.txt +++ b/common/scripted_character_templates/04_ep2_character_templates_james.txt @@ -1,6 +1,7 @@  swords_for_hire_character = { age = { 18 35 } + dynasty = none random_traits_list = { count = 1 education_martial_3 = {} diff --git a/common/scripted_character_templates/04_ep2_james_character_templates.txt b/common/scripted_character_templates/04_ep2_james_character_templates.txt index 5cb999ee..d86cb4c4 100644 --- a/common/scripted_character_templates/04_ep2_james_character_templates.txt +++ b/common/scripted_character_templates/04_ep2_james_character_templates.txt @@ -1,5 +1,6 @@ pilgrim_character = { age = { 18 40 } + dynasty = none trait = pilgrim trait = lifestyle_traveler random_traits_list = { diff --git a/common/scripted_character_templates/04_fp3_character_templates.txt b/common/scripted_character_templates/04_fp3_character_templates.txt index 0ecf33f4..a626e600 100644 --- a/common/scripted_character_templates/04_fp3_character_templates.txt +++ b/common/scripted_character_templates/04_fp3_character_templates.txt @@ -71,6 +71,7 @@ fp3_raging_ghazi_character = { fp3_chinese_grand_old_lady = { #General age = { 50 75 } + dynasty = none gender = female faith = faith:zhengyi culture = culture:han @@ -111,6 +112,7 @@ fp3_chinese_grand_old_lady = { fp3_chinese_eunuch_envoy = { #General age = { 20 55 } + dynasty = none gender = male faith = faith:mahayana culture = culture:han @@ -149,6 +151,7 @@ fp3_chinese_eunuch_envoy = { fp3_gnostic_paragon = { age = { 30 60 } + dynasty = none faith = faith:manichean culture = culture:levantine #Education @@ -204,6 +207,7 @@ fp3_gnostic_paragon = { fp3_sufi_mystic = { age = { 30 80 } + dynasty = none faith = root.faith culture = root.culture #Education @@ -261,6 +265,7 @@ fp3_sufi_mystic = { fp3_zoroastrian_armed_pilgrim = { age = { 20 50 } + dynasty = none #Education random_traits_list = { education_learning_2 = { @@ -378,7 +383,7 @@ fp3_turkic_traveler = { #General age = { 24 40 } culture = culture:turkish - dynasty = generate + dynasty = none #Education random_traits_list = { education_martial_2 = { @@ -673,6 +678,7 @@ fp3_ferdowsi_template = { fp3_skilled_outsider_template = { # General age = { 30 60 } + dynasty = none # Education ## We give out random low tier education traits, and we'll upgrade them later if we're in batch B. random_traits_list = { diff --git a/common/scripted_character_templates/05_bp2_character_templates.txt b/common/scripted_character_templates/05_bp2_character_templates.txt index 514cc0dd..5ea2343c 100644 --- a/common/scripted_character_templates/05_bp2_character_templates.txt +++ b/common/scripted_character_templates/05_bp2_character_templates.txt @@ -21,6 +21,7 @@ bp2_wet_nurse_template = { adult_education_teacher = { age = { 35 75 } + dynasty = none random_traits_list = { count = 1 education_diplomacy_4 = {} @@ -121,6 +122,7 @@ adult_education_teacher = { adult_education_student = { age = { 18 40 } + dynasty = none random_traits = yes faith = scope:activity.activity_location.faith culture = scope:activity.activity_location.culture @@ -171,6 +173,7 @@ foreign_architect_template = { culture_defender_knight_template = { age = { 20 40 } + dynasty = none random_traits = yes random_traits_list = { @@ -354,6 +357,7 @@ foreign_scholar_template = { foreign_official_template = { age = { 25 45 } + dynasty = none random_traits_list = { count = 3 diff --git a/common/scripted_character_templates/07_ep3_character_templates.txt b/common/scripted_character_templates/07_ep3_character_templates.txt index a5a9fe48..8479b62a 100644 --- a/common/scripted_character_templates/07_ep3_character_templates.txt +++ b/common/scripted_character_templates/07_ep3_character_templates.txt @@ -79,6 +79,7 @@ anatolian_guide_character = { varangian_template = { age = { 16 45 } + dynasty = none random_traits = yes random_traits_list = { @@ -492,6 +493,7 @@ laamp_inheritor_template = { traveler_character = { age = { 25 45 } + dynasty = none random_traits = yes faith = this.faith gender_female_chance = 50 @@ -579,6 +581,7 @@ traveler_character = { ep3_evangelizer_template = { age = { 32 70 } + dynasty = none random_traits = yes culture = root.culture faith = root.faith @@ -839,6 +842,7 @@ ep3_poet_toned_down_template = { ep3_murderer_template = { age = { 25 45 } + dynasty = none random_traits = yes culture = root.culture faith = root.faith diff --git a/common/scripted_character_templates/09_mpo_character_templates.txt b/common/scripted_character_templates/09_mpo_character_templates.txt index 0b1810f7..4de3fd3a 100644 --- a/common/scripted_character_templates/09_mpo_character_templates.txt +++ b/common/scripted_character_templates/09_mpo_character_templates.txt @@ -1085,6 +1085,7 @@ nomadic_husband_template = { wounded_messenger_character_template = { age = { 18 50 } + dynasty = none random_traits = no gender_female_chance = 50 trait = open_terrain_expert @@ -1134,6 +1135,7 @@ wounded_messenger_character_template = { throat_singer_character_template = { age = { 30 55 } + dynasty = none random_traits = no gender_female_chance = 20 trait = lifestyle_poet diff --git a/common/scripted_character_templates/tgp_character_templates.txt b/common/scripted_character_templates/tgp_character_templates.txt index a98509b7..f83f755e 100644 --- a/common/scripted_character_templates/tgp_character_templates.txt +++ b/common/scripted_character_templates/tgp_character_templates.txt @@ -46,6 +46,7 @@ tgp_examiner_learning_template = { age = { 35 49 } + dynasty = none random_traits_list = { count = 1 education_learning_3 = {} @@ -56,15 +57,15 @@ tgp_examiner_learning_template = { max_template_decent_skill } random_traits = yes - faith = title:h_china.holder.faith - culture = title:h_china.holder.culture + faith = scope:host.top_liege.faith + culture = scope:host.top_liege.culture gender_female_chance = { if = { - limit = { title:h_china.holder.faith = { has_doctrine = doctrine_gender_male_dominated } } + limit = { scope:host.top_liege.faith = { has_doctrine = doctrine_gender_male_dominated } } add = 0 } else_if = { - limit = { title:h_china.holder.faith = { has_doctrine = doctrine_gender_female_dominated } } + limit = { scope:host.top_liege.faith = { has_doctrine = doctrine_gender_female_dominated } } add = 100 } else = { @@ -94,6 +95,7 @@ tgp_examiner_learning_template = { tgp_examiner_martial_template = { age = { 35 49 } + dynasty = none random_traits_list = { count = 1 education_martial_3 = {} @@ -104,15 +106,15 @@ tgp_examiner_martial_template = { max_template_decent_skill } random_traits = yes - faith = title:h_china.holder.faith - culture = title:h_china.holder.culture + faith = scope:host.top_liege.faith + culture = scope:host.top_liege.culture gender_female_chance = { if = { - limit = { title:h_china.holder.faith = { has_doctrine = doctrine_gender_male_dominated } } + limit = { scope:host.top_liege.faith = { has_doctrine = doctrine_gender_male_dominated } } add = 0 } else_if = { - limit = { title:h_china.holder.faith = { has_doctrine = doctrine_gender_female_dominated } } + limit = { scope:host.top_liege.faith = { has_doctrine = doctrine_gender_female_dominated } } add = 100 } else = { @@ -142,6 +144,7 @@ tgp_examiner_martial_template = { tgp_examiner_stewardship_template = { age = { 35 49 } + dynasty = none random_traits_list = { count = 1 education_stewardship_3 = {} @@ -152,15 +155,15 @@ tgp_examiner_stewardship_template = { max_template_decent_skill } random_traits = yes - faith = title:h_china.holder.faith - culture = title:h_china.holder.culture + faith = scope:host.top_liege.faith + culture = scope:host.top_liege.culture gender_female_chance = { if = { - limit = { title:h_china.holder.faith = { has_doctrine = doctrine_gender_male_dominated } } + limit = { scope:host.top_liege.faith = { has_doctrine = doctrine_gender_male_dominated } } add = 0 } else_if = { - limit = { title:h_china.holder.faith = { has_doctrine = doctrine_gender_female_dominated } } + limit = { scope:host.top_liege.faith = { has_doctrine = doctrine_gender_female_dominated } } add = 100 } else = { @@ -190,6 +193,7 @@ tgp_examiner_stewardship_template = { tgp_learning_exam_entrant_template = { age = { 16 27 } + dynasty = none random_traits_list = { count = 1 education_learning_2 = {} @@ -200,15 +204,15 @@ tgp_learning_exam_entrant_template = { max_template_average_skill } random_traits = yes - faith = title:h_china.holder.faith - culture = title:h_china.holder.culture + faith = scope:host.top_liege.faith + culture = scope:host.top_liege.culture gender_female_chance = { if = { - limit = { title:h_china.holder.faith = { has_doctrine = doctrine_gender_male_dominated } } + limit = { scope:host.top_liege.faith = { has_doctrine = doctrine_gender_male_dominated } } add = 0 } else_if = { - limit = { title:h_china.holder.faith = { has_doctrine = doctrine_gender_female_dominated } } + limit = { scope:host.top_liege.faith = { has_doctrine = doctrine_gender_female_dominated } } add = 100 } else = { @@ -219,6 +223,7 @@ tgp_learning_exam_entrant_template = { tgp_stewardship_exam_entrant_template = { age = { 16 27 } + dynasty = none random_traits_list = { count = 1 education_stewardship_2 = {} @@ -229,15 +234,15 @@ tgp_stewardship_exam_entrant_template = { max_template_average_skill } random_traits = yes - faith = title:h_china.holder.faith - culture = title:h_china.holder.culture + faith = scope:host.top_liege.faith + culture = scope:host.top_liege.culture gender_female_chance = { if = { - limit = { title:h_china.holder.faith = { has_doctrine = doctrine_gender_male_dominated } } + limit = { scope:host.top_liege.faith = { has_doctrine = doctrine_gender_male_dominated } } add = 0 } else_if = { - limit = { title:h_china.holder.faith = { has_doctrine = doctrine_gender_female_dominated } } + limit = { scope:host.top_liege.faith = { has_doctrine = doctrine_gender_female_dominated } } add = 100 } else = { @@ -248,6 +253,7 @@ tgp_stewardship_exam_entrant_template = { tgp_martial_exam_entrant_template = { age = { 16 27 } + dynasty = none random_traits_list = { count = 1 education_martial_2 = {} @@ -258,15 +264,15 @@ tgp_martial_exam_entrant_template = { max_template_average_skill } random_traits = yes - faith = title:h_china.holder.faith - culture = title:h_china.holder.culture + faith = scope:host.top_liege.faith + culture = scope:host.top_liege.culture gender_female_chance = { if = { - limit = { title:h_china.holder.faith = { has_doctrine = doctrine_gender_male_dominated } } + limit = { scope:host.top_liege.faith = { has_doctrine = doctrine_gender_male_dominated } } add = 0 } else_if = { - limit = { title:h_china.holder.faith = { has_doctrine = doctrine_gender_female_dominated } } + limit = { scope:host.top_liege.faith = { has_doctrine = doctrine_gender_female_dominated } } add = 100 } else = { @@ -414,6 +420,7 @@ tgp_decent_heir_template = { tgp_minister_administrator_template = { age = { 25 49 } + dynasty = none random_traits_list = { count = 1 education_stewardship_3 = {} @@ -484,6 +491,7 @@ tgp_minister_administrator_template = { tgp_minister_diplomat_template = { age = { 25 49 } + dynasty = none random_traits_list = { count = 1 education_diplomacy_3 = {} @@ -524,6 +532,7 @@ tgp_minister_diplomat_template = { tgp_minister_commander_template = { age = { 25 49 } + dynasty = none random_traits_list = { count = 1 education_martial_3 = {} @@ -588,6 +597,7 @@ tgp_minister_commander_template = { tgp_minister_warrior_template = { age = { 18 35 } + dynasty = none random_traits_list = { count = 1 education_martial_2 = {} @@ -670,6 +680,7 @@ tgp_minister_warrior_template = { tgp_minister_scholar_template = { age = { 25 49 } + dynasty = none random_traits_list = { count = 1 education_learning_3 = {} @@ -719,6 +730,7 @@ tgp_minister_scholar_template = { tgp_minister_confucian_scholar_template = { age = { 30 55 } + dynasty = none random_traits_list = { count = 1 education_learning_3 = {} @@ -765,6 +777,7 @@ tgp_minister_confucian_scholar_template = { tgp_minister_eunuch_template = { age = { 25 49 } + dynasty = none random_traits_list = { count = 1 education_diplomacy_3 = { weight = { base = 25 } } @@ -1067,42 +1080,42 @@ tgp_aspect_acolyte_template = { count = 1 education_stewardship_2 = { trigger = { - root.house = { has_house_power_parameter = aspect_of_creation } + root.house = { has_house_aspiration_parameter = aspect_of_creation } } } education_stewardship_3 = { trigger = { - root.house = { has_house_power_parameter = aspect_of_creation } + root.house = { has_house_aspiration_parameter = aspect_of_creation } } } education_diplomacy_2 = { trigger = { - root.house = { has_house_power_parameter = aspect_of_serenity } + root.house = { has_house_aspiration_parameter = aspect_of_serenity } } } education_diplomacy_3 = { trigger = { - root.house = { has_house_power_parameter = aspect_of_serenity } + root.house = { has_house_aspiration_parameter = aspect_of_serenity } } } education_martial_2 = { trigger = { - root.house = { has_house_power_parameter = aspect_of_destruction } + root.house = { has_house_aspiration_parameter = aspect_of_destruction } } } education_martial_3 = { trigger = { - root.house = { has_house_power_parameter = aspect_of_destruction } + root.house = { has_house_aspiration_parameter = aspect_of_destruction } } } education_intrigue_2 = { trigger = { - root.house = { has_house_power_parameter = aspect_of_trickery } + root.house = { has_house_aspiration_parameter = aspect_of_trickery } } } education_intrigue_3 = { trigger = { - root.house = { has_house_power_parameter = aspect_of_trickery } + root.house = { has_house_aspiration_parameter = aspect_of_trickery } } } } diff --git a/common/scripted_effects/00_faction_effects.txt b/common/scripted_effects/00_faction_effects.txt index 6e96b942..3211ad35 100644 --- a/common/scripted_effects/00_faction_effects.txt +++ b/common/scripted_effects/00_faction_effects.txt @@ -942,6 +942,7 @@ successful_nomadic_revolt_outcome_effect = { } if = { limit = { + holder.top_liege = scope:faction_target NOT = { is_in_list = seized_duchies } } add_to_list = seized_duchies diff --git a/common/scripted_effects/00_major_decisions_scripted_effects.txt b/common/scripted_effects/00_major_decisions_scripted_effects.txt index 3a9c4171..3c0a13d5 100644 --- a/common/scripted_effects/00_major_decisions_scripted_effects.txt +++ b/common/scripted_effects/00_major_decisions_scripted_effects.txt @@ -2690,20 +2690,23 @@ form_siam_kingdom_decision_scripted_effect = { hidden_effect = { title:k_siam = { save_scope_as = siam_kingdom } title:d_sukhothai = { save_scope_as = sukhotai_duchy } - title:d_muang_sua = { save_scope_as = muang_sua_duchy } + title:d_lop_buri = { save_scope_as = lop_buri } title:d_sukhothai = { set_de_jure_liege_title = title:k_siam } - title:d_muang_sua = { set_de_jure_liege_title = title:k_siam } + title:d_lop_buri = { set_de_jure_liege_title = title:k_siam } every_held_title = { # add other duchies if I hold any in the region limit = { tier = tier_duchy any_de_jure_county = { title_province = { - geographical_region = world_asia_thailand + OR = { + geographical_region = world_asia_thailand + geographical_region = world_asia_malaysia + } } } NOT = { this = title:d_sukhothai - this = title:d_muang_sua + this = title:d_lop_buri } } set_de_jure_liege_title = title:k_siam @@ -3857,5 +3860,5 @@ found_empire_of_hindustan_scripted_effect = { } } add_legitimacy_effect = { LEGITIMACY = massive_legitimacy_gain } - dynasty = { add_dynasty_prestige = massive_dynasty_prestige_value } + dynasty ?= { add_dynasty_prestige = massive_dynasty_prestige_value } } diff --git a/common/scripted_effects/00_mongol_invasion_effects.txt b/common/scripted_effects/00_mongol_invasion_effects.txt index 2addc7f4..eb13230c 100644 --- a/common/scripted_effects/00_mongol_invasion_effects.txt +++ b/common/scripted_effects/00_mongol_invasion_effects.txt @@ -11975,7 +11975,7 @@ convert_great_yuan_to_admin_effect = { } if = { limit = { - government_has_flag = government_is_celestial + tgp_use_chinese_naming_trigger = yes highest_held_title_tier >= tier_empire primary_title = { has_custom_title_name = no diff --git a/common/scripted_effects/07_dlc_ep3_scripted_effects.txt b/common/scripted_effects/07_dlc_ep3_scripted_effects.txt index 7fbe59df..6231091e 100644 --- a/common/scripted_effects/07_dlc_ep3_scripted_effects.txt +++ b/common/scripted_effects/07_dlc_ep3_scripted_effects.txt @@ -1245,7 +1245,11 @@ destroy_landless_title_no_dlc_effect = { NOT = { has_dlc_feature = roads_to_power } game_start_date = $DATE$ } - holder = { destroy_title = prev } + holder ?= { + # Clears liquid treasury whenever balance > 0 + empty_treasury_when_abandoning_landed_life_effect = yes + destroy_title = prev + } } } @@ -1531,12 +1535,37 @@ ep3_become_landed_transfer_effect = { government_is_administrative = { save_scope_value_as = { name = old_government value = flag:admin } } + government_is_feudal = { + save_scope_value_as = { name = old_government value = flag:feudal } + } government_is_clan = { save_scope_value_as = { name = old_government value = flag:clan } } government_is_tribal = { save_scope_value_as = { name = old_government value = flag:tribal } } + government_is_republic = { + if = { + limit = { + scope:government_giver ?= { ep3_is_clan_inclined_trigger = yes } + } + save_scope_value_as = { name = old_government value = flag:clan } + } + else = { + save_scope_value_as = { name = old_government value = flag:feudal } + } + } + government_is_theocracy = { + if = { + limit = { + scope:government_giver ?= { ep3_is_clan_inclined_trigger = yes } + } + save_scope_value_as = { name = old_government value = flag:clan } + } + else = { + save_scope_value_as = { name = old_government value = flag:feudal } + } + } government_is_wanua = { save_scope_value_as = { name = old_government value = flag:wanua } } @@ -1583,12 +1612,8 @@ ep3_become_landed_transfer_effect = { } scope:new_primary_title ?= { ordered_de_jure_county = { - limit = { - holder = scope:defender - } - alternative_limit = { - holder.top_liege = scope:defender.top_liege - } + limit = { holder = scope:defender } + alternative_limit = { holder.top_liege = scope:defender.top_liege } order_by = development_level save_scope_as = new_capital } @@ -1701,18 +1726,12 @@ ep3_become_landed_transfer_effect = { resolve_title_and_vassal_change = scope:title_change # Because target may be either a title or a character, we check if a scope value has been set up in advance if this is being called from the Seize Realm scheme specifically if = { - limit = { - exists = scope:old_government_type - } - scope:old_government_type = { - save_scope_as = old_government - } + limit = { exists = scope:old_government_type } + scope:old_government_type = { save_scope_as = old_government } } # Set government type if = { - limit = { - exists = scope:old_government - } + limit = { exists = scope:old_government } # We don't expect to actually trigger most of the below, as most are not valid targets to begin with, but all are included for completeness and mod support switch = { trigger = scope:old_government @@ -1741,6 +1760,16 @@ ep3_become_landed_transfer_effect = { change_government = administrative_government } flag:nomad = { + #Did you demand a herder's pastureland? + if = { + limit = { + scope:new_capital.title_province = { + has_holding = yes + NOT = { has_holding_type = nomad_holding } + } + } + scope:new_capital.title_province = { set_holding_type = nomad_holding } + } change_government = nomad_government } flag:herder = { @@ -1872,6 +1901,19 @@ ep3_become_landed_transfer_effect = { } change_government = clan_government } + ## Republic. + else_if = { + limit = { + scope:new_liege ?= { government_has_flag = government_is_republic } + } + if = { + limit = { + scope:new_liege ?= { ep3_is_clan_inclined_trigger = yes } + } + change_government = clan_government + } + else = { change_government = feudal_government } + } ## Tribal. else_if = { limit = { @@ -2005,7 +2047,7 @@ ep3_become_landed_transfer_effect = { destroy_laamp_effect = { ADVENTURER = $TITLE_RECEIVER$ } # Setup NF if valid if = { - limit = { government_allows = administrative } + limit = { government_allows = noble_families } give_new_noble_family_title_effect = yes } } @@ -2147,33 +2189,32 @@ purchase_land_interaction_effect = { faith = { has_doctrine = doctrine_polytheist } } #Sort out the House shenanigans - if = { - limit = { is_house_head = no } - house = { - if = { - limit = { - house_head = { - is_landed = no - is_courtier_of = root + hidden_effect = { + if = { + limit = { is_house_head = no } + house ?= { + if = { + limit = { + house_head = { + is_landed = no + is_courtier_of = root + } } + set_house_head = root + } + } + } + else = { + house ?= { + if = { + limit = { + NOT = { has_house_aspiration_parameter = no_aspect } + } + set_house_aspiration = { type = no_aspect } } - set_house_head = root } } } - else = { - house ?= { - set_house_aspiration = { type = no_aspect } - } - } - } - #Otherwise go vanilla - else = { - if = { - limit = { ep3_is_clan_inclined_trigger = yes } - change_government = clan_government - } - else = { change_government = feudal_government } } } @@ -4763,70 +4804,70 @@ remove_a_criminal_trait_in_faith_effect = { if = { limit = { has_trait = adulterer - trait_is_criminal_in_faith_trigger = { TRAIT = adulterer FAITH = $FAITH$ GENDER_CHARACTER = $CHARACTER$ } + trait_is_criminal_in_faith_trigger = { TRAIT = trait:adulterer FAITH = $FAITH$ GENDER_CHARACTER = $CHARACTER$ } } remove_trait = adulterer } else_if = { limit = { has_trait = fornicator - trait_is_criminal_in_faith_trigger = { TRAIT = fornicator FAITH = $FAITH$ GENDER_CHARACTER = $CHARACTER$ } + trait_is_criminal_in_faith_trigger = { TRAIT = trait:fornicator FAITH = $FAITH$ GENDER_CHARACTER = $CHARACTER$ } } remove_trait = fornicator } else_if = { limit = { has_trait = sodomite - trait_is_criminal_in_faith_trigger = { TRAIT = sodomite FAITH = $FAITH$ GENDER_CHARACTER = $CHARACTER$ } + trait_is_criminal_in_faith_trigger = { TRAIT = trait:sodomite FAITH = $FAITH$ GENDER_CHARACTER = $CHARACTER$ } } remove_trait = sodomite } else_if = { limit = { has_trait = deviant - trait_is_criminal_in_faith_trigger = { TRAIT = deviant FAITH = $FAITH$ GENDER_CHARACTER = $CHARACTER$ } + trait_is_criminal_in_faith_trigger = { TRAIT = trait:deviant FAITH = $FAITH$ GENDER_CHARACTER = $CHARACTER$ } } remove_trait = deviant } else_if = { limit = { has_trait = kinslayer_3 - trait_is_criminal_in_faith_trigger = { TRAIT = kinslayer_3 FAITH = $FAITH$ GENDER_CHARACTER = $CHARACTER$ } + trait_is_criminal_in_faith_trigger = { TRAIT = trait:kinslayer_3 FAITH = $FAITH$ GENDER_CHARACTER = $CHARACTER$ } } remove_trait = kinslayer_3 } else_if = { limit = { has_trait = kinslayer_2 - trait_is_criminal_in_faith_trigger = { TRAIT = kinslayer_2 FAITH = $FAITH$ GENDER_CHARACTER = $CHARACTER$ } + trait_is_criminal_in_faith_trigger = { TRAIT = trait:kinslayer_2 FAITH = $FAITH$ GENDER_CHARACTER = $CHARACTER$ } } remove_trait = kinslayer_2 } else_if = { limit = { has_trait = kinslayer_1 - trait_is_criminal_in_faith_trigger = { TRAIT = kinslayer_1 FAITH = $FAITH$ GENDER_CHARACTER = $CHARACTER$ } + trait_is_criminal_in_faith_trigger = { TRAIT = trait:kinslayer_1 FAITH = $FAITH$ GENDER_CHARACTER = $CHARACTER$ } } remove_trait = kinslayer_1 } else_if = { limit = { has_trait = witch - trait_is_criminal_in_faith_trigger = { TRAIT = witch FAITH = $FAITH$ GENDER_CHARACTER = $CHARACTER$ } + trait_is_criminal_in_faith_trigger = { TRAIT = trait:witch FAITH = $FAITH$ GENDER_CHARACTER = $CHARACTER$ } } remove_trait = witch } else_if = { limit = { has_trait = cannibal - trait_is_criminal_in_faith_trigger = { TRAIT = cannibal FAITH = $FAITH$ GENDER_CHARACTER = $CHARACTER$ } + trait_is_criminal_in_faith_trigger = { TRAIT = trait:cannibal FAITH = $FAITH$ GENDER_CHARACTER = $CHARACTER$ } } remove_trait = cannibal } else_if = { limit = { has_trait = incestuous - trait_is_criminal_in_faith_trigger = { TRAIT = incestuous FAITH = $FAITH$ GENDER_CHARACTER = $CHARACTER$ } + trait_is_criminal_in_faith_trigger = { TRAIT = trait:incestuous FAITH = $FAITH$ GENDER_CHARACTER = $CHARACTER$ } } remove_trait = incestuous } @@ -9064,10 +9105,10 @@ ep3_pick_random_maa_regiment_effect = { 1 = { trigger = { any_active_accolade = { - primary_type = { - this = accolade_type:archer_attribute + accolade_attribute_level = { + type = archer_attribute + level >= 2 } - accolade_rank >= 3 } } save_scope_value_as = { @@ -9078,10 +9119,10 @@ ep3_pick_random_maa_regiment_effect = { 1 = { trigger = { any_active_accolade = { - primary_type = { - this = accolade_type:skirmisher_attribute + accolade_attribute_level = { + type = skirmisher_attribute + level >= 2 } - accolade_rank >= 3 } } save_scope_value_as = { @@ -9092,10 +9133,10 @@ ep3_pick_random_maa_regiment_effect = { 1 = { trigger = { any_active_accolade = { - primary_type = { - this = accolade_type:pike_attribute + accolade_attribute_level = { + type = pike_attribute + level >= 2 } - accolade_rank >= 3 } } save_scope_value_as = { @@ -9106,10 +9147,10 @@ ep3_pick_random_maa_regiment_effect = { 1 = { trigger = { any_active_accolade = { - primary_type = { - this = accolade_type:outrider_attribute + accolade_attribute_level = { + type = outrider_attribute + level >= 2 } - accolade_rank >= 3 } } save_scope_value_as = { @@ -9120,10 +9161,10 @@ ep3_pick_random_maa_regiment_effect = { 1 = { trigger = { any_active_accolade = { - primary_type = { - this = accolade_type:vanguard_attribute + accolade_attribute_level = { + type = vanguard_attribute + level >= 2 } - accolade_rank >= 3 } } save_scope_value_as = { @@ -9134,10 +9175,10 @@ ep3_pick_random_maa_regiment_effect = { 1 = { trigger = { any_active_accolade = { - primary_type = { - this = accolade_type:lancer_attribute + accolade_attribute_level = { + type = lancer_attribute + level >= 2 } - accolade_rank >= 3 } } save_scope_value_as = { @@ -9148,10 +9189,10 @@ ep3_pick_random_maa_regiment_effect = { 1 = { trigger = { any_active_accolade = { - primary_type = { - this = accolade_type:crossbowmen_attribute + accolade_attribute_level = { + type = crossbowmen_attribute + level >= 2 } - accolade_rank >= 3 } } save_scope_value_as = { @@ -9162,10 +9203,10 @@ ep3_pick_random_maa_regiment_effect = { 1 = { trigger = { any_active_accolade = { - primary_type = { - this = accolade_type:camelry_attribute + accolade_attribute_level = { + type = camelry_attribute + level >= 2 } - accolade_rank >= 3 } } save_scope_value_as = { @@ -9176,10 +9217,10 @@ ep3_pick_random_maa_regiment_effect = { 1 = { trigger = { any_active_accolade = { - primary_type = { - this = accolade_type:elephantry_attribute + accolade_attribute_level = { + type = elephantry_attribute + level >= 2 } - accolade_rank >= 3 } } save_scope_value_as = { @@ -9190,10 +9231,10 @@ ep3_pick_random_maa_regiment_effect = { 1 = { trigger = { any_active_accolade = { - primary_type = { - this = accolade_type:horse_archer_attribute + accolade_attribute_level = { + type = horse_archer_attribute + level >= 2 } - accolade_rank >= 3 } } save_scope_value_as = { @@ -10697,8 +10738,8 @@ create_basic_peasant_effect = { template = peasant_character location = root.location dynasty = none - culture = scope:new_landless_minority.culture - faith = scope:new_landless_minority.faith + culture = root.location.culture + faith = root.location.faith gender_female_chance = 50 after_creation = { set_to_lowborn = yes @@ -12040,106 +12081,53 @@ war_task_contracts_completion_effect = { #If a landless adventurer was hired as a mercenary and contributed in a war they get paid, used in war_on_actions, relevant flag set by hire_laamp_mercenaries_interaction or ep3_interactions_events.0112 laamp_as_mercenary_payout_effect = { scope:war = { - if = { + every_war_participant = { limit = { - any_war_participant = { - has_character_flag = joined_as_mercenary - is_attacker_in_war = scope:war - NOT = { is_leader_in_war = scope:war } - OR = { - has_raised_armies = yes - scope:war = { - war_contribution = { - target = prev - value > 0 - } - } - } - } + laamp_as_mercenary_payout_trigger = { WAR = scope:war } } - every_war_participant = { + if = { limit = { - has_character_flag = joined_as_mercenary - is_attacker_in_war = scope:war - NOT = { is_leader_in_war = scope:war } - OR = { - has_raised_armies = yes - scope:war = { - war_contribution = { - target = prev - value > 0 - } - } - } + laamp_as_mercenary_payout_last_war_trigger = { WAR = scope:war } } + save_scope_as = laamp_temp add_to_list = laamp_mercenaries - remove_character_flag = joined_as_mercenary - } - primary_attacker = { - save_scope_as = employer - trigger_event = { - id = ep3_interactions_events.0121 - days = { 3 7 } - } - } - every_in_list = { - list = laamp_mercenaries - scope:employer = { - remove_list_variable = { - name = hired_mercenaries - target = prev + var:joined_as_mercenary = { + save_scope_as = employer + trigger_event = { + id = ep3_interactions_events.0121 + days = { 3 7 } } } - } - } - if = { - limit = { - any_war_participant = { - has_character_flag = joined_as_mercenary - is_defender_in_war = scope:war - NOT = { is_leader_in_war = scope:war } - OR = { - has_raised_armies = yes - scope:war = { - war_contribution = { - target = prev - value > 0 - } + every_in_list = { + list = laamp_mercenaries + scope:employer = { + remove_list_variable = { + name = hired_mercenaries + target = scope:laamp_temp } } } + remove_variable = joined_as_mercenary } - every_war_participant = { - limit = { - has_character_flag = joined_as_mercenary - is_defender_in_war = scope:war - NOT = { is_leader_in_war = scope:war } - OR = { - has_raised_armies = yes - scope:war = { - war_contribution = { - target = prev - value > 0 - } - } + else = { + save_scope_as = laamp_temp + var:joined_as_mercenary = { save_scope_as = employer } + if = { + limit = { exists = var:aggregate_war_contribution_value } + change_variable = { + name = aggregate_war_contribution_value + add = scope:laamp_temp.ep3_hire_laamp_mercs_payment_value + } + # Average + change_variable = { + name = aggregate_war_contribution_value + divide = 2 } } - add_to_list = laamp_mercenaries - remove_character_flag = joined_as_mercenary - } - primary_defender = { - save_scope_as = employer - trigger_event = { - id = ep3_interactions_events.0121 - days = { 3 7 } - } - } - every_in_list = { - list = laamp_mercenaries - scope:employer = { - remove_list_variable = { - name = hired_mercenaries - target = prev + else = { + set_variable = { + name = aggregate_war_contribution_value + value = scope:laamp_temp.ep3_hire_laamp_mercs_payment_value } } } @@ -12153,184 +12141,66 @@ laamp_as_mercenary_payout_effect = { # defender - primary defender from the casus_belli laamp_as_mercenary_payout_tooltip_effect = { show_as_tooltip = { - scope:defender = { - if = { - limit = { - exists = scope:war - any_war_ally = { - has_government = landless_adventurer_government - OR = { - any_character_active_contract = { - has_task_contract_type = laamp_join_war_contract - var:task_contract_war ?= scope:war + scope:war ?= { + every_war_participant = { + limit = { has_government = landless_adventurer_government } + save_scope_as = laamp_temp + save_scope_as = actor + save_scope_value_as = { + name = war_contribution_value + value = "scope:war.war_contribution(scope:laamp_temp)" + } + every_character_active_contract = { + limit = { + has_task_contract_type = laamp_join_war_contract + var:task_contract_war = scope:war + } + show_as_tooltip = { + task_contract_employer = { + save_scope_as = employer + custom_tooltip = ep3_join_war_payment_tt + pay_short_term_gold = { + target = scope:laamp_temp + gold = scope:laamp_temp.ep3_hire_laamp_mercs_payment_value } - AND = { - has_variable = owed_contract_assistance_gold - var:owed_contract_assistance_war ?= scope:war - } - has_variable = joined_as_mercenary } } } - every_war_ally = { + if = { + limit = { + laamp_as_mercenary_payout_trigger = { WAR = scope:war } + } if = { limit = { - has_government = landless_adventurer_government + laamp_as_mercenary_payout_last_war_trigger = { WAR = scope:war } } - save_scope_as = laamp_temp - save_scope_as = actor - save_scope_value_as = { - name = war_contribution_value - value = "scope:war.war_contribution(scope:laamp_temp)" - } - if = { - limit = { - any_character_active_contract = { - has_task_contract_type = laamp_join_war_contract - var:task_contract_war = scope:war - } + var:joined_as_mercenary ?= { + save_scope_as = employer + custom_description_no_bullet = { + text = ep3_hire_laamp_mercs_payment_tt + object = scope:laamp_temp + subject = scope:employer } - every_character_active_contract = { - limit = { - has_task_contract_type = laamp_join_war_contract - var:task_contract_war = scope:war - } - show_as_tooltip = { - task_contract_employer = { - save_scope_as = employer - custom_tooltip = ep3_join_war_payment_tt - pay_short_term_gold = { - target = scope:laamp_temp - gold = ep3_hire_laamp_mercs_payment_value - } - } - } - } - } - if = { - limit = { - has_variable = joined_as_mercenary - scope:defender = { - is_target_in_variable_list = { - name = hired_mercenaries - target = scope:laamp_temp - } - } - } - scope:defender = { - save_scope_as = employer - custom_tooltip = ep3_hire_laamp_mercs_payment_tt - pay_short_term_gold = { - target = scope:laamp_temp - gold = ep3_hire_laamp_mercs_payment_value - } - } - } - if = { - limit = { - has_variable = owed_contract_assistance_gold - var:owed_contract_assistance_war ?= scope:war - } - save_scope_as = contract_assistance_helper - scope:defender = { - save_scope_as = recipient - custom_tooltip = contract_assistance_interaction_condition_tt - pay_short_term_gold = { - target = scope:actor - gold = scope:actor.var:owed_contract_assistance_gold - } + pay_short_term_gold = { + target = scope:laamp_temp + gold = scope:laamp_temp.ep3_hire_laamp_mercs_payment_value } } } + else = { custom_tooltip = ep3_hire_laamp_mercs_payment_later_tt } } - } - } - scope:attacker = { - if = { - limit = { - exists = scope:war - any_war_ally = { - has_government = landless_adventurer_government - OR = { - any_character_active_contract = { - has_task_contract_type = laamp_join_war_contract - var:task_contract_war = scope:war - } - AND = { - has_variable = owed_contract_assistance_gold - var:owed_contract_assistance_war ?= scope:war - } - has_variable = joined_as_mercenary - } + if = { + limit = { + has_variable = owed_contract_assistance_gold + var:owed_contract_assistance_war ?= scope:war } - } - every_war_ally = { - if = { - limit = { - has_government = landless_adventurer_government - } - save_scope_as = laamp_temp - save_scope_as = actor - save_scope_value_as = { - name = war_contribution_value - value = "scope:war.war_contribution(scope:laamp_temp)" - } - if = { - limit = { - any_character_active_contract = { - has_task_contract_type = laamp_join_war_contract - var:task_contract_war = scope:war - } - } - every_character_active_contract = { - limit = { - has_task_contract_type = laamp_join_war_contract - var:task_contract_war = scope:war - } - show_as_tooltip = { - task_contract_employer = { - save_scope_as = employer - custom_tooltip = ep3_hire_laamp_mercs_payment_tt - pay_short_term_gold = { - target = scope:laamp_temp - gold = ep3_hire_laamp_mercs_payment_value - } - } - } - } - } - if = { - limit = { - has_variable = joined_as_mercenary - scope:attacker = { - is_target_in_variable_list = { - name = hired_mercenaries - target = scope:laamp_temp - } - } - } - scope:attacker = { - save_scope_as = employer - custom_tooltip = ep3_hire_laamp_mercs_payment_tt - pay_short_term_gold = { - target = scope:laamp_temp - gold = ep3_hire_laamp_mercs_payment_value - } - } - } - if = { - limit = { - has_variable = owed_contract_assistance_gold - var:owed_contract_assistance_war ?= scope:war - } - save_scope_as = contract_assistance_helper - scope:attacker = { - custom_tooltip = contract_assistance_interaction_condition_tt - pay_short_term_gold = { - target = scope:actor - gold = scope:actor.var:owed_contract_assistance_gold - } - } + save_scope_as = contract_assistance_helper + scope:defender = { + save_scope_as = recipient + custom_description_no_bullet = { text = contract_assistance_interaction_condition_tt } + pay_short_term_gold = { + target = scope:actor + gold = scope:actor.var:owed_contract_assistance_gold } } } @@ -12587,110 +12457,318 @@ disburse_camp_party_reward_effect = { #Host effects scope:host = { - hidden_effect = { - domicile = { - random_list = { - 1 = { - trigger = { - has_domicile_building_or_higher = camp_main_01 - NOT = { has_domicile_building = camp_main_04 } + if = { + limit = { + NOT = { + exists = scope:domicile_building #already saved + } + } + hidden_effect = { + domicile = { + random_list = { + 1 = { + trigger = { + has_domicile_building_or_higher = camp_main_01 + NOT = { has_domicile_building = camp_main_04 } + } + switch = { + trigger = has_domicile_building + camp_main_01 = { + save_scope_value_as = { + name = domicile_building + value = flag:camp_main_01 + } + } + camp_main_02 = { + save_scope_value_as = { + name = domicile_building + value = flag:camp_main_02 + } + } + camp_main_03 = { + save_scope_value_as = { + name = domicile_building + value = flag:camp_main_03 + } + } + } } - switch = { - trigger = has_domicile_building - camp_main_01 = { add_domicile_building = camp_main_02 } - camp_main_02 = { add_domicile_building = camp_main_03 } - camp_main_03 = { add_domicile_building = camp_main_04 } + 1 = { + trigger = { + has_domicile_building_or_higher = supply_tent_01 + NOT = { has_domicile_building = supply_tent_06 } + } + switch = { + trigger = has_domicile_building + supply_tent_01 = { + save_scope_value_as = { + name = domicile_building + value = flag:supply_tent_01 + } + } + supply_tent_02 = { + save_scope_value_as = { + name = domicile_building + value = flag:supply_tent_02 + } + } + supply_tent_03 = { + save_scope_value_as = { + name = domicile_building + value = flag:supply_tent_03 + } + } + supply_tent_04 = { + save_scope_value_as = { + name = domicile_building + value = flag:supply_tent_04 + } + } + supply_tent_05 = { + save_scope_value_as = { + name = domicile_building + value = flag:supply_tent_05 + } + } + } } - } - 1 = { - trigger = { - has_domicile_building_or_higher = supply_tent_01 - NOT = { has_domicile_building = supply_tent_06 } + 1 = { + trigger = { + has_domicile_building_or_higher = barber_tent_01 + NOT = { has_domicile_building = barber_tent_06 } + } + switch = { + trigger = has_domicile_building + barber_tent_01 = { + save_scope_value_as = { + name = domicile_building + value = flag:barber_tent_01 + } + } + barber_tent_02 = { + save_scope_value_as = { + name = domicile_building + value = flag:barber_tent_02 + } + } + barber_tent_03 = { + save_scope_value_as = { + name = domicile_building + value = flag:barber_tent_03 + } + } + barber_tent_04 = { + save_scope_value_as = { + name = domicile_building + value = flag:barber_tent_04 + } + } + barber_tent_05 = { + save_scope_value_as = { + name = domicile_building + value = flag:barber_tent_05 + } + } + } } - switch = { - trigger = has_domicile_building - supply_tent_01 = { add_domicile_building = supply_tent_02 } - supply_tent_02 = { add_domicile_building = supply_tent_03 } - supply_tent_03 = { add_domicile_building = supply_tent_04 } - supply_tent_04 = { add_domicile_building = supply_tent_05 } - supply_tent_05 = { add_domicile_building = supply_tent_06 } + 1 = { + trigger = { + has_domicile_building_or_higher = baggage_train_01 + NOT = { has_domicile_building = baggage_train_06 } + } + switch = { + trigger = has_domicile_building + baggage_train_01 = { + save_scope_value_as = { + name = domicile_building + value = flag:baggage_train_01 + } + } + baggage_train_02 = { + save_scope_value_as = { + name = domicile_building + value = flag:baggage_train_02 + } + } + baggage_train_03 = { + save_scope_value_as = { + name = domicile_building + value = flag:baggage_train_03 + } + } + baggage_train_04 = { + save_scope_value_as = { + name = domicile_building + value = flag:baggage_train_04 + } + } + baggage_train_05 = { + save_scope_value_as = { + name = domicile_building + value = flag:baggage_train_05 + } + } + } } - } - 1 = { - trigger = { - has_domicile_building_or_higher = barber_tent_01 - NOT = { has_domicile_building = barber_tent_06 } + 1 = { + trigger = { + has_domicile_building_or_higher = camp_fire_01 + NOT = { has_domicile_building = camp_fire_06 } + } + switch = { + trigger = has_domicile_building + camp_fire_01 = { + save_scope_value_as = { + name = domicile_building + value = flag:camp_fire_01 + } + } + camp_fire_02 = { + save_scope_value_as = { + name = domicile_building + value = flag:camp_fire_02 + } + } + camp_fire_03 = { + save_scope_value_as = { + name = domicile_building + value = flag:camp_fire_03 + } + } + camp_fire_04 = { + save_scope_value_as = { + name = domicile_building + value = flag:camp_fire_04 + } + } + camp_fire_05 = { + save_scope_value_as = { + name = domicile_building + value = flag:camp_fire_05 + } + } + } } - switch = { - trigger = has_domicile_building - barber_tent_01 = { add_domicile_building = barber_tent_02 } - barber_tent_02 = { add_domicile_building = barber_tent_03 } - barber_tent_03 = { add_domicile_building = barber_tent_04 } - barber_tent_04 = { add_domicile_building = barber_tent_05 } - barber_tent_05 = { add_domicile_building = barber_tent_06 } + 1 = { + trigger = { + has_domicile_building_or_higher = proving_grounds_01 + NOT = { has_domicile_building = proving_grounds_06 } + } + switch = { + trigger = has_domicile_building + proving_grounds_01 = { + save_scope_value_as = { + name = domicile_building + value = flag:proving_grounds_01 + } + } + proving_grounds_02 = { + save_scope_value_as = { + name = domicile_building + value = flag:proving_grounds_02 + } + } + proving_grounds_03 = { + save_scope_value_as = { + name = domicile_building + value = flag:proving_grounds_03 + } + } + proving_grounds_04 = { + save_scope_value_as = { + name = domicile_building + value = flag:proving_grounds_04 + } + } + proving_grounds_05 = { + save_scope_value_as = { + name = domicile_building + value = flag:proving_grounds_05 + } + } + } } - } - 1 = { - trigger = { - has_domicile_building_or_higher = baggage_train_01 - NOT = { has_domicile_building = baggage_train_06 } - } - switch = { - trigger = has_domicile_building - baggage_train_01 = { add_domicile_building = baggage_train_02 } - baggage_train_02 = { add_domicile_building = baggage_train_03 } - baggage_train_03 = { add_domicile_building = baggage_train_04 } - baggage_train_04 = { add_domicile_building = baggage_train_05 } - baggage_train_05 = { add_domicile_building = baggage_train_06 } - } - } - 1 = { - trigger = { - has_domicile_building_or_higher = camp_fire_01 - NOT = { has_domicile_building = camp_fire_06 } - } - switch = { - trigger = has_domicile_building - camp_fire_01 = { add_domicile_building = camp_fire_02 } - camp_fire_02 = { add_domicile_building = camp_fire_03 } - camp_fire_03 = { add_domicile_building = camp_fire_04 } - camp_fire_04 = { add_domicile_building = camp_fire_05 } - camp_fire_05 = { add_domicile_building = camp_fire_06 } - } - } - 1 = { - trigger = { - has_domicile_building_or_higher = proving_grounds_01 - NOT = { has_domicile_building = proving_grounds_06 } - } - switch = { - trigger = has_domicile_building - proving_grounds_01 = { add_domicile_building = proving_grounds_02 } - proving_grounds_02 = { add_domicile_building = proving_grounds_03 } - proving_grounds_03 = { add_domicile_building = proving_grounds_04 } - proving_grounds_04 = { add_domicile_building = proving_grounds_05 } - proving_grounds_05 = { add_domicile_building = proving_grounds_06 } - } - } - 1 = { - trigger = { - has_domicile_building_or_higher = camp_perimeter_01 - NOT = { has_domicile_building = camp_perimeter_06 } - } - switch = { - trigger = has_domicile_building - camp_perimeter_01 = { add_domicile_building = camp_perimeter_02 } - camp_perimeter_02 = { add_domicile_building = camp_perimeter_03 } - camp_perimeter_03 = { add_domicile_building = camp_perimeter_04 } - camp_perimeter_04 = { add_domicile_building = camp_perimeter_05 } - camp_perimeter_05 = { add_domicile_building = camp_perimeter_06 } + 1 = { + trigger = { + has_domicile_building_or_higher = camp_perimeter_01 + NOT = { has_domicile_building = camp_perimeter_06 } + } + switch = { + trigger = has_domicile_building + camp_perimeter_01 = { + save_scope_value_as = { + name = domicile_building + value = flag:camp_perimeter_01 + } + } + camp_perimeter_02 = { + save_scope_value_as = { + name = domicile_building + value = flag:camp_perimeter_02 + } + } + camp_perimeter_03 = { + save_scope_value_as = { + name = domicile_building + value = flag:camp_perimeter_03 + } + } + camp_perimeter_04 = { + save_scope_value_as = { + name = domicile_building + value = flag:camp_perimeter_04 + } + } + camp_perimeter_05 = { + save_scope_value_as = { + name = domicile_building + value = flag:camp_perimeter_05 + } + } + } } } } } } - - custom_tooltip = activity_camp_party_reward_upgrade_building + domicile = { + switch = { + trigger = scope:domicile_building + flag:camp_main_01 = { add_domicile_building = camp_main_02 } + flag:camp_main_02 = { add_domicile_building = camp_main_03 } + flag:camp_main_03 = { add_domicile_building = camp_main_04 } + flag:supply_tent_01 = { add_domicile_building = supply_tent_02 } + flag:supply_tent_02 = { add_domicile_building = supply_tent_03 } + flag:supply_tent_03 = { add_domicile_building = supply_tent_04 } + flag:supply_tent_04 = { add_domicile_building = supply_tent_05 } + flag:supply_tent_05 = { add_domicile_building = supply_tent_06 } + flag:barber_tent_01 = { add_domicile_building = barber_tent_02 } + flag:barber_tent_02 = { add_domicile_building = barber_tent_03 } + flag:barber_tent_03 = { add_domicile_building = barber_tent_04 } + flag:barber_tent_04 = { add_domicile_building = barber_tent_05 } + flag:barber_tent_05 = { add_domicile_building = barber_tent_06 } + flag:baggage_train_01 = { add_domicile_building = baggage_train_02 } + flag:baggage_train_02 = { add_domicile_building = baggage_train_03 } + flag:baggage_train_03 = { add_domicile_building = baggage_train_04 } + flag:baggage_train_04 = { add_domicile_building = baggage_train_05 } + flag:baggage_train_05 = { add_domicile_building = baggage_train_06 } + flag:camp_fire_01 = { add_domicile_building = camp_fire_02 } + flag:camp_fire_02 = { add_domicile_building = camp_fire_03 } + flag:camp_fire_03 = { add_domicile_building = camp_fire_04 } + flag:camp_fire_04 = { add_domicile_building = camp_fire_05 } + flag:camp_fire_05 = { add_domicile_building = camp_fire_06 } + flag:proving_grounds_01 = { add_domicile_building = proving_grounds_02 } + flag:proving_grounds_02 = { add_domicile_building = proving_grounds_03 } + flag:proving_grounds_03 = { add_domicile_building = proving_grounds_04 } + flag:proving_grounds_04 = { add_domicile_building = proving_grounds_05 } + flag:proving_grounds_05 = { add_domicile_building = proving_grounds_06 } + flag:camp_perimeter_01 = { add_domicile_building = camp_perimeter_02 } + flag:camp_perimeter_02 = { add_domicile_building = camp_perimeter_03 } + flag:camp_perimeter_03 = { add_domicile_building = camp_perimeter_04 } + flag:camp_perimeter_04 = { add_domicile_building = camp_perimeter_05 } + flag:camp_perimeter_05 = { add_domicile_building = camp_perimeter_06 } + } + } custom_tooltip = camp_party_100_contracts_get @@ -13436,7 +13514,7 @@ banish_effect = { show_as_tooltip = { banish = yes } save_scope_as = allow_imprisoned_landless if = { - limit = { is_valid_for_laampdom = yes } + limit = { scope:allow_imprisoned_landless = { is_valid_for_laampdom = yes } } custom_tooltip = laamp_may_become_adventurer_tt } $BANISHER$ = { save_scope_as = banisher } diff --git a/common/scripted_effects/09_dlc_mpo_scripted_effects.txt b/common/scripted_effects/09_dlc_mpo_scripted_effects.txt index 2080338f..7c80b576 100644 --- a/common/scripted_effects/09_dlc_mpo_scripted_effects.txt +++ b/common/scripted_effects/09_dlc_mpo_scripted_effects.txt @@ -916,12 +916,14 @@ mpo_mongol_recovered_head_content_effect = { if = { limit = { any_side_participant = { + is_alive = yes has_variable = beheaded_warrior is_ruler = yes } } every_side_participant = { limit = { + is_alive = yes has_variable = beheaded_warrior is_ruler = yes } @@ -929,7 +931,6 @@ mpo_mongol_recovered_head_content_effect = { random_list = { 1 = { trigger = { - is_alive = yes is_imprisoned = no } modifier = { @@ -2022,225 +2023,6 @@ mpo_yurts_paiza_bonuses_tooltip_effect = { } } -mpo_yurts_paiza_bonuses_effect = { - if = { - limit = { - domicile ?= { - OR = { - has_domicile_building_or_higher = fertility_trade_yurt_01 - has_domicile_building_or_higher = herd_trade_yurt_01 - has_domicile_building_or_higher = knight_trade_yurt_01 - has_domicile_building_or_higher = merchant_yurt_01 - has_domicile_building_or_higher = char_trade_yurt_01 - } - } - } - custom_tooltip = yurt_paiza_bonuses_generic - } - domicile ?= { - if = { - limit = { - has_domicile_building_or_higher = fertility_trade_yurt_01 - } - switch = { - trigger = has_domicile_parameter - nomad_yurt_paiza_fertility_gain_lvl_1 = { - root = { - every_held_county = { - limit = { - uses_county_fertility = yes - } - add_county_modifier = { - modifier = paiza_fertility_modifier_1 - years = 2 - } - } - } - } - nomad_yurt_paiza_fertility_gain_lvl_2 = { - root = { - every_held_county = { - limit = { - uses_county_fertility = yes - } - add_county_modifier = { - modifier = paiza_fertility_modifier_2 - years = 4 - } - } - } - } - nomad_yurt_paiza_fertility_gain_lvl_3 = { - root = { - every_held_county = { - limit = { - uses_county_fertility = yes - } - add_county_modifier = { - modifier = paiza_fertility_modifier_3 - years = 6 - } - } - } - } - } - } - if = { - limit = { - has_domicile_building_or_higher = herd_trade_yurt_01 - } - switch = { - trigger = has_domicile_parameter - nomad_yurt_paiza_herd_gain_lvl_1= { - change_herd = { - value = root.var:trade_gold_value - multiply = 0.05 - } - } - nomad_yurt_paiza_herd_gain_lvl_2 = { - change_herd = { - value = root.var:trade_gold_value - multiply = 0.05 - } - } - nomad_yurt_paiza_herd_gain_lvl_3 = { - change_herd = { - value = root.var:trade_gold_value - multiply = 0.2 - } - } - } - } - if = { - limit = { - has_domicile_building_or_higher = knight_trade_yurt_01 - } - switch = { - trigger = has_domicile_parameter - nomad_yurt_paiza_maa_gain_lvl_1 = { - root = { - spawn_army = { - name = paiza_troops - men_at_arms = { - type = accolade_maa_archers - stacks = 1 - } - location = root.location - origin = scope:merchant_origin - inheritable = yes - } - } - } - nomad_yurt_paiza_maa_gain_lvl_2 = { - root = { - spawn_army = { - name = paiza_troops - men_at_arms = { - type = accolade_maa_archers - stacks = 4 - } - location = root.location - origin = scope:merchant_origin - inheritable = yes - } - } - } - nomad_yurt_paiza_maa_gain_lvl_3 = { - root = { - spawn_army = { - name = paiza_troops - men_at_arms = { - type = accolade_maa_archers - stacks = 4 - } - men_at_arms = { - type = accolade_maa_vanguards - stacks = 4 - } - location = root.location - origin = scope:merchant_origin - inheritable = yes - } - } - } - } - } - if = { - limit = { - has_domicile_building_or_higher = char_trade_yurt_01 - } - switch = { - trigger = has_domicile_parameter - nomad_yurt_paiza_char_gain_lvl_1 = { - root = { - hidden_effect = { - create_character = { - location = root.location - culture = scope:merchant_origin.county.culture - faith = scope:merchant_origin.county.faith - gender_female_chance = 50 - template = peasant_character - save_scope_as = yurt_merchant_char - } - scope:yurt_merchant_char = { - add_trait = lifestyle_traveler - } - add_courtier = scope:yurt_merchant_char - } - } - } - nomad_yurt_paiza_char_gain_lvl_2 = { - root = { - hidden_effect = { - create_character = { - location = root.location - culture = scope:merchant_origin.county.culture - faith = scope:merchant_origin.county.faith - gender_female_chance = 50 - template = merchant_template - save_scope_as = yurt_merchant_char - } - scope:yurt_merchant_char = { - add_trait = lifestyle_traveler - } - add_courtier = scope:yurt_merchant_char - } - } - } - nomad_yurt_paiza_char_gain_lvl_3 = { - root = { - hidden_effect = { - create_character = { - location = root.location - culture = scope:merchant_origin.county.culture - faith = scope:merchant_origin.county.faith - gender_female_chance = 50 - template = merchant_template - save_scope_as = yurt_merchant_char - } - scope:yurt_merchant_char = { - add_random_skill_point_effect = yes - add_random_skill_point_effect = yes - add_random_skill_point_effect = yes - add_random_skill_point_effect = yes - add_random_skill_point_effect = yes - add_random_skill_point_effect = yes - random_list = { - 1 = { add_trait = avaricious } - 1 = { add_trait = diplomat } - 1 = { add_trait = overseer } - } - add_trait = lifestyle_traveler - } - add_courtier = scope:yurt_merchant_char - } - } - } - } - } - } -} - mpo_paiza_improve_maa_smol_effect = { add_character_modifier = mpo_paiza_improve_maa_modifier add_character_flag = paiza_metal_trade_yurt_flag @@ -3874,6 +3656,218 @@ mpo_overrunning_vassal_title_distribution_effect = { } } +mpo_duchy_overrunning_vassal_title_distribution_effect = { + #All counties but capital county are up for grabs + every_held_title = { + limit = { + tier = tier_county + NOT = { + this = scope:attacker.capital_county + } + } + add_to_list = overrun_counties + } + #Distribute all counties + while = { + limit = { + any_in_list = { + list = overrun_counties + holder = scope:attacker + } + any_in_list = { + list = potential_overrunning_vassals + NOT = { + has_character_flag = got_overrun_title + } + } + } + ordered_in_list = { + order_by = development_level + list = overrun_counties + save_scope_as = title_to_grant + } + #Choose a vassal + ordered_in_list = { + list = potential_overrunning_vassals + limit = { + NOT = { + has_character_flag = got_overrun_title + } + } + order_by = max_military_strength + save_scope_as = title_gainer + #Add character flag - they should be done + add_character_flag = got_overrun_title + + #tributaries go + hidden_effect = { + every_tributary = { + custom = custom.every_tributary + end_tributary = yes + } + } + + #Give up nomadic titles + if = { + limit = { + NOT = { + scope:title_to_grant = { + any_county_province = { + OR = { + has_holding_type = nomad_holding + has_holding_type = herder_holding + } + } + } + } + } + mpo_overrunning_ending_nomadism_effect = yes + } + #Nomads should still move + else = { + hidden_effect = { + give_domain_to_herders = yes + } + } + } + scope:title_gainer = { + create_title_and_vassal_change = { + type = granted + save_scope_as = title_change + } + scope:title_to_grant = { + change_title_holder = { + holder = scope:title_gainer + change = scope:title_change + } + } + resolve_title_and_vassal_change = scope:title_change + #Add duchy if they're getting one + if = { + limit = { + exists = scope:duchy_to_grant + } + create_title_and_vassal_change = { + type = granted + save_scope_as = title_change + } + scope:duchy_to_grant = { + change_title_holder = { + holder = scope:title_gainer + change = scope:title_change + } + } + resolve_title_and_vassal_change = scope:title_change + } + } + #Change government + scope:attacker = { + if = { + limit = { + scope:title_to_grant = { + any_county_province = { + OR = { + has_holding_type = nomad_holding + has_holding_type = herder_holding + } + } + } + } + #Do nothing, they're still nomadic + } + else_if = { + limit = { + scope:title_to_grant = { + any_county_province = { + has_holding_type = tribal_holding + } + } + } + scope:title_gainer = { + nomad_convert_people_to_tribe_effect = yes + } + } + else_if = { + limit = { + scope:title_gainer = { + OR = { + #Personal reasons to go clan + faith.religion = religion:islam_religion + culture = { + OR = { + has_cultural_pillar = heritage_arabic + has_cultural_pillar = heritage_iranian + } + } + #county and liege are clan + AND = { + scope:title_to_grant = { + OR = { + faith.religion = religion:islam_religion + culture = { + OR = { + has_cultural_pillar = heritage_arabic + has_cultural_pillar = heritage_iranian + } + } + } + } + scope:attacker = { + government_has_flag = government_is_clan + } + } + } + } + } + scope:title_gainer = { + nomad_convert_people_to_clan_effect = yes + } + } + else = { + scope:title_gainer = { + nomad_convert_people_to_feudal_effect = yes + } + } + } + + #Have to re-add them as a vassal probably + scope:title_gainer = { + if = { + limit = { + NOT = { + liege = scope:attacker + } + } + create_title_and_vassal_change = { + type = granted + save_scope_as = change + add_claim_on_loss = no + } + change_liege = { + liege = scope:attacker + change = scope:change + } + resolve_title_and_vassal_change = scope:change + } + } + + #Remove chosen titles from list + scope:title_to_grant = { + remove_from_list = overrun_counties + } + scope:undervassal_county ?= { + remove_from_list = overrun_counties + } + } + #Get rid of this now-useless flag + every_vassal = { + limit = { + has_character_flag = got_overrun_title + } + remove_character_flag = got_overrun_title + } +} + mpo_overrunning_ending_nomadism_effect = { #Wrap up being a nomad nomad_domicile_refund_effect = yes @@ -4896,33 +4890,59 @@ summon_three_fair_courtiers_effect = { template = $NOMAD_TEMPLATE_CHARACTER$ faith = root.location.faith culture = root.location.culture - save_scope_as = new_commander + after_creation = { + add_to_list = three_fair_courtiers_list + } + } + create_character = { + employer = scope:root_scope + template = $NOMAD_TEMPLATE_CHARACTER$ + faith = root.location.faith + culture = root.location.culture + after_creation = { + add_to_list = three_fair_courtiers_list + } + } + create_character = { + employer = scope:root_scope + template = $NOMAD_TEMPLATE_CHARACTER$ + faith = root.location.faith + culture = root.location.culture + after_creation = { + add_to_list = three_fair_courtiers_list + } } if = { # Error suppression limit = { - exists = scope:new_commander - } - scope:new_commander = { - assign_random_nickname_effect = yes - add_character_flag = { - flag = blocked_from_leaving - years = 25 + any_in_list = { + list = three_fair_courtiers_list } } - if = { - limit = { - scope:new_commander = { + every_in_list = { + list = three_fair_courtiers_list + assign_random_nickname_effect = yes + if = { + limit = { NOT = { is_courtier_of = scope:root_scope } } + scope:root_scope = { + add_courtier = scope:new_commander + } + } + add_character_flag = { + flag = blocked_from_leaving + years = 25 + } + save_scope_as = new_commander # for the localization + scope:root_scope = { + send_interface_message = { + title = nomad_character_recruited.t + left_icon = prev + custom_tooltip = commander_recruited.desc + } } - add_courtier = scope:new_commander - } - send_interface_message = { - title = nomad_character_recruited.t - left_icon = scope:new_commander - custom_tooltip = commander_recruited.desc } } } @@ -4953,7 +4973,7 @@ mpo_war_vassal_tributary_effect = { holder ?= { add_to_list = target_holder } - add_to_list = target_titles + add_to_list = titles_taken } } @@ -4965,12 +4985,12 @@ mpo_war_vassal_tributary_effect = { } every_in_list = { - list = target_titles + list = titles_taken add_to_list = prestige_gain_list } ordered_in_list = { - list = target_titles + list = titles_taken order_by = tier max = 1 save_scope_as = war_goal_title @@ -4983,8 +5003,8 @@ mpo_war_vassal_tributary_effect = { limit = { NOT = { any_held_county = { - exists = duchy - NOT = { is_in_list = target_titles } + is_landless_type_title = no + NOT = { is_in_list = titles_taken } } } NOR = { @@ -4996,14 +5016,7 @@ mpo_war_vassal_tributary_effect = { } if = { limit = { - NOR = { - this = scope:attacker - top_liege = scope:attacker - top_suzerain ?= scope:attacker - } - scope:attacker = { - vassal_count >= vassal_limit - } + scope:attacker.vassal_count >= vassal_limit } start_tributary_from_war_effect = { TRIBUTARY = scope:defender @@ -5022,40 +5035,30 @@ mpo_war_vassal_tributary_effect = { } } } - else_if = { - limit = { - NOR = { - this = scope:attacker - top_liege = scope:attacker - top_suzerain ?= scope:attacker - } - } + else = { change_liege = { liege = scope:attacker change = scope:change } } every_in_list = { - list = target_titles + list = titles_taken limit = { - holder ?= { this = scope:current_target_holder } + holder ?= scope:current_target_holder } - remove_from_list = target_titles + remove_from_list = titles_taken } } } every_in_list = { - list = target_titles + list = titles_taken limit = { - OR = { - NOT = { exists = holder } - holder ?= { - NOR = { - this = scope:attacker - any_liege_or_above = { this = scope:attacker } - top_suzerain ?= scope:attacker - } + holder ?= { + NOR = { + this = scope:attacker + any_liege_or_above = { this = scope:attacker } + top_suzerain ?= scope:attacker } } } @@ -5142,47 +5145,44 @@ mpo_war_vassal_tributary_effect = { #Called from game start on action #inside domicile scope add_random_yurt_external_building_effect = { - if = { - limit = { owner = { NOT = { government_has_flag = government_allows_nomad_domicile_titles } } } - random_list = { - 10 = { - trigger = { - NOT = { has_domicile_building_or_higher = herd_welfare_yurt_01 } - } - add_domicile_building = herd_welfare_yurt_01 - } - 1 = { - trigger = { - NOT = { has_domicile_building_or_higher = character_warfare_yurt_01 } - } - add_domicile_building = character_warfare_yurt_01 - } - 1 = { - trigger = { - NOT = { has_domicile_building_or_higher = mass_warfare_yurt_01 } - } - add_domicile_building = mass_warfare_yurt_01 - } - 1 = { - trigger = { - NOT = { has_domicile_building_or_higher = court_yurt_01 } - } - add_domicile_building = court_yurt_01 - } - 1 = { - trigger = { - NOT = { has_domicile_building_or_higher = family_yurt_01 } - } - add_domicile_building = family_yurt_01 - } - 1 = { - trigger = { - NOT = { has_domicile_building_or_higher = mystical_yurt_01 } - } - add_domicile_building = mystical_yurt_01 - } - } - } + random_list = { + 10 = { + trigger = { + NOT = { has_domicile_building_or_higher = herd_welfare_yurt_01 } + } + add_domicile_building = herd_welfare_yurt_01 + } + 1 = { + trigger = { + NOT = { has_domicile_building_or_higher = character_warfare_yurt_01 } + } + add_domicile_building = character_warfare_yurt_01 + } + 1 = { + trigger = { + NOT = { has_domicile_building_or_higher = mass_warfare_yurt_01 } + } + add_domicile_building = mass_warfare_yurt_01 + } + 1 = { + trigger = { + NOT = { has_domicile_building_or_higher = court_yurt_01 } + } + add_domicile_building = court_yurt_01 + } + 1 = { + trigger = { + NOT = { has_domicile_building_or_higher = family_yurt_01 } + } + add_domicile_building = family_yurt_01 + } + 1 = { + trigger = { + NOT = { has_domicile_building_or_higher = mystical_yurt_01 } + } + add_domicile_building = mystical_yurt_01 + } + } } #Called from game start on action @@ -5669,6 +5669,7 @@ de_jure_shifting_effect = { value = 1 } max = 3 + check_range_bounds = no list = de_jure_shifted_title show_as_tooltip = { set_de_jure_liege_title = root.primary_title @@ -6127,15 +6128,39 @@ expanding_steppe_effect = { } } # East - scope:world_steppe_tarim = { + scope:dlc_mpo_steppe_hexi_tarim_expansion = { expanding_steppe_add_region_effect = { SUB_REGION = east - REGION = world_steppe_tarim + REGION = dlc_mpo_steppe_hexi_tarim_expansion } tgp_silk_road_expand_steppe_effect = { SUB_REGION = central_asia } tgp_silk_road_expand_steppe_effect = { SUB_REGION = transcaspia } tgp_silk_road_expand_steppe_effect = { SUB_REGION = occident } } + scope:dlc_mpo_steppe_north_china_expansion = { + expanding_steppe_add_region_effect = { + SUB_REGION = east + REGION = dlc_mpo_steppe_north_china_expansion + } + } + scope:dlc_mpo_steppe_central_china_expansion = { + expanding_steppe_add_region_effect = { + SUB_REGION = east + REGION = dlc_mpo_steppe_central_china_expansion + } + } + scope:world_asia_korea = { + expanding_steppe_add_region_effect = { + SUB_REGION = east + REGION = world_asia_korea + } + } + scope:world_asia_japan = { + expanding_steppe_add_region_effect = { + SUB_REGION = east + REGION = world_asia_japan + } + } } } @@ -6573,3 +6598,83 @@ mpo_abuse_authority_county_effect = { } } } + +mpo_release_herder_land_effect = { + # Save scope of character triggering the effect + save_scope_as = trigger_character + every_top_realm_border_county = { + limit = { + title_province = { + this != scope:trigger_character.capital_province + } + } + add_to_list = target_titles + } + while = { + limit = { # Loop over list of target titles until there are no more titles to grant + list_size = { + name = target_titles + value >= 1 + } + } + random_in_list = { + list = target_titles + if = { + limit = { + title_province = { has_holding_type = nomad_holding } + } + title_province = { set_holding_type = herder_holding } + } + + save_scope_as = county_of_origin + + create_character = { + template = herder_character + dynasty = none + location = scope:county_of_origin.title_province + culture = scope:county_of_origin.culture + faith = scope:county_of_origin.faith + gender_female_chance = { + if = { + limit = { scope:county_of_origin.faith = { has_doctrine = doctrine_gender_male_dominated } } + add = 20 + } + else_if = { + limit = { scope:county_of_origin.faith = { has_doctrine = doctrine_gender_female_dominated } } + add = 80 + } + else = { + add = 50 + } + } + save_scope_as = new_herder + } + + create_title_and_vassal_change = { + type = granted + save_scope_as = change + add_claim_on_loss = no + } + change_title_holder_include_vassals = { + holder = scope:new_herder + change = scope:change + } + resolve_title_and_vassal_change = scope:change + remove_from_list = target_titles + } + scope:new_herder = { + change_government = herder_government + if = { + limit = { is_independent_ruler = no } + #De-vassalise him. + create_title_and_vassal_change = { + type = independency + save_scope_as = change + add_claim_on_loss = no + } + becomes_independent = { change = scope:change } + resolve_title_and_vassal_change = scope:change + } + } + } +} diff --git a/common/scripted_effects/tgp_debate_scripted_effects.txt b/common/scripted_effects/tgp_debate_scripted_effects.txt index 8abd17dc..287a5f34 100644 --- a/common/scripted_effects/tgp_debate_scripted_effects.txt +++ b/common/scripted_effects/tgp_debate_scripted_effects.txt @@ -372,7 +372,9 @@ debate_host_rewards_effect = { situation_top_has_catalyst = catalyst_movement_gained_power_pro_hegemon } } - trigger_situation_catalyst = catalyst_movement_gained_power_pro_hegemon + situation:dynastic_cycle = { + trigger_situation_catalyst = catalyst_movement_gained_power_pro_hegemon + } } } advancement_movement = { @@ -382,7 +384,9 @@ debate_host_rewards_effect = { situation_top_has_catalyst = catalyst_movement_gained_power_advancement } } - trigger_situation_catalyst = catalyst_movement_gained_power_advancement + situation:dynastic_cycle = { + trigger_situation_catalyst = catalyst_movement_gained_power_advancement + } } } expansion_movement = { @@ -392,7 +396,9 @@ debate_host_rewards_effect = { situation_top_has_catalyst = catalyst_movement_gained_power_expansion } } - trigger_situation_catalyst = catalyst_movement_gained_power_expansion + situation:dynastic_cycle = { + trigger_situation_catalyst = catalyst_movement_gained_power_expansion + } } } conservative_movement = { @@ -402,7 +408,9 @@ debate_host_rewards_effect = { situation_top_has_catalyst = catalyst_movement_gained_power_conservative } } - trigger_situation_catalyst = catalyst_movement_gained_power_conservative + situation:dynastic_cycle = { + trigger_situation_catalyst = catalyst_movement_gained_power_conservative + } } } } @@ -442,7 +450,7 @@ debate_host_rewards_effect = { ordered_in_list = { variable = debate_disciples order_by = learning - position = 1 + position = 0 save_scope_as = disciple_2 } } diff --git a/common/scripted_effects/tgp_imperial_examination_scripted_effects.txt b/common/scripted_effects/tgp_imperial_examination_scripted_effects.txt index 90e65b7a..d7794f14 100644 --- a/common/scripted_effects/tgp_imperial_examination_scripted_effects.txt +++ b/common/scripted_effects/tgp_imperial_examination_scripted_effects.txt @@ -434,6 +434,20 @@ imperial_examination_disburse_activity_entrant_rewards = { } remove_character_flag = failed_imperial_examination } + if = { + limit = { + has_character_flag = exam_cheat_intent + NOR = { + has_variable = been_caught_cheating + has_variable = been_caught_cheating_longterm + } + government_allows = merit + } + add_secret = { + target = scope:host + type = secret_exam_cheater + } + } } #Failees else = { @@ -575,6 +589,20 @@ local_examination_disburse_activity_entrant_rewards = { desc = msg_provincial_exam_close_family_passed_desc } } + if = { + limit = { + has_character_flag = exam_cheat_intent + NOR = { + has_variable = been_caught_cheating + has_variable = been_caught_cheating_longterm + } + government_allows = merit + } + add_secret = { + target = scope:host + type = secret_exam_cheater + } + } } #Failees else = { @@ -1284,15 +1312,11 @@ imperial_examination_gather_entrants_effect = { NOR = { this = scope:host is_in_guest_subset = { name = imperial_examiners } - has_court_position = travel_leader_court_position - has_court_position = bodyguard_court_position # If you are a player, you should get as many shots at the Palace Exam as you want. has_character_flag = passed_palace_exam has_trait = devoted has_trait = eunuch } - # Remove diarchs from the list. - bannable_serving_diarch_trigger = no is_adult = yes } save_temporary_scope_as = temp_character @@ -1355,8 +1379,6 @@ local_examination_gather_entrants_effect = { NOR = { this = scope:host is_in_guest_subset = { name = imperial_examiners } - has_court_position = travel_leader_court_position - has_court_position = bodyguard_court_position # You have passed the any of the higher level exams has_character_flag = passed_metropolitan_exam # You have already passed the Provincial @@ -1364,8 +1386,6 @@ local_examination_gather_entrants_effect = { has_trait = devoted has_trait = eunuch } - # Remove diarchs from the list. - bannable_serving_diarch_trigger = no is_adult = yes } save_temporary_scope_as = temp_character @@ -1474,8 +1494,6 @@ imperial_examination_gather_stray_entrants_effect = { is_holy_order = no } } - # Remove diarchs from the list. - bannable_serving_diarch_trigger = no tgp_gender_can_be_exam_entrant_trigger = yes } add_to_list = entourage_entrants @@ -1513,8 +1531,6 @@ imperial_examination_gather_stray_entrants_effect = { is_holy_order = no } } - # Remove diarchs from the list. - bannable_serving_diarch_trigger = no tgp_gender_can_be_exam_entrant_trigger = yes } add_to_list = entourage_entrants @@ -1582,30 +1598,24 @@ metropolitan_examination_scoreboard_setup_effect = { } } #Add the fresh entrants to the scoreboard - while = { - count = 1 - ordered_attending_character = { - limit = { - or = { - is_in_guest_subset = { name = entrants } - } - NOR = { - is_in_guest_subset = { name = scoreboard } - scope:activity = { - any_guest_subset = { - name = scoreboard - count = scope:activity.var:scoreboard_size - } + every_attending_character = { + limit = { + is_in_guest_subset = { name = entrants } + NOR = { + is_in_guest_subset = { name = scoreboard } + scope:activity = { + any_guest_subset = { + name = scoreboard + count = scope:activity.var:scoreboard_size } } } - order_by = imperial_examination_score_value - save_temporary_scope_as = temp_character - scope:activity = { - add_to_guest_subset = { - name = scoreboard - target = scope:temp_character - } + } + save_temporary_scope_as = temp_character + scope:activity = { + add_to_guest_subset = { + name = scoreboard + target = scope:temp_character } } } @@ -1642,28 +1652,24 @@ palace_examination_scoreboard_setup_effect = { } } #Add the fresh entrants to the scoreboard - while = { - count = 1 - ordered_attending_character = { - limit = { - is_in_guest_subset = { name = palace_entrants } - NOR = { - is_in_guest_subset = { name = scoreboard } - scope:activity = { - any_guest_subset = { - name = scoreboard - count = scope:activity.var:scoreboard_size - } + every_attending_character = { + limit = { + is_in_guest_subset = { name = palace_entrants } + NOR = { + is_in_guest_subset = { name = scoreboard } + scope:activity = { + any_guest_subset = { + name = scoreboard + count = scope:activity.var:scoreboard_size } } } - order_by = imperial_examination_score_value - save_temporary_scope_as = temp_character - scope:activity = { - add_to_guest_subset = { - name = scoreboard - target = scope:temp_character - } + } + save_temporary_scope_as = temp_character + scope:activity = { + add_to_guest_subset = { + name = scoreboard + target = scope:temp_character } } } @@ -1720,6 +1726,7 @@ imperial_examination_determine_exam_outcome_effect = { # If we don't have enough, let some of the failees pass. ordered_guest_subset = { name = entrants + check_range_bounds = no limit = { has_trait = education_martial has_variable = failee_to_be_removed @@ -1990,4 +1997,4 @@ exam_grab_entrant_position_effect = { name = your_exam_position value = list_size:exam_position_list } -} \ No newline at end of file +} diff --git a/common/scripted_effects/tgp_mandala_scripted_effects.txt b/common/scripted_effects/tgp_mandala_scripted_effects.txt index 7ff526d1..7fe352bc 100644 --- a/common/scripted_effects/tgp_mandala_scripted_effects.txt +++ b/common/scripted_effects/tgp_mandala_scripted_effects.txt @@ -93,7 +93,7 @@ contributed_slabs_of_sandstone_effect = { mandala_contributor_laterite_blocks_reward_effect = { add_prestige = mandala_contribution_medium_prestige_reward - add_piety_experience = mandala_contribution_minor_dynasty_reward + add_piety_experience = medium_piety_value } contributed_laterite_blocks_effect = { custom_description_no_bullet = { text = contributed_laterite_blocks } @@ -188,7 +188,7 @@ contributed_ornate_reliefs_effect = { } mandala_contributor_family_shrine_reward_effect = { - dynasty = { add_dynasty_prestige = medium_dynasty_prestige_value } + dynasty ?= { add_dynasty_prestige = medium_dynasty_prestige_value } player_heir ?= { add_piety_experience = medium_piety_value } } contributed_family_shrine_effect = { @@ -347,7 +347,7 @@ contributed_decorated_domes_effect = { } mandala_contributor_family_statues_reward_effect = { - dynasty = { add_dynasty_prestige = major_dynasty_prestige_value } + dynasty ?= { add_dynasty_prestige = major_dynasty_prestige_value } player_heir ?= { add_piety_experience = major_piety_value } @@ -621,7 +621,7 @@ contributed_gilded_domes_effect = { } mandala_contributor_family_temple_compound_reward_effect = { - dynasty = { add_dynasty_prestige = major_dynasty_prestige_value } + dynasty ?= { add_dynasty_prestige = major_dynasty_prestige_value } player_heir ?= { add_piety_experience = massive_piety_value } @@ -952,7 +952,7 @@ mandala_contributor_bejeweled_reliefs_reward_effect = { if = { limit = { scope:owner = { - house ?= { has_house_power_parameter = aspect_of_creation } + house ?= { has_house_aspiration_parameter = aspect_of_creation } } } custom_tooltip = mandala_contributor_bejeweled_reliefs_creator_reward_artifact_effect_tt @@ -968,7 +968,7 @@ mandala_contributor_bejeweled_reliefs_reward_effect = { else_if = { limit = { scope:owner = { - house ?= { has_house_power_parameter = aspect_of_serenity } + house ?= { has_house_aspiration_parameter = aspect_of_serenity } } } custom_tooltip = mandala_contributor_bejeweled_reliefs_serenity_reward_artifact_effect_tt @@ -984,7 +984,7 @@ mandala_contributor_bejeweled_reliefs_reward_effect = { else_if = { limit = { scope:owner = { - house ?= { has_house_power_parameter = aspect_of_destruction } + house ?= { has_house_aspiration_parameter = aspect_of_destruction } } } custom_tooltip = mandala_contributor_bejeweled_reliefs_destruction_reward_artifact_effect_tt @@ -1001,7 +1001,7 @@ mandala_contributor_bejeweled_reliefs_reward_effect = { else_if = { limit = { scope:owner = { - house ?= { has_house_power_parameter = aspect_of_trickery } + house ?= { has_house_aspiration_parameter = aspect_of_trickery } } } custom_tooltip = mandala_contributor_bejeweled_reliefs_trickery_reward_artifact_effect_tt @@ -1032,7 +1032,7 @@ mandala_contributor_bejeweled_reliefs_reward_effect = { else_if = { limit = { this = { - house ?= { has_house_power_parameter = aspect_of_creation } + house ?= { has_house_aspiration_parameter = aspect_of_creation } } } custom_tooltip = mandala_contributor_bejeweled_reliefs_creator_reward_pre_artifact_effect_tt @@ -1040,7 +1040,7 @@ mandala_contributor_bejeweled_reliefs_reward_effect = { else_if = { limit = { this = { - house ?= { has_house_power_parameter = aspect_of_serenity } + house ?= { has_house_aspiration_parameter = aspect_of_serenity } } } custom_tooltip = mandala_contributor_bejeweled_reliefs_serenity_reward_pre_artifact_effect_tt @@ -1048,7 +1048,7 @@ mandala_contributor_bejeweled_reliefs_reward_effect = { else_if = { limit = { this = { - house ?= { has_house_power_parameter = aspect_of_destruction } + house ?= { has_house_aspiration_parameter = aspect_of_destruction } } } custom_tooltip = mandala_contributor_bejeweled_reliefs_destruction_reward_pre_artifact_effect_tt @@ -1056,7 +1056,7 @@ mandala_contributor_bejeweled_reliefs_reward_effect = { else_if = { limit = { this = { - house ?= { has_house_power_parameter = aspect_of_trickery } + house ?= { has_house_aspiration_parameter = aspect_of_trickery } } } custom_tooltip = mandala_contributor_bejeweled_reliefs_trickery_reward_pre_artifact_effect_tt @@ -1230,7 +1230,7 @@ mandala_peacemaker_perk_serenity_effect = { if = { limit = { government_has_flag = government_is_mandala - house ?= { has_house_power_parameter = aspect_of_serenity } + house ?= { has_house_aspiration_parameter = aspect_of_serenity } is_house_head = yes has_perk = peacemaker_perk } @@ -1243,6 +1243,24 @@ mandala_peacemaker_perk_serenity_effect = { change_to_mandala_government_effect = { change_government = mandala_government change_to_mandala_government_decree_effect = yes + save_scope_as = root_scope + primary_title.title_province = { + if = { + limit = { geographical_region = geographical_region:mpo_region_permafrost } + scope:root_scope = { + every_realm_county = { + if = { + limit = { has_county_modifier = mpo_siberian_permafrost_modifier } + remove_county_modifier = mpo_siberian_permafrost_modifier + } + else_if = { + limit = { has_county_modifier = mpo_siberian_permafrost_modifier_bad } + remove_county_modifier = mpo_siberian_permafrost_modifier_bad + } + } + } + } + } } change_to_mandala_government_and_citadel_effect = { @@ -1320,36 +1338,55 @@ change_capital_holding_to_citadel_effect = { change_tribal_holdings_to_citadels_effect = { custom_tooltip = all_tribal_holdings_will_change_to_citadels save_scope_as = current_tribal_holder - hidden_effect_new_object = { - every_directly_owned_province = { - limit = { has_holding_type = tribal_holding } - set_variable = { - name = tribal_to_mandala_building_level - value = combined_building_level - days = 1 + if = { + limit = { + any_directly_owned_province = { + has_holding_type = tribal_holding + count >= 1 } - set_holding_type = temple_citadel_holding - #We need to set the holding type BEFORE we can change to the government, lest it invalidates - scope:current_tribal_holder = { - if = { - limit = { - NOT = { government_has_flag = government_is_mandala } - } - change_to_mandala_government_effect = yes - } - } - #We need to set the government type BEFORE we generate buildings, otherwise basically none are valid - while = { - limit = { var:tribal_to_mandala_building_level > 0 } - generate_building = yes - change_variable = { + } + hidden_effect_new_object = { + every_directly_owned_province = { + limit = { has_holding_type = tribal_holding } + set_variable = { name = tribal_to_mandala_building_level - subtract = 1 + value = combined_building_level + days = 1 } + set_holding_type = temple_citadel_holding + #We need to set the holding type BEFORE we can change to the government, lest it invalidates + scope:current_tribal_holder = { + if = { + limit = { + NOT = { government_has_flag = government_is_mandala } + } + change_to_mandala_government_effect = yes + } + } + #We need to set the government type BEFORE we generate buildings, otherwise basically none are valid + while = { + limit = { var:tribal_to_mandala_building_level > 0 } + generate_building = yes + change_variable = { + name = tribal_to_mandala_building_level + subtract = 1 + } + } + remove_variable = tribal_to_mandala_building_level } - remove_variable = tribal_to_mandala_building_level } } + #You're somehow a tribal with all your holdings being Temple Citadels? Good for you. + else = { + scope:current_tribal_holder = { + if = { + limit = { + NOT = { government_has_flag = government_is_mandala } + } + change_to_mandala_government_effect = yes + } + } + } } mandala_nuke_realm_laws_effect = { @@ -1978,7 +2015,7 @@ creator_mandala_built_regular_building_piety_effect = { if = { limit = { government_has_flag = government_is_mandala - house ?= { has_house_power_parameter = aspect_of_creation } + house ?= { has_house_aspiration_parameter = aspect_of_creation } is_house_head = yes } add_piety = { @@ -2000,7 +2037,7 @@ creator_mandala_built_regular_duchy_building_t1_piety_effect = { if = { limit = { government_has_flag = government_is_mandala - house ?= { has_house_power_parameter = aspect_of_creation } + house ?= { has_house_aspiration_parameter = aspect_of_creation } is_house_head = yes } add_piety = { @@ -2022,7 +2059,7 @@ creator_mandala_built_regular_duchy_building_t2_piety_effect = { if = { limit = { government_has_flag = government_is_mandala - house ?= { has_house_power_parameter = aspect_of_creation } + house ?= { has_house_aspiration_parameter = aspect_of_creation } is_house_head = yes } add_piety = { @@ -2044,7 +2081,7 @@ creator_mandala_built_regular_duchy_building_t3_piety_effect = { if = { limit = { government_has_flag = government_is_mandala - house ?= { has_house_power_parameter = aspect_of_creation } + house ?= { has_house_aspiration_parameter = aspect_of_creation } is_house_head = yes } add_piety = { @@ -2066,7 +2103,7 @@ creator_mandala_built_regular_holding_piety_effect = { if = { limit = { government_has_flag = government_is_mandala - house ?= { has_house_power_parameter = aspect_of_creation } + house ?= { has_house_aspiration_parameter = aspect_of_creation } is_house_head = yes } add_piety = { @@ -2088,7 +2125,7 @@ creator_mandala_upgraded_regular_holding_piety_effect = { if = { limit = { government_has_flag = government_is_mandala - house ?= { has_house_power_parameter = aspect_of_creation } + house ?= { has_house_aspiration_parameter = aspect_of_creation } is_house_head = yes } add_piety = { @@ -2454,7 +2491,7 @@ mandala_trickster_increment_successful_schemes_effect = { if = { limit = { government_has_flag = government_is_mandala - house ?= { has_house_power_parameter = aspect_of_trickery } + house ?= { has_house_aspiration_parameter = aspect_of_trickery } } increment_variable_effect = { VAR = num_successful_schemes @@ -2467,7 +2504,7 @@ mandala_trickster_increment_gold_ransomed_effect = { if = { limit = { government_has_flag = government_is_mandala - house ?= { has_house_power_parameter = aspect_of_trickery } + house ?= { has_house_aspiration_parameter = aspect_of_trickery } } increment_variable_effect = { VAR = amount_of_gold_ransomed @@ -2521,7 +2558,7 @@ mandala_travel_to_contract_location_effect = { modifier = { add = 100 scope:court_owner.house = { - has_house_power_parameter = aspect_of_creation + has_house_aspiration_parameter = aspect_of_creation } OR = { is_child_of = scope:court_owner @@ -2533,26 +2570,26 @@ mandala_travel_to_contract_location_effect = { modifier = { add = 10 scope:court_owner.house = { - has_house_power_parameter = aspect_of_creation + has_house_aspiration_parameter = aspect_of_creation } is_close_or_extended_family_of = scope:court_owner } modifier = { add = diplomacy scope:court_owner.house = { - has_house_power_parameter = aspect_of_serenity + has_house_aspiration_parameter = aspect_of_serenity } } modifier = { add = prowess scope:court_owner.house = { - has_house_power_parameter = aspect_of_destruction + has_house_aspiration_parameter = aspect_of_destruction } } modifier = { add = intrigue scope:court_owner.house = { - has_house_power_parameter = aspect_of_trickery + has_house_aspiration_parameter = aspect_of_trickery } } modifier = { @@ -2577,7 +2614,7 @@ mandala_travel_to_contract_location_effect = { modifier = { add = 100 scope:court_owner.house = { - has_house_power_parameter = aspect_of_creation + has_house_aspiration_parameter = aspect_of_creation } OR = { is_child_of = scope:court_owner @@ -2589,26 +2626,26 @@ mandala_travel_to_contract_location_effect = { modifier = { add = 10 scope:court_owner.house = { - has_house_power_parameter = aspect_of_creation + has_house_aspiration_parameter = aspect_of_creation } is_close_or_extended_family_of = scope:court_owner } modifier = { add = diplomacy scope:court_owner.house = { - has_house_power_parameter = aspect_of_serenity + has_house_aspiration_parameter = aspect_of_serenity } } modifier = { add = prowess scope:court_owner.house = { - has_house_power_parameter = aspect_of_destruction + has_house_aspiration_parameter = aspect_of_destruction } } modifier = { add = intrigue scope:court_owner.house = { - has_house_power_parameter = aspect_of_trickery + has_house_aspiration_parameter = aspect_of_trickery } } } @@ -2631,7 +2668,7 @@ mandala_travel_to_contract_location_effect = { modifier = { add = 100 scope:court_owner.house = { - has_house_power_parameter = aspect_of_creation + has_house_aspiration_parameter = aspect_of_creation } OR = { is_child_of = scope:court_owner @@ -2643,26 +2680,26 @@ mandala_travel_to_contract_location_effect = { modifier = { add = 10 scope:court_owner.house = { - has_house_power_parameter = aspect_of_creation + has_house_aspiration_parameter = aspect_of_creation } is_close_or_extended_family_of = scope:court_owner } modifier = { add = diplomacy scope:court_owner.house = { - has_house_power_parameter = aspect_of_serenity + has_house_aspiration_parameter = aspect_of_serenity } } modifier = { add = prowess scope:court_owner.house = { - has_house_power_parameter = aspect_of_destruction + has_house_aspiration_parameter = aspect_of_destruction } } modifier = { add = intrigue scope:court_owner.house = { - has_house_power_parameter = aspect_of_trickery + has_house_aspiration_parameter = aspect_of_trickery } } } @@ -2686,7 +2723,7 @@ mandala_travel_to_contract_location_effect = { modifier = { add = 100 scope:court_owner.house = { - has_house_power_parameter = aspect_of_creation + has_house_aspiration_parameter = aspect_of_creation } OR = { is_child_of = scope:court_owner @@ -2698,26 +2735,26 @@ mandala_travel_to_contract_location_effect = { modifier = { add = 10 scope:court_owner.house = { - has_house_power_parameter = aspect_of_creation + has_house_aspiration_parameter = aspect_of_creation } is_close_or_extended_family_of = scope:court_owner } modifier = { add = diplomacy scope:court_owner.house = { - has_house_power_parameter = aspect_of_serenity + has_house_aspiration_parameter = aspect_of_serenity } } modifier = { add = prowess scope:court_owner.house = { - has_house_power_parameter = aspect_of_destruction + has_house_aspiration_parameter = aspect_of_destruction } } modifier = { add = intrigue scope:court_owner.house = { - has_house_power_parameter = aspect_of_trickery + has_house_aspiration_parameter = aspect_of_trickery } } } @@ -2742,7 +2779,7 @@ mandala_travel_to_contract_location_effect = { modifier = { add = 100 scope:court_owner.house = { - has_house_power_parameter = aspect_of_creation + has_house_aspiration_parameter = aspect_of_creation } OR = { is_child_of = scope:court_owner @@ -2754,26 +2791,26 @@ mandala_travel_to_contract_location_effect = { modifier = { add = 10 scope:court_owner.house = { - has_house_power_parameter = aspect_of_creation + has_house_aspiration_parameter = aspect_of_creation } is_close_or_extended_family_of = scope:court_owner } modifier = { add = diplomacy scope:court_owner.house = { - has_house_power_parameter = aspect_of_serenity + has_house_aspiration_parameter = aspect_of_serenity } } modifier = { add = prowess scope:court_owner.house = { - has_house_power_parameter = aspect_of_destruction + has_house_aspiration_parameter = aspect_of_destruction } } modifier = { add = intrigue scope:court_owner.house = { - has_house_power_parameter = aspect_of_trickery + has_house_aspiration_parameter = aspect_of_trickery } } } @@ -2957,6 +2994,7 @@ mandala_contract_legitimacy_reward_display_effect = { } add_all_valid_mandala_contract_provinces_to_list_effect = { + save_scope_as = mandala_ruler every_sub_realm_county = { every_county_province = { limit = { @@ -2990,6 +3028,7 @@ add_all_valid_mandala_contract_provinces_to_list_effect = { } add_all_valid_mandala_contract_provinces_with_crocodiles_to_list_effect = { + save_scope_as = mandala_ruler every_sub_realm_county = { every_county_province = { limit = { @@ -3025,6 +3064,7 @@ add_all_valid_mandala_contract_provinces_with_crocodiles_to_list_effect = { } add_all_valid_mandala_contract_provinces_with_neighbor_to_list_effect = { + save_scope_as = mandala_ruler every_sub_realm_county = { limit = { any_neighboring_county = { @@ -3078,6 +3118,7 @@ add_all_valid_mandala_contract_provinces_with_neighbor_to_list_effect = { } add_all_valid_mandala_contract_provinces_no_holding_to_list_effect = { + save_scope_as = mandala_ruler every_sub_realm_county = { every_county_province = { limit = { diff --git a/common/scripted_effects/tgp_tribute_mission_scripted_effects.txt b/common/scripted_effects/tgp_tribute_mission_scripted_effects.txt index b761d543..3a0e1485 100644 --- a/common/scripted_effects/tgp_tribute_mission_scripted_effects.txt +++ b/common/scripted_effects/tgp_tribute_mission_scripted_effects.txt @@ -234,9 +234,7 @@ tribute_mission_decision_effect = { GIVER = root CHARACTER = scope:tribute_mission_target } - has_any_disease_trigger = no - has_easily_mocked_physical_attribute_trigger = no - NOT = { is_heir_of = root } + tribute_mission_is_available_concubine_trigger = yes } add_to_list = potential_concubine_tribute_list random_in_list = { diff --git a/common/scripted_triggers/00_building_requirement_triggers.txt b/common/scripted_triggers/00_building_requirement_triggers.txt index 8a103f60..9a11aef7 100644 --- a/common/scripted_triggers/00_building_requirement_triggers.txt +++ b/common/scripted_triggers/00_building_requirement_triggers.txt @@ -204,7 +204,16 @@ building_orchards_requirement_terrain = { } building_farm_estates_requirement_terrain = { - terrain = farmlands + OR = { + terrain = farmlands + AND = { + OR = { + terrain = hills + terrain = jungle + } + county.culture = { has_cultural_parameter = rice_cultivators_can_construct_paddy_fields_in_hills_and_jungle } + } + } } building_tell_mines_requirement_terrain = { @@ -804,11 +813,19 @@ eastern_special_building_trigger = { has_building = shwedagon_pagoda_01 has_building = ananda_temple_01 has_building = khajuraho_01 + has_building = angkor_wat_01 + has_building = my_son_sanctuary_01 + has_building = stone_pagoda_01 + has_building = muara_takus_01 + has_building = three_pagodas_dali_01 + has_building = pyramid_lingapura_01 + has_building = buddha_kamakura_01 has_building_or_higher = jokhang_01 has_building_or_higher = konark_temple_01 has_building_or_higher = vatapi_caves_01 has_building_or_higher = sanchi_stupa_01 has_building_or_higher = boudhanath_01 + has_building_or_higher = temples_angkor_01 } } @@ -835,6 +852,7 @@ religious_special_building_exclusion_trigger = { # checks if any special buildin has_building = holy_site_japanese_temple_01 has_building = holy_site_chinese_temple_01 has_building = holy_site_se_asia_pagan_temple_01 + has_building = izumo_taisha_01 } } AND = { # Islamic @@ -855,6 +873,7 @@ religious_special_building_exclusion_trigger = { # checks if any special buildin barony.holder.religion = religion:buddhism_religion barony.holder.religion = religion:jainism_religion barony.holder.religion = religion:taoism_religion + barony.holder.religion = religion:confucianism_religion barony.holder.religion = religion:zoroastrianism_religion } eastern_special_building_trigger = yes @@ -871,6 +890,21 @@ religious_special_building_exclusion_trigger = { # checks if any special buildin } } +building_monastic_schools_holding_level_requirement_trigger = { + trigger_if = { + limit = { scope:holder.faith = { has_doctrine_parameter = monastic_schools_allowed_in_every_holding_type } } + OR = { + has_building_or_higher = castle_$LEVEL$ + has_building_or_higher = city_$LEVEL$ + has_building_or_higher = temple_$LEVEL$ + has_building_or_higher = temple_citadel_$LEVEL$ + } + } + trigger_else = { + has_building_or_higher = temple_$LEVEL$ + } +} + building_murex_farm_requirement_terrain = { is_county_capital = yes is_coastal = yes @@ -902,6 +936,7 @@ building_spice_plantation_requirement_terrain = { geographical_region = world_asia_sulawesi_maluku geographical_region = world_asia_indonesia geographical_region = world_india + geographical_region = world_burma } OR = { terrain = jungle @@ -920,19 +955,19 @@ building_examination_hall_requirement_terrain = { } building_breweries_requirement = { - OR = { - AND = { + trigger_if = { + limit = { has_building_or_higher = temple_$NUMBER$ - OR = { - faith = faith:catholic - faith = { has_doctrine_parameter = allows_brewery } - } } - AND = { - has_building_or_higher = city_$NUMBER$ - culture = { has_cultural_parameter = allows_brewery } + OR = { + faith = faith:catholic + faith = { has_doctrine_parameter = allows_brewery } } } + trigger_else = { + building_requirement_castle_city_church = { LEVEL = $NUMBER$ } + culture = { has_cultural_parameter = allows_brewery } + } } #building_powder_magazine_requirement = { diff --git a/common/scripted_triggers/00_clothing_triggers.txt b/common/scripted_triggers/00_clothing_triggers.txt index 05addcd1..c94665e1 100644 --- a/common/scripted_triggers/00_clothing_triggers.txt +++ b/common/scripted_triggers/00_clothing_triggers.txt @@ -62,13 +62,6 @@ portrait_wear_no_headgear_trigger = { has_character_flag = roaming_character - AND = { # No headgear for characters without crowns - exists = this - portrait_wear_no_crown_trigger = yes - # Should still wear armor when going to war - portrait_wear_armor_trigger = no - } - AND = { OR = { should_be_naked_trigger = yes # Deliberately not the "fully naked" one since dropping your crown's intended even if nudity is disabled @@ -126,20 +119,6 @@ portrait_wear_armor_trigger = { limit = { portrait_sickness_trigger = yes } is_in_army = yes } - trigger_if = { - limit = { government_allows = barter } - OR = { - is_at_war = yes - involved_activity = { has_activity_type = activity_tournament } - # Serving Varangian - has_character_flag = is_currently_varangian - # In a Duel - has_character_flag = single_combat_duel_armor - has_character_flag = forced_knight_armor - # In a Tournament - activity_tournament_armor_trigger = yes - } - } OR = { # Mercenaries, Holy Orders, Adventurers AND = { @@ -214,7 +193,6 @@ portrait_wear_armor_trigger = { OR = { vassal_contract_has_flag = celestial_province_protectorate vassal_contract_has_flag = celestial_province_military - vassal_contract_has_flag = meritocratic_province_protectorate vassal_contract_has_flag = meritocratic_province_military has_title = title:e_minister_grand_marshal } @@ -252,20 +230,6 @@ portrait_wear_armor_currently_in_army_trigger = { is_commanding_army = yes exists = knight_army } - trigger_if = { - limit = { government_allows = barter } - OR = { - is_at_war = yes - involved_activity = { has_activity_type = activity_tournament } - # Serving Varangian - has_character_flag = is_currently_varangian - # In a Duel - has_character_flag = single_combat_duel_armor - has_character_flag = forced_knight_armor - # In a Tournament - activity_tournament_armor_trigger = yes - } - } } portrait_wear_no_armor_trigger = { @@ -285,7 +249,6 @@ portrait_accoladed_knight_trigger = { highest_held_title_tier = tier_duchy } accolade = { - is_accolade_active = yes accolade_rank >= 5 } } @@ -294,7 +257,6 @@ portrait_accoladed_knight_trigger = { highest_held_title_tier = tier_kingdom } accolade = { - is_accolade_active = yes accolade_rank >= 3 } } @@ -302,9 +264,6 @@ portrait_accoladed_knight_trigger = { liege ?= { highest_held_title_tier = tier_empire } - accolade = { - is_accolade_active = yes - } } } } @@ -328,20 +287,6 @@ portrait_wear_helmet_trigger = { # Different from Armor, as (crowned) Kings and limit = { portrait_sickness_trigger = yes } is_in_army = yes } - trigger_if = { - limit = { government_allows = barter } - OR = { - is_at_war = yes - involved_activity = { has_activity_type = activity_tournament } - # Serving Varangian - has_character_flag = is_currently_varangian - # In a Duel - has_character_flag = single_combat_duel_armor - has_character_flag = forced_knight_armor - # In a Tournament - activity_tournament_armor_trigger = yes - } - } OR = { # Adventurers AND = { @@ -422,7 +367,6 @@ portrait_wear_helmet_trigger = { # Different from Armor, as (crowned) Kings and OR = { vassal_contract_has_flag = celestial_province_protectorate vassal_contract_has_flag = celestial_province_military - vassal_contract_has_flag = meritocratic_province_protectorate vassal_contract_has_flag = meritocratic_province_military has_title = title:e_minister_grand_marshal } @@ -460,6 +404,8 @@ portrait_wear_helmet_trigger = { # Different from Armor, as (crowned) Kings and portrait_wear_no_crown_trigger = { # Rulers should be coronated to wear a crown barring exceptions exists = this OR = { + is_governor = yes + trigger_if = { # No crowns for uncoronated characters limit = { has_ach_dlc_trigger = yes } has_realm_law = uncrowned @@ -528,6 +474,7 @@ should_use_fat_animation = { } AND = { # Fat non dwarf scope:current_weight >= 40 + scope:current_weight <= 80 is_dwarf_height = no } AND = { # Pregnant non dwarf @@ -2150,7 +2097,7 @@ portrait_high_nobles_headgear_trigger = { limit = { culture = { has_clothing_gfx = japanese_clothing_gfx } } tgp_japanese_high_nobility_clothing_trigger = yes } - trigger_else = { highest_held_title_tier >= tier_duchy } + trigger_else = { highest_held_title_tier = tier_duchy } AND = { government_has_flag = government_is_republic primary_title.tier > tier_county @@ -2163,6 +2110,17 @@ portrait_high_nobles_headgear_trigger = { highest_held_title_tier >= tier_kingdom is_governor = yes } + AND = { # Uncoronated kings and emperors can use high nobility headgear + OR = { + portrait_royalty_trigger = { + CULTURE_INPUT = $CULTURE_INPUT$ + } + portrait_imperial_trigger = { + CULTURE_INPUT = $CULTURE_INPUT$ + } + } + portrait_wear_no_crown_trigger = yes + } } NOR = { # Blocked for mercenaries and adventurers government_has_flag = government_is_mercenary @@ -2291,6 +2249,11 @@ portrait_royalty_trigger = { OR = { is_ruler = no highest_held_title_tier = tier_barony + AND = { + is_landed = no + exists = primary_spouse + target_is_liege_or_above = primary_spouse + } } primary_spouse ?= { is_governor = no @@ -2342,6 +2305,13 @@ portrait_royalty_clothing_trigger = { portrait_wear_no_armor_trigger = yes } +portrait_royalty_headgear_trigger = { + portrait_royalty_trigger = { + CULTURE_INPUT = $CULTURE_INPUT$ + } + portrait_wear_no_crown_trigger = no +} + portrait_royalty_african_headgear_trigger = { trigger_if = { limit = { exists = this } @@ -2486,6 +2456,13 @@ portrait_imperial_clothing_trigger = { portrait_wear_no_armor_trigger = yes } +portrait_imperial_headgear_trigger = { + portrait_imperial_trigger = { + CULTURE_INPUT = $CULTURE_INPUT$ + } + portrait_wear_no_crown_trigger = no +} + portrait_imperial_nobles_headgear_trigger = { trigger_if = { limit = { exists = this } @@ -3168,9 +3145,11 @@ portrait_religious_african_trigger = { ### DDE HRE ### portrait_reichskrone_trigger = { + exists = this OR = { has_primary_title = title:e_european_union } + portrait_wear_no_crown_trigger = no } diff --git a/common/scripted_triggers/00_councillor_triggers.txt b/common/scripted_triggers/00_councillor_triggers.txt index f82e5245..ab66629f 100644 --- a/common/scripted_triggers/00_councillor_triggers.txt +++ b/common/scripted_triggers/00_councillor_triggers.txt @@ -21,6 +21,25 @@ can_be_councillor_basics_trigger = { limit = { has_variable = block_hire_councillor } NOT = { var:block_hire_councillor = liege } } + custom_tooltip = { + text = not_travel_option_character + NOT = { has_character_flag = travel_option_added_character } + } +} + +can_be_councillor_gender_trigger = { + OR = { + is_ruler = yes + has_variable = can_be_councillor_override + AND = { + is_female = yes + $COURT_OWNER$.faith = { NOT = { has_doctrine_parameter = male_dominated_council } } + } + AND = { + is_male = yes + $COURT_OWNER$.faith = { NOT = { has_doctrine_parameter = female_dominated_council } } + } + } } can_be_chancellor_trigger = { @@ -39,17 +58,7 @@ can_be_chancellor_trigger = { liege = { has_diarchy_active_parameter = diarchy_is_vizierate } } } - OR = { - is_ruler = yes - AND = { - is_female = yes - $COURT_OWNER$.faith = { NOT = { has_doctrine_parameter = male_dominated_council } } - } - AND = { - is_male = yes - $COURT_OWNER$.faith = { NOT = { has_doctrine_parameter = female_dominated_council } } - } - } + can_be_councillor_gender_trigger = { COURT_OWNER = $COURT_OWNER$ } } can_be_steward_trigger = { @@ -68,17 +77,7 @@ can_be_steward_trigger = { liege = { has_diarchy_active_parameter = diarchy_is_vizierate } } } - OR = { - is_ruler = yes - AND = { - is_female = yes - $COURT_OWNER$.faith = { NOT = { has_doctrine_parameter = male_dominated_council } } - } - AND = { - is_male = yes - $COURT_OWNER$.faith = { NOT = { has_doctrine_parameter = female_dominated_council } } - } - } + can_be_councillor_gender_trigger = { COURT_OWNER = $COURT_OWNER$ } } can_be_marshal_trigger = { @@ -99,15 +98,7 @@ can_be_marshal_trigger = { } } OR = { - is_ruler = yes - AND = { - is_female = yes - $COURT_OWNER$.faith = { NOT = { has_doctrine_parameter = male_dominated_council } } - } - AND = { - is_male = yes - $COURT_OWNER$.faith = { NOT = { has_doctrine_parameter = female_dominated_council } } - } + can_be_councillor_gender_trigger = { COURT_OWNER = $COURT_OWNER$ } AND = { has_trait = shieldmaiden $COURT_OWNER$.culture = { has_cultural_parameter = has_access_to_shieldmaidens } @@ -185,6 +176,20 @@ can_be_spouse_councillor_trigger = { } } +can_be_vizier_councillor_trigger = { + can_be_councillor_basics_trigger = yes + save_temporary_scope_as = confidant + + $COUNCIL_OWNER$ = { + OR = { + scope:confidant = diarch + any_consort = { + scope:confidant = this + } + } + } +} + can_be_kurultai_trigger = { can_be_councillor_basics_trigger = yes exists = $COURT_OWNER$ @@ -324,6 +329,31 @@ councillor_loyalty_trigger = { } } +councillor_spouse_can_fire = { always = no } +councillor_spouse_can_reassign = { always = no } +councillor_spouse_valid_position = { + AND = { + NOT = { + has_diarchy_type = vizierate + } + any_spouse = { + OR = { + court_owner = root + AND = { + is_ruler = yes + liege ?= root + } + } + } + } + NOT = { government_has_flag = government_is_landless_adventurer } + # Celestial hegemons have access to the ministry instead, so no spouse + tgp_has_access_to_ministry_trigger = no +} + +councillor_vizier_can_fire = { always = yes } +councillor_vizier_can_reassign = { always = yes } + ############################ #SPOUSE COUNCILLOR TRIGGERS# ############################ @@ -342,20 +372,13 @@ is_blocked_from_being_fired_from_council_trigger = { OR = { # Check in code if the court owner is prevented from firing the councilor # can_fire_position must take a council task as input, but checks the councilor behind the task. - AND = { - exists = this.council_task - this.council_task = { can_fire_position = no } - } + council_task ?= { can_fire_position = no } # Check for variable preventing the firing of a councilor set by script - AND = { - has_variable = block_fire_councillor - var:block_fire_councillor = $COURT_OWNER$ - } + var:block_fire_councillor ?= $COURT_OWNER$ } } } - can_be_fired_from_council_trigger = { NOT = { is_blocked_from_being_fired_from_council_trigger = { COURT_OWNER = $COURT_OWNER$ } @@ -363,6 +386,7 @@ can_be_fired_from_council_trigger = { trigger_if = { limit = { has_council_position = councillor_court_chaplain + liege = { tgp_has_access_to_ministry_trigger = no } } faith = { OR = { diff --git a/common/scripted_triggers/00_government_triggers.txt b/common/scripted_triggers/00_government_triggers.txt index d2f2d91f..c594438f 100644 --- a/common/scripted_triggers/00_government_triggers.txt +++ b/common/scripted_triggers/00_government_triggers.txt @@ -73,15 +73,9 @@ should_use_temple_character_background_trigger = { } has_mandala_culture_trigger = { - culture = { - OR = { - has_cultural_pillar = heritage_austronesian - has_cultural_pillar = heritage_tai - has_cultural_pillar = heritage_mon_khmer - has_cultural_pillar = heritage_viet - has_cultural_pillar = heritage_indo_aryan - has_cultural_pillar = heritage_burman - } + OR = { + culture_has_south_asian_heritage_pillar_trigger = yes + culture_has_southeast_asian_heritage_pillar_trigger = yes } } diff --git a/common/scripted_triggers/00_illustration_triggers.txt b/common/scripted_triggers/00_illustration_triggers.txt index 8e40c4f7..41adadf3 100644 --- a/common/scripted_triggers/00_illustration_triggers.txt +++ b/common/scripted_triggers/00_illustration_triggers.txt @@ -15,6 +15,7 @@ has_graphical_mena_culture_group_trigger = { has_graphical_india_culture_group_trigger = { OR = { has_building_gfx = indian_building_gfx + has_building_gfx = tibetan_building_gfx has_building_gfx = southeast_asian_building_gfx } } @@ -38,6 +39,7 @@ has_graphical_mediterranean_culture_group_trigger = { OR = { has_building_gfx = mediterranean_building_gfx has_building_gfx = byzantine_building_gfx + has_building_gfx = caucasian_building_gfx } } @@ -716,9 +718,10 @@ steppe_building_gfx_use_southeast_asian_trigger = { } high_tier_throne_room_trigger = { + tgp_is_ceremonial_regent_trigger = no # Not 'actual' ruler OR = { AND = { - tgp_is_ceremonial_regent_trigger = no # Not 'actual' ruler + is_governor = no primary_title ?= { tier >= tier_kingdom } } tgp_is_ceremonial_liege_trigger = yes diff --git a/common/scripted_triggers/00_laamp_triggers.txt b/common/scripted_triggers/00_laamp_triggers.txt index 354a3e0a..11aec229 100644 --- a/common/scripted_triggers/00_laamp_triggers.txt +++ b/common/scripted_triggers/00_laamp_triggers.txt @@ -173,6 +173,20 @@ is_valid_for_laampdom = { } is_landless_ruler = no # Admin gov vassals should not become laamps } + trigger_if = { + limit = { tgp_realm_has_ceremonial_liege_trigger = yes } + custom_tooltip = { + text = tgp_japan_imperial_branch_decision_imperial_heir_trigger + NOT = { + top_liege.primary_title.var:administrative_ui_special_title = { + place_in_line_of_succession = { + target = scope:potential_laamp_temp + value <= 4 + } + } + } + } + } trigger_if = { limit = { is_ai = yes } trigger_if = { @@ -193,6 +207,11 @@ is_valid_for_laampdom = { ai_boldness >= low_negative_ai_value ai_energy >= low_negative_ai_value } + NOR = { + has_trait = content # Too chill to adventure + has_trait = craven # Too scared to adventure + has_trait = lazy # Too lazy to adventure + } # Block admin members of noble families NOT = { house ?= { @@ -461,7 +480,16 @@ valid_laamp_basic_accept_only_trigger = { employer_has_treasury_to_offer_job_trigger = { trigger_if = { limit = { is_ai = no } - scope:employer.treasury_or_gold >= 50 + scope:employer = { + OR = { + treasury_or_gold >= 50 + trigger_if = { + limit = { government_allows = barter } + # no define:NBarter|BARTER_GOODS_TO_LOOT_MULT here. wanua rulers start as lower than 100 barter goods + barter_goods >= 50 + } + } + } } } diff --git a/common/scripted_triggers/00_marriage_triggers.txt b/common/scripted_triggers/00_marriage_triggers.txt index aaa92ae2..bbb4f6e9 100644 --- a/common/scripted_triggers/00_marriage_triggers.txt +++ b/common/scripted_triggers/00_marriage_triggers.txt @@ -18,6 +18,7 @@ can_marry_common_trigger = { is_alive = yes NOT = { has_trait_with_flag = can_not_marry } + NOT = { has_variable = can_not_marry } trigger_if = { limit = { @@ -129,25 +130,6 @@ could_marry_character_trigger = { #} } } - trigger_if = { - limit = { - any_close_or_extended_family_member = { - any_spouse = { this = $CHARACTER$ } - } - } - faith = { has_doctrine = doctrine_consanguinity_unrestricted } - $CHARACTER$ = { - faith = { has_doctrine = doctrine_consanguinity_unrestricted } - NOT = { - any_spouse = { - is_close_or_extended_family_of = scope:can_marry_check - NOT = { - faith = { has_doctrine = doctrine_consanguinity_unrestricted } - } - } - } - } - } # Cannot marry self NOT = { scope:can_marry_check = { is_spouse_of = $CHARACTER$ } @@ -633,3 +615,88 @@ can_have_concubines_trigger = { } } } + +# if $CHARACTER$ has the right to break betrothal or receive interaction for breaking betrothal? +break_betrothal_valid_target_trigger = { + is_betrothed = yes + # yourself, your courtier, or your child vassal and you were the matchmaker + trigger_if = { + limit = { + this != $CHARACTER$ + } + is_ai = yes + OR = { + AND = { + is_child_of = $CHARACTER$ + target_is_liege_or_above = $CHARACTER$ + NOT = { + matchmaker = { + is_parent_of = prev + this != $CHARACTER$ + } + } + } + AND = { + is_playable_character = no + liege = $CHARACTER$ + } + } + } +} + +cost_prestige_for_break_betrothal_trigger = { + OR = { + scope:rejected_betrothed = { + OR = { + is_close_family_of = scope:actor + AND = { + exists = dynasty + exists = scope:actor.dynasty + dynasty = scope:actor.dynasty + } + } + } + scope:rejecting_betrothed = { + OR = { + is_close_family_of = scope:actor + AND = { + exists = dynasty + exists = scope:actor.dynasty + dynasty = scope:actor.dynasty + } + } + } + scope:actor = { + yields_alliance = { + candidate = scope:rejecting_betrothed + target = scope:rejected_betrothal_owner + target_candidate = scope:rejected_betrothed + } + } + } +} + +has_proper_reason_to_break_betrothal_trigger = { + OR = { + scope:rejecting_betrothed = { + OR = { + is_eunuch_trigger = yes + has_trait_with_flag = can_not_marry + AND = { + allowed_to_marry_same_sex_trigger = no + sex_same_as = scope:rejected_betrothed + } + } + } + scope:rejected_betrothed = { + OR = { + is_eunuch_trigger = yes + has_trait_with_flag = can_not_marry + AND = { + allowed_to_marry_same_sex_trigger = no + sex_same_as = scope:rejecting_betrothed + } + } + } + } +} diff --git a/common/scripted_triggers/00_relation_triggers.txt b/common/scripted_triggers/00_relation_triggers.txt index 0254714c..2844f211 100644 --- a/common/scripted_triggers/00_relation_triggers.txt +++ b/common/scripted_triggers/00_relation_triggers.txt @@ -345,7 +345,7 @@ has_important_relationship_with_character_trigger = { } } -has_friendly_relationship_with_character_trigger = { +has_any_moderate_good_relationship_with_character_trigger = { OR = { has_relation_lover = $CHARACTER$ has_relation_friend = $CHARACTER$ @@ -364,13 +364,6 @@ has_any_mild_good_relationship_with_character_trigger = { } } -has_any_moderate_good_relationship_with_character_trigger = { - OR = { - has_relation_lover = $CHARACTER$ - has_relation_friend = $CHARACTER$ - } -} - has_any_only_moderate_good_relationship_with_character_trigger = { has_any_moderate_good_relationship_with_character_trigger = { CHARACTER = $CHARACTER$ } # Exclude the max-tier positive relationships if we're being this specific. @@ -505,7 +498,7 @@ has_important_relationship_with_root_trigger = { } has_friendly_relationship_with_root_trigger = { - has_friendly_relationship_with_character_trigger = { CHARACTER = root } + has_any_moderate_good_relationship_with_character_trigger = { CHARACTER = root } } has_any_good_relationship_with_root_trigger = { @@ -577,12 +570,19 @@ is_of_major_interest_trigger = { OR = { is_heir_of = $CHARACTER$ is_diarch_of_target = $CHARACTER$ + liege ?= $CHARACTER$ + betrothed ?= $CHARACTER$ + is_spouse_of = $CHARACTER$ + has_relation_soulmate = $CHARACTER$ + has_relation_nemesis = $CHARACTER$ + has_relation_best_friend = $CHARACTER$ + has_relation_blood_brother = $CHARACTER$ + is_child_of = $CHARACTER$ + AND = { - exists = $CHARACTER$.liege - this = $CHARACTER$.liege + is_theocratic_lessee = yes + is_councillor_of = $CHARACTER$ } - is_consort_of = $CHARACTER$ - is_councillor_of = $CHARACTER$ #They are the head of our faith AND = { @@ -590,14 +590,6 @@ is_of_major_interest_trigger = { this = $CHARACTER$.faith.religious_head } - trigger_if = { - limit = { - exists = liege - exists = $CHARACTER$.liege - } - is_powerful_vassal = yes - liege = $CHARACTER$.liege - } trigger_if = { limit = { top_liege = this @@ -613,7 +605,6 @@ is_of_major_interest_trigger = { } this = $CHARACTER$.house.house_head } - is_child_of = $CHARACTER$ # Activity Intents trigger_if = { limit = { @@ -628,7 +619,8 @@ is_of_major_interest_trigger = { is_of_minor_interest_trigger = { NOT = { this = $CHARACTER$ } OR = { - betrothed ?= $CHARACTER$ + is_consort_of = $CHARACTER$ + is_councillor_of = $CHARACTER$ has_relation_lover = $CHARACTER$ has_relation_rival = $CHARACTER$ has_relation_friend = $CHARACTER$ @@ -641,6 +633,14 @@ is_of_minor_interest_trigger = { NOT = { this = $CHARACTER$.liege } } is_close_or_extended_family_of = $CHARACTER$ + trigger_if = { + limit = { + exists = liege + exists = $CHARACTER$.liege + } + is_powerful_vassal = yes + liege = $CHARACTER$.liege + } } } diff --git a/common/scripted_triggers/00_religious_triggers.txt b/common/scripted_triggers/00_religious_triggers.txt index 3ae5377e..3f0d89f7 100644 --- a/common/scripted_triggers/00_religious_triggers.txt +++ b/common/scripted_triggers/00_religious_triggers.txt @@ -1874,7 +1874,7 @@ christianity_or_syncretic_with_christianity_trigger = { faith = { OR = { religion = religion:catholic_religion - religion = religion:orthodox_religion + religion = religion:eastern_orthodox_religion religion = religion:protestant_religion has_doctrine = tenet_christian_syncretism } diff --git a/common/scripted_triggers/00_scripted_rule_triggers.txt b/common/scripted_triggers/00_scripted_rule_triggers.txt index edc34f1d..517b1026 100644 --- a/common/scripted_triggers/00_scripted_rule_triggers.txt +++ b/common/scripted_triggers/00_scripted_rule_triggers.txt @@ -49,6 +49,7 @@ can_raid_trigger = { } ## Without restrictions. has_trait_with_flag = trait_enable_raiding_without_restrictions + has_variable = enable_raiding_without_restrictions } # Some faiths prohibit this. OR = { @@ -68,8 +69,7 @@ can_raid_trigger = { # Here so that you can plug in whatever dynasty modifiers you want without overwriting the whole scripted rule trigger. can_raid_dynasty_modifiers_that_enable_raiding_overseas_list_trigger = { # Yes, I realise the OR is redundant till someone else puts something in here. Shoosh. - has_dynasty_modifier = fp1_legacy_of_piracy_modifier - + has_dynasty_modifier = fp1_legacy_of_piracy_modifier } can_raid_dynasty_modifiers_that_enable_raiding_overland_list_trigger = { OR = { diff --git a/common/scripted_triggers/00_war_and_peace_triggers.txt b/common/scripted_triggers/00_war_and_peace_triggers.txt index 68c13223..869bebb2 100644 --- a/common/scripted_triggers/00_war_and_peace_triggers.txt +++ b/common/scripted_triggers/00_war_and_peace_triggers.txt @@ -309,6 +309,7 @@ can_be_warrior_trigger = { } } +# referenced in KNIGHT_RESTRICTIONS_TT, update when changing this trigger can_be_knight_trigger = { is_available_quick = { ai = yes @@ -317,10 +318,10 @@ can_be_knight_trigger = { can_be_warrior_trigger = { ARMY_OWNER = $ARMY_OWNER$ } trigger_if = { # Admin governors cannot be knights limit = { - $ARMY_OWNER$ = { government_allows = administrative } - is_courtier = no + government_allows = administrative + exists = primary_title } - primary_title ?= { + primary_title = { tier < tier_duchy trigger_if = { limit = { is_noble_family_title = yes } @@ -370,6 +371,15 @@ can_be_knight_trigger = { } this != liege.diarch } + # knight permissions for players + trigger_if = { + limit = { + $ARMY_OWNER$ = { + is_ai = no + } + } + is_knight_permitted = $ARMY_OWNER$ + } } # If you update one of the available triggers, update all of them. It's a lot better for performance to not have scripted triggers within scripted triggers when they're checked as often as these ones are. @@ -577,7 +587,7 @@ special_invasion_cb_seize_land_in_region_trigger = { } } trigger_if = { - # If our de jure liege is an existing duchy that would have been siezed in the duchy step, do not transfer the county (it has already been transferred). + # If our de jure liege is an existing duchy that would have been seized in the duchy step, do not transfer the county (it has already been transferred). limit = { de_jure_liege ?= { exists = holder @@ -903,6 +913,7 @@ herders_and_tributary_constraints = { # You cannot attack your Confederation buddies tributaries trigger_if = { limit = { + exists = suzerain suzerain != this scope:attacker = { is_confederation_member = yes } suzerain = { is_confederation_member = yes } @@ -915,6 +926,7 @@ herders_and_tributary_constraints = { is_tributary_of_suzerain_or_above = scope:defender # can't attack your own suzerain trigger_if = { limit = { + exists = suzerain suzerain != this scope:defender = { is_confederation_member = yes } suzerain = { is_confederation_member = yes } diff --git a/common/scripted_triggers/02_ep1_scripted_triggers.txt b/common/scripted_triggers/02_ep1_scripted_triggers.txt index 71d71a9d..2f232b68 100644 --- a/common/scripted_triggers/02_ep1_scripted_triggers.txt +++ b/common/scripted_triggers/02_ep1_scripted_triggers.txt @@ -307,15 +307,7 @@ target_of_powerful_faction_trigger = { province_has_no_holding_trigger = { # province has no holding has_ongoing_construction = no - NOR = { - has_holding_type = castle_holding - has_holding_type = tribal_holding - has_holding_type = city_holding - has_holding_type = church_holding - has_holding_type = herder_holding - has_holding_type = nomad_holding - has_holding_type = temple_citadel_holding - } + has_holding = no } county_has_all_holding_types = { # county has all three holding types diff --git a/common/scripted_triggers/03_fp2_scripted_triggers.txt b/common/scripted_triggers/03_fp2_scripted_triggers.txt index 246be199..516d9af8 100644 --- a/common/scripted_triggers/03_fp2_scripted_triggers.txt +++ b/common/scripted_triggers/03_fp2_scripted_triggers.txt @@ -39,21 +39,18 @@ fp2_character_uninvolved_in_struggle_trigger = { eligible_for_fp2_dynasty_legacies_trigger = { has_fp2_dlc_trigger = yes - dynasty = { + dynasty.dynast = { OR = { - dynast = { - OR = { - any_character_struggle = { - involvement = involved - is_struggle_type = iberian_struggle - } - culture = { - has_cultural_pillar = heritage_iberian - } - capital_province ?= { - geographical_region = world_europe_west_iberia - } - } + game_rule_unrestricted_dynasty_legacies_trigger = yes + any_character_struggle = { + involvement = involved + is_struggle_type = iberian_struggle + } + culture = { + has_cultural_pillar = heritage_iberian + } + capital_province ?= { + geographical_region = world_europe_west_iberia } } } diff --git a/common/scripted_triggers/07_ep3_triggers.txt b/common/scripted_triggers/07_ep3_triggers.txt index 78ce882f..9d928602 100644 --- a/common/scripted_triggers/07_ep3_triggers.txt +++ b/common/scripted_triggers/07_ep3_triggers.txt @@ -1,4 +1,19 @@ -ep3_should_use_byzantine_graphics_trigger = { +eligible_for_ep3_administrative_legacy_trigger = { + has_ep3_dlc_trigger = yes + OR = { + game_rule_unrestricted_dynasty_legacies_trigger = yes + dynasty = { + OR = { + dynast = { + government_allows = administrative + } + has_dynasty_perk = ep3_administrative_legacy_1 + } + } + } +} + +ep3_should_use_byzantine_graphics_trigger = { OR = { culture = { has_building_gfx = byzantine_building_gfx } culture = { has_building_gfx = caucasian_building_gfx } @@ -1027,19 +1042,23 @@ can_recruit_archer_cavalry_trigger = { custom_tooltip = { text = can_recruit_archer_cavalry_trigger_desc OR = { - can_create_maa = horse_archers - can_create_maa = mangudai - can_create_maa = asawira - can_create_maa = accolade_maa_horse_archers - can_create_maa = emishi_horse_archers - can_create_maa = japanese_horse_archers - can_create_maa = kheshig - can_create_maa = heavy_horse_archers - can_create_maa = heavy_horse_archers + has_access_to_maa = horse_archers + has_access_to_maa = mangudai + has_access_to_maa = asawira + has_access_to_maa = accolade_maa_horse_archers + has_access_to_maa = emishi_horse_archers + has_access_to_maa = japanese_horse_archers + has_access_to_maa = kheshig + has_access_to_maa = heavy_horse_archers } } } + +## Is this contract a transport contract? +# +# root (task contract) – The contract to be checked. +# ep3_transport_contract_trigger = { OR = { has_task_contract_type = laamp_transport_vip @@ -1785,3 +1804,53 @@ influence_candidacy_valid_succession_law_trigger = { has_$TYPE$_law = japanese_regency_succession_law } } + +laamp_as_mercenary_payout_trigger = { + save_temporary_scope_as = merc_temp + $WAR$ = { save_temporary_scope_as = war_temp } + scope:merc_temp ?= { + var:joined_as_mercenary ?= { + is_leader_in_war = scope:war_temp + trigger_if = { + limit = { is_attacker_in_war = scope:war_temp } + scope:merc_temp = { is_attacker_in_war = scope:war_temp } + } + trigger_else = { + scope:merc_temp = { is_attacker_in_war = scope:war_temp } + } + } + NOT = { is_leader_in_war = scope:war_temp } + OR = { + has_raised_armies = yes + scope:war_temp = { + war_contribution = { + target = scope:merc_temp + value > 0 + } + } + } + } +} + +laamp_as_mercenary_payout_last_war_trigger = { + save_temporary_scope_as = merc_temp + $WAR$ = { save_temporary_scope_as = war_temp } + scope:merc_temp ?= { + # ENSURE THIS IS THE LAST WAR YOU ARE FIGHTING IN WITH THE EMPLOYER + NOT = { + any_character_war = { + NOT = { this = scope:war_temp } + is_war_leader = scope:merc_temp.var:joined_as_mercenary + trigger_if = { + limit = { is_attacker = scope:merc_temp.var:joined_as_mercenary } + is_attacker = scope:merc_temp + } + trigger_else = { + is_defender = scope:merc_temp + } + } + } + } +} + + diff --git a/common/scripted_triggers/09_mpo_greatest_of_khans_triggers.txt b/common/scripted_triggers/09_mpo_greatest_of_khans_triggers.txt index 37ad4d01..8b27fb31 100644 --- a/common/scripted_triggers/09_mpo_greatest_of_khans_triggers.txt +++ b/common/scripted_triggers/09_mpo_greatest_of_khans_triggers.txt @@ -20,6 +20,7 @@ mpo_has_gok_mongol_empire_trigger = { text = gok_title_trigger exists = global_var:greatest_of_khans_title any_held_title = { + title_tier = empire this = global_var:greatest_of_khans_title } } diff --git a/common/scripted_triggers/10_ach_scripted_triggers.txt b/common/scripted_triggers/10_ach_scripted_triggers.txt index 2e197fb6..fb7b48f5 100644 --- a/common/scripted_triggers/10_ach_scripted_triggers.txt +++ b/common/scripted_triggers/10_ach_scripted_triggers.txt @@ -2,33 +2,25 @@ has_ach_dlc_trigger = yes is_landed = yes highest_held_title_tier >= tier_kingdom - OR = { - government_has_flag = government_is_feudal - government_has_flag = government_is_tribal - AND = { - government_has_flag = government_is_special_administrative - is_independent_ruler = yes - } - government_has_flag = government_is_nomadic - government_has_flag = government_is_clan - AND = { - government_has_flag = government_is_meritocratic - is_independent_ruler = yes - } - AND = { - government_has_flag = government_is_celestial - is_independent_ruler = yes - } - AND = { - government_has_flag = government_is_steppe_admin - is_independent_ruler = yes - } - AND = { - government_is_japanese_trigger = yes - has_title = title:e_japan + # Governments where independent king+ rulers can hold Coronations + trigger_if = { + limit = { tgp_realm_has_ceremonial_liege_trigger = yes } + custom_tooltip = { + text = tgp_ceremonial_liege_coronation_trigger tgp_has_ceremonial_liege_title_trigger = yes } - government_has_flag = government_is_mandala + } + trigger_if = { + limit = { government_allows = administrative } + is_independent_ruler = yes + } + trigger_else = { + NOR = { + government_has_flag = government_is_theocracy + government_has_flag = government_is_republic + government_has_flag = government_is_mercenary + government_has_flag = government_is_holy_order + } } } @@ -88,8 +80,10 @@ is_important_hof_trigger = { coronation_has_proper_artifact_trigger = { trigger_if = { limit = { - coronation_proper_artifact_crown_trigger = yes - coronation_proper_artifact_regalia_trigger = no + faith = { + coronation_proper_artifact_crown_trigger = yes + coronation_proper_artifact_regalia_trigger = no + } } any_character_artifact = { artifact_slot_type = helmet @@ -97,8 +91,10 @@ coronation_has_proper_artifact_trigger = { } trigger_else_if = { limit = { - coronation_proper_artifact_regalia_trigger = yes - coronation_proper_artifact_crown_trigger = no + faith = { + coronation_proper_artifact_regalia_trigger = yes + coronation_proper_artifact_crown_trigger = no + } } any_character_artifact = { artifact_slot_type = regalia @@ -115,7 +111,7 @@ coronation_has_proper_artifact_trigger = { } coronation_proper_artifact_crown_trigger = { - faith.religion = { + religion = { OR = { this = religion:baltic_religion this = religion:bon_religion @@ -136,7 +132,7 @@ coronation_proper_artifact_crown_trigger = { } coronation_proper_artifact_regalia_trigger = { - faith.religion = { + religion = { OR = { this = religion:buddhism_religion this = religion:finno_ugric_religion diff --git a/common/scripted_triggers/10_tgp_triggers.txt b/common/scripted_triggers/10_tgp_triggers.txt index 0c16714a..9a386e68 100644 --- a/common/scripted_triggers/10_tgp_triggers.txt +++ b/common/scripted_triggers/10_tgp_triggers.txt @@ -1,4 +1,49 @@ - +eligible_for_tgp_china_legacy_trigger = { + has_tgp_dlc_trigger = yes + OR = { + game_rule_unrestricted_dynasty_legacies_trigger = yes + dynasty = { + OR = { + dynast = { + government_has_flag = government_has_merit + } + has_dynasty_perk = tgp_chinese_legacy_1 + } + } + } +} +eligible_for_tgp_japan_legacy_trigger = { + has_tgp_dlc_trigger = yes + OR = { + game_rule_unrestricted_dynasty_legacies_trigger = yes + dynasty = { + OR = { + dynast = { + government_is_japanese_trigger = yes + } + has_dynasty_perk = tgp_japan_legacy_1 + } + } + } +} +eligible_for_tgp_sea_legacy_trigger = { + has_tgp_dlc_trigger = yes + OR = { + game_rule_unrestricted_dynasty_legacies_trigger = yes + dynasty = { + OR = { + dynast = { + OR = { + government_has_flag = government_is_mandala + government_has_flag = government_is_wanua + } + } + has_dynasty_perk = tgp_sea_legacy_1 + } + } + } +} + tgp_distant_realm_marriage_trigger = { $RECIPIENT_SPOUSE$ = { culture = { has_cultural_parameter = reduced_marriage_acceptance_distant_realms } @@ -67,6 +112,10 @@ tgp_has_access_to_ministry_trigger = { tgp_is_any_minister = { liege ?= { tgp_has_access_to_ministry_trigger = yes } + tgp_has_minister_title = yes +} + +tgp_has_minister_title = { OR = { has_title = title:e_minister_chancellor has_title = title:e_minister_censor @@ -80,6 +129,46 @@ tgp_is_any_minister = { } } +tgp_has_civilian_minister_title = { + OR = { + has_title = title:e_minister_chancellor + has_title = title:e_minister_censor + has_title = title:e_minister_of_personnel + has_title = title:e_minister_of_revenue + has_title = title:e_minister_of_rites + has_title = title:e_minister_of_war + has_title = title:e_minister_of_justice + has_title = title:e_minister_of_works + } +} + +tgp_is_civilian_minister_title = { + OR = { + this = title:e_minister_chancellor + this = title:e_minister_censor + this = title:e_minister_of_personnel + this = title:e_minister_of_revenue + this = title:e_minister_of_rites + this = title:e_minister_of_war + this = title:e_minister_of_justice + this = title:e_minister_of_works + } +} + +tgp_is_minister_title = { + OR = { + this = title:e_minister_chancellor + this = title:e_minister_censor + this = title:e_minister_grand_marshal + this = title:e_minister_of_personnel + this = title:e_minister_of_revenue + this = title:e_minister_of_rites + this = title:e_minister_of_war + this = title:e_minister_of_justice + this = title:e_minister_of_works + } +} + tgp_can_be_a_minister_trigger = { can_be_councillor_basics_trigger = yes # Has to be celestial or a non-ruler @@ -89,6 +178,7 @@ tgp_can_be_a_minister_trigger = { } # Gender is based on laws of the liege OR = { + has_variable = can_be_councillor_override AND = { is_female = yes $COURT_OWNER$ = { @@ -127,21 +217,6 @@ tgp_can_be_a_minister_trigger = { tgp_can_be_grand_marshal_trigger = { can_be_councillor_basics_trigger = yes - $COURT_OWNER$ ?= { - NOT = { government_has_flag = government_is_nomadic } - } - NAND = { - has_council_position = councillor_court_chaplain - faith = { has_doctrine_parameter = clerical_appointment_fixed } - } - NOR = { - has_council_position = councillor_spouse - AND = { - this = liege.diarch - liege = { has_diarchy_active_parameter = diarchy_is_vizierate } - } - has_trait = devoted - } # Has to be celestial or a non-ruler OR = { is_ruler = no @@ -152,6 +227,9 @@ tgp_can_be_grand_marshal_trigger = { } tgp_is_above_retirement_age_trigger = { + $REALM_OWNER$.top_liege = { + has_realm_law_flag = celestial_retirement_law + } trigger_if = { limit = { $REALM_OWNER$.top_liege ?= { has_realm_law_flag = celestial_retirement_age_4 } @@ -203,7 +281,7 @@ tgp_is_above_retirement_age_trigger = { } custom_tooltip = { text = tgp_is_above_retirement_age_5 - always = no + always = yes } } trigger_else = { @@ -313,8 +391,8 @@ tgp_realm_has_ceremonial_liege_trigger = { tgp_is_ceremonial_liege_trigger = { custom_tooltip = { text = tgp_is_ceremonial_liege_tt + this != top_liege tgp_has_ceremonial_liege_title_trigger = yes - is_independent_ruler = no } } @@ -327,20 +405,38 @@ tgp_portrait_liege_or_ceremonial_liege_emperor_trigger = { } # Standard Liege trigger_else = { - scope:highest_held_title_tier >= tier_empire - is_independent_ruler = yes + trigger_if = { + limit = { + is_alive = yes + } + highest_held_title_tier >= tier_empire + is_independent_ruler = yes + } + trigger_else = { + scope:highest_held_title_tier >= tier_empire + } } } tgp_portrait_liege_or_ceremonial_liege_king_trigger = { - # Ceremonial Liege + # Ceremonial Liege trigger_if = { limit = { tgp_realm_has_ceremonial_liege_trigger = yes } tgp_has_ceremonial_liege_title_trigger = yes primary_title.holder.top_liege.highest_held_title_tier = tier_kingdom } # Standard Liege - trigger_else = { highest_held_title_tier = tier_kingdom } + trigger_else = { + trigger_if = { + limit = { + is_alive = yes + } + highest_held_title_tier = tier_kingdom + } + trigger_else = { + scope:highest_held_title_tier = tier_kingdom + } + } } # Check if a character has a ceremonial liege title (but not if they are actually a ceremonial liege) @@ -377,8 +473,7 @@ tgp_ceremonial_liege_scope_trigger = { tgp_is_in_ceremonial_house_trigger = { custom_tooltip = { text = tgp_is_in_ceremonial_house_tt - exists = house - top_liege.primary_title.var:administrative_ui_special_title.holder.house ?= house + house.house_head.top_liege.primary_title.var:administrative_ui_special_title.holder.house ?= house } } @@ -433,15 +528,15 @@ tgp_should_become_meritocratic_trigger = { } tgp_can_become_japan_administrative_trigger = { - top_liege = { - OR = { - government_is_japanese_trigger = yes - has_character_flag = tgp_japan_restore_japanese_government_flag - culture = culture:japanese - culture = { - any_parent_culture_or_above = { this = culture:japanese } + OR = { + top_liege = { + OR = { + government_is_japanese_trigger = yes + has_character_flag = tgp_japan_restore_japanese_government_flag } } + government_is_japanese_trigger = yes + has_character_flag = tgp_japan_restore_japanese_government_flag } } @@ -450,9 +545,8 @@ tgp_can_become_celestial_trigger = { OR = { has_government = celestial_government has_title = title:h_china - culture = culture:han culture = { - any_parent_culture_or_above = { this = culture:han } + culture_is_or_has_ancestor_trigger = { CULTURE = culture:han } } } } @@ -527,7 +621,7 @@ tgp_japanese_high_nobility_clothing_family_trigger = { is_lowborn = no OR = { highest_held_title_tier >= tier_county - court_owner = { highest_held_title_tier >= tier_county } + court_owner ?= { highest_held_title_tier >= tier_county } } } } @@ -856,45 +950,94 @@ take_vows_available_trigger = { } } -tgp_capital_not_in_chinese_naming_region = { - capital_county.title_province ?= { - NOR = { - geographical_region = tgp_ba_region - geographical_region = tgp_cai_region - geographical_region = tgp_cao_region - geographical_region = tgp_chen_region - geographical_region = tgp_chu_region - geographical_region = tgp_dai_region - geographical_region = tgp_dian_region - geographical_region = tgp_gan_region - geographical_region = tgp_gui_region - geographical_region = tgp_han_region - geographical_region = tgp_huai_region - geographical_region = tgp_jin_region - geographical_region = tgp_jing_region - geographical_region = tgp_lai_region - geographical_region = tgp_liang_region - geographical_region = tgp_lu_region - geographical_region = tgp_min_region - geographical_region = tgp_qi_region - geographical_region = tgp_qian_region - geographical_region = tgp_shu_region - geographical_region = tgp_song_region - geographical_region = tgp_sui_region - geographical_region = tgp_tang_region - geographical_region = tgp_wei_region - geographical_region = tgp_wu_region - geographical_region = tgp_xia_region - geographical_region = tgp_xiang_region - geographical_region = tgp_xing_region - geographical_region = tgp_xu_region - geographical_region = tgp_yang_region - geographical_region = tgp_yin_region - geographical_region = tgp_yong_region - geographical_region = tgp_yue_region - geographical_region = tgp_zhao_region - geographical_region = tgp_zheng_region - geographical_region = tgp_zhou_region +tgp_use_chinese_naming_trigger = { + government_has_flag = government_is_celestial +} + +tgp_is_in_chinese_naming_region = { + OR = { + # whole startup h_china + geographical_region = world_asia_china + # outside h_china + geographical_region = tgp_bao_region + geographical_region = tgp_kang_region + geographical_region = tgp_liao_region + geographical_region = tgp_yuan_ferghana_region + # partly outside + geographical_region = tgp_liang_west_region + geographical_region = tgp_cheng_region + } +} + +tgp_has_cultural_naming_in_chinese = { + OR = { + has_cultural_pillar = heritage_viet + has_cultural_pillar = heritage_japonic + has_cultural_pillar = heritage_tibetan + has_cultural_pillar = heritage_buyeo + has_cultural_pillar = heritage_korean + has_name_list = name_list_jurchen + has_cultural_pillar = heritage_mongolic + culture_is_or_has_ancestor_trigger = { CULTURE = culture:bouxcuengh } + culture_is_or_has_ancestor_trigger = { CULTURE = culture:bai } + culture_is_or_has_ancestor_trigger = { CULTURE = culture:yi } + culture_is_or_has_ancestor_trigger = { CULTURE = culture:tai } + culture_is_or_has_ancestor_trigger = { CULTURE = culture:yughur } + culture_is_or_has_ancestor_trigger = { CULTURE = culture:uyghur } + has_cultural_pillar = heritage_hmongic + culture_is_or_has_ancestor_trigger = { CULTURE = culture:cham } + has_cultural_pillar = heritage_byzantine + culture_is_or_has_ancestor_trigger = { CULTURE = culture:roman } + culture_is_or_has_ancestor_trigger = { CULTURE = culture:avar } + } +} + +tgp_has_unique_chinese_naming = { + OR = { + capital_county.title_province ?= { tgp_is_in_chinese_naming_region = yes } + scope:title.capital_county.title_province ?= { tgp_is_in_chinese_naming_region = yes } + culture = { tgp_has_cultural_naming_in_chinese = no } + } +} + +tgp_chinese_naming_tier_trigger = { + save_temporary_scope_as = ruler_temp + OR = { + capital_county.title_province ?= { + trigger_if = { + limit = { + geographical_region = tgp_county_chinese_naming_region + } + scope:ruler_temp.highest_held_title_tier >= tier_county + } + trigger_else_if = { + limit = { + geographical_region = tgp_duchy_chinese_naming_region + } + scope:ruler_temp.highest_held_title_tier >= tier_duchy + } + trigger_else = { + scope:ruler_temp.highest_held_title_tier >= tier_kingdom + } + } + scope:title ?= { + capital_county.title_province ?= { + trigger_if = { + limit = { + geographical_region = tgp_county_chinese_naming_region + } + scope:ruler_temp.highest_held_title_tier >= tier_county + } + trigger_else_if = { + limit = { + geographical_region = tgp_duchy_chinese_naming_region + } + scope:ruler_temp.highest_held_title_tier >= tier_duchy + } + trigger_else = { + scope:ruler_temp.highest_held_title_tier >= tier_kingdom + } + } } } } diff --git a/common/scripted_triggers/mpo_scripted_triggers.txt b/common/scripted_triggers/mpo_scripted_triggers.txt index ef0e7c78..117f8c9b 100644 --- a/common/scripted_triggers/mpo_scripted_triggers.txt +++ b/common/scripted_triggers/mpo_scripted_triggers.txt @@ -2,6 +2,21 @@ # TRIGGER LIST # ################################################# +eligible_for_mpo_nomad_legacy_trigger = { + has_mpo_dlc_trigger = yes + OR = { + game_rule_unrestricted_dynasty_legacies_trigger = yes + dynasty = { + OR = { + dynast = { + government_has_flag = government_is_nomadic + } + has_dynasty_perk = mpo_nomad_legacy_1 + } + } + } +} + valid_confederation_member_trigger = { is_playable_character = yes is_tributary = no @@ -43,7 +58,7 @@ valid_confederation_member_trigger = { is_confederation_member = no } -confedration_foe_sub_trigger = { +confederation_foe_sub_trigger = { NOT = { is_allied_to = $CHARACTER$ } OR = { has_trait = conqueror @@ -88,27 +103,27 @@ confederation_foe_trigger = { kingdom = { any_de_jure_county = { holder.top_liege = { - confedration_foe_sub_trigger = { CHARACTER = $CHARACTER$ } + confederation_foe_sub_trigger = { CHARACTER = $CHARACTER$ } } } } } #Threat borders you or your tributaries any_land_neighboring_realm_with_tributaries_owner = { - confedration_foe_sub_trigger = { CHARACTER = $CHARACTER$ } + confederation_foe_sub_trigger = { CHARACTER = $CHARACTER$ } } #You border threat's direct tributaries any_land_neighboring_realm_with_tributaries_owner = { exists = suzerain suzerain = { - confedration_foe_sub_trigger = { CHARACTER = $CHARACTER$ } + confederation_foe_sub_trigger = { CHARACTER = $CHARACTER$ } } } #You border threat's lower level tributaries any_land_neighboring_realm_with_tributaries_owner = { is_tributary = yes top_suzerain = { - confedration_foe_sub_trigger = { CHARACTER = $CHARACTER$ } + confederation_foe_sub_trigger = { CHARACTER = $CHARACTER$ } } } } @@ -121,20 +136,20 @@ confederation_neighboring_foe_trigger = { OR = { #Threat borders you or your tributaries any_land_neighboring_realm_with_tributaries_owner = { - confedration_foe_sub_trigger = { CHARACTER = $CHARACTER$ } + confederation_foe_sub_trigger = { CHARACTER = $CHARACTER$ } } #You border threat's direct tributaries any_land_neighboring_realm_with_tributaries_owner = { exists = suzerain suzerain = { - confedration_foe_sub_trigger = { CHARACTER = $CHARACTER$ } + confederation_foe_sub_trigger = { CHARACTER = $CHARACTER$ } } } #You border threat's lower level tributaries any_land_neighboring_realm_with_tributaries_owner = { is_tributary = yes top_suzerain = { - confedration_foe_sub_trigger = { CHARACTER = $CHARACTER$ } + confederation_foe_sub_trigger = { CHARACTER = $CHARACTER$ } } } } @@ -615,7 +630,7 @@ mpo_overrunning_willing_vassal_trigger = { } highest_held_title_tier >= tier_county government_has_flag = government_is_nomadic - highest_held_title_tier < tier_kingdom + highest_held_title_tier < tier_duchy NOT = { government_has_flag = government_is_herder } } @@ -628,13 +643,8 @@ is_tsagaan_sar = { } } has_eligible_artifact_trigger = { - any_artifact = { - artifact_owner = root - NOR = { - has_variable = banner_house - has_variable = banner_dynasty - has_variable = 1025_treasure_map - } + any_character_artifact = { + artifact_can_be_gift_advance_trigger = yes count >= 2 } } @@ -648,15 +658,7 @@ can_gift_anything_trigger = { domicile ?= { herd < max_herd } } } - any_artifact = { - artifact_owner = root - NOR = { - has_variable = banner_house - has_variable = banner_dynasty - has_variable = 1025_treasure_map - } - count >= 2 - } + has_eligible_artifact_trigger = yes } } @@ -1395,24 +1397,12 @@ mpo_blood_brother_loving_trigger = { } has_bad_season_nomadic_capital_root_trigger = { - any_county_situation = { + any_county_situation_sub_region = { OR = { - any_situation_sub_region = { - sub_region_current_phase = situation_steppe_white_zud_season - situation_sub_region_has_county = root.capital_county - } - any_situation_sub_region = { - sub_region_current_phase = situation_steppe_cold_zud_season - situation_sub_region_has_county = root.capital_county - } - any_situation_sub_region = { - sub_region_current_phase = situation_steppe_severe_drought_season - situation_sub_region_has_county = root.capital_county - } - any_situation_sub_region = { - sub_region_current_phase = situation_steppe_havsarsan_zud_season - situation_sub_region_has_county = root.capital_county - } + sub_region_current_phase = situation_steppe_white_zud_season + sub_region_current_phase = situation_steppe_cold_zud_season + sub_region_current_phase = situation_steppe_severe_drought_season + sub_region_current_phase = situation_steppe_havsarsan_zud_season } } } @@ -1479,24 +1469,12 @@ has_bad_season_nomadic_capital_character_trigger = { } has_bad_season_in_county_trigger = { - any_county_situation = { + any_county_situation_sub_region = { OR = { - any_situation_sub_region = { - sub_region_current_phase = situation_steppe_white_zud_season - situation_sub_region_has_county = $COUNTY$ - } - any_situation_sub_region = { - sub_region_current_phase = situation_steppe_cold_zud_season - situation_sub_region_has_county = $COUNTY$ - } - any_situation_sub_region = { - sub_region_current_phase = situation_steppe_severe_drought_season - situation_sub_region_has_county = $COUNTY$ - } - any_situation_sub_region = { - sub_region_current_phase = situation_steppe_havsarsan_zud_season - situation_sub_region_has_county = $COUNTY$ - } + sub_region_current_phase = situation_steppe_white_zud_season + sub_region_current_phase = situation_steppe_cold_zud_season + sub_region_current_phase = situation_steppe_severe_drought_season + sub_region_current_phase = situation_steppe_havsarsan_zud_season } } } @@ -1541,21 +1519,11 @@ has_good_season_nomadic_capital_character_trigger = { } has_good_season_in_county_trigger = { - any_county_situation = { + any_county_situation_sub_region = { OR = { - any_situation_sub_region = { - sub_region_current_phase = situation_steppe_abundant_grazing_season - situation_sub_region_has_county = $COUNTY$ - } - any_situation_sub_region = { - sub_region_current_phase = situation_steppe_warm_nights_season - situation_sub_region_has_county = $COUNTY$ - } - any_situation_sub_region = { - sub_region_current_phase = situation_steppe_sky_blessing_season - situation_sub_region_has_county = $COUNTY$ - - } + sub_region_current_phase = situation_steppe_abundant_grazing_season + sub_region_current_phase = situation_steppe_warm_nights_season + sub_region_current_phase = situation_steppe_sky_blessing_season } } } @@ -1882,3 +1850,197 @@ county_ready_for_abuse_trigger = { } } +mpo_nomad_invasion_war_ai_trigger = { + OR = { + has_realm_law = nomadic_authority_3 + has_realm_law = nomadic_authority_4 + has_realm_law = nomadic_authority_5 + } + is_independent_ruler = yes + is_at_war = no + gold > 0 + NOT = { + has_realm_law = uncrowned + } + OR = { + #China is in division + AND = { + situation:dynastic_cycle ?= { situation_current_phase = situation_dynastic_cycle_phase_chaos } + NOT = { + exists = title:h_china.holder + } + capital_province = { + geographical_region = world_steppe_east + } + } + #Byzantium or China are actually somehow a viable target + title:e_byzantium.holder ?= { + in_diplomatic_range = $NOMAD$ + NOR = { + has_any_good_relationship_with_character_trigger = { CHARACTER = $NOMAD$ } + is_allied_to = $NOMAD$ + is_tributary_of = $NOMAD$ + $NOMAD$ = { + is_tributary_of_suzerain_or_above = prev + } + $NOMAD$ = { + has_truce = prev + } + } + #Fulfills strength comparison + current_military_strength < $NOMAD$.seventy_percent_of_current_military_strength + OR = { + gold <= $NOMAD$.fifty_percent_of_current_gold + current_military_strength <= $NOMAD$.forty_percent_of_current_military_strength + } + } + title:h_china.holder ?= { + in_diplomatic_range = $NOMAD$ + NOR = { + has_any_good_relationship_with_character_trigger = { CHARACTER = $NOMAD$ } + is_allied_to = $NOMAD$ + is_tributary_of = $NOMAD$ + $NOMAD$ = { + is_tributary_of_suzerain_or_above = prev + } + $NOMAD$ = { + has_truce = prev + } + } + #Fulfills strength comparison + current_military_strength < $NOMAD$.seventy_percent_of_current_military_strength + OR = { + gold <= $NOMAD$.fifty_percent_of_current_gold + current_military_strength <= $NOMAD$.forty_percent_of_current_military_strength + } + } + # Havsaran zud? Leave the steppe! + capital_county ?= { + any_county_situation_sub_region = { + sub_region_current_phase = situation_steppe_havsarsan_zud_season + } + } + #Landless and heavily herded + AND = { + is_landed = no + domicile.herd >= 8000 + } + #Family has held title without ascendance for a while + AND = { + ai_energy > low_negative_ai_value + is_gurkhan = no + sub_realm_size <= 30 + domicile ?= { herd <= two_thirds_max_herd_value } + + exists = $NOMAD$.house + primary_title = { + previous_holder ?= { + house ?= $NOMAD$.house + } + any_past_holder = { + count >= 2 + NOT = { + this = $NOMAD$ + } + house ?= $NOMAD$.house + trigger_if = { + limit = { + is_alive = no + } + time_since_death = { + years <= 120 + } + } + } + } + } + #Is "pushed out" by stronger neighbor + AND = { + ai_vengefulness < low_positive_ai_value + is_gurkhan = no + any_neighboring_realm_with_tributaries_owner = { + NOT = { is_tributary_of_suzerain_or_above = $NOMAD$ } + OR = { + #Is personally scary + AND = { + government_has_flag = government_is_nomadic + seventy_percent_of_current_military_strength >= $NOMAD$.current_military_strength + NOR = { + is_allied_to = $NOMAD$ + has_truce = $NOMAD$ + } + } + #Suzerain is scary + AND = { + is_tributary = yes + top_suzerain = { + NOT = { this = $NOMAD$ } + government_has_flag = government_is_nomadic + seventy_percent_of_current_military_strength > $NOMAD$.current_military_strength + NOR = { + is_tributary_of = $NOMAD$ + is_allied_to = $NOMAD$ + has_truce = $NOMAD$ + } + } + } + } + } + } + } +} + +mpo_nomad_duchy_invasion_war_ai_trigger = { + is_independent_ruler = yes + is_at_war = no + gold > 0 + NOT = { + has_realm_law = uncrowned + } + has_realm_law = nomadic_authority_2 + OR = { + #China is in division + AND = { + situation:dynastic_cycle ?= { situation_current_phase = situation_dynastic_cycle_phase_chaos } + NOT = { + exists = title:h_china.holder + } + } + # Havsaran zud? Leave the steppe! + capital_county ?= { + any_county_situation_sub_region = { + sub_region_current_phase = situation_steppe_havsarsan_zud_season + } + } + #Landless and heavily herded + AND = { + is_landed = no + domicile.herd >= 4000 + } + #Family has held title without ascendance for a while + AND = { + ai_energy >= 0 + is_gurkhan = no + sub_realm_size <= 3 + domicile ?= { herd <= two_thirds_max_herd_value } + + exists = $NOMAD$.house + primary_title = { + previous_holder ?= { + house ?= $NOMAD$.house + } + any_past_holder = { + count >= 2 + this != $NOMAD$ + house ?= $NOMAD$.house + OR = { + is_alive = yes + time_since_death = { + years <= 120 + } + } + } + } + } + } +} diff --git a/common/situation/catalysts/10_tgp_dynastic_cycle_catalysts.txt b/common/situation/catalysts/10_tgp_dynastic_cycle_catalysts.txt index 0f0d57e9..76fe023f 100644 --- a/common/situation/catalysts/10_tgp_dynastic_cycle_catalysts.txt +++ b/common/situation/catalysts/10_tgp_dynastic_cycle_catalysts.txt @@ -71,6 +71,7 @@ catalyst_hegemon_apocalyptic_epidemic = {} catalyst_requested_incursion = {} # Imperial Treasury +catalyst_imperial_treasury_depleted = {} catalyst_imperial_treasury_raided = {} catalyst_imperial_treasury_debt = {} catalyst_cleared_treasury_debt = {} diff --git a/common/situation/situation_group_types/00_situation_group_types.txt b/common/situation/situation_group_types/00_situation_group_types.txt index c3263067..ab3d8cea 100644 --- a/common/situation/situation_group_types/00_situation_group_types.txt +++ b/common/situation/situation_group_types/00_situation_group_types.txt @@ -26,6 +26,10 @@ natural_disasters = { sort_order = 9 } +story_cycles = { + sort_order = 5 +} + debug = { # referred to in code (DO NOT REMOVE) sort_order = -1 } diff --git a/common/situation/situations/the_great_steppe.txt b/common/situation/situations/the_great_steppe.txt index e01bef04..e93f8185 100644 --- a/common/situation/situations/the_great_steppe.txt +++ b/common/situation/situations/the_great_steppe.txt @@ -59,7 +59,7 @@ if = { limit = { is_ai = no - NOT = { has_variable = mpo_the_great_steppe_events_0001_var } + NOT = { has_character_flag = mpo_the_great_steppe_events_0001_var } } trigger_event = mpo_the_great_steppe.0001 } @@ -82,7 +82,7 @@ if = { limit = { is_ai = no - NOT = { has_variable = mpo_the_great_steppe_events_0001_var } + NOT = { has_character_flag = mpo_the_great_steppe_events_0001_var } } trigger_event = mpo_the_great_steppe.0001 } diff --git a/common/subject_contracts/contracts/_subject_contracts.info b/common/subject_contracts/contracts/_subject_contracts.info index cc24b2b8..bc0e5436 100644 --- a/common/subject_contracts/contracts/_subject_contracts.info +++ b/common/subject_contracts/contracts/_subject_contracts.info @@ -28,7 +28,7 @@ subject_contract = { # Scopes available: # scope:liege the liege or suzerain in the contract # scope:subject the subject in the contract - # scope:vassal the subject in the contract. Same as scope:subject. Kept in for backwards compatability. + # scope:vassal the subject in the contract. Same as scope:subject. Kept in for backwards compatibility. # scope:opinion_of_liege set if uses_opinion_of_liege = yes # scope:tax_slot the slot they are in/are being considered to be placed in # scope:tax_collector the collector for the above/the potential new collector diff --git a/common/subject_contracts/contracts/administrative.txt b/common/subject_contracts/contracts/administrative.txt index 911a1f09..b7d504c5 100644 --- a/common/subject_contracts/contracts/administrative.txt +++ b/common/subject_contracts/contracts/administrative.txt @@ -251,7 +251,7 @@ administrative_themes = { is_valid = { scope:liege = { - highest_held_title_tier = tier_empire + highest_held_title_tier >= tier_empire } custom_tooltip = { text = admin_theme_imperial_valid_desc @@ -406,7 +406,10 @@ administrative_salary_rank = { parent = administrative_salary_rank_none is_valid = { scope:subject = { - highest_held_title_tier = tier_duchy + any_held_title = { + is_noble_family_title = no + tier = tier_duchy + } } } diff --git a/common/subject_contracts/contracts/celestial.txt b/common/subject_contracts/contracts/celestial.txt deleted file mode 100644 index 37cc60d5..00000000 --- a/common/subject_contracts/contracts/celestial.txt +++ /dev/null @@ -1,1457 +0,0 @@ -celestial_obligations = { - obligation_levels = { - default = { - levies = { - value = 0.3 - } - - tax = { - value = 0.75 - } - } - } -} - -### brief: administrative_themes -# This is referenced in code. -# -celestial_provinces = { - display_mode = radiobutton - is_shown = { - scope:subject = { - OR = { - highest_held_title_tier >= main_administrative_tier - highest_held_title_tier >= min_title_maa_tier - } - is_landless_ruler = no - } - } - obligation_levels = { - celestial_province_standard = { - default = yes - position = { 0 0 } - icon = "gfx/interface/icons/celestial_administration_types/icon_standard_administration.dds" - gui_tags = { civilian } - - ai_liege_desire = { - value = 0 - if = { - limit = { - scope:subject = { - is_ai = yes - } - } - add = 1 - - # Cautious AI should tend to have a minor bias towards the default - if = { - limit = { - scope:liege = { - ai_has_cautious_personality = yes - } - } - add = 1 - } - } - } - ai_subject_desire = 0 - - score = 0 - color = { 0.7 0.7 0.7 1.0 } - - enable_title_maa = no - - subject_modifier = { - monthly_merit_per_liege_tax = 0.8 - } - - flag = celestial_civil_appointment - flag = celestial_province_standard - appointment_trait_flag = civilian_province - } - celestial_province_industrial = { - position = { 1 0 } - icon = "gfx/interface/icons/celestial_administration_types/icon_industrial_administration.dds" - gui_tags = { civilian } - - ai_liege_desire = { - value = 0 - if = { - limit = { - scope:subject = { - is_ai = yes - OR = { - has_trait = education_stewardship - stewardship >= very_high_skill_rating - } - # Avoid replacing any military types if they have title troops already - primary_title = { any_owned_title_maa_regiment = { count < 1 } } - } - } - add = 3 - - # Economical AI wants more of civic vassals - if = { - limit = { - scope:liege = { - ai_has_builder_or_pious_builder_personality = yes - } - } - add = 2 - } - } - } - ai_subject_desire = 0 - - score = 0 - color = { 0.2 0.2 0.7 1.0 } - - is_shown = { - } - - is_valid = { - # Only for direct vassals of the top liege or sub-vassals of a civilian province - custom_tooltip = { - text = liege_is_not_civilian_desc - scope:liege = { - trigger_if = { - limit = { - this != top_liege - } - vassal_contract_has_flag = celestial_civil_appointment - } - } - } - - # Vassal has to be landed - scope:subject = { - is_landed = yes - } - # There can only be a limited number of industries at a time - custom_tooltip = { - text = celestial_province_industrial_amount_desc - OR = { - scope:liege = { - any_vassal = { - count < celestial_province_industrial_max_value - vassal_contract_has_flag = celestial_province_industrial - } - } - scope:subject = { vassal_contract_has_flag = celestial_province_industrial } - } - } - } - - enable_title_maa = no - - subject_modifier = { - development_growth_factor = 0.05 - build_gold_cost = -0.1 - build_speed = -0.2 - monthly_merit_per_liege_tax = 1.2 - } - - flag = celestial_civil_appointment - flag = admin_ai_is_builder - flag = celestial_province_industrial - flag = obligation_high_taxes - appointment_trait_flag = civilian_province - } - celestial_province_metropolitan = { - position = { 2 0 } - icon = "gfx/interface/icons/celestial_administration_types/icon_metropolitan_administration.dds" - gui_tags = { civilian } - - ai_liege_desire = { - value = 0 - if = { - limit = { - scope:subject = { - is_ai = yes - } - } - # The AI should always want to fill the limit - add = 8 - - # Avoid border provinces if possible - if = { - limit = { - scope:subject = { - any_sub_realm_county = { - any_neighboring_county = { - holder = { - top_liege != scope:subject.top_liege - } - } - } - } - } - add = -5 - } - - # Even more so if they are close to the capital - if = { - limit = { - scope:subject = { - realm_to_title_distance_squared = { target = scope:liege.capital_county value < 60000 } - } - } - add = 3 - } - - # Don't swap away from this too easily - if = { - limit = { - scope:subject = { - vassal_contract_has_flag = celestial_province_metropolitan - } - } - add = 4 - } - - # Economical AI wants more of civic vassals - if = { - limit = { - scope:liege = { - ai_has_builder_or_pious_builder_personality = yes - } - } - add = 2 - } - - # If above the limit, try to replace some obligations until that isn't a problem - if = { - limit = { - scope:liege = { - any_vassal = { - count > celestial_province_metropolitan_max_value - vassal_contract_has_flag = celestial_province_metropolitan - } - } - } - multiply = 0 - } - } - } - ai_subject_desire = 0 - - score = 0 - color = { 0.7 0.2 0.2 1.0 } - - is_shown = { - } - - is_valid = { - # Only available in the Advancement phase of the Dynastic Cycle - trigger_if = { - limit = { - exists = situation:dynastic_cycle - } - situation:dynastic_cycle = { has_situation_top_phase_parameter = dynastic_cycle_hegemon_increased_metropolitan_limit } - } - #situation:dynastic_cycle ?= { situation_current_phase = situation_dynastic_cycle_phase_stability_advancement } - # Only the hegemon can appoint these - scope:liege = { - highest_held_title_tier = tier_hegemony - } - # And only for high tier vassals who are de jure - scope:subject = { - is_landed = yes - highest_held_title_tier >= tier_kingdom - custom_tooltip = { - text = celestial_province_de_jure_desc - primary_title = { target_is_de_jure_liege_or_above = scope:liege.primary_title } - } - } - # There can only be a limited number of metropols at a time - Changes with the Dynastic Cycle - custom_tooltip = { - text = celestial_province_metropolitan_amount_desc - OR = { - scope:liege = { - any_vassal = { - count < celestial_province_metropolitan_max_value - vassal_contract_has_flag = celestial_province_metropolitan - } - } - scope:subject = { vassal_contract_has_flag = celestial_province_metropolitan } - } - } - } - - tax_factor = 0.05 - enable_title_maa = no - - subject_modifier = { - domain_tax_mult = 0.05 - development_growth_factor = 0.05 - monthly_county_control_growth_factor = -0.1 - monthly_merit_per_liege_tax = 2.4 - } - - flag = celestial_civil_appointment - flag = celestial_province_metropolitan - flag = obligation_high_levies - appointment_trait_flag = civilian_province - } - celestial_province_military = { - position = { 0 1 } - icon = "gfx/interface/icons/celestial_administration_types/icon_military_administration.dds" - gui_tags = { military } - - ai_liege_desire = { - value = 0 - if = { - limit = { - scope:subject = { - is_ai = yes - OR = { - primary_title = { any_owned_title_maa_regiment = { count >= 3 } } - any_sub_realm_county = { # Is a border province - any_neighboring_county = { - holder = { - top_liege != scope:subject.top_liege - } - } - } - } - } - } - add = 5 - - # Preference for vassals along the border - if = { - limit = { - scope:subject = { - any_sub_realm_county = { - any_neighboring_county = { - holder = { - top_liege != scope:subject.top_liege - } - } - } - } - } - add = 6 - } - - # Warlike AI wants more military vassals - if = { - limit = { - scope:liege = { - ai_has_warlike_personality = yes - } - } - add = 2 - } - - # Don't make lone duchies/counties at the border military - if = { - limit = { - scope:liege.highest_held_title_tier = tier_hegemony - scope:subject.highest_held_title_tier <= tier_duchy - } - multiply = 0 - } - if = { - limit = { - scope:liege.highest_held_title_tier = tier_empire - scope:subject.highest_held_title_tier <= tier_county - } - multiply = 0 - } - } - - # Prefer to make military sub-vassals, as a military/protectorate - if = { - limit = { - scope:liege = { - vassal_contract_has_flag = celestial_military_appointment - } - } - add = 4 - } - } - ai_subject_desire = 0 - - score = 0 - color = { 0.7 0.2 0.2 1.0 } - - is_shown = { - } - - is_valid = { - # Vassal has to be landed and direct vassal of the top liege, or a vassal of another military governor - custom_tooltip = { - text = liege_is_not_military_desc - scope:liege = { - trigger_if = { - limit = { - this != top_liege - } - vassal_contract_has_flag = celestial_military_appointment - } - } - } - trigger_if = { - limit = { - scope:subject = { - liege = top_liege - } - } - # There can only be a limited number of militaries at a time - custom_tooltip = { - text = celestial_province_military_amount_desc - OR = { - scope:subject.liege = { - any_vassal = { - count < celestial_province_military_max_value - vassal_contract_has_flag = celestial_province_military - - # We don't care about vassals two steps down in tier (for AI) - trigger_if = { - limit = { - liege = { - is_ai = yes - highest_held_title_tier = tier_hegemony - } - } - highest_held_title_tier >= tier_kingdom - } - trigger_if = { - limit = { - liege = { - is_ai = yes - highest_held_title_tier = tier_empire - } - } - highest_held_title_tier >= tier_duchy - } - } - } - scope:subject = { vassal_contract_has_flag = celestial_province_military } - } - } - } - } - - levies_factor = 0.5 - - subject_modifier = { - development_growth_factor = -0.2 - monthly_county_control_growth_factor = 0.1 - additional_fort_level = 2 - defender_advantage = 4 - monthly_merit_per_title_maa_value = 0.024 - domain_tax_mult = -0.3 - - monthly_treasury_from_military_budget_base = 1.0 - } - - flag = celestial_province_military - flag = celestial_military_appointment - flag = obligation_high_levies - appointment_trait_flag = military_province - } - celestial_province_protectorate = { - position = { 1 1 } - icon = "gfx/interface/icons/celestial_administration_types/icon_protectorate_administration.dds" - gui_tags = { military } - - ai_liege_desire = { - value = 0 - if = { - limit = { - scope:subject = { - is_ai = yes - } - } - # The AI should always want to fill the limit - add = 5 - - # Increase desirability if the vassal is neighboring another realm - if = { - limit = { - scope:subject = { - any_sub_realm_county = { - any_neighboring_county = { - holder = { - top_liege != scope:subject.top_liege - } - } - } - } - } - add = 4 - } - - # Don't swap away from this too easily - if = { - limit = { - scope:subject = { - vassal_contract_has_flag = celestial_province_protectorate - } - } - add = 2 - } - - # Warlike AI wants more military vassals - if = { - limit = { - scope:liege = { - ai_has_warlike_personality = yes - } - } - add = 1 - } - - # If above the limit, try to replace some obligations until that isn't a problem - if = { - limit = { - scope:liege = { - any_vassal = { - count > celestial_province_protectorate_max_value - vassal_contract_has_flag = celestial_province_protectorate - } - } - } - multiply = 0 - } - - # Don't make lone duchies/counties at the border military - if = { - limit = { - liege.highest_held_title_tier = tier_hegemony - scope:subject.highest_held_title_tier <= tier_duchy - } - multiply = 0 - } - if = { - limit = { - liege.highest_held_title_tier = tier_empire - scope:subject.highest_held_title_tier <= tier_county - } - multiply = 0 - } - } - } - ai_subject_desire = 0 - - score = 0 - color = { 0.7 0.2 0.2 1.0 } - - is_shown = { - } - - is_valid = { - # Only available in the Expansion phase of the Dynastic Cycle - #situation:dynastic_cycle ?= { has_situation_top_phase_parameter = dynastic_cycle_hegemon_increased_protectorate_limit } - trigger_if = { - limit = { - exists = situation:dynastic_cycle - } - situation:dynastic_cycle = { has_situation_top_phase_parameter = dynastic_cycle_hegemon_increased_protectorate_limit } - } - # Only the hegemon can appoint these - scope:liege = { - highest_held_title_tier = tier_hegemony - } - # And only for high tier vassals - scope:subject = { - is_landed = yes - highest_held_title_tier >= tier_kingdom - } - # There can only be a limited number of protectorates at a time - Changes with the Dynastic Cycle - custom_tooltip = { - text = celestial_province_protectorate_amount_desc - OR = { - scope:liege = { - any_vassal = { - count < celestial_province_protectorate_max_value - vassal_contract_has_flag = celestial_province_protectorate - } - } - scope:subject = { vassal_contract_has_flag = celestial_province_protectorate } - } - } - } - - levies_factor = -1 - - subject_modifier = { - development_growth_factor = -0.3 - maa_damage_mult = 0.1 - men_at_arms_title_cap = 1 - men_at_arms_title_limit = 1 - levy_reinforcement_rate = 0.2 - monthly_merit_per_title_maa_value = 0.032 - domain_tax_mult = -0.2 - - monthly_treasury_from_military_budget_base = 1.5 - } - - flag = admin_ai_is_warlike - flag = celestial_province_protectorate - flag = celestial_military_appointment - flag = obligation_high_levies - appointment_trait_flag = military_province - } - } -} - -celestial_ministry_obligations = { - display_mode = tree - defaults_to_highest_valid_level = yes - is_shown = { - scope:subject = { - OR = { - has_title = title:e_minister_chancellor - has_title = title:e_minister_censor - has_title = title:e_minister_grand_marshal - has_title = title:e_minister_of_personnel - has_title = title:e_minister_of_revenue - has_title = title:e_minister_of_rites - has_title = title:e_minister_of_war - has_title = title:e_minister_of_justice - has_title = title:e_minister_of_works - } - } - } - can_be_changed = { - scope:subject = { - trigger_if = { - limit = { - has_title = title:e_minister_grand_marshal - } - NOT = { vassal_contract_has_flag = celestial_grand_marshal_obligation } - } - trigger_else = { - always = no - } - } - } - obligation_levels = { - celestial_minister_none = { - position = { 0 0 } - icon = "gfx/interface/icons/celestial_administration_types/icon_standard_administration.dds" - gui_tags = { civilian } - default = yes - - ai_liege_desire = { - value = 1 - } - ai_subject_desire = 0 - - score = 1 - color = { 0.7 0.7 0.7 1.0 } - - subject_modifier = { - } - - flag = celestial_minister_obligation - } - celestial_minister_civil = { - position = { 1 0 } - icon = "gfx/interface/icons/celestial_administration_types/icon_standard_administration.dds" - gui_tags = { civilian } - parent = celestial_minister_none - - ai_liege_desire = { - value = 2 - } - ai_subject_desire = 0 - - is_valid = { - scope:subject = { - tgp_is_any_minister = yes - NOT = { has_title = title:e_minister_grand_marshal } - } - } - - score = 2 - color = { 0.7 0.7 0.7 1.0 } - - enable_title_maa = no - - subject_modifier = { - monthly_merit = 20 - monthly_treasury_from_ministry_budget_base = 1 - } - - flag = celestial_minister_obligation - appointment_trait_flag = civilian_province - } - celestial_minister_military = { - position = { 2 0 } - icon = "gfx/interface/icons/celestial_administration_types/icon_military_administration.dds" - gui_tags = { military } - parent = celestial_minister_none - - ai_liege_desire = { - value = 3 - } - ai_subject_desire = 0 - - is_valid = { - scope:subject = { - has_title = title:e_minister_grand_marshal - } - } - - score = 3 - color = { 0.7 0.7 0.7 1.0 } - - enable_title_maa = yes - - subject_modifier = { - monthly_merit = 20 - men_at_arms_recruitment_cost = -0.5 - men_at_arms_maintenance = -0.5 - monthly_treasury_from_military_budget_base = 2.5 - monthly_treasury_from_ministry_budget_base = 1 - } - - flag = celestial_minister_obligation - flag = celestial_grand_marshal_obligation - appointment_trait_flag = military_province - } - } -} - -celestial_treasury = { - display_mode = tree - is_shown = { - scope:subject.primary_title = { - tier >= tier_duchy - NOT = { - has_title_law = celestial_ministry_appointment_succession_law - } - } - } - obligation_levels = { - celestial_treasury_very_low = { - position = { 0 0 } - - subject_modifier = { - monthly_treasury_from_liege_mult = -0.10 - } - - ai_liege_desire = 5 - ai_subject_desire = 1 - - subject_opinion = -25 - - score = -2 - } - celestial_treasury_low = { - parent = celestial_treasury_very_low - position = { 1 0 } - - subject_modifier = { - monthly_treasury_from_liege_mult = -0.05 - } - - ai_liege_desire = 4 - ai_subject_desire = 2 - - subject_opinion = -15 - - score = -1 - } - celestial_treasury_medium = { - parent = celestial_treasury_low - default = yes - position = { 2 0 } - - ai_liege_desire = 3 - ai_subject_desire = 3 - - score = 0 - } - celestial_treasury_high = { - parent = celestial_treasury_medium - position = { 3 0 } - - subject_modifier = { - monthly_treasury_from_liege_mult = 0.05 - } - - ai_liege_desire = 2 - ai_subject_desire = 4 - - subject_opinion = 5 - - score = 1 - } - celestial_treasury_very_high = { - parent = celestial_treasury_high - position = { 4 0 } - - subject_modifier = { - monthly_treasury_from_liege_mult = 0.10 - } - - ai_liege_desire = 1 - ai_subject_desire = 5 - - subject_opinion = 15 - - score = 2 - } - } -} - -celestial_ministry_budget = { - display_mode = tree - - is_shown = { - scope:subject.primary_title = { - has_title_law = celestial_ministry_appointment_succession_law - } - } - - obligation_levels = { - celestial_ministry_budget_low = { - position = { 0 0 } - - is_valid = { - scope:subject.primary_title = { - has_title_law = celestial_ministry_appointment_succession_law - } - } - - subject_modifier = { - monthly_treasury_from_ministry_budget_base = -0.5 - } - - ai_liege_desire = 0 - ai_subject_desire = 0 - - subject_opinion = -15 - - score = -1 - - } - celestial_ministry_budget_medium = { - parent = celestial_ministry_budget_low - position = { 1 0 } - - default = yes - - ai_liege_desire = 0 - ai_subject_desire = 0 - - subject_modifier = { - - } - - score = 0 - } - celestial_ministry_budget_high = { - parent = celestial_ministry_budget_medium - position = { 2 0 } - - is_valid = { - scope:subject.primary_title = { - has_title_law = celestial_ministry_appointment_succession_law - } - } - - subject_modifier = { - monthly_treasury_from_ministry_budget_base = 0.5 - } - - ai_liege_desire = 0 - ai_subject_desire = 0 - - subject_opinion = 0 - - score = 1 - } - } -} - -celestial_salary = { - display_mode = tree - is_shown = { - scope:subject.primary_title.tier >= tier_duchy - } - obligation_levels = { - celestial_salary_very_low = { - position = { 0 0 } - - subject_modifier = { - monthly_treasury_from_salary_budget_mult = -0.5 - } - - ai_liege_desire = 5 - ai_subject_desire = 1 - - subject_opinion = -25 - - score = -2 - } - celestial_salary_low = { - parent = celestial_salary_very_low - position = { 1 0 } - - subject_modifier = { - monthly_treasury_from_salary_budget_mult = -0.25 - } - - ai_liege_desire = 4 - ai_subject_desire = 2 - - subject_opinion = -15 - - score = -1 - } - celestial_salary_medium = { - parent = celestial_salary_low - default = yes - position = { 2 0 } - - subject_modifier = { - } - - ai_liege_desire = 3 - ai_subject_desire = 3 - - score = 0 - } - celestial_salary_high = { - parent = celestial_salary_medium - position = { 3 0 } - - subject_modifier = { - monthly_treasury_from_salary_budget_mult = 0.25 - } - - ai_liege_desire = 2 - ai_subject_desire = 4 - - subject_opinion = 5 - - score = 1 - } - celestial_salary_very_high = { - parent = celestial_salary_high - position = { 4 0 } - - subject_modifier = { - monthly_treasury_from_salary_budget_mult = 0.5 - } - - ai_liege_desire = 1 - ai_subject_desire = 5 - - subject_opinion = 10 - - score = 2 - } - } -} - -celestial_salary_rank = { - display_mode = hidden - - defaults_to_highest_valid_level = yes - - can_be_changed = { - always = no - } - - obligation_levels = { - celestial_salary_rank_none = { - position = { 0 0 } - default = yes - - ai_liege_desire = 0 - ai_subject_desire = 0 - } - - celestial_salary_rank_county = { - position = { 1 0 } - - parent = celestial_salary_rank_none - is_valid = { - scope:subject = { - highest_held_title_tier = tier_county - primary_title = { - is_noble_family_title = no - } - } - } - - ai_liege_desire = 2 - ai_subject_desire = 2 - - subject_modifier = { - monthly_treasury_from_salary_budget_base = 0.3 - - monthly_treasury_from_military_budget_base = -0.6 # (only relevant if Military Gov) - men_at_arms_title_cap = -1 - } - } - - celestial_salary_rank_duchy = { - position = { 2 0 } - - parent = celestial_salary_rank_county - is_valid = { - scope:subject = { - highest_held_title_tier = tier_duchy - } - } - - ai_liege_desire = 3 - ai_subject_desire = 3 - - subject_modifier = { - monthly_treasury_from_salary_budget_base = 0.75 - - monthly_treasury_from_military_budget_base = -0.3 # (only relevant if Military Gov) - men_at_arms_title_cap = -1 - } - } - celestial_salary_rank_kingdom = { - position = { 3 0 } - - parent = celestial_salary_rank_duchy - is_valid = { - scope:subject = { - highest_held_title_tier = tier_kingdom - } - } - - ai_liege_desire = 4 - ai_subject_desire = 4 - - subject_modifier = { - monthly_treasury_from_salary_budget_base = 1.0 - } - } - celestial_salary_rank_empire = { - position = { 4 0 } - - parent = celestial_salary_rank_kingdom - - ai_liege_desire = 5 - ai_subject_desire = 5 - - is_valid = { - scope:subject = { - highest_held_title_tier = tier_empire - is_landless_ruler = no - } - } - subject_modifier = { - monthly_treasury_from_salary_budget_base = 2.0 - } - } - celestial_salary_rank_minister = { - position = { 0 2 } - - parent = celestial_salary_rank_kingdom - - ai_liege_desire = 6 - ai_subject_desire = 6 - - is_valid = { - scope:subject = { - highest_held_title_tier = tier_empire - is_landless_ruler = yes - } - } - subject_modifier = { - monthly_treasury_from_salary_budget_base = 3 - } - } - } -} - -celestial_tribute_gold = { - display_mode = tree - icon = gold_icon - obligation_levels = { - celestial_tributary_tax_none = { - position = { 0 0 } - - tax = 0 - subject_opinion = 5 - - subject_modifier = { - monthly_legitimacy_add = 0.1 - } - - ai_liege_desire = 1 - ai_subject_desire = 4 - score = 2 - } - celestial_tributary_tax_low = { - default = yes - parent = celestial_tributary_tax_none - position = { 1 0 } - - tax = low_celestial_tributary_tax - subject_opinion = -5 - - subject_modifier = { - monthly_legitimacy_add = 0.2 - } - - ai_liege_desire = 2 - ai_subject_desire = 3 - score = 1 - } - celestial_tributary_tax_normal = { - parent = celestial_tributary_tax_low - position = { 2 0 } - - tax = normal_celestial_tributary_tax - subject_opinion = -10 - - subject_modifier = { - monthly_legitimacy_add = 0.3 - } - - ai_liege_desire = 3 - ai_subject_desire = 2 - score = 0 - } - celestial_tributary_tax_high = { - parent = celestial_tributary_tax_normal - position = { 3 0 } - - tax = high_celestial_tributary_tax - subject_opinion = -25 - - subject_modifier = { - monthly_legitimacy_add = 0.5 - } - - ai_liege_desire = 4 - ai_subject_desire = 1 - score = -1 - } - } -} - -celestial_tribute_prestige = { - display_mode = tree - icon = prestige_icon - obligation_levels = { - celestial_prestige_transfer_none = { - position = { 0 1 } - - prestige = 0 - subject_opinion = 5 - - subject_modifier = { - monthly_legitimacy_add = 0.1 - } - - ai_liege_desire = 1 - ai_subject_desire = 4 - score = 2 - } - celestial_prestige_transfer_low = { - default = yes - parent = celestial_prestige_transfer_none - position = { 1 1 } - - prestige = low_celestial_prestige_transfer - subject_opinion = -5 - - subject_modifier = { - monthly_legitimacy_add = 0.2 - } - - ai_liege_desire = 2 - ai_subject_desire = 3 - score = 1 - } - celestial_prestige_transfer_normal = { - default = yes - parent = celestial_prestige_transfer_low - position = { 2 1 } - - prestige = normal_celestial_prestige_transfer - subject_opinion = -10 - - subject_modifier = { - monthly_legitimacy_add = 0.3 - } - - ai_liege_desire = 3 - ai_subject_desire = 2 - score = 0 - } - celestial_prestige_transfer_high = { - parent = celestial_prestige_transfer_normal - position = { 3 1 } - - prestige = high_celestial_prestige_transfer - subject_opinion = -25 - - subject_modifier = { - monthly_legitimacy_add = 0.5 - } - - ai_liege_desire = 4 - ai_subject_desire = 1 - score = -1 - } - } -} - -celestial_tributary_investiture_privilege_trade = { - display_mode = checkbox - is_shown = { - scope:liege = { has_title = title:h_china } - } - obligation_levels = { - investiture_trade_no = { - default = yes - position = { 0 1 } - ai_liege_desire = 0 - ai_subject_desire = 0 - score = 0 - } - investiture_trade_yes = { - default = no - parent = investiture_trade_no - position = { 0 1 } - is_valid = { - custom_tooltip = { - text = "NO_SEAL_OF_INVESTITURE" - scope:subject = { - any_character_artifact = { - OR = { - artifact_type = seal_of_investiture - artifact_type = seal_of_investiture_court - } - } - } - } - } - ai_liege_desire = 0 - ai_subject_desire = 0 - score = 0 - - flag = celestial_investiture_trade - } - } -} - -celestial_tributary_investiture_privilege_marriage = { - display_mode = checkbox - is_shown = { - scope:liege = { has_title = title:h_china } - } - obligation_levels = { - investiture_marriage_no = { - default = yes - position = { 0 1 } - ai_liege_desire = 0 - ai_subject_desire = 0 - score = 0 - } - investiture_marriage_yes = { - default = no - parent = investiture_marriage_no - position = { 0 1 } - is_valid = { - custom_tooltip = { - text = "NO_SEAL_OF_INVESTITURE" - scope:subject = { - any_character_artifact = { - OR = { - artifact_type = seal_of_investiture - artifact_type = seal_of_investiture_court - } - } - } - } - } - ai_liege_desire = 0 - ai_subject_desire = 0 - score = 0 - - flag = celestial_investiture_marriage - } - } -} - -celestial_tributary_investiture_privilege_politics = { - display_mode = checkbox - is_shown = { - scope:liege = { has_title = title:h_china } - } - obligation_levels = { - investiture_politics_no = { - default = yes - position = { 0 1 } - ai_liege_desire = 0 - ai_subject_desire = 0 - score = 0 - } - investiture_politics_yes = { - default = no - parent = investiture_politics_no - position = { 0 1 } - is_valid = { - custom_tooltip = { - text = "NO_SEAL_OF_INVESTITURE" - scope:subject = { - any_character_artifact = { - OR = { - artifact_type = seal_of_investiture - artifact_type = seal_of_investiture_court - } - } - } - } - } - ai_liege_desire = 0 - ai_subject_desire = 0 - score = 0 - - flag = celestial_investiture_politics - } - } -} - -hegemonic_tribute_gold = { - display_mode = tree - icon = gold_icon - obligation_levels = { - hegemonic_tributary_tax_none = { - position = { 0 0 } - - tax = 0 - subject_opinion = 5 - - subject_modifier = { - monthly_legitimacy_add = 0.1 - } - - ai_liege_desire = 1 - ai_subject_desire = 4 - score = -2 - } - hegemonic_tributary_tax_low = { - default = yes - parent = hegemonic_tributary_tax_none - position = { 1 0 } - - tax = low_hegemonic_tributary_tax - subject_opinion = -5 - - subject_modifier = { - monthly_legitimacy_add = 0.2 - } - - ai_liege_desire = 2 - ai_subject_desire = 3 - score = 1 - } - hegemonic_tributary_tax_normal = { - parent = hegemonic_tributary_tax_low - position = { 2 0 } - - tax = normal_hegemonic_tributary_tax - subject_opinion = -10 - - subject_modifier = { - monthly_legitimacy_add = 0.3 - } - - ai_liege_desire = 3 - ai_subject_desire = 2 - score = 0 - } - hegemonic_tributary_tax_high = { - parent = hegemonic_tributary_tax_normal - position = { 3 0 } - - tax = high_hegemonic_tributary_tax - subject_opinion = -25 - - subject_modifier = { - monthly_legitimacy_add = 0.5 - } - - ai_liege_desire = 4 - ai_subject_desire = 1 - score = -1 - } - } -} - -hegemonic_tribute_prestige = { - display_mode = tree - icon = prestige_icon - obligation_levels = { - hegemonic_prestige_transfer_none = { - position = { 0 1 } - - prestige = 0 - subject_opinion = 5 - - subject_modifier = { - monthly_legitimacy_add = 0.1 - } - - ai_liege_desire = 1 - ai_subject_desire = 4 - score = 2 - } - hegemonic_prestige_transfer_low = { - default = yes - parent = hegemonic_prestige_transfer_none - position = { 1 1 } - - prestige = low_hegemonic_prestige_transfer - subject_opinion = -5 - - subject_modifier = { - monthly_legitimacy_add = 0.2 - } - - ai_liege_desire = 2 - ai_subject_desire = 3 - score = 1 - } - hegemonic_prestige_transfer_normal = { - default = yes - parent = hegemonic_prestige_transfer_low - position = { 2 1 } - - prestige = normal_hegemonic_prestige_transfer - subject_opinion = -10 - - subject_modifier = { - monthly_legitimacy_add = 0.3 - } - - ai_liege_desire = 3 - ai_subject_desire = 2 - score = 0 - } - hegemonic_prestige_transfer_high = { - parent = hegemonic_prestige_transfer_normal - position = { 3 1 } - - prestige = high_hegemonic_prestige_transfer - subject_opinion = -25 - - subject_modifier = { - monthly_legitimacy_add = 0.5 - } - - ai_liege_desire = 4 - ai_subject_desire = 1 - score = -1 - } - } -} diff --git a/common/subject_contracts/contracts/meritocratic.txt b/common/subject_contracts/contracts/meritocratic.txt index 7579babd..e904c00b 100644 --- a/common/subject_contracts/contracts/meritocratic.txt +++ b/common/subject_contracts/contracts/meritocratic.txt @@ -61,6 +61,7 @@ meritocratic_provinces = { flag = meritocratic_province_standard flag = meritocratic_civil_appointment + appointment_trait_flag = civilian_province } meritocratic_province_industrial = { position = { 1 0 } @@ -141,6 +142,7 @@ meritocratic_provinces = { flag = meritocratic_province_industrial flag = meritocratic_civil_appointment flag = obligation_high_taxes + appointment_trait_flag = civilian_province } meritocratic_province_military = { position = { 0 1 } @@ -245,6 +247,7 @@ meritocratic_provinces = { flag = meritocratic_province_military flag = meritocratic_military_appointment flag = obligation_high_levies + appointment_trait_flag = military_province } } } diff --git a/common/task_contracts/laamp_base_contracts.txt b/common/task_contracts/laamp_base_contracts.txt index 77aa30b1..533e7da7 100644 --- a/common/task_contracts/laamp_base_contracts.txt +++ b/common/task_contracts/laamp_base_contracts.txt @@ -2091,8 +2091,10 @@ laamp_base_5051 = { } } } - task_contract_employer = { is_landed = yes } - NOT = { scope:employer = { government_has_flag = government_is_herder } } + task_contract_employer = { + is_landed = yes + NOT = { government_has_flag = government_is_herder } + } } valid_to_keep = { # Standard triggers. @@ -2100,8 +2102,10 @@ laamp_base_5051 = { EMPLOYER = root.task_contract_employer LAAMP = root.task_contract_taker } - task_contract_employer = { is_landed = yes } - NOT = { scope:employer = { government_has_flag = government_is_herder } } + task_contract_employer = { + is_landed = yes + NOT = { government_has_flag = government_is_herder } + } } # On_actions diff --git a/common/task_contracts/laamp_extra_contracts.txt b/common/task_contracts/laamp_extra_contracts.txt index 0244931a..3e3e3998 100644 --- a/common/task_contracts/laamp_extra_contracts.txt +++ b/common/task_contracts/laamp_extra_contracts.txt @@ -3438,6 +3438,11 @@ laamp_legitimist_support_contract = { } } scope:employer.primary_title.tier >= tier_kingdom + any_claim = { + exists = holder + tier >= tier_kingdom + holder != scope:employer + } } valid_to_continue = { diff --git a/common/task_contracts/laamp_transport_contracts.txt b/common/task_contracts/laamp_transport_contracts.txt index b2dcf096..29ccb487 100644 --- a/common/task_contracts/laamp_transport_contracts.txt +++ b/common/task_contracts/laamp_transport_contracts.txt @@ -17,7 +17,7 @@ ################################################## # -# laamp_transport_vip - Escort Emissary - Escort a charachter's Courtier to another character +# laamp_transport_vip - Escort Emissary - Escort a character's Courtier to another character # laamp_transport_artifact - Artifact Delivery - Transfer an artifact from one character to another # laamp_transport_gold - A Golden Gift - Transfer gold from one character to another # laamp_transport_ward - Ward Transfer - Escorting a Ward to a Guardian @@ -51,7 +51,7 @@ laamp_transport_vip = { scope:employer = { any_courtier = { is_ai = yes - is_available_allow_travelling = yes + is_available = yes is_adult = yes is_lowborn = no } @@ -66,6 +66,7 @@ laamp_transport_vip = { exists = root.var:task_contract_object var:task_contract_object = { is_courtier_of = root.task_contract_employer + is_available = yes } } valid_to_accept = { @@ -104,7 +105,7 @@ laamp_transport_vip = { random_courtier = { limit = { is_ai = yes - is_available_allow_travelling = yes + is_available = yes is_adult = yes is_lowborn = no } @@ -379,6 +380,7 @@ laamp_transport_artifact = { scope:employer = { any_character_artifact = { NOR = { + has_variable = artifact_succession_title has_variable = historical_unique_artifact has_variable = banner_house has_variable = banner_dynasty @@ -404,6 +406,7 @@ laamp_transport_artifact = { scope:employer = { any_character_artifact = { NOR = { + has_variable = artifact_succession_title has_variable = historical_unique_artifact has_variable = banner_house has_variable = banner_dynasty @@ -445,9 +448,8 @@ laamp_transport_artifact = { limit = { NOR = { has_variable = historical_unique_artifact - has_variable = banner_house - has_variable = banner_dynasty } + artifact_can_be_gift_advance_trigger = yes } save_scope_as = escorted_artifact } @@ -1023,7 +1025,7 @@ laamp_transport_ward = { scope:employer = { any_child = { is_ai = yes - is_available_child_allow_travel = yes + is_available_child = yes OR = { num_of_relation_guardian = 0 any_relation = { @@ -1062,7 +1064,9 @@ laamp_transport_ward = { } } valid_to_keep = { - exists = root.var:task_contract_object + root.var:task_contract_object ?= { + is_available_child = yes + } } valid_to_accept = { # Standard triggers. @@ -1100,7 +1104,7 @@ laamp_transport_ward = { } random_child = { limit = { - is_available_child_allow_travel = yes + is_available_child = yes OR = { num_of_relation_guardian = 0 any_relation = { diff --git a/common/task_contracts/tgp_natural_disaster_contracts.txt b/common/task_contracts/tgp_natural_disaster_contracts.txt index 93cf2c59..a7e3abfe 100644 --- a/common/task_contracts/tgp_natural_disaster_contracts.txt +++ b/common/task_contracts/tgp_natural_disaster_contracts.txt @@ -463,6 +463,8 @@ tgp_medieval_medicine = { #Treating the Unfortunate medical_assistance_failure = { visible = no effect = { + task_contract_taker = { play_sound_effect = "event:/DLC/EP3/SFX/UI/Contracts/ep3_ui_contracts_failure_on_contract" } + save_scope_as = task_contract task_contract_taker ?= { send_interface_toast = { title = tgp_natural_disaster_contract_event.0011.b.tt.failure diff --git a/common/traits/00_traits.txt b/common/traits/00_traits.txt index c88433cc..0f820c56 100644 --- a/common/traits/00_traits.txt +++ b/common/traits/00_traits.txt @@ -13,7 +13,7 @@ education_intrigue_1 = { intrigue = 2 category = education monthly_intrigue_lifestyle_xp_gain_mult = 0.1 - monthly_influence = 0.25 + domain_limit = -1 ruler_designer_cost = 0 @@ -44,7 +44,6 @@ education_intrigue_2 = { intrigue = 4 category = education monthly_intrigue_lifestyle_xp_gain_mult = 0.2 - monthly_influence = 0.5 ruler_designer_cost = 20 @@ -70,7 +69,7 @@ education_intrigue_3 = { intrigue = 6 category = education monthly_intrigue_lifestyle_xp_gain_mult = 0.3 - monthly_influence = 0.75 + domain_limit = 1 ruler_designer_cost = 40 @@ -96,7 +95,7 @@ education_intrigue_4 = { intrigue = 8 category = education monthly_intrigue_lifestyle_xp_gain_mult = 0.4 - monthly_influence = 1 + domain_limit = 2 ruler_designer_cost = 80 @@ -126,7 +125,7 @@ education_intrigue_5 = { monthly_diplomacy_lifestyle_xp_gain_mult = 0.25 owned_hostile_scheme_success_chance_max_add = 10 flag = agent_acceptance_25 - monthly_influence = 1.5 + domain_limit = 3 ruler_designer_cost = 150 @@ -155,7 +154,7 @@ education_diplomacy_1 = { diplomacy = 2 category = education monthly_diplomacy_lifestyle_xp_gain_mult = 0.1 - monthly_influence = 0.25 + domain_limit = -1 ruler_designer_cost = 0 @@ -186,7 +185,6 @@ education_diplomacy_2 = { diplomacy = 4 category = education monthly_diplomacy_lifestyle_xp_gain_mult = 0.2 - monthly_influence = 0.5 ruler_designer_cost = 20 @@ -212,7 +210,7 @@ education_diplomacy_3 = { diplomacy = 6 category = education monthly_diplomacy_lifestyle_xp_gain_mult = 0.3 - monthly_influence = 0.75 + domain_limit = 1 ruler_designer_cost = 40 @@ -238,7 +236,7 @@ education_diplomacy_4 = { diplomacy = 8 category = education monthly_diplomacy_lifestyle_xp_gain_mult = 0.4 - monthly_influence = 1 + domain_limit = 2 ruler_designer_cost = 80 @@ -278,7 +276,7 @@ education_diplomacy_5 = { owned_personal_scheme_success_chance_max_add = 10 flag = offer_vassalisation_25 flag = better_war_hostages - monthly_influence = 1.5 + domain_limit = 3 ruler_designer_cost = 150 @@ -316,6 +314,7 @@ education_stewardship_1 = { #Indulgent wastrel stewardship = 2 category = education monthly_stewardship_lifestyle_xp_gain_mult = 0.1 + domain_limit = -1 ruler_designer_cost = 0 @@ -371,6 +370,7 @@ education_stewardship_3 = { #Fortune builder stewardship = 6 category = education monthly_stewardship_lifestyle_xp_gain_mult = 0.3 + domain_limit = 1 ruler_designer_cost = 40 @@ -396,6 +396,7 @@ education_stewardship_4 = { stewardship = 8 category = education monthly_stewardship_lifestyle_xp_gain_mult = 0.4 + domain_limit = 2 culture_modifier = { parameter = elephant_bonuses_for_rank_4_education @@ -432,6 +433,7 @@ education_stewardship_5 = { monthly_stewardship_lifestyle_xp_gain_mult = 0.5 monthly_learning_lifestyle_xp_gain_mult = 0.25 vassal_tax_mult = 0.25 + domain_limit = 3 culture_modifier = { parameter = elephant_bonuses_for_rank_4_education @@ -468,6 +470,7 @@ education_martial_1 = { martial = 2 category = education monthly_martial_lifestyle_xp_gain_mult = 0.1 + domain_limit = -1 culture_modifier = { parameter = poorly_educated_leaders_distrusted @@ -548,6 +551,7 @@ education_martial_3 = { #Skilled tactician martial = 6 category = education monthly_martial_lifestyle_xp_gain_mult = 0.3 + domain_limit = 1 culture_modifier = { parameter = prowess_from_martial_education @@ -585,6 +589,7 @@ education_martial_4 = { #Brilliant strategist martial = 8 category = education monthly_martial_lifestyle_xp_gain_mult = 0.4 + domain_limit = 2 culture_modifier = { parameter = prowess_from_martial_education @@ -634,6 +639,7 @@ education_martial_5 = { monthly_stewardship_lifestyle_xp_gain_mult = 0.25 army_siege_value_mult = 0.5 movement_speed = 0.2 + domain_limit = 3 culture_modifier = { parameter = prowess_from_martial_education @@ -682,6 +688,7 @@ education_learning_1 = { learning = 2 category = education monthly_learning_lifestyle_xp_gain_mult = 0.1 + domain_limit = -1 culture_modifier = { parameter = poorly_educated_leaders_distrusted @@ -779,6 +786,7 @@ education_learning_3 = { learning = 6 category = education monthly_learning_lifestyle_xp_gain_mult = 0.3 + domain_limit = 1 culture_modifier = { parameter = prowess_from_religious_traits @@ -825,6 +833,7 @@ education_learning_4 = { learning = 8 category = education monthly_learning_lifestyle_xp_gain_mult = 0.4 + domain_limit = 2 culture_modifier = { parameter = prowess_from_religious_traits @@ -885,6 +894,7 @@ education_learning_5 = { monthly_intrigue_lifestyle_xp_gain_mult = 0.25 development_growth = 0.1 county_fertility_growth_mult = small_county_fertility_growth_gain + domain_limit = 3 culture_modifier = { parameter = prowess_from_religious_traits @@ -989,6 +999,7 @@ family_first = { dynasty_house_opinion = 10 close_relative_opinion = 15 stress_loss_mult = 0.2 + domain_limit = 1 ruler_designer_cost = 50 @@ -1085,7 +1096,6 @@ lifestyle_reveler = { parameter = reveler_traits_more_valued monthly_prestige = 0.25 } - monthly_influence = 0.25 track = { 50 = { @@ -1209,7 +1219,6 @@ lifestyle_blademaster = { parameter = blademaster_traits_give_learning learning = 2 } - monthly_influence = 0.25 track = { 50 = { @@ -1479,7 +1488,6 @@ strategist = { parameter = martial_traits_give_out_hcav_bonus heavy_cavalry_damage_mult = 0.1 } - monthly_influence = 0.25 ruler_designer_cost = 50 @@ -1551,7 +1559,6 @@ gallant = { parameter = martial_traits_give_out_hcav_bonus heavy_cavalry_toughness_mult = 0.1 } - monthly_influence = 0.25 ruler_designer_cost = 50 @@ -1617,7 +1624,6 @@ administrator = { vassal_opinion = 5 tributary_opinion = 5 epidemic_resistance = 10 - monthly_influence = 0.75 ruler_designer_cost = 50 @@ -1700,7 +1706,6 @@ schemer = { intrigue = 5 hostile_scheme_phase_duration_add = medium_scheme_phase_duration_bonus_value - monthly_influence = 1.25 ruler_designer_cost = 50 @@ -1733,7 +1738,6 @@ seducer = { intrigue = 3 attraction_opinion = 40 fertility = 0.2 - monthly_influence = 0.5 ruler_designer_cost = 50 @@ -1880,6 +1884,7 @@ theologian = { learning = 3 monthly_piety_gain_mult = 0.2 + domain_limit = 1 ruler_designer_cost = 50 @@ -2350,7 +2355,6 @@ gluttonous = { opposite_opinion = -10 ruler_designer_cost = 20 - monthly_influence = -0.25 desc = { @@ -2546,7 +2550,6 @@ lazy = { stress_loss_mult = 0.5 ruler_designer_cost = -10 - monthly_influence = -0.5 desc = { first_valid = { @@ -2590,7 +2593,6 @@ diligent = { parochial_opinion = 5 stress_loss_mult = -0.5 - monthly_influence = 0.5 culture_modifier = { parameter = hard_working_traits_more_valued @@ -2688,7 +2690,6 @@ wrathful = { courtly_opinion = -10 dread_baseline_add = 20 - monthly_influence = -0.75 culture_modifier = { parameter = forest_trait_bonuses @@ -2757,7 +2758,7 @@ calm = { } diplomacy = 1 intrigue = 1 - scheme_discovery_chance_mult = 0.1 + enemy_scheme_secrecy_add = -10 opposite_opinion = -10 same_opinion = 10 @@ -2840,7 +2841,6 @@ patient = { enemy_hostile_scheme_phase_duration_add = minor_scheme_phase_duration_malus_value parochial_opinion = 10 liege_opinion = 5 - monthly_influence = 0.25 culture_modifier = { parameter = winter_trait_bonuses @@ -2987,7 +2987,6 @@ arrogant = { opinion_of_liege = -5 opinion_of_vassal = -5 opposite_opinion = -15 - monthly_influence = -0.25 ruler_designer_cost = 20 @@ -3129,7 +3128,10 @@ deceitful = { jungle_advantage = 2 } - monthly_influence = 0.25 + culture_modifier = { + parameter = palace_politics_trait_bonuses + monthly_influence = 0.25 + } opposite_opinion = -10 @@ -3175,7 +3177,6 @@ honest = { diplomacy = 2 intrigue = -4 - monthly_influence = -0.25 courtly_opinion = 5 opposite_opinion = -10 same_opinion = 10 @@ -3298,7 +3299,6 @@ brave = { opposite_opinion = -10 same_opinion = 10 - monthly_influence = 0.25 culture_modifier = { parameter = trait_county_opinion_modifiers county_opinion_add = 10 @@ -3390,7 +3390,10 @@ shy = { monthly_piety_gain_mult = 0.1 } - monthly_influence = -0.25 + culture_modifier = { + parameter = palace_politics_trait_maluses + monthly_influence = -0.25 + } ruler_designer_cost = -10 @@ -3440,7 +3443,7 @@ gregarious = { same_opinion = 10 courtly_opinion = 5 - monthly_influence = 0.25 + monthly_influence = 0.1 culture_modifier = { parameter = trait_county_opinion_modifiers @@ -3530,7 +3533,10 @@ ambitious = { same_culture_opinion = -15 } - monthly_influence = 0.75 + culture_modifier = { + parameter = palace_politics_trait_bonuses + monthly_influence = 0.35 + } opinion_of_liege = -15 same_opinion = -15 @@ -3596,7 +3602,6 @@ content = { ai_war_chance = -0.25 ruler_designer_cost = 20 - monthly_influence = -0.25 culture_modifier = { parameter = craven_and_content_traits_looked_down_upon @@ -3666,7 +3671,10 @@ arbitrary = { stress_gain_mult = -0.5 dread_baseline_add = 15 - monthly_influence = 0.15 + culture_modifier = { + parameter = palace_politics_trait_bonuses + monthly_influence = 0.15 + } vassal_opinion = -5 @@ -3718,7 +3726,6 @@ just = { opposite_opinion = -10 same_opinion = 10 flag = initial_legitimacy_boost - monthly_influence = 0.25 culture_modifier = { parameter = just_trait_gives_bonuses @@ -3910,7 +3917,7 @@ paranoid = { stress_gain_mult = 1 dread_gain_mult = 0.25 - scheme_discovery_chance_mult = 0.1 + enemy_scheme_secrecy_add = -10 enemy_personal_scheme_success_chance_add = -25 character_travel_speed = -10 @@ -3934,7 +3941,10 @@ paranoid = { hills_min_combat_roll = 2 } - monthly_influence = 0.15 + culture_modifier = { + parameter = palace_politics_trait_bonuses + monthly_influence = 0.15 + } opinion_of_vassal = -10 @@ -3993,7 +4003,10 @@ trusting = { character_travel_safety = -10 flag = can_offer_strong_hook_to_agents - monthly_influence = -0.25 + culture_modifier = { + parameter = palace_politics_trait_maluses + monthly_influence = -0.25 + } ruler_designer_cost = 10 @@ -4721,7 +4734,6 @@ drunkard = { # Substance Abuse (Alcohol) character_travel_safety = -10 ruler_designer_cost = -10 - monthly_influence = -0.5 desc = { first_valid = { @@ -4752,7 +4764,6 @@ hashishiyah = { # Substance Abuse (Hashish) same_opinion = 10 ruler_designer_cost = 5 - monthly_influence = -0.5 desc = { first_valid = { @@ -4784,7 +4795,6 @@ rakish = { # Brothel-frequenter. attraction_opinion = -5 ruler_designer_cost = 0 - monthly_influence = -0.5 desc = { first_valid = { @@ -4817,7 +4827,6 @@ reclusive = { # Hides away from relationships and responsibilities. epidemic_resistance = 10 ruler_designer_cost = -5 - monthly_influence = -0.25 desc = { first_valid = { @@ -4856,7 +4865,6 @@ irritable = { # Prone to outbursts and tantrums. flag = can_duel_anyone_interaction ruler_designer_cost = 0 - monthly_influence = -0.25 desc = { first_valid = { @@ -4990,7 +4998,6 @@ contrite = { # Compulsively reveals own/other's Secrets. If no known Secrets, ma stress_loss_mult = 0.2 ruler_designer_cost = -5 - monthly_influence = -0.90 desc = { first_valid = { @@ -5255,7 +5262,6 @@ lunatic_1 = { # Highly event driven, Schizophrenia enemy_hostile_scheme_phase_duration_add = minor_scheme_phase_duration_malus_value health = -0.25 category = health - monthly_influence = -1 shown_in_ruler_designer = no @@ -5285,7 +5291,6 @@ lunatic_genetic = { # Highly event driven, Schizophrenia group_equivalence = lunatic level = 2 health = -0.25 - monthly_influence = -1 vassal_opinion = -10 attraction_opinion = -10 @@ -5325,7 +5330,6 @@ possessed_1 = { # Highly event driven, Temporal lobe epilepsy attraction_opinion = -10 same_opinion = 15 - monthly_influence = -0.5 shown_in_ruler_designer = no @@ -5357,7 +5361,6 @@ possessed_genetic = { # Highly event driven, Temporal lobe epilepsy monthly_learning_lifestyle_xp_gain_mult = 0.1 health = -0.5 - monthly_influence = -0.75 attraction_opinion = -10 same_opinion = 15 @@ -5390,7 +5393,7 @@ ill = { health = -1 elderly_health = -1 - prowess = -4 + prowess_mult = -0.4 fertility = -0.2 category = health @@ -5432,7 +5435,7 @@ pneumonic = { learning = -2 health = -3 elderly_health = -2 - prowess = -8 + prowess_mult = -0.8 fertility = -0.5 category = health @@ -5551,7 +5554,7 @@ lovers_pox = { leper = { health = -1.5 - prowess = -8 + prowess_mult = -0.8 fertility = -0.95 category = health @@ -5851,17 +5854,16 @@ disfigured = { } infirm = { - diplomacy = -3 - martial = -3 - stewardship = -3 - intrigue = -3 - learning = -3 - prowess = -6 - health = -1 - fertility = -0.3 - - dread_baseline_add = -15 - dread_loss_mult = 1 + diplomacy = -1 + martial = -1 + prowess_mult = -0.2 + health = -0.25 + fertility = -0.1 + ai_energy = -10 + + flag = infirm_random_xp_gain + flag = age_related_ailment + flag = is_healthy_trigger_flag category = health @@ -5880,19 +5882,322 @@ infirm = { desc = trait_infirm_character_desc } } - - ai_energy = -30 + tracks = { + infirm = { + 25 = { + diplomacy = -1 + martial = -1 + stewardship = -1 + prowess_mult = -0.2 + health = -0.25 + fertility = -0.1 + dread_baseline_add = -5 + dread_loss_mult = 0.25 + attraction_opinion = -5 + ai_energy = -10 + } + 50 = { + diplomacy = -2 + martial = -2 + stewardship = -2 + prowess_mult = -0.2 + health = -0.25 + fertility = -0.1 + dread_baseline_add = -10 + dread_loss_mult = 0.25 + attraction_opinion = -5 + ai_energy = -10 + } + 75 = { + diplomacy = -2 + martial = -2 + stewardship = -2 + prowess_mult = -0.2 + health = -0.25 + fertility = -0.1 + dread_baseline_add = -10 + dread_loss_mult = 0.25 + attraction_opinion = -5 + ai_energy = -10 + } + 100 = { + diplomacy = -2 + martial = -2 + stewardship = -2 + prowess_mult = -0.2 + health = -0.25 + fertility = -0.1 + dread_baseline_add = -10 + dread_loss_mult = 0.25 + attraction_opinion = -5 + ai_energy = -10 + } + } + } +} + +withering_mind = { + learning = -2 + monthly_lifestyle_xp_gain_mult = -0.25 + stress_gain_mult = 0.2 + ai_rationality = -25 + + flag = withering_mind_random_xp_gain + flag = incapable_on_max_level + flag = age_related_ailment flag = is_healthy_trigger_flag + + category = health + + ruler_designer_cost = -20 + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_withering_mind_desc + } + desc = trait_withering_mind_character_desc + } + } + + tracks = { + withering_mind = { + 25 = { + diplomacy_mult = -0.25 + martial_mult = -0.25 + stewardship_mult = -0.25 + intrigue_mult = -0.25 + learning_mult = -0.25 + monthly_lifestyle_xp_gain_mult = -0.25 + stress_gain_mult = 0.2 + ai_rationality = -25 + } + 50 = { + diplomacy_mult = -0.25 + martial_mult = -0.25 + stewardship_mult = -0.25 + intrigue_mult = -0.25 + learning_mult = -0.25 + monthly_lifestyle_xp_gain_mult = -0.25 + stress_gain_mult = 0.2 + ai_rationality = -25 + } + 75 = { + diplomacy_mult = -0.25 + martial_mult = -0.25 + stewardship_mult = -0.25 + intrigue_mult = -0.25 + learning_mult = -0.25 + monthly_lifestyle_xp_gain_mult = -0.5 + stress_gain_mult = 0.2 + ai_rationality = -25 + } + 100 = { + diplomacy_mult = -0.25 + martial_mult = -0.25 + stewardship_mult = -0.25 + intrigue_mult = -0.25 + learning_mult = -0.25 + monthly_lifestyle_xp_gain_mult = -0.5 + stress_gain_mult = 0.2 + ai_rationality = -25 + } + } + } +} + +clouded_eyes = { + martial = -1 + prowess = -2 + + flag = clouded_eyes_random_xp_gain + flag = age_related_ailment + flag = is_healthy_trigger_flag + flag = blind_on_max_level + + category = health + + ruler_designer_cost = -20 + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_clouded_eyes_desc + } + desc = trait_clouded_eyes_character_desc + } + } + + tracks = { + clouded_eyes = { + 25 = { + martial = -1 + prowess = -2 + } + 50 = { + martial = -1 + prowess = -2 + } + 75 = { + martial = -1 + stewardship = -1 + intrigue = -1 + prowess = -2 + + dread_baseline_add = -5 + + attraction_opinion = -5 + } + 100 = { + martial = -2 + stewardship = -1 + intrigue = -1 + prowess = -2 + + health = -0.25 + + dread_baseline_add = -5 + + attraction_opinion = -5 + } + } + } +} + +faltering_heart = { + health = -0.1 + prowess = -1 + character_travel_safety = -2 + stress_gain_mult = 0.2 + stress_loss_mult = -0.2 + + flag = faltering_heart_random_xp_gain + flag = age_related_ailment + flag = is_healthy_trigger_flag + flag = death_on_max_level + + category = health + + ruler_designer_cost = -20 + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_faltering_heart_desc + } + desc = trait_faltering_heart_character_desc + } + } + + tracks = { + faltering_heart = { + 25 = { + health = -0.1 + prowess = -1 + character_travel_safety = -2 + stress_gain_mult = 0.2 + stress_loss_mult = -0.2 + } + 50 = { + health = -0.1 + prowess = -1 + character_travel_safety = -2 + stress_gain_mult = 0.2 + stress_loss_mult = -0.2 + } + 75 = { + health = -0.1 + prowess = -1 + character_travel_safety = -2 + stress_gain_mult = 0.2 + stress_loss_mult = -0.2 + } + 100 = { + health = -100 + } + } + } +} + +fragile_bones = { + character_travel_speed_mult = -0.1 + prowess_mult = -0.1 + advantage = -3 + life_expectancy = -3 + enemy_hostile_scheme_success_chance_max_add = 5 + + flag = fragile_bones_random_xp_gain + flag = age_related_ailment + flag = is_healthy_trigger_flag + flag = wounds_twice_as_bad + + category = health + + ruler_designer_cost = -20 + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_fragile_bones_desc + } + desc = trait_fragile_bones_character_desc + } + } + + tracks = { + fragile_bones = { + 25 = { + character_travel_speed_mult = -0.1 + prowess_mult = -0.1 + advantage = -3 + life_expectancy = -3 + enemy_hostile_scheme_success_chance_max_add = 10 + } + 50 = { + character_travel_speed_mult = -0.1 + prowess_mult = -0.1 + advantage = -3 + life_expectancy = -3 + enemy_hostile_scheme_success_chance_max_add = 10 + } + 75 = { + character_travel_speed_mult = -0.1 + prowess_mult = -0.1 + advantage = -5 + life_expectancy = -5 + enemy_hostile_scheme_success_chance_max_add = 15 + } + 100 = { + character_travel_speed_mult = -0.1 + prowess_mult = -0.1 + advantage = -10 + life_expectancy = -10 + enemy_hostile_scheme_success_chance_max_add = 15 + } + } + } } incapable = { - diplomacy = -6 - intrigue = -6 - stewardship = -6 - martial = -6 - learning = -6 - prowess = -12 + diplomacy_mult = -1 + martial_mult = -1 + stewardship_mult = -1 + intrigue_mult = -1 + learning_mult = -1 + prowess_mult = -1 health = -2 dread_baseline_add = -25 @@ -5925,9 +6230,9 @@ incapable = { } gout_ridden = { - diplomacy = -2 - martial = -1 - prowess = -2 + diplomacy_mult = -0.1 + martial_mult = -0.1 + prowess_mult = -0.2 health = -1 dread_baseline_add = -5 @@ -5959,7 +6264,7 @@ consumption = { # Tuberculosis diplomacy = -2 stewardship = -1 intrigue = -2 - prowess = -2 + prowess_mult = -0.4 health = -2.5 child_health = -1 elderly_health = -2 @@ -6028,7 +6333,7 @@ typhus = { stewardship = -2 intrigue = -1 learning = -2 - prowess = -4 + prowess_mult = -0.8 health = -4.5 elderly_health = -1 fertility = -0.2 @@ -6069,7 +6374,7 @@ bubonic_plague = { stewardship = -2 intrigue = -3 learning = -2 - prowess = -10 + prowess_mult = -0.8 health = -7 elderly_health = -2 fertility = -0.50 @@ -6108,7 +6413,7 @@ smallpox = { diplomacy = -2 stewardship = -1 learning = -2 - prowess = -10 + prowess_mult = -0.8 health = -4.5 elderly_health = -1.5 fertility = -0.25 @@ -6148,7 +6453,7 @@ measles = { stewardship = -1 intrigue = -1 learning = -2 - prowess = -4 + prowess_mult = -0.4 health = -3 child_health = -3 @@ -6185,7 +6490,7 @@ dysentery = { # Bloody Flux diplomacy = -2 martial = -1 intrigue = -2 - prowess = -8 + prowess_mult = -0.8 health = -3.5 elderly_health = -2 @@ -6560,7 +6865,6 @@ beauty_bad_1 = { random_creation = 0.5 attraction_opinion = -10 - monthly_influence = -0.1 group = beauty_bad level = 1 @@ -6600,7 +6904,6 @@ beauty_bad_2 = { random_creation = 0.25 attraction_opinion = -20 - monthly_influence = -0.2 group = beauty_bad level = 2 @@ -6640,7 +6943,6 @@ beauty_bad_3 = { fertility = -0.3 attraction_opinion = -30 - monthly_influence = -0.3 group = beauty_bad level = 3 @@ -6680,7 +6982,6 @@ beauty_good_1 = { random_creation = 0.5 attraction_opinion = 10 - monthly_influence = 0.1 group = beauty_good level = 1 @@ -6723,7 +7024,6 @@ beauty_good_2 = { random_creation = 0.25 attraction_opinion = 20 - monthly_influence = 0.2 # pretty if female # handsome if male @@ -6781,7 +7081,6 @@ beauty_good_3 = { fertility = 0.3 attraction_opinion = 30 - monthly_influence = 0.3 group = beauty_good level = 3 @@ -6823,7 +7122,6 @@ intellect_bad_1 = { stewardship = -2 intrigue = -2 learning = -2 - monthly_influence = -0.2 monthly_lifestyle_xp_gain_mult = -0.1 @@ -6878,7 +7176,6 @@ intellect_bad_2 = { stewardship = -4 intrigue = -4 learning = -4 - monthly_influence = -0.4 monthly_lifestyle_xp_gain_mult = -0.2 @@ -6935,7 +7232,6 @@ intellect_bad_3 = { stewardship = -8 intrigue = -8 learning = -8 - monthly_influence = -0.8 monthly_lifestyle_xp_gain_mult = -0.3 @@ -6995,7 +7291,6 @@ intellect_good_1 = { group = intellect_good level = 1 - monthly_influence = 0.2 ai_rationality = high_positive_ai_value @@ -7043,7 +7338,6 @@ intellect_good_2 = { stewardship = 3 intrigue = 3 learning = 3 - monthly_influence = 0.4 monthly_lifestyle_xp_gain_mult = 0.2 @@ -7102,7 +7396,6 @@ intellect_good_3 = { stewardship = 5 intrigue = 5 learning = 5 - monthly_influence = 0.8 monthly_lifestyle_xp_gain_mult = 0.3 @@ -7436,14 +7729,13 @@ physique_good_3 = { ################# PHYSICAL (GOOD) ################ pure_blooded = { physical = yes - fertility = -2 - health = -2 - inbreeding_chance = 5 - genetic = yes - enables_inbred = yes + fertility = 0.1 + health = 0.25 + inbreeding_chance = -0.5 inherit_chance = 15 both_parent_has_trait_inherit_chance = 75 + good = yes ruler_designer_cost = 50 @@ -10102,7 +10394,7 @@ varangian = { } lifestyle_poet = { - category = fame + category = lifestyle diplomacy_per_prestige_level = 1 stress_loss_mult = 0.1 @@ -11309,7 +11601,10 @@ loyal = { monthly_prestige = 0.1 } - monthly_influence = 0.1 + culture_modifier = { + parameter = palace_politics_trait_bonuses + monthly_influence = 0.1 + } culture_modifier = { parameter = scholar_official_trait_bonuses @@ -14877,6 +15172,7 @@ tourney_participant = { } lifestyle_traveler = { + category = lifestyle icon = "traveler.dds" monthly_wanderer_lifestyle_xp_gain_mult = 0.1 @@ -15088,7 +15384,7 @@ fp3_struggle_supporter = { # TRAITS TO TRACK HIPPODROME FACTION MEMBERS charioteer_blue = { - category = lifestyle + category = fame icon = "charioteer_blue.dds" opposites = { charioteer_green @@ -15152,7 +15448,7 @@ charioteer_blue = { } charioteer_green = { - category = lifestyle + category = fame icon = "charioteer_green.dds" opposites = { charioteer_blue @@ -15216,7 +15512,7 @@ charioteer_green = { } charioteer_white = { - category = lifestyle + category = fame icon = "charioteer_white.dds" opposites = { charioteer_blue @@ -15280,7 +15576,7 @@ charioteer_white = { } charioteer_red = { - category = lifestyle + category = fame icon = "charioteer_red.dds" opposites = { charioteer_blue @@ -15353,15 +15649,30 @@ governor = { 25 = { monthly_influence = 1 stewardship = 1 + + culture_modifier = { + parameter = governor_trait_gives_counter_resistance + counter_resistance = governor_trait_counter_bonus_value + } } 50 = { monthly_influence = 1 diplomacy = 1 + + culture_modifier = { + parameter = governor_trait_gives_counter_resistance + counter_resistance = governor_trait_counter_bonus_value + } } 75 = { monthly_influence = 1 martial = 1 intrigue = 1 + + culture_modifier = { + parameter = governor_trait_gives_counter_resistance + counter_resistance = governor_trait_counter_bonus_value + } } 100 = { monthly_influence = 2 @@ -15369,6 +15680,11 @@ governor = { martial = 1 stewardship = 1 intrigue = 1 + + culture_modifier = { + parameter = governor_trait_gives_counter_resistance + counter_resistance = governor_trait_counter_bonus_value + } } } diff --git a/events/activities/coronation_activity/coronation_events.txt b/events/activities/coronation_activity/coronation_events.txt index 8017382d..cefe69f2 100644 --- a/events/activities/coronation_activity/coronation_events.txt +++ b/events/activities/coronation_activity/coronation_events.txt @@ -1857,7 +1857,11 @@ coronation_events.0205 = { trigger = { current_year > 1000 location.barony = title:b_krakow - scope:host.faith.religion = religion:christianity_religion + OR = { + scope:host.faith.religion = religion:eastern_orthodox_religion + scope:host.faith.religion = religion:catholic_religion + scope:host.faith.religion = religion:protestant_religion + } } desc = coronation_events.0205.wawel } diff --git a/events/activities/coronation_activity/coronation_events_6.txt b/events/activities/coronation_activity/coronation_events_6.txt index 65827449..a868b498 100644 --- a/events/activities/coronation_activity/coronation_events_6.txt +++ b/events/activities/coronation_activity/coronation_events_6.txt @@ -5533,7 +5533,11 @@ coronation_events.6101 = { triggered_desc = { trigger = { scope:host = { - faith.religion = religion:christianity_religion + OR = { + faith.religion = religion:eastern_orthodox_religion + faith.religion = religion:catholic_religion + faith.religion = religion:protestant_religion + } } } desc = coronation_events.6101.desc_words_christian @@ -5587,7 +5591,11 @@ coronation_events.6101 = { trigger = { scope:host = { coronation_proper_artifact_crown_trigger = yes - faith.religion = religion:christianity_religion + OR = { + faith.religion = religion:eastern_orthodox_religion + faith.religion = religion:catholic_religion + faith.religion = religion:protestant_religion + } culture = { has_cultural_pillar = heritage_iberian has_cultural_pillar = language_iberian @@ -5625,7 +5633,11 @@ coronation_events.6101 = { triggered_desc = { trigger = { scope:host = { - faith.religion = religion:christianity_religion + OR = { + faith.religion = religion:eastern_orthodox_religion + faith.religion = religion:catholic_religion + faith.religion = religion:protestant_religion + } } } desc = coronation_events.6101.desc_words_christian_guest @@ -5733,7 +5745,11 @@ coronation_events.6101 = { triggered_animation = { trigger = { NOT = { - scope:host.faith.religion = religion:christianity_religion + OR = { + scope:host.faith.religion = religion:eastern_orthodox_religion + scope:host.faith.religion = religion:catholic_religion + scope:host.faith.religion = religion:protestant_religion + } } } animation = personality_honorable @@ -11914,7 +11930,9 @@ coronation_events.6130 = { } } OR = { - activity_host.faith.religion = religion:christianity_religion + activity_host.faith.religion = religion:eastern_orthodox_religion + activity_host.faith.religion = religion:catholic_religion + activity_host.faith.religion = religion:protestant_religion activity_host.faith.religion = religion:judaism_religion activity_host = { coronation_events_6130_dharmic_trigger = yes diff --git a/events/dlc/fp1/fp1_other_decision_events.txt b/events/dlc/fp1/fp1_other_decision_events.txt index ecc8c398..b61eecef 100644 --- a/events/dlc/fp1/fp1_other_decision_events.txt +++ b/events/dlc/fp1/fp1_other_decision_events.txt @@ -907,6 +907,12 @@ fp1_other_decisions.0003 = { faith = { save_scope_as = old_faith } # Next, we convert your faith. set_character_faith_with_conversion = scope:gf_faith + if = { + limit = { + scope:gf_faith = { has_doctrine = doctrine_monotheist } + } + custom_description_no_bullet = { text = mandala_monotheist_warning_tt } + } scope:activity = { add_activity_log_entry = { @@ -2230,7 +2236,15 @@ fp1_other_decisions.0101 = { name = fp1_other_decisions.0101.d # Give 'em their deposit back. - add_gold = var:raise_stele_refund + if = { + limit = { + has_treasury = yes + } + add_treasury = var:raise_stele_refund + } + else = { + add_gold = var:raise_stele_refund + } # Clear the cooldown. remove_decision_cooldown = raise_stele_decision diff --git a/events/dlc/fp3/fp3_dynasty_decision_events.txt b/events/dlc/fp3/fp3_dynasty_decision_events.txt index 7cc4e81e..670c7316 100644 --- a/events/dlc/fp3/fp3_dynasty_decision_events.txt +++ b/events/dlc/fp3/fp3_dynasty_decision_events.txt @@ -187,7 +187,7 @@ fp3_dynasty_decision.0004 = { send_interface_toast = { title = splurge_above_expectations_toast left_icon = scope:chosen_architect - dynasty = { add_dynasty_prestige = major_dynasty_prestige_value } + dynasty ?= { add_dynasty_prestige = major_dynasty_prestige_value } house = { every_house_member = { custom = every_house_member diff --git a/events/dlc/fp3/fp3_heritage_events.txt b/events/dlc/fp3/fp3_heritage_events.txt index a4594640..8c01bb47 100644 --- a/events/dlc/fp3/fp3_heritage_events.txt +++ b/events/dlc/fp3/fp3_heritage_events.txt @@ -426,7 +426,7 @@ fp3_yearly.8020 = { #premise checks - we need ROOT's faith to not have been reformed into a matriarchal faith for this historical context OR = { has_religion = religion:islam_religion - has_religion = religion:christianity_religion + OR = { has_religion = religion:eastern_orthodox_religion has_religion = religion:catholic_religion has_religion = religion:protestant_religion } } has_game_rule = default_gender_equality #this triggers an error. Suspected code issue. @@ -2380,7 +2380,7 @@ fp3_yearly.8032 = { trigger = { OR = { has_religion = religion:islam_religion - has_religion = religion:christianity_religion + OR = { has_religion = religion:eastern_orthodox_religion has_religion = religion:catholic_religion has_religion = religion:protestant_religion } } } @@ -2415,7 +2415,7 @@ fp3_yearly.8032 = { has_trait = zealous } AND = { - has_religion = religion:christianity_religion + OR = { has_religion = religion:eastern_orthodox_religion has_religion = religion:catholic_religion has_religion = religion:protestant_religion } has_trait = zealous } } @@ -2455,7 +2455,7 @@ fp3_yearly.8032 = { option = { #think of my dynasty name = fp3_yearly.8032.c - dynasty = { add_dynasty_prestige = minor_dynasty_prestige_value } + dynasty ?= { add_dynasty_prestige = minor_dynasty_prestige_value } stress_impact = { arrogant = minor_stress_impact_loss diff --git a/events/lifestyles/scholarship_lifestyle/learning_theology_events.txt b/events/lifestyles/scholarship_lifestyle/learning_theology_events.txt index dd0ec97e..5df5a5b8 100644 --- a/events/lifestyles/scholarship_lifestyle/learning_theology_events.txt +++ b/events/lifestyles/scholarship_lifestyle/learning_theology_events.txt @@ -740,7 +740,7 @@ learning_theology.3002 = { religion = religion:buddhism_religion religion = religion:jainism_religion religion = religion:zoroastrianism_religion - religion = religion:christianity_religion + OR = { religion = religion:eastern_orthodox_religion religion = religion:catholic_religion religion = religion:protestant_religion } religion = religion:islam_religion } } diff --git a/history/provinces/e_nistrenia.txt b/history/provinces/e_nistrenia.txt index bcb4b742..6db1bf6c 100644 --- a/history/provinces/e_nistrenia.txt +++ b/history/provinces/e_nistrenia.txt @@ -2720,9 +2720,6 @@ holding = none religion = stalinist holding = tribal_holding } -5312 = { #Sara - holding = none -} 604 = { #NEOW_cossackan holding = none #holding = city_holding @@ -2738,6 +2735,46 @@ holding = none 5334 = { #Yenotayevka holding = none } +12388 = { #Elista + culture = kalmyk + religion = lamaism + holding = tribal_holding +} +12385 = { #Ketchenery + culture = kalmyk + religion = lamaism + holding = tribal_holding +} +12383 = { #Yashkul + culture = kalmyk + religion = lamaism + holding = tribal_holding +} +5312 = { #Sara + culture = kalmyk + religion = lamaism + holding = tribal_holding +} +12390 = { #Komsomolsky + culture = kalmyk + religion = lamaism + holding = tribal_holding +} +12389 = { #Ik Buurla + culture = kalmyk + religion = lamaism + holding = tribal_holding +} +5514 = { #Yusta + culture = kalmyk + religion = lamaism + holding = tribal_holding +} +12384 = { #Gorodovikovsk + culture = kalmyk + religion = rime + holding = tribal_holding +} ###c_itil 620 = { #Itil #NEOW_cossack capital #what culture = NEOW_nizhnevolzhan @@ -2877,4 +2914,44 @@ holding = none } 5344 = { #Majar holding = none +} +12377 = { + culture = NEOW_cossack + religion = kozachina + holding = tribal_holding +} +12381 = { + culture = NEOW_cossack + religion = kozachina + holding = tribal_holding +} +12382 = { + culture = NEOW_cossack + religion = kozachina + holding = tribal_holding +} +12379 = { + culture = NEOW_cossack + religion = kozachina + holding = tribal_holding +} +12378 = { + culture = NEOW_cossack + religion = kozachina + holding = tribal_holding +} +12380 = { + culture = NEOW_cossack + religion = kozachina + holding = tribal_holding +} +12376 = { + culture = NEOW_cossack + religion = kozachina + holding = tribal_holding +} +12375 = { + culture = NEOW_cossack + religion = kozachina + holding = tribal_holding } \ No newline at end of file diff --git a/map_data/default.map b/map_data/default.map index 571bdd59..9eb5a784 100644 --- a/map_data/default.map +++ b/map_data/default.map @@ -300,7 +300,7 @@ impassable_mountains = LIST { 9785 9787 9788 9789 9790 9791 9792 9793 9794 9795 impassable_mountains = LIST { 730 731 8711 } impassable_mountains = LIST { 1468 1466 1464 } impassable_mountains = LIST { 3390 3970 } -impassable_mountains = LIST { 5512 5513 5514 } +impassable_mountains = LIST { 5512 5513 } impassable_mountains = LIST { 5755 } impassable_mountains = LIST { 1107 1108 1280 6114 } #Eastern desert impassable_mountains = LIST { 6115 } #Libyan desert diff --git a/map_data/definition.csv b/map_data/definition.csv index 857121d2..525b7cef 100644 --- a/map_data/definition.csv +++ b/map_data/definition.csv @@ -12383,12 +12383,12 @@ 12382;44;23;240;;x 12383;134;126;252;;x 12384;15;137;15;;x -12385;84;127;122;;x +12385;84;127;122;Ketchenery;x 12386;18;204;237;CirLXJ_Dongshengzhou;x 12387;226;99;24;CirLXJ_Xuande;x -12388;64;130;59;;x -12389;134;113;140;;x -12390;52;23;232;;x +12388;64;130;59;Elista;x +12389;134;113;140;Ik Buurla;x +12390;52;23;232;Komsomolsky;x 12391;10;58;252;CirLXJ_Zhenwu;x 12392;35;43;38;CirLXJ_Heicheng;x 12393;131;211;167;CirLXJ_Heishabao;x diff --git a/map_data/provinces.png b/map_data/provinces.png index 3b7ee2b3..4c2f46ba 100644 --- a/map_data/provinces.png +++ b/map_data/provinces.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9063d089f30c5945a8ecf03ed779a245608ceddbd686f73189a82dd08c7ebe88 -size 3469430 +oid sha256:f402a8b04e53011a9028b55eb81141c6abd3f9045690466819d948dc6cf57776 +size 2633078