diff --git a/common/accolade_names/00_accolade_names.txt b/common/accolade_names/00_accolade_names.txt index 1f06ebe8..c2ea1f4d 100644 --- a/common/accolade_names/00_accolade_names.txt +++ b/common/accolade_names/00_accolade_names.txt @@ -2910,9 +2910,9 @@ accolade_knight_of_god = { scope:accolade_type = { type_has_accolade_category = defensive } -# NOT = { -# faith.religion = religion:west_african_roog_religion -# } + NOT = { + faith.religion = religion:west_african_roog_religion + } } desc = accolade_health_god } diff --git a/common/buildings/00_special_buildings.txt b/common/buildings/00_special_buildings.txt index f0e605d5..c60e5815 100644 --- a/common/buildings/00_special_buildings.txt +++ b/common/buildings/00_special_buildings.txt @@ -5288,9 +5288,9 @@ palace_of_ctesiphon_02 = { AND = { OR = { zoroastrian_or_syncretic_with_eastern_trigger = { CHARACTER = scope:holder } -# faith = faith:manichean -# faith = faith:nestorian -# faith = faith:hellenic_pagan + faith = faith:manichean + faith = faith:nestorian + faith = faith:hellenic_pagan } highest_held_title_tier >= tier_kingdom top_liege = this diff --git a/common/character_interactions/00_scheme_interactions.txt b/common/character_interactions/00_scheme_interactions.txt index aea3fb7d..1ddce94d 100644 --- a/common/character_interactions/00_scheme_interactions.txt +++ b/common/character_interactions/00_scheme_interactions.txt @@ -2731,25 +2731,25 @@ learn_language_interaction = { } } -# modifier = { # Nestorian clergy/pious people want to learn aramaic -# add = 50 -# scope:actor = { -# faith = faith:nestorian -# OR = { -# has_trait = zealous -# has_trait = humble -# is_clergy = yes -# } -# NOT = { -# knows_language = language_aramaic -# } -# } -# scope:recipient = { -# culture = { -# has_cultural_pillar = language_aramaic -# } -## } -## } + modifier = { # Nestorian clergy/pious people want to learn aramaic + add = 50 + scope:actor = { + faith = faith:nestorian + OR = { + has_trait = zealous + has_trait = humble + is_clergy = yes + } + NOT = { + knows_language = language_aramaic + } + } + scope:recipient = { + culture = { + has_cultural_pillar = language_aramaic + } + } + } modifier = { add = 20 diff --git a/common/customizable_localization/00_artifact_court_custom_loc.txt b/common/customizable_localization/00_artifact_court_custom_loc.txt index 40ed6512..26cd5e6b 100644 --- a/common/customizable_localization/00_artifact_court_custom_loc.txt +++ b/common/customizable_localization/00_artifact_court_custom_loc.txt @@ -355,7 +355,8 @@ RandomSaint = { # Used for statue artifact trigger = { OR = { religion = religion:catholic_religion - religion = religion:eastern_orthodox_religion + faith = faith:orthodox + faith = faith:nestorian } } localization_key = west_christian_fertility_god_name @@ -365,7 +366,8 @@ RandomSaint = { # Used for statue artifact trigger = { OR = { religion = religion:catholic_religion - religion = religion:eastern_orthodox_religion + faith = faith:orthodox + faith = faith:nestorian } } localization_key = west_christian_wealth_god_name @@ -375,7 +377,8 @@ RandomSaint = { # Used for statue artifact trigger = { OR = { religion = religion:catholic_religion - religion = religion:eastern_orthodox_religion + faith = faith:orthodox + faith = faith:nestorian } } localization_key = west_christian_household_god_name @@ -385,7 +388,8 @@ RandomSaint = { # Used for statue artifact trigger = { OR = { religion = religion:catholic_religion - religion = religion:eastern_orthodox_religion + faith = faith:orthodox + faith = faith:nestorian } } localization_key = west_christian_knowledge_god_name @@ -395,7 +399,8 @@ RandomSaint = { # Used for statue artifact trigger = { OR = { religion = religion:catholic_religion - religion = religion:eastern_orthodox_religion + faith = faith:orthodox + faith = faith:nestorian } } localization_key = west_christian_war_god_name @@ -405,7 +410,8 @@ RandomSaint = { # Used for statue artifact trigger = { OR = { religion = religion:catholic_religion - religion = religion:eastern_orthodox_religion + faith = faith:orthodox + faith = faith:nestorian } } localization_key = west_christian_water_god_name diff --git a/common/customizable_localization/10_ach_custom_loc.txt b/common/customizable_localization/10_ach_custom_loc.txt index 190808c4..ed7e6ae5 100644 --- a/common/customizable_localization/10_ach_custom_loc.txt +++ b/common/customizable_localization/10_ach_custom_loc.txt @@ -746,9 +746,9 @@ GetCoronationSite = { text = { # Palatine Chapel in Aachen trigger = { OR = { - religion = religion:eastern_orthodox_religion - religion = religion:catholic_religion - religion = religion:protestant_religion + faith.religion = religion:eastern_orthodox_religion + faith.religion = religion:catholic_religion + faith.religion = religion:protestant_religion } has_special_building = yes has_building_or_higher = palace_of_aachen_01 @@ -758,11 +758,7 @@ GetCoronationSite = { text = { # Hagia Sophia trigger = { - OR = { - religion = religion:eastern_orthodox_religion - religion = religion:catholic_religion - religion = religion:protestant_religion - } + religion = religion:christianity_religion has_special_building = yes has_building = hagia_sophia_01 } @@ -780,11 +776,7 @@ GetCoronationSite = { text = { # Church of the Holy Sepulchre trigger = { - OR = { - religion = religion:eastern_orthodox_religion - religion = religion:catholic_religion - religion = religion:protestant_religion - } + religion = religion:christianity_religion has_special_building = yes OR = { has_building_or_higher = dome_of_the_rock_01 @@ -796,11 +788,7 @@ GetCoronationSite = { text = { # Wawel Cathedral trigger = { - OR = { - religion = religion:eastern_orthodox_religion - religion = religion:catholic_religion - religion = religion:protestant_religion - } + religion = religion:christianity_religion this.barony = title:b_krakow } localization_key = CoronationSiteWawelCathedral @@ -808,11 +796,7 @@ GetCoronationSite = { text = { # Westminster Abbey trigger = { - OR = { - religion = religion:eastern_orthodox_religion - religion = religion:catholic_religion - religion = religion:protestant_religion - } + religion = religion:christianity_religion has_special_building = yes has_building_or_higher = the_tower_of_london_01 } diff --git a/common/decisions/00_holy_order_decisions.txt b/common/decisions/00_holy_order_decisions.txt index 1483218f..4733a955 100644 --- a/common/decisions/00_holy_order_decisions.txt +++ b/common/decisions/00_holy_order_decisions.txt @@ -1,17 +1,4 @@ -### Found Holy Order ### create_holy_order_decision = { - picture = { - trigger = { - culture = { has_graphical_east_asia_culture_group_trigger = yes } - } - reference = "gfx/interface/illustrations/holding_types/tgp_chinese_pagoda.dds" - } - picture = { - trigger = { - culture = { has_graphical_india_culture_group_trigger = yes } - } - reference = "gfx/interface/illustrations/holding_types/tgp_castle_se_asia.dds" - } picture = { reference = "gfx/interface/illustrations/decisions/decision_major_religion.dds" } @@ -21,10 +8,7 @@ create_holy_order_decision = { is_shown = { is_landed = yes - NOR = { - faith = { - has_doctrine = special_doctrine_immaterial_harmony - } + NOT = { faith = { any_faith_holy_order = { holy_order_patron = root @@ -32,6 +16,12 @@ create_holy_order_decision = { } } } + + #trigger_if = { + # limit = { faith = { has_doctrine_parameter = no_holy_orders_til_hof } } + # exists = faith.religious_head + #} + # Jomsvikings should use their special decision if appropriate. trigger_if = { limit = { has_fp1_dlc_trigger = yes } @@ -93,6 +83,19 @@ create_holy_order_decision = { } is_valid = { + trigger_if = { + limit = { + faith = { + has_doctrine = doctrine_holy_order_head + NOT = { + exists = religious_head + } + } + } + can_create_head_of_faith_title_trigger = { + FAITH = this.faith + } + } trigger_if = { limit = { any_character_struggle = { @@ -120,7 +123,7 @@ create_holy_order_decision = { trigger_if = { limit = { exists = faith.religious_head - root != root.faith.religious_head + NOT = { root = root.faith.religious_head } } faith.religious_head = { opinion = { @@ -148,22 +151,7 @@ create_holy_order_decision = { } cost = { gold = { - value = 0 - if = { - limit = { - has_treasury = no - } - add = holy_order_gold_cost - } - } - treasury = { - value = 0 - if = { - limit = { - has_treasury = yes - } - add = holy_order_gold_cost - } + value = holy_order_gold_cost } piety = { value = holy_order_piety_cost @@ -179,7 +167,7 @@ create_holy_order_decision = { } hidden_effect = { if = { - limit = { scope:barony.holder != root } + limit = { NOT = { scope:barony.holder = root } } create_title_and_vassal_change = { type = leased_out save_scope_as = change @@ -207,16 +195,46 @@ create_holy_order_decision = { NEW_HO_SCOPE = new_holy_order FOUNDER = root } + + #if a ho_hof faith creates a ho and they don't have a hof yet, make it their hof + if = { + limit = { + faith = { + has_doctrine = doctrine_holy_order_head + NOT = { + exists = religious_head + } + } + } + faith = { + set_religious_head_title = scope:new_holy_order.title + create_head_of_faith_title_effect = yes + #TODO add events to inform faithful + } + } } create_holy_order_effect = yes } ai_potential = { - highest_held_title_tier >= tier_kingdom + + OR = { + highest_held_title_tier >= tier_kingdom + AND = { + highest_held_title_tier >= tier_duchy + faith = { + has_doctrine = doctrine_holy_order_head + NOT = { + exists = religious_head + } + } + } + } is_playable_character = yes + OR = { any_held_title = { - title_tier = barony + tier = tier_barony barony_is_valid_for_holy_order_lease_trigger = { CHARACTER = root } } any_vassal = { @@ -240,35 +258,18 @@ create_holy_order_decision = { } } } - modifier = { - government_has_flag = government_is_mandala - add = -150 - } + } } -### Borrow Gold from Holy Order ### borrow_from_holy_order_decision = { #by Linnéa Thimrén - picture = { - trigger = { - culture = { has_graphical_india_culture_group_trigger = yes } - } - reference = "gfx/interface/illustrations/decisions/hindu_religious.dds" - } picture = { reference = "gfx/interface/illustrations/decisions/decision_spend_money.dds" } desc = borrow_from_holy_order_decision_desc selection_tooltip = borrow_from_holy_order_decision_tooltip - ai_check_interval_by_tier = { - barony = 0 - county = 72 - duchy = 72 - kingdom = 72 - empire = 72 - hegemony = 72 - } + ai_check_interval = 72 cost = { piety = 50 @@ -280,9 +281,10 @@ borrow_from_holy_order_decision = { #by Linnéa Thimrén is_playable_character = yes highest_held_title_tier > tier_barony faith = { - any_faith_holy_order = { count >= 1 } #Your faith must have a Holy Order + any_faith_holy_order = { #Your faith must have a Holy Order + always = yes + } } - # cannot already have a loan - keep it simple NOR = { exists = var:loan_amount_owed exists = var:loan_holder @@ -297,9 +299,6 @@ borrow_from_holy_order_decision = { #by Linnéa Thimrén any_faith_holy_order = { leader = { gold >= holy_order_gold_value - NOT = { - has_any_bad_relationship_with_character_trigger = { CHARACTER = root } - } } } } @@ -308,23 +307,30 @@ borrow_from_holy_order_decision = { #by Linnéa Thimrén effect = { hidden_effect = { + set_variable = { + name = amount_to_loan + value = holy_order_gold_value + days = 1 + } + add_character_flag = { + flag = borrow_from_holy_order + days = 3560 + } faith = { random_faith_holy_order = { limit = { - leader = { - gold >= holy_order_gold_value - NOT = { - has_any_bad_relationship_with_character_trigger = { CHARACTER = root } - } - } + leader = { gold >= holy_order_gold_value } + } + leader = { + save_scope_as = recipient } - leader = { save_scope_as = recipient } save_scope_as = order } } trigger_event = holy_order.0200 } custom_tooltip = borrow_from_holy_order_decision_effect_tooltip + } ai_potential = { @@ -342,14 +348,7 @@ borrow_from_holy_order_decision = { #by Linnéa Thimrén } } -### Revoke Holy Order Lease ### cancel_holy_order_lease_decision = { - picture = { - trigger = { - culture = { has_graphical_india_culture_group_trigger = yes } - } - reference = "gfx/interface/illustrations/decisions/hindu_soldiers.dds" - } picture = { reference = "gfx/interface/illustrations/decisions/decision_major_religion.dds" } @@ -370,22 +369,17 @@ cancel_holy_order_lease_decision = { } } - ai_check_interval_by_tier = { - barony = 0 - county = 36 - duchy = 36 - kingdom = 36 - empire = 36 - hegemony = 36 - } + ai_check_interval = 36 is_shown = { is_landless_adventurer = no is_playable_character = yes any_sub_realm_barony = { - barony_is_valid_for_holy_order_lease_cancellation_trigger = { ACTOR = root } + barony_is_valid_for_holy_order_lease_cancellation_trigger = yes + county.holder = root } + } widget = { @@ -393,7 +387,7 @@ cancel_holy_order_lease_decision = { barony_valid = { trigger_if = { limit = { exists = this } - barony_is_valid_for_holy_order_lease_cancellation_trigger = { ACTOR = root } + barony_is_valid_for_holy_order_lease_cancellation_trigger = yes } trigger_else = { custom_description = { @@ -409,6 +403,19 @@ cancel_holy_order_lease_decision = { is_at_war = no } + cost = { + piety = { + value = 0 + if = { + limit = { + exists = scope:barony + scope:barony.lessee.faith = root.faith + } + add = cancel_holy_order_piety_cost + } + } + } + effect = { revoke_holy_order_lease_effect = { CHARACTER = root @@ -428,7 +435,7 @@ cancel_holy_order_lease_decision = { #every_ruler = { # limit = { # faith = scope:holy_order_creator.faith - # this != scope:holy_order_creator + # NOT = { this = scope:holy_order_creator } # } # send_interface_message = { # type = holy_order_founded_message @@ -439,7 +446,7 @@ cancel_holy_order_lease_decision = { #} #every_neighboring_top_liege_realm_owner = { # limit = { - # faith != scope:holy_order_creator.faith + # NOT = { faith = scope:holy_order_creator.faith } # } # send_interface_message = { # type = enemy_holy_order_founded_message @@ -452,11 +459,26 @@ cancel_holy_order_lease_decision = { } ai_potential = { - is_playable_character = yes - highest_held_title_tier >= tier_county - any_sub_realm_barony = { - county.holder = { is_ai = yes } - is_under_holy_order_lease = yes + OR = { + faith:principlist.religious_head_title = { title_held_years > 0 } + AND = { + is_landed = yes + highest_held_title_tier >= tier_county + any_sub_realm_barony = { + county.holder = { is_ai = yes } + is_under_holy_order_lease = yes + } + } + + AND = { + is_playable_character = yes + highest_held_title_tier >= tier_county + any_sub_realm_barony = { + county.holder = { is_ai = yes } + is_under_holy_order_lease = yes + + } + } } } @@ -466,7 +488,9 @@ cancel_holy_order_lease_decision = { modifier = { add = 100 exists = scope:barony.lessee - scope:barony.lessee.faith != root.faith + NOT = { + scope:barony.lessee.faith = root.faith + } } # Revoke if cynical modifier = { @@ -480,6 +504,10 @@ cancel_holy_order_lease_decision = { } } } + #but don't revoke your HoF! + NOT = { + root.faith.religious_head = scope:barony.lessee + } } } } diff --git a/common/decisions/major_decisions_NEOW.txt b/common/decisions/major_decisions_NEOW.txt index 5f96ae40..1727728d 100644 --- a/common/decisions/major_decisions_NEOW.txt +++ b/common/decisions/major_decisions_NEOW.txt @@ -52,7 +52,7 @@ restore_european_union_decision = { has_government = administrative_government } any_held_title = { - geographical_region = world_europe + region = world_europe } } diff --git a/common/religion/doctrine_types/30_core_tenets.txt b/common/religion/doctrine_types/30_core_tenets.txt index c29d4e02..9c91ef4d 100644 --- a/common/religion/doctrine_types/30_core_tenets.txt +++ b/common/religion/doctrine_types/30_core_tenets.txt @@ -3998,25 +3998,25 @@ multiply = faith_unchanged_doctrine_cost_mult } # Multiplier for traditional mountain-based religions or faiths. -# if = { -# limit = { -# OR = { -# this = faith:bosnian_church -# this = faith:armenian_apostolic -# this = faith:lamaism -# this = faith:vajrayana -# this = faith:mahayana -# this = faith:haymanot -# religion = religion:basque_religion -# religion = religion:kushitism_religion -# religion = religion:zunism_religion -# religion = religion:tani_religion -# religion = religion:qiangic_religion -# religion = religion:bon_religion -# } -# } -# multiply = faith_tenet_discount_mountain_background_value -# } + if = { + limit = { + OR = { + this = faith:bosnian_church + this = faith:armenian_apostolic + this = faith:lamaism + this = faith:vajrayana + this = faith:mahayana + this = faith:haymanot + religion = religion:basque_religion + religion = religion:kushitism_religion + religion = religion:zunism_religion + religion = religion:tani_religion + religion = religion:qiangic_religion + religion = religion:bon_religion + } + } + multiply = faith_tenet_discount_mountain_background_value + } } is_shown = { always = yes } diff --git a/common/scripted_triggers/00_religious_triggers.txt b/common/scripted_triggers/00_religious_triggers.txt index 339096e3..89a6c777 100644 --- a/common/scripted_triggers/00_religious_triggers.txt +++ b/common/scripted_triggers/00_religious_triggers.txt @@ -829,27 +829,27 @@ is_valid_heresy = { #Depending on the origin faith's religion/religion group, there may have additional requirements for a heresy to be considered valid. OR = { #For Christian Faiths, the origin and heretical faiths must not both be Ecumenical (excepting the faiths which aren't technically ecumenical). -# AND = { -# OR = { religion_tag = eastern_orthodox_religion religion_tag = catholic_religion religion_tag = protestant_religion } -# NAND = { -# $ORIGIN_FAITH$ = { -# has_doctrine = special_doctrine_ecumenical_christian -# OR = { -# this = faith:insular_celtic -# this = faith:bosnian_church -# this = faith:mozarabic_church -# } -# } -# $HERETICAL_FAITH$ = { -# has_doctrine = special_doctrine_ecumenical_christian -# OR = { -# this = faith:insular_celtic -# this = faith:bosnian_church -# this = faith:mozarabic_church -# } -# } -# } -# } + AND = { + OR = { religion_tag = eastern_orthodox_religion religion_tag = catholic_religion religion_tag = protestant_religion } + NAND = { + $ORIGIN_FAITH$ = { + has_doctrine = special_doctrine_ecumenical_christian + OR = { + this = faith:insular_celtic + this = faith:bosnian_church + this = faith:mozarabic_church + } + } + $HERETICAL_FAITH$ = { + has_doctrine = special_doctrine_ecumenical_christian + OR = { + this = faith:insular_celtic + this = faith:bosnian_church + this = faith:mozarabic_church + } + } + } + } AND = { #FP3: for Zoroastrianism, Bedhin faiths are never heresies of each other religion_tag = zoroastrianism_religion NAND = { diff --git a/common/scripted_triggers/NEOW_religion_triggers.txt b/common/scripted_triggers/NEOW_religion_triggers.txt index 5a3ecf4a..45ed3e42 100644 --- a/common/scripted_triggers/NEOW_religion_triggers.txt +++ b/common/scripted_triggers/NEOW_religion_triggers.txt @@ -10,8 +10,4 @@ doctrine_is_spiritual_type = { has_doctrine = doctrine_spiritual_head has_doctrine = doctrine_holy_order_head } -} - -has_locked_hof = { - always = no } \ No newline at end of file diff --git a/common/traits/00_traits.txt b/common/traits/00_traits.txt index fe61a367..15c6ee94 100644 --- a/common/traits/00_traits.txt +++ b/common/traits/00_traits.txt @@ -14029,12 +14029,12 @@ crusader_king = { trigger = { NOT = { exists = this } } desc = trait_crusader_king_fallback_desc } -# triggered_desc = { -# trigger = { -# faith = faith:nestorian -# } -# desc = beth_nahrain_crusader_desc -# } + triggered_desc = { + trigger = { + faith = faith:nestorian + } + desc = beth_nahrain_crusader_desc + } triggered_desc = { trigger = { is_female = yes } desc = trait_crusader_king_female_desc @@ -14049,12 +14049,12 @@ crusader_king = { trigger = { NOT = { exists = this } } desc = trait_crusader_king_fallback_dead } -# triggered_desc = { -# trigger = { -# faith = faith:nestorian -# } -# desc = nick_beth_nahrain -# } + triggered_desc = { + trigger = { + faith = faith:nestorian + } + desc = nick_beth_nahrain + } triggered_desc = { trigger = { faith = { OR = { religion_tag = eastern_orthodox_religion religion_tag = catholic_religion religion_tag = protestant_religion } } @@ -14070,117 +14070,117 @@ crusader_king = { trigger = { faith = { religion_tag = islam_religion } } desc = trait_crusader_king_islam } -# triggered_desc = { -# trigger = { -# faith = { religion_tag = bon_religion } -# is_female = yes -# } -# desc = trait_crusader_king_bon_female -# } -# triggered_desc = { -# trigger = { faith = { religion_tag = bon_religion } } -# desc = trait_crusader_king_bon_male -# } + triggered_desc = { + trigger = { + faith = { religion_tag = bon_religion } + is_female = yes + } + desc = trait_crusader_king_bon_female + } + triggered_desc = { + trigger = { faith = { religion_tag = bon_religion } } + desc = trait_crusader_king_bon_male + } triggered_desc = { trigger = { faith = { religion_tag = buddhism_religion } } desc = trait_crusader_king_buddhism } -# triggered_desc = { -# trigger = { faith = { religion_tag = dualism_religion } } -# desc = trait_crusader_king_dualism -# } + triggered_desc = { + trigger = { faith = { religion_tag = dualism_religion } } + desc = trait_crusader_king_dualism + } triggered_desc = { trigger = { faith = { religion_tag = folkgerman_religion } } desc = trait_crusader_king_germanic } -# triggered_desc = { -# trigger = { -# faith = { religion_tag = hellenism_religion } -# is_female = yes -# } -# desc = trait_crusader_king_hellenism_female -# } -# triggered_desc = { -# trigger = { faith = { religion_tag = hellenism_religion } } -# desc = trait_crusader_king_hellenism_male -# } -# triggered_desc = { -# trigger = { faith = { religion_tag = hinduism_religion } } -# desc = trait_crusader_king_hinduism -# } -# triggered_desc = { -# trigger = { faith = { religion_tag = jainism_religion } } -# desc = trait_crusader_king_jainism -# } + triggered_desc = { + trigger = { + faith = { religion_tag = hellenism_religion } + is_female = yes + } + desc = trait_crusader_king_hellenism_female + } + triggered_desc = { + trigger = { faith = { religion_tag = hellenism_religion } } + desc = trait_crusader_king_hellenism_male + } + triggered_desc = { + trigger = { faith = { religion_tag = hinduism_religion } } + desc = trait_crusader_king_hinduism + } + triggered_desc = { + trigger = { faith = { religion_tag = jainism_religion } } + desc = trait_crusader_king_jainism + } triggered_desc = { trigger = { faith = { religion_tag = judaism_religion } } desc = trait_crusader_king_judaism } -# triggered_desc = { -# trigger = { faith = { religion_tag = magyar_religion } } -# desc = trait_crusader_king_magyar -# } -# triggered_desc = { -# trigger = { faith = { religion_tag = baltic_religion } } -# desc = trait_crusader_king_baltic -# } -# triggered_desc = { -# trigger = { faith = { religion_tag = slavic_religion } } -# desc = trait_crusader_king_slavic -# } -# triggered_desc = { -# trigger = { -# faith = { religion_tag = finno_ugric_religion } -# is_female = yes -# } -# desc = trait_crusader_king_finno_ugric_female -# } -# triggered_desc = { -# trigger = { faith = { religion_tag = finno_ugric_religion } } -# desc = trait_crusader_king_finno_ugric_male -# } -# triggered_desc = { -# trigger = { faith = { religion_tag = siberian_religion } } -# desc = trait_crusader_king_siberian -# } -# triggered_desc = { -# trigger = { -# faith = { religion_tag = tengrism_religion } -# is_female = yes -# } -# desc = trait_crusader_king_tengrism_female -# } -# triggered_desc = { -# trigger = { faith = { religion_tag = tengrism_religion } } -# desc = trait_crusader_king_tengrism_male -# } -# triggered_desc = { -# trigger = { faith = { religion_tag = west_african_religion } } -# desc = trait_crusader_king_west_african -# } -# triggered_desc = { -# trigger = { faith = { religion_tag = west_african_bori_religion } } -# desc = trait_crusader_king_west_african_bori -# } -# triggered_desc = { -# trigger = { faith = { religion_tag = west_african_roog_religion } } -# desc = trait_crusader_king_west_african_roog -# } -# triggered_desc = { -# trigger = { faith = { religion_tag = zoroastrianism_religion } } -# desc = trait_crusader_king_zoroastrianism -# } -# triggered_desc = { -# trigger = { -# faith = { religion_tag = zunism_religion } -# is_female = yes -# } -# desc = trait_crusader_king_zunism_female -# } -# triggered_desc = { -# trigger = { faith = { religion_tag = zunism_religion } } -# desc = trait_crusader_king_zunism_male -# } + triggered_desc = { + trigger = { faith = { religion_tag = magyar_religion } } + desc = trait_crusader_king_magyar + } + triggered_desc = { + trigger = { faith = { religion_tag = baltic_religion } } + desc = trait_crusader_king_baltic + } + triggered_desc = { + trigger = { faith = { religion_tag = slavic_religion } } + desc = trait_crusader_king_slavic + } + triggered_desc = { + trigger = { + faith = { religion_tag = finno_ugric_religion } + is_female = yes + } + desc = trait_crusader_king_finno_ugric_female + } + triggered_desc = { + trigger = { faith = { religion_tag = finno_ugric_religion } } + desc = trait_crusader_king_finno_ugric_male + } + triggered_desc = { + trigger = { faith = { religion_tag = siberian_religion } } + desc = trait_crusader_king_siberian + } + triggered_desc = { + trigger = { + faith = { religion_tag = tengrism_religion } + is_female = yes + } + desc = trait_crusader_king_tengrism_female + } + triggered_desc = { + trigger = { faith = { religion_tag = tengrism_religion } } + desc = trait_crusader_king_tengrism_male + } + triggered_desc = { + trigger = { faith = { religion_tag = west_african_religion } } + desc = trait_crusader_king_west_african + } + triggered_desc = { + trigger = { faith = { religion_tag = west_african_bori_religion } } + desc = trait_crusader_king_west_african_bori + } + triggered_desc = { + trigger = { faith = { religion_tag = west_african_roog_religion } } + desc = trait_crusader_king_west_african_roog + } + triggered_desc = { + trigger = { faith = { religion_tag = zoroastrianism_religion } } + desc = trait_crusader_king_zoroastrianism + } + triggered_desc = { + trigger = { + faith = { religion_tag = zunism_religion } + is_female = yes + } + desc = trait_crusader_king_zunism_female + } + triggered_desc = { + trigger = { faith = { religion_tag = zunism_religion } } + desc = trait_crusader_king_zunism_male + } triggered_desc = { trigger = { is_female = yes } diff --git a/events/activities/coronation_activity/coronation_events_6.txt b/events/activities/coronation_activity/coronation_events_6.txt index 9c846221..601f2ba0 100644 --- a/events/activities/coronation_activity/coronation_events_6.txt +++ b/events/activities/coronation_activity/coronation_events_6.txt @@ -4709,12 +4709,8 @@ coronation_events.6100 = { triggered_desc = { trigger = { scope:activity.var:activity_special_type_progression >= 25 - scope:host = { - OR = { - faith.religion = religion:eastern_orthodox_religion - faith.religion = religion:catholic_religion - faith.religion = religion:protestant_religion - } + scope:host.faith.religion = { + this = religion:christianity_religion } scope:host = { OR = { @@ -4735,12 +4731,8 @@ coronation_events.6100 = { triggered_desc = { trigger = { scope:activity.var:activity_special_type_progression >= 25 - scope:host = { - OR = { - faith.religion = religion:eastern_orthodox_religion - faith.religion = religion:catholic_religion - faith.religion = religion:protestant_religion - } + scope:host.faith.religion = { + this = religion:christianity_religion } scope:host = { OR = { @@ -4771,12 +4763,8 @@ coronation_events.6100 = { } triggered_desc = { trigger = { - scope:host = { - OR = { - faith.religion = religion:eastern_orthodox_religion - faith.religion = religion:catholic_religion - faith.religion = religion:protestant_religion - } + scope:host.faith.religion = { + this = religion:christianity_religion } } desc = coronation_events.6100.desc_christian diff --git a/events/activities/pilgrimage_activity/pilgrimage_events.txt b/events/activities/pilgrimage_activity/pilgrimage_events.txt index 7f0ebff9..8af62e5b 100644 --- a/events/activities/pilgrimage_activity/pilgrimage_events.txt +++ b/events/activities/pilgrimage_activity/pilgrimage_events.txt @@ -11613,11 +11613,7 @@ pilgrimage.6760 = { any_secret = { type = secret_non_believer } } location.county.holder.cp:councillor_court_chaplain ?= { - OR = { - faith.religion = religion:eastern_orthodox_religion - faith.religion = religion:catholic_religion - faith.religion = religion:protestant_religion - } + faith.religion ?= religion:christianity_religion OR = { NOR = { faith = faith:orthodox diff --git a/events/decisions_events/east_europe_events.txt b/events/decisions_events/east_europe_events.txt index bd1e3e3f..b9bebf5b 100644 --- a/events/decisions_events/east_europe_events.txt +++ b/events/decisions_events/east_europe_events.txt @@ -430,9 +430,7 @@ east_europe.0032 = { trigger = { scope:old_faith.religion = { OR = { - this = religion:eastern_orthodox_religion - this = religion:catholic_religion - this = religion:protestant_religion + this = religion:christianity_religion this = religion:islam_religion this = religion:judaism_religion is_in_family = rf_eastern @@ -757,11 +755,7 @@ scripted_trigger generic_invalidation_criteria_trigger = { } #Scope:heretic has converted to a different Abrahamic religion. faith.religion = { - NOR = { - this = religion:eastern_orthodox_religion - this = religion:catholic_religion - this = religion:protestant_religion - } + NOT = { this = religion:christianity_religion } is_in_family = rf_abrahamic } #Scope:heretic has converted to a totally different religious family. @@ -2336,9 +2330,7 @@ east_europe.0123 = { limit = { scope:heretic = { faith.religion = { - NOR = { this = religion:eastern_orthodox_religion - this = religion:catholic_religion - this = religion:protestant_religion } + NOT = { this = religion:christianity_religion } is_in_family = rf_abrahamic } } @@ -2552,9 +2544,7 @@ east_europe.0124 = { limit = { scope:heretic = { faith.religion = { - NOR = { this = religion:eastern_orthodox_religion - this = religion:catholic_religion - this = religion:protestant_religion } + NOT = { this = religion:christianity_religion } is_in_family = rf_abrahamic } } diff --git a/events/decisions_events/iberia_north_africa_events.txt b/events/decisions_events/iberia_north_africa_events.txt index 05af4bb8..da6ffd8d 100644 --- a/events/decisions_events/iberia_north_africa_events.txt +++ b/events/decisions_events/iberia_north_africa_events.txt @@ -37,3282 +37,3281 @@ -##I formed Portugal! -#iberia_north_africa.0001 = { #by Mathilda Bjarnehed -# type = character_event -# title = iberia_north_africa.0001.t -# desc = { -# desc = iberia_north_africa.0001.start.desc -# first_valid = { -# triggered_desc = { -# trigger = { -# game_start_date >= 789.1.1 #The end of Umayyad Conquest -# faith = { OR = { religion_tag = eastern_orthodox_religion religion_tag = catholic_religion religion_tag = protestant_religion } } -# } -# desc = iberia_north_africa.0001.christian.desc -# } -# triggered_desc = { -# trigger = { -# game_start_date >= 789.1.1 #The end of Umayyad Conquest -# faith = { religion_tag = islam_religion } -# } -# desc = iberia_north_africa.0001.muslim.desc -# } -# } -# desc = iberia_north_africa.0001.end.desc -# } -# theme = realm -# left_portrait = { -# character = scope:portugal_former -# animation = admiration -# } -# -# immediate = { -# play_music_cue = "mx_cue_positive_effect" -# form_portugal_decision_effects = yes #Title changes, prestige, culture swap -# -# legend_seed_new_title_effect = yes -# } -# -# option = { -# name = iberia_north_africa.0001.a -# set_nickname_effect = { NICKNAME = nick_the_great } -# } -#} -# -#scripted_trigger iberia_north_africa_0002_is_in_portugal_trigger = { -# capital_province = { -# county = { -# any_this_title_or_de_jure_above = { -# this = title:k_portugal -# } -# } -# } -#} -# -##Someone formed Portugal! -#iberia_north_africa.0002 = { #by Mathilda Bjarnehed -# type = character_event -# title = iberia_north_africa.0001.t -# desc = { -# desc = iberia_north_africa.0002.start.desc -# first_valid = { -# triggered_desc = { -# trigger = { -# has_RelationToMe_relation = { CHARACTER = scope:portugal_former } -# } -# desc = iberia_north_africa.0002.relation_former.desc -# } -# desc = iberia_north_africa.0002.former.desc -# } -# desc = iberia_north_africa.0002.end.desc -# } -# theme = realm -# left_portrait = { -# character = scope:portugal_former -# animation = admiration -# } -# -# immediate = { -# #If in Portugal, play the appropriate sound effect. -# if = { -# limit = { iberia_north_africa_0002_is_in_portugal_trigger = yes } -# play_music_cue = "mx_cue_positive_effect" -# } -# } -# -# #OK -# option = { -# trigger = { iberia_north_africa_0002_is_in_portugal_trigger = no } -# name = { -# trigger = { faith = scope:portugal_former.faith } -# text = iberia_north_africa.0002.a1 -# } -# name = { -# trigger = { faith != scope:portugal_former.faith } -# text = name_i_see -# } -# } -# -# #Convert to portuguese -# option = { -# trigger = { iberia_north_africa_0002_is_in_portugal_trigger = yes } -# name = iberia_north_africa.0002.b -# -# every_courtier = { -# limit = { has_same_culture_as = root } -# add_to_list = convert_list -# } -# -# set_culture = culture:portuguese -# -# every_in_list = { -# list = convert_list -# custom = portguese_convert_list_court -# set_culture = culture:portuguese -# } -# -# ai_chance = { -# base = 1 -# } -# } -# -# #Keep my culture -# option = { -# trigger = { iberia_north_africa_0002_is_in_portugal_trigger = yes } -# name = iberia_north_africa.0002.c -# -# reverse_add_opinion = { -# target = scope:portugal_former -# modifier = disappointed_opinion -# opinion = -15 -# } -# -# ai_chance = { -# base = 0 -# } -# } -#} -# -# -##I have united the Spanish thrones! -#iberia_north_africa.0005 = { #by Mathilda Bjarnehed -# type = character_event -# title = iberia_north_africa.0005.t -# desc = iberia_north_africa.0005.desc -# theme = realm -# left_portrait = { -# character = scope:spain_uniter -# animation = personality_bold -# } -# -# immediate = { -# play_music_cue = "mx_cue_positive_effect" -# unite_the_spanish_thrones_decision_effects = yes -# legend_seed_great_deed_title_effect = { -# TITLE = root.primary_title -# } -# -# } -# -# option = { -# name = iberia_north_africa.0005.a -# -# give_nickname = nick_the_motherfather_of_spain -# } -#} -# -##Someone united the spanish thrones! -#iberia_north_africa.0006 = { #by Mathilda Bjarnehed -# type = character_event -# title = iberia_north_africa.0005.t -# desc = { -# desc = iberia_north_africa.0006.start.desc -# first_valid = { -# triggered_desc = { -# trigger = { -# has_RelationToMe_relation = { CHARACTER = scope:spain_uniter } -# } -# desc = iberia_north_africa.0006.relation_former.desc -# } -# desc = iberia_north_africa.0006.former.desc -# } -# desc = iberia_north_africa.0006.end.desc -# } -# theme = realm -# left_portrait = { -# character = scope:spain_uniter -# animation = personality_bold -# } -# -# option = { -# name = name_i_see -# } -#} -# +#I formed Portugal! +iberia_north_africa.0001 = { #by Mathilda Bjarnehed + type = character_event + title = iberia_north_africa.0001.t + desc = { + desc = iberia_north_africa.0001.start.desc + first_valid = { + triggered_desc = { + trigger = { + game_start_date >= 789.1.1 #The end of Umayyad Conquest + faith = { OR = { religion_tag = eastern_orthodox_religion religion_tag = catholic_religion religion_tag = protestant_religion } } + } + desc = iberia_north_africa.0001.christian.desc + } + triggered_desc = { + trigger = { + game_start_date >= 789.1.1 #The end of Umayyad Conquest + faith = { religion_tag = islam_religion } + } + desc = iberia_north_africa.0001.muslim.desc + } + } + desc = iberia_north_africa.0001.end.desc + } + theme = realm + left_portrait = { + character = scope:portugal_former + animation = admiration + } + + immediate = { + play_music_cue = "mx_cue_positive_effect" + form_portugal_decision_effects = yes #Title changes, prestige, culture swap + + legend_seed_new_title_effect = yes + } + + option = { + name = iberia_north_africa.0001.a + set_nickname_effect = { NICKNAME = nick_the_great } + } +} + +scripted_trigger iberia_north_africa_0002_is_in_portugal_trigger = { + capital_province = { + county = { + any_this_title_or_de_jure_above = { + this = title:k_portugal + } + } + } +} + +#Someone formed Portugal! +iberia_north_africa.0002 = { #by Mathilda Bjarnehed + type = character_event + title = iberia_north_africa.0001.t + desc = { + desc = iberia_north_africa.0002.start.desc + first_valid = { + triggered_desc = { + trigger = { + has_RelationToMe_relation = { CHARACTER = scope:portugal_former } + } + desc = iberia_north_africa.0002.relation_former.desc + } + desc = iberia_north_africa.0002.former.desc + } + desc = iberia_north_africa.0002.end.desc + } + theme = realm + left_portrait = { + character = scope:portugal_former + animation = admiration + } + + immediate = { + #If in Portugal, play the appropriate sound effect. + if = { + limit = { iberia_north_africa_0002_is_in_portugal_trigger = yes } + play_music_cue = "mx_cue_positive_effect" + } + } + + #OK + option = { + trigger = { iberia_north_africa_0002_is_in_portugal_trigger = no } + name = { + trigger = { faith = scope:portugal_former.faith } + text = iberia_north_africa.0002.a1 + } + name = { + trigger = { faith != scope:portugal_former.faith } + text = name_i_see + } + } + + #Convert to portuguese + option = { + trigger = { iberia_north_africa_0002_is_in_portugal_trigger = yes } + name = iberia_north_africa.0002.b + + every_courtier = { + limit = { has_same_culture_as = root } + add_to_list = convert_list + } + + set_culture = culture:portuguese + + every_in_list = { + list = convert_list + custom = portguese_convert_list_court + set_culture = culture:portuguese + } + + ai_chance = { + base = 1 + } + } + + #Keep my culture + option = { + trigger = { iberia_north_africa_0002_is_in_portugal_trigger = yes } + name = iberia_north_africa.0002.c + + reverse_add_opinion = { + target = scope:portugal_former + modifier = disappointed_opinion + opinion = -15 + } + + ai_chance = { + base = 0 + } + } +} + + +#I have united the Spanish thrones! +iberia_north_africa.0005 = { #by Mathilda Bjarnehed + type = character_event + title = iberia_north_africa.0005.t + desc = iberia_north_africa.0005.desc + theme = realm + left_portrait = { + character = scope:spain_uniter + animation = personality_bold + } + + immediate = { + play_music_cue = "mx_cue_positive_effect" + unite_the_spanish_thrones_decision_effects = yes + legend_seed_great_deed_title_effect = { + TITLE = root.primary_title + } + + } + + option = { + name = iberia_north_africa.0005.a + + give_nickname = nick_the_motherfather_of_spain + } +} + +#Someone united the spanish thrones! +iberia_north_africa.0006 = { #by Mathilda Bjarnehed + type = character_event + title = iberia_north_africa.0005.t + desc = { + desc = iberia_north_africa.0006.start.desc + first_valid = { + triggered_desc = { + trigger = { + has_RelationToMe_relation = { CHARACTER = scope:spain_uniter } + } + desc = iberia_north_africa.0006.relation_former.desc + } + desc = iberia_north_africa.0006.former.desc + } + desc = iberia_north_africa.0006.end.desc + } + theme = realm + left_portrait = { + character = scope:spain_uniter + animation = personality_bold + } + + option = { + name = name_i_see + } +} + #I have united Africa! -#iberia_north_africa.0010 = { #by Mathilda Bjarnehed -# type = character_event -# title = iberia_north_africa.0010.t -# desc = { -# desc = iberia_north_africa.0010.start.desc -# triggered_desc = { -# trigger = { -# exists = scope:vassal_1 -# exists = scope:vassal_2 -# } -# desc = iberia_north_africa.0010.vassals.desc -# } -# first_valid = { -# triggered_desc = { -# trigger = { faith = { religion_tag = west_african_bori_religion } } -# desc = iberia_north_africa.0010.spirits.desc -# } -# triggered_desc = { -# trigger = { -# faith = { -# OR = { -# religion_tag = west_african_roog_religion -# religion_tag = west_african_religion -# } -# } -# } -# desc = iberia_north_africa.0010.ancestors.desc -# } -# desc = iberia_north_africa.0010.generic.desc -# } -# } -# theme = realm -# left_portrait = { -# character = scope:africa_uniter -# animation = personality_honorable -# } -# -# immediate = { -# play_music_cue = "mx_cue_epic_sacral_moment" -# unite_africa_decision_effects = yes -# legend_seed_great_deed_region_effect = { -# REGION = geographical_region:world_africa -# } -# -# #For description -# random_vassal = { -# limit = { highest_held_title_tier = tier_kingdom } -# alternative_limit = { highest_held_title_tier = tier_duchy } -# alternative_limit = { highest_held_title_tier = tier_county } -# save_scope_as = vassal_1 -# } -# random_vassal_or_below = { -# limit = { -# NOR = { -# has_culture = scope:vassal_1.culture -# highest_held_title_tier = scope:vassal_1.highest_held_title_tier -# } -# highest_held_title_tier = tier_county -# } -# alternative_limit = { -# NOR = { -# has_culture = scope:vassal_1.culture -# highest_held_title_tier = scope:vassal_1.highest_held_title_tier -# } -# highest_held_title_tier = tier_duchy -# } -# alternative_limit = { -# NOR = { -# has_culture = scope:vassal_1.culture -# highest_held_title_tier = scope:vassal_1.highest_held_title_tier -# } -# } -# save_scope_as = vassal_2 -# } -# } -# -# option = { -# name = iberia_north_africa.0010.a -# -# give_nickname = nick_the_unifier_of_africa -# } -#} -# -##Someone united Africa! -#iberia_north_africa.0011 = { #by Mathilda Bjarnehed -# type = character_event -# title = iberia_north_africa.0010.t -# desc = { -# desc = iberia_north_africa.0011.start.desc -# first_valid = { -# triggered_desc = { -# trigger = { -# has_RelationToMe_relation = { CHARACTER = scope:africa_uniter } -# } -# desc = iberia_north_africa.0011.relation_former.desc -# } -# desc = iberia_north_africa.0011.former.desc -# } -# desc = iberia_north_africa.0011.end.desc -# } -# theme = realm -# left_portrait = { -# character = scope:africa_uniter -# animation = personality_honorable -# } -# -# immediate = { -# show_as_tooltip = { -# scope:africa_uniter.faith = { -# change_fervor = { -# value = medium_fervor_gain -# desc = fervor_gain_united_africa -# } -# } -# } -# } -# -# option = { -# name = { -# trigger = { faith = scope:africa_uniter.faith } -# text = iberia_north_africa.0002.a1 -# } -# name = { -# trigger = { faith != scope:africa_uniter.faith } -# text = name_alas -# } -# } -#} -# -# -##I have avenged the Battle of Tours -#iberia_north_africa.0015 = { #by Mathilda Bjarnehed -# type = character_event -# title = iberia_north_africa.0015.t -# desc = { -# desc = iberia_north_africa.0015.part1.desc -# desc = iberia_north_africa.0015.part2.desc -# } -# theme = realm -# left_portrait = { -# character = scope:avenger -# animation = personality_vengeful -# } -# -# immediate = { -# play_music_cue = "mx_cue_combat_2" -# avenge_the_battle_of_tours_decision_effects = yes -# legend_seed_great_deed_faith_effect = { -# ANTAGONIST = scope:frankish_christian_faith.religious_head -# OLD_FAITH = scope:frankish_christian_faith -# } -# } -# -# option = { -# name = iberia_north_africa.0015.a -# -# -# } -#} -# -##Someone avenged the Battle of Tours -#iberia_north_africa.0016 = { #by Mathilda Bjarnehed -# type = character_event -# title = { -# first_valid = { -# triggered_desc = { -# trigger = { faith = { religion_tag = islam_religion } } -# desc = iberia_north_africa.0015.t -# } -# desc = iberia_north_africa.0016.t -# } -# } -# desc = { -# first_valid = { -# triggered_desc = { -# trigger = { faith = { religion_tag = islam_religion } } -# desc = { -# desc = iberia_north_africa.0015.part1.desc -# first_valid = { -# triggered_desc = { -# trigger = { -# has_RelationToMe_relation = { CHARACTER = scope:avenger } -# } -# desc = iberia_north_africa.0016.relation_former.desc -# } -# desc = iberia_north_africa.0016.former.desc -# } -# desc = iberia_north_africa.0015.islam.desc -# } -# } -# desc = iberia_north_africa.0016.generic.desc -# } -# } -# theme = realm -# left_portrait = { -# character = scope:avenger -# animation = personality_vengeful -# } -# -# immediate = { -# play_music_cue = "mx_cue_combat_3" -# if = { -# limit = { exists = scope:frankish_christian_faith } -# show_as_tooltip = { -# scope:avenger = { -# faith = { -# change_fervor = { -# value = major_fervor_gain -# desc = fervor_gain_avenged_battle_of_tours -# } -# } -# } -# scope:frankish_christian_faith = { -# change_fervor = { -# value = major_fervor_loss -# desc = fervor_loss_avenged_battle_of_tours -# } -# } -# } -# } -# } -# -# option = { -# name = { -# trigger = { faith = { religion_tag = islam_religion } } -# text = iberia_north_africa.0015.a -# } -# name = { -# trigger = { faith = { OR = { religion_tag = eastern_orthodox_religion religion_tag = catholic_religion religion_tag = protestant_religion } } } -# text = iberia_north_africa.0016.christianity.a -# } -# name = { -# trigger = { -# faith = { -# NOR = { -# OR = { religion_tag = eastern_orthodox_religion religion_tag = catholic_religion religion_tag = protestant_religion } -# religion_tag = islam_religion -# } -# } -# } -# text = name_alas -# } -# } -#} -# -##I formed Canarias! -#iberia_north_africa.9101 = { #by James Beaumont -# type = character_event -# title = iberia_north_africa.9101.t -# desc = { -# desc = iberia_north_africa.9101.desc.intro -# first_valid = { -# triggered_desc = { -# trigger = { -# NOT = { religion = religion:north_african_religion } -# } -# desc = iberia_north_africa.9101.desc.iberian -# } -# triggered_desc = { -# trigger = { -# religion = religion:north_african_religion -# } -# desc = iberia_north_africa.9101.desc.guanche -# } -# } -# desc = iberia_north_africa.9101.desc.outro -# } -# theme = realm -# left_portrait = { -# character = scope:canarias_former -# animation = admiration -# } -# -# immediate = { -# play_music_cue = "mx_cue_positive_effect" -# declare_canarias_decision_effects = yes -# legend_seed_new_title_effect = yes -# } -# -# option = { -# name = iberia_north_africa.9101.a -# trigger = { -# NOT = { -# culture = { has_cultural_pillar = heritage_iberian } -# } -# } -# set_nickname_effect = { NICKNAME = nick_the_great } -# } -# -# option = { -# name = iberia_north_africa.9101.b -# trigger = { -# NAND = { -# culture = { has_cultural_pillar = heritage_berber } -# religion = religion:north_african_religion -# } -# } -# set_nickname_effect = { NICKNAME = nick_the_great } -# title:k_canarias = { -# set_de_jure_liege_title = title:e_spain -# } -# } -#} -# -################################################### -## Loyalty to St. Peter's Throne -## by Ewan Cowhig Croft -## 0101 - 0110 -################################################### -# -## Mozarabic Christianity reaffirms its place amongst the ecumenical churches. -#iberia_north_africa.0101 = { -# type = character_event -# title = iberia_north_africa.0101.t -# desc = iberia_north_africa.0101.desc -# theme = faith -# left_portrait = { -# character = scope:religious_leader -# animation = personality_zealous -# } -# right_portrait = { -# character = scope:pope -# animation = flirtation -# } -# -# immediate = { play_music_cue = "mx_cue_faith_conversion" } -# -# # One people, one faith: swap Rite for Communal Identity. -# option = { -# name = iberia_north_africa.0101.a -# flavor = iberia_north_africa.0101.a.tt -# -# # Apply the effects in the after block to keep future notifications from erroring. -# show_as_tooltip = { mozarabic_bind_the_faith_to_rome_decision_righteous_path_scripted_effect = yes } -# # Flag our choice. -# save_scope_value_as = { -# name = mozarabic_choice -# value = flag:righteous -# } -# -# stress_impact = { -# shy = minor_stress_impact_gain -# cynical = medium_stress_impact_gain -# } -# ai_chance = { -# base = 100 -# ai_value_modifier = { -# ai_sociability = 1 -# ai_zeal = 0.5 -# } -# } -# } -# -# # We cannot be afraid to seize power in order to defend our own: swap Rite for Pursuit of Power. -# option = { -# name = iberia_north_africa.0101.b -# flavor = iberia_north_africa.0101.b.tt -# -# # Apply the effects in the after block to keep future notifications from erroring. -# show_as_tooltip = { mozarabic_bind_the_faith_to_rome_decision_fundamentalist_path_scripted_effect = yes } -# # Flag our choice. -# save_scope_value_as = { -# name = mozarabic_choice -# value = flag:fundamentalist -# } -# -# stress_impact = { -# compassionate = medium_stress_impact_loss -# craven = major_stress_impact_gain -# } -# ai_chance = { -# base = 100 -# ai_value_modifier = { -# ai_vengefulness = 1 -# ai_compassion = -1 -# } -# } -# } -# -# # The GetHolyBooks will still need interpretation: swap Rite for Religious Law. -# option = { -# name = iberia_north_africa.0101.c -# flavor = iberia_north_africa.0101.c.tt -# -# # Apply the effects in the after block to keep future notifications from erroring. -# show_as_tooltip = { mozarabic_bind_the_faith_to_rome_decision_pluralist_path_scripted_effect = yes } -# # Flag our choice. -# save_scope_value_as = { -# name = mozarabic_choice -# value = flag:pluralist -# } -# -# stress_impact = { -# lazy = medium_stress_impact_loss -# arbitrary = major_stress_impact_gain -# } -# ai_chance = { -# base = 100 -# ai_value_modifier = { -# ai_rationality = 1 -# ai_energy = 0.5 -# } -# } -# } -# -# after = { -# # Now take care of notification events for players. -# every_player = { -# limit = { -# this != scope:religious_leader -# OR = { -# faith = faith:mozarabic_church -# any_neighboring_and_across_water_top_liege_realm_owner = { this = root.top_liege } -# } -# } -# trigger_event = iberia_north_africa.0102 -# } -# # And finally, actually apply the effects. -# if = { -# limit = { -# exists = scope:mozarabic_choice -# scope:mozarabic_choice = flag:fundamentalist -# } -# mozarabic_bind_the_faith_to_rome_decision_fundamentalist_path_scripted_effect = yes -# } -# if = { -# limit = { -# exists = scope:mozarabic_choice -# scope:mozarabic_choice = flag:righteous -# } -# mozarabic_bind_the_faith_to_rome_decision_righteous_path_scripted_effect = yes -# } -# if = { -# limit = { -# exists = scope:mozarabic_choice -# scope:mozarabic_choice = flag:pluralist -# } -# mozarabic_bind_the_faith_to_rome_decision_pluralist_path_scripted_effect = yes -# } -# } -#} -# -## Notification event for relevant players. -#iberia_north_africa.0102 = { -# type = character_event -# title = iberia_north_africa.0102.t -# desc = { -# desc = iberia_north_africa.0102.desc.intro -# # Fundamentalist -# triggered_desc = { -# trigger = { scope:mozarabic_choice = flag:fundamentalist } -# desc = iberia_north_africa.0102.desc.fundamentalist -# } -# # Righteous -# triggered_desc = { -# trigger = { scope:mozarabic_choice = flag:righteous } -# desc = iberia_north_africa.0102.desc.righteous -# } -# # Pluralist -# triggered_desc = { -# trigger = { scope:mozarabic_choice = flag:pluralist } -# desc = iberia_north_africa.0102.desc.pluralist -# } -# } -# theme = faith -# left_portrait = { -# character = scope:religious_leader -# animation = personality_zealous -# } -# right_portrait = { -# character = scope:pope -# animation = flirtation -# } -# -# immediate = { play_music_cue = "mx_cue_faith_conversion" } -# -# # Fundamentalist path. -# option = { -# # We're using a broken-out block because the auto-magical first_valid name stuff was borking. -# name = { -# text = { -# first_valid = { -# triggered_desc = { -# trigger = { faith = faith:mozarabic_church } -# desc = iberia_north_africa.0102.a.same_faith -# } -# triggered_desc = { -# trigger = { OR = { religion = religion:eastern_orthodox_religion religion = religion:catholic_religion religion = religion:protestant_religion } } -# desc = iberia_north_africa.0102.a.same_religion -# } -# desc = iberia_north_africa.0102.a.misc -# } -# } -# } -# trigger = { scope:mozarabic_choice = flag:fundamentalist } -# -# show_as_tooltip = { -# scope:religious_leader = { mozarabic_bind_the_faith_to_rome_decision_fundamentalist_path_scripted_effect = yes } -# } -# -# # No stress impact for a notification event. -# ai_chance = { -# # AI chance isn't relevant for a notification event. -# base = 100 -# } -# } -# -# # Righteous path. -# option = { -# # We're using a broken-out block because the auto-magical first_valid name stuff was borking. -# name = { -# text = { -# first_valid = { -# triggered_desc = { -# trigger = { faith = faith:mozarabic_church } -# desc = iberia_north_africa.0102.b.same_faith -# } -# triggered_desc = { -# trigger = { OR = { religion = religion:eastern_orthodox_religion religion = religion:catholic_religion religion = religion:protestant_religion } } -# desc = iberia_north_africa.0102.b.same_religion -# } -# desc = iberia_north_africa.0102.b.misc -# } -# } -# } -# trigger = { scope:mozarabic_choice = flag:righteous } -# -# show_as_tooltip = { -# scope:religious_leader = { mozarabic_bind_the_faith_to_rome_decision_righteous_path_scripted_effect = yes } -# } -# -# # No stress impact for a notification event. -# ai_chance = { -# # AI chance isn't relevant for a notification event. -# base = 100 -# } -# } -# -# # Pluralist path. -# option = { -# # We're using a broken-out block because the auto-magical first_valid name stuff was borking. -# name = { -# text = { -# first_valid = { -# triggered_desc = { -# trigger = { faith = faith:mozarabic_church } -# desc = iberia_north_africa.0102.c.same_faith -# } -# triggered_desc = { -# trigger = { OR = { religion = religion:eastern_orthodox_religion religion = religion:catholic_religion religion = religion:protestant_religion } } -# desc = iberia_north_africa.0102.c.same_religion -# } -# desc = iberia_north_africa.0102.c.misc -# } -# } -# } -# trigger = { scope:mozarabic_choice = flag:pluralist } -# -# show_as_tooltip = { -# scope:religious_leader = { mozarabic_bind_the_faith_to_rome_decision_pluralist_path_scripted_effect = yes } -# } -# -# # No stress impact for a notification event. -# ai_chance = { -# # AI chance isn't relevant for a notification event. -# base = 100 -# } -# } -#} -# -################################################### -## An Iberian Rite -## by Ewan Cowhig Croft -## 0111 - 0120 -################################################### -# -## Mozarabic Christianity breaks away from Rome's strictures. -#iberia_north_africa.0111 = { -# type = character_event -# title = iberia_north_africa.0111.t -# desc = iberia_north_africa.0111.desc -# theme = faith -# left_portrait = { -# character = scope:religious_leader -# animation = personality_vengeful -# } -# right_portrait = { -# character = scope:pope -# animation = fear -# } -# -# immediate = { play_music_cue = "mx_cue_faith_conversion" } -# -# # Jesus taught peace, and we shall follow: swap Rite for Pacifism. -# option = { -# name = iberia_north_africa.0111.a -# flavor = iberia_north_africa.0111.a.tt -# -# # Apply the effects in the after block to keep future notifications from erroring. -# show_as_tooltip = { mozarabic_break_with_rome_decision_righteous_path_scripted_effect = yes } -# # Flag our choice. -# save_scope_value_as = { -# name = mozarabic_choice -# value = flag:righteous -# } -# -# stress_impact = { -# shy = minor_stress_impact_gain -# cynical = medium_stress_impact_gain -# } -# ai_chance = { -# base = 100 -# ai_value_modifier = { -# ai_sociability = 1 -# ai_zeal = 0.5 -# } -# } -# } -# -# # Even without Rome, we know the value of defending our own: swap Rite for Armed Pilgrimages. -# option = { -# name = iberia_north_africa.0111.b -# flavor = iberia_north_africa.0111.b.tt -# -# # Apply the effects in the after block to keep future notifications from erroring. -# show_as_tooltip = { mozarabic_break_with_rome_decision_fundamentalist_path_scripted_effect = yes } -# # Flag our choice. -# save_scope_value_as = { -# name = mozarabic_choice -# value = flag:fundamentalist -# } -# -# stress_impact = { -# compassionate = medium_stress_impact_loss -# craven = major_stress_impact_gain -# } -# ai_chance = { -# base = 100 -# ai_value_modifier = { -# ai_vengefulness = 1 -# ai_compassion = -1 -# } -# } -# } -# -# # Is Islam not a religion of the Book too?: swap Rite for Islamic Syncretism. -# option = { -# name = iberia_north_africa.0111.c -# flavor = iberia_north_africa.0111.c.tt -# -# # Apply the effects in the after block to keep future notifications from erroring. -# show_as_tooltip = { mozarabic_break_with_rome_decision_pluralist_path_scripted_effect = yes } -# # Flag our choice. -# save_scope_value_as = { -# name = mozarabic_choice -# value = flag:pluralist -# } -# -# stress_impact = { -# lazy = medium_stress_impact_loss -# arbitrary = major_stress_impact_gain -# } -# ai_chance = { -# base = 100 -# ai_value_modifier = { -# ai_rationality = 1 -# ai_energy = 0.5 -# } -# } -# } -# -# after = { -# mozarabic_break_with_rome_decision_hof_and_ecumenism_processing_scripted_effect = yes -# # Now take care of notification events for players. -# every_player = { -# limit = { -# this != scope:religious_leader -# OR = { -# faith = faith:mozarabic_church -# any_neighboring_and_across_water_top_liege_realm_owner = { this = root.top_liege } -# } -# } -# trigger_event = iberia_north_africa.0112 -# } -# # And finally, actually apply the effects. -# if = { -# limit = { -# exists = scope:mozarabic_choice -# scope:mozarabic_choice = flag:fundamentalist -# } -# mozarabic_break_with_rome_decision_fundamentalist_path_scripted_effect = yes -# } -# if = { -# limit = { -# exists = scope:mozarabic_choice -# scope:mozarabic_choice = flag:righteous -# } -# mozarabic_break_with_rome_decision_righteous_path_scripted_effect = yes -# } -# if = { -# limit = { -# exists = scope:mozarabic_choice -# scope:mozarabic_choice = flag:pluralist -# } -# mozarabic_break_with_rome_decision_pluralist_path_scripted_effect = yes -# } -# } -#} -# -## Notification event for relevant players. -#iberia_north_africa.0112 = { -# type = character_event -# title = iberia_north_africa.0112.t -# desc = { -# desc = iberia_north_africa.0112.desc.intro -# # Fundamentalist -# triggered_desc = { -# trigger = { scope:mozarabic_choice = flag:fundamentalist } -# desc = iberia_north_africa.0112.desc.fundamentalist -# } -# # Righteous -# triggered_desc = { -# trigger = { scope:mozarabic_choice = flag:righteous } -# desc = iberia_north_africa.0112.desc.righteous -# } -# # Pluralist -# triggered_desc = { -# trigger = { scope:mozarabic_choice = flag:pluralist } -# desc = iberia_north_africa.0112.desc.pluralist -# } -# } -# theme = faith -# left_portrait = { -# character = scope:religious_leader -# animation = personality_vengeful -# } -# right_portrait = { -# character = scope:pope -# animation = fear -# } -# -# immediate = { -# play_music_cue = "mx_cue_faith_conversion" -# } -# -# # Fundamentalist path. -# option = { -# # We're using a broken-out block because the auto-magical first_valid name stuff was borking. -# name = { -# text = { -# first_valid = { -# triggered_desc = { -# trigger = { faith = faith:mozarabic_church } -# desc = iberia_north_africa.0112.a.same_faith -# } -# triggered_desc = { -# trigger = { OR = { religion = religion:eastern_orthodox_religion religion = religion:catholic_religion religion = religion:protestant_religion } } -# desc = iberia_north_africa.0112.a.same_religion -# } -# desc = iberia_north_africa.0112.a.misc -# } -# } -# } -# trigger = { scope:mozarabic_choice = flag:fundamentalist } -# -# show_as_tooltip = { -# scope:religious_leader = { mozarabic_break_with_rome_decision_fundamentalist_path_scripted_effect = yes } -# } -# -# # No stress impact for a notification event. -# ai_chance = { -# # AI chance isn't relevant for a notification event. -# base = 100 -# } -# } -# -# # Righteous path. -# option = { -# # We're using a broken-out block because the auto-magical first_valid name stuff was borking. -# name = { -# text = { -# first_valid = { -# triggered_desc = { -# trigger = { faith = faith:mozarabic_church } -# desc = iberia_north_africa.0112.b.same_faith -# } -# triggered_desc = { -# trigger = { OR = { religion = religion:eastern_orthodox_religion religion = religion:catholic_religion religion = religion:protestant_religion } } -# desc = iberia_north_africa.0112.b.same_religion -# } -# desc = iberia_north_africa.0112.b.misc -# } -# } -# } -# trigger = { scope:mozarabic_choice = flag:righteous } -# -# show_as_tooltip = { -# scope:religious_leader = { mozarabic_break_with_rome_decision_righteous_path_scripted_effect = yes } -# } -# -# # No stress impact for a notification event. -# ai_chance = { -# # AI chance isn't relevant for a notification event. -# base = 100 -# } -# } -# -# # Pluralist path. -# option = { -# # We're using a broken-out block because the auto-magical first_valid name stuff was borking. -# name = { -# text = { -# first_valid = { -# triggered_desc = { -# trigger = { -# faith = { -# OR = { -# this = faith:mozarabic_church -# has_doctrine = tenet_islamic_syncretism -# } -# } -# } -# desc = iberia_north_africa.0112.c.same_faith -# } -# triggered_desc = { -# trigger = { OR = { religion = religion:eastern_orthodox_religion religion = religion:catholic_religion religion = religion:protestant_religion } } -# desc = iberia_north_africa.0112.c.same_religion -# } -# triggered_desc = { -# trigger = { religion = religion:islam_religion } -# desc = iberia_north_africa.0112.c.same_religion -# } -# desc = iberia_north_africa.0112.c.misc -# } -# } -# } -# trigger = { scope:mozarabic_choice = flag:pluralist } -# -# show_as_tooltip = { -# scope:religious_leader = { mozarabic_break_with_rome_decision_pluralist_path_scripted_effect = yes } -# } -# -# # No stress impact for a notification event. -# ai_chance = { -# # AI chance isn't relevant for a notification event. -# base = 100 -# } -# } -# -# after = { -# show_as_tooltip = { mozarabic_break_with_rome_decision_hof_and_ecumenism_processing_scripted_effect = yes } -# } -#} -# -################################################### -## A Return to the Countryside -## ^Geddit GEDDIT [not-actually-particularly-clever chortling] -## by Ewan Cowhig Croft -## 0121 - 0130 -################################################### -# -## A disillusioned ruler seeks out and sponsors the remnant pagan aspects of the Pyrenees. -#iberia_north_africa.0121 = { -# type = character_event -# title = iberia_north_africa.0121.t -# desc = { -# desc = iberia_north_africa.0121.desc.intro -# # Nab the rationalisation. -# desc = { -# # We order these according to approximate rarity level/importance. -# ## They're kept isolated in a scripted trigger file so that we can maintain easy parity between the decision rationales & the event desc rationales. -# first_valid = { -# # Excommunicated -# triggered_desc = { -# trigger = { favour_the_countryside_basques_rationale_excommunicated_trigger = yes } -# desc = iberia_north_africa.0121.desc.excommunicated -# } -# # Rivalry with HoF -# triggered_desc = { -# trigger = { favour_the_countryside_basques_rationale_hof_rivalry_trigger = yes } -# desc = iberia_north_africa.0121.desc.rivalry_with_hof -# } -# # Negative Piety Level -# triggered_desc = { -# trigger = { favour_the_countryside_basques_rationale_negative_piety_level_trigger = yes } -# desc = iberia_north_africa.0121.desc.negative_piety_level -# } -# # Easter egg: the Lorgar special -# triggered_desc = { -# trigger = { has_trait = zealous } -# desc = iberia_north_africa.0121.desc.lorgar -# } -# # Sinful Traits -# triggered_desc = { -# trigger = { favour_the_countryside_basques_rationale_sinful_traits_trigger = yes } -# desc = iberia_north_africa.0121.desc.sinful_traits -# } -# # Virtuous Basque pagan traits -# triggered_desc = { -# trigger = { favour_the_countryside_basques_rationale_virtuous_basque_pagan_traits_trigger = yes } -# desc = iberia_north_africa.0121.desc.virtuous_basque_pagan_traits -# } -# # Naked cynicism; we use this as the fallback. -# desc = iberia_north_africa.0121.desc.naked_cynicism -# } -# } -# desc = iberia_north_africa.0121.desc.outro -# } -# theme = faith -# left_portrait = { -# character = scope:religious_leader -# animation = scheme -# } -# right_portrait = { -# character = scope:scandalised_cleric -# animation = stress -# } -# override_background = { reference = wilderness_mountains } -# -# immediate = { -# play_music_cue = "mx_cue_faith_conversion" -# } -# -# # scope:basque_faith shall be a warrior's faith again!: swap Christian Syncretism for Warmonger. -# option = { -# name = iberia_north_africa.0121.a -# flavor = iberia_north_africa.0121.a.tt -# # The AI should only really be doing this if they're coming out of the Vikings or otherwise have suitable traits. -# trigger = { -# OR = { -# is_ai = no -# scope:old_faith = { has_doctrine_parameter = great_holy_wars_active_if_reformed } -# has_trait = wrathful -# has_trait = crusader_king -# has_trait = faith_warrior -# } -# } -# -# # Apply the effects in the after block to keep future notifications from erroring. -# show_as_tooltip = { favour_the_countryside_basques_decision_fundamentalist_path_scripted_effect = yes } -# # Flag our choice. -# save_scope_value_as = { -# name = basque_choice -# value = flag:righteous -# } -# -# stress_impact = { -# base = major_stress_impact_gain -# wrathful = miniscule_stress_impact_loss -# calm = minor_stress_impact_gain -# compassionate = medium_stress_impact_gain -# } -# ai_chance = { -# base = 100 -# ai_value_modifier = { -# ai_vengefulness = 1 -# ai_energy = 0.5 -# } -# } -# } -# -# # It is more important to live in harmony with nature than with neighbours: swap Christian Syncretism for Sanctity of Nature. -# option = { -# name = iberia_north_africa.0121.b -# flavor = iberia_north_africa.0121.b.tt -# # The AI should only be doing this if they're self-assured about what it'll likely do to them, or it's something they're already in to. -# trigger = { -# OR = { -# is_ai = no -# faith = { has_doctrine_parameter = believes_in_harmony_with_nature_invisible } -# AND = { -# OR = { -# has_trait = stubborn -# has_trait = patient -# has_trait = lifestyle_gardener -# } -# has_trait = calm -# has_trait = brave -# } -# } -# } -# -# # Apply the effects in the after block to keep future notifications from erroring. -# show_as_tooltip = { favour_the_countryside_basques_decision_righteous_path_scripted_effect = yes } -# # Flag our choice. -# save_scope_value_as = { -# name = basque_choice -# value = flag:fundamentalist -# } -# -# stress_impact = { -# base = major_stress_impact_gain -# # I mean, you *know* this one is gonna come back to bite you, hard. -# craven = major_stress_impact_gain -# } -# ai_chance = { -# base = 100 -# ai_value_modifier = { -# ai_zeal = 1 -# ai_vengefulness = -1 -# } -# } -# } -# -# # There are more worthy religions to share traditions with...: swap Christian Syncretism for Islamic Syncretism. -# option = { -# name = iberia_north_africa.0121.c -# flavor = iberia_north_africa.0121.c.tt -# # The AI should only really be doing this if it means they're adopting *less* traditions, not more. -# trigger = { -# OR = { -# is_ai = no -# faith = { -# has_doctrine_parameter = islamic_syncretic_actor_opinion_active -# religion = religion:islam_religion -# } -# } -# } -# -# # Apply the effects in the after block to keep future notifications from erroring. -# show_as_tooltip = { favour_the_countryside_basques_decision_pluralist_path_scripted_effect = yes } -# # Flag our choice. -# save_scope_value_as = { -# name = basque_choice -# value = flag:pluralist -# } -# -# # Zealous Muslims & syncretics gain less stress from this. -# if = { -# limit = { -# faith = { -# has_doctrine_parameter = islamic_syncretic_actor_opinion_active -# religion = religion:islam_religion -# } -# } -# stress_impact = { -# base = major_stress_impact_gain -# zealous = medium_stress_impact_loss -# fickle = minor_stress_impact_gain -# drunkard = major_stress_impact_gain -# } -# } -# # But everyone else doesn't. -# else = { -# stress_impact = { -# base = major_stress_impact_gain -# fickle = minor_stress_impact_gain -# drunkard = major_stress_impact_gain -# } -# } -# ai_chance = { -# base = 100 -# ai_value_modifier = { -# ai_zeal = 1 -# ai_boldness = 1 -# } -# } -# } -# -# # If I try to force change, am I any less corrupt than scope:old_faith?: leave the faith as you found it. -# option = { -# name = iberia_north_africa.0121.d -# flavor = iberia_north_africa.0121.d.tt -# -# # Apply the effects in the after block to keep future notifications from erroring. -# show_as_tooltip = { favour_the_countryside_basques_decision_default_path_scripted_effect = yes } -# # Flag our choice. -# save_scope_value_as = { -# name = basque_choice -# value = flag:unchanged -# } -# -# stress_impact = { -# lazy = minor_stress_impact_loss -# arbitrary = major_stress_impact_gain -# } -# ai_chance = { -# base = 100 -# ai_value_modifier = { -# ai_rationality = 1 -# ai_energy = -0.5 -# } -# } -# } -# -# after = { -# legend_seed_great_deed_faith_effect = { -# OLD_FAITH = scope:old_faith -# ANTAGONIST = scope:scandalised_cleric -# } -# # Now take care of notification events for players. -# every_player = { -# limit = { -# this != scope:religious_leader -# OR = { -# favour_the_countryside_basques_counts_as_basque_trigger = yes -# any_neighboring_and_across_water_top_liege_realm_owner = { this = root.top_liege } -# } -# } -# trigger_event = iberia_north_africa.0122 -# } -# # And finally, actually apply the effects. -# ## Our default stuff. -# favour_the_countryside_basques_decision_generic_effects_scripted_effect = yes -# ## Then our changes/lack of changes. -# if = { -# limit = { -# exists = scope:basque_choice -# scope:basque_choice = flag:fundamentalist -# } -# favour_the_countryside_basques_decision_righteous_path_scripted_effect = yes -# } -# else_if = { -# limit = { -# exists = scope:basque_choice -# scope:basque_choice = flag:righteous -# } -# favour_the_countryside_basques_decision_fundamentalist_path_scripted_effect = yes -# } -# else_if = { -# limit = { -# exists = scope:basque_choice -# scope:basque_choice = flag:pluralist -# } -# favour_the_countryside_basques_decision_pluralist_path_scripted_effect = yes -# } -# else_if = { -# limit = { -# exists = scope:basque_choice -# scope:basque_choice = flag:unchanged -# } -# favour_the_countryside_basques_decision_default_path_scripted_effect = yes -# } -# } -#} -# -## Notification event for relevant players. -#iberia_north_africa.0122 = { -# type = character_event -# title = iberia_north_africa.0122.t -# desc = { -# desc = iberia_north_africa.0122.desc.intro -# # Nab the rationalisation. -# desc = { -# # We order these according to approximate rarity level/importance. -# ## They're kept isolated in a scripted trigger file so that we can maintain easy parity between the decision rationales & the event desc rationales. -# first_valid = { -# # Excommunicated -# triggered_desc = { -# trigger = { favour_the_countryside_basques_rationale_excommunicated_trigger = yes } -# desc = iberia_north_africa.0122.desc.excommunicated -# } -# # Rivalry with HoF -# triggered_desc = { -# trigger = { favour_the_countryside_basques_rationale_hof_rivalry_trigger = yes } -# desc = iberia_north_africa.0122.desc.rivalry_with_hof -# } -# # Negative Piety Level -# triggered_desc = { -# trigger = { favour_the_countryside_basques_rationale_negative_piety_level_trigger = yes } -# desc = iberia_north_africa.0122.desc.negative_piety_level -# } -# # Easter egg: the Lorgar special -# triggered_desc = { -# trigger = { has_trait = zealous } -# desc = iberia_north_africa.0122.desc.lorgar -# } -# # Sinful Traits -# triggered_desc = { -# trigger = { favour_the_countryside_basques_rationale_sinful_traits_trigger = yes } -# desc = iberia_north_africa.0122.desc.sinful_traits -# } -# # Virtuous Basque pagan traits -# triggered_desc = { -# trigger = { favour_the_countryside_basques_rationale_virtuous_basque_pagan_traits_trigger = yes } -# desc = iberia_north_africa.0122.desc.virtuous_basque_pagan_traits -# } -# # Naked cynicism; we use this as the fallback. -# desc = iberia_north_africa.0122.desc.naked_cynicism -# } -# } -# desc = iberia_north_africa.0122.desc.midtro -# # What direction is the faith going? -# first_valid = { -# # Fundamentalist -# triggered_desc = { -# trigger = { scope:basque_choice = flag:fundamentalist } -# desc = iberia_north_africa.0122.desc.fundamentalist -# } -# # Righteous -# triggered_desc = { -# trigger = { scope:basque_choice = flag:righteous } -# desc = iberia_north_africa.0122.desc.righteous -# } -# # Pluralist -# triggered_desc = { -# trigger = { scope:basque_choice = flag:pluralist } -# desc = iberia_north_africa.0122.desc.pluralist -# } -# # Unchanged -# triggered_desc = { -# trigger = { scope:basque_choice = flag:unchanged } -# desc = iberia_north_africa.0122.desc.unchanged -# } -# } -# } -# theme = faith -# left_portrait = { -# character = scope:religious_leader -# animation = scheme -# } -# right_portrait = { -# character = scope:scandalised_cleric -# animation = stress -# } -# override_background = { reference = wilderness_mountains } -# -# immediate = { play_music_cue = "mx_cue_faith_conversion" } -# -# # Culturally Basque or Basque-adjacent player; join in? -# option = { -# name = iberia_north_africa.0122.a -# trigger = { -# is_ai = no -# favour_the_countryside_basques_counts_as_basque_trigger = yes -# } -# -# set_character_faith_with_conversion = scope:religious_leader.faith -# if = { -# limit = { -# scope:religious_leader.faith = { has_doctrine = doctrine_monotheist } -# } -# custom_description_no_bullet = { text = mandala_monotheist_warning_tt } -# } -# show_as_tooltip = { -# scope:religious_leader = { -# favour_the_countryside_basques_decision_generic_effects_scripted_effect = yes -# favour_the_countryside_basques_decision_righteous_path_scripted_effect = yes -# } -# } -# -# # No stress impact for a notification event. -# ai_chance = { -# # AI chance isn't relevant for a notification event. -# base = 0 -# } -# } -# -# # Fundamentalist path. -# option = { -# # We're using a broken-out block because the auto-magical first_valid name stuff was borking. -# name = { -# text = { -# first_valid = { -# triggered_desc = { -# trigger = { faith = scope:old_faith } -# desc = iberia_north_africa.0122.b.same_faith -# } -# triggered_desc = { -# trigger = { religion = scope:old_faith.religion } -# desc = iberia_north_africa.0122.b.same_religion -# } -# triggered_desc = { -# trigger = { -# faith = { has_doctrine_parameter = great_holy_wars_active_if_reformed } -# } -# desc = iberia_north_africa.0122.b.respects_fellow_warmongers -# } -# desc = iberia_north_africa.0122.b.misc -# } -# } -# } -# trigger = { scope:basque_choice = flag:fundamentalist } -# -# show_as_tooltip = { -# scope:religious_leader = { -# favour_the_countryside_basques_decision_generic_effects_scripted_effect = yes -# favour_the_countryside_basques_decision_righteous_path_scripted_effect = yes -# } -# } -# -# # No stress impact for a notification event. -# ai_chance = { -# # AI chance isn't relevant for a notification event. -# base = 100 -# } -# } -# -# # Righteous path. -# option = { -# # We're using a broken-out block because the auto-magical first_valid name stuff was borking. -# name = { -# text = { -# first_valid = { -# triggered_desc = { -# trigger = { faith = scope:old_faith } -# desc = iberia_north_africa.0122.c.same_faith -# } -# triggered_desc = { -# trigger = { religion = scope:old_faith.religion } -# desc = iberia_north_africa.0122.c.same_religion -# } -# triggered_desc = { -# trigger = { -# faith = { has_doctrine_parameter = believes_in_harmony_with_nature_invisible } -# } -# desc = iberia_north_africa.0122.c.believes_in_harmony_with_nature -# } -# desc = iberia_north_africa.0122.c.misc -# } -# } -# } -# trigger = { scope:basque_choice = flag:righteous } -# -# show_as_tooltip = { -# scope:religious_leader = { -# favour_the_countryside_basques_decision_generic_effects_scripted_effect = yes -# favour_the_countryside_basques_decision_fundamentalist_path_scripted_effect = yes -# } -# } -# -# # No stress impact for a notification event. -# ai_chance = { -# # AI chance isn't relevant for a notification event. -# base = 100 -# } -# } -# -# # Pluralist path. -# option = { -# # We're using a broken-out block because the auto-magical first_valid name stuff was borking. -# name = { -# text = { -# first_valid = { -# triggered_desc = { -# trigger = { faith.religion = religion:islam_religion } -# desc = iberia_north_africa.0122.d.muslim -# } -# triggered_desc = { -# trigger = { faith = scope:old_faith } -# desc = iberia_north_africa.0122.d.same_faith -# } -# triggered_desc = { -# trigger = { religion = scope:old_faith.religion } -# desc = iberia_north_africa.0122.d.same_religion -# } -# triggered_desc = { -# trigger = { -# faith = { has_doctrine_parameter = islamic_syncretic_actor_opinion_active } -# } -# desc = iberia_north_africa.0122.d.syncretised_with_islam -# } -# desc = iberia_north_africa.0122.d.misc -# } -# } -# } -# trigger = { scope:basque_choice = flag:pluralist } -# -# show_as_tooltip = { -# scope:religious_leader = { -# favour_the_countryside_basques_decision_generic_effects_scripted_effect = yes -# favour_the_countryside_basques_decision_pluralist_path_scripted_effect = yes -# } -# } -# -# # No stress impact for a notification event. -# ai_chance = { -# # AI chance isn't relevant for a notification event. -# base = 100 -# } -# } -# -# # Unchanged path. -# option = { -# # We're using a broken-out block because the auto-magical first_valid name stuff was borking. -# name = { -# text = { -# first_valid = { -# triggered_desc = { -# trigger = { faith = scope:old_faith } -# desc = iberia_north_africa.0122.e.same_faith -# } -# triggered_desc = { -# trigger = { religion = scope:old_faith.religion } -# desc = iberia_north_africa.0122.e.same_religion -# } -# triggered_desc = { -# trigger = { -# faith = { has_doctrine_parameter = christian_syncretic_actor_opinion_active } -# } -# desc = iberia_north_africa.0122.e.syncretised_with_christianity -# } -# desc = iberia_north_africa.0122.e.misc -# } -# } -# } -# trigger = { scope:basque_choice = flag:unchanged } -# -# show_as_tooltip = { -# scope:religious_leader = { favour_the_countryside_basques_decision_pluralist_path_scripted_effect = yes } -# } -# -# # No stress impact for a notification event. -# ai_chance = { -# # AI chance isn't relevant for a notification event. -# base = 100 -# } -# } -#} -# -################################################### -## A Kingdom around the Aragon -## by Ewan Cowhig Croft -## 0131 - 0140 -################################################### -# -#scripted_trigger convert_random_aragonese_counties_in_d_aragon_basic_reqs_trigger = { -# tier = tier_county -# NOT = { culture = culture:aragonese } -#} -# -#scripted_effect copy_over_new_cultural_pillars_to_aragonese_effect = { -# culture:aragonese = { -# # Language. -# if = { -# limit = { -# NOT = { has_same_culture_language = scope:founder_culture } -# } -# set_language_from = scope:founder_culture -# } -# # Martial Tradition. -# if = { -# limit = { -# NOT = { has_same_culture_martial_tradition = scope:founder_culture } -# } -# set_martial_custom_from = scope:founder_culture -# } -# # We don't do heritage because we don't want to shift Aragonese out of the Iberian block. -# } -#} -# -#scripted_effect calculate_controlled_aragonese_duchies_effect = { -# random_list = { -# 100 = { -# trigger = { -# completely_controls = title:d_valencia -# trigger_if = { -# limit = { exists = scope:duchy_a } -# NOT = { scope:duchy_a = title:d_valencia } -# } -# trigger_if = { -# limit = { exists = scope:duchy_b } -# NOT = { scope:duchy_a = title:d_valencia } -# } -# trigger_if = { -# limit = { exists = scope:duchy_c } -# NOT = { scope:duchy_a = title:d_valencia } -# } -# } -# title:d_valencia = { -# if = { -# limit = { -# NOT = { exists = scope:duchy_a } -# } -# save_scope_as = duchy_a -# } -# else_if = { -# limit = { -# NOT = { -# this = scope:duchy_a -# exists = scope:duchy_b -# } -# } -# save_scope_as = duchy_b -# } -# else_if = { -# limit = { -# NOT = { -# this = scope:duchy_a -# this = scope:duchy_b -# exists = scope:duchy_c -# } -# } -# save_scope_as = duchy_c -# } -# } -# } -# 100 = { -# trigger = { -# completely_controls = title:d_barcelona -# trigger_if = { -# limit = { exists = scope:duchy_a } -# NOT = { scope:duchy_a = title:d_barcelona } -# } -# trigger_if = { -# limit = { exists = scope:duchy_b } -# NOT = { scope:duchy_a = title:d_barcelona } -# } -# trigger_if = { -# limit = { exists = scope:duchy_c } -# NOT = { scope:duchy_a = title:d_barcelona } -# } -# } -# title:d_barcelona = { -# if = { -# limit = { -# NOT = { exists = scope:duchy_a } -# } -# save_scope_as = duchy_a -# } -# else_if = { -# limit = { -# NOT = { -# this = scope:duchy_a -# exists = scope:duchy_b -# } -# } -# save_scope_as = duchy_b -# } -# else_if = { -# limit = { -# NOT = { -# this = scope:duchy_a -# this = scope:duchy_b -# exists = scope:duchy_c -# } -# } -# save_scope_as = duchy_c -# } -# } -# } -# 100 = { -# trigger = { -# completely_controls = title:d_navarra -# trigger_if = { -# limit = { exists = scope:duchy_a } -# NOT = { scope:duchy_a = title:d_navarra } -# } -# trigger_if = { -# limit = { exists = scope:duchy_b } -# NOT = { scope:duchy_a = title:d_navarra } -# } -# trigger_if = { -# limit = { exists = scope:duchy_c } -# NOT = { scope:duchy_a = title:d_navarra } -# } -# } -# title:d_navarra = { -# if = { -# limit = { -# NOT = { exists = scope:duchy_a } -# } -# save_scope_as = duchy_a -# } -# else_if = { -# limit = { -# NOT = { -# this = scope:duchy_a -# exists = scope:duchy_b -# } -# } -# save_scope_as = duchy_b -# } -# else_if = { -# limit = { -# NOT = { -# this = scope:duchy_a -# this = scope:duchy_b -# exists = scope:duchy_c -# } -# } -# save_scope_as = duchy_c -# } -# } -# } -# } -#} -# -#scripted_effect convert_aragonese_counties_to_aragonese_effect = { -# # Several counties within d_aragon will convert. -# while = { -# custom = form_the_kingdom_of_aragon_decision.tt.x_random_counties_in_d_aragon -# count = 3 -# title:d_aragon = { -# random_in_de_jure_hierarchy = { -# # If scope:founder has their capital in the area, make sure we grab it first. -# limit = { -# convert_random_aragonese_counties_in_d_aragon_basic_reqs_trigger = yes -# this = scope:founder.capital_county -# } -# # Otherwise, go for c_alto_aragon, but we want it to *look* random. -# alternative_limit = { -# convert_random_aragonese_counties_in_d_aragon_basic_reqs_trigger = yes -# this = title:c_alto_aragon -# this != scope:founder.capital_county -# } -# # Then we grab any local county held by scope:founder. -# alternative_limit = { -# convert_random_aragonese_counties_in_d_aragon_basic_reqs_trigger = yes -# holder = scope:founder -# any_neighboring_county = { culture = culture:aragonese } -# } -# set_county_culture = culture:aragonese -# } -# } -# } -#} -# -## Aragon, and the Aragonese, has/have emerged. -#iberia_north_africa.0131 = { -# type = character_event -# title = iberia_north_africa.0131.t -# desc = { -# desc = iberia_north_africa.0131.desc.intro -# first_valid = { -# # Only has the minimum one duchy. -# triggered_desc = { -# trigger = { -# NOT = { exists = scope:duchy_b } -# } -# desc = iberia_north_africa.0131.desc.duchy.one -# } -# # Has an extra duchy. -# triggered_desc = { -# trigger = { -# NOT = { exists = scope:duchy_c } -# } -# desc = iberia_north_africa.0131.desc.duchy.two -# } -# # Has all three duchies! -# desc = iberia_north_africa.0131.desc.duchy.three -# } -# desc = iberia_north_africa.0131.desc.outro -# } -# theme = crown -# left_portrait = { -# character = scope:founder -# animation = personality_bold -# } -# override_background = { reference = farmland } -# -# trigger = { -# # Account for ruler designer'd Aragonese cultures. -# NOT = { culture = culture:aragonese } -# } -# -# on_trigger_fail = { -# # If you ruler designer'd in an Aragonese character, everything in this event is irrelevant to ye appart from the culture converting, so we just do that silently. -# convert_aragonese_counties_to_aragonese_effect = yes -# } -# -# immediate = { -# play_music_cue = "mx_cue_succession_instrumental" -# # Calculate scopes for the desc loc. -# calculate_controlled_aragonese_duchies_effect = yes -# calculate_controlled_aragonese_duchies_effect = yes -# calculate_controlled_aragonese_duchies_effect = yes -# # Flip scope:founder's culture. -# set_culture = culture:aragonese -# # Change the culture a bit. -# culture:aragonese = { -# # Innovations are transferred over. -# get_all_innovations_from = scope:founder_culture -# # And the creation of the culture is adjusted. -# reset_culture_creation_date = yes -# } -# # Several counties within d_aragon will convert. -# convert_aragonese_counties_to_aragonese_effect = yes -# legend_seed_new_title_effect = yes -# } -# -# # Vanilla: just the regular Aragonese culture, please. -# option = { -# name = iberia_north_africa.0131.a -# -# # No other effects. -# -# # No stress impact, since it's too tricksy to figure out which traits should get stress from absorbing what foreign cultural pillars. -# ai_chance = { -# # The AI should basically always opt for vanilla. -# base = 100 -# } -# } -# -# # Take Pillars: not all the trappings of scope:founder_culture are so bad... -# option = { -# name = iberia_north_africa.0131.b -# trigger = { -# culture:aragonese = { -# OR = { -# NOT = { has_same_culture_language = scope:founder_culture } -# NOT = { has_same_culture_martial_tradition = scope:founder_culture } -# } -# } -# } -# -# # Copy over the salient pillars. -# copy_over_new_cultural_pillars_to_aragonese_effect = yes -# -# # No stress impact, since it's too tricksy to figure out which traits should get stress from absorbing what foreign cultural pillars. -# ai_chance = { -# # The AI should basically always opt for vanilla. -# base = 0 -# } -# } -# -# # Take Ethos: what's important to us hasn't changed. -# option = { -# name = iberia_north_africa.0131.c -# trigger = { -# culture:aragonese = { -# NOT = { has_same_culture_ethos = scope:founder_culture } -# } -# } -# -# # Copy over the ethos. -# culture:aragonese = { set_ethos_from = scope:founder_culture } -# -# # No stress impact, since it's too tricksy to figure out which traits should get stress from absorbing what foreign cultural pillars. -# ai_chance = { -# # The AI should basically always opt for vanilla. -# base = 0 -# } -# } -# -# # Take Both: we cannot forget our roots! -# option = { -# name = iberia_north_africa.0131.d -# trigger = { -# culture:aragonese = { -# NOT = { has_same_culture_ethos = scope:founder_culture } -# OR = { -# NOT = { has_same_culture_language = scope:founder_culture } -# NOT = { has_same_culture_martial_tradition = scope:founder_culture } -# } -# } -# } -# -# # Copy over the ethos. -# culture:aragonese = { set_ethos_from = scope:founder_culture } -# # Copy over the salient pillars. -# copy_over_new_cultural_pillars_to_aragonese_effect = yes -# -# # No stress impact, since it's too tricksy to figure out which traits should get stress from absorbing what foreign cultural pillars. -# ai_chance = { -# # The AI should basically always opt for vanilla. -# base = 0 -# # ... *basically* always. -# modifier = { -# add = 100 -# has_trait = stubborn -# } -# } -# } -#} -# -## No notification event for this'un, as it's a small decision. -# -## Secure the Mediterranean notif -#iberia_north_africa.2105 = { -# type = character_event -# title = iberia_north_africa.2105.t -# desc = iberia_north_africa.2105.desc -# theme = crown -# override_background = { reference = throne_room_mediterranean } -# left_portrait = root -# -# immediate = { -# show_as_tooltip = { -# house = { -# add_house_modifier = { -# modifier = fp2_controls_the_mediterranean_house_modifier -# years = 100 -# } -# } -# dynasty = { add_dynasty_prestige = major_prestige_gain } -# } -# } -# -# option = { -# name = iberia_north_africa.2105.a -# custom_tooltip = secure_mediterranean_decision.a -# } -#} -# -######################################################### -## golden_age_jewish_science_in_iberia_decision events -## By Hugo Cortell -## -## Note: These events are all additional -## rewards for sponsoring a golden age, -## therefore they are not much of a challenge. -## Just some cool free stuff for players! -######################################################### -#iberia_north_africa.2001 = { # Jewish translator of old books (reward: skill boost) -# type = character_event -# title = iberia_north_africa.2001.t -# desc = iberia_north_africa.2001.desc -# -# theme = learning -# override_background = { reference = throne_room } -# left_portrait = { -# character = root -# animation = personality_content -# } -# right_portrait = { -# character = scope:generated_actor -# animation = admiration -# } -# -# immediate = { -# create_character = { -# age = { 24 51 } -# location = root.capital_province -# gender_female_chance = root_faith_dominant_gender_female_chance -# culture = root.culture -# faith = faith:rabbinism -# random_traits = yes -# trait = education_learning_2 -# learning = { 6 12 } -# -# dynasty = none -# after_creation = { -# add_prestige = { minor_prestige_gain major_prestige_gain } -# add_piety = { minor_piety_gain medium_piety_gain } -# } -# -# save_scope_as = generated_actor -# } -# -# get_lowest_player_skill_effect = yes -# } -# -# option = { # Request a book that will make up for your weaknesses - for a price -# flavor = iberia_north_africa.2001.a.a -# name = { -# text = { -# desc = iberia_north_africa.2001.a -# desc = { -# first_valid = { -# triggered_desc = { -# trigger = { scope:lowest_player_skill = flag:martial } -# desc = iberia_north_africa.2001.a.martial -# } -# triggered_desc = { -# trigger = { scope:lowest_player_skill = flag:learning } -# desc = iberia_north_africa.2001.a.learning -# } -# triggered_desc = { -# trigger = { scope:lowest_player_skill = flag:stewardship } -# desc = iberia_north_africa.2001.a.stewardship -# } -# desc = iberia_north_africa.2001.a.diplointrigue -# } -# } -# desc = iberia_north_africa.2001.a.end -# } -# } -# -# send_interface_message = { -# type = event_learning_good -# title = iberia_north_africa.2001.t -# right_icon = scope:generated_actor -# -# pay_short_term_gold = { -# target = scope:generated_actor -# gold = medium_gold_value -# } -# if = { -# limit = { scope:lowest_player_skill = flag:diplomacy } -# add_character_modifier = { -# modifier = fp2_translated_skill_book_diplomacy_modifier -# years = 20 -# } -# } -# else_if = { -# limit = { scope:lowest_player_skill = flag:martial } -# add_character_modifier = { -# modifier = fp2_translated_skill_book_martial_modifier -# years = 20 -# } -# } -# else_if = { -# limit = { scope:lowest_player_skill = flag:stewardship } -# add_character_modifier = { -# modifier = fp2_translated_skill_book_stewardship_modifier -# years = 20 -# } -# } -# else_if = { -# limit = { scope:lowest_player_skill = flag:intrigue } -# add_character_modifier = { -# modifier = fp2_translated_skill_book_intrigue_modifier -# years = 20 -# } -# } -# else = { -# add_character_modifier = { -# modifier = fp2_translated_skill_book_learning_modifier -# years = 20 -# } -# } -# } -# -# ai_chance = { -# base = 20 -# modifier = { -# add = -50 -# short_term_gold < medium_gold_value -# } -# } -# } -# -# option = { # Sure give me anything (no control over outcome, but always positive - and at a lower cost) -# name = iberia_north_africa.2001.b -# -# show_as_tooltip = { -# pay_short_term_gold = { -# target = scope:generated_actor -# gold = minor_gold_value -# } -# custom_tooltip = iberia_north_africa.2001.b.a -# } -# hidden_effect = { -# send_interface_message = { -# type = event_learning_good -# title = iberia_north_africa.2001.t -# right_icon = scope:generated_actor -# -# pay_short_term_gold = { -# target = scope:generated_actor -# gold = minor_gold_value -# } -# random_list = { -# 1 = { -# add_character_modifier = { -# modifier = fp2_translated_skill_book_diplomacy_modifier -# years = 20 -# } -# } -# 1 = { -# add_character_modifier = { -# modifier = fp2_translated_skill_book_martial_modifier -# years = 20 -# } -# } -# 1 = { -# add_character_modifier = { -# modifier = fp2_translated_skill_book_stewardship_modifier -# years = 20 -# } -# } -# 1 = { -# add_character_modifier = { -# modifier = fp2_translated_skill_book_intrigue_modifier -# years = 20 -# } -# } -# 1 = { -# add_character_modifier = { -# modifier = fp2_translated_skill_book_learning_modifier -# years = 20 -# } -# } -# } -# } -# } -# -# ai_chance = { -# base = 80 -# modifier = { -# add = -50 -# short_term_gold < minor_gold_value -# } -# } -# } -# -# option = { # History is dumb -# name = iberia_north_africa.2001.c -# -# send_interface_message = { -# type = event_learning_good -# title = fp2_rejection_of_old_thoughts_modifier -# right_icon = root -# -# capital_county = { -# add_county_modifier = { -# modifier = fp2_rejection_of_old_thoughts_modifier -# years = 5 -# } -# } -# } -# -# ai_chance = { base = 35 } -# } -# -# after = { scope:generated_actor = { silent_disappearance_effect = yes } } -#} -# -#iberia_north_africa.2002 = { # Cataract surgery event (reward: free doctor) -# type = character_event -# title = iberia_north_africa.2002.t -# desc = iberia_north_africa.2002.desc -# -# theme = learning -# override_background = { reference = throne_room } -# left_portrait = { -# character = scope:patientzero -# animation = beg -# } -# lower_left_portrait = root -# right_portrait = { -# character = scope:generated_actor -# animation = disapproval -# } -# -# trigger = { -# any_vassal_or_below = { -# age > 48 # Cataracts begin to develop at 40 years of age and usually finish by 60, therefore 50 seems like a decent value for a medieval high-society member -# NOT = { has_trait = blind } -# } -# } -# -# immediate = { -# create_character = { -# age = { 21 44 } -# location = root.capital_province -# gender_female_chance = root_faith_dominant_gender_female_chance -# culture = root.culture -# faith = faith:rabbinism -# random_traits = yes -# trait = scholar -# trait = lifestyle_physician -# learning = { 8 12 } -# -# dynasty = none -# after_creation = { -# add_gold = minor_gold_value -# add_prestige = { medium_prestige_gain major_prestige_gain } -# add_piety = minor_piety_gain -# add_trait_xp = { -# trait = lifestyle_physician -# value = 100 -# } -# } -# -# save_scope_as = generated_actor -# } -# -# random_vassal_or_below = { -# limit = { -# age > 48 -# NOT = { has_trait = blind } -# } -# save_scope_as = patientzero -# } -# -# if = { -# limit = { -# any_child = { -# is_child_of = root -# age < 15 -# } -# } -# random_child = { -# limit = { -# is_child_of = root -# age < 15 -# } -# save_scope_as = child_offering -# } -# } -# } -# -# option = { # Offer your child as an assistant, ~50% chance of learning medicine, 10% chance of dying. (good odds by lunatic trait option standards) -# name = iberia_north_africa.2002.a -# flavor = iberia_north_africa.2002.a.flavor -# -# trigger = { -# is_ai = no -# exists = scope:child_offering -# OR = { -# has_trait = lunatic_1 -# has_trait = lunatic_genetic -# has_trait = lifestyle_physician -# has_trait = torturer -# } -# } -# -# random_list = { -# 50 = { -# modifier = { -# add = scope:child_offering.learning -# always = yes -# } -# send_interface_message = { -# type = event_court_physician_good -# title = iberia_north_africa.2002.a.b -# left_icon = scope:patientzero -# right_icon = scope:generated_actor -# -# random_list = { -# desc = iberia_north_africa.2002.a.a -# 45 = {} # Assistant helps, but fails to learn anything -# 45 = { -# modifier = { -# add = { -# value = scope:child_offering.learning -# divide = 1.25 -# round = yes -# } -# always = yes -# } -# scope:child_offering = { -# if = { # For really, really odd cases -# limit = { has_trait = lifestyle_physician } -# add_learning_lifestyle_xp = medium_lifestyle_experience -# add_trait_xp = { -# trait = lifestyle_physician -# value = 5 -# } -# } -# add_trait = lifestyle_physician -# } -# } -# 10 = { -# scope:child_offering = { -# death = { death_reason = death_training_accident } -# } -# } -# } -# scope:patientzero = { -# add_character_modifier = { -# modifier = fp2_removed_cataracts_modifier -# years = 30 -# } -# } -# add_courtier = scope:generated_actor -# add_prestige = medium_prestige_gain -# } -# } -# 50 = { -# send_interface_message = { -# type = event_court_physician_bad -# title = iberia_north_africa.2002.a.b -# left_icon = scope:child_offering -# right_icon = scope:patientzero -# -# random_list = { -# desc = iberia_north_africa.2002.a.a -# 45 = {} # Assistant helps, but fails to learn anything -# 45 = { -# scope:child_offering = { -# add_trait = lifestyle_physician -# } -# } -# 10 = { -# scope:child_offering = { -# death = { death_reason = death_training_accident } -# } -# } -# } -# scope:patientzero = { add_trait = blind } -# } -# } -# } -# } -# -# option = { # "Did you just "well actually" the entire field of astrology?" option, removes the risk of the doctor running away if the operation is botched -# name = iberia_north_africa.2002.d -# -# trigger = { -# OR = { -# has_trait = theologian -# has_trait = scholar -# } -# } -# -# random_list = { -# 50 = { -# send_interface_message = { -# type = event_court_physician_good -# title = iberia_north_africa.2002.a.b -# left_icon = scope:patientzero -# right_icon = scope:generated_actor -# -# scope:patientzero = { -# add_character_modifier = { -# modifier = fp2_removed_cataracts_modifier -# years = 30 -# } -# } -# add_courtier = scope:generated_actor -# add_prestige = medium_prestige_gain -# } -# } -# 50 = { -# send_interface_message = { -# type = event_court_physician_bad -# title = iberia_north_africa.2002.a.b -# left_icon = scope:patientzero -# right_icon = scope:generated_actor -# -# scope:patientzero = { add_trait = blind } -# add_courtier = scope:generated_actor -# add_prestige = minor_prestige_loss -# -# hidden_effect = { -# scope:patientzero = { -# set_relation_rival = { -# target = scope:generated_actor -# reason = rival_failed_cataract_surgery -# } -# } -# } # Reasonably upset -# } -# } -# } -# } -# -# option = { # Take the risk, gamble away the doctor for some renown -# name = iberia_north_africa.2002.b -# -# random_list = { -# 50 = { -# send_interface_message = { -# type = event_court_physician_good -# title = iberia_north_africa.2002.a.b -# left_icon = scope:patientzero -# right_icon = scope:generated_actor -# -# scope:patientzero = { -# add_character_modifier = { -# modifier = fp2_removed_cataracts_modifier -# years = 30 -# } -# } -# add_courtier = scope:generated_actor -# add_prestige = medium_prestige_gain -# } -# } -# 50 = { -# send_interface_message = { -# type = event_court_physician_bad -# title = iberia_north_africa.2002.a.b -# right_icon = scope:patientzero -# -# scope:patientzero = { add_trait = blind } -# } -# } -# } -# -# ai_chance = { -# base = 50 -# } -# } -# -# option = { # Safe choice, ask the doctor to say (get free doctor) -# name = iberia_north_africa.2002.c -# -# send_interface_message = { -# type = send_interface_message -# title = court_physician_court_position -# right_icon = scope:generated_actor -# -# add_courtier = scope:generated_actor -# add_prestige = medium_prestige_loss -# scope:patientzero = { -# add_opinion = { -# target = root -# modifier = disappointed_opinion -# opinion = -25 -# } -# } -# } -# -# ai_chance = { -# base = 50 -# } -# } -# -# after = { -# if = { -# limit = { NOT = { scope:generated_actor = { is_courtier_of = root } } } -# scope:generated_actor = { silent_disappearance_effect = yes } -# } -# } -#} -# -#iberia_north_africa.2003 = { # Two scholars are fighting over misc stuff (reward: one scholar or two grumpy scholars) -# type = character_event -# title = iberia_north_africa.2003.t -# desc = iberia_north_africa.2003.desc -# -# theme = learning -# override_background = { reference = throne_room } -# left_portrait = { -# character = scope:generated_actor_r -# animation = disapproval -# } -# right_portrait = { -# character = scope:generated_actor_k -# animation = dismissal -# } -# lower_center_portrait = root -# -# immediate = { -# create_character = { -# age = { 26 51 } -# location = root.capital_province -# gender_female_chance = root_faith_dominant_gender_female_chance -# culture = root.culture -# faith = faith:rabbinism -# random_traits = yes -# trait = scholar -# trait = diplomatic_court_1 -# learning = { 8 14 } -# -# dynasty = none -# after_creation = { -# add_prestige = { minor_prestige_gain major_prestige_gain } -# add_piety = { minor_piety_gain medium_piety_gain } -# } -# -# save_scope_as = generated_actor_r -# } -# -# create_character = { -# age = { 23 43 } -# location = root.capital_province -# gender_female_chance = root_faith_dominant_gender_female_chance -# culture = root.culture -# faith = faith:karaism -# random_traits = yes -# trait = theologian -# trait = scholarly_court_1 -# learning = { 8 14 } -# -# dynasty = none -# after_creation = { -# add_prestige = { minor_prestige_gain major_prestige_gain } -# add_piety = { minor_piety_gain medium_piety_gain } -# } -# -# save_scope_as = generated_actor_k -# } -# -# hidden_effect = { # Let the drama begin -# add_courtier = scope:generated_actor_r -# add_courtier = scope:generated_actor_k -# scope:generated_actor_r = { -# add_opinion = { -# target = scope:generated_actor_k -# modifier = angry_opinion -# opinion = -80 -# } -# } -# scope:generated_actor_k = { -# add_opinion = { -# target = scope:generated_actor_r -# modifier = angry_opinion -# opinion = -80 -# } -# } -# } -# -# # Loc -# capital_county = { save_scope_as = playerprovince } -# } -# -# option = { -# name = iberia_north_africa.2003.a -# flavor = iberia_north_africa.2003.a.flavor -# -# trigger = { # NOTE: You can type bypass_requirements to bypass requirements on options, very useful! -# is_ai = no -# OR = { -# has_trait = bastard_founder -# has_trait = saoshyant -# has_trait = sayyid -# has_trait = savior -# has_trait = augustus -# has_trait = chakravarti -# has_trait = heresiarch -# has_trait = crusader_king -# has_trait = order_member -# has_trait = faith_warrior -# has_trait = saint -# has_trait = irritable -# has_trait = bossy -# has_trait = august -# } -# } -# -# send_interface_message = { -# type = event_learning_good -# title = yearly.0001.learning -# right_icon = scope:generated_actor_r -# left_icon = scope:generated_actor_k -# -# show_as_tooltip = { -# add_courtier = scope:generated_actor_r -# add_courtier = scope:generated_actor_k -# } -# scope:generated_actor_r = { -# add_opinion = { -# target = root -# modifier = feast_sided_against_me_in_my_fight_opinion -# opinion = -60 -# } -# } -# scope:generated_actor_k = { -# add_opinion = { -# target = root -# modifier = feast_sided_against_me_in_my_fight_opinion -# opinion = -60 -# } -# } -# } -# } -# -# # NOTE: Neither faith is more progressive than the other, therefore this is just the personal opinion of the characters rather than a greater religious feud -# option = { # Side with philosophers -# name = iberia_north_africa.2003.b -# -# send_interface_message = { -# type = event_learning_good -# title = yearly.0001.learning -# right_icon = scope:generated_actor_k -# -# show_as_tooltip = { add_courtier = scope:generated_actor_k } -# remove_courtier_or_guest = scope:generated_actor_r -# scope:generated_actor_k = { -# add_opinion = { -# target = root -# modifier = feast_sided_with_me_in_my_fight_opinion -# opinion = 25 -# } -# } -# } -# -# ai_chance = { base = 50 } -# } -# -# option = { # Side with prophets -# name = iberia_north_africa.2003.c -# -# send_interface_message = { -# type = event_learning_good -# title = yearly.0001.learning -# right_icon = scope:generated_actor_r -# -# show_as_tooltip = { add_courtier = scope:generated_actor_r } -# remove_courtier_or_guest = scope:generated_actor_k -# scope:generated_actor_r = { -# add_opinion = { -# target = root -# modifier = feast_sided_with_me_in_my_fight_opinion -# opinion = 25 -# } -# } -# } -# -# ai_chance = { base = 50 } -# } -#} -# -######################################################### -## build_holy_pilgrim_roads_decision events -## By Hugo Cortell -######################################################### -#iberia_north_africa.2011 = { # Holy Warrior -# type = character_event -# title = iberia_north_africa.2011.t -# desc = { -# desc = iberia_north_africa.2011.desc -# first_valid = { -# triggered_desc = { -# trigger = { scope:generated_actor = { has_trait = order_member } } -# desc = iberia_north_africa.2011.desc_captain -# } -# desc = iberia_north_africa.2011.desc_soldier -# } -# } -# -# theme = faith -# override_background = { reference = terrain } -# left_portrait = { -# character = root -# animation = personality_cynical -# } -# right_portrait = { -# character = scope:generated_actor -# animation = personality_zealous -# } -# -# trigger = { scope:chosen_location_for_pilgrim_roads.holder.top_liege = root } -# -# immediate = { -# scope:chosen_location_for_pilgrim_roads = { random_county_province = { save_scope_as = pilgrim_spawn_location } } -# random_list = { -# 70 = { # A missguided holy warrior -# create_character = { -# age = { 19 34 } -# location = scope:pilgrim_spawn_location -# gender_female_chance = root_faith_dominant_gender_female_chance -# culture = root.culture -# faith = root.faith -# random_traits = yes -# trait = holy_warrior -# trait = pilgrim -# martial = { 7 12 } -# -# dynasty = none -# after_creation = { -# add_gold = minor_gold_value -# add_prestige = minor_prestige_gain -# add_piety = { minor_piety_gain medium_piety_gain } -# if = { -# limit = { has_trait = cynical } -# remove_trait = cynical -# add_trait = zealous -# } -# random_list = { # Simple backstory -# 1 = { add_trait = murderer } -# 2 = { add_trait = wounded_1 } -# 2 = { add_trait = wounded_2 } -# 5 = { add_trait = adventurer } -# 1 = { add_trait = lifestyle_hunter } -# } -# } -# -# save_scope_as = generated_actor -# } -# } -# 30 = { # Missguided former holy order captain -# create_character = { -# age = { 27 46 } -# location = scope:pilgrim_spawn_location -# gender_female_chance = root_faith_dominant_gender_female_chance -# culture = root.culture -# faith = root.faith -# random_traits = yes -# trait = warlike_court_2 -# trait = holy_warrior -# trait = order_member -# trait = devoted -# trait = pilgrim -# trait = brave -# martial = { 10 20 } -# -# dynasty = none -# after_creation = { -# add_gold = medium_gold_value -# add_prestige = { minor_prestige_gain medium_prestige_gain } -# add_piety = { -# value = major_piety_gain -# multiply = { 1 5 } -# round = yes -# } -# if = { -# limit = { has_trait = cynical } -# remove_trait = cynical -# add_trait = zealous -# } -# random_list = { # Spicy backstory (why would someone in such a cushy position wander off?) -# 10 = { add_trait = murderer } -# 5 = { add_trait = kinslayer_1 } -# 5 = { -# if = { -# limit = { faith = { has_doctrine = tenet_communion } } -# add_trait = excommunicated -# random_list = { -# 70 = { add_trait = depressed_1 } # This is the worst thing that can happen to a holy warrior after all -# 30 = {} -# } -# } -# else = { add_trait = wounded_2 } -# } -# 6 = { add_trait = adulterer } -# 4 = { add_trait = fornicator } -# 5 = { add_trait = drunkard } -# } -# } -# -# save_scope_as = generated_actor -# } -# } -# } -# } -# -# option = { # Join me (free warrior) -# name = iberia_north_africa.2011.a -# -# send_interface_toast = { -# type = event_toast_effect_good -# title = iberia_north_africa.2011.t -# left_icon = ROOT -# right_icon = scope:generated_actor -# -# add_courtier = scope:generated_actor -# } -# ai_chance = { base = 25 } -# } -# -# option = { # Spread the word of me (gain modifier) -# name = iberia_north_africa.2011.b -# flavor = iberia_north_africa.2011.b.flavor -# -# send_interface_toast = { -# type = event_toast_effect_good -# title = iberia_north_africa.2011.t -# left_icon = ROOT -# -# add_character_modifier = { -# modifier = fp2_trusted_by_pilgrim_warriors_modifier -# years = 20 -# } -# } -# -# ai_chance = { base = 25 } -# scope:generated_actor = { silent_disappearance_effect = yes } -# } -# -# option = { # Finish your duty to the lord (gain piety) -# name = iberia_north_africa.2011.c -# flavor = iberia_north_africa.2011.c.flavor -# -# send_interface_toast = { -# type = event_toast_effect_good -# title = iberia_north_africa.2011.t -# left_icon = ROOT -# -# add_piety = major_piety_gain -# } -# -# ai_chance = { base = 50 } -# scope:generated_actor = { silent_disappearance_effect = yes } -# } -#} -# -#iberia_north_africa.2012 = { # Broke student (theology or architecture) -# type = character_event -# title = iberia_north_africa.2012.t -# desc = { -# desc = iberia_north_africa.2012.desc -# first_valid = { -# triggered_desc = { -# trigger = { scope:generated_actor = { has_trait = theologian } } -# desc = iberia_north_africa.2012.desc_student -# } -# desc = iberia_north_africa.2012.desc_architect -# } -# } -# -# theme = faith -# override_background = { reference = terrain } -# left_portrait = { -# character = root -# animation = personality_content -# } -# right_portrait = { -# character = scope:generated_actor -# animation = admiration -# } -# -# trigger = { scope:chosen_location_for_pilgrim_roads.holder.top_liege = root } -# -# immediate = { -# scope:chosen_location_for_pilgrim_roads = { random_county_province = { save_scope_as = pilgrim_spawn_location } } -# random_list = { -# 50 = { # Scholar -# create_character = { -# age = { 18 22 } -# location = scope:pilgrim_spawn_location -# gender_female_chance = root_faith_dominant_gender_female_chance -# culture = root.culture -# faith = root.faith -# random_traits = yes -# trait = theologian -# trait = improvident -# trait = scholarly_court_1 -# trait = pilgrim -# learning = { 9 12 } -# -# dynasty = none -# after_creation = { -# add_gold = { 0 28 } -# remove_short_term_gold = 20 # You cannot add a negative number for gold, therefore we do this -# add_prestige = minor_prestige_gain -# add_piety = { minor_piety_gain medium_piety_gain } -# if = { -# limit = { has_trait = cynical } -# remove_trait = cynical -# add_trait = zealous -# } -# } -# -# save_scope_as = generated_actor -# } -# } -# 50 = { # Architect -# create_character = { -# age = { 18 22 } -# location = scope:pilgrim_spawn_location -# gender_female_chance = root_faith_dominant_gender_female_chance -# culture = root.culture -# faith = root.faith -# random_traits = yes -# trait = architect -# trait = contrite -# trait = administrative_court_1 -# trait = pilgrim -# learning = { 8 13 } -# -# dynasty = none -# after_creation = { -# add_gold = { 0 22 } -# remove_short_term_gold = 10 -# add_prestige = minor_prestige_gain -# add_piety = minor_piety_gain -# if = { -# limit = { has_trait = cynical } -# remove_trait = cynical -# add_trait = zealous -# } -# } -# -# save_scope_as = generated_actor -# } -# } -# } -# } -# -# option = { # Buy journal -# name = iberia_north_africa.2012.a -# -# send_interface_toast = { -# type = event_toast_effect_good -# title = iberia_north_africa.2012.t -# left_icon = ROOT -# -# add_learning_lifestyle_xp = major_lifestyle_experience -# remove_short_term_gold = minor_gold_value -# } -# -# ai_chance = { base = 35 } -# scope:generated_actor = { silent_disappearance_effect = yes } -# } -# -# option = { # Perhaps instead you should get a job -# name = iberia_north_africa.2012.b -# flavor = iberia_north_africa.2012.b.flavor # (okay, where? / at the [chosen_holy_site_for_pilgrim_roads.GetNameNoTier] / I have some good news for both of you) -# send_interface_toast = { -# type = event_toast_effect_good -# title = iberia_north_africa.2012.t -# left_icon = ROOT -# right_icon = scope:generated_actor -# -# add_courtier = scope:generated_actor -# add_hook_if_possible_effect = { -# TARGET = scope:generated_actor -# TYPE = indebted_hook -# YEARS = 12 -# } -# } -# -# ai_chance = { base = 35 } -# } -# -# option = { # Charity action -# name = iberia_north_africa.2012.c -# -# send_interface_toast = { -# type = event_toast_effect_good -# title = iberia_north_africa.2012.t -# left_icon = ROOT -# -# add_piety = major_piety_gain -# remove_short_term_gold = minor_gold_value -# } -# -# ai_chance = { base = 35 } -# scope:generated_actor = { silent_disappearance_effect = yes } -# } -#} -# -#iberia_north_africa.2013 = { # Warmup check to ensure you meet the conditions for 2014, otherwise do something else -# hidden = yes -# -# trigger = { scope:chosen_location_for_pilgrim_roads.holder.top_liege = root } -# immediate = { -# if = { -# limit = { -# faith = { -# exists = religious_head -# religious_head != root -# } -# } -# faith.religious_head = { save_scope_as = fp2_iberia_north_africa_2013_head_of_faith } -# trigger_event = iberia_north_africa.2014 -# } -# else = { -# random_list = { -# 15 = { trigger_event = iberia_north_africa.2011 } -# 15 = { trigger_event = iberia_north_africa.2012 } -# # 30 = Removed third outcome -# } -# } -# } -#} -# -#iberia_north_africa.2014 = { # Getting a high five (and a gift) from your HOF -# type = letter_event -# sender = scope:fp2_iberia_north_africa_2013_head_of_faith -# opening = iberia_north_africa.2013.t -# desc = iberia_north_africa.2013.desc -# -# immediate = { -# -# } -# -# option = { # Butter your HOF up with complements -# name = iberia_north_africa.2013.a -# -# send_interface_toast = { -# type = event_toast_effect_good -# title = iberia_north_africa.2013.notif.t -# right_icon = scope:fp2_iberia_north_africa_2013_head_of_faith -# -# scope:fp2_iberia_north_africa_2013_head_of_faith = { -# add_opinion = { -# target = root -# modifier = pious_opinion -# opinion = 40 -# } -# } -# } -# -# ai_chance = { base = 10 } -# } -# -# option = { # Give me the piety!! -# name = iberia_north_africa.2013.b -# -# send_interface_toast = { -# type = event_toast_effect_good -# title = iberia_north_africa.2013.notif.t -# right_icon = scope:fp2_iberia_north_africa_2013_head_of_faith -# -# add_piety = major_piety_gain -# } -# -# ai_chance = { base = 50 } -# } -# -# option = { # Give me men! -# name = iberia_north_africa.2013.c -# -# -# send_interface_toast = { -# type = event_toast_effect_good -# title = iberia_north_africa.2013.notif.t -# right_icon = scope:fp2_iberia_north_africa_2013_head_of_faith -# -# add_character_modifier = { -# modifier = fp2_trusted_by_pilgrim_warriors_modifier -# years = 20 -# } -# } -# -# ai_chance = { base = 30 } -# } -# -# option = { # Gift me a relic worthy of (location) - Does not req ROCO because it is a trinket -# name = iberia_north_africa.2013.d -# -# show_as_tooltip = { custom_tooltip = iberia_north_africa.2013.d.tooltip } # Can cause strange behavior where a button is unselectable -# hidden_effect = { -# scope:fp2_iberia_north_africa_2013_head_of_faith = { -# set_up_trinket_adjective_effect = yes -# random_list = { -# 2 = { -# create_artifact = { -# name = fp2_blessed_junk -# description = fp2_blessed_junk_desc -# type = miscellaneous -# visuals = small_box -# modifier = artifact_monthly_piety_1_modifier -# save_scope_as = random_trinket -# } -# } -# 1 = { -# create_artifact = { -# name = fp2_blessed_junk -# description = fp2_blessed_junk_desc -# type = miscellaneous -# visuals = pouch -# modifier = artifact_monthly_piety_1_modifier -# save_scope_as = random_trinket -# } -# } -# 1 = { -# create_artifact = { -# name = fp2_blessed_junk -# description = fp2_blessed_junk_desc -# type = miscellaneous -# visuals = medallion -# modifier = artifact_monthly_piety_1_modifier -# save_scope_as = random_trinket -# } -# } -# 2 = { -# create_artifact = { -# name = fp2_blessed_junk -# description = fp2_blessed_junk_desc -# type = miscellaneous -# visuals = medium_box -# modifier = artifact_monthly_piety_1_modifier -# save_scope_as = random_trinket -# } -# } -# 1 = { -# create_artifact = { -# name = fp2_blessed_junk -# description = fp2_blessed_junk_desc -# type = miscellaneous -# visuals = fabric_roll -# modifier = artifact_monthly_piety_1_modifier -# save_scope_as = random_trinket -# } -# } -# } -# scope:random_trinket = { -# add_durability = { -# value = artifact_durability -# multiply = { -0.45 -0.1 } # This is nice, very nice. -# } -# } -# -# if = { # Cleanup -# limit = { exists = var:trinket_adjective_followup } -# remove_variable = trinket_adjective_followup -# } -# } -# } -# -# send_interface_toast = { -# type = event_toast_effect_good -# title = iberia_north_africa.2013.notif.t -# right_icon = scope:fp2_iberia_north_africa_2013_head_of_faith -# left_icon = scope:random_trinket -# -# scope:random_trinket = { set_owner = root } -# } -# -# ai_chance = { base = 10 } -# } -#} -# -################# -## Restore Old Vasconia -## by Joe Parkin -################# -# -##The kingdom revived. -#iberia_north_africa.2100 = { -# type = character_event -# title = iberia_north_africa.2100.t -# desc = iberia_north_africa.2100.desc -# theme = realm -# left_portrait = { -# character = scope:founder -# animation = personality_bold -# } -# -# immediate = { -# play_music_cue = "mx_cue_positive_effect" -# restore_old_vasconia_decision_scripted_effect = yes -# restore_old_vasconia_decision_tooltip_scripted_effect = yes -# #Notify other players. -# every_player = { -# limit = { -# #this != scope:founder -# in_diplomatic_range = root -# } -# trigger_event = iberia_north_africa.2101 -# } -# } -# -# #Well done Nickname -# option = { -# name = iberia_north_africa.2100.a -# give_nickname = nick_the_great -# add_prestige = minor_prestige_gain -# } -# -# #Well done. -# option = { -# name = iberia_north_africa.2100.b -# add_prestige = medium_prestige_gain -# } -#} -# -##Inform any players. -#iberia_north_africa.2101 = { -# type = character_event -# title = iberia_north_africa.2100.t -# desc = iberia_north_africa.2101.desc -# theme = realm -# theme = diplomacy -# left_portrait = { -# character = scope:founder -# animation = personality_bold -# } -# -# immediate = { -# if = { -# limit = { -# culture = { -# OR = { -# this = culture:basque -# AND = { -# any_parent_culture_or_above = { this = culture:basque } -# has_cultural_pillar = heritage_iberian -# } -# } -# } -# } -# play_music_cue = "mx_cue_positive_effect" -# } -# restore_old_vasconia_decision_tooltip_scripted_effect = yes -# } -# -# option = { -# name = { #Basques are happy. -# trigger = { -# culture = { -# OR = { -# this = culture:basque -# AND = { -# any_parent_culture_or_above = { this = culture:basque } -# has_cultural_pillar = heritage_iberian -# } -# } -# } -# } -# text = iberia_north_africa.2100.b -# } -# name = { #Iberians and Franks/Occitans are outraged. -# trigger = { -# NOT = { -# culture = { -# OR = { -# this = culture:basque -# AND = { -# any_parent_culture_or_above = { this = culture:basque } -# has_cultural_pillar = heritage_iberian -# } -# } -# } -# } -# culture = { -# OR = { -# has_cultural_pillar = heritage_frankish -# has_cultural_pillar = heritage_iberian -# } -# } -# } -# text = iberia_north_africa.2101.b -# } -# name = { #Noone else especially cares. -# trigger = { -# culture = { -# NOR = { -# has_cultural_pillar = heritage_iberian -# has_cultural_pillar = heritage_frankish -# } -# } -# } -# text = iberia_north_africa.2101.c -# } -# } -#} -# \ No newline at end of file +iberia_north_africa.0010 = { #by Mathilda Bjarnehed + type = character_event + title = iberia_north_africa.0010.t + desc = { + desc = iberia_north_africa.0010.start.desc + triggered_desc = { + trigger = { + exists = scope:vassal_1 + exists = scope:vassal_2 + } + desc = iberia_north_africa.0010.vassals.desc + } + first_valid = { + triggered_desc = { + trigger = { faith = { religion_tag = west_african_bori_religion } } + desc = iberia_north_africa.0010.spirits.desc + } + triggered_desc = { + trigger = { + faith = { + OR = { + religion_tag = west_african_roog_religion + religion_tag = west_african_religion + } + } + } + desc = iberia_north_africa.0010.ancestors.desc + } + desc = iberia_north_africa.0010.generic.desc + } + } + theme = realm + left_portrait = { + character = scope:africa_uniter + animation = personality_honorable + } + + immediate = { + play_music_cue = "mx_cue_epic_sacral_moment" + unite_africa_decision_effects = yes + legend_seed_great_deed_region_effect = { + REGION = geographical_region:world_africa + } + + #For description + random_vassal = { + limit = { highest_held_title_tier = tier_kingdom } + alternative_limit = { highest_held_title_tier = tier_duchy } + alternative_limit = { highest_held_title_tier = tier_county } + save_scope_as = vassal_1 + } + random_vassal_or_below = { + limit = { + NOR = { + has_culture = scope:vassal_1.culture + highest_held_title_tier = scope:vassal_1.highest_held_title_tier + } + highest_held_title_tier = tier_county + } + alternative_limit = { + NOR = { + has_culture = scope:vassal_1.culture + highest_held_title_tier = scope:vassal_1.highest_held_title_tier + } + highest_held_title_tier = tier_duchy + } + alternative_limit = { + NOR = { + has_culture = scope:vassal_1.culture + highest_held_title_tier = scope:vassal_1.highest_held_title_tier + } + } + save_scope_as = vassal_2 + } + } + + option = { + name = iberia_north_africa.0010.a + + give_nickname = nick_the_unifier_of_africa + } +} + +#Someone united Africa! +iberia_north_africa.0011 = { #by Mathilda Bjarnehed + type = character_event + title = iberia_north_africa.0010.t + desc = { + desc = iberia_north_africa.0011.start.desc + first_valid = { + triggered_desc = { + trigger = { + has_RelationToMe_relation = { CHARACTER = scope:africa_uniter } + } + desc = iberia_north_africa.0011.relation_former.desc + } + desc = iberia_north_africa.0011.former.desc + } + desc = iberia_north_africa.0011.end.desc + } + theme = realm + left_portrait = { + character = scope:africa_uniter + animation = personality_honorable + } + + immediate = { + show_as_tooltip = { + scope:africa_uniter.faith = { + change_fervor = { + value = medium_fervor_gain + desc = fervor_gain_united_africa + } + } + } + } + + option = { + name = { + trigger = { faith = scope:africa_uniter.faith } + text = iberia_north_africa.0002.a1 + } + name = { + trigger = { faith != scope:africa_uniter.faith } + text = name_alas + } + } +} + + +#I have avenged the Battle of Tours +iberia_north_africa.0015 = { #by Mathilda Bjarnehed + type = character_event + title = iberia_north_africa.0015.t + desc = { + desc = iberia_north_africa.0015.part1.desc + desc = iberia_north_africa.0015.part2.desc + } + theme = realm + left_portrait = { + character = scope:avenger + animation = personality_vengeful + } + + immediate = { + play_music_cue = "mx_cue_combat_2" + avenge_the_battle_of_tours_decision_effects = yes + legend_seed_great_deed_faith_effect = { + ANTAGONIST = scope:frankish_christian_faith.religious_head + OLD_FAITH = scope:frankish_christian_faith + } + } + + option = { + name = iberia_north_africa.0015.a + + + } +} + +#Someone avenged the Battle of Tours +iberia_north_africa.0016 = { #by Mathilda Bjarnehed + type = character_event + title = { + first_valid = { + triggered_desc = { + trigger = { faith = { religion_tag = islam_religion } } + desc = iberia_north_africa.0015.t + } + desc = iberia_north_africa.0016.t + } + } + desc = { + first_valid = { + triggered_desc = { + trigger = { faith = { religion_tag = islam_religion } } + desc = { + desc = iberia_north_africa.0015.part1.desc + first_valid = { + triggered_desc = { + trigger = { + has_RelationToMe_relation = { CHARACTER = scope:avenger } + } + desc = iberia_north_africa.0016.relation_former.desc + } + desc = iberia_north_africa.0016.former.desc + } + desc = iberia_north_africa.0015.islam.desc + } + } + desc = iberia_north_africa.0016.generic.desc + } + } + theme = realm + left_portrait = { + character = scope:avenger + animation = personality_vengeful + } + + immediate = { + play_music_cue = "mx_cue_combat_3" + if = { + limit = { exists = scope:frankish_christian_faith } + show_as_tooltip = { + scope:avenger = { + faith = { + change_fervor = { + value = major_fervor_gain + desc = fervor_gain_avenged_battle_of_tours + } + } + } + scope:frankish_christian_faith = { + change_fervor = { + value = major_fervor_loss + desc = fervor_loss_avenged_battle_of_tours + } + } + } + } + } + + option = { + name = { + trigger = { faith = { religion_tag = islam_religion } } + text = iberia_north_africa.0015.a + } + name = { + trigger = { faith = { OR = { religion_tag = eastern_orthodox_religion religion_tag = catholic_religion religion_tag = protestant_religion } } } + text = iberia_north_africa.0016.christianity.a + } + name = { + trigger = { + faith = { + NOR = { + OR = { religion_tag = eastern_orthodox_religion religion_tag = catholic_religion religion_tag = protestant_religion } + religion_tag = islam_religion + } + } + } + text = name_alas + } + } +} + +#I formed Canarias! +iberia_north_africa.9101 = { #by James Beaumont + type = character_event + title = iberia_north_africa.9101.t + desc = { + desc = iberia_north_africa.9101.desc.intro + first_valid = { + triggered_desc = { + trigger = { + NOT = { religion = religion:north_african_religion } + } + desc = iberia_north_africa.9101.desc.iberian + } + triggered_desc = { + trigger = { + religion = religion:north_african_religion + } + desc = iberia_north_africa.9101.desc.guanche + } + } + desc = iberia_north_africa.9101.desc.outro + } + theme = realm + left_portrait = { + character = scope:canarias_former + animation = admiration + } + + immediate = { + play_music_cue = "mx_cue_positive_effect" + declare_canarias_decision_effects = yes + legend_seed_new_title_effect = yes + } + + option = { + name = iberia_north_africa.9101.a + trigger = { + NOT = { + culture = { has_cultural_pillar = heritage_iberian } + } + } + set_nickname_effect = { NICKNAME = nick_the_great } + } + + option = { + name = iberia_north_africa.9101.b + trigger = { + NAND = { + culture = { has_cultural_pillar = heritage_berber } + religion = religion:north_african_religion + } + } + set_nickname_effect = { NICKNAME = nick_the_great } + title:k_canarias = { + set_de_jure_liege_title = title:e_spain + } + } +} + +################################################## +# Loyalty to St. Peter's Throne +# by Ewan Cowhig Croft +# 0101 - 0110 +################################################## + +# Mozarabic Christianity reaffirms its place amongst the ecumenical churches. +iberia_north_africa.0101 = { + type = character_event + title = iberia_north_africa.0101.t + desc = iberia_north_africa.0101.desc + theme = faith + left_portrait = { + character = scope:religious_leader + animation = personality_zealous + } + right_portrait = { + character = scope:pope + animation = flirtation + } + + immediate = { play_music_cue = "mx_cue_faith_conversion" } + + # One people, one faith: swap Rite for Communal Identity. + option = { + name = iberia_north_africa.0101.a + flavor = iberia_north_africa.0101.a.tt + + # Apply the effects in the after block to keep future notifications from erroring. + show_as_tooltip = { mozarabic_bind_the_faith_to_rome_decision_righteous_path_scripted_effect = yes } + # Flag our choice. + save_scope_value_as = { + name = mozarabic_choice + value = flag:righteous + } + + stress_impact = { + shy = minor_stress_impact_gain + cynical = medium_stress_impact_gain + } + ai_chance = { + base = 100 + ai_value_modifier = { + ai_sociability = 1 + ai_zeal = 0.5 + } + } + } + + # We cannot be afraid to seize power in order to defend our own: swap Rite for Pursuit of Power. + option = { + name = iberia_north_africa.0101.b + flavor = iberia_north_africa.0101.b.tt + + # Apply the effects in the after block to keep future notifications from erroring. + show_as_tooltip = { mozarabic_bind_the_faith_to_rome_decision_fundamentalist_path_scripted_effect = yes } + # Flag our choice. + save_scope_value_as = { + name = mozarabic_choice + value = flag:fundamentalist + } + + stress_impact = { + compassionate = medium_stress_impact_loss + craven = major_stress_impact_gain + } + ai_chance = { + base = 100 + ai_value_modifier = { + ai_vengefulness = 1 + ai_compassion = -1 + } + } + } + + # The GetHolyBooks will still need interpretation: swap Rite for Religious Law. + option = { + name = iberia_north_africa.0101.c + flavor = iberia_north_africa.0101.c.tt + + # Apply the effects in the after block to keep future notifications from erroring. + show_as_tooltip = { mozarabic_bind_the_faith_to_rome_decision_pluralist_path_scripted_effect = yes } + # Flag our choice. + save_scope_value_as = { + name = mozarabic_choice + value = flag:pluralist + } + + stress_impact = { + lazy = medium_stress_impact_loss + arbitrary = major_stress_impact_gain + } + ai_chance = { + base = 100 + ai_value_modifier = { + ai_rationality = 1 + ai_energy = 0.5 + } + } + } + + after = { + # Now take care of notification events for players. + every_player = { + limit = { + this != scope:religious_leader + OR = { + faith = faith:mozarabic_church + any_neighboring_and_across_water_top_liege_realm_owner = { this = root.top_liege } + } + } + trigger_event = iberia_north_africa.0102 + } + # And finally, actually apply the effects. + if = { + limit = { + exists = scope:mozarabic_choice + scope:mozarabic_choice = flag:fundamentalist + } + mozarabic_bind_the_faith_to_rome_decision_fundamentalist_path_scripted_effect = yes + } + if = { + limit = { + exists = scope:mozarabic_choice + scope:mozarabic_choice = flag:righteous + } + mozarabic_bind_the_faith_to_rome_decision_righteous_path_scripted_effect = yes + } + if = { + limit = { + exists = scope:mozarabic_choice + scope:mozarabic_choice = flag:pluralist + } + mozarabic_bind_the_faith_to_rome_decision_pluralist_path_scripted_effect = yes + } + } +} + +# Notification event for relevant players. +iberia_north_africa.0102 = { + type = character_event + title = iberia_north_africa.0102.t + desc = { + desc = iberia_north_africa.0102.desc.intro + # Fundamentalist + triggered_desc = { + trigger = { scope:mozarabic_choice = flag:fundamentalist } + desc = iberia_north_africa.0102.desc.fundamentalist + } + # Righteous + triggered_desc = { + trigger = { scope:mozarabic_choice = flag:righteous } + desc = iberia_north_africa.0102.desc.righteous + } + # Pluralist + triggered_desc = { + trigger = { scope:mozarabic_choice = flag:pluralist } + desc = iberia_north_africa.0102.desc.pluralist + } + } + theme = faith + left_portrait = { + character = scope:religious_leader + animation = personality_zealous + } + right_portrait = { + character = scope:pope + animation = flirtation + } + + immediate = { play_music_cue = "mx_cue_faith_conversion" } + + # Fundamentalist path. + option = { + # We're using a broken-out block because the auto-magical first_valid name stuff was borking. + name = { + text = { + first_valid = { + triggered_desc = { + trigger = { faith = faith:mozarabic_church } + desc = iberia_north_africa.0102.a.same_faith + } + triggered_desc = { + trigger = { OR = { religion = religion:eastern_orthodox_religion religion = religion:catholic_religion religion = religion:protestant_religion } } + desc = iberia_north_africa.0102.a.same_religion + } + desc = iberia_north_africa.0102.a.misc + } + } + } + trigger = { scope:mozarabic_choice = flag:fundamentalist } + + show_as_tooltip = { + scope:religious_leader = { mozarabic_bind_the_faith_to_rome_decision_fundamentalist_path_scripted_effect = yes } + } + + # No stress impact for a notification event. + ai_chance = { + # AI chance isn't relevant for a notification event. + base = 100 + } + } + + # Righteous path. + option = { + # We're using a broken-out block because the auto-magical first_valid name stuff was borking. + name = { + text = { + first_valid = { + triggered_desc = { + trigger = { faith = faith:mozarabic_church } + desc = iberia_north_africa.0102.b.same_faith + } + triggered_desc = { + trigger = { OR = { religion = religion:eastern_orthodox_religion religion = religion:catholic_religion religion = religion:protestant_religion } } + desc = iberia_north_africa.0102.b.same_religion + } + desc = iberia_north_africa.0102.b.misc + } + } + } + trigger = { scope:mozarabic_choice = flag:righteous } + + show_as_tooltip = { + scope:religious_leader = { mozarabic_bind_the_faith_to_rome_decision_righteous_path_scripted_effect = yes } + } + + # No stress impact for a notification event. + ai_chance = { + # AI chance isn't relevant for a notification event. + base = 100 + } + } + + # Pluralist path. + option = { + # We're using a broken-out block because the auto-magical first_valid name stuff was borking. + name = { + text = { + first_valid = { + triggered_desc = { + trigger = { faith = faith:mozarabic_church } + desc = iberia_north_africa.0102.c.same_faith + } + triggered_desc = { + trigger = { OR = { religion = religion:eastern_orthodox_religion religion = religion:catholic_religion religion = religion:protestant_religion } } + desc = iberia_north_africa.0102.c.same_religion + } + desc = iberia_north_africa.0102.c.misc + } + } + } + trigger = { scope:mozarabic_choice = flag:pluralist } + + show_as_tooltip = { + scope:religious_leader = { mozarabic_bind_the_faith_to_rome_decision_pluralist_path_scripted_effect = yes } + } + + # No stress impact for a notification event. + ai_chance = { + # AI chance isn't relevant for a notification event. + base = 100 + } + } +} + +################################################## +# An Iberian Rite +# by Ewan Cowhig Croft +# 0111 - 0120 +################################################## + +# Mozarabic Christianity breaks away from Rome's strictures. +iberia_north_africa.0111 = { + type = character_event + title = iberia_north_africa.0111.t + desc = iberia_north_africa.0111.desc + theme = faith + left_portrait = { + character = scope:religious_leader + animation = personality_vengeful + } + right_portrait = { + character = scope:pope + animation = fear + } + + immediate = { play_music_cue = "mx_cue_faith_conversion" } + + # Jesus taught peace, and we shall follow: swap Rite for Pacifism. + option = { + name = iberia_north_africa.0111.a + flavor = iberia_north_africa.0111.a.tt + + # Apply the effects in the after block to keep future notifications from erroring. + show_as_tooltip = { mozarabic_break_with_rome_decision_righteous_path_scripted_effect = yes } + # Flag our choice. + save_scope_value_as = { + name = mozarabic_choice + value = flag:righteous + } + + stress_impact = { + shy = minor_stress_impact_gain + cynical = medium_stress_impact_gain + } + ai_chance = { + base = 100 + ai_value_modifier = { + ai_sociability = 1 + ai_zeal = 0.5 + } + } + } + + # Even without Rome, we know the value of defending our own: swap Rite for Armed Pilgrimages. + option = { + name = iberia_north_africa.0111.b + flavor = iberia_north_africa.0111.b.tt + + # Apply the effects in the after block to keep future notifications from erroring. + show_as_tooltip = { mozarabic_break_with_rome_decision_fundamentalist_path_scripted_effect = yes } + # Flag our choice. + save_scope_value_as = { + name = mozarabic_choice + value = flag:fundamentalist + } + + stress_impact = { + compassionate = medium_stress_impact_loss + craven = major_stress_impact_gain + } + ai_chance = { + base = 100 + ai_value_modifier = { + ai_vengefulness = 1 + ai_compassion = -1 + } + } + } + + # Is Islam not a religion of the Book too?: swap Rite for Islamic Syncretism. + option = { + name = iberia_north_africa.0111.c + flavor = iberia_north_africa.0111.c.tt + + # Apply the effects in the after block to keep future notifications from erroring. + show_as_tooltip = { mozarabic_break_with_rome_decision_pluralist_path_scripted_effect = yes } + # Flag our choice. + save_scope_value_as = { + name = mozarabic_choice + value = flag:pluralist + } + + stress_impact = { + lazy = medium_stress_impact_loss + arbitrary = major_stress_impact_gain + } + ai_chance = { + base = 100 + ai_value_modifier = { + ai_rationality = 1 + ai_energy = 0.5 + } + } + } + + after = { + mozarabic_break_with_rome_decision_hof_and_ecumenism_processing_scripted_effect = yes + # Now take care of notification events for players. + every_player = { + limit = { + this != scope:religious_leader + OR = { + faith = faith:mozarabic_church + any_neighboring_and_across_water_top_liege_realm_owner = { this = root.top_liege } + } + } + trigger_event = iberia_north_africa.0112 + } + # And finally, actually apply the effects. + if = { + limit = { + exists = scope:mozarabic_choice + scope:mozarabic_choice = flag:fundamentalist + } + mozarabic_break_with_rome_decision_fundamentalist_path_scripted_effect = yes + } + if = { + limit = { + exists = scope:mozarabic_choice + scope:mozarabic_choice = flag:righteous + } + mozarabic_break_with_rome_decision_righteous_path_scripted_effect = yes + } + if = { + limit = { + exists = scope:mozarabic_choice + scope:mozarabic_choice = flag:pluralist + } + mozarabic_break_with_rome_decision_pluralist_path_scripted_effect = yes + } + } +} + +# Notification event for relevant players. +iberia_north_africa.0112 = { + type = character_event + title = iberia_north_africa.0112.t + desc = { + desc = iberia_north_africa.0112.desc.intro + # Fundamentalist + triggered_desc = { + trigger = { scope:mozarabic_choice = flag:fundamentalist } + desc = iberia_north_africa.0112.desc.fundamentalist + } + # Righteous + triggered_desc = { + trigger = { scope:mozarabic_choice = flag:righteous } + desc = iberia_north_africa.0112.desc.righteous + } + # Pluralist + triggered_desc = { + trigger = { scope:mozarabic_choice = flag:pluralist } + desc = iberia_north_africa.0112.desc.pluralist + } + } + theme = faith + left_portrait = { + character = scope:religious_leader + animation = personality_vengeful + } + right_portrait = { + character = scope:pope + animation = fear + } + + immediate = { + play_music_cue = "mx_cue_faith_conversion" + } + + # Fundamentalist path. + option = { + # We're using a broken-out block because the auto-magical first_valid name stuff was borking. + name = { + text = { + first_valid = { + triggered_desc = { + trigger = { faith = faith:mozarabic_church } + desc = iberia_north_africa.0112.a.same_faith + } + triggered_desc = { + trigger = { OR = { religion = religion:eastern_orthodox_religion religion = religion:catholic_religion religion = religion:protestant_religion } } + desc = iberia_north_africa.0112.a.same_religion + } + desc = iberia_north_africa.0112.a.misc + } + } + } + trigger = { scope:mozarabic_choice = flag:fundamentalist } + + show_as_tooltip = { + scope:religious_leader = { mozarabic_break_with_rome_decision_fundamentalist_path_scripted_effect = yes } + } + + # No stress impact for a notification event. + ai_chance = { + # AI chance isn't relevant for a notification event. + base = 100 + } + } + + # Righteous path. + option = { + # We're using a broken-out block because the auto-magical first_valid name stuff was borking. + name = { + text = { + first_valid = { + triggered_desc = { + trigger = { faith = faith:mozarabic_church } + desc = iberia_north_africa.0112.b.same_faith + } + triggered_desc = { + trigger = { OR = { religion = religion:eastern_orthodox_religion religion = religion:catholic_religion religion = religion:protestant_religion } } + desc = iberia_north_africa.0112.b.same_religion + } + desc = iberia_north_africa.0112.b.misc + } + } + } + trigger = { scope:mozarabic_choice = flag:righteous } + + show_as_tooltip = { + scope:religious_leader = { mozarabic_break_with_rome_decision_righteous_path_scripted_effect = yes } + } + + # No stress impact for a notification event. + ai_chance = { + # AI chance isn't relevant for a notification event. + base = 100 + } + } + + # Pluralist path. + option = { + # We're using a broken-out block because the auto-magical first_valid name stuff was borking. + name = { + text = { + first_valid = { + triggered_desc = { + trigger = { + faith = { + OR = { + this = faith:mozarabic_church + has_doctrine = tenet_islamic_syncretism + } + } + } + desc = iberia_north_africa.0112.c.same_faith + } + triggered_desc = { + trigger = { OR = { religion = religion:eastern_orthodox_religion religion = religion:catholic_religion religion = religion:protestant_religion } } + desc = iberia_north_africa.0112.c.same_religion + } + triggered_desc = { + trigger = { religion = religion:islam_religion } + desc = iberia_north_africa.0112.c.same_religion + } + desc = iberia_north_africa.0112.c.misc + } + } + } + trigger = { scope:mozarabic_choice = flag:pluralist } + + show_as_tooltip = { + scope:religious_leader = { mozarabic_break_with_rome_decision_pluralist_path_scripted_effect = yes } + } + + # No stress impact for a notification event. + ai_chance = { + # AI chance isn't relevant for a notification event. + base = 100 + } + } + + after = { + show_as_tooltip = { mozarabic_break_with_rome_decision_hof_and_ecumenism_processing_scripted_effect = yes } + } +} + +################################################## +# A Return to the Countryside +# ^Geddit GEDDIT [not-actually-particularly-clever chortling] +# by Ewan Cowhig Croft +# 0121 - 0130 +################################################## + +# A disillusioned ruler seeks out and sponsors the remnant pagan aspects of the Pyrenees. +iberia_north_africa.0121 = { + type = character_event + title = iberia_north_africa.0121.t + desc = { + desc = iberia_north_africa.0121.desc.intro + # Nab the rationalisation. + desc = { + # We order these according to approximate rarity level/importance. + ## They're kept isolated in a scripted trigger file so that we can maintain easy parity between the decision rationales & the event desc rationales. + first_valid = { + # Excommunicated + triggered_desc = { + trigger = { favour_the_countryside_basques_rationale_excommunicated_trigger = yes } + desc = iberia_north_africa.0121.desc.excommunicated + } + # Rivalry with HoF + triggered_desc = { + trigger = { favour_the_countryside_basques_rationale_hof_rivalry_trigger = yes } + desc = iberia_north_africa.0121.desc.rivalry_with_hof + } + # Negative Piety Level + triggered_desc = { + trigger = { favour_the_countryside_basques_rationale_negative_piety_level_trigger = yes } + desc = iberia_north_africa.0121.desc.negative_piety_level + } + # Easter egg: the Lorgar special + triggered_desc = { + trigger = { has_trait = zealous } + desc = iberia_north_africa.0121.desc.lorgar + } + # Sinful Traits + triggered_desc = { + trigger = { favour_the_countryside_basques_rationale_sinful_traits_trigger = yes } + desc = iberia_north_africa.0121.desc.sinful_traits + } + # Virtuous Basque pagan traits + triggered_desc = { + trigger = { favour_the_countryside_basques_rationale_virtuous_basque_pagan_traits_trigger = yes } + desc = iberia_north_africa.0121.desc.virtuous_basque_pagan_traits + } + # Naked cynicism; we use this as the fallback. + desc = iberia_north_africa.0121.desc.naked_cynicism + } + } + desc = iberia_north_africa.0121.desc.outro + } + theme = faith + left_portrait = { + character = scope:religious_leader + animation = scheme + } + right_portrait = { + character = scope:scandalised_cleric + animation = stress + } + override_background = { reference = wilderness_mountains } + + immediate = { + play_music_cue = "mx_cue_faith_conversion" + } + + # scope:basque_faith shall be a warrior's faith again!: swap Christian Syncretism for Warmonger. + option = { + name = iberia_north_africa.0121.a + flavor = iberia_north_africa.0121.a.tt + # The AI should only really be doing this if they're coming out of the Vikings or otherwise have suitable traits. + trigger = { + OR = { + is_ai = no + scope:old_faith = { has_doctrine_parameter = great_holy_wars_active_if_reformed } + has_trait = wrathful + has_trait = crusader_king + has_trait = faith_warrior + } + } + + # Apply the effects in the after block to keep future notifications from erroring. + show_as_tooltip = { favour_the_countryside_basques_decision_fundamentalist_path_scripted_effect = yes } + # Flag our choice. + save_scope_value_as = { + name = basque_choice + value = flag:righteous + } + + stress_impact = { + base = major_stress_impact_gain + wrathful = miniscule_stress_impact_loss + calm = minor_stress_impact_gain + compassionate = medium_stress_impact_gain + } + ai_chance = { + base = 100 + ai_value_modifier = { + ai_vengefulness = 1 + ai_energy = 0.5 + } + } + } + + # It is more important to live in harmony with nature than with neighbours: swap Christian Syncretism for Sanctity of Nature. + option = { + name = iberia_north_africa.0121.b + flavor = iberia_north_africa.0121.b.tt + # The AI should only be doing this if they're self-assured about what it'll likely do to them, or it's something they're already in to. + trigger = { + OR = { + is_ai = no + faith = { has_doctrine_parameter = believes_in_harmony_with_nature_invisible } + AND = { + OR = { + has_trait = stubborn + has_trait = patient + has_trait = lifestyle_gardener + } + has_trait = calm + has_trait = brave + } + } + } + + # Apply the effects in the after block to keep future notifications from erroring. + show_as_tooltip = { favour_the_countryside_basques_decision_righteous_path_scripted_effect = yes } + # Flag our choice. + save_scope_value_as = { + name = basque_choice + value = flag:fundamentalist + } + + stress_impact = { + base = major_stress_impact_gain + # I mean, you *know* this one is gonna come back to bite you, hard. + craven = major_stress_impact_gain + } + ai_chance = { + base = 100 + ai_value_modifier = { + ai_zeal = 1 + ai_vengefulness = -1 + } + } + } + + # There are more worthy religions to share traditions with...: swap Christian Syncretism for Islamic Syncretism. + option = { + name = iberia_north_africa.0121.c + flavor = iberia_north_africa.0121.c.tt + # The AI should only really be doing this if it means they're adopting *less* traditions, not more. + trigger = { + OR = { + is_ai = no + faith = { + has_doctrine_parameter = islamic_syncretic_actor_opinion_active + religion = religion:islam_religion + } + } + } + + # Apply the effects in the after block to keep future notifications from erroring. + show_as_tooltip = { favour_the_countryside_basques_decision_pluralist_path_scripted_effect = yes } + # Flag our choice. + save_scope_value_as = { + name = basque_choice + value = flag:pluralist + } + + # Zealous Muslims & syncretics gain less stress from this. + if = { + limit = { + faith = { + has_doctrine_parameter = islamic_syncretic_actor_opinion_active + religion = religion:islam_religion + } + } + stress_impact = { + base = major_stress_impact_gain + zealous = medium_stress_impact_loss + fickle = minor_stress_impact_gain + drunkard = major_stress_impact_gain + } + } + # But everyone else doesn't. + else = { + stress_impact = { + base = major_stress_impact_gain + fickle = minor_stress_impact_gain + drunkard = major_stress_impact_gain + } + } + ai_chance = { + base = 100 + ai_value_modifier = { + ai_zeal = 1 + ai_boldness = 1 + } + } + } + + # If I try to force change, am I any less corrupt than scope:old_faith?: leave the faith as you found it. + option = { + name = iberia_north_africa.0121.d + flavor = iberia_north_africa.0121.d.tt + + # Apply the effects in the after block to keep future notifications from erroring. + show_as_tooltip = { favour_the_countryside_basques_decision_default_path_scripted_effect = yes } + # Flag our choice. + save_scope_value_as = { + name = basque_choice + value = flag:unchanged + } + + stress_impact = { + lazy = minor_stress_impact_loss + arbitrary = major_stress_impact_gain + } + ai_chance = { + base = 100 + ai_value_modifier = { + ai_rationality = 1 + ai_energy = -0.5 + } + } + } + + after = { + legend_seed_great_deed_faith_effect = { + OLD_FAITH = scope:old_faith + ANTAGONIST = scope:scandalised_cleric + } + # Now take care of notification events for players. + every_player = { + limit = { + this != scope:religious_leader + OR = { + favour_the_countryside_basques_counts_as_basque_trigger = yes + any_neighboring_and_across_water_top_liege_realm_owner = { this = root.top_liege } + } + } + trigger_event = iberia_north_africa.0122 + } + # And finally, actually apply the effects. + ## Our default stuff. + favour_the_countryside_basques_decision_generic_effects_scripted_effect = yes + ## Then our changes/lack of changes. + if = { + limit = { + exists = scope:basque_choice + scope:basque_choice = flag:fundamentalist + } + favour_the_countryside_basques_decision_righteous_path_scripted_effect = yes + } + else_if = { + limit = { + exists = scope:basque_choice + scope:basque_choice = flag:righteous + } + favour_the_countryside_basques_decision_fundamentalist_path_scripted_effect = yes + } + else_if = { + limit = { + exists = scope:basque_choice + scope:basque_choice = flag:pluralist + } + favour_the_countryside_basques_decision_pluralist_path_scripted_effect = yes + } + else_if = { + limit = { + exists = scope:basque_choice + scope:basque_choice = flag:unchanged + } + favour_the_countryside_basques_decision_default_path_scripted_effect = yes + } + } +} + +# Notification event for relevant players. +iberia_north_africa.0122 = { + type = character_event + title = iberia_north_africa.0122.t + desc = { + desc = iberia_north_africa.0122.desc.intro + # Nab the rationalisation. + desc = { + # We order these according to approximate rarity level/importance. + ## They're kept isolated in a scripted trigger file so that we can maintain easy parity between the decision rationales & the event desc rationales. + first_valid = { + # Excommunicated + triggered_desc = { + trigger = { favour_the_countryside_basques_rationale_excommunicated_trigger = yes } + desc = iberia_north_africa.0122.desc.excommunicated + } + # Rivalry with HoF + triggered_desc = { + trigger = { favour_the_countryside_basques_rationale_hof_rivalry_trigger = yes } + desc = iberia_north_africa.0122.desc.rivalry_with_hof + } + # Negative Piety Level + triggered_desc = { + trigger = { favour_the_countryside_basques_rationale_negative_piety_level_trigger = yes } + desc = iberia_north_africa.0122.desc.negative_piety_level + } + # Easter egg: the Lorgar special + triggered_desc = { + trigger = { has_trait = zealous } + desc = iberia_north_africa.0122.desc.lorgar + } + # Sinful Traits + triggered_desc = { + trigger = { favour_the_countryside_basques_rationale_sinful_traits_trigger = yes } + desc = iberia_north_africa.0122.desc.sinful_traits + } + # Virtuous Basque pagan traits + triggered_desc = { + trigger = { favour_the_countryside_basques_rationale_virtuous_basque_pagan_traits_trigger = yes } + desc = iberia_north_africa.0122.desc.virtuous_basque_pagan_traits + } + # Naked cynicism; we use this as the fallback. + desc = iberia_north_africa.0122.desc.naked_cynicism + } + } + desc = iberia_north_africa.0122.desc.midtro + # What direction is the faith going? + first_valid = { + # Fundamentalist + triggered_desc = { + trigger = { scope:basque_choice = flag:fundamentalist } + desc = iberia_north_africa.0122.desc.fundamentalist + } + # Righteous + triggered_desc = { + trigger = { scope:basque_choice = flag:righteous } + desc = iberia_north_africa.0122.desc.righteous + } + # Pluralist + triggered_desc = { + trigger = { scope:basque_choice = flag:pluralist } + desc = iberia_north_africa.0122.desc.pluralist + } + # Unchanged + triggered_desc = { + trigger = { scope:basque_choice = flag:unchanged } + desc = iberia_north_africa.0122.desc.unchanged + } + } + } + theme = faith + left_portrait = { + character = scope:religious_leader + animation = scheme + } + right_portrait = { + character = scope:scandalised_cleric + animation = stress + } + override_background = { reference = wilderness_mountains } + + immediate = { play_music_cue = "mx_cue_faith_conversion" } + + # Culturally Basque or Basque-adjacent player; join in? + option = { + name = iberia_north_africa.0122.a + trigger = { + is_ai = no + favour_the_countryside_basques_counts_as_basque_trigger = yes + } + + set_character_faith_with_conversion = scope:religious_leader.faith + if = { + limit = { + scope:religious_leader.faith = { has_doctrine = doctrine_monotheist } + } + custom_description_no_bullet = { text = mandala_monotheist_warning_tt } + } + show_as_tooltip = { + scope:religious_leader = { + favour_the_countryside_basques_decision_generic_effects_scripted_effect = yes + favour_the_countryside_basques_decision_righteous_path_scripted_effect = yes + } + } + + # No stress impact for a notification event. + ai_chance = { + # AI chance isn't relevant for a notification event. + base = 0 + } + } + + # Fundamentalist path. + option = { + # We're using a broken-out block because the auto-magical first_valid name stuff was borking. + name = { + text = { + first_valid = { + triggered_desc = { + trigger = { faith = scope:old_faith } + desc = iberia_north_africa.0122.b.same_faith + } + triggered_desc = { + trigger = { religion = scope:old_faith.religion } + desc = iberia_north_africa.0122.b.same_religion + } + triggered_desc = { + trigger = { + faith = { has_doctrine_parameter = great_holy_wars_active_if_reformed } + } + desc = iberia_north_africa.0122.b.respects_fellow_warmongers + } + desc = iberia_north_africa.0122.b.misc + } + } + } + trigger = { scope:basque_choice = flag:fundamentalist } + + show_as_tooltip = { + scope:religious_leader = { + favour_the_countryside_basques_decision_generic_effects_scripted_effect = yes + favour_the_countryside_basques_decision_righteous_path_scripted_effect = yes + } + } + + # No stress impact for a notification event. + ai_chance = { + # AI chance isn't relevant for a notification event. + base = 100 + } + } + + # Righteous path. + option = { + # We're using a broken-out block because the auto-magical first_valid name stuff was borking. + name = { + text = { + first_valid = { + triggered_desc = { + trigger = { faith = scope:old_faith } + desc = iberia_north_africa.0122.c.same_faith + } + triggered_desc = { + trigger = { religion = scope:old_faith.religion } + desc = iberia_north_africa.0122.c.same_religion + } + triggered_desc = { + trigger = { + faith = { has_doctrine_parameter = believes_in_harmony_with_nature_invisible } + } + desc = iberia_north_africa.0122.c.believes_in_harmony_with_nature + } + desc = iberia_north_africa.0122.c.misc + } + } + } + trigger = { scope:basque_choice = flag:righteous } + + show_as_tooltip = { + scope:religious_leader = { + favour_the_countryside_basques_decision_generic_effects_scripted_effect = yes + favour_the_countryside_basques_decision_fundamentalist_path_scripted_effect = yes + } + } + + # No stress impact for a notification event. + ai_chance = { + # AI chance isn't relevant for a notification event. + base = 100 + } + } + + # Pluralist path. + option = { + # We're using a broken-out block because the auto-magical first_valid name stuff was borking. + name = { + text = { + first_valid = { + triggered_desc = { + trigger = { faith.religion = religion:islam_religion } + desc = iberia_north_africa.0122.d.muslim + } + triggered_desc = { + trigger = { faith = scope:old_faith } + desc = iberia_north_africa.0122.d.same_faith + } + triggered_desc = { + trigger = { religion = scope:old_faith.religion } + desc = iberia_north_africa.0122.d.same_religion + } + triggered_desc = { + trigger = { + faith = { has_doctrine_parameter = islamic_syncretic_actor_opinion_active } + } + desc = iberia_north_africa.0122.d.syncretised_with_islam + } + desc = iberia_north_africa.0122.d.misc + } + } + } + trigger = { scope:basque_choice = flag:pluralist } + + show_as_tooltip = { + scope:religious_leader = { + favour_the_countryside_basques_decision_generic_effects_scripted_effect = yes + favour_the_countryside_basques_decision_pluralist_path_scripted_effect = yes + } + } + + # No stress impact for a notification event. + ai_chance = { + # AI chance isn't relevant for a notification event. + base = 100 + } + } + + # Unchanged path. + option = { + # We're using a broken-out block because the auto-magical first_valid name stuff was borking. + name = { + text = { + first_valid = { + triggered_desc = { + trigger = { faith = scope:old_faith } + desc = iberia_north_africa.0122.e.same_faith + } + triggered_desc = { + trigger = { religion = scope:old_faith.religion } + desc = iberia_north_africa.0122.e.same_religion + } + triggered_desc = { + trigger = { + faith = { has_doctrine_parameter = christian_syncretic_actor_opinion_active } + } + desc = iberia_north_africa.0122.e.syncretised_with_christianity + } + desc = iberia_north_africa.0122.e.misc + } + } + } + trigger = { scope:basque_choice = flag:unchanged } + + show_as_tooltip = { + scope:religious_leader = { favour_the_countryside_basques_decision_pluralist_path_scripted_effect = yes } + } + + # No stress impact for a notification event. + ai_chance = { + # AI chance isn't relevant for a notification event. + base = 100 + } + } +} + +################################################## +# A Kingdom around the Aragon +# by Ewan Cowhig Croft +# 0131 - 0140 +################################################## + +scripted_trigger convert_random_aragonese_counties_in_d_aragon_basic_reqs_trigger = { + tier = tier_county + NOT = { culture = culture:aragonese } +} + +scripted_effect copy_over_new_cultural_pillars_to_aragonese_effect = { + culture:aragonese = { + # Language. + if = { + limit = { + NOT = { has_same_culture_language = scope:founder_culture } + } + set_language_from = scope:founder_culture + } + # Martial Tradition. + if = { + limit = { + NOT = { has_same_culture_martial_tradition = scope:founder_culture } + } + set_martial_custom_from = scope:founder_culture + } + # We don't do heritage because we don't want to shift Aragonese out of the Iberian block. + } +} + +scripted_effect calculate_controlled_aragonese_duchies_effect = { + random_list = { + 100 = { + trigger = { + completely_controls = title:d_valencia + trigger_if = { + limit = { exists = scope:duchy_a } + NOT = { scope:duchy_a = title:d_valencia } + } + trigger_if = { + limit = { exists = scope:duchy_b } + NOT = { scope:duchy_a = title:d_valencia } + } + trigger_if = { + limit = { exists = scope:duchy_c } + NOT = { scope:duchy_a = title:d_valencia } + } + } + title:d_valencia = { + if = { + limit = { + NOT = { exists = scope:duchy_a } + } + save_scope_as = duchy_a + } + else_if = { + limit = { + NOT = { + this = scope:duchy_a + exists = scope:duchy_b + } + } + save_scope_as = duchy_b + } + else_if = { + limit = { + NOT = { + this = scope:duchy_a + this = scope:duchy_b + exists = scope:duchy_c + } + } + save_scope_as = duchy_c + } + } + } + 100 = { + trigger = { + completely_controls = title:d_barcelona + trigger_if = { + limit = { exists = scope:duchy_a } + NOT = { scope:duchy_a = title:d_barcelona } + } + trigger_if = { + limit = { exists = scope:duchy_b } + NOT = { scope:duchy_a = title:d_barcelona } + } + trigger_if = { + limit = { exists = scope:duchy_c } + NOT = { scope:duchy_a = title:d_barcelona } + } + } + title:d_barcelona = { + if = { + limit = { + NOT = { exists = scope:duchy_a } + } + save_scope_as = duchy_a + } + else_if = { + limit = { + NOT = { + this = scope:duchy_a + exists = scope:duchy_b + } + } + save_scope_as = duchy_b + } + else_if = { + limit = { + NOT = { + this = scope:duchy_a + this = scope:duchy_b + exists = scope:duchy_c + } + } + save_scope_as = duchy_c + } + } + } + 100 = { + trigger = { + completely_controls = title:d_navarra + trigger_if = { + limit = { exists = scope:duchy_a } + NOT = { scope:duchy_a = title:d_navarra } + } + trigger_if = { + limit = { exists = scope:duchy_b } + NOT = { scope:duchy_a = title:d_navarra } + } + trigger_if = { + limit = { exists = scope:duchy_c } + NOT = { scope:duchy_a = title:d_navarra } + } + } + title:d_navarra = { + if = { + limit = { + NOT = { exists = scope:duchy_a } + } + save_scope_as = duchy_a + } + else_if = { + limit = { + NOT = { + this = scope:duchy_a + exists = scope:duchy_b + } + } + save_scope_as = duchy_b + } + else_if = { + limit = { + NOT = { + this = scope:duchy_a + this = scope:duchy_b + exists = scope:duchy_c + } + } + save_scope_as = duchy_c + } + } + } + } +} + +scripted_effect convert_aragonese_counties_to_aragonese_effect = { + # Several counties within d_aragon will convert. + while = { + custom = form_the_kingdom_of_aragon_decision.tt.x_random_counties_in_d_aragon + count = 3 + title:d_aragon = { + random_in_de_jure_hierarchy = { + # If scope:founder has their capital in the area, make sure we grab it first. + limit = { + convert_random_aragonese_counties_in_d_aragon_basic_reqs_trigger = yes + this = scope:founder.capital_county + } + # Otherwise, go for c_alto_aragon, but we want it to *look* random. + alternative_limit = { + convert_random_aragonese_counties_in_d_aragon_basic_reqs_trigger = yes + this = title:c_alto_aragon + this != scope:founder.capital_county + } + # Then we grab any local county held by scope:founder. + alternative_limit = { + convert_random_aragonese_counties_in_d_aragon_basic_reqs_trigger = yes + holder = scope:founder + any_neighboring_county = { culture = culture:aragonese } + } + set_county_culture = culture:aragonese + } + } + } +} + +# Aragon, and the Aragonese, has/have emerged. +iberia_north_africa.0131 = { + type = character_event + title = iberia_north_africa.0131.t + desc = { + desc = iberia_north_africa.0131.desc.intro + first_valid = { + # Only has the minimum one duchy. + triggered_desc = { + trigger = { + NOT = { exists = scope:duchy_b } + } + desc = iberia_north_africa.0131.desc.duchy.one + } + # Has an extra duchy. + triggered_desc = { + trigger = { + NOT = { exists = scope:duchy_c } + } + desc = iberia_north_africa.0131.desc.duchy.two + } + # Has all three duchies! + desc = iberia_north_africa.0131.desc.duchy.three + } + desc = iberia_north_africa.0131.desc.outro + } + theme = crown + left_portrait = { + character = scope:founder + animation = personality_bold + } + override_background = { reference = farmland } + + trigger = { + # Account for ruler designer'd Aragonese cultures. + NOT = { culture = culture:aragonese } + } + + on_trigger_fail = { + # If you ruler designer'd in an Aragonese character, everything in this event is irrelevant to ye appart from the culture converting, so we just do that silently. + convert_aragonese_counties_to_aragonese_effect = yes + } + + immediate = { + play_music_cue = "mx_cue_succession_instrumental" + # Calculate scopes for the desc loc. + calculate_controlled_aragonese_duchies_effect = yes + calculate_controlled_aragonese_duchies_effect = yes + calculate_controlled_aragonese_duchies_effect = yes + # Flip scope:founder's culture. + set_culture = culture:aragonese + # Change the culture a bit. + culture:aragonese = { + # Innovations are transferred over. + get_all_innovations_from = scope:founder_culture + # And the creation of the culture is adjusted. + reset_culture_creation_date = yes + } + # Several counties within d_aragon will convert. + convert_aragonese_counties_to_aragonese_effect = yes + legend_seed_new_title_effect = yes + } + + # Vanilla: just the regular Aragonese culture, please. + option = { + name = iberia_north_africa.0131.a + + # No other effects. + + # No stress impact, since it's too tricksy to figure out which traits should get stress from absorbing what foreign cultural pillars. + ai_chance = { + # The AI should basically always opt for vanilla. + base = 100 + } + } + + # Take Pillars: not all the trappings of scope:founder_culture are so bad... + option = { + name = iberia_north_africa.0131.b + trigger = { + culture:aragonese = { + OR = { + NOT = { has_same_culture_language = scope:founder_culture } + NOT = { has_same_culture_martial_tradition = scope:founder_culture } + } + } + } + + # Copy over the salient pillars. + copy_over_new_cultural_pillars_to_aragonese_effect = yes + + # No stress impact, since it's too tricksy to figure out which traits should get stress from absorbing what foreign cultural pillars. + ai_chance = { + # The AI should basically always opt for vanilla. + base = 0 + } + } + + # Take Ethos: what's important to us hasn't changed. + option = { + name = iberia_north_africa.0131.c + trigger = { + culture:aragonese = { + NOT = { has_same_culture_ethos = scope:founder_culture } + } + } + + # Copy over the ethos. + culture:aragonese = { set_ethos_from = scope:founder_culture } + + # No stress impact, since it's too tricksy to figure out which traits should get stress from absorbing what foreign cultural pillars. + ai_chance = { + # The AI should basically always opt for vanilla. + base = 0 + } + } + + # Take Both: we cannot forget our roots! + option = { + name = iberia_north_africa.0131.d + trigger = { + culture:aragonese = { + NOT = { has_same_culture_ethos = scope:founder_culture } + OR = { + NOT = { has_same_culture_language = scope:founder_culture } + NOT = { has_same_culture_martial_tradition = scope:founder_culture } + } + } + } + + # Copy over the ethos. + culture:aragonese = { set_ethos_from = scope:founder_culture } + # Copy over the salient pillars. + copy_over_new_cultural_pillars_to_aragonese_effect = yes + + # No stress impact, since it's too tricksy to figure out which traits should get stress from absorbing what foreign cultural pillars. + ai_chance = { + # The AI should basically always opt for vanilla. + base = 0 + # ... *basically* always. + modifier = { + add = 100 + has_trait = stubborn + } + } + } +} + +# No notification event for this'un, as it's a small decision. + +# Secure the Mediterranean notif +iberia_north_africa.2105 = { + type = character_event + title = iberia_north_africa.2105.t + desc = iberia_north_africa.2105.desc + theme = crown + override_background = { reference = throne_room_mediterranean } + left_portrait = root + + immediate = { + show_as_tooltip = { + house = { + add_house_modifier = { + modifier = fp2_controls_the_mediterranean_house_modifier + years = 100 + } + } + dynasty = { add_dynasty_prestige = major_prestige_gain } + } + } + + option = { + name = iberia_north_africa.2105.a + custom_tooltip = secure_mediterranean_decision.a + } +} + +######################################################## +# golden_age_jewish_science_in_iberia_decision events +# By Hugo Cortell +# +# Note: These events are all additional +# rewards for sponsoring a golden age, +# therefore they are not much of a challenge. +# Just some cool free stuff for players! +######################################################## +iberia_north_africa.2001 = { # Jewish translator of old books (reward: skill boost) + type = character_event + title = iberia_north_africa.2001.t + desc = iberia_north_africa.2001.desc + + theme = learning + override_background = { reference = throne_room } + left_portrait = { + character = root + animation = personality_content + } + right_portrait = { + character = scope:generated_actor + animation = admiration + } + + immediate = { + create_character = { + age = { 24 51 } + location = root.capital_province + gender_female_chance = root_faith_dominant_gender_female_chance + culture = root.culture + faith = faith:rabbinism + random_traits = yes + trait = education_learning_2 + learning = { 6 12 } + + dynasty = none + after_creation = { + add_prestige = { minor_prestige_gain major_prestige_gain } + add_piety = { minor_piety_gain medium_piety_gain } + } + + save_scope_as = generated_actor + } + + get_lowest_player_skill_effect = yes + } + + option = { # Request a book that will make up for your weaknesses - for a price + flavor = iberia_north_africa.2001.a.a + name = { + text = { + desc = iberia_north_africa.2001.a + desc = { + first_valid = { + triggered_desc = { + trigger = { scope:lowest_player_skill = flag:martial } + desc = iberia_north_africa.2001.a.martial + } + triggered_desc = { + trigger = { scope:lowest_player_skill = flag:learning } + desc = iberia_north_africa.2001.a.learning + } + triggered_desc = { + trigger = { scope:lowest_player_skill = flag:stewardship } + desc = iberia_north_africa.2001.a.stewardship + } + desc = iberia_north_africa.2001.a.diplointrigue + } + } + desc = iberia_north_africa.2001.a.end + } + } + + send_interface_message = { + type = event_learning_good + title = iberia_north_africa.2001.t + right_icon = scope:generated_actor + + pay_short_term_gold = { + target = scope:generated_actor + gold = medium_gold_value + } + if = { + limit = { scope:lowest_player_skill = flag:diplomacy } + add_character_modifier = { + modifier = fp2_translated_skill_book_diplomacy_modifier + years = 20 + } + } + else_if = { + limit = { scope:lowest_player_skill = flag:martial } + add_character_modifier = { + modifier = fp2_translated_skill_book_martial_modifier + years = 20 + } + } + else_if = { + limit = { scope:lowest_player_skill = flag:stewardship } + add_character_modifier = { + modifier = fp2_translated_skill_book_stewardship_modifier + years = 20 + } + } + else_if = { + limit = { scope:lowest_player_skill = flag:intrigue } + add_character_modifier = { + modifier = fp2_translated_skill_book_intrigue_modifier + years = 20 + } + } + else = { + add_character_modifier = { + modifier = fp2_translated_skill_book_learning_modifier + years = 20 + } + } + } + + ai_chance = { + base = 20 + modifier = { + add = -50 + short_term_gold < medium_gold_value + } + } + } + + option = { # Sure give me anything (no control over outcome, but always positive - and at a lower cost) + name = iberia_north_africa.2001.b + + show_as_tooltip = { + pay_short_term_gold = { + target = scope:generated_actor + gold = minor_gold_value + } + custom_tooltip = iberia_north_africa.2001.b.a + } + hidden_effect = { + send_interface_message = { + type = event_learning_good + title = iberia_north_africa.2001.t + right_icon = scope:generated_actor + + pay_short_term_gold = { + target = scope:generated_actor + gold = minor_gold_value + } + random_list = { + 1 = { + add_character_modifier = { + modifier = fp2_translated_skill_book_diplomacy_modifier + years = 20 + } + } + 1 = { + add_character_modifier = { + modifier = fp2_translated_skill_book_martial_modifier + years = 20 + } + } + 1 = { + add_character_modifier = { + modifier = fp2_translated_skill_book_stewardship_modifier + years = 20 + } + } + 1 = { + add_character_modifier = { + modifier = fp2_translated_skill_book_intrigue_modifier + years = 20 + } + } + 1 = { + add_character_modifier = { + modifier = fp2_translated_skill_book_learning_modifier + years = 20 + } + } + } + } + } + + ai_chance = { + base = 80 + modifier = { + add = -50 + short_term_gold < minor_gold_value + } + } + } + + option = { # History is dumb + name = iberia_north_africa.2001.c + + send_interface_message = { + type = event_learning_good + title = fp2_rejection_of_old_thoughts_modifier + right_icon = root + + capital_county = { + add_county_modifier = { + modifier = fp2_rejection_of_old_thoughts_modifier + years = 5 + } + } + } + + ai_chance = { base = 35 } + } + + after = { scope:generated_actor = { silent_disappearance_effect = yes } } +} + +iberia_north_africa.2002 = { # Cataract surgery event (reward: free doctor) + type = character_event + title = iberia_north_africa.2002.t + desc = iberia_north_africa.2002.desc + + theme = learning + override_background = { reference = throne_room } + left_portrait = { + character = scope:patientzero + animation = beg + } + lower_left_portrait = root + right_portrait = { + character = scope:generated_actor + animation = disapproval + } + + trigger = { + any_vassal_or_below = { + age > 48 # Cataracts begin to develop at 40 years of age and usually finish by 60, therefore 50 seems like a decent value for a medieval high-society member + NOT = { has_trait = blind } + } + } + + immediate = { + create_character = { + age = { 21 44 } + location = root.capital_province + gender_female_chance = root_faith_dominant_gender_female_chance + culture = root.culture + faith = faith:rabbinism + random_traits = yes + trait = scholar + trait = lifestyle_physician + learning = { 8 12 } + + dynasty = none + after_creation = { + add_gold = minor_gold_value + add_prestige = { medium_prestige_gain major_prestige_gain } + add_piety = minor_piety_gain + add_trait_xp = { + trait = lifestyle_physician + value = 100 + } + } + + save_scope_as = generated_actor + } + + random_vassal_or_below = { + limit = { + age > 48 + NOT = { has_trait = blind } + } + save_scope_as = patientzero + } + + if = { + limit = { + any_child = { + is_child_of = root + age < 15 + } + } + random_child = { + limit = { + is_child_of = root + age < 15 + } + save_scope_as = child_offering + } + } + } + + option = { # Offer your child as an assistant, ~50% chance of learning medicine, 10% chance of dying. (good odds by lunatic trait option standards) + name = iberia_north_africa.2002.a + flavor = iberia_north_africa.2002.a.flavor + + trigger = { + is_ai = no + exists = scope:child_offering + OR = { + has_trait = lunatic_1 + has_trait = lunatic_genetic + has_trait = lifestyle_physician + has_trait = torturer + } + } + + random_list = { + 50 = { + modifier = { + add = scope:child_offering.learning + always = yes + } + send_interface_message = { + type = event_court_physician_good + title = iberia_north_africa.2002.a.b + left_icon = scope:patientzero + right_icon = scope:generated_actor + + random_list = { + desc = iberia_north_africa.2002.a.a + 45 = {} # Assistant helps, but fails to learn anything + 45 = { + modifier = { + add = { + value = scope:child_offering.learning + divide = 1.25 + round = yes + } + always = yes + } + scope:child_offering = { + if = { # For really, really odd cases + limit = { has_trait = lifestyle_physician } + add_learning_lifestyle_xp = medium_lifestyle_experience + add_trait_xp = { + trait = lifestyle_physician + value = 5 + } + } + add_trait = lifestyle_physician + } + } + 10 = { + scope:child_offering = { + death = { death_reason = death_training_accident } + } + } + } + scope:patientzero = { + add_character_modifier = { + modifier = fp2_removed_cataracts_modifier + years = 30 + } + } + add_courtier = scope:generated_actor + add_prestige = medium_prestige_gain + } + } + 50 = { + send_interface_message = { + type = event_court_physician_bad + title = iberia_north_africa.2002.a.b + left_icon = scope:child_offering + right_icon = scope:patientzero + + random_list = { + desc = iberia_north_africa.2002.a.a + 45 = {} # Assistant helps, but fails to learn anything + 45 = { + scope:child_offering = { + add_trait = lifestyle_physician + } + } + 10 = { + scope:child_offering = { + death = { death_reason = death_training_accident } + } + } + } + scope:patientzero = { add_trait = blind } + } + } + } + } + + option = { # "Did you just "well actually" the entire field of astrology?" option, removes the risk of the doctor running away if the operation is botched + name = iberia_north_africa.2002.d + + trigger = { + OR = { + has_trait = theologian + has_trait = scholar + } + } + + random_list = { + 50 = { + send_interface_message = { + type = event_court_physician_good + title = iberia_north_africa.2002.a.b + left_icon = scope:patientzero + right_icon = scope:generated_actor + + scope:patientzero = { + add_character_modifier = { + modifier = fp2_removed_cataracts_modifier + years = 30 + } + } + add_courtier = scope:generated_actor + add_prestige = medium_prestige_gain + } + } + 50 = { + send_interface_message = { + type = event_court_physician_bad + title = iberia_north_africa.2002.a.b + left_icon = scope:patientzero + right_icon = scope:generated_actor + + scope:patientzero = { add_trait = blind } + add_courtier = scope:generated_actor + add_prestige = minor_prestige_loss + + hidden_effect = { + scope:patientzero = { + set_relation_rival = { + target = scope:generated_actor + reason = rival_failed_cataract_surgery + } + } + } # Reasonably upset + } + } + } + } + + option = { # Take the risk, gamble away the doctor for some renown + name = iberia_north_africa.2002.b + + random_list = { + 50 = { + send_interface_message = { + type = event_court_physician_good + title = iberia_north_africa.2002.a.b + left_icon = scope:patientzero + right_icon = scope:generated_actor + + scope:patientzero = { + add_character_modifier = { + modifier = fp2_removed_cataracts_modifier + years = 30 + } + } + add_courtier = scope:generated_actor + add_prestige = medium_prestige_gain + } + } + 50 = { + send_interface_message = { + type = event_court_physician_bad + title = iberia_north_africa.2002.a.b + right_icon = scope:patientzero + + scope:patientzero = { add_trait = blind } + } + } + } + + ai_chance = { + base = 50 + } + } + + option = { # Safe choice, ask the doctor to say (get free doctor) + name = iberia_north_africa.2002.c + + send_interface_message = { + type = send_interface_message + title = court_physician_court_position + right_icon = scope:generated_actor + + add_courtier = scope:generated_actor + add_prestige = medium_prestige_loss + scope:patientzero = { + add_opinion = { + target = root + modifier = disappointed_opinion + opinion = -25 + } + } + } + + ai_chance = { + base = 50 + } + } + + after = { + if = { + limit = { NOT = { scope:generated_actor = { is_courtier_of = root } } } + scope:generated_actor = { silent_disappearance_effect = yes } + } + } +} + +iberia_north_africa.2003 = { # Two scholars are fighting over misc stuff (reward: one scholar or two grumpy scholars) + type = character_event + title = iberia_north_africa.2003.t + desc = iberia_north_africa.2003.desc + + theme = learning + override_background = { reference = throne_room } + left_portrait = { + character = scope:generated_actor_r + animation = disapproval + } + right_portrait = { + character = scope:generated_actor_k + animation = dismissal + } + lower_center_portrait = root + + immediate = { + create_character = { + age = { 26 51 } + location = root.capital_province + gender_female_chance = root_faith_dominant_gender_female_chance + culture = root.culture + faith = faith:rabbinism + random_traits = yes + trait = scholar + trait = diplomatic_court_1 + learning = { 8 14 } + + dynasty = none + after_creation = { + add_prestige = { minor_prestige_gain major_prestige_gain } + add_piety = { minor_piety_gain medium_piety_gain } + } + + save_scope_as = generated_actor_r + } + + create_character = { + age = { 23 43 } + location = root.capital_province + gender_female_chance = root_faith_dominant_gender_female_chance + culture = root.culture + faith = faith:karaism + random_traits = yes + trait = theologian + trait = scholarly_court_1 + learning = { 8 14 } + + dynasty = none + after_creation = { + add_prestige = { minor_prestige_gain major_prestige_gain } + add_piety = { minor_piety_gain medium_piety_gain } + } + + save_scope_as = generated_actor_k + } + + hidden_effect = { # Let the drama begin + add_courtier = scope:generated_actor_r + add_courtier = scope:generated_actor_k + scope:generated_actor_r = { + add_opinion = { + target = scope:generated_actor_k + modifier = angry_opinion + opinion = -80 + } + } + scope:generated_actor_k = { + add_opinion = { + target = scope:generated_actor_r + modifier = angry_opinion + opinion = -80 + } + } + } + + # Loc + capital_county = { save_scope_as = playerprovince } + } + + option = { + name = iberia_north_africa.2003.a + flavor = iberia_north_africa.2003.a.flavor + + trigger = { # NOTE: You can type bypass_requirements to bypass requirements on options, very useful! + is_ai = no + OR = { + has_trait = bastard_founder + has_trait = saoshyant + has_trait = sayyid + has_trait = savior + has_trait = augustus + has_trait = chakravarti + has_trait = heresiarch + has_trait = crusader_king + has_trait = order_member + has_trait = faith_warrior + has_trait = saint + has_trait = irritable + has_trait = bossy + has_trait = august + } + } + + send_interface_message = { + type = event_learning_good + title = yearly.0001.learning + right_icon = scope:generated_actor_r + left_icon = scope:generated_actor_k + + show_as_tooltip = { + add_courtier = scope:generated_actor_r + add_courtier = scope:generated_actor_k + } + scope:generated_actor_r = { + add_opinion = { + target = root + modifier = feast_sided_against_me_in_my_fight_opinion + opinion = -60 + } + } + scope:generated_actor_k = { + add_opinion = { + target = root + modifier = feast_sided_against_me_in_my_fight_opinion + opinion = -60 + } + } + } + } + + # NOTE: Neither faith is more progressive than the other, therefore this is just the personal opinion of the characters rather than a greater religious feud + option = { # Side with philosophers + name = iberia_north_africa.2003.b + + send_interface_message = { + type = event_learning_good + title = yearly.0001.learning + right_icon = scope:generated_actor_k + + show_as_tooltip = { add_courtier = scope:generated_actor_k } + remove_courtier_or_guest = scope:generated_actor_r + scope:generated_actor_k = { + add_opinion = { + target = root + modifier = feast_sided_with_me_in_my_fight_opinion + opinion = 25 + } + } + } + + ai_chance = { base = 50 } + } + + option = { # Side with prophets + name = iberia_north_africa.2003.c + + send_interface_message = { + type = event_learning_good + title = yearly.0001.learning + right_icon = scope:generated_actor_r + + show_as_tooltip = { add_courtier = scope:generated_actor_r } + remove_courtier_or_guest = scope:generated_actor_k + scope:generated_actor_r = { + add_opinion = { + target = root + modifier = feast_sided_with_me_in_my_fight_opinion + opinion = 25 + } + } + } + + ai_chance = { base = 50 } + } +} + +######################################################## +# build_holy_pilgrim_roads_decision events +# By Hugo Cortell +######################################################## +iberia_north_africa.2011 = { # Holy Warrior + type = character_event + title = iberia_north_africa.2011.t + desc = { + desc = iberia_north_africa.2011.desc + first_valid = { + triggered_desc = { + trigger = { scope:generated_actor = { has_trait = order_member } } + desc = iberia_north_africa.2011.desc_captain + } + desc = iberia_north_africa.2011.desc_soldier + } + } + + theme = faith + override_background = { reference = terrain } + left_portrait = { + character = root + animation = personality_cynical + } + right_portrait = { + character = scope:generated_actor + animation = personality_zealous + } + + trigger = { scope:chosen_location_for_pilgrim_roads.holder.top_liege = root } + + immediate = { + scope:chosen_location_for_pilgrim_roads = { random_county_province = { save_scope_as = pilgrim_spawn_location } } + random_list = { + 70 = { # A missguided holy warrior + create_character = { + age = { 19 34 } + location = scope:pilgrim_spawn_location + gender_female_chance = root_faith_dominant_gender_female_chance + culture = root.culture + faith = root.faith + random_traits = yes + trait = holy_warrior + trait = pilgrim + martial = { 7 12 } + + dynasty = none + after_creation = { + add_gold = minor_gold_value + add_prestige = minor_prestige_gain + add_piety = { minor_piety_gain medium_piety_gain } + if = { + limit = { has_trait = cynical } + remove_trait = cynical + add_trait = zealous + } + random_list = { # Simple backstory + 1 = { add_trait = murderer } + 2 = { add_trait = wounded_1 } + 2 = { add_trait = wounded_2 } + 5 = { add_trait = adventurer } + 1 = { add_trait = lifestyle_hunter } + } + } + + save_scope_as = generated_actor + } + } + 30 = { # Missguided former holy order captain + create_character = { + age = { 27 46 } + location = scope:pilgrim_spawn_location + gender_female_chance = root_faith_dominant_gender_female_chance + culture = root.culture + faith = root.faith + random_traits = yes + trait = warlike_court_2 + trait = holy_warrior + trait = order_member + trait = devoted + trait = pilgrim + trait = brave + martial = { 10 20 } + + dynasty = none + after_creation = { + add_gold = medium_gold_value + add_prestige = { minor_prestige_gain medium_prestige_gain } + add_piety = { + value = major_piety_gain + multiply = { 1 5 } + round = yes + } + if = { + limit = { has_trait = cynical } + remove_trait = cynical + add_trait = zealous + } + random_list = { # Spicy backstory (why would someone in such a cushy position wander off?) + 10 = { add_trait = murderer } + 5 = { add_trait = kinslayer_1 } + 5 = { + if = { + limit = { faith = { has_doctrine = tenet_communion } } + add_trait = excommunicated + random_list = { + 70 = { add_trait = depressed_1 } # This is the worst thing that can happen to a holy warrior after all + 30 = {} + } + } + else = { add_trait = wounded_2 } + } + 6 = { add_trait = adulterer } + 4 = { add_trait = fornicator } + 5 = { add_trait = drunkard } + } + } + + save_scope_as = generated_actor + } + } + } + } + + option = { # Join me (free warrior) + name = iberia_north_africa.2011.a + + send_interface_toast = { + type = event_toast_effect_good + title = iberia_north_africa.2011.t + left_icon = ROOT + right_icon = scope:generated_actor + + add_courtier = scope:generated_actor + } + ai_chance = { base = 25 } + } + + option = { # Spread the word of me (gain modifier) + name = iberia_north_africa.2011.b + flavor = iberia_north_africa.2011.b.flavor + + send_interface_toast = { + type = event_toast_effect_good + title = iberia_north_africa.2011.t + left_icon = ROOT + + add_character_modifier = { + modifier = fp2_trusted_by_pilgrim_warriors_modifier + years = 20 + } + } + + ai_chance = { base = 25 } + scope:generated_actor = { silent_disappearance_effect = yes } + } + + option = { # Finish your duty to the lord (gain piety) + name = iberia_north_africa.2011.c + flavor = iberia_north_africa.2011.c.flavor + + send_interface_toast = { + type = event_toast_effect_good + title = iberia_north_africa.2011.t + left_icon = ROOT + + add_piety = major_piety_gain + } + + ai_chance = { base = 50 } + scope:generated_actor = { silent_disappearance_effect = yes } + } +} + +iberia_north_africa.2012 = { # Broke student (theology or architecture) + type = character_event + title = iberia_north_africa.2012.t + desc = { + desc = iberia_north_africa.2012.desc + first_valid = { + triggered_desc = { + trigger = { scope:generated_actor = { has_trait = theologian } } + desc = iberia_north_africa.2012.desc_student + } + desc = iberia_north_africa.2012.desc_architect + } + } + + theme = faith + override_background = { reference = terrain } + left_portrait = { + character = root + animation = personality_content + } + right_portrait = { + character = scope:generated_actor + animation = admiration + } + + trigger = { scope:chosen_location_for_pilgrim_roads.holder.top_liege = root } + + immediate = { + scope:chosen_location_for_pilgrim_roads = { random_county_province = { save_scope_as = pilgrim_spawn_location } } + random_list = { + 50 = { # Scholar + create_character = { + age = { 18 22 } + location = scope:pilgrim_spawn_location + gender_female_chance = root_faith_dominant_gender_female_chance + culture = root.culture + faith = root.faith + random_traits = yes + trait = theologian + trait = improvident + trait = scholarly_court_1 + trait = pilgrim + learning = { 9 12 } + + dynasty = none + after_creation = { + add_gold = { 0 28 } + remove_short_term_gold = 20 # You cannot add a negative number for gold, therefore we do this + add_prestige = minor_prestige_gain + add_piety = { minor_piety_gain medium_piety_gain } + if = { + limit = { has_trait = cynical } + remove_trait = cynical + add_trait = zealous + } + } + + save_scope_as = generated_actor + } + } + 50 = { # Architect + create_character = { + age = { 18 22 } + location = scope:pilgrim_spawn_location + gender_female_chance = root_faith_dominant_gender_female_chance + culture = root.culture + faith = root.faith + random_traits = yes + trait = architect + trait = contrite + trait = administrative_court_1 + trait = pilgrim + learning = { 8 13 } + + dynasty = none + after_creation = { + add_gold = { 0 22 } + remove_short_term_gold = 10 + add_prestige = minor_prestige_gain + add_piety = minor_piety_gain + if = { + limit = { has_trait = cynical } + remove_trait = cynical + add_trait = zealous + } + } + + save_scope_as = generated_actor + } + } + } + } + + option = { # Buy journal + name = iberia_north_africa.2012.a + + send_interface_toast = { + type = event_toast_effect_good + title = iberia_north_africa.2012.t + left_icon = ROOT + + add_learning_lifestyle_xp = major_lifestyle_experience + remove_short_term_gold = minor_gold_value + } + + ai_chance = { base = 35 } + scope:generated_actor = { silent_disappearance_effect = yes } + } + + option = { # Perhaps instead you should get a job + name = iberia_north_africa.2012.b + flavor = iberia_north_africa.2012.b.flavor # (okay, where? / at the [chosen_holy_site_for_pilgrim_roads.GetNameNoTier] / I have some good news for both of you) + send_interface_toast = { + type = event_toast_effect_good + title = iberia_north_africa.2012.t + left_icon = ROOT + right_icon = scope:generated_actor + + add_courtier = scope:generated_actor + add_hook_if_possible_effect = { + TARGET = scope:generated_actor + TYPE = indebted_hook + YEARS = 12 + } + } + + ai_chance = { base = 35 } + } + + option = { # Charity action + name = iberia_north_africa.2012.c + + send_interface_toast = { + type = event_toast_effect_good + title = iberia_north_africa.2012.t + left_icon = ROOT + + add_piety = major_piety_gain + remove_short_term_gold = minor_gold_value + } + + ai_chance = { base = 35 } + scope:generated_actor = { silent_disappearance_effect = yes } + } +} + +iberia_north_africa.2013 = { # Warmup check to ensure you meet the conditions for 2014, otherwise do something else + hidden = yes + + trigger = { scope:chosen_location_for_pilgrim_roads.holder.top_liege = root } + immediate = { + if = { + limit = { + faith = { + exists = religious_head + religious_head != root + } + } + faith.religious_head = { save_scope_as = fp2_iberia_north_africa_2013_head_of_faith } + trigger_event = iberia_north_africa.2014 + } + else = { + random_list = { + 15 = { trigger_event = iberia_north_africa.2011 } + 15 = { trigger_event = iberia_north_africa.2012 } + # 30 = Removed third outcome + } + } + } +} + +iberia_north_africa.2014 = { # Getting a high five (and a gift) from your HOF + type = letter_event + sender = scope:fp2_iberia_north_africa_2013_head_of_faith + opening = iberia_north_africa.2013.t + desc = iberia_north_africa.2013.desc + + immediate = { + + } + + option = { # Butter your HOF up with complements + name = iberia_north_africa.2013.a + + send_interface_toast = { + type = event_toast_effect_good + title = iberia_north_africa.2013.notif.t + right_icon = scope:fp2_iberia_north_africa_2013_head_of_faith + + scope:fp2_iberia_north_africa_2013_head_of_faith = { + add_opinion = { + target = root + modifier = pious_opinion + opinion = 40 + } + } + } + + ai_chance = { base = 10 } + } + + option = { # Give me the piety!! + name = iberia_north_africa.2013.b + + send_interface_toast = { + type = event_toast_effect_good + title = iberia_north_africa.2013.notif.t + right_icon = scope:fp2_iberia_north_africa_2013_head_of_faith + + add_piety = major_piety_gain + } + + ai_chance = { base = 50 } + } + + option = { # Give me men! + name = iberia_north_africa.2013.c + + + send_interface_toast = { + type = event_toast_effect_good + title = iberia_north_africa.2013.notif.t + right_icon = scope:fp2_iberia_north_africa_2013_head_of_faith + + add_character_modifier = { + modifier = fp2_trusted_by_pilgrim_warriors_modifier + years = 20 + } + } + + ai_chance = { base = 30 } + } + + option = { # Gift me a relic worthy of (location) - Does not req ROCO because it is a trinket + name = iberia_north_africa.2013.d + + show_as_tooltip = { custom_tooltip = iberia_north_africa.2013.d.tooltip } # Can cause strange behavior where a button is unselectable + hidden_effect = { + scope:fp2_iberia_north_africa_2013_head_of_faith = { + set_up_trinket_adjective_effect = yes + random_list = { + 2 = { + create_artifact = { + name = fp2_blessed_junk + description = fp2_blessed_junk_desc + type = miscellaneous + visuals = small_box + modifier = artifact_monthly_piety_1_modifier + save_scope_as = random_trinket + } + } + 1 = { + create_artifact = { + name = fp2_blessed_junk + description = fp2_blessed_junk_desc + type = miscellaneous + visuals = pouch + modifier = artifact_monthly_piety_1_modifier + save_scope_as = random_trinket + } + } + 1 = { + create_artifact = { + name = fp2_blessed_junk + description = fp2_blessed_junk_desc + type = miscellaneous + visuals = medallion + modifier = artifact_monthly_piety_1_modifier + save_scope_as = random_trinket + } + } + 2 = { + create_artifact = { + name = fp2_blessed_junk + description = fp2_blessed_junk_desc + type = miscellaneous + visuals = medium_box + modifier = artifact_monthly_piety_1_modifier + save_scope_as = random_trinket + } + } + 1 = { + create_artifact = { + name = fp2_blessed_junk + description = fp2_blessed_junk_desc + type = miscellaneous + visuals = fabric_roll + modifier = artifact_monthly_piety_1_modifier + save_scope_as = random_trinket + } + } + } + scope:random_trinket = { + add_durability = { + value = artifact_durability + multiply = { -0.45 -0.1 } # This is nice, very nice. + } + } + + if = { # Cleanup + limit = { exists = var:trinket_adjective_followup } + remove_variable = trinket_adjective_followup + } + } + } + + send_interface_toast = { + type = event_toast_effect_good + title = iberia_north_africa.2013.notif.t + right_icon = scope:fp2_iberia_north_africa_2013_head_of_faith + left_icon = scope:random_trinket + + scope:random_trinket = { set_owner = root } + } + + ai_chance = { base = 10 } + } +} + +################ +# Restore Old Vasconia +# by Joe Parkin +################ + +#The kingdom revived. +iberia_north_africa.2100 = { + type = character_event + title = iberia_north_africa.2100.t + desc = iberia_north_africa.2100.desc + theme = realm + left_portrait = { + character = scope:founder + animation = personality_bold + } + + immediate = { + play_music_cue = "mx_cue_positive_effect" + restore_old_vasconia_decision_scripted_effect = yes + restore_old_vasconia_decision_tooltip_scripted_effect = yes + #Notify other players. + every_player = { + limit = { + #this != scope:founder + in_diplomatic_range = root + } + trigger_event = iberia_north_africa.2101 + } + } + + #Well done Nickname + option = { + name = iberia_north_africa.2100.a + give_nickname = nick_the_great + add_prestige = minor_prestige_gain + } + + #Well done. + option = { + name = iberia_north_africa.2100.b + add_prestige = medium_prestige_gain + } +} + +#Inform any players. +iberia_north_africa.2101 = { + type = character_event + title = iberia_north_africa.2100.t + desc = iberia_north_africa.2101.desc + theme = realm + theme = diplomacy + left_portrait = { + character = scope:founder + animation = personality_bold + } + + immediate = { + if = { + limit = { + culture = { + OR = { + this = culture:basque + AND = { + any_parent_culture_or_above = { this = culture:basque } + has_cultural_pillar = heritage_iberian + } + } + } + } + play_music_cue = "mx_cue_positive_effect" + } + restore_old_vasconia_decision_tooltip_scripted_effect = yes + } + + option = { + name = { #Basques are happy. + trigger = { + culture = { + OR = { + this = culture:basque + AND = { + any_parent_culture_or_above = { this = culture:basque } + has_cultural_pillar = heritage_iberian + } + } + } + } + text = iberia_north_africa.2100.b + } + name = { #Iberians and Franks/Occitans are outraged. + trigger = { + NOT = { + culture = { + OR = { + this = culture:basque + AND = { + any_parent_culture_or_above = { this = culture:basque } + has_cultural_pillar = heritage_iberian + } + } + } + } + culture = { + OR = { + has_cultural_pillar = heritage_frankish + has_cultural_pillar = heritage_iberian + } + } + } + text = iberia_north_africa.2101.b + } + name = { #Noone else especially cares. + trigger = { + culture = { + NOR = { + has_cultural_pillar = heritage_iberian + has_cultural_pillar = heritage_frankish + } + } + } + text = iberia_north_africa.2101.c + } + } +} diff --git a/events/dlc/ach/ach_coronation_events.txt b/events/dlc/ach/ach_coronation_events.txt index bb805c6d..9dd7c393 100644 --- a/events/dlc/ach/ach_coronation_events.txt +++ b/events/dlc/ach/ach_coronation_events.txt @@ -8369,11 +8369,7 @@ ach_coronation.0027 = { AND = { # If a European Christian, the crusades are going on location = { geographical_region = world_europe } religion = { - OR = { - this = religion:eastern_orthodox_religion - this = religion:catholic_religion - this = religion:protestant_religion - } + this = religion:christianity_religion exists = var:variable_ghw_unlocked } } @@ -8416,9 +8412,7 @@ ach_coronation.0027 = { factor = 3 faith = { has_variable = variable_ghw_cooldown # There was a recent crusade - religion = {OR = { this = religion:eastern_orthodox_religion - this = religion:catholic_religion - this = religion:protestant_religion } } + religion = { this = religion:christianity_religion } } } } diff --git a/events/dlc/ep3/ep3_governor_yearly_3.txt b/events/dlc/ep3/ep3_governor_yearly_3.txt index 22adab67..4197f08d 100644 --- a/events/dlc/ep3/ep3_governor_yearly_3.txt +++ b/events/dlc/ep3/ep3_governor_yearly_3.txt @@ -5282,11 +5282,7 @@ ep3_governor_yearly.3060 = { trigger = { scope:emperor = { religion = { - OR = { - this = religion:eastern_orthodox_religion - this = religion:catholic_religion - this = religion:protestant_religion - } + this = religion:christianity_religion } primary_title = { this = title:e_byzantium @@ -5323,11 +5319,7 @@ ep3_governor_yearly.3060 = { trigger = { scope:emperor = { religion = { - OR = { - this = religion:eastern_orthodox_religion - this = religion:catholic_religion - this = religion:protestant_religion - } + this = religion:christianity_religion } primary_title = { this = title:e_byzantium diff --git a/events/dlc/ep3/ep3_interactions_events.txt b/events/dlc/ep3/ep3_interactions_events.txt index 535ccf7f..47081a96 100644 --- a/events/dlc/ep3/ep3_interactions_events.txt +++ b/events/dlc/ep3/ep3_interactions_events.txt @@ -4407,11 +4407,7 @@ ep3_interactions_events.0620 = { # Ask for Influence accepted letter triggered_desc = { trigger = { faith.religion = { - OR = { - this = religion:eastern_orthodox_religion - this = religion:catholic_religion - this = religion:protestant_religion - } + this = religion:christianity_religion } } desc = ep3_interactions_events.0620.desc_byz diff --git a/events/dlc/fp2/fp2_yearly_events.txt b/events/dlc/fp2/fp2_yearly_events.txt index 1ea0d96a..840a0000 100644 --- a/events/dlc/fp2/fp2_yearly_events.txt +++ b/events/dlc/fp2/fp2_yearly_events.txt @@ -6122,13 +6122,9 @@ fp2_yearly.9001 = { } trigger = { - root.religion = { - OR = { - this = religion:eastern_orthodox_religion - this = religion:catholic_religion - this = religion:protestant_religion - } + root.religion = religion:christianity_religion is_landed = yes + NOT = { faith = faith:conversos } } weight_multiplier = { @@ -6323,9 +6319,7 @@ fp2_yearly.9001 = { faith = { religion = { OR = { - this = religion:eastern_orthodox_religion - this = religion:catholic_religion - this = religion:protestant_religion + this = religion:christianity_religion this = religion:judaism_religion } } diff --git a/gfx/interface/illustrations/scripted_illustrations/ingame.txt b/gfx/interface/illustrations/scripted_illustrations/ingame.txt index 428dd0dd..1b5f4ce2 100644 --- a/gfx/interface/illustrations/scripted_illustrations/ingame.txt +++ b/gfx/interface/illustrations/scripted_illustrations/ingame.txt @@ -1380,12 +1380,7 @@ character_view_bg = { trigger = { involved_activity ?= { has_activity_type = activity_feast } location ?= involved_activity.activity_location - involved_activity.activity_location.culture = { - OR = { - has_building_gfx = byzantine_building_gfx - has_building_gfx = caucasian_building_gfx - } - } + involved_activity.activity_location.culture = { has_building_gfx = byzantine_building_gfx } } } @@ -1526,12 +1521,7 @@ character_view_bg = { trigger = { involved_activity ?= { has_activity_type = activity_feast } location ?= involved_activity.activity_location - involved_activity.activity_location.culture = { - OR = { - has_building_gfx = indian_building_gfx - has_building_gfx = tibetan_building_gfx - } - } + involved_activity.activity_location.culture = { has_building_gfx = indian_building_gfx } } } @@ -1541,12 +1531,7 @@ character_view_bg = { trigger = { involved_activity ?= { has_activity_type = activity_feast } location ?= involved_activity.activity_location - involved_activity.activity_location.culture = { - OR = { - has_building_gfx = indian_building_gfx - has_building_gfx = tibetan_building_gfx - } - } + involved_activity.activity_location.culture = { has_building_gfx = indian_building_gfx } is_character_window_main_character = yes } } @@ -1561,12 +1546,7 @@ character_view_bg = { primary_spouse = { involved_activity ?= { has_activity_type = activity_feast } location ?= involved_activity.activity_location - involved_activity.activity_location.culture = { - OR = { - has_building_gfx = indian_building_gfx - has_building_gfx = tibetan_building_gfx - } - } + involved_activity.activity_location.culture = { has_building_gfx = indian_building_gfx } } } AND = { @@ -1574,12 +1554,7 @@ character_view_bg = { betrothed = { involved_activity ?= { has_activity_type = activity_feast } location ?= involved_activity.activity_location - involved_activity.activity_location.culture = { - OR = { - has_building_gfx = indian_building_gfx - has_building_gfx = tibetan_building_gfx - } - } + involved_activity.activity_location.culture = { has_building_gfx = indian_building_gfx } } } AND = { @@ -1587,12 +1562,7 @@ character_view_bg = { liege ?= { involved_activity ?= { has_activity_type = activity_feast } location ?= involved_activity.activity_location - involved_activity.activity_location.culture = { - OR = { - has_building_gfx = indian_building_gfx - has_building_gfx = tibetan_building_gfx - } - } + involved_activity.activity_location.culture = { has_building_gfx = indian_building_gfx } } } } @@ -10625,13 +10595,31 @@ character_view_bg = { ########################################## + # Japan, Emperor + texture = { + reference = "event_scenes/tgp_japan_throne_room.dds" + + trigger = { + primary_title ?= title:e_japan + } + } + + environment = { + reference = "environment_tgp_frontend_celestial_main" + + trigger = { + primary_title ?= title:e_japan + } + } + + ########################################## + # East Asia, high rank texture = { reference = "event_scenes/tgp_asia_throne_room.dds" trigger = { high_tier_throne_room_trigger = { REGION = east_asia } - culture = { has_graphical_east_asia_culture_group_trigger = yes } } } @@ -10640,7 +10628,6 @@ character_view_bg = { trigger = { high_tier_throne_room_trigger = { REGION = east_asia } - culture = { has_graphical_east_asia_culture_group_trigger = yes } } } diff --git a/gui/debug/window_component_library.gui b/gui/debug/window_component_library.gui index 8bb0aec6..b2e86644 100644 --- a/gui/debug/window_component_library.gui +++ b/gui/debug/window_component_library.gui @@ -67,11 +67,6 @@ window = { onclick = "[GetVariableSystem.Set( 'ui_library_tabs', 'action_buttons' )]" down = "[GetVariableSystem.HasValue( 'ui_library_tabs', 'action_buttons' )]" - - blockoverride "icon_visible" - { - visible = no - } } button_tab = { @@ -80,11 +75,6 @@ window = { onclick = "[GetVariableSystem.Set( 'ui_library_tabs', 'other_inputs' )]" down = "[GetVariableSystem.HasValue( 'ui_library_tabs', 'other_inputs' )]" - - blockoverride "icon_visible" - { - visible = no - } } button_tab = { @@ -93,11 +83,6 @@ window = { onclick = "[GetVariableSystem.Set( 'ui_library_tabs', 'view_controls' )]" down = "[GetVariableSystem.HasValue( 'ui_library_tabs', 'view_controls' )]" - - blockoverride "icon_visible" - { - visible = no - } } button_tab = { @@ -106,13 +91,7 @@ window = { onclick = "[GetVariableSystem.Set( 'ui_library_tabs', 'selectors' )]" down = "[GetVariableSystem.HasValue( 'ui_library_tabs', 'selectors' )]" - - blockoverride "icon_visible" - { - visible = no - } } - button_tab = { layoutpolicy_horizontal = expanding @@ -120,11 +99,6 @@ window = { onclick = "[GetVariableSystem.Set( 'ui_library_tabs', 'separators' )]" down = "[GetVariableSystem.HasValue( 'ui_library_tabs', 'separators' )]" - - blockoverride "icon_visible" - { - visible = no - } } button_tab = { @@ -134,11 +108,6 @@ window = { onclick = "[GetVariableSystem.Set( 'ui_library_tabs', 'indicators' )]" down = "[GetVariableSystem.HasValue( 'ui_library_tabs', 'indicators' )]" - - blockoverride "icon_visible" - { - visible = no - } } button_tab = { @@ -148,11 +117,6 @@ window = { onclick = "[GetVariableSystem.Set( 'ui_library_tabs', 'text_formats' )]" down = "[GetVariableSystem.HasValue( 'ui_library_tabs', 'text_formats' )]" - - blockoverride "icon_visible" - { - visible = no - } } button_tab = { @@ -161,11 +125,6 @@ window = { onclick = "[GetVariableSystem.Set( 'ui_library_tabs', 'portraits' )]" down = "[GetVariableSystem.HasValue( 'ui_library_tabs', 'portraits' )]" - - blockoverride "icon_visible" - { - visible = no - } } button_tab = { @@ -174,11 +133,6 @@ window = { onclick = "[GetVariableSystem.Set( 'ui_library_tabs', 'coas' )]" down = "[GetVariableSystem.HasValue( 'ui_library_tabs', 'coas' )]" - - blockoverride "icon_visible" - { - visible = no - } } #button_tab = { @@ -196,11 +150,6 @@ window = { onclick = "[GetVariableSystem.Set( 'ui_library_tabs', 'animations' )]" down = "[GetVariableSystem.HasValue( 'ui_library_tabs', 'animations' )]" - - blockoverride "icon_visible" - { - visible = no - } } button_tab = { @@ -209,11 +158,6 @@ window = { onclick = "[GetVariableSystem.Set( 'ui_library_tabs', 'placeholders' )]" down = "[GetVariableSystem.HasValue( 'ui_library_tabs', 'placeholders' )]" - - blockoverride "icon_visible" - { - visible = no - } } } diff --git a/gui/hud.gui b/gui/hud.gui index ab4d842c..b155a1d0 100644 --- a/gui/hud.gui +++ b/gui/hud.gui @@ -1,5 +1,5 @@ ###################################################### -#################### BOTTOM ####################### +#################### META INFO ####################### ###################################################### widget = { @@ -64,7 +64,6 @@ widget = { default_format = "#low" max_width = 300 } - text_single = { name = "beta_warning_text" visible = "[And( Not(IsGameViewOpen('barbershop')), Not(LiveMode))]" @@ -76,168 +75,19 @@ widget = { max_width = 300 } - widget = { - size = { 320 400 } - parentanchor = hcenter|bottom - - vbox = { - margin_bottom = 20 - - expand = {} - - hbox = { - error_horse = { - visible = "[And( Not(IsGameViewOpen('barbershop')), And( Not( IsPauseMenuShown ), Not(ReleaseMode) ) )]" - } - - loaded_mods_icon = { - visible = "[And( Not( IsPauseMenuShown ), And( HasLoadedMods, Not(ReleaseMode) ) )]" - tooltip = "[GetLoadedMods]" - } - } - - widget = { - size = { 320 100 } - datacontext = "[GetPlayer]" - visible = "[And(Not(Character.HasActiveCompanionAISetting('raise_armies')),Or(And( Character.IsAtWar, Not(Character.HasRaisedRegiments)),PlayerShouldDisbandAll))]" - } - } - - - ### Raise/Disband armies ### - - container = { - # Similar visible check in hud_bottom.gui:287, for the bottom info in non-realms mapmodes - visible = "[And( Not(IsGameViewOpen('barbershop')), And( IsMapMode('realms'), And( Not(IsGameViewOpen('struggle')), Not(IsAnySituationViewOpen) ) ) )]" - parentanchor = hcenter|bottom - - widget = { - datacontext = "[GetPlayer]" - size = { 320 120 } - visible = "[Not( IsPauseMenuShown )]" - - button = { - visible = "[And(Not(Character.HasActiveCompanionAISetting('raise_armies')),Or(And( Character.IsAtWar, Not(Character.HasRaisedRegiments)),PlayerShouldDisbandAll))]" - size = { 100% 100% } - - background = { - using = Background_Area_Dark - - modify_texture = { - texture = "gfx/interface/component_masks/mask_fade_halfcircle.dds" - mirror = vertical - blend_mode = alphaMultiply - } - } - - state = { - name = _show - duration = 0.6 - using = Animation_Curve_Default - position_y = 0 - } - - state = { - name = _hide - duration = 0.6 - using = Animation_Curve_Default - position_y = 120 - } - - icon = { - size = { 100% 100% } - texture = "gfx/interface/skinned/raise_armies_button.dds" - } - - button_icon = { - size = { 100% 100%} - texture = "gfx/interface/skinned/raise_armies_button_trim.dds" - } - - widget = { - allow_outside = yes - size = { 200 80 } - position = { 0 18 } - parentanchor = bottom|hcenter - - - button_raise_disband_armies = { - name = "tutorial_highlight_raise_troops" - visible = "[And( Character.IsAtWar, Not(Character.HasRaisedRegiments))]" - visible_at_creation = no - parentanchor = center - - enabled = "[PlayerCanRaiseAnyRallyPoint]" - onclick = "[PlayerRaiseAllRegiments]" - onrightclick = "[PlayerRaiseAllRegimentsAtLocation]" - button_ignore = none - - clicksound = "event:/SFX/UI/Unit/Army/sfx_ui_raise_army" - - tooltip = "[GetPlayerRaiseAllTooltip]" - - animation_aggressive = { - blockoverride "size" { - size = { 100% 75% } - } - - blockoverride "animation_mask" { - modify_texture = { - texture = "gfx/interface/component_masks/mask_fade_halfcircle.dds" - mirror = vertical - blend_mode = alphaMultiply - } - } - - blockoverride "alpha" { - alpha = 1 - } - } - - animation_aggressive = { - blockoverride "size" { - size = { 150% 75% } - } - - blockoverride "animation_mask" { - modify_texture = { - texture = "gfx/interface/component_masks/mask_fade_halfcircle.dds" - mirror = vertical - blend_mode = alphaMultiply - } - } - - blockoverride "alpha" { - alpha = 1 - } - } - } - - button_raise_disband_armies = { - visible = "[PlayerShouldDisbandAll]" - visible_at_creation = no - parentanchor = center - - onclick = "[PlayerDisbandAll]" - enabled = "[PlayerCanDisbandAll]" - clicksound = "event:/SFX/UI/Unit/Army/sfx_ui_unit_army_disband" - - blockoverride "text" { - text = "DISBAND_ALL" - } - - tooltip = "[GetDisbandAllTooltip]" - } - } - } - } - } - + error_horse = { + parentanchor = bottom|left + position = { 850 -10 } + visible = "[And( Not(IsGameViewOpen('barbershop')), And( Not( IsPauseMenuShown ), Not(ReleaseMode) ) )]" + } + loaded_mods_icon = { + parentanchor = bottom|left + visible = "[And( Not( IsPauseMenuShown ), And( HasLoadedMods, Not(ReleaseMode) ) )]" + tooltip = "[GetLoadedMods]" + position = { 670 -5 } } - } - ###################################################### #################### TOP RIGHT ####################### ###################################################### @@ -293,7 +143,7 @@ widget = { container = { visible = "[And(Not( GreaterThan_CFixedPoint( GetPlayer.MakeScope.Var('hide_ui_outliner').GetValue, '(CFixedPoint)0' ) ), And( Not( IsGameViewOpen('barbershop') ), And( Not( IsPauseMenuShown ), And(Not(IsRightWindowOpen), IsDefaultGUIMode))))]" parentanchor = top|right - position = { -5 55 } + position = { -3 55 } using = Animation_ShowHide_Quick @@ -304,7 +154,6 @@ widget = { onclick = "[ToggleGameView('outliner')]" tooltip = "TOGGLE_OUTLINER" - shortcut = outliner state = { name = _mouse_enter @@ -328,12 +177,44 @@ widget = { } } + widget = { + layer = hud_layer + size = { 100% 88 } + position = { 0 -24 } + + allow_outside = yes + + hbox = { + ### Alerts + expand = {} + notifications_alerts = { + visible = "[And( Not(IsGameViewOpen('barbershop')), Not( IsPauseMenuShown ) )]" + using = Animation_ShowHide_Quick + } + ### Suggestions / Current Situation + widget = { + size = { 80 80 } + widgetid = "suggestions_placer" + visible = "[Not( IsPauseMenuShown )]" + } + + spacer = { + size = { 16 1 } + } + #### Top Right Bar + resources_top_right_bar = { + name = "top_bar" + visible = "[And(Not( IsPauseMenuShown ), Not( GreaterThan_CFixedPoint( GetPlayer.MakeScope.Var('hide_ui_top_bar').GetValue, '(CFixedPoint)0' ) ))]" + } + } + } + ### Main Tabs widget = { name = "main_tabs" visible = "[And(And(And( Not( IsPauseMenuShown ), And(Or(Not(IsObserver), GetPlayer.IsValid), IsDefaultGUIMode)), Not(IsGameViewOpen('struggle'))), Not( GreaterThan_CFixedPoint( GetPlayer.MakeScope.Var('hide_ui_main_tabs').GetValue, '(CFixedPoint)0' ) ))]" parentanchor = top|right - position = { 0 90 } + position = { 0 105 } size = { 50 0 } allow_outside = yes @@ -345,7 +226,7 @@ widget = { visible = "[Not(IsGameViewOpen('barbershop'))]" margin = { 5 10 } - background = { + Background = { visible = "[And(Not(IsRightWindowOpen) , Not(IsGameViewOpen('barbershop')) )]" texture = "gfx/interface/skinned/hud_maintab_bg_middle.dds" spriteType = CorneredTiled @@ -353,7 +234,7 @@ widget = { margin = { 0 -50 } } - background = { + Background = { visible = "[And(Not(IsRightWindowOpen) , Not(IsGameViewOpen('barbershop')) )]" spriteType = CorneredStretched spriteborder_top = 100 @@ -363,7 +244,7 @@ widget = { texture = "gfx/interface/skinned/hud_maintab_bg_top.dds" } - background = { + Background = { visible = "[And(Not(IsRightWindowOpen) , Not(IsGameViewOpen('barbershop')) )]" spriteType = CorneredStretched spriteborder_bottom = 100 @@ -392,6 +273,7 @@ widget = { name = "tab_government_administration" #tutorial uses this widget_hud_main_tab = { + datacontext = "[GetPlayer.GetTopLiege]" visible = "[And(Character.GetGovernment.HasRule( 'noble_families' ),Not(Or(GetPlayer.GetGovernment.IsType( 'celestial_government' ),Or(GetPlayer.GetGovernment.IsType( 'japan_administrative_government' ),GetPlayer.GetGovernment.IsType( 'japan_feudal_government' )))))]" @@ -399,14 +281,12 @@ widget = { { texture = "gfx/interface/skinned/hud_maintab/maintab_administrative.dds" - shortcut = government_hud onclick = "[ToggleGameView( 'government_administration' )]" down = "[IsGameViewOpen( 'government_administration' )]" tooltip = "ADMINISTRATIVE_BUTTON" } } - widget_hud_main_tab = { datacontext = "[GetPlayer.GetTopLiege]" visible = "[GetPlayer.GetGovernment.IsType( 'japan_feudal_government' )]" @@ -415,7 +295,6 @@ widget = { { texture = "gfx/interface/skinned/hud_maintab/maintab_soryo_japan.dds" - shortcut = government_hud onclick = "[ToggleGameView( 'government_administration' )]" down = "[IsGameViewOpen( 'government_administration' )]" @@ -431,7 +310,6 @@ widget = { { texture = "gfx/interface/skinned/hud_maintab/maintab_ritsuryo_japan.dds" - shortcut = government_hud onclick = "[ToggleGameView( 'government_administration' )]" down = "[IsGameViewOpen( 'government_administration' )]" @@ -448,7 +326,6 @@ widget = { { texture = "gfx/interface/skinned/hud_maintab/maintab_administrative_china.dds" - shortcut = government_hud onclick = "[ToggleGameView( 'government_administration' )]" down = "[IsGameViewOpen( 'government_administration' )]" @@ -458,12 +335,12 @@ widget = { } widget = { - datacontext = "[GetPlayer.GetTopLiege]" - visible = "[And(Or( Character.GetGovernment.HasRule( 'noble_families' ), Character.GetGovernment.HasRule( 'administrative' ) ), And( Not( IsPauseMenuShown ), And(Or(Not(IsObserver), GetPlayer.IsValid), IsDefaultGUIMode)))]" - layoutpolicy_horizontal = expanding size = { 0 15 } + layoutpolicy_horizontal = expanding icon = { + datacontext = "[GetPlayer.GetTopLiege]" + visible = "[And(Or( Character.GetGovernment.HasRule( 'noble_families' ), Character.GetGovernment.HasRule( 'administrative' ) ), And( Not( IsPauseMenuShown ), And(Or(Not(IsObserver), GetPlayer.IsValid), IsDefaultGUIMode)))]" size = { 25 15 } parentanchor = right|vcenter @@ -605,6 +482,21 @@ widget = { } } + widget_hud_main_tab = { + name = "tab_contracts" + visible = "[Or(GetPlayer.GetGovernment.IsType( 'landless_adventurer_government' ) GetPlayer.GetGovernment.IsType( 'landless_minority_government' ))]" + + blockoverride "maintab_button" + { + texture = "gfx/interface/skinned/hud_maintab/maintab_contracts.dds" + + onclick = "[ToggleGameView('decisions')]" + shortcut = "decision_window" + tooltip = "DECISIONS_BUTTON" + down = "[IsGameViewOpen('decisions')]" + } + } + widget_hud_main_tab = { name = "tab_activities" #tutorial uses this @@ -619,82 +511,13 @@ widget = { } } - widget_hud_main_tab = { - name = "tab_contracts" - visible = "[Not(Or(GetPlayer.GetGovernment.IsType( 'landless_adventurer_government' ), GetPlayer.GetGovernment.IsType( 'landless_minority_government' )))]" - - blockoverride "maintab_button" - { - texture = "gfx/interface/skinned/hud_maintab/maintab_contracts.dds" - - onclick = "[ToggleGameView('decisions')]" - shortcut = "decision_window" - tooltip = "DECISIONS_BUTTON" - down = "[IsGameViewOpen('decisions')]" - } - } - widget_hud_main_tab = { name = "tab_situation" - datacontext = "[AccessLocalPlayerCachedData]" - datacontext = "[LocalPlayerCachedData.AccessSituationData]" blockoverride "maintab_button" { texture = "gfx/interface/skinned/hud_maintab/maintab_situations.dds" - # Looping glow when you have a new story - using = Animation_Glow_Pulse - - glow = { - glow_radius = 8 - using = Glow_Standard - using = Color_Bright_Yellow - visible = "[Or( Or( LocalPlayerSituationData.HasNewStories, LocalPlayerSituationData.HasNewSituations ), LocalPlayerSituationData.HasNewStruggles )]" - } - - # Pulse when you get a new story - state = { - name = "new_situation_start" - next = "new_situation_a" - position_x = 0 - duration = 0.2 - size = { 45 45 } - using = Animation_Curve_Default - trigger_when = "[Or( Or( LocalPlayerSituationData.HasNewStories, LocalPlayerSituationData.HasNewSituations ), LocalPlayerSituationData.HasNewStruggles )]" - - start_sound = { - soundeffect = "event:/DLC/EP1/SFX/UI/Notifications/royal_court_event_available" - } - } - - state = { - name = "new_situation_a" - next = "new_situation_b" - position_x = -30 - duration = 0.45 - size = { 85 85 } - using = Animation_Curve_Default - } - - state = { - name = "new_situation_b" - position_x = 0 - duration = 0.25 - size = { 45 45 } - bezier = { 0.43 0 0.2 2.2 } - } - - flowcontainer = { - position = { -5 0 } - direction = vertical - ignoreinvisible = yes - - widget_new_situations = { - visible = "[LocalPlayerSituationData.HasAnyNewSituation]" - } - } - onclick = "[ToggleGameView( 'situations' )]" tooltip = "SITUATIONS_BUTTON" shortcut = "situations" @@ -708,7 +531,7 @@ widget = { datacontext = "[LocalPlayerCachedData.AccessNewArtifacts]" datacontext = "[LocalPlayerCachedData.AccessCourtEvents]" datacontext = "[Character.GetCourtGrandeurData]" - visible = "[And(Character.HasRoyalCourt ,And(And( And( Not( IsPauseMenuShown ), And(Or(Not(IsObserver), GetPlayer.IsValid), IsDefaultGUIMode)), HasDlcFeature( 'court_room_view' )), Not(Or(GetPlayer.GetGovernment.IsType( 'landless_adventurer_government' ), GetPlayer.GetGovernment.IsType( 'landless_minority_government' )))))]" + visible = "[And(Character.HasRoyalCourt ,And(And( And( Not( IsPauseMenuShown ), And(Or(Not(IsObserver), GetPlayer.IsValid), IsDefaultGUIMode)), HasDlcFeature( 'court_room_view' )), Not( IsLandlessAdventurer( GetPlayer ) )))]" allow_outside = yes name = "royal_court_button_tutorial_uses_this" @@ -878,41 +701,158 @@ widget = { onclick = "[ToggleGameViewData( 'character', GetPlayer.GetID )]" shortcut = "character_window" } - } - widget = { - layer = hud_layer - size = { 100% 88 } - position = { 0 -24 } + # widget = { + # datacontext = "[GetPlayer]" + # datacontext = "[AccessLocalPlayerCachedData]" + # datacontext = "[LocalPlayerCachedData.AccessNewArtifacts]" + # datacontext = "[LocalPlayerCachedData.AccessCourtEvents]" + # datacontext = "[Character.GetCourtGrandeurData]" + # visible = "[And( And( Not( IsPauseMenuShown ), And(Or(Not(IsObserver), GetPlayer.IsValid), IsDefaultGUIMode)), HasDlcFeature( 'royal_court' ))]" + # enabled = "[Character.HasRoyalCourt]" - allow_outside = yes + # parentanchor = bottom + # position = { 4 50 } + # size = { 45 45 } - hbox = { - expand = {} + # icon = { + # name = "royal_court_button_background" + # visible = "[Not(IsRightWindowOpen)]" + # size = { 45 45 } + # texture = "gfx/interface/buttons/maintab_courtview_bg.dds" - ### Alerts - notifications_alerts = { - visible = "[And( Not(IsGameViewOpen('barbershop')), Not( IsPauseMenuShown ) )]" - using = Animation_ShowHide_Quick - } + # allow_outside = yes - ### Suggestions / Current Situation - widget = { - size = { 80 80 } - widgetid = "suggestions_placer" - visible = "[Not( IsPauseMenuShown )]" - } + # state = { + # name = _show + # alpha = 1 + # duration = 0.1 + # using = Animation_Curve_Default + # } - spacer = { - size = { 15 0 } - } + # state = { + # name = _hide + # duration = 0.6 + # alpha = 0 + # using = Animation_Curve_Default + # } - #### Top Right Bar - resources_top_right_bar = { - name = "top_bar" - visible = "[And(Not( IsPauseMenuShown ), Not( GreaterThan_CFixedPoint( GetPlayer.MakeScope.Var('hide_ui_top_bar').GetValue, '(CFixedPoint)0' ) ))]" - } - } + # state = { + # name = "hud_tab_glow_courtview_enter" + # duration = 0.03 + # using = Animation_Curve_Default + + # modify_texture = { + # name = "glow_courtview" + # alpha = 1 + # } + # } + + # state = { + # name = "hud_tab_glow_courtview_leave" + # duration = 0.1 + # using = Animation_Curve_Default + + # modify_texture = { + # name = "glow_courtview" + # alpha = 0 + # } + # } + + # modify_texture = { + # name = "glow_courtview" + # texture = "gfx/interface/buttons/maintab_courtview_bg_glow.dds" + # alpha = 0 + # } + # } + + # widget_hud_main_tab = { + # allow_outside = yes + # name = "royal_court_button_tutorial_uses_this" + + # tooltipwidget = { + # container_royal_court_tooltip = {} + # } + + # state = { + # name = _mouse_hierarchy_enter + # on_start = "[PdxGuiInterruptThenTriggerAllAnimations('hud_tab_glow_courtview_leave','hud_tab_glow_courtview_enter')]" + # alpha = 1 + # } + + # state = { + # name = _mouse_hierarchy_leave + # on_start = "[PdxGuiInterruptThenTriggerAllAnimations('hud_tab_glow_courtview_enter','hud_tab_glow_courtview_leave')]" + # alpha = 1 + # } + + # blockoverride "maintab_button" + # { + # texture = "gfx/interface/buttons/maintab_courtview.dds" + # onclick = "[Character.OpenRoyalCourtView( 'throne' )]" + + # # Looping glow when you have unhandled court events or first get your royal court + # using = Animation_Glow_Pulse + + # glow = { + # glow_radius = 8 + # using = Glow_Standard + # using = Color_Bright_Yellow + # visible = "[Or( And( Character.HasRoyalCourt, Not( LocalPlayerCachedData.HasEverOpenedRoyalCourt ) ), GreaterThan_int32( LocalPlayerCourtEvents.GetNumberCourtEvents, '(int32)0' ) )]" + # } + + # # Pulse when you get a new pending court event + # state = { + # name = "pending_court_event_start" + # next = "pending_court_event_a" + # position_x = 0 + # duration = 0.2 + # size = { 45 45 } + # using = Animation_Curve_Default + # trigger_when = "[GreaterThan_int32( Character.GetNumPendingCourtEvents, '(int32)0' )]" + + # start_sound = { + # soundeffect = "event:/DLC/EP1/SFX/UI/Notifications/royal_court_event_available" + # } + # } + + # state = { + # name = "pending_court_event_a" + # next = "pending_court_event_b" + # position_x = -30 + # duration = 0.45 + # size = { 85 85 } + # using = Animation_Curve_Default + # } + + # state = { + # name = "pending_court_event_b" + # position_x = 0 + # duration = 0.25 + # size = { 45 45 } + # bezier = { 0.43 0 0.2 2.2 } + # } + + # flowcontainer = { + # position = { 0 6 } + # parentanchor = bottom|hcenter + # widgetanchor = center + # direction = vertical + # ignoreinvisible = yes + # visible = "[Character.HasRoyalCourt]" + # datacontext = "[GetPlayer]" + + # widget_royal_court_notification = { + # visible = "[And( GreaterThanOrEqualTo_int32( CourtGrandeurData.GetCurrentLevel, CourtGrandeurData.GetMinimumExpectedLevel ), Or( GreaterThan_int32( LocalPlayerNewArtifacts.GetNumNewArtifactsOfCategory( 'court' ), '(int32)0' ), Or( GreaterThan_int32( LocalPlayerCourtEvents.GetNumberCourtEvents, '(int32)0' ), GreaterThan_int32( Character.GetNumPendingCourtEvents, '(int32)0' ) ) ) )]" + # } + + # widget_below_cgv_expectations = { + # visible = "[LessThan_int32( CourtGrandeurData.GetCurrentLevel, CourtGrandeurData.GetMinimumExpectedLevel )]" + # } + # } + # } + # } + # } } widget_stress_sounds = {} @@ -979,26 +919,6 @@ icon = { } hotkeys_HUD = {} - - # hotkeys that should'be available in the lobby - container = { - button_normal = { - name = "ledger_shortcut" - onclick = "[ToggleGameView('ledger')]" - onclick = "[GetVariableSystem.Clear( 'extra_buttons_expand' )]" - shortcut = "ledger_window" - } - button_normal = { - onclick = "[OnGoToPlayerCapital]" - onclick = "[ToggleGameViewData('holding_view', GetPlayer.GetCapitalLocation)]" - visible = "[GetPlayer.IsValid]" - shortcut = "open_capital" - } - button_normal = { - onclick = "[ToggleMessageSettings]" - shortcut = "message_settings" - } - } ### Extra Buttons flowcontainer = { @@ -1061,6 +981,19 @@ icon = { tooltip = "IM_TT_FIND_TITLE" } + button_standard = { + name = "plagues_button" + + onclick = "[ToggleGameView( 'epidemics' )]" + onclick = "[GetVariableSystem.Toggle( 'extra_buttons_expand' )]" + + down = "[IsGameViewOpen('epidemics')]" + shortcut = "explore_plagues" + + text = "EXPLORE_PLAGUES" + tooltip = "EXPLORE_PLAGUES_TT" + } + button_standard = { name = "legacy_button" text = "SHOW_LEGACY" @@ -1073,11 +1006,7 @@ icon = { button_standard = { name = "go_to_capital_button" text = "GO_TO_CAPITAL" - button_ignore = none onclick = "[OnGoToPlayerCapital]" - onrightclick = "[OnGoToPlayerCapital]" - onrightclick = "[ToggleGameViewData('holding_view', GetPlayer.GetCapitalLocation)]" - onrightclick = "[GetVariableSystem.Toggle( 'extra_buttons_expand' )]" onclick = "[GetVariableSystem.Toggle( 'extra_buttons_expand' )]" shortcut = "go_to_capital" tooltip = "IM_TT_GO_TO_CAPITAL" @@ -1090,7 +1019,6 @@ icon = { onclick = "[ToggleMessageSettings]" onclick = "[GetVariableSystem.Toggle( 'extra_buttons_expand' )]" tooltip = "MESSAGE_SETTINGS_WINDOW_TT" - shortcut = "message_settings" } button_standard = { @@ -1113,7 +1041,7 @@ icon = { name = "button_hud_extra_buttons" onclick = "[GetVariableSystem.Toggle( 'extra_buttons_expand' )]" tooltip = MORE_POPOUT_TT - using = tooltip_ws + using = tooltip_ne } button_menu = { @@ -1138,18 +1066,6 @@ icon = { shortcut = "encyclopedia" using = tooltip_ne } - - button_icon = { - name = "ledger_window" - size = { 32 32 } - - tooltip = "OPEN_LEDGER" - onclick = "[ToggleGameView('ledger')]" - shortcut = "ledger_window" - using = tooltip_ne - - texture = "gfx/interface/icons/flat_icons/ledger.dds" - } } hbox = { @@ -1329,7 +1245,6 @@ icon = { shortcut = "increase_speed" shortcut = "increase_speed_2" shortcut = "increase_speed_3" - shortcut = "increase_speed_4" onclick = "[OnIncreaseGameSpeed]" } @@ -1655,7 +1570,7 @@ widget = { spacer = { visible = "[EqualTo_int32( InGameBottomBar.GetHudOptionalItemsCount, '(int32)2' )]" - size = { 435 1 } + size = { 424 1 } } spacer = { @@ -1744,7 +1659,7 @@ widget = { direction = horizontal widgetanchor = bottom|left parentanchor = bottom|left - position = { 271 -58 } + position = { 269 -58 } allow_outside = yes ignoreinvisible = yes @@ -1807,12 +1722,58 @@ widget = { ## Bottom left tabs left_edge_tabs = { parentanchor = bottom|left - position = { -3 -110 } + position = { -3 -100 } + } + + ## Bottom left CoA + coa_realm_medium_crown = { + visible = "[And(And(Not(IsGameViewOpen('barbershop')), And(And(IsDefaultGUIMode, GetPlayer.IsRuler), Not(GetVariableSystem.Exists( 'hide_ui_coa_bottom_left')))), Not( GreaterThan_CFixedPoint( GetPlayer.MakeScope.Var('hide_ui_character_model').GetValue, '(CFixedPoint)0' ) ))]" + visible_at_creation = no + parentanchor = bottom|left + + state = { + name = _show + using = Animation_Curve_Default + duration = 0.25 + + position = { 0 0 } + alpha = 1 + } + + state = { + name = _hide + using = Animation_Curve_Default + duration = 0.25 + + position = { 0 50 } + alpha = 0 + } + + blockoverride "coa_button" + { + tooltip = "[GetPlayer.GetDefaultRealmFlagTooltipPrimaryTitleClickInfo]" + onclick = "[DefaultOnCoatOfArmsClick(GetPlayer.GetPrimaryTitle.GetID)]" + } } ### Legitimacy, Lifestyle, etc bottom_left_button_row = { parentanchor = bottom|left + position = { 66 0 } + } + + ### Regular position + bottom_left_temporary_statuses = { + visible = "[Not( Or( InGameBottomBar.ShouldShowDynasticCycle, Character.ShouldShowMerit ) )]" + parentanchor = bottom|left + position = { 270 -62 } + } + + ### Positioned higher when you have the celestial widget + bottom_left_temporary_statuses = { + visible = "[Or( InGameBottomBar.ShouldShowDynasticCycle, Character.ShouldShowMerit )]" + parentanchor = bottom|left + position = { 277 -160 } } ###################################################### @@ -2037,85 +1998,109 @@ widget = { margin_top = 15 visible = "[Not(IsGameViewOpen('barbershop'))]" - ### Wars ### - flowcontainer = { - name = "wars" - parentanchor = vcenter + + ### Raise/Disband armies ### + + container = { + visible = "[Not(GetPlayer.HasActiveCompanionAISetting('raise_armies'))]" ignoreinvisible = yes + parentanchor = vcenter - flowcontainer = { - name = "great_holy_wars" - parentanchor = vcenter - ignoreinvisible = yes + button_raise_disband_armies = { + name = "tutorial_highlight_raise_troops" + visible = "[And( Character.IsAtWar, Not(Character.HasRaisedRegiments))]" + visible_at_creation = no - flowcontainer = { - ignoreinvisible = yes - parentanchor = vcenter + enabled = "[PlayerCanRaiseAnyRallyPoint]" + onclick = "[PlayerRaiseAllRegiments]" + onrightclick = "[PlayerRaiseAllRegimentsAtLocation]" + button_ignore = none - datamodel = "[GetPlayer.GetFaith.GetDefensiveGreatHolyWars]" + clicksound = "event:/SFX/UI/Unit/Army/sfx_ui_raise_army" - item = { - button_ghw_banner = { - name = "defensive_ghw" - parentanchor = vcenter + onclick = "[PdxGuiTriggerAllAnimations('button_army')]" - blockoverride "ghw_tooltip" - { - tooltip = "GHW_OPEN_TOOLTIP_DEFENDER" - using = tooltip_ne - } - } - } - } + tooltip = "[GetPlayerRaiseAllTooltip]" - button_ghw_banner = { - name = "player_faith_ghw" - datacontext = "[GetPlayer.GetFaith.GetGreatHolyWar]" - visible = "[GetPlayer.GetFaith.HasOffensiveGreatHolyWar]" - visible_at_creation = no - parentanchor = vcenter - - blockoverride "ghw_tooltip" - { - tooltip = "GHW_OPEN_TOOLTIP_ATTACKER" - using = tooltip_ne - } - } + animation_aggressive = {} } - flowcontainer = { - name = "raids_on_me" - datamodel = "[GetPlayer.GetHostileRaiders]" - parentanchor = vcenter + button_raise_disband_armies = { + visible = "[PlayerShouldDisbandAll]" + visible_at_creation = no - item = { - button_raid_banner = { - parentanchor = vcenter - tooltip = "RAID_ON_ME_TOOLTIP" - } + onclick = "[PlayerDisbandAll]" + enabled = "[PlayerCanDisbandAll]" + clicksound = "event:/SFX/UI/Unit/Army/sfx_ui_unit_army_disband" + + blockoverride "text" { + text = "DISBAND_ALL" } + + tooltip = "[GetDisbandAllTooltip]" } + } - flowcontainer = { - name = "raids_by_me" - datamodel = "[GetPlayer.GetRaidTargets]" - parentanchor = vcenter - item = { - button_raid_banner = { - parentanchor = vcenter - tooltip = "RAID_BY_ME_TOOLTIP" + ### Inspirations ### + flowcontainer = { + name = "player_inspirations" + parentanchor = vcenter + spacing = 5 + margin = { 5 0 } + allow_outside = yes + + datamodel = "[GetPlayer.GetSponsoredInspirations]" + + item = { + button_normal = { + datacontext = "[Inspiration.GetOwner]" + size = { 60 60 } + tooltip = "TT_INSPIRATION_WIDGET" + using = tooltip_above + onclick = "[InGameBottomBar.ToggleSelectedInspiration( Inspiration.Self )]" + + icon_round_button_base = {} + + icon = { + visible = "[ObjectsEqual( InGameBottomBar.GetSelectedInspiration, Inspiration.Self )]" + texture = "gfx/interface/buttons/button_lifestyles_active_frame.dds" + size = { 100% 100% } } - } - } - flowcontainer = { - name = "regular_wars" - datamodel = "[InGameBottomBar.GetWarItems]" - ignoreinvisible = yes + icon = { + name = "progress_frame" + texture = "gfx/interface/progressbars/action_progress_frame.dds" + size = { 100% 100% } + parentanchor = center + alpha = 0.5 + } - item = { - button_war_banner = {} + progresspie = { + name = "progress" + visible = "[And( Inspiration.GetSponsor.IsValid, Not( Inspiration.IsComplete ) )]" + + size = { 52 52 } + texture = "gfx/interface/progressbars/action_progress_thin.dds" + framesize = { 128 128 } + frame = 2 + + widgetanchor = center + parentanchor = center + + min = 0 + max = 100 + + value = "[Select_float( GreaterThan_int32( Inspiration.GetProgress, '(int32)0' ), CurrentAndMaxToProgressbarValueInt32( Inspiration.GetProgress, GetDefine( 'NInspiration', 'MAX_PROGRESS' ) ), '(float)2' )]" + } + + highlight_icon = { + texture = "[Inspiration.GetType.GetIcon]" + alwaystransparent = yes + size = { 40 40 } + position = { 1 1 } + parentanchor = center + } } } } @@ -2463,97 +2448,6 @@ widget = { } } - ### Travelling or Activities - widget = { - name = "involved_activity" - - datacontext = "[Character.GetInvolvedActivity]" - datacontext = "[Character.GetTravelPlan]" - visible = "[And( Activity.IsValid, Not( Activity.IsComplete ) )]" - visible_at_creation = no - - size = { 90 90 } - parentanchor = vcenter - allow_outside = yes - - activity_hud_button = { - name = "activity_button" - } - - button_hud_travel_secondary = { - name = "activity_travel_button" - - visible = "[Character.IsTraveling]" - - onclick = "[ToggleGameViewData('travel_planner', TravelPlan.GetID)]" - onclick = "[Character.ZoomCameraTo]" - - parentanchor = top|hcenter - position = { 0 -8 } - } - } - - ### Travelling with no Activity - button_hud_travel_primary = { - name = "activity_travel_button" - datacontext = "[Character.GetTravelPlan]" - datacontext = "[Character.GetInvolvedActivity]" - visible = "[And(Character.IsTraveling, Not(And( Activity.IsValid, Not( Activity.IsComplete ) )))]" - } - - ### Inspirations ### - flowcontainer = { - name = "player_inspirations" - parentanchor = vcenter - spacing = 5 - allow_outside = yes - - datamodel = "[GetPlayer.GetSponsoredInspirations]" - - item = { - button = { - size = { 90 90 } - datacontext = "[Inspiration.GetOwner]" - - tooltip = "TT_INSPIRATION_WIDGET" - using = tooltip_above - onclick = "[InGameBottomBar.ToggleSelectedInspiration( Inspiration.Self )]" - - highlight_icon = { - name = "progress_frame" - texture = "gfx/interface/window_situations/hud_situation_widget.dds" - size = { 88% 88% } - parentanchor = center - } - - progresspie = { - name = "progress" - visible = "[And( Inspiration.GetSponsor.IsValid, Not( Inspiration.IsComplete ) )]" - size = { 63 63 } - widgetanchor = center - parentanchor = center - - texture = "gfx/interface/progressbars/action_progress_thin.dds" - - framesize = { 128 128 } - frame = 2 - - min = 0 - max = 100 - value = "[Select_float( GreaterThan_int32( Inspiration.GetProgress, '(int32)0' ), CurrentAndMaxToProgressbarValueInt32( Inspiration.GetProgress, GetDefine( 'NInspiration', 'MAX_PROGRESS' ) ), '(float)2' )]" - } - - highlight_icon = { - texture = "[Inspiration.GetType.GetIcon]" - alwaystransparent = yes - size = { 40 40 } - position = { 1 1 } - parentanchor = center - } - } - } - } - ### Task Contacts ### flowcontainer = { name = "task_contracts" @@ -2566,137 +2460,93 @@ widget = { } } - ### DIARCHY - button = { - name = "open_diarchy_tutorial_uses_this" + ### Epidemics in/near your realm ### + button_epidemics = { + name = "epidemics_hud" parentanchor = vcenter - size = { 90 90 } + visible_at_creation = no + visible = "[Or( InGameBottomBar.HasGlobalNotificationEpidemic, Or( DataModelHasItems( InGameBottomBar.GetEpidemicsInRealm ), DataModelHasItems( InGameBottomBar.GetEpidemicsBorderingRealm ) ) )]" + } - onclick = "[ToggleGameViewData( 'diarchy', Character.GetID )]" - visible = "[InGameBottomBar.ShouldShowDiarchyInHUD]" - tooltip = "DIARCHY_WINDOW_OPEN_TOOLTIP" - using = tooltip_ne + ### Wars ### + flowcontainer = { + name = "wars" + parentanchor = vcenter + ignoreinvisible = yes - highlight_icon = { - name = "progress_frame" - texture = "gfx/interface/window_situations/hud_situation_widget.dds" - size = { 88% 88% } - parentanchor = center - } + flowcontainer = { + name = "great_holy_wars" + parentanchor = vcenter + ignoreinvisible = yes - button = { - size = { 40 40 } - alwaystransparent = yes - parentanchor = center - texture = "gfx/interface/icons/scale_of_power.dds" - } - progresspie = { - name = "progress" - size = { 63 63 } - widgetanchor = center - parentanchor = center + flowcontainer = { + ignoreinvisible = yes + parentanchor = vcenter - texture = "gfx/interface/progressbars/action_progress_thin.dds" + datamodel = "[GetPlayer.GetFaith.GetDefensiveGreatHolyWars]" - framesize = { 128 128 } - frame = 2 + item = { + button_ghw_banner = { + name = "defensive_ghw" + parentanchor = vcenter - min = [GetPlayer.GetLiege.GetDiarchy.GetSwingForPrevLevel] - max = [GetPlayer.GetLiege.GetDiarchy.GetSwingForNextLevel] - value = [GetPlayer.GetLiege.GetDiarchy.GetScalesSwing] - } - - ### diarchy level - widget = { - parentanchor = top|hcenter - size = { 36 36 } - position = { 0 -8 } - allow_outside = yes - - ### glow - icon = { - name = "highlight_current_level" - parentanchor = center - size = { 56 56 } - - texture = "gfx/interface/window_roco_grandeur/pin_highlight.dds" - - state = { - name = _show - using = Animation_Curve_Default - alpha = 0.6 - } - - state = { - name = _hide - using = Animation_Curve_Default - alpha = 0 - } - - state = { - name = "a" - next = "b" - trigger_on_create = yes - alpha = 0.3 - - modify_texture = { - name = "glow_1" - rotate_uv = 0 + blockoverride "ghw_tooltip" + { + tooltip = "GHW_OPEN_TOOLTIP_DEFENDER" + using = tooltip_ne + } } - - modify_texture = { - name = "glow_2" - rotate_uv = 0 - } - } - - state = { - name = "b" - next = "a" - duration = 7 - - modify_texture = { - name = "glow_1" - rotate_uv = 360 - } - - modify_texture = { - name = "glow_2" - rotate_uv = 360 - } - } - - modify_texture = { - name = "glow_1" - texture = "gfx/interface/component_masks/mask_glow.dds" - blend_mode = alphamultiply - } - - modify_texture = { - name = "glow_2" - texture = "gfx/interface/component_masks/mask_glow.dds" - blend_mode = alphamultiply - mirror = horizontal } } - ### Current marker background - icon = { - parentanchor = center - size = { 100% 100% } + button_ghw_banner = { + name = "player_faith_ghw" + datacontext = "[GetPlayer.GetFaith.GetGreatHolyWar]" + visible = "[GetPlayer.GetFaith.HasOffensiveGreatHolyWar]" + visible_at_creation = no + parentanchor = vcenter - texture = "gfx/interface/window_regency/regency_level_bg.dds" + blockoverride "ghw_tooltip" + { + tooltip = "GHW_OPEN_TOOLTIP_ATTACKER" + using = tooltip_ne + } } + } - ### Current marker text - text_single = { - parentanchor = center + flowcontainer = { + name = "raids_on_me" + datamodel = "[GetPlayer.GetHostileRaiders]" + parentanchor = vcenter - datacontext = "[GetPlayer.GetLiege.GetDiarchy]" + item = { + button_raid_banner = { + parentanchor = vcenter + tooltip = "RAID_ON_ME_TOOLTIP" + } + } + } - raw_text = "[Diarchy.GetPowerLevel]" - default_format = "#high" - align = nobaseline + flowcontainer = { + name = "raids_by_me" + datamodel = "[GetPlayer.GetRaidTargets]" + parentanchor = vcenter + + item = { + button_raid_banner = { + parentanchor = vcenter + tooltip = "RAID_BY_ME_TOOLTIP" + } + } + } + + flowcontainer = { + name = "regular_wars" + datamodel = "[InGameBottomBar.GetWarItems]" + ignoreinvisible = yes + + item = { + button_war_banner = {} } } } @@ -2775,14 +2625,6 @@ widget = { } } } - - ### Epidemics in/near your realm ### - button_epidemics = { - name = "epidemics_hud" - visible_at_creation = no - visible = "[Or( InGameBottomBar.HasGlobalNotificationEpidemic, Or( DataModelHasItems( InGameBottomBar.GetEpidemicsInRealm ), DataModelHasItems( InGameBottomBar.GetEpidemicsBorderingRealm ) ) )]" - parentanchor = vcenter - } } ## Map Modes @@ -2837,22 +2679,22 @@ types HUD type icon_hud_background_container = container { icon_hud_background = { visible = "[LessThanOrEqualTo_int32( InGameBottomBar.GetHudOptionalItemsCount, '(int32)1' )]" - size = { 420 64 } + size = { 400 64 } } icon_hud_background = { visible = "[EqualTo_int32( InGameBottomBar.GetHudOptionalItemsCount, '(int32)2' )]" - size = { 480 64 } + size = { 460 64 } } icon_hud_background = { visible = "[EqualTo_int32( InGameBottomBar.GetHudOptionalItemsCount, '(int32)3' )]" - size = { 535 64 } + size = { 520 64 } } icon_hud_background = { visible = "[EqualTo_int32( InGameBottomBar.GetHudOptionalItemsCount, '(int32)4' )]" - size = { 590 64 } + size = { 580 64 } } icon_hud_background = { @@ -2862,7 +2704,7 @@ types HUD icon_hud_background = { visible = "[GreaterThanOrEqualTo_int32( InGameBottomBar.GetHudOptionalItemsCount, '(int32)6' )]" - size = { 720 64 } + size = { 700 64 } } } @@ -2890,12 +2732,13 @@ types HUD name = "activity_button" } - button_hud_travel_secondary = { + button_hud_travel = { name = "activity_travel_button" datacontext = "[Character.GetTravelPlan]" visible = "[Character.IsTraveling]" parentanchor = "vcenter" + text = "ACTIVITY_VIEW_TRAVEL" tooltip = "[SelectLocalization(Character.GetTravelPlan.GetData.IsTravelWithDomicile, 'TT_TRAVELING_WITH_DOMICILE_WIDGET', 'TT_TRAVELING_GENERIC_WIDGET')]" max_width = 160 @@ -2957,7 +2800,7 @@ types HUD visible = "[And( Not( Character.IsTraveling ), And( Character.IsAwayFromHome, Or( Not( Activity.IsValid ), Activity.IsComplete ) ) )]" size = { 60 60 } - + onclick = "[Character.ZoomCameraTo]" tooltip = "TT_AWAY_FROM_HOME_WIDGET" @@ -2992,14 +2835,14 @@ types HUD ignoreinvisible = yes alwaystransparent = no allow_outside = yes - spacing = 5 + spacing = 4 state = { name = _show using = Animation_Curve_Default duration = 0.21 - position = { 7 0 } + position = { 66 0 } alpha = 1 } @@ -3008,50 +2851,16 @@ types HUD using = Animation_Curve_Default duration = 0.21 - position = { -30 50 } + position = { 30 50 } alpha = 0 } - widget = { - parentanchor = vcenter - size = { 64 65 } - allow_outside = yes - - coa_realm_medium_crown = { - visible = "[And(And(Not(IsGameViewOpen('barbershop')), And(And(IsDefaultGUIMode, GetPlayer.IsRuler), Not(GetVariableSystem.Exists( 'hide_ui_coa_bottom_left')))), Not( GreaterThan_CFixedPoint( GetPlayer.MakeScope.Var('hide_ui_character_model').GetValue, '(CFixedPoint)0' ) ))]" - visible_at_creation = no - parentanchor = center - position = { 0 -26 } - allow_outside = yes - - blockoverride "coa_button" - { - onclick = "[DefaultOnCoatOfArmsClick(GetPlayer.GetPrimaryTitle.GetID)]" - - tooltip = "[GetPlayer.GetDefaultRealmFlagTooltipPrimaryTitleClickInfo]" - } - } - } - - # coa_house_small = { - # name = "house_button" - # datacontext = "[GetPlayer.GetHouse]" - # parentanchor = vcenter - - # using = tooltip_ne - - # tooltipwidget = { - # using = dynasty_house_tooltip - # } - # } - button_normal = { name = "legitimacy_button" datacontext = "[Character.GetLegitimacyType]" datacontext = "[Character.GetLegitimacyLevel]" visible = "[InGameBottomBar.ShouldShowLegitimacyInHUD]" parentanchor = vcenter - size = { 48 48 } using = tooltip_ne @@ -3061,6 +2870,8 @@ types HUD } } + size = { 48 48 } + icon = { texture = "gfx/interface/icons/activity_phases/button_activity_base.dds" size = { 100% 100% } @@ -3070,6 +2881,7 @@ types HUD name = "progress_frame" texture = "gfx/interface/progressbars/action_progress_frame.dds" size = { 100% 100% } + #alpha = 0.5 } icon = { @@ -3181,7 +2993,6 @@ types HUD widget = { name = "stress_widget" - parentanchor = vcenter size = { 110 55 } alwaystransparent = no filter_mouse = all @@ -3597,8 +3408,11 @@ types HUD } } + spacer = { + size = { 5 0 } + } + flowcontainer = { - parentanchor = vcenter ignoreinvisible = yes margin_bottom = 5 spacing = 4 @@ -3770,6 +3584,48 @@ types HUD } } + button_round = { + name = "open_diarchy_tutorial_uses_this" + parentanchor = left + onclick = "[ToggleGameViewData( 'diarchy', Character.GetID )]" + visible = "[InGameBottomBar.ShouldShowDiarchyInHUD]" + + tooltip = "DIARCHY_WINDOW_OPEN_TOOLTIP" + using = tooltip_ne + size = { 56 56 } + + icon_round_button_base = {} + + button = { + size = { 40 40 } + alwaystransparent = yes + parentanchor = center + texture = "gfx/interface/icons/scale_of_power.dds" + } + + icon_power_sharing_level = { + name = "your_power_sharing_level" + + datacontext = "[GetPlayer.GetDiarchy]" + visible = "[Diarchy.IsValid]" + + parentanchor = bottom|right + position = { 3 3 } + + } + + icon_power_sharing_level = { + name = "liege_power_sharing_level" + + datacontext = "[GetPlayer.GetLiege.GetDiarchy]" + visible = "[And(GetPlayer.HasLiege, Diarchy.IsValid)]" + + parentanchor = bottom|right + position = { 3 3 } + } + + } + # Radiance (enabled) button_normal = { datacontext = "[Character.GetRadianceBreakdown]" @@ -3813,7 +3669,6 @@ types HUD parentanchor = left size = { 56 56 } using = tooltip_ne - shortcut = "domicile" onclick = "[ToggleGameViewData( 'domicile', Domicile.Self )]" tooltip = "[Domicile.GetMapPinTooltip( Character.Self )]" @@ -3881,7 +3736,7 @@ types HUD datacontext = "[Character.GetHouse]" datacontext = "[DynastyHouse.GetHouseAspiration]" - visible = "[And(InGameBottomBar.ShouldShowHousePowerInHUD, Not(Or(GetPlayer.GetGovernment.IsType( 'landless_adventurer_government' ), GetPlayer.GetGovernment.IsType( 'landless_minority_government' ))) )]" + visible = "[And(InGameBottomBar.ShouldShowHousePowerInHUD, Not( IsLandlessAdventurer( GetPlayer ) ) )]" size = { 56 56 } @@ -3907,7 +3762,7 @@ types HUD } spacer = { - size = { 28 0 } + size = { 24 1 } } nomad_widget = { @@ -3931,18 +3786,18 @@ types HUD widget = { parentanchor = left|top - size = { 100% 205% } + size = { 100% 150% } widget = { size = { 100% 100% } - position = { -24 -40 } + position = { -24 -20} Background = { texture = "gfx/interface/skinned/hud_maintab_bg_middle.dds" mirror = horizontal spriteType = CorneredTiled texture_density = 2 - margin_top = -50 + margin = { 0 -50 } } Background = { @@ -3950,19 +3805,31 @@ types HUD spriteborder_top = 100 parentanchor = top|right texture_density = 2 + size = { 50 100 } texture = "gfx/interface/skinned/hud_maintab_bg_top.dds" mirror = horizontal } + Background = { + spriteType = CorneredStretched + spriteborder_bottom = 100 + parentanchor = top|right + texture_density = 2 + size = { 50 100 } + texture = "gfx/interface/skinned/hud_maintab_bg_bottom.dds" + mirror = horizontal + } + Background = { size = { 100% 100% } + margin_bottom = 100 using = Background_Area_Dark - alpha = 0.8 modify_texture = { texture = "gfx/interface/component_masks/mask_fade_vertical_up.dds" blend_mode = alphaMultiply } + } } } @@ -3972,6 +3839,34 @@ types HUD ignoreinvisible = yes direction = vertical + button_hud_character_bar = { + name = "legend_tab" + visible = "[HasDlcFeature( 'legends' )]" + + onclick = "[ToggleGameView( 'legends' )]" + + tooltipwidget = { + legends_hud_tooltip = {} + } + + using = tooltip_es + tooltip_offset = { 20 0 } + + highlight_icon = { + parentanchor = center + position = { 0 1 } + size = { 40 40 } + texture = "gfx/interface/icons/legend_hud.dds" + scale = 0.9 + + glow = { + color = { 0 0 0 0.8 } + glow_radius = 3 + using = Glow_Standard + } + } + } + button_hud_character_bar = { name = "player_culture_button_tutorial_uses_this" datacontext = "[GetPlayer.GetCulture]" @@ -4155,6 +4050,9 @@ types HUD } } + + + type Animation_HUD_daily_tick = widget { using = Animation_ShowHide_Quick @@ -4436,178 +4334,80 @@ types HUD } } - type button_raise_disband_armies = button { - size = { 100% 100% } + type button_raise_disband_armies = button_standard { + size = { 200 64 } datacontext = "[GetPlayer]" parentanchor = vcenter + background = { + using = Background_Area_Dark_Border + } + background = { using = Background_Area_Dark - - modify_texture = { - texture = "gfx/interface/component_masks/mask_fade_halfcircle.dds" - mirror = vertical - blend_mode = alphaMultiply - } } - text_single = { - parentanchor = center - position = { 0 -2 } - block "text" { - text = "RAISE_ALL" - } - default_format = "#clickable" - max_width = 160 + margin_left = 45 + + + block "text" { + text = "RAISE_ALL" } using = tooltip_ne - } - - type button_hud_travel_secondary = button { - size = { 32 32 } - datacontext = "[GetPlayer]" - - tooltip = "[SelectLocalization(Character.GetTravelPlan.GetData.IsTravelWithDomicile, 'TT_TRAVELING_WITH_DOMICILE_WIDGET', 'TT_AWAY_FROM_HOME_WIDGET')]" - using = tooltip_ne - - button_round = { - parentanchor = center - - onclick = "[ToggleGameViewData('travel_planner', TravelPlan.GetID)]" - onclick = "[Character.ZoomCameraTo]" - } - - icon_flat_standard_gold = { - size = { 86% 86% } - texture = "gfx/interface/colors/black.dds" - parentanchor = center - - modify_texture = { - name = "spin" - blend_mode = alphaMultiply - texture = "gfx/interface/icons/flat_icons/travel.dds" - rotate_uv = 0 - } - - state = { - name = a - next = b - trigger_on_create = yes - duration = 10 - - modify_texture = { - name = "spin" - rotate_uv = -360 - } - } - - state = { - name = b - next = a - trigger_on_create = yes - duration = 0 - - modify_texture = { - name = "spin" - rotate_uv = 0 - } - } - - state = { - name = _show - using = Animation_FadeIn_Quick - position_y = 0 - } - - state = { - name = _hide - using = Animation_FadeOut_Quick - position_y = 20 - } - } - } - - type button_hud_travel_primary = button { - size = { 90 90 } - datacontext = "[GetPlayer]" - - tooltip = "[SelectLocalization(Character.GetTravelPlan.GetData.IsTravelWithDomicile, 'TT_TRAVELING_WITH_DOMICILE_WIDGET', 'TT_AWAY_FROM_HOME_WIDGET')]" - using = tooltip_ne - - onclick = "[ToggleGameViewData('travel_planner', TravelPlan.GetID)]" - onclick = "[Character.ZoomCameraTo]" - - highlight_icon = { - name = "progress_frame" - size = { 88% 88% } - parentanchor = center - - texture = "gfx/interface/window_situations/hud_situation_widget.dds" - } icon = { - size = { 44% 44% } - texture = "gfx/interface/icons/travel/wheel_texture.dds" - parentanchor = center - - modify_texture = { - name = "spin" - blend_mode = alphaMultiply - texture = "gfx/interface/icons/travel/wheel_alpha.dds" - rotate_uv = 0 - } - - state = { - name = a - next = b - trigger_on_create = yes - duration = 10 - - modify_texture = { - name = "spin" - rotate_uv = -360 - } - } - state = { - name = b - next = a - trigger_on_create = yes - duration = 0 - - modify_texture = { - name = "spin" - rotate_uv = 0 - } - } - - state = { - name = _show - using = Animation_FadeIn_Quick - position_y = 0 - } - - state = { - name = _hide - using = Animation_FadeOut_Quick - position_y = 20 - } + texture = "gfx/interface/icons/icon_banner.dds" + size = { 40 40 } + alwaystransparent = yes + parentanchor = left|vcenter + position = { 10 0 } } - progresspie = { - size = { 63 63 } + state = { + name = _show + using = Animation_FadeIn_Quick + position_y = 0 + } - texture = "gfx/interface/progressbars/action_progress_thin.dds" + state = { + name = _hide + using = Animation_FadeOut_Quick + position_y = 20 + } + } - framesize = { 128 128 } - frame = 2 + type button_hud_travel = button_standard { + size = { 170 36 } + datacontext = "[GetPlayer]" + parentanchor = vcenter - widgetanchor = center - parentanchor = center + background = { + using = Background_Area_Dark_Border + } - min = 0 - max = 1 - value = "[Character.GetTravelPlan.GetData.GetNextDestinationProgress]" + margin_left = 34 + + using = tooltip_ne + + icon = { + texture = "gfx/interface/icons/travel/icon_travel_hud_placeholder.dds" + size = { 30 30 } + alwaystransparent = yes + parentanchor = left|vcenter + position = { 8 0 } + } + + state = { + name = _show + using = Animation_FadeIn_Quick + position_y = 0 + } + + state = { + name = _hide + using = Animation_FadeOut_Quick + position_y = 20 } } @@ -4617,7 +4417,6 @@ types HUD onclick = "[WarItem.OnClick]" tooltip = "[WarItem.GetTooltip]" using = tooltip_ne - shortcut = war_view animation_sonar = { visible = "[WarItem.CanEnforceVictory]" @@ -5757,59 +5556,6 @@ types HUD } } - type widget_hud_main_tab_left = widget { - size = { 45 45 } - using = tooltip_ws - tooltip_offset = { 35 0 } - - button_normal = { - parentanchor = center - size = { 45 45 } - - scale = 1 - - block "maintab_button" {} - - modify_texture = { - name = "glow" - texture = "gfx/interface/component_effects/effect_shimmer.dds" - blend_mode = colordodge - translate_uv = { 1 0 } - alpha = 0 - } - - state = { - name = _mouse_enter - duration = 0.03 - scale = 1.2 - position_x = 3 - - using = Animation_Curve_Default - - modify_texture = { - name = "glow" - translate_uv = { 0 0 } - alpha = 0.4 - } - } - - state = { - name = _mouse_leave - duration = 0.1 - scale = 1 - position_x = 0 - - using = Animation_Curve_Default - - modify_texture = { - name = "glow" - translate_uv = { 1 0 } - alpha = 0 - } - } - } - } - type hotkeys_HUD = widget { # Mapmodes button_normal = { @@ -6621,7 +6367,7 @@ types HUD widget = { name = "provisions" - visible = "[Or(IsLandlessAdventurer( GetPlayer ), GetPlayer.GetGovernment.IsType( 'landless_minority_government' ) )]" + visible = "[Or(IsLandlessAdventurer( GetPlayer ) GetPlayer.GetGovernment.IsType( 'landless_minority_government' ) )]" size = { 112 70 } widget = { @@ -6729,7 +6475,7 @@ types HUD widget = { name = "influence" datacontext = "[InGameTopbar.GetInfluenceItem]" - visible = "[GetPlayer.GetGovernment.HasGovernmentFlag( 'government_has_influence' )]" + visible = "[GetPlayer.GetGovernment.HasGovernmentFlag( 'government_has_influence')]" size = { 112 70 } widget = { @@ -7059,7 +6805,7 @@ types HUD widget = { name = "domain_limit" - visible = "[Not(Or(GetPlayer.GetGovernment.IsType( 'landless_adventurer_government' ), GetPlayer.GetGovernment.IsType( 'landless_minority_government' )))]" + visible = "[Not( IsLandlessAdventurer( GetPlayer ) )]" layoutpolicy_vertical = expanding @@ -7168,42 +6914,45 @@ types HUD type activity_hud_button = button_normal { - size = { 90 90 } + size = { 58 58 } tooltip = "TT_ACTIVITY_WIDGET" using = tooltip_above onclick = "[Activity.OpenActivityView]" - shortcut = "activity_shortcut" - highlight_icon = { + icon_round_button_base = {} + + icon = { name = "progress_frame" - size = { 88% 88% } + texture = "gfx/interface/progressbars/action_progress_frame.dds" + size = { 100% 100% } parentanchor = center - - texture = "gfx/interface/window_situations/hud_situation_widget.dds" + alpha = 0.5 } progresspie = { - size = { 63 63 } - widgetanchor = center - parentanchor = center + name = "progress" + visible = "[Character.HasActivityState( 'travel' )]" + size = { 50 50 } texture = "gfx/interface/progressbars/action_progress_thin.dds" framesize = { 128 128 } frame = 2 + widgetanchor = center + parentanchor = center + min = 0 max = 1 value = "[Character.GetTravelPlan.GetData.GetNextDestinationProgress]" } - icon = { - size = { 56 56 } - parentanchor = center - - alwaystransparent = yes + highlight_icon = { texture = "[Activity.GetType.GetIcon]" + alwaystransparent = yes + size = { 45 45 } + parentanchor = center } } @@ -8313,7 +8062,7 @@ types HUD position = { 0 9 } size = { 56 56 } - + progresspie = { name = "progress" @@ -8327,7 +8076,7 @@ types HUD } - icon = { + icon = { name = "progress_capped" visible = "[And(Character.IsMeritCapped, Not( EqualTo_int32( Character.GetMeritLevel, '(int32)9' ) ) )]" @@ -8822,19 +8571,4 @@ types HUD } } } - - type widget_new_situations = button_round { - size = { 25 25 } - frame = 1 - upframe = 1 - alwaystransparent = yes - - text_single = { - parentanchor = center - position = { -1 -1 } - text = "[Add_int32( Add_int32( LocalPlayerSituationData.GetNumberNewStories, LocalPlayerSituationData.GetNumberNewSituations ), LocalPlayerSituationData.GetNumberNewStruggles )|V]" - default_format = "#high" - align = nobaseline - } - } } diff --git a/gui/shared/lists.gui b/gui/shared/lists.gui index 22461b68..6b43f171 100644 --- a/gui/shared/lists.gui +++ b/gui/shared/lists.gui @@ -137,7 +137,7 @@ types Lists hbox = { margin = { 0 5 } - spacing = 10 + spacing = 15 portrait_head_small = {} @@ -331,11 +331,45 @@ types Lists } } } - - block "traits_grid" { - # Traits - fixedgrid_traits_list = { - name = "traits_grid" + + # Traits + fixedgridbox = { + name = "traits_grid" + datamodel = "[CharacterListItem.GetTraits]" + flipdirection = yes + size = { 150 35 } + addcolumn = 30 + addrow = 35 + block "horizontal_slots" + { + maxhorizontalslots = 8 + } + maxverticalslots = 1 + + item = { + widget = { + visible = "[Trait.IsValid]" + size = { 35 35 } + + icon_trait = { + parentanchor = center + + blockoverride "icon_size" + { + size = { 30 30 } + } + + blockoverride "tooltip_placement" + { + using = tooltip_se + } + + blockoverride "glow_radius" + { + glow_radius = 3 + } + } + } } } @@ -353,16 +387,14 @@ types Lists widget = { datacontext = "[CharacterListItem.GetFirstClaim]" visible = "[Not( IsDataModelEmpty( CharacterListItem.GetTitleItems ) )]" - size = { 55 44 } - + size = { 55 58 } + block "claims_visibility" {} - + coa_title_tiny_crown = { datacontext = "[Claim.GetTitle]" using = tooltip_ne - parentanchor = vcenter - position = { 0 -3 } - + highlight_icon = { name = "pressed_claim" visible = "[And(Claim.IsPressed, Not(Claim.IsImplicit))]" @@ -370,7 +402,7 @@ types Lists size = { 24 24 } texture = "gfx/interface/icons/title_status/icon_claim_pressed.dds" } - + highlight_icon = { name = "unpressed_claim" visible = "[And(Not(Claim.IsPressed), Not(Claim.IsImplicit))]" @@ -378,7 +410,7 @@ types Lists size = { 24 24 } texture = "gfx/interface/icons/title_status/icon_claim_unpressed.dds" } - + highlight_icon = { name = "implicit_claim" visible = "[Claim.IsImplicit]" @@ -386,21 +418,21 @@ types Lists size = { 24 24 } texture = "gfx/interface/icons/title_status/icon_claim_implicit.dds" } - + blockoverride "coa_tooltip" { tooltip = "CHARACTER_LIST_CLAIM_TOOLTIP" } } - + text_single = { parentanchor = vcenter|right position = { 0 -6 } - + text = "[CharacterListItem.GetTitleItemCount]" - align = center + align = right minimumsize = { 15 0 } - + tooltip = "CHARACTER_LIST_CLAIM_TOOLTIP" } } @@ -441,45 +473,6 @@ types Lists } } } - - type fixedgrid_traits_list = fixedgridbox { - datamodel = "[CharacterListItem.GetTraits]" - flipdirection = yes - size = { 150 35 } - addcolumn = 30 - addrow = 35 - block "horizontal_slots" - { - maxhorizontalslots = 8 - } - maxverticalslots = 1 - - item = { - widget = { - visible = "[Trait.IsValid]" - size = { 35 35 } - - icon_trait = { - parentanchor = center - - blockoverride "icon_size" - { - size = { 30 30 } - } - - blockoverride "tooltip_placement" - { - using = tooltip_se - } - - blockoverride "glow_radius" - { - glow_radius = 3 - } - } - } - } - } type widget_character_list_item_finder = widget { @@ -538,48 +531,45 @@ types Lists } } - block "character_name_relationship" { - hbox = { - margin_left = 3 - layoutpolicy_horizontal = expanding - maximumsize = { 338 -1 } + hbox = { + margin_left = 3 + layoutpolicy_horizontal = expanding + maximumsize = { 338 -1 } - text_single = { - using = Font_Size_Medium - align = nobaseline - text = "[Character.GetUINameNoTooltip|U]" - fontsize_min = 14 - block "character_name_width" { - max_width = 300 - } - } - - block "character_relation" - { - hbox = { - visible = "[And(Character.HasRelationTo( GetPlayer ), Not(Character.IsPlayer))]" - - text_single = { - raw_text = "•" - align = nobaseline - margin = { 5 0 } - } - - text_single = { - name = "character_relation" - text = "[Character.GetRelationToString( GetPlayer )]" - tooltip = "EXTENDED_RELATIONS_TOOLTIP" - default_format = "#low" - align = nobaseline - fontsize_min = 14 - max_width = 180 - } - } - } - - expand = {} + text_single = { + using = Font_Size_Medium + align = nobaseline + text = "[Character.GetUINameNoTooltip|U]" + fontsize_min = 14 + max_width = 300 } + + block "character_relation" + { + hbox = { + visible = "[And(Character.HasRelationTo( GetPlayer ), Not(Character.IsPlayer))]" + + text_single = { + raw_text = "•" + align = nobaseline + margin = { 5 0 } + } + + text_single = { + name = "character_relation" + text = "[Character.GetRelationToString( GetPlayer )]" + tooltip = "EXTENDED_RELATIONS_TOOLTIP" + default_format = "#low" + align = nobaseline + fontsize_min = 14 + max_width = 180 + } + } + } + + expand = {} } + hbox = { using = character_age_or_death_text } @@ -1106,8 +1096,6 @@ types Lists margin_top = 5 spacing = 5 } - - block "pre_filters" {} button_standard = { name = "filters" @@ -1169,8 +1157,6 @@ types Lists } } } - - block "post_sort" {} expand = {} @@ -1964,55 +1950,275 @@ types Lists expand = {} } } - - type widget_compact_vassal_list_item = widget { - size = { 80 118 } + + type widget_republic_vassal_list_item = widget { datacontext = "[CharacterListItem.GetCharacter]" - - widget = { - size = { 85 100% } - parentanchor = hcenter - + + vbox = { + margin = { 5 0 } background = { - using = Background_Area_Border_Solid + using = Background_Area_With_Header } - background = { - using = Background_Frame - } - } - - widget = { - parentanchor = bottom|hcenter - size = { 100% 30 } - + hbox = { layoutpolicy_horizontal = expanding - margin = { 5 0 } - margin_bottom = 5 - visible = "[Character.HasLandedTitles]" - - text_single = { - raw_text = "@soldier_icon!" - align = nobaseline - using = Font_Size_Tiny - } - + margin = { 5 5 } + text_single = { layoutpolicy_horizontal = expanding - align = nobaseline|center + text = "[Character.GetUINameNoTooltip|U]" + using = Font_Size_Medium autoresize = no - text = "[Character.GetCurrentMilitaryStrength]" - tooltip = "[CharacterListItem.GetMilitaryStrengthTooltip]" - default_format = "#low" + fontsize_min = 13 + align = nobaseline + max_width = 340 + } + + expand = {} + + hbox_skills_grid = {} + } + + hbox = { + layoutpolicy_horizontal = expanding + spacing = 5 + + portrait_head_small = {} + + vbox = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + margin_right = 5 + + hbox = { + layoutpolicy_horizontal = expanding + + vbox = { + layoutpolicy_horizontal = expanding + + margin_top = 3 + + hbox = { + layoutpolicy_horizontal = expanding + + text_single = { + name = "character_relation" + visible = "[Or(Character.GetLiege.IsLocalPlayer, Character.GetSuzerain.IsLocalPlayer)]" + layoutpolicy_horizontal = expanding + text = "[Character.GetRelationToString(GetPlayer)]" + tooltip = "EXTENDED_RELATIONS_TOOLTIP" + default_format = "#low" + autoresize = no + fontsize_min = 13 + align = nobaseline + max_width = 420 + } + + expand = {} + } + + hbox = { + layoutpolicy_horizontal = expanding + spacing = 5 + + text_single = { + visible = "[And( Character.HasOverlord, And( Character.UsesObedience, Character.IsObedientTo( Character.GetOverlord ) ) )]" + + text = "MY_REALM_WINDOW_OBEDIENT" + align = nobaseline + max_width = 170 + + tooltipwidget = widget_obedience_tooltip + } + + text_single = { + visible = "[And( Character.HasOverlord, And( Character.UsesObedience, Not( Character.IsObedientTo( Character.GetOverlord ) ) ) )]" + + text = "MY_REALM_WINDOW_DISOBEDIENT" + align = nobaseline + max_width = 170 + + tooltipwidget = widget_obedience_tooltip + } + + divider_light = { + visible = "[Character.UsesObedience]" + layoutpolicy_vertical = expanding + } + + vassal_stance_icon = { + name = "vassal_stance" + size = { 30 30 } + } + + divider_light = { + visible = "[And( Character.IsVassalOf( GetPlayer ), Not( Character.IsPlayer ) )]" + layoutpolicy_vertical = expanding + } + + vassal_expected_legitimacy_widget = { + name = "legitimacy_expectation" + size = { 30 30 } + } + + block "realm_size_powerful_status" { + flowcontainer = { + spacing = 10 + + text_single = { + visible = "[NotEqualTo_int32(Character.GetPrimaryTitle.GetTierFrame, '(int32)2')]" #nonbaron + layoutpolicy_horizontal = expanding + + text = "REALM_WINDOW_SIZE" + align = nobaseline + max_width = 150 + + tooltip = "REALM_WINDOW_SIZE_TT" + } + } + } + + expand = {} + } + + block "vassal_buttons" { + hbox = { + visible = "[Character.IsPlayerInteractionShown('give_vassal_directive_interaction')]" + layoutpolicy_horizontal = expanding + spacing = 5 + + + divider_light = { + visible = "[Character.IsPowerfulVassal]" + layoutpolicy_vertical = expanding + } + + text_single = { + visible = "[Character.IsPowerfulVassal]" + layoutpolicy_horizontal = expanding + + text = "MY_REALM_WINDOW_POWERFUL_VASSAL" + align = nobaseline + max_width = 200 + } + + expand = {} + } + } + } + + block "own_vassal" { + vbox = { + visible = "[Character.GetLiege.IsLocalPlayer]" + layoutpolicy_vertical = expanding + margin_left = 10 + hbox = { + visible = "[Character.GetGovernment.IsType('urbanrepublic_government')]" + spacing = 3 + expand = {} + icon = { + name = "icon_influence" + size = { 30 30 } + texture = "[Character.GetInfluenceLevelTexture]" + } + text_single = { + name = "influence" + text = "[Character.GetInfluence|0]" + default_format = "#high" + align = center|nobaseline + fontsize_min = 12 + max_width = 50 + } + expand = {} + } + hbox = { + spacing = 3 + expand = {} + icon = { + name = "prestige_icon" + size = { 30 30 } + texture = "[Character.GetPrestigeLevelTexture]" + } + text_single = { + name = "influence" + text = "[Character.GetPrestige|0]" + default_format = "#high" + align = center|nobaseline + fontsize_min = 12 + max_width = 50 + } + expand = {} + } + hbox = { + spacing = 3 + expand = {} + icon = { + name = "icon_piety" + size = { 30 30 } + texture = "[Character.GetPietyLevelTexture]" + } + text_single = { + name = "piety" + text = "[Character.GetPiety|0]" + default_format = "#high" + align = center|nobaseline + fontsize_min = 12 + max_width = 50 + } + expand = {} + } + hbox = { + spacing = 3 + expand = {} + icon = { + name = "icon_dynasty_prestige" + size = { 30 30 } + texture = "[Character.GetDynasty.GetDynastyPrestigeLevelTexture]" + } + text_single = { + name = "dynasty_prestige" + text = "[Character.GetDynasty.GetPrestige|0]" + default_format = "#high" + align = center|nobaseline + fontsize_min = 12 + max_width = 50 + } + expand = {} + } + } + } + block "own_vassal" { + vbox = { + visible = "[Character.GetLiege.IsLocalPlayer]" + layoutpolicy_vertical = expanding + margin_left = 10 + + hbox = { + coa_house_tiny = { + datacontext = "[Character.GetHouse]" + parentanchor = center + } + } + hbox = { + coa_title_tiny_crown = { + name = "allegiance_flag" + datacontext = "[Character.GetLiege.GetPrimaryTitle]" + visible = "[Title.IsValid]" + + tooltip = "MRW_TITLE_ALLEGIANCE" + blockoverride "coa_tooltip" {} + } + } + } + } + + } + } } } - } - - portrait_head_small = { - parentanchor = hcenter + expand = {} } } - type hbox_tributary_information = hbox { visible = "[Character.HasSuzerain]" @@ -2335,17 +2541,11 @@ types Lists ### VASSAL GOLD hbox = { # Treasury Vassals don't pay in gold - visible = "[GreaterThan_CFixedPoint( MyRealmWindowVassalItem.GetContract.GetTaxRatioForLiege, '(CFixedPoint)0' )]" + visible = "[And( Not( SubjectContract.GetLiege.GetGovernment.HasGovernmentFlag( 'government_has_treasury' ) ), GreaterThan_CFixedPoint( MyRealmWindowVassalItem.GetContract.GetTaxRatioForLiege, '(CFixedPoint)0' ))]" icon = { size = { 25 25 } texture = "gfx/interface/icons/icon_gold.dds" - visible = "[Not( SubjectContract.GetLiege.GetGovernment.HasGovernmentFlag( 'government_has_treasury' ) )]" - } - icon = { - size = { 25 25 } - texture = "gfx/interface/icons/icon_imperial_treasury.dds" - visible = "[SubjectContract.GetLiege.GetGovernment.HasGovernmentFlag( 'government_has_treasury' )]" } text_single = { @@ -2662,7 +2862,7 @@ types Lists datamodel = "[TraitArrays.GetTraits]" visible = "[LessThanOrEqualTo_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)5')]" flipdirection = yes - addcolumn = 52 + addcolumn = 54 addrow = 55 maxhorizontalslots = 5 maxverticalslots = 1 @@ -2682,7 +2882,7 @@ types Lists datamodel = "[TraitArrays.GetTraits]" visible = "[And(GreaterThan_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)5'), LessThanOrEqualTo_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)7'))]" flipdirection = yes - addcolumn = 37 + addcolumn = 39 addrow = 40 maxhorizontalslots = 7 maxverticalslots = 1 @@ -2705,11 +2905,11 @@ types Lists fixedgridbox = { name = "traits_small" datamodel = "[TraitArrays.GetTraits]" - visible = "[And(GreaterThan_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)7'), LessThanOrEqualTo_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)9'))]" + visible = "[And(GreaterThan_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)7'), LessThanOrEqualTo_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)10'))]" flipdirection = yes - addcolumn = 29 + addcolumn = 28 addrow = 29 - maxhorizontalslots = 9 + maxhorizontalslots = 10 maxverticalslots = 1 item = { @@ -2730,7 +2930,7 @@ types Lists fixedgridbox = { name = "traits_tiny" datamodel = "[TraitArrays.GetTraits]" - visible = "[GreaterThan_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)9')]" + visible = "[GreaterThan_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)10')]" flipdirection = yes addcolumn = 24 addrow = 25 @@ -2793,7 +2993,7 @@ types Lists datamodel = "[TraitArrays.GetTraits]" visible = "[LessThanOrEqualTo_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)4')]" flipdirection = yes - addcolumn = 52 + addcolumn = 54 addrow = 55 maxhorizontalslots = 5 maxverticalslots = 1 @@ -2813,7 +3013,7 @@ types Lists datamodel = "[TraitArrays.GetTraits]" visible = "[And(GreaterThan_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)4'), LessThanOrEqualTo_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)6'))]" flipdirection = yes - addcolumn = 35 + addcolumn = 39 addrow = 40 maxhorizontalslots = 7 maxverticalslots = 1 @@ -2822,7 +3022,7 @@ types Lists icon_trait = { blockoverride "icon_size" { - size = { 38 38 } + size = { 40 40 } } blockoverride "glow_radius" @@ -2838,9 +3038,9 @@ types Lists datamodel = "[TraitArrays.GetTraits]" visible = "[And(GreaterThan_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)6'), LessThanOrEqualTo_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)8'))]" flipdirection = yes - addcolumn = 26 + addcolumn = 28 addrow = 29 - maxhorizontalslots = 8 + maxhorizontalslots = 10 maxverticalslots = 1 item = { @@ -2863,10 +3063,10 @@ types Lists datamodel = "[TraitArrays.GetTraits]" visible = "[GreaterThan_int32(GetDataModelSize(TraitArrays.GetTraits), '(int32)8')]" flipdirection = yes - addcolumn = 25 + addcolumn = 24 addrow = 25 - maxhorizontalslots = 8 - datamodel_wrap = 8 + maxhorizontalslots = 9 + datamodel_wrap = 9 maxverticalslots = 2 item = { @@ -3280,7 +3480,6 @@ template Scrollbar_Vertical spriteborder = { 0 3 } framesize = { 12 40 } minimumsize = { -1 40 } - block "vertical_scrollbar_size" {} upframe = 1 overframe = 2 diff --git a/gui/texticons.gui b/gui/texticons.gui index fe31b562..fb7f09c7 100644 --- a/gui/texticons.gui +++ b/gui/texticons.gui @@ -2427,16 +2427,6 @@ texticon = { } } -texticon = { - icon = commander_advantage_icon - iconsize = { - texture = "gfx/interface/icons/icon_commander_advantage.dds" - size = { 25 25 } - offset = { 0 6 } - fontsize = 16 - } -} - texticon = { icon = alliance_icon iconsize = { @@ -3116,16 +3106,6 @@ texticon = { } } -texticon = { - icon = time_icon - iconsize = { - texture = "gfx/interface/icons/icon_time.dds" - size = { 24 24 } - offset = { 0 6 } - fontsize = 16 - } -} - texticon = { icon = concubine_icon iconsize = { @@ -4029,56 +4009,6 @@ texticon = { } } -texticon = { - icon = north_pacific_attire - iconsize = { - texture = "gfx/interface/icons/dlc/dlc_025.dds" - size = { 25 25 } - offset = { 0 6 } - fontsize = 16 - } -} - -texticon = { - icon = east_asian_wonders - iconsize = { - texture = "gfx/interface/icons/dlc/dlc_026.dds" - size = { 25 25 } - offset = { 0 6 } - fontsize = 16 - } -} - -texticon = { - icon = celestial_court_attire - iconsize = { - texture = "gfx/interface/icons/dlc/dlc_027.dds" - size = { 25 25 } - offset = { 0 6 } - fontsize = 16 - } -} - -texticon = { - icon = symbols_of_authority - iconsize = { - texture = "gfx/interface/icons/dlc/dlc_028.dds" - size = { 25 25 } - offset = { 0 6 } - fontsize = 16 - } -} - -texticon = { - icon = songs_of_the_realm - iconsize = { - texture = "gfx/interface/icons/dlc/dlc_029.dds" - size = { 25 25 } - offset = { 0 6 } - fontsize = 16 - } -} - texticon = { icon = skills_icon iconsize = { diff --git a/gui/window_my_realm.gui b/gui/window_my_realm.gui index 57d273ae..963c0c25 100644 --- a/gui/window_my_realm.gui +++ b/gui/window_my_realm.gui @@ -14,41 +14,21 @@ window = { using = Window_Size_MainTab - container = { - visible = "[MyRealmWindow.IsActiveTab( 'bookmark_domain' )]" - visible_at_creation = no - state = { - name = _show - on_finish = "[GetVariableSystem.Set( 'bookmark', 'domain' )]" - } - } - container = { - visible = "[MyRealmWindow.IsActiveTab( 'bookmark_subjects' )]" - visible_at_creation = no - state = { - name = _show - on_finish = "[GetVariableSystem.Set( 'bookmark', 'subjects' )]" - } - } - container = { - visible = "[MyRealmWindow.IsActiveTab( 'bookmark_laws' )]" - visible_at_creation = no - state = { - name = _show - on_finish = "[GetVariableSystem.Set( 'bookmark', 'laws' )]" - } - } - container = { - visible = "[MyRealmWindow.IsActiveTab( 'bookmark_succession' )]" - visible_at_creation = no - state = { - name = _show - on_finish = "[GetVariableSystem.Set( 'bookmark', 'succession' )]" - } + state = { + name = on_create + trigger_on_create = yes + + on_start = "[GetVariableSystem.Set( 'bookmark_domain', 'true' )]" + on_start = "[GetVariableSystem.Clear( 'bookmark_laws' )]" + on_start = "[GetVariableSystem.Clear( 'bookmark_subjects' )]" + on_start = "[GetVariableSystem.Clear( 'bookmark_succession' )]" + on_start = "[GetVariableSystem.Clear( 'bookmark_republics' )]" } state = { name = _show + next = refresh_bookmark_tabs + using = Animation_FadeIn_Quick using = Sound_WindowShow_Standard using = Window_Position_MainTab @@ -59,16 +39,279 @@ window = { using = Animation_FadeOut_Quick using = Sound_WindowHide_Standard using = Window_Position_MainTab_Hide - on_finish = "[GetVariableSystem.Clear('mass_directives_window')]" - # on_finish = "[GetVariableSystem.Clear( 'bookmark' )]" - # so you can keep same tab opened - # also, due to some unknown reason (probably executing order), cleaning this actually cause open_view_data go wrong page + } + + state = { + name = refresh_bookmark_tabs + on_start = "[GetVariableSystem.Set( 'bookmark_domain', 'true' )]" + on_start = "[GetVariableSystem.Set( 'bookmark_subjects', 'true' )]" + on_start = "[GetVariableSystem.Set( 'bookmark_succession', 'true' )]" + on_start = "[GetVariableSystem.Set( 'bookmark_laws', 'true' )]" + on_start = "[GetVariableSystem.Set( 'bookmark_republics', 'true' )]" + on_start = "[GetVariableSystem.ClearIf( 'bookmark_domain', Not( MyRealmWindow.IsActiveTab( 'bookmark_domain' ) ) )]" + on_start = "[GetVariableSystem.ClearIf( 'bookmark_subjects', Not( MyRealmWindow.IsActiveTab( 'bookmark_subjects' ) ) )]" + on_start = "[GetVariableSystem.ClearIf( 'bookmark_succession', Not( MyRealmWindow.IsActiveTab( 'bookmark_succession' ) ) )]" + on_start = "[GetVariableSystem.ClearIf( 'bookmark_laws', Not( MyRealmWindow.IsActiveTab( 'bookmark_laws' ) ) )]" + on_start = "[GetVariableSystem.ClearIf( 'bookmark_republics', Not( MyRealmWindow.IsActiveTab( 'bookmark_republics' ) ) )]" + } + + ### BOOKMARK SIDE TABS + widget = { + position = { -64 220 } + size = { 100 250 } + scissor = yes + + allow_outside = yes + + flowcontainer = { + parentanchor = right|vcenter + position = { 7 0 } + direction = vertical + ignoreinvisible = yes + allow_outside = yes + + ### BOOKMARK TAB DOMAIN + button_tab_vertical_bookmark = { + name = "tab_domain" #tutorial uses this + down = "[GetVariableSystem.Exists( 'bookmark_domain' )]" + + blockoverride "tab_button" + { + onclick = "[GetVariableSystem.Set( 'bookmark_domain', 'true' )]" + onclick = "[GetVariableSystem.Clear( 'bookmark_subjects' )]" + onclick = "[GetVariableSystem.Clear( 'bookmark_succession' )]" + onclick = "[GetVariableSystem.Clear( 'bookmark_laws' )]" + onclick = "[GetVariableSystem.Clear( 'bookmark_republics' )]" + onclick = "[MyRealmWindow.SetActiveTab( 'bookmark_domain' )]" + onclick = "[MyRealmWindow.ResetMapMode]" + + tooltip = "MY_REALM_WINDOW_BOOKMARK_DOMAIN_TT" + } + + blockoverride = "tab_glow" + { + visible = "[GetVariableSystem.Exists( 'bookmark_domain' )]" + } + + blockoverride "tab_active" + { + trigger_when = "[GetVariableSystem.Exists( 'bookmark_domain' )]" + } + + blockoverride "tab_inactive" + { + trigger_when = "[Not( GetVariableSystem.Exists( 'bookmark_domain' ) )]" + } + + blockoverride "tab_texture" + { + texture = "gfx/interface/icons/flat_icons/legend_province_modifier.dds" + + down = "[GetVariableSystem.Exists( 'bookmark_domain' )]" + } + + blockoverride "tab_frame_texture" + { + down = "[GetVariableSystem.Exists( 'bookmark_domain' )]" + } + } + + ### BOOKMARK TAB SUBJECTS (OR VASSALS) + button_tab_vertical_bookmark = { + name = "tutorial_highlight_vassals_tab" + visible = "[GetPlayer.IsLandedRuler]" + down = "[GetVariableSystem.Exists( 'bookmark_subjects' )]" + + blockoverride "tab_button" + { + onclick = "[GetVariableSystem.Clear( 'bookmark_domain' )]" + onclick = "[GetVariableSystem.Set( 'bookmark_subjects', 'true' )]" + onclick = "[GetVariableSystem.Clear( 'bookmark_republics' )]" + onclick = "[GetVariableSystem.Clear( 'bookmark_succession' )]" + onclick = "[GetVariableSystem.Clear( 'bookmark_laws' )]" + onclick = "[MyRealmWindow.SetActiveTab( 'bookmark_subjects' )]" + + tooltip = "MY_REALM_WINDOW_BOOKMARK_SUBJECTS_TT" + } + + blockoverride = "tab_glow" + { + visible = "[GetVariableSystem.Exists( 'bookmark_subjects' )]" + } + + blockoverride "tab_active" + { + trigger_when = "[GetVariableSystem.Exists( 'bookmark_subjects' )]" + } + + blockoverride "tab_inactive" + { + trigger_when = "[Not( GetVariableSystem.Exists( 'bookmark_subjects' ) )]" + } + + blockoverride "tab_texture" + { + texture = "gfx/interface/icons/flat_icons/clan_contract.dds" + + down = "[GetVariableSystem.Exists( 'bookmark_subjects' )]" + } + + blockoverride "tab_frame_texture" + { + down = "[GetVariableSystem.Exists( 'bookmark_subjects' )]" + } + } + + button_tab_vertical_bookmark = { + name = "tutorial_highlight_republics_tab" + visible = "[And(GetPlayer.IsLandedRuler, Or(GetPlayer.GetGovernment.IsType('urbanrepublic_government'),GetPlayer.GetGovernment.IsType('peasantrepublic_government')))]" + down = "[GetVariableSystem.Exists( 'bookmark_republics' )]" + + blockoverride "tab_button" + { + onclick = "[GetVariableSystem.Clear( 'bookmark_domain' )]" + onclick = "[GetVariableSystem.Clear( 'bookmark_subjects' )]" + onclick = "[GetVariableSystem.Set( 'bookmark_republics', 'true' )]" + onclick = "[GetVariableSystem.Clear( 'bookmark_succession' )]" + onclick = "[GetVariableSystem.Clear( 'bookmark_laws' )]" + onclick = "[MyRealmWindow.SetActiveTab( 'bookmark_republics' )]" + + tooltip = "MY_REALM_WINDOW_BOOKMARK_REPUBLICS_TT" + } + + blockoverride = "tab_glow" + { + visible = "[GetVariableSystem.Exists( 'bookmark_republics' )]" + } + + blockoverride "tab_active" + { + trigger_when = "[GetVariableSystem.Exists( 'bookmark_republics' )]" + } + + blockoverride "tab_inactive" + { + trigger_when = "[Not( GetVariableSystem.Exists( 'bookmark_republics' ) )]" + } + + blockoverride "tab_texture" + { + texture = "gfx/interface/icons/flat_icons/war_outcome_victory.dds" + + down = "[GetVariableSystem.Exists( 'bookmark_republics' )]" + } + + blockoverride "tab_frame_texture" + { + down = "[GetVariableSystem.Exists( 'bookmark_republics' )]" + } + } + ### BOOKMARK TAB LAWS + button_tab_vertical_bookmark = { + name = "tutorial_highlight_laws_tab" + down = "[GetVariableSystem.Exists( 'bookmark_laws' )]" + + blockoverride "tab_button" + { + onclick = "[GetVariableSystem.Clear( 'bookmark_domain' )]" + onclick = "[GetVariableSystem.Clear( 'bookmark_subjects' )]" + onclick = "[GetVariableSystem.Clear( 'bookmark_republics' )]" + onclick = "[GetVariableSystem.Clear( 'bookmark_succession' )]" + onclick = "[GetVariableSystem.Set( 'bookmark_laws', 'true' )]" + onclick = "[MyRealmWindow.SetActiveTab( 'bookmark_laws' )]" + onclick = "[MyRealmWindow.ResetMapMode]" + + tooltip = "MY_REALM_WINDOW_BOOKMARK_LAWS_TT" + } + + blockoverride = "tab_glow" + { + visible = "[GetVariableSystem.Exists( 'bookmark_laws' )]" + } + + blockoverride "tab_active" + { + trigger_when = "[GetVariableSystem.Exists( 'bookmark_laws' )]" + } + + blockoverride "tab_inactive" + { + trigger_when = "[Not( GetVariableSystem.Exists( 'bookmark_laws' ) )]" + } + + blockoverride "tab_texture" + { + texture = "gfx/interface/icons/title_actions/add_laws.dds" + + down = "[GetVariableSystem.Exists( 'bookmark_laws' )]" + } + + blockoverride "tab_frame_texture" + { + down = "[GetVariableSystem.Exists( 'bookmark_laws' )]" + } + } + + ### BOOKMARK TAB SUCCESSION + button_tab_vertical_bookmark = { + name = "tutorial_highlight_succession_tab" + down = "[GetVariableSystem.Exists( 'bookmark_succession' )]" + + blockoverride "tab_button" + { + onclick = "[GetVariableSystem.Clear( 'bookmark_domain' )]" + onclick = "[GetVariableSystem.Clear( 'bookmark_subjects' )]" + onclick = "[GetVariableSystem.Clear( 'bookmark_republics' )]" + onclick = "[GetVariableSystem.Set( 'bookmark_succession', 'true' )]" + onclick = "[GetVariableSystem.Clear( 'bookmark_laws' )]" + onclick = "[MyRealmWindow.SetActiveTab( 'bookmark_succession' )]" + onclick = "[MyRealmWindow.ResetMapMode]" + + tooltip = "MY_REALM_WINDOW_BOOKMARK_SUCCESSION_TT" + } + + blockoverride = "tab_glow" + { + visible = "[GetVariableSystem.Exists( 'bookmark_succession' )]" + } + + blockoverride "tab_active" + { + trigger_when = "[GetVariableSystem.Exists( 'bookmark_succession' )]" + } + + blockoverride "tab_inactive" + { + trigger_when = "[Not( GetVariableSystem.Exists( 'bookmark_succession' ) )]" + } + + blockoverride "tab_texture" + { + texture = "gfx/interface/icons/flat_icons/heir.dds" + + down = "[GetVariableSystem.Exists( 'bookmark_succession' )]" + } + + blockoverride "tab_frame_texture" + { + down = "[GetVariableSystem.Exists( 'bookmark_succession' )]" + } + } + } + } + + ### Solution to make tabs look like they are layered under main tab window without code support since Maintab background seems to be set in by code somehow + icon = { + position = { 22 195 } + size = { 14 260 } + texture = "gfx/interface/component_tiles/tab_group_edge.dds" + alpha = 0.95 + texture_density = 2 } margin_widget = { size = { 100% 100% } - margin_top = 30 - margin_bottom = 25 + margin = { 0 30 } margin_right = 13 widget = { @@ -83,11 +326,53 @@ window = { header_pattern = { layoutpolicy_horizontal = expanding - blockoverride "header_text" - { - text = "MY_REALM_WINDOW_TITLE" + header_text = { + visible = "[GetVariableSystem.Exists( 'bookmark_domain' )]" + parentanchor = top|hcenter + position = { 0 8 } + + text = "MY_REALM_WINDOW_HEADER" + align = nobaseline } + header_text = { + visible = "[GetVariableSystem.Exists( 'bookmark_subjects' )]" + parentanchor = top|hcenter + position = { 0 8 } + + text = "MY_REALM_WINDOW_BODY_TITLE_SUBJECTS" + align = nobaseline + } + + header_text = { + visible = "[GetVariableSystem.Exists( 'bookmark_republics' )]" + parentanchor = top|hcenter + position = { 0 8 } + + text = "MY_REALM_WINDOW_BODY_TITLE_REPUBLICS" + align = nobaseline + } + header_text = { + datacontext = "[MyRealmWindow.GetKurultaiSuccession]" + visible = "[GetVariableSystem.Exists( 'bookmark_succession' )]" + parentanchor = top|hcenter + position = { 0 8 } + + text = "MY_REALM_WINDOW_BODY_TITLE_SUCCESSION" + align = nobaseline + } + + header_text = { + visible = "[GetVariableSystem.Exists( 'bookmark_laws' )]" + parentanchor = top|hcenter + position = { 0 8 } + + text = "MY_REALM_WINDOW_BODY_TITLE_LAWS" + align = nobaseline + } + + blockoverride "header_text" {} + blockoverride "button_close" { onclick = "[MyRealmWindow.Close]" @@ -131,139 +416,28 @@ window = { } } - ### Tabs - hbox = { - layoutpolicy_horizontal = expanding - - ### Domain Tab - button_tab = { - onclick = "[MyRealmWindow.ResetMapMode]" - shortcut = "tab_1" - - ### Added on creation triggers for the default tab to trigger expand animation when opening the window for the first time - oncreate = "[PdxGuiWidget.TriggerAnimation('tab_active')]" - oncreate = "[PdxGuiWidget.FindChild('tab_name').TriggerAnimation('tab_name_hidden')]" - - onclick = "[GetVariableSystem.Set( 'bookmark', 'domain' )]" - onclick = "[MyRealmWindow.SetActiveTab( 'bookmark_domain' )]" - - ### Alwaystransparent state to not be able to click tab button again once it's active to keep animations from playing again - alwaystransparent = "[Or(GetVariableSystem.HasValue( 'bookmark', 'domain' ), Not(GetVariableSystem.Exists( 'bookmark' )))]" - down = "[Or(GetVariableSystem.HasValue( 'bookmark', 'domain' ), Not(GetVariableSystem.Exists( 'bookmark' )))]" - - blockoverride "tab_label_visibility" - { - visible = "[Or(GetVariableSystem.HasValue( 'bookmark', 'domain' ), Not(GetVariableSystem.Exists( 'bookmark' )))]" - } - - blockoverride "tab_label" - { - text = "MY_REALM_WINDOW_HEADER" - } - - tooltip = "MY_REALM_WINDOW_BOOKMARK_DOMAIN_TT" - using = tooltip_ne - } - - ### Subjects Tab - button_tab = { - onclick = "[MyRealmWindow.ResetMapMode]" - shortcut = "tab_2" - visible = "[Not( IsLandlessAdventurer( GetPlayer ) )]" - - onclick = "[GetVariableSystem.Set( 'bookmark', 'subjects' )]" - onclick = "[MyRealmWindow.SetActiveTab( 'bookmark_subjects' )]" - - ### Alwaystransparent state to not be able to click tab button again once it's active to keep animations from playing again - alwaystransparent = "[GetVariableSystem.HasValue( 'bookmark', 'subjects' )]" - down = "[GetVariableSystem.HasValue( 'bookmark', 'subjects' )]" - - blockoverride "tab_label_visibility" - { - visible = "[GetVariableSystem.HasValue( 'bookmark', 'subjects' )]" - } - - blockoverride "tab_label" - { - text = "MY_REALM_WINDOW_BODY_TITLE_SUBJECTS" - } - - tooltip = "MY_REALM_WINDOW_BOOKMARK_SUBJECTS_TT" - using = tooltip_ne - } - - ### Laws Tab - button_tab = { - onclick = "[MyRealmWindow.ResetMapMode]" - shortcut = "tab_3" - - onclick = "[GetVariableSystem.Set( 'bookmark', 'laws' )]" - onclick = "[MyRealmWindow.SetActiveTab( 'bookmark_laws' )]" - - ### Alwaystransparent state to not be able to click tab button again once it's active to keep animations from playing again - alwaystransparent = "[GetVariableSystem.HasValue( 'bookmark', 'laws' )]" - down = "[GetVariableSystem.HasValue( 'bookmark', 'laws' )]" - - blockoverride "tab_label_visibility" - { - visible = "[GetVariableSystem.HasValue( 'bookmark', 'laws' )]" - } - - blockoverride "tab_label" - { - text = "MY_REALM_WINDOW_BODY_TITLE_LAWS" - } - - tooltip = "MY_REALM_WINDOW_BOOKMARK_LAWS_TT" - using = tooltip_ne - } - - ### Succession Tab - button_tab = { - onclick = "[MyRealmWindow.ResetMapMode]" - shortcut = "tab_4" - - onclick = "[GetVariableSystem.Set( 'bookmark', 'succession' )]" - onclick = "[MyRealmWindow.SetActiveTab( 'bookmark_succession' )]" - - ### Alwaystransparent state to not be able to click tab button again once it's active to keep animations from playing again - down = "[GetVariableSystem.HasValue( 'bookmark', 'succession' )]" - alwaystransparent = "[GetVariableSystem.HasValue( 'bookmark', 'succession' )]" - - blockoverride "tab_label_visibility" - { - visible = "[GetVariableSystem.HasValue( 'bookmark', 'succession' )]" - } - - blockoverride "tab_label" - { - text = "MY_REALM_WINDOW_BODY_TITLE_SUCCESSION" - } - - tooltip = "MY_REALM_WINDOW_BOOKMARK_SUCCESSION_TT" - using = tooltip_ne - } - } - ## MY_REALM BODY HEADERS vbox = { layoutpolicy_horizontal = expanding vbox_my_realm_subjects_top = { - visible = "[GetVariableSystem.HasValue( 'bookmark', 'subjects' )]" + visible = "[GetVariableSystem.Exists( 'bookmark_subjects' )]" + } + vbox_my_realm_republics_top = { + visible = "[GetVariableSystem.Exists( 'bookmark_republics' )]" } mandala_laws = { - visible = "[And(GetPlayer.GetGovernment.IsType( 'mandala_government' ), GetVariableSystem.HasValue( 'bookmark', 'laws' ))]" + visible = "[And(GetPlayer.GetGovernment.IsType( 'mandala_government' ), GetVariableSystem.Exists( 'bookmark_laws' ))]" } vbox_my_realm_laws_top = { - visible = "[GetVariableSystem.HasValue( 'bookmark', 'laws' )]" + visible = "[GetVariableSystem.Exists( 'bookmark_laws' ) ]" } vbox_my_realm_succession_body_top = { datacontext = "[MyRealmWindow.GetKurultaiSuccession]" - visible = "[And( GetVariableSystem.HasValue( 'bookmark', 'succession' ), Not( KurultaiSuccession.IsValid ) )]" + visible = "[And( GetVariableSystem.Exists( 'bookmark_succession' ), Not( KurultaiSuccession.IsValid ) )]" } } @@ -314,32 +488,33 @@ window = { { vbox_my_realm_domain_body = { widgetid = "my_realm_domain_body" #ra_merit_governor_holdings_open uses this - visible = "[Or(GetVariableSystem.HasValue( 'bookmark', 'domain' ), Not(GetVariableSystem.Exists( 'bookmark' )))]" + visible = "[GetVariableSystem.Exists( 'bookmark_domain' )]" } vbox_my_realm_subjects_body = { - visible = "[GetVariableSystem.HasValue( 'bookmark', 'subjects' )]" + visible = "[GetVariableSystem.Exists( 'bookmark_subjects' )]" + } + vbox_my_realm_republics_body = { + visible = "[GetVariableSystem.Exists( 'bookmark_republics' )]" } vbox_my_realm_succession_body = { - visible = "[GetVariableSystem.HasValue( 'bookmark', 'succession' )]" + visible = "[GetVariableSystem.Exists( 'bookmark_succession' )]" } vbox_my_realm_laws_body = { - visible = "[GetVariableSystem.HasValue( 'bookmark', 'laws' )]" + visible = "[GetVariableSystem.Exists( 'bookmark_laws' )]" } } } ### MY_REALM FOOTER STATS hbox_my_realm_footer_stats = { - visible = "[And( GreaterThan_int32(MyRealmWindow.GetCharacter.RealmSize, '(int32)0' ), Or( Or(GetVariableSystem.HasValue( 'bookmark', 'domain' ), Not(GetVariableSystem.Exists( 'bookmark' ))), GetVariableSystem.HasValue( 'bookmark', 'subjects' ) ) )]" + visible = "[And( Not( MyRealmWindow.IsPrimaryTitleTitular ), Or( GetVariableSystem.Exists( 'bookmark_domain' ), GetVariableSystem.Exists( 'bookmark_subjects' ), GetVariableSystem.Exists( 'bookmark_republics' ) ) )]" } } } } - - window_mass_directives = {} } ###################################################### @@ -1284,7 +1459,9 @@ types MyRealmWindow datamodel = "[MyRealmWindow.GetRealmLaws]" layoutpolicy_horizontal = expanding - using = Animation_Tab_Switch + divider_light = { + layoutpolicy_horizontal = expanding + } item = { vbox = { @@ -1408,7 +1585,6 @@ types MyRealmWindow pass_law_tooltip = {} } using = tooltip_sw - tooltip_offset = { 40 0 } icon_button_decorative = { size = { 54 54 } @@ -1444,8 +1620,6 @@ types MyRealmWindow name = "mandala emperor laws" layoutpolicy_vertical = expanding - using = Animation_Tab_Switch - block "crown_laws" {} widget = { @@ -2390,7 +2564,7 @@ types MyRealmWindow name = "heir_share" datacontext = "[GetPlayer]" visible = "[DataModelHasItems( TitleSuccessionItem.GetPartitionTitles )]" - + text = "MY_REALM_WINDOW_SUCCESSION_LAW_AND_DESC" default_format = "#weak" layoutpolicy_horizontal = expanding @@ -2416,7 +2590,7 @@ types MyRealmWindow datacontext = "[TitleItem.GetTitle]" coa_title_tiny_crown = { - + using = tooltip_ne parentanchor = center } @@ -2552,7 +2726,7 @@ types MyRealmWindow ##### FROM REALM'S PARTITION ##### vbox = { layoutpolicy_horizontal = expanding - + vbox = { name = "their_partition_share" visible = "[And( MyRealmWindow.HasPartition, DataModelHasItems( MyRealmWindow.GetMyPartitionShare ) )]" @@ -2702,11 +2876,11 @@ types MyRealmWindow } } - + } } - } + } } } @@ -3345,7 +3519,9 @@ types MyRealmWindow widgetid = "tab_vassals" layoutpolicy_horizontal = expanding - using = Animation_Tab_Switch + divider_light = { + layoutpolicy_horizontal = expanding + } vbox = { layoutpolicy_horizontal = expanding @@ -3454,43 +3630,7 @@ types MyRealmWindow hbox = { name = "vassal_filters_container" layoutpolicy_horizontal = expanding - spacing = 10 - margin = { 10 0 } - - button_standard = { - size = { 50 30 } - onclick = "[GetVariableSystem.Toggle('mass_directives_window')]" - onclick = "[GetVariableSystem.Set('compact_vassal_list_realm', 'yes')]" - - shortcut = "mass_directives" - tooltip = "MY_REALM_MASS_DIRECTIVES" - down = "[GetVariableSystem.Exists('mass_directives_window')]" - - button_give_directive = { - # mirror = horizontal - parentanchor = center - size = { 30 30 } - alwaystransparent = yes - } - } - - button_menu = { - onclick = "[GetVariableSystem.Toggle('compact_vassal_list_realm')]" - onclick = "[GetVariableSystem.Clear('mass_directives_window')]" - tooltip = "MY_REALM_COMPACT_SUBJECT_LIST" - shortcut = "compact_subject_list_realm" - } - - expand = {} - - blockoverride "dropdown_size" - { - size = { 210 32 } - } - blockoverride "dropdown_list_maxsize" - { - maximumsize = { 202 250 } - } + spacing = 30 dropdown_menu_standard = { name = "government_filters_dropdown" @@ -3560,108 +3700,69 @@ types MyRealmWindow margin = { 0 10 } using = Animation_Tab_Switch - - vbox = { + + fixedgridbox = { + datacontext = "[MyRealmWindow.GetPowerfulVassals]" + datamodel = "[CharacterSelectionList.GetList]" + visible = "[And( Not( CharacterSelectionList.IsBuildingList ), Not( IsDataModelEmpty( CharacterSelectionList.GetList ) ) )]" layoutpolicy_horizontal = expanding layoutpolicy_vertical = expanding - - visible = "[Not(GetVariableSystem.Exists('compact_vassal_list_realm'))]" - - fixedgridbox = { - datacontext = "[MyRealmWindow.GetPowerfulVassals]" - datamodel = "[CharacterSelectionList.GetList]" - visible = "[And( Not( CharacterSelectionList.IsBuildingList ), Not( IsDataModelEmpty( CharacterSelectionList.GetList ) ) )]" - layoutpolicy_horizontal = expanding - - addcolumn = 538 - addrow = 176 - setitemsizefromcell = yes - - item = { - widget_vassal_list_item = { - datacontext = "[CharacterListItem.GetCharacter]" - datacontext = "[MyRealmWindow.GetVassalInfo( Character.Self )]" - datacontext = "[MyRealmWindowVassalItem.GetContract]" - - background = { - using = Background_Frame - } + + addcolumn = 538 + addrow = 176 + setitemsizefromcell = yes + + item = { + widget_vassal_list_item = { + datacontext = "[CharacterListItem.GetCharacter]" + datacontext = "[MyRealmWindow.GetVassalInfo( Character.Self )]" + datacontext = "[MyRealmWindowVassalItem.GetContract]" + + background = { + using = Background_Frame } } } - - fixedgridbox = { - datacontext = "[MyRealmWindow.GetTributaries]" - datamodel = "[CharacterSelectionList.GetList]" - visible = "[And( Not( CharacterSelectionList.IsBuildingList ), Not( IsDataModelEmpty( CharacterSelectionList.GetList ) ) )]" - layoutpolicy_horizontal = expanding - - addcolumn = 538 - addrow = 176 - setitemsizefromcell = yes - - item = { - widget_vassal_list_item = { - name = tutorial_highlight_vassal - datacontext = "[CharacterListItem.GetCharacter]" - datacontext = "[MyRealmWindow.GetVassalInfo( Character.Self )]" - datacontext = "[MyRealmWindowVassalItem.GetContract]" - } - } - } - - fixedgridbox = { - datacontext = "[MyRealmWindow.GetRegularVassals]" - datamodel = "[CharacterSelectionList.GetList]" - visible = "[And( Not( CharacterSelectionList.IsBuildingList ), Not( IsDataModelEmpty( CharacterSelectionList.GetList ) ) )]" - layoutpolicy_horizontal = expanding - - addcolumn = 538 - addrow = 185 - setitemsizefromcell = yes - - item = { - widget_vassal_list_item = { - name = tutorial_highlight_vassal - datacontext = "[CharacterListItem.GetCharacter]" - datacontext = "[MyRealmWindow.GetVassalInfo( Character.Self )]" - datacontext = "[MyRealmWindowVassalItem.GetContract]" - } - } - } - - expand = {} } - - vbox = { + + fixedgridbox = { + datacontext = "[MyRealmWindow.GetTributaries]" + datamodel = "[CharacterSelectionList.GetList]" + visible = "[And( Not( CharacterSelectionList.IsBuildingList ), Not( IsDataModelEmpty( CharacterSelectionList.GetList ) ) )]" layoutpolicy_horizontal = expanding - layoutpolicy_vertical = expanding - - visible = "[GetVariableSystem.Exists('compact_vassal_list_realm')]" - - vbox_compact_subjects = { - datacontext = "[MyRealmWindow.GetPowerfulVassals]" - blockoverride "text" { - raw_text = "[GetDataModelSize(CharacterSelectionList.GetList)] [powerful_vassals|e]" - max_width = 510 + + addcolumn = 538 + addrow = 176 + setitemsizefromcell = yes + + item = { + widget_vassal_list_item = { + name = tutorial_highlight_vassal + datacontext = "[CharacterListItem.GetCharacter]" + datacontext = "[MyRealmWindow.GetVassalInfo( Character.Self )]" + datacontext = "[MyRealmWindowVassalItem.GetContract]" } } - vbox_compact_subjects = { - datacontext = "[MyRealmWindow.GetRegularVassals]" - blockoverride "text" { - raw_text = "[GetDataModelSize(CharacterSelectionList.GetList)] [vassals|e]" - max_width = 510 + } + + fixedgridbox = { + datacontext = "[MyRealmWindow.GetRegularVassals]" + datamodel = "[CharacterSelectionList.GetList]" + visible = "[And( Not( CharacterSelectionList.IsBuildingList ), Not( IsDataModelEmpty( CharacterSelectionList.GetList ) ) )]" + layoutpolicy_horizontal = expanding + + addcolumn = 538 + addrow = 185 + setitemsizefromcell = yes + + item = { + widget_vassal_list_item = { + name = tutorial_highlight_vassal + datacontext = "[CharacterListItem.GetCharacter]" + datacontext = "[MyRealmWindow.GetVassalInfo( Character.Self )]" + datacontext = "[MyRealmWindowVassalItem.GetContract]" } } - vbox_compact_subjects = { - datacontext = "[MyRealmWindow.GetTributaries]" - blockoverride "text" { - raw_text = "[GetDataModelSize(CharacterSelectionList.GetList)] [tributaries|e]" - max_width = 510 - } - } - - expand = {} } text_single = { @@ -3674,90 +3775,223 @@ types MyRealmWindow expand = {} } - - type vbox_compact_subjects = vbox { - layoutpolicy_horizontal = expanding - visible = "[DataModelHasItems(CharacterSelectionList.GetList)]" - - oncreate = "[BindFoldOutContext]" - oncreate = "[PdxGuiFoldOut.Unfold]" - button_expandable_toggle_field = {} - - blockoverride "show_portrait_status_icons" { - visible = "[Not(GetVariableSystem.Exists('mass_directives_window'))]" + type vbox_my_realm_republics_top = vbox { + widgetid = "tab_republics" + layoutpolicy_horizontal = expanding + + divider_light = { + layoutpolicy_horizontal = expanding } - + vbox = { - margin_left = 5 layoutpolicy_horizontal = expanding - visible = "[PdxGuiFoldOut.IsUnfolded]" - - fixedgridbox_compact_subjects = {} - } - } - - type fixedgridbox_compact_subjects = fixedgridbox { - datamodel = "[CharacterSelectionList.GetList]" - visible = "[And( Not( CharacterSelectionList.IsBuildingList ), Not( IsDataModelEmpty( CharacterSelectionList.GetList ) ) )]" - - block "gridbox_size" { - layoutpolicy_horizontal = expanding - addcolumn = 90 - addrow = 115 - } - datamodel_wrap = 6 - flipdirection = yes - - item = { - widget_compact_vassal_list_item = { - datacontext = "[CharacterListItem.GetCharacter]" + + margin = { 15 5 } + margin_bottom = 15 + spacing = 5 + + vbox = { + layoutpolicy_horizontal = expanding + spacing = 10 + + text_single = { + text = "Important Factors in Elections and Tax:" + align = nobaseline + max_width = 500 + } + } + hbox = { + layoutpolicy_horizontal = expanding + + portrait_head_small = {} - widget = { - size = { 40 40 } - parentanchor = bottom|right - position = { 0 -33 } - block "directive_button" { - visible = "[GetVariableSystem.Exists('mass_directives_window')]" + hbox = { + visible = "[Character.GetGovernment.IsType('urbanrepublic_government'))]" + spacing = 3 + expand = {} + icon = { + name = "icon_influence" + size = { 30 30 } + texture = "[Character.GetInfluenceLevelTexture]" } - - widget = { - visible = "[Character.IsPlayerInteractionShown('give_vassal_directive_interaction')]" - size = { 100% 100% } - - button_round = { - size = { 100% 100% } - enabled = "[Character.IsPlayerInteractionValid('give_vassal_directive_interaction')]" - onclick = "[Character.OpenPlayerInteraction('give_vassal_directive_interaction')]" - - tooltip = "[Character.GetPlayerInteractionTooltip('give_vassal_directive_interaction')]" - using = tooltip_se - - text_single = { - parentanchor = center - text = "[Character.Custom('vassal_directive_icon')]" - align = nobaseline - using = Font_Size_Tiny - alwaystransparent = yes - alpha = "[Select_float( Character.IsPlayerInteractionValid('give_vassal_directive_interaction') , '(float)1.0', '(float)0.25' )]" - - - tooltip = "VASSAL_DIRECTIVE_ICON_TOOLTIP" - using = tooltip_se - } + text_single = { + name = "influence" + text = "[Character.GetInfluence|0]" + default_format = "#high" + align = center|nobaseline + fontsize_min = 12 + max_width = 50 + } + expand = {} + } + hbox = { + spacing = 3 + expand = {} + icon = { + name = "prestige_icon" + size = { 30 30 } + texture = "[Character.GetPrestigeLevelTexture]" + } + text_single = { + name = "influence" + text = "[Character.GetPrestige|0]" + default_format = "#high" + align = center|nobaseline + fontsize_min = 12 + max_width = 50 + } + expand = {} + } + hbox = { + spacing = 3 + expand = {} + icon = { + name = "icon_piety" + size = { 30 30 } + texture = "[Character.GetPietyLevelTexture]" + } + text_single = { + name = "piety" + text = "[Character.GetPiety|0]" + default_format = "#high" + align = center|nobaseline + fontsize_min = 12 + max_width = 50 + } + expand = {} + } + hbox = { + spacing = 3 + expand = {} + icon = { + name = "icon_dynasty_prestige" + size = { 30 30 } + texture = "[Character.GetDynasty.GetDynastyPrestigeLevelTexture]" + } + text_single = { + name = "dynasty_prestige" + text = "[Character.GetDynasty.GetPrestige|0]" + default_format = "#high" + align = center|nobaseline + fontsize_min = 12 + max_width = 50 + } + expand = {} + } + widget = { + size = { 50 50 } + coa_house_medium = { + datacontext = "[Character.GetHouse]" + parentanchor = center + } + } + } + + hbox = { + layoutpolicy_horizontal = expanding + spacing = 10 + + text_single = { + text = MY_REALM_WINDOW_VASSAL_STANCES + align = nobaseline + max_width = 100 + } + + hbox = { + datamodel = "[GetAllVassalStances]" + spacing = 5 + + item = { + text_single = { + visible = "[NotEqualTo_int32( MyRealmWindow.GetNumVassalsWithStance( VassalStance.Self ), '(int32)0' )]" + text = "MY_REALM_WINDOW_VASSAL_STANCE_COUNT" + align = nobaseline + fonttintcolor = "[GetOpinionTint(FixedPointToInt(VassalStance.GetModifierValueFor( MyRealmWindow.GetCharacter )))]" + margin = { 0 2 } + margin_left = 5 + margin_right = 10 + + using = Background_Area_Border + + tooltip = "MY_REALM_WINDOW_VASSAL_STANCE_COUNT_TT" + + max_width = 56 + } } } + + expand = {} + } + } + + + text_single = { + name = "government_filter_label" + visible = "[MyRealmWindow.HasActiveGovernmentTypeFilter]" + text = "[MyRealmWindow.GetActiveGovernmentTypeFilter.GetVassalsLabel]" + margin_bottom = 10 + } + } + type vbox_my_realm_republics_body = vbox { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + + margin = { 0 10 } + + using = Animation_Tab_Switch + + fixedgridbox = { + datacontext = "[MyRealmWindow.GetPowerfulVassals]" + datamodel = "[CharacterSelectionList.GetList]" + visible = "[And( Not( CharacterSelectionList.IsBuildingList ), Not( IsDataModelEmpty( CharacterSelectionList.GetList ) ) )]" + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + + addcolumn = 538 + addrow = 176 + setitemsizefromcell = yes + + item = { + widget_republic_vassal_list_item = { + datacontext = "[CharacterListItem.GetCharacter]" + datacontext = "[MyRealmWindow.GetVassalInfo( Character.Self )]" + datacontext = "[MyRealmWindowVassalItem.GetContract]" + + background = { + using = Background_Frame + } + } } } - } + fixedgridbox = { + datacontext = "[MyRealmWindow.GetRegularVassals]" + datamodel = "[CharacterSelectionList.GetList]" + visible = "[And( Not( CharacterSelectionList.IsBuildingList ), Not( IsDataModelEmpty( CharacterSelectionList.GetList ) ) )]" + layoutpolicy_horizontal = expanding + + addcolumn = 538 + addrow = 185 + setitemsizefromcell = yes + + item = { + widget_republic_vassal_list_item = { + name = tutorial_highlight_vassal + datacontext = "[CharacterListItem.GetCharacter]" + datacontext = "[MyRealmWindow.GetVassalInfo( Character.Self )]" + datacontext = "[MyRealmWindowVassalItem.GetContract]" + } + } + } + + expand = {} + } type vbox_my_realm_succession_body_top = vbox { layoutpolicy_horizontal = expanding margin_bottom = 5 - using = Animation_Tab_Switch - text_single = { visible = "[MyRealmWindow.HasHeir]" margin = { 0 4 } @@ -4415,369 +4649,4 @@ types MyRealmWindow } } } - - type window_mass_directives = window { - size = { 500 900 } - - parentanchor = right|vcenter - position = { -630 0 } - - using = Window_Background_Subwindow - - # visible = "[GetVariableSystem.Exists('mass_directives_window')]" - visible = no - - state = { - name = _show - using = Animation_FadeIn_Quick - - position = { -630 0 } - } - - state = { - name = _hide - using = Animation_FadeOut_Quick - - position_x = -620 - } - - vbox = { - layoutpolicy_horizontal = expanding - margin = { 4 4 } - - header_pattern = { - layoutpolicy_horizontal = expanding - - blockoverride "header_text" - { - text = "MASS_DIRECTIVES_TITLE" - margin = { 30 0 } - } - - blockoverride "button_close" - { - onclick = "[GetVariableSystem.Clear('mass_directives_window')]" - } - } - - vbox = { - layoutpolicy_horizontal = expanding - margin = { 15 0 } - margin_top = 5 - spacing = 10 - - hbox = { - layoutpolicy_horizontal = expanding - - text_single = { - layoutpolicy_horizontal = expanding - autoresize = no - multiline = yes - - text = "MASS_DIRECTIVES_TIP" - align = nobaseline|center - } - } - - vbox = { - layoutpolicy_horizontal = expanding - spacing = 10 - # all the filters can be left for the future - # visible = no - - button_standard_list = { - enabled = no - size = { 0 40 } - layoutpolicy_horizontal = expanding - raw_text = "#D WORK IN PROGRESS" - using = Font_Type_Flavor - using = Font_Size_Medium - } - - - hbox = { - layoutpolicy_horizontal = expanding - - blockoverride "dropdown_size" - { - size = { 230 32 } - } - blockoverride "dropdown_list_maxsize" - { - maximumsize = { 222 250 } - } - - # TODO Faith filter - dropdown_menu_standard = { - blockoverride "dropdown_properties" - { - datamodel = "[MyRealmWindow.GetGovernmentTypeFilters]" - - onselectionchanged = "[MyRealmWindow.SelectActiveGovernmentTypeFilter]" - selectedindex = "[MyRealmWindow.GetActiveGovernmentTypeFilterIndex]" - } - - blockoverride "dropdown_active_item_properties" - { - text = "MRW_GOVERNMENT_FILTER" - - tooltip = "MRW_GOVERNMENT_FILTER_DROPDOWN_TT" - } - - blockoverride "dropdown_item_properties" - { - text = "MRW_GOVERNMENT_FILTER" - - tooltip = "MRW_GOVERNMENT_FILTER_TT" - } - } - - expand = {} - - # TODO Culture filter - dropdown_menu_standard = { - blockoverride "dropdown_properties" - { - datamodel = "[MyRealmWindow.GetGovernmentTypeFilters]" - - onselectionchanged = "[MyRealmWindow.SelectActiveGovernmentTypeFilter]" - selectedindex = "[MyRealmWindow.GetActiveGovernmentTypeFilterIndex]" - } - - blockoverride "dropdown_active_item_properties" - { - text = "MRW_GOVERNMENT_FILTER" - - tooltip = "MRW_GOVERNMENT_FILTER_DROPDOWN_TT" - } - - blockoverride "dropdown_item_properties" - { - text = "MRW_GOVERNMENT_FILTER" - - tooltip = "MRW_GOVERNMENT_FILTER_TT" - } - } - } - - hbox = { - layoutpolicy_horizontal = expanding - visible = "[GetPlayer.IsValid]" - margin_left = 3 - spacing = 5 - - button_checkbox_label = { - background = { using = Background_Area_Border } - layoutpolicy_horizontal = expanding - # visible = " can anyone convert counties to your faith" - # onclick = "" - blockoverride "checkbox" { - # checked = "" - } - blockoverride "text" { - raw_text = "Convert to [GetPlayer.GetFaith.GetNameNoTooltip] (3)" - max_width = 190 - min_width = 190 - } - } - - button_checkbox_label = { - layoutpolicy_horizontal = expanding - background = { using = Background_Area_Border } - # visible = " can anyone convert counties to your culture" - # onclick = "" - blockoverride "checkbox" { - # checked = "" - } - blockoverride "text" { - raw_text = "Convert to [GetPlayer.GetCulture.GetNameNoTooltip] (3)" - max_width = 190 - min_width = 190 - } - } - } - - hbox = { - layoutpolicy_horizontal = expanding - # visible = has admin vassals - # datamodel = "[GetAllAdministrativeObligations]" - datamodel = "[GetNullCharacterDataModel( '(int32)6')]" - spacing = 5 - - item = { - button_standard_list = { - layoutpolicy_horizontal = expanding - size = { 0 30 } - - hbox = { - layoutpolicy_horizontal = expanding - margin = { 5 0 } - - text_single = { - raw_text = "@naval_administration!" - align = nobaseline - alwaystransparent = yes - } - - text_single = { - layoutpolicy_horizontal = expanding - autoresize = no - align = nobaseline|center - raw_text = "1" - alwaystransparent = yes - } - } - } - } - - expand = {} - } - - hbox = { - layoutpolicy_horizontal = expanding - - margin_left = 10 - - text_label_left = { - layoutpolicy_horizontal = expanding - autoresize = no - margin = { 0 5 } - align = nobaseline - - text = "ACTIVE_DIRECTIVES_HEADER" - } - } - - hbox = { - layoutpolicy_horizontal = expanding - margin_left = 5 - - dynamicgridbox = { - datamodel = "[GetNullCharacterDataModel( '(int32)10')]" - flipdirection = yes - datamodel_wrap = 7 - layoutpolicy_horizontal = expanding - - item = { - widget = { - size = { 65 35 } - button_standard_list = { - size = { 60 30 } - - hbox = { - layoutpolicy_horizontal = expanding - margin = { 5 0 } - - text_single = { - raw_text = "@task_develop_county!" - align = nobaseline - alwaystransparent = yes - using = Font_Size_Tiny - } - - text_single = { - layoutpolicy_horizontal = expanding - autoresize = no - align = nobaseline|center - raw_text = "1" - alwaystransparent = yes - } - } - } - } - } - } - } - - } - hbox = { - layoutpolicy_horizontal = expanding - margin = { 10 5 } - - background = { - using = Background_Area_Dark - alpha = 0.7 - margin_left = 16 - margin_right = 10 - - modify_texture = { - texture = "gfx/interface/component_masks/mask_fade_horizontal_extended.dds" - blend_mode = alphamultiply - } - } - - text_single = { - layoutpolicy_horizontal = expanding - autoresize = no - margin = { 0 5 } - align = nobaseline - - text = "ISSUE_DIRECTIVES_HEADER" - } - - text_single = { - layoutpolicy_horizontal = expanding - autoresize = no - align = nobaseline|right - default_format = "#low" - text = "VASSALS_AFFECTED_HEADER" - } - } - } - scrollbox = { - layoutpolicy_horizontal = expanding - layoutpolicy_vertical = expanding - - blockoverride "scrollbox_content" { - vbox = { - layoutpolicy_horizontal = expanding - datamodel = "[GetNullCharacterDataModel('(int32)10')]" - # datamodel = "all directives that can be applied to selected vassals, including No Directive" - spacing = 1 - - item = { - button_standard = { - layoutpolicy_horizontal = expanding - size = { 0 38 } - # onclick = " apply this directive to selected vassals" - - hbox = { - layoutpolicy_horizontal = expanding - - margin = { 10 0 } - margin_right = 15 - spacing = 5 - - text_single = { - raw_text = "@task_develop_county!" - align = nobaseline - using = Font_Size_Tiny - } - - text_single = { - layoutpolicy_horizontal = expanding - autoresize = no - align = nobaseline - raw_text = "Directive name" - alwaystransparent = yes - } - - expand = {} - - text_single = { - autoresize = no - size = { 35 20 } - align = nobaseline|right - raw_text = "10" - # raw_text = " amount of vassals that can switch to this directive" #TODO - default_format = "#low" - } - } - } - } - } - } - } - } - } }