diff --git a/common/casus_belli_types/00_religious_war.txt b/common/casus_belli_types/00_religious_war.txt index 5a8b472b..09d296ad 100644 --- a/common/casus_belli_types/00_religious_war.txt +++ b/common/casus_belli_types/00_religious_war.txt @@ -3255,7 +3255,7 @@ undirected_great_holy_war = { #Tell non diverting-players about the crazy 4th crusade plan if = { limit = { - scope:attacker.faith = { this = faith:roman_catholic } + scope:attacker.faith = { this = faith:catholic } exists = global_var:byz_claimant_champion global_var:byz_claimant_champion = { is_alive = yes diff --git a/common/character_interactions/00_character_interactions.txt b/common/character_interactions/00_character_interactions.txt index 9bab5fc7..0ce12166 100644 --- a/common/character_interactions/00_character_interactions.txt +++ b/common/character_interactions/00_character_interactions.txt @@ -1171,8 +1171,8 @@ offer_vassalization_interaction = { modifier = { # AI-only weights, keep the pope from vassalizing too fast trigger = { - exists = faith:roman_catholic.religious_head - faith:roman_catholic.religious_head = scope:actor + exists = faith:catholic.religious_head + faith:catholic.religious_head = scope:actor scope:actor = { is_ai = yes } } add = -50 diff --git a/common/character_interactions/09_mpo_interactions.txt b/common/character_interactions/09_mpo_interactions.txt index 319c8577..9bbeb1fb 100644 --- a/common/character_interactions/09_mpo_interactions.txt +++ b/common/character_interactions/09_mpo_interactions.txt @@ -9447,8 +9447,8 @@ mpo_offer_submission_or_ruin = { modifier = { # AI-only weights, keep the pope from vassalizing too fast trigger = { - exists = faith:roman_catholic.religious_head - faith:roman_catholic.religious_head = scope:actor + exists = faith:catholic.religious_head + faith:catholic.religious_head = scope:actor scope:actor = { is_ai = yes } } add = -50 diff --git a/common/coat_of_arms/template_lists/coa_templates.txt b/common/coat_of_arms/template_lists/coa_templates.txt index eeff2838..3618f1e4 100644 --- a/common/coat_of_arms/template_lists/coa_templates.txt +++ b/common/coat_of_arms/template_lists/coa_templates.txt @@ -175,7 +175,7 @@ } AND = { OR = { -# scope:faith = faith:nestorian + scope:faith = faith:nestorian scope:religion = religion:tengrism_religion scope:religion = religion:zoroastrianism_religion scope:religion = religion:magyar_religion @@ -208,7 +208,7 @@ } AND = { OR = { -# scope:faith = faith:nestorian + scope:faith = faith:nestorian scope:religion = religion:tengrism_religion scope:religion = religion:zoroastrianism_religion scope:religion = religion:magyar_religion @@ -231,7 +231,7 @@ } AND = { OR = { -# scope:faith = faith:nestorian + scope:faith = faith:nestorian scope:religion = religion:tengrism_religion scope:religion = religion:zoroastrianism_religion scope:religion = religion:magyar_religion diff --git a/common/council_tasks/00_steward_tasks.txt b/common/council_tasks/00_steward_tasks.txt index 7b5d53a9..9b8a4224 100644 --- a/common/council_tasks/00_steward_tasks.txt +++ b/common/council_tasks/00_steward_tasks.txt @@ -1167,95 +1167,95 @@ task_promote_culture = { count < 35 } } -# AND = { -# # Scottish rulers should convert counties of 'old' cultures to the new one. -# culture = culture:scottish -# OR = { -# scope:county.culture = culture:anglo_saxon -# scope:county.culture = culture:gaelic -# scope:county.culture = culture:cumbrian -# scope:county.culture = culture:pictish -# } -# } -# AND = { -# # English rulers should convert counties of 'old' cultures to the new one. -# culture = culture:english -# OR = { -# scope:county.culture = culture:anglo_saxon -# scope:county.culture = culture:norman -# } -# } -# AND = { -# # German rulers want to convert the sorbians -# culture = { has_cultural_pillar = heritage_central_germanic } -# scope:county.culture = culture:sorbian -# NOT = { scope:councillor_liege.primary_title = title:e_hre } -# } -# AND = { -# # Japanese rulers should convert Emishi counties -# culture = culture:japanese -# scope:county.culture = culture:emishi -# } + AND = { + # Scottish rulers should convert counties of 'old' cultures to the new one. + culture = culture:scottish + OR = { + scope:county.culture = culture:anglo_saxon + scope:county.culture = culture:gaelic + scope:county.culture = culture:cumbrian + scope:county.culture = culture:pictish + } + } + AND = { + # English rulers should convert counties of 'old' cultures to the new one. + culture = culture:english + OR = { + scope:county.culture = culture:anglo_saxon + scope:county.culture = culture:norman + } + } + AND = { + # German rulers want to convert the sorbians + culture = { has_cultural_pillar = heritage_central_germanic } + scope:county.culture = culture:sorbian + NOT = { scope:councillor_liege.primary_title = title:e_hre } + } + AND = { + # Japanese rulers should convert Emishi counties + culture = culture:japanese + scope:county.culture = culture:emishi + } + } + } + OR = { + scope:county = { + any_neighboring_county = { + culture = scope:councillor_liege.culture # The AI only wants to convert counties bordering their own culture + } + } + AND = { # The English want to convert the Anglo Saxons and Cumbrians + scope:councillor_liege.culture = culture:english + OR = { + scope:county.culture = culture:anglo_saxon + scope:county.culture = culture:cumbrian + } + } + AND = { # The Scots want to convert the Anglo Saxons, Cumbrians and Gaelic + scope:councillor_liege.culture = culture:scottish + OR = { + scope:county.culture = culture:anglo_saxon + scope:county.culture = culture:gaelic + scope:county.culture = culture:cumbrian + scope:county.culture = culture:pictish + } + } + AND = { # The Gaels want to convert the Picts and Cumbrians + scope:councillor_liege.culture = culture:gaelic + OR = { + scope:county.culture = culture:cumbrian + scope:county.culture = culture:pictish + } + } + AND = { # The modern scandinavians want to convert the Norse + OR = { + scope:councillor_liege.culture = culture:swedish + scope:councillor_liege.culture = culture:danish + scope:councillor_liege.culture = culture:norwegian + } + scope:county.culture = culture:norse + } + AND = { # The Portuguese should want to convert Suebi + scope:councillor_liege.culture = culture:portuguese + scope:county.culture = culture:suebi + } + AND = { # The Iberians want to convert Visigothic + scope:councillor_liege.culture = { has_cultural_pillar = heritage_iberian } + NOT = { scope:councillor_liege.culture = culture:portuguese } + scope:county.culture = culture:visigothic + } + AND = { + # German rulers want to convert the sorbians + scope:councillor_liege.culture = { has_cultural_pillar = heritage_central_germanic } + scope:county.culture = culture:sorbian + NOT = { scope:councillor_liege.primary_title = title:e_hre } + } + AND = { + # Japanese rulers should convert Emishi counties + scope:councillor_liege.culture = culture:japanese + scope:county.culture = culture:emishi } } -# OR = { -# scope:county = { -# any_neighboring_county = { -# culture = scope:councillor_liege.culture # The AI only wants to convert counties bordering their own culture -# } -# } -# AND = { # The English want to convert the Anglo Saxons and Cumbrians -# scope:councillor_liege.culture = culture:english -# OR = { -# scope:county.culture = culture:anglo_saxon -# scope:county.culture = culture:cumbrian -# } -# } -# AND = { # The Scots want to convert the Anglo Saxons, Cumbrians and Gaelic -# scope:councillor_liege.culture = culture:scottish -# OR = { -# scope:county.culture = culture:anglo_saxon -# scope:county.culture = culture:gaelic -# scope:county.culture = culture:cumbrian -# scope:county.culture = culture:pictish -# } -# } -# AND = { # The Gaels want to convert the Picts and Cumbrians -# scope:councillor_liege.culture = culture:gaelic -# OR = { -# scope:county.culture = culture:cumbrian -# scope:county.culture = culture:pictish -# } -# } -# AND = { # The modern scandinavians want to convert the Norse -# OR = { -# scope:councillor_liege.culture = culture:swedish -# scope:councillor_liege.culture = culture:danish -# scope:councillor_liege.culture = culture:norwegian -# } -# scope:county.culture = culture:norse -# } -# AND = { # The Portuguese should want to convert Suebi -# scope:councillor_liege.culture = culture:portuguese -# scope:county.culture = culture:suebi -# } -# AND = { # The Iberians want to convert Visigothic -# scope:councillor_liege.culture = { has_cultural_pillar = heritage_iberian } -# NOT = { scope:councillor_liege.culture = culture:portuguese } -# scope:county.culture = culture:visigothic -# } -# AND = { -# # German rulers want to convert the sorbians -# scope:councillor_liege.culture = { has_cultural_pillar = heritage_central_germanic } -# scope:county.culture = culture:sorbian -# NOT = { scope:councillor_liege.primary_title = title:e_hre } -# } -# AND = { -# # Japanese rulers should convert Emishi counties -# scope:councillor_liege.culture = culture:japanese -# scope:county.culture = culture:emishi -# } -# } } trigger_else_if = { # But AI Directives should still try to look pretty limit = { @@ -1815,35 +1815,35 @@ task_accept_culture = { limit = { scope:councillor_liege = { is_ai = yes } } -# NAND = { -# # Scottish rulers should convert counties of 'old' cultures to the new one. -# scope:councillor_liege.culture = culture:scottish -# OR = { -# scope:county.culture = culture:anglo_saxon -# scope:county.culture = culture:gaelic -# scope:county.culture = culture:cumbrian -# scope:county.culture = culture:pictish -# } -# } -# NAND = { -# # English rulers should convert counties of 'old' cultures to the new one. -# scope:councillor_liege.culture = culture:english -# OR = { -# scope:county.culture = culture:anglo_saxon -# scope:county.culture = culture:norman -# } -# } -# NAND = { -# # German rulers want to convert the sorbians -# scope:councillor_liege.culture = { has_cultural_pillar = heritage_central_germanic } -# scope:county.culture = culture:sorbian -# NOT = { scope:councillor_liege.primary_title = title:e_hre } -# } -# NAND = { -# # Japanese rulers should convert Emishi counties -# scope:councillor_liege.culture = culture:japanese -# scope:county.culture = culture:emishi -# } + NAND = { + # Scottish rulers should convert counties of 'old' cultures to the new one. + scope:councillor_liege.culture = culture:scottish + OR = { + scope:county.culture = culture:anglo_saxon + scope:county.culture = culture:gaelic + scope:county.culture = culture:cumbrian + scope:county.culture = culture:pictish + } + } + NAND = { + # English rulers should convert counties of 'old' cultures to the new one. + scope:councillor_liege.culture = culture:english + OR = { + scope:county.culture = culture:anglo_saxon + scope:county.culture = culture:norman + } + } + NAND = { + # German rulers want to convert the sorbians + scope:councillor_liege.culture = { has_cultural_pillar = heritage_central_germanic } + scope:county.culture = culture:sorbian + NOT = { scope:councillor_liege.primary_title = title:e_hre } + } + NAND = { + # Japanese rulers should convert Emishi counties + scope:councillor_liege.culture = culture:japanese + scope:county.culture = culture:emishi + } OR = { scope:councillor_liege = { has_character_flag = vassal_directive_improve_cultural_acceptance diff --git a/common/culture/innovations/00_cultural_maa_innovations.txt b/common/culture/innovations/00_cultural_maa_innovations.txt index 7057187a..5b4f4726 100644 --- a/common/culture/innovations/00_cultural_maa_innovations.txt +++ b/common/culture/innovations/00_cultural_maa_innovations.txt @@ -102,13 +102,12 @@ innovation_legionnaires = { icon = @special_maa_02 potential = { - always = no -# OR = { -# this = culture:roman -# culture_head ?= { -# is_roman_emperor_primary_title_excluding_byzantium_trigger = yes -# } -# } + OR = { + this = culture:roman + culture_head ?= { + is_roman_emperor_primary_title_excluding_byzantium_trigger = yes + } + } } unlock_maa = praetorian diff --git a/common/culture/innovations/01_fp1_innovations.txt b/common/culture/innovations/01_fp1_innovations.txt index fe4899df..476f27fe 100644 --- a/common/culture/innovations/01_fp1_innovations.txt +++ b/common/culture/innovations/01_fp1_innovations.txt @@ -48,11 +48,11 @@ innovation_varangian_adventurers = { has_innovation = innovation_varangian_adventurers has_cultural_pillar = heritage_north_germanic -# # Frankish -# this = culture:norman -# any_parent_culture_or_above = { -# this = culture:norse #Norman -# } + # Frankish + this = culture:norman + any_parent_culture_or_above = { + this = culture:norse #Norman + } this = culture:estonian any_parent_culture_or_above = { this = culture:estonian #Estonian diff --git a/common/culture/traditions/00_realm_traditions.txt b/common/culture/traditions/00_realm_traditions.txt index 5c95a730..270d3f8d 100644 --- a/common/culture/traditions/00_realm_traditions.txt +++ b/common/culture/traditions/00_realm_traditions.txt @@ -225,12 +225,12 @@ tradition_republican_legacy = { NOT = { has_cultural_tradition = tradition_parochialism } } can_pick = { -# OR ={ -# this = culture:roman -# any_parent_culture_or_above = { -# this = culture:roman -# } -# } + OR ={ + this = culture:roman + any_parent_culture_or_above = { + this = culture:roman + } + } NOT = { has_cultural_tradition = tradition_parochialism } custom_tooltip = { text = cultrad_not_nomadic_government_type @@ -2161,20 +2161,20 @@ tradition_parochialism = { is_shown = { #Replaced by tradition_republican_legacy NOT = { has_cultural_tradition = tradition_republican_legacy } -# NOR ={ -# this = culture:roman -# any_parent_culture_or_above = { -# this = culture:roman -# } -# } -# } + NOR ={ + this = culture:roman + any_parent_culture_or_above = { + this = culture:roman + } + } + } can_pick = { -# NOR ={ -# this = culture:roman -# any_parent_culture_or_above = { -# this = culture:roman -# } -# } + NOR ={ + this = culture:roman + any_parent_culture_or_above = { + this = culture:roman + } + } NOT = { has_cultural_tradition = tradition_republican_legacy } custom_tooltip = { text = cultrad_not_nomadic_government_type diff --git a/common/customizable_localization/00_regional_custom_localization.txt b/common/customizable_localization/00_regional_custom_localization.txt index fe0cdcd3..ba8e162a 100644 --- a/common/customizable_localization/00_regional_custom_localization.txt +++ b/common/customizable_localization/00_regional_custom_localization.txt @@ -561,11 +561,6 @@ TerrainTypeCountyScope = { trigger = { title_province = { terrain = drylands } } localization_key = terrain_drylands } - - text = { - trigger = { title_province = { terrain = tells } } - localization_key = terrain_drylands - } } TerrainTypeCountyScopePlural = { @@ -642,11 +637,6 @@ TerrainTypeCountyScopePlural = { trigger = { title_province = { terrain = drylands } } localization_key = terrain_drylands } - - text = { - trigger = { title_province = { terrain = tells } } - localization_key = terrain_tells - } } TerrainType = { @@ -723,11 +713,6 @@ TerrainType = { trigger = { location = { terrain = drylands } } localization_key = terrain_drylands } - - text = { - trigger = { location = { terrain = tells} } - localization_key = terrain_tells - } } TerrainTypeProvince = { @@ -807,10 +792,6 @@ TerrainTypeProvince = { trigger = { terrain = terraced_hills } localization_key = terrain_terraced_hills } - text = { - trigger = { terrain = tells } - localization_key = terrain_tells - } } TerrainTypeProvincePrefix = { @@ -828,12 +809,7 @@ TerrainTypeProvincePrefix = { } text = { - trigger = { - OR = { - terrain = hills - terrain = tells - } - } + trigger = { terrain = hills } localization_key = prefix_rolling } @@ -1547,9 +1523,9 @@ RandomReligiousTextName = { #The book is of my religion trigger_else = { OR = { - faith.religion = religion:eastern_orthodox_religion - faith.religion = religion:catholic_religion - faith.religion = religion:protestant_religion + location.faith.religion = religion:eastern_orthodox_religion + location.faith.religion = religion:catholic_religion + location.faith.religion = religion:protestant_religion } } } @@ -1599,13 +1575,16 @@ RandomReligiousTextName = { location.faith.religion = religion:catholic_religion location.faith.religion = religion:protestant_religion } + NOT = { location.faith = faith:orthodox } } #The book is of my religion trigger_else = { OR = { + faith.religion = religion:eastern_orthodox_religion faith.religion = religion:catholic_religion faith.religion = religion:protestant_religion } + NOT = { faith = faith:orthodox } } } localization_key = random_religious_text_summa_theologica @@ -1622,6 +1601,7 @@ RandomReligiousTextName = { trigger_else_if = { limit = { exists = scope:visiting_location } OR = { + location.faith.religion = religion:eastern_orthodox_religion location.faith.religion = religion:catholic_religion location.faith.religion = religion:protestant_religion } @@ -1630,6 +1610,7 @@ RandomReligiousTextName = { #The book is of my religion trigger_else = { OR = { + faith.religion = religion:eastern_orthodox_religion faith.religion = religion:catholic_religion faith.religion = religion:protestant_religion } @@ -1649,10 +1630,10 @@ RandomReligiousTextName = { #We're a LAAMP visiting somewhere trigger_else_if = { limit = { exists = scope:visiting_location } - location.faith..religion = religion:eastern_orthodox_religion + location.faith = faith:orthodox } #The book is of my religion - trigger_else = { faith..religion = religion:eastern_orthodox_religion } + trigger_else = { faith = faith:orthodox } } localization_key = random_religious_text_chrysostomos } @@ -1667,10 +1648,10 @@ RandomReligiousTextName = { #We're a LAAMP visiting somewhere trigger_else_if = { limit = { exists = scope:visiting_location } - location.faith.religion = religion:eastern_orthodox_religion + location.faith = faith:orthodox } #The book is of my religion - trigger_else = { faith.religion = religion:eastern_orthodox_religion } + trigger_else = { faith = faith:orthodox } } localization_key = random_religious_text_symeon_menologion } @@ -1685,10 +1666,10 @@ RandomReligiousTextName = { #We're a LAAMP visiting somewhere trigger_else_if = { limit = { exists = scope:visiting_location } - location.faith.religion = religion:eastern_orthodox_religion + location.faith = faith:orthodox } #The book is of my religion - trigger_else = { faith.religion = religion:eastern_orthodox_religion } + trigger_else = { faith = faith:orthodox } } localization_key = random_religious_text_god_and_christ } @@ -1751,168 +1732,76 @@ RandomEntertainmentTextName = { } localization_key = random_entertainment_text_beowulf } + text = { trigger = { scope:entertainment_book_title = flag:niebelungenlied } localization_key = random_entertainment_text_niebelungenlied } + text = { trigger = { scope:entertainment_book_title = flag:song_of_roland } localization_key = random_entertainment_text_song_of_roland } + text = { trigger = { scope:entertainment_book_title = flag:mabinogi } localization_key = random_entertainment_text_mabinogi } + + text = { + trigger = { + scope:entertainment_book_title = flag:travels_to_jerusalem + } + localization_key = random_entertainment_text_travels_to_jerusalem + } + + text = { + trigger = { + scope:entertainment_book_title = flag:east_of_indus + } + localization_key = random_entertainment_text_east_of_indus + } + + text = { + trigger = { + scope:entertainment_book_title = flag:travels_to_byzantium + } + localization_key = random_entertainment_text_travels_to_byzantium + } + text = { trigger = { scope:entertainment_book_title = flag:digenes_akrites } localization_key = random_entertainment_text_digenes_akrites } + text = { trigger = { - scope:entertainment_book_title = flag:hitchhikers + scope:entertainment_book_title = flag:epigrams } - localization_key = random_entertainment_text_hitchhikers + localization_key = random_entertainment_text_epigrams } + text = { trigger = { - scope:entertainment_book_title = flag:dune + scope:entertainment_book_title = flag:philogelos } - localization_key = random_entertainment_text_dune + localization_key = random_entertainment_text_philogelos } + text = { trigger = { - scope:entertainment_book_title = flag:hobbit + scope:entertainment_book_title = flag:riddle_poems } - localization_key = random_entertainment_text_hobbit + localization_key = random_entertainment_text_riddle_poems } - text = { - trigger = { - scope:entertainment_book_title = flag:lotr - } - localization_key = random_entertainment_text_lotr - } - text = { - trigger = { - scope:entertainment_book_title = flag:narnia - } - localization_key = random_entertainment_text_narnia - } - text = { - trigger = { - scope:entertainment_book_title = flag:foundation - } - localization_key = random_entertainment_text_foundation - } - text = { - trigger = { - scope:entertainment_book_title = flag:nineteen_eighty_four - } - localization_key = random_entertainment_text_nineteen_eighty_four - } - text = { - trigger = { - scope:entertainment_book_title = flag:one_hundred_years - } - localization_key = random_entertainment_text_one_hundred_years - } - text = { - trigger = { - scope:entertainment_book_title = flag:les_drames - } - localization_key = random_entertainment_text_les_drames - } - text = { - trigger = { - scope:entertainment_book_title = flag:le_club - } - localization_key = random_entertainment_text_le_club - } - text = { - trigger = { - scope:entertainment_book_title = flag:les_chevaliers - } - localization_key = random_entertainment_text_les_chevaliers - } - text = { - trigger = { - scope:entertainment_book_title = flag:the_shell_seekers - } - localization_key = random_entertainment_text_the_shell_seekers - } - text = { - trigger = { - scope:entertainment_book_title = flag:pillars - } - localization_key = random_entertainment_text_pillars - } - text = { - trigger = { - scope:entertainment_book_title = flag:perfume - } - localization_key = random_entertainment_text_perfume - } - text = { - trigger = { - scope:entertainment_book_title = flag:faceless - } - localization_key = random_entertainment_text_faceless - } - text = { - trigger = { - scope:entertainment_book_title = flag:the_alchemist - } - localization_key = random_entertainment_text_the_alchemist - } - text = { - trigger = { - scope:entertainment_book_title = flag:the_brothers - } - localization_key = random_entertainment_text_the_brothers - } - text = { - trigger = { - scope:entertainment_book_title = flag:one_thousand - } - localization_key = random_entertainment_text_one_thousand - } - text = { - trigger = { - scope:entertainment_book_title = flag:nineteen_eighty_four - } - localization_key = random_entertainment_text_nineteen_eighty_four - } - text = { - trigger = { - scope:entertainment_book_title = flag:the_divine_comedy - } - localization_key = random_entertainment_text_the_divine_comedy - } - text = { - trigger = { - scope:entertainment_book_title = flag:the_odyssey - } - localization_key = random_entertainment_text_the_odyssey - } - text = { - trigger = { - scope:entertainment_book_title = flag:war_and_peace - } - localization_key = random_entertainment_text_war_and_peace - } - text = { - trigger = { - scope:entertainment_book_title = flag:the_pyramid - } - localization_key = random_entertainment_text_the_pyramid - } } diff --git a/common/decisions/10_culture_conversion_decisions.txt b/common/decisions/10_culture_conversion_decisions.txt index a50418f7..2ad709f8 100644 --- a/common/decisions/10_culture_conversion_decisions.txt +++ b/common/decisions/10_culture_conversion_decisions.txt @@ -365,15 +365,15 @@ convert_to_local_culture_decision = { capital_province.culture = culture:andalusian } -# # Don't overwrite historically scripted developments -# modifier = { -# factor = 0 -# OR = { -# has_culture = culture:norman -# has_culture = culture:english -# } -# capital_province.culture = culture:anglo_saxon -# } + # Don't overwrite historically scripted developments + modifier = { + factor = 0 + OR = { + has_culture = culture:norman + has_culture = culture:english + } + capital_province.culture = culture:anglo_saxon + } modifier = { factor = 0 has_culture = culture:turkish @@ -401,48 +401,48 @@ convert_to_local_culture_decision = { has_culture = culture:turkish primary_title.tier >= tier_empire } -# modifier = { -# factor = 0 -# OR = { -# has_title = title:k_jerusalem -# has_title = title:e_outremer -# any_liege_or_above = { -# OR = { -# has_title = title:k_jerusalem -# has_title = title:e_outremer -# } -# } -# } -# NOR = { -# capital_province = { # Convert to Hybrids of your culture in the Holy Land -# culture = { -# is_hybrid_culture = yes -# any_parent_culture_or_above = { -# this = root.culture -# } -# } -# } -# AND = { -# top_liege != this -# exists = liege -# capital_province.culture = liege.culture -# } -# } -# } -# modifier = { -# factor = 0 -# has_title = title:e_latin_empire -# NOT = { -# capital_province = { -# culture = { -# is_hybrid_culture = yes -# any_parent_culture_or_above = { -# this = root.culture -# } -# } -# } -# } -# } + modifier = { + factor = 0 + OR = { + has_title = title:k_jerusalem + has_title = title:e_outremer + any_liege_or_above = { + OR = { + has_title = title:k_jerusalem + has_title = title:e_outremer + } + } + } + NOR = { + capital_province = { # Convert to Hybrids of your culture in the Holy Land + culture = { + is_hybrid_culture = yes + any_parent_culture_or_above = { + this = root.culture + } + } + } + AND = { + top_liege != this + exists = liege + capital_province.culture = liege.culture + } + } + } + modifier = { + factor = 0 + has_title = title:e_latin_empire + NOT = { + capital_province = { + culture = { + is_hybrid_culture = yes + any_parent_culture_or_above = { + this = root.culture + } + } + } + } + } # Scots needs a bit of help to dominate as it did historically modifier = { @@ -451,12 +451,12 @@ convert_to_local_culture_decision = { capital_province.culture = culture:gaelic } -# # Pictish should usually disappear -# modifier = { -# factor = 0 -# has_culture = culture:gaelic -# capital_province.culture = culture:pictish -# } + # Pictish should usually disappear + modifier = { + factor = 0 + has_culture = culture:gaelic + capital_province.culture = culture:pictish + } # Don't go back on a previous conversion modifier = { diff --git a/common/decisions/80_major_decisions_roman.txt b/common/decisions/80_major_decisions_roman.txt index d866cb4d..254efc31 100644 --- a/common/decisions/80_major_decisions_roman.txt +++ b/common/decisions/80_major_decisions_roman.txt @@ -434,7 +434,7 @@ mend_the_great_schism_decision = { is_shown = { is_ruler = yes is_playable_character = yes - faith.religion = faith:roman_catholic.religion #Christian Only + faith.religion = faith:catholic.religion #Christian Only NOT = { #Can only do it once. is_target_in_global_variable_list = { name = unavailable_unique_decisions diff --git a/common/decisions/dlc_decisions/ep3_decisions.txt b/common/decisions/dlc_decisions/ep3_decisions.txt index 88ff5856..e1ee9970 100644 --- a/common/decisions/dlc_decisions/ep3_decisions.txt +++ b/common/decisions/dlc_decisions/ep3_decisions.txt @@ -3442,26 +3442,26 @@ expunge_latin_dominion_decision = { #Must be a Greek or Greekoid OR = { culture = culture:greek -# culture = culture:roman + culture = culture:roman culture = { any_parent_culture_or_above = { this = culture:greek } } ep3_orthodox_faith_trigger = yes -# faith = faith:hellenic_pagan -# AND = { -# exists = title:e_byzantium.holder -# this = title:e_byzantium.holder -# } -# AND = { -# exists = title:h_roman_empire.holder -# this = title:h_roman_empire.holder -# } -# AND = { -# exists = title:h_eastern_roman_empire.holder -# this = title:h_eastern_roman_empire.holder -# } + faith = faith:hellenic_pagan + AND = { + exists = title:e_byzantium.holder + this = title:e_byzantium.holder + } + AND = { + exists = title:h_roman_empire.holder + this = title:h_roman_empire.holder + } + AND = { + exists = title:h_eastern_roman_empire.holder + this = title:h_eastern_roman_empire.holder + } } OR = { capital_province = { @@ -3473,18 +3473,18 @@ expunge_latin_dominion_decision = { geographical_region = world_steppe_west } } -# AND = { -# exists = title:e_byzantium.holder -# this = title:e_byzantium.holder -# } -# AND = { -# exists = title:h_roman_empire.holder -# this = title:h_roman_empire.holder -# } -# AND = { -# exists = title:h_eastern_roman_empire.holder -# this = title:h_eastern_roman_empire.holder -# } + AND = { + exists = title:e_byzantium.holder + this = title:e_byzantium.holder + } + AND = { + exists = title:h_roman_empire.holder + this = title:h_roman_empire.holder + } + AND = { + exists = title:h_eastern_roman_empire.holder + this = title:h_eastern_roman_empire.holder + } } } diff --git a/common/landed_titles/europa.txt b/common/landed_titles/europa.txt index 8f6346a5..594f0b6b 100644 --- a/common/landed_titles/europa.txt +++ b/common/landed_titles/europa.txt @@ -1070,16 +1070,16 @@ e_europa = { # Benelux } add = @better_than_the_alternatives_score } -# if = { -# limit = { -# OR = { -# culture = culture:french -# culture = culture:norman -# culture = culture:occitan -# } -# } -# add = @better_than_the_alternatives_score -# } + if = { + limit = { + OR = { + culture = culture:french + culture = culture:norman + culture = culture:occitan + } + } + add = @better_than_the_alternatives_score + } } d_luxembourg = { # Luxembourg diff --git a/common/landed_titles/italy.txt b/common/landed_titles/italy.txt index a26fd0b3..20e90fc1 100644 --- a/common/landed_titles/italy.txt +++ b/common/landed_titles/italy.txt @@ -1617,17 +1617,17 @@ e_italy = { name_list_albanian = cn_sicilise } -# ai_primary_priority = { -# if = { -# limit = { -# OR = { -# culture = culture:italian -# culture = culture:norman -# } -# } -# add = @correct_culture_primary_score -# } -# } + ai_primary_priority = { + if = { + limit = { + OR = { + culture = culture:italian + culture = culture:norman + } + } + add = @correct_culture_primary_score + } + } d_napoli = { color = { 47 179 191 } diff --git a/common/script_values/04_ep2_wedding_values.txt b/common/script_values/04_ep2_wedding_values.txt index 38308ac4..fd9c5200 100644 --- a/common/script_values/04_ep2_wedding_values.txt +++ b/common/script_values/04_ep2_wedding_values.txt @@ -807,8 +807,8 @@ # AI-only weights, keep the pope from vassalizing too fast if = { limit = { - exists = faith:roman_catholic.religious_head - faith:roman_catholic.religious_head = root + exists = faith:catholic.religious_head + faith:catholic.religious_head = root root = { is_ai = yes } } add = -50 diff --git a/common/scripted_effects/00_scheme_scripted_effects.txt b/common/scripted_effects/00_scheme_scripted_effects.txt deleted file mode 100644 index d2766d59..00000000 --- a/common/scripted_effects/00_scheme_scripted_effects.txt +++ /dev/null @@ -1,16850 +0,0 @@ -########################## -# Scheme Scripted Effects -########################## - -################################################## -# General Scheme Effects - -try_to_force_assign_character_to_random_agent_slot_effect = { - if = { - limit = { - $CHAR$ = { is_valid_as_agent_in_any_slot = $SCHEME$ } - } - force_assign_character_to_random_agent_slot_effect = { - SCHEME = $SCHEME$ - CHAR = $CHAR$ - YEARS = $YEARS$ - } - } -} - -force_assign_character_to_random_agent_slot_effect = { - $SCHEME$ = { - random_scheme_agent_slot = { - limit = { - is_filled = no - save_temporary_scope_as = slot_temp - $CHAR$ = { is_valid_as_agent_in_slot = scope:slot_temp } - } - save_scope_as = valid_slot - } - } - $CHAR$ = { - force_add_to_agent_slot = { - agent_slot = scope:valid_slot - years = $YEARS$ - } - } -} - -increment_breaches_with_message_effect = { - scope:owner = { - send_interface_toast = { - type = msg_scheme_breached - title = feed_message.t.scheme_breached - left_icon = scope:target - scope:scheme = { add_scheme_breach = 1 } - play_sound_effect = "event:/DLC/EP3/SFX/Stingers/Scheme_Rework/ep3_mx_sting_schemerework_scheme_suffering_breaches" - } - } -} - -################################################## -# Ending Effects - -# What percentage chance is there that a scheme will be discovered per month? -## tl;dr = generally, 10% of 100 - secrecy rating. So if you have 60% secrecy, that's a 4% chance per month. -hostile_scheme_monthly_discovery_chance_effect = { - # If we're in the first X months of a scheme, give a grace period. - if = { - limit = { - has_variable = secrecy_grace_period - var:secrecy_grace_period >= 1 - } - change_variable = { - name = secrecy_grace_period - add = -1 - } - } - # Otherwise we want to start checking for discovery. - else_if = { - # Without a spymaster, you can't discover schemes. - ## This isn't tooltipped for the person doing the scheming: communicating it (and when it turns on, and when it turns off) would be erratic and spammy, so we just let them think they're getting nice'n'lucky. - limit = { - scope:scheme = { - # Character - trigger_if = { - limit = { exists = scheme_target_character.host } - scheme_target_character.host = { save_temporary_scope_as = breach_host_temp } - } - # Title - trigger_else_if = { - limit = { exists = scheme_target_title.holder } - scheme_target_title.holder = { save_temporary_scope_as = breach_host_temp } - } - # Fallback - trigger_else = { always = no } - scope:breach_host_temp ?= { - # Second for Adventurers - trigger_if = { - limit = { has_government = landless_adventurer_government } - court_position:second_camp_officer ?= { save_temporary_scope_as = breach_maker_temp } - } - # Spymaster for everyone else - trigger_else = { - cp:councillor_spymaster ?= { save_temporary_scope_as = breach_maker_temp } - } - } - } - } - # Sort scopes. - ## Vs. titles. - if = { - limit = { exists = scope:target.holder } - scope:target.holder = { save_scope_as = target } - } - ## Vs. characters. - else = { - scope:target = { save_scope_as = target } - } - ## Nab the spymaster too. - scope:breach_maker_temp = { save_scope_as = spymaster } - # Alright, now we roll for discovery. - # Save chance for simple debugging - save_scope_value_as = { - name = discovery_chance - value = monthly_scheme_discovery_chance_value - } - ## ... if scope:target lives at scope:owner's court. - if = { - limit = { - scope:breach_host_temp = scope:owner - scope:owner != scope:target - NOT = { exists = scope:scheme.var:had_self_court_discovery } - } - random = { - chance = scope:discovery_chance - # Either increment breaches. - if = { - limit = { scheme_breaches >= scheme_breaches_about_to_hit_limit_value } - increment_breaches_with_message_effect = yes - } - # Or expose us generally. - else = { - add_scheme_breach = 1 - scope:owner = { play_sound_effect = "event:/DLC/EP3/SFX/Stingers/Scheme_Rework/ep3_mx_sting_schemerework_scheme_suffering_breaches" } - set_variable = { - name = had_self_court_discovery - value = yes - years = 3 - } - scope:owner = { - if = { - limit = { - scope:scheme = { is_savable_murder_scheme_trigger = yes } - } - trigger_event = hostile_scheme_discovery.4002 - } - else = { trigger_event = hostile_scheme_discovery.4001 } - } - # Flag that we're discovering something so that on-going events don't fire. - save_scope_value_as = { - name = discovery_event_happening - value = yes - } - } - } - } - ## ... otherwise they're at different courts. - else_if = { - limit = { - NOR = { - # You won't expose your own Scheme - scope:owner = scope:target - # Spymaster won't expose their own Scheme - scope:owner = scope:spymaster - # Spymaster won't expose *your* (liege's) Scheme - scope:owner = scope:spymaster.liege - # Spymaster won't expose a scheme if they are an agent of it - ## Secrecy is still relevant, you can still be discovered, just not on the monthly tick. - scheme_is_character_agent = scope:spymaster - } - } - # Roll to see whether we discover something. - random = { - chance = scope:discovery_chance - # If the scheme isn't exposed, then we do that first. - if = { - limit = { is_scheme_exposed = no } - # Increment our breaches. - increment_breaches_with_message_effect = yes - # Fire off an actual warning event. - scope:target.host ?= { trigger_event = hostile_scheme_discovery.2001 } - # Flag that we're discovering something so that on-going events don't fire. - save_scope_value_as = { - name = discovery_event_happening - value = yes - } - } - # Else, that means we've hit the limit for the scheme, so we discover and destroy it. - else_if = { - limit = { scheme_breaches >= scheme_breaches_about_to_hit_limit_value } - # Don't forget to increment breaches to max. - add_scheme_breach = 1 - scope:owner = { play_sound_effect = "event:/DLC/EP3/SFX/Stingers/Scheme_Rework/ep3_mx_sting_schemerework_scheme_suffering_breaches" } - # Fire off the correct event. - scope:target.host ?= { trigger_event = hostile_scheme_discovery.1002 } - # Flag that we're discovering something so that on-going events don't fire. - save_scope_value_as = { - name = discovery_event_happening - value = yes - } - } - # Otherwise, we want to discover an agent. - else = { - # Increment our breaches. - increment_breaches_with_message_effect = yes - # And reveal an agent, if we can. - if = { - limit = { - any_scheme_agent_character = { - is_alive = yes - agent_valid_to_be_discovered_by_spymaster = yes - } - } - ordered_scheme_agent_character = { - limit = { - is_alive = yes - agent_valid_to_be_discovered_by_spymaster = yes - } - # Get the least stealthy agent. - order_by = { - value = 100 - subtract = intrigue - } - save_scope_as = agent - } - # If we have a candidate, reveal them. - scope:target.host ?= { trigger_event = hostile_scheme_discovery.1001 } - # Flag that we're discovering something so that on-going events don't fire. - save_scope_value_as = { - name = discovery_event_happening - value = yes - } - } - } - } - } - } -} - -# Sort the ending for a scheme. -generic_scheme_process_ending_effect = { - # Grab our scopes. - save_scope_as = scheme - scheme_owner = { save_scope_as = owner } - ## Targets. - scheme_target_character ?= { save_scope_as = target } - scheme_target_culture ?= { save_scope_as = target } - scheme_target_faith ?= { save_scope_as = target } - scheme_target_title ?= { save_scope_as = target } - # Success roll. - random = { - chance = scheme_success_chance - custom_tooltip = $RESULTS_TOOLTIP$ - save_scope_value_as = { - name = scheme_successful - value = yes - } - # Interception saves. - ## Unique saves roll. - ### E.g., your dog flings itself in front of an assassin for you. - if = { - limit = { is_savable_murder_scheme_trigger = yes } - # We use a scripted effect so that mods can overwrite it without overwriting the whole block. - scheme_unique_interception_roll_effect = yes - } - ## Repeatable saves roll. - ### E.g., your bodyguard flings itself in front of an assassin for you. - if = { - limit = { is_savable_murder_scheme_trigger = yes } - random = { - chance = scope:target.scheme_intercept_repeatable_chance_total_value - save_scope_value_as = { - name = interception_repeatable - value = yes - } - } - } - } - # Secrecy roll. - ## We check this after an interception so that, if a successful scheme is intercepted, we can boost its success a little to compensate. - if = { - limit = { is_type_secret = yes } - ## First, determine our secrecy value. - save_scope_value_as = { - name = discovery_chance - value = { - value = 100 - subtract = scheme_secrecy - # Boost this up a bit if the scheme was intercepted. - if = { - limit = { - OR = { - exists = scope:interception_unique - exists = scope:interception_repeatable - } - } - add = -30 - } - # And make sure there's always _some_ risk. - min = 5 - } - } - random = { - chance = scope:discovery_chance - custom_tooltip = scheme_remain_secret_roll_tt - save_scope_value_as = { - name = scheme_discovered - value = yes - } - # Grab an exposer. - if = { - limit = { exists = scope:target.host } - scope:target.host = { save_scope_as = murder_exposer } - } - else = { - scope:target = { save_scope_as = murder_exposer } - } - # Set up assorted cosmetics for murders. - scope:owner = { - # Portraits. - save_scope_as = owner_to_reveal - # Plus a flavour scope we use. - random_memory = { - limit = { - has_memory_category = negative - has_memory_participant = scope:target - NOR = { # These read poorly - has_memory_type = became_rivals - has_memory_type = became_nemesis - } - } - save_scope_as = bad_memory - } - } - } - } - # Process ending on_actions. - ## Scheme intercepted by a unique flag, stopping a killing at the last moment. - if = { - limit = { exists = scope:interception_unique } - scheme_owner = { - trigger_event = { on_action = pick_unique_murder_intercept_on_action } - } - } - ## Scheme intercepted by a repeatable flag, stopping a killing at the last moment. - else_if = { - limit = { exists = scope:interception_repeatable } - scheme_owner = { - trigger_event = { on_action = pick_repeatable_murder_intercept_on_action } - } - } - ## Scheme successful. - else_if = { - limit = { exists = scope:scheme_successful } - # If we have a contract conclusion event to fire, fire it. - if = { - limit = { exists = scope:contract_end_success } - scheme_owner = { - trigger_event = { - saved_event_id = scope:contract_end_success - delayed = yes - } - } - } - task_contract ?= { complete_task_contract = success_standard } - trigger_event = { $SUCCESS_EVENT_TYPE$ = $SUCCESS_EVENT_ID$ } - scope:owner = { - play_sound_effect = "event:/DLC/EP3/SFX/Stingers/Scheme_Rework/ep3_mx_sting_schemerework_positive" - mandala_trickster_increment_successful_schemes_effect = yes - } - } - ## Scheme failed. - else = { - # If we have a contract conclusion event to fire, fire it. - if = { - limit = { exists = scope:contract_end_failure } - scheme_owner = { - trigger_event = { - saved_event_id = scope:contract_end_failure - delayed = yes - } - } - } - task_contract ?= { complete_task_contract = failure_standard } - trigger_event = { $FAILURE_EVENT_TYPE$ = $FAILURE_EVENT_ID$ } - scope:owner = { play_sound_effect = "event:/DLC/EP3/SFX/Stingers/Scheme_Rework/ep3_mx_sting_schemerework_negative" } - } -} - -# Roll to see if a one-off factor stops an otherwise-successful murder scheme. -scheme_unique_interception_roll_effect = { - scope:target = { - # These are ordered highest % to lowest %: remember to adjust their position in the list if you adjust their percentage likelihood. - ## 50% — Saved by soulmate's sacrifice (boosted). - if = { - limit = { - has_perk = mortal_adoration_perk - any_relation = { - type = soulmate - available_lover_to_sacrifice_in_murder_trigger = { TARGET = scope:target } - } - } - random = { - chance = 50 - save_scope_value_as = { - name = interception_unique - value = flag:sacrifice_lover - } - } - } - ## 45% — Family Connections dynasty legacy. - else_if = { - limit = { - dynasty ?= { has_dynasty_perk = guile_legacy_5 } - NOT = { has_character_flag = guile_legacy_5_save_used } - } - random = { - chance = 45 - save_scope_value_as = { - name = interception_unique - value = flag:family_connections_dynleg - } - } - } - ## 30% — Saved by lover's sacrifice (boosted). - else_if = { - limit = { - has_perk = mortal_adoration_perk - any_relation = { - type = lover - available_lover_to_sacrifice_in_murder_trigger = { TARGET = scope:target } - } - } - random = { - chance = 30 - save_scope_value_as = { - name = interception_unique - value = flag:sacrifice_lover - } - } - } - ## 20% — Target's warhorse saves them from hired thugs - else_if = { - limit = { owns_story_of_type = story_cycle_martial_lifestyle_warhorse } - random = { - chance = 20 - save_scope_value_as = { - name = interception_unique - value = flag:sacrifice_warhorse - } - } - } - ## 20% — Saved by prison pet. - else_if = { - limit = { - is_imprisoned = yes - has_variable = prison_pet_variable - } - random = { - chance = 20 - save_scope_value_as = { - name = interception_unique - value = flag:sacrifice_pet_prison - } - } - } - ## 20% — Saved by soulmate's sacrifice (regular). - else_if = { - limit = { - any_relation = { - type = soulmate - available_lover_to_sacrifice_in_murder_trigger = { TARGET = scope:target } - } - } - random = { - chance = 20 - save_scope_value_as = { - name = interception_unique - value = flag:sacrifice_lover - } - } - } - ## 10% — Saved by lover's sacrifice (regular). - else_if = { - limit = { - any_relation = { - type = lover - available_lover_to_sacrifice_in_murder_trigger = { TARGET = scope:target } - } - } - random = { - chance = 10 - save_scope_value_as = { - name = interception_unique - value = flag:sacrifice_lover - } - } - } - ## 06% — Saved by cat. - ### Man's _true_ best friend. - else_if = { - limit = { - any_owned_story = { type = story_cycle_pet_cat } - } - random = { - chance = 6 - save_scope_value_as = { - name = interception_unique - value = flag:sacrifice_cat - } - } - } - ## 05% — Saved by dog. - else_if = { - limit = { - any_owned_story = { type = story_cycle_pet_dog } - } - random = { - chance = 5 - save_scope_value_as = { - name = interception_unique - value = flag:sacrifice_dog - } - } - } - ## 03% — Saved by due to bilinguality. - else_if = { - limit = { - knows_language_of_culture = scope:owner.culture - NOR = { - culture = { has_same_culture_language = scope:owner.culture } - AND = { - has_variable_list = bilingual_murder_saves - is_target_in_variable_list = { - name = bilingual_murder_saves - target = scope:owner.culture - } - } - } - } - random = { - chance = 3 - save_scope_value_as = { - name = interception_unique - value = flag:knowledge_bilingual - } - } - } - ## 01% — Saved due to mindbreak character. - else_if = { - limit = { - has_variable = mind_broken_victim - var:mind_broken_victim = { - is_alive = yes - NOT = { has_trait = incapable } - } - } - random = { - chance = 1 - save_scope_value_as = { - name = interception_unique - value = flag:sacrifice_mindbreak - } - } - } - ## 00.5% — Saved by having an artefact. - ### Special ridiculously low chance because otherwise this event, which has fun loc, will give _every_ character in the title a 1% chance to nullify any scheme against them. - else_if = { - limit = { - is_available_healthy_adult = yes - # Gotta be on land. - exists = location.barony - # And have a suitable artefact. - ## Which they probably will. - ### Statistically almost always, in fact. - has_any_artifact = yes - any_character_artifact = { - NOT = { has_variable = saved_from_assassination } - } - } - # Don't tell anyone this is even a possibility, as otherwise it's gonna look weird in the tooltips. - hidden_effect = { - random = { - chance = 1 - # And then reduce the chance even further. - random = { - chance = 50 - save_scope_value_as = { - name = interception_unique - value = flag:sacrifice_artefact - } - } - } - } - } - } -} - -# Reset a scoped scheme, including nixing any modifiers we don't want it to keep. -reset_failed_scheme_effect = { - reset_scheme_progress = yes - if = { - limit = { - has_scheme_modifier = scheme_end_buff_t2_modifier - } - remove_scheme_modifier = scheme_end_buff_t2_modifier - } - if = { - limit = { - has_scheme_modifier = scheme_end_buff_t3_modifier - } - remove_scheme_modifier = scheme_end_buff_t3_modifier - } - if = { - limit = { - has_scheme_modifier = scheme_end_buff_t4_modifier - } - remove_scheme_modifier = scheme_end_buff_t4_modifier - } -} - -################################################## -# General Critical Moment Effects - -# Sets up which agents are valid to be added to this scheme, then picks which two to suggest. -## We make a bazillion variants here because it's the easiest solution without having to have a dozen+ empty parameters in a single effect. -roll_critical_moment_options_02_agent_types_effect = { - save_scope_as = scheme - scope:scheme.task_contract ?= { save_scope_as = task_contract } - save_scope_value_as = { - name = follow_up_event - value = event_id:$OUTPUT_EVENT$ - } - if = { - limit = { - any_scheme_agent_slot = { count <= character_max_scheme_agents_value } - scope:scheme = { - NOR = { - has_variable = choice_a - has_variable = choice_b - } - } - } - # First, let's determine which types we're using and which we ain't. - ## Agent type 01. - save_scope_value_as = { - name = agent_type_01 - value = flag:$AGENT_TYPE_01$ - } - ## Agent type 02. - save_scope_value_as = { - name = agent_type_02 - value = flag:$AGENT_TYPE_02$ - } - # Then we roll for who's getting picked. - ## For var:choice_a. - random_list = { - # Agent type 01. - 0 = { - trigger = { - NOT = { scope:agent_type_01 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_01$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_01$ - } - modifier = { - add = $AGENT_TYPE_01_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_01$ } - } - } - # Agent type 02. - 0 = { - trigger = { - NOT = { scope:agent_type_02 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_02$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_02$ - } - modifier = { - add = $AGENT_TYPE_02_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_02$ } - } - } - } - ## And var:choice_b. - random_list = { - # Agent type 01. - 0 = { - trigger = { - NOR = { - scope:agent_type_01 = flag:empty - var:choice_a = flag:$AGENT_TYPE_01$ - } - scheme_owner = { can_have_$AGENT_TYPE_01$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_01$ - } - modifier = { - add = $AGENT_TYPE_01_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_01$ } - } - } - # Agent type 02. - 0 = { - trigger = { - NOR = { - scope:agent_type_02 = flag:empty - var:choice_a = flag:$AGENT_TYPE_02$ - } - scheme_owner = { can_have_$AGENT_TYPE_02$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_02$ - } - modifier = { - add = $AGENT_TYPE_02_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_02$ } - } - } - } - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0001 } - } -} -roll_critical_moment_options_03_agent_types_effect = { - save_scope_as = scheme - scope:scheme.task_contract ?= { save_scope_as = task_contract } - save_scope_value_as = { - name = follow_up_event - value = event_id:$OUTPUT_EVENT$ - } - if = { - limit = { - any_scheme_agent_slot = { count < character_max_scheme_agents_value } - scope:scheme = { - NOR = { - has_variable = choice_a - has_variable = choice_b - } - } - } - # First, let's determine which types we're using and which we ain't. - ## Agent type 01. - save_scope_value_as = { - name = agent_type_01 - value = flag:$AGENT_TYPE_01$ - } - ## Agent type 02. - save_scope_value_as = { - name = agent_type_02 - value = flag:$AGENT_TYPE_02$ - } - ## Agent type 03. - save_scope_value_as = { - name = agent_type_03 - value = flag:$AGENT_TYPE_03$ - } - # Then we roll for who's getting picked. - ## For var:choice_a. - random_list = { - # Agent type 01. - 0 = { - trigger = { - NOT = { scope:agent_type_01 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_01$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_01$ - } - modifier = { - add = $AGENT_TYPE_01_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_01$ } - } - } - # Agent type 02. - 0 = { - trigger = { - NOT = { scope:agent_type_02 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_02$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_02$ - } - modifier = { - add = $AGENT_TYPE_02_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_02$ } - } - } - # Agent type 03. - 0 = { - trigger = { - NOT = { scope:agent_type_03 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_03$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_03$ - } - modifier = { - add = $AGENT_TYPE_03_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_03$ } - } - } - } - ## And var:choice_b. - random_list = { - # Agent type 01. - 0 = { - trigger = { - NOR = { - scope:agent_type_01 = flag:empty - var:choice_a = flag:$AGENT_TYPE_01$ - } - scheme_owner = { can_have_$AGENT_TYPE_01$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_01$ - } - modifier = { - add = $AGENT_TYPE_01_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_01$ } - } - } - # Agent type 02. - 0 = { - trigger = { - NOR = { - scope:agent_type_02 = flag:empty - var:choice_a = flag:$AGENT_TYPE_02$ - } - scheme_owner = { can_have_$AGENT_TYPE_02$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_02$ - } - modifier = { - add = $AGENT_TYPE_02_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_02$ } - } - } - # Agent type 03. - 0 = { - trigger = { - NOR = { - scope:agent_type_03 = flag:empty - var:choice_a = flag:$AGENT_TYPE_03$ - } - scheme_owner = { can_have_$AGENT_TYPE_03$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_03$ - } - modifier = { - add = $AGENT_TYPE_03_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_03$ } - } - } - } - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0001 } - } -} -roll_critical_moment_options_04_agent_types_effect = { - save_scope_as = scheme - scope:scheme.task_contract ?= { save_scope_as = task_contract } - save_scope_value_as = { - name = follow_up_event - value = event_id:$OUTPUT_EVENT$ - } - if = { - limit = { - any_scheme_agent_slot = { count < character_max_scheme_agents_value } - scope:scheme = { - NOR = { - has_variable = choice_a - has_variable = choice_b - } - } - } - # First, let's determine which types we're using and which we ain't. - ## Agent type 01. - save_scope_value_as = { - name = agent_type_01 - value = flag:$AGENT_TYPE_01$ - } - ## Agent type 02. - save_scope_value_as = { - name = agent_type_02 - value = flag:$AGENT_TYPE_02$ - } - ## Agent type 03. - save_scope_value_as = { - name = agent_type_03 - value = flag:$AGENT_TYPE_03$ - } - ## Agent type 04. - save_scope_value_as = { - name = agent_type_04 - value = flag:$AGENT_TYPE_04$ - } - # Then we roll for who's getting picked. - ## For var:choice_a. - random_list = { - # Agent type 01. - 0 = { - trigger = { - NOT = { scope:agent_type_01 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_01$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_01$ - } - modifier = { - add = $AGENT_TYPE_01_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_01$ } - } - } - # Agent type 02. - 0 = { - trigger = { - NOT = { scope:agent_type_02 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_02$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_02$ - } - modifier = { - add = $AGENT_TYPE_02_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_02$ } - } - } - # Agent type 03. - 0 = { - trigger = { - NOT = { scope:agent_type_03 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_03$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_03$ - } - modifier = { - add = $AGENT_TYPE_03_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_03$ } - } - } - # Agent type 04. - 0 = { - trigger = { - NOT = { scope:agent_type_04 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_04$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_04$ - } - modifier = { - add = $AGENT_TYPE_04_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_04$ } - } - } - } - ## And var:choice_b. - random_list = { - # Agent type 01. - 0 = { - trigger = { - NOR = { - scope:agent_type_01 = flag:empty - var:choice_a = flag:$AGENT_TYPE_01$ - } - scheme_owner = { can_have_$AGENT_TYPE_01$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_01$ - } - modifier = { - add = $AGENT_TYPE_01_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_01$ } - } - } - # Agent type 02. - 0 = { - trigger = { - NOR = { - scope:agent_type_02 = flag:empty - var:choice_a = flag:$AGENT_TYPE_02$ - } - scheme_owner = { can_have_$AGENT_TYPE_02$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_02$ - } - modifier = { - add = $AGENT_TYPE_02_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_02$ } - } - } - # Agent type 03. - 0 = { - trigger = { - NOR = { - scope:agent_type_03 = flag:empty - var:choice_a = flag:$AGENT_TYPE_03$ - } - scheme_owner = { can_have_$AGENT_TYPE_03$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_03$ - } - modifier = { - add = $AGENT_TYPE_03_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_03$ } - } - } - # Agent type 04. - 0 = { - trigger = { - NOR = { - scope:agent_type_04 = flag:empty - var:choice_a = flag:$AGENT_TYPE_04$ - } - scheme_owner = { can_have_$AGENT_TYPE_04$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_04$ - } - modifier = { - add = $AGENT_TYPE_04_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_04$ } - } - } - } - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0001 } - } -} -roll_critical_moment_options_05_agent_types_effect = { - save_scope_as = scheme - scope:scheme.task_contract ?= { save_scope_as = task_contract } - save_scope_value_as = { - name = follow_up_event - value = event_id:$OUTPUT_EVENT$ - } - if = { - limit = { - any_scheme_agent_slot = { count < character_max_scheme_agents_value } - scope:scheme = { - NOR = { - has_variable = choice_a - has_variable = choice_b - } - } - } - # First, let's determine which types we're using and which we ain't. - ## Agent type 01. - save_scope_value_as = { - name = agent_type_01 - value = flag:$AGENT_TYPE_01$ - } - ## Agent type 02. - save_scope_value_as = { - name = agent_type_02 - value = flag:$AGENT_TYPE_02$ - } - ## Agent type 03. - save_scope_value_as = { - name = agent_type_03 - value = flag:$AGENT_TYPE_03$ - } - ## Agent type 04. - save_scope_value_as = { - name = agent_type_04 - value = flag:$AGENT_TYPE_04$ - } - ## Agent type 05. - save_scope_value_as = { - name = agent_type_05 - value = flag:$AGENT_TYPE_05$ - } - # Then we roll for who's getting picked. - ## For var:choice_a. - random_list = { - # Agent type 01. - 0 = { - trigger = { - NOT = { scope:agent_type_01 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_01$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_01$ - } - modifier = { - add = $AGENT_TYPE_01_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_01$ } - } - } - # Agent type 02. - 0 = { - trigger = { - NOT = { scope:agent_type_02 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_02$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_02$ - } - modifier = { - add = $AGENT_TYPE_02_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_02$ } - } - } - # Agent type 03. - 0 = { - trigger = { - NOT = { scope:agent_type_03 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_03$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_03$ - } - modifier = { - add = $AGENT_TYPE_03_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_03$ } - } - } - # Agent type 04. - 0 = { - trigger = { - NOT = { scope:agent_type_04 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_04$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_04$ - } - modifier = { - add = $AGENT_TYPE_04_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_04$ } - } - } - # Agent type 05. - 0 = { - trigger = { - NOT = { scope:agent_type_05 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_05$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_05$ - } - modifier = { - add = $AGENT_TYPE_05_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_05$ } - } - } - } - ## And var:choice_b. - random_list = { - # Agent type 01. - 0 = { - trigger = { - NOR = { - scope:agent_type_01 = flag:empty - var:choice_a = flag:$AGENT_TYPE_01$ - } - scheme_owner = { can_have_$AGENT_TYPE_01$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_01$ - } - modifier = { - add = $AGENT_TYPE_01_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_01$ } - } - } - # Agent type 02. - 0 = { - trigger = { - NOR = { - scope:agent_type_02 = flag:empty - var:choice_a = flag:$AGENT_TYPE_02$ - } - scheme_owner = { can_have_$AGENT_TYPE_02$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_02$ - } - modifier = { - add = $AGENT_TYPE_02_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_02$ } - } - } - # Agent type 03. - 0 = { - trigger = { - NOR = { - scope:agent_type_03 = flag:empty - var:choice_a = flag:$AGENT_TYPE_03$ - } - scheme_owner = { can_have_$AGENT_TYPE_03$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_03$ - } - modifier = { - add = $AGENT_TYPE_03_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_03$ } - } - } - # Agent type 04. - 0 = { - trigger = { - NOR = { - scope:agent_type_04 = flag:empty - var:choice_a = flag:$AGENT_TYPE_04$ - } - scheme_owner = { can_have_$AGENT_TYPE_04$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_04$ - } - modifier = { - add = $AGENT_TYPE_04_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_04$ } - } - } - # Agent type 05. - 0 = { - trigger = { - NOR = { - scope:agent_type_05 = flag:empty - var:choice_a = flag:$AGENT_TYPE_05$ - } - scheme_owner = { can_have_$AGENT_TYPE_05$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_05$ - } - modifier = { - add = $AGENT_TYPE_05_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_05$ } - } - } - } - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0001 } - } -} -roll_critical_moment_options_06_agent_types_effect = { - save_scope_as = scheme - scope:scheme.task_contract ?= { save_scope_as = task_contract } - save_scope_value_as = { - name = follow_up_event - value = event_id:$OUTPUT_EVENT$ - } - if = { - limit = { - any_scheme_agent_slot = { count < character_max_scheme_agents_value } - scope:scheme = { - NOR = { - has_variable = choice_a - has_variable = choice_b - } - } - } - # First, let's determine which types we're using and which we ain't. - ## Agent type 01. - save_scope_value_as = { - name = agent_type_01 - value = flag:$AGENT_TYPE_01$ - } - ## Agent type 02. - save_scope_value_as = { - name = agent_type_02 - value = flag:$AGENT_TYPE_02$ - } - ## Agent type 03. - save_scope_value_as = { - name = agent_type_03 - value = flag:$AGENT_TYPE_03$ - } - ## Agent type 04. - save_scope_value_as = { - name = agent_type_04 - value = flag:$AGENT_TYPE_04$ - } - ## Agent type 05. - save_scope_value_as = { - name = agent_type_05 - value = flag:$AGENT_TYPE_05$ - } - ## Agent type 06. - save_scope_value_as = { - name = agent_type_06 - value = flag:$AGENT_TYPE_06$ - } - # Then we roll for who's getting picked. - ## For var:choice_a. - random_list = { - # Agent type 01. - 0 = { - trigger = { - NOT = { scope:agent_type_01 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_01$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_01$ - } - modifier = { - add = $AGENT_TYPE_01_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_01$ } - } - } - # Agent type 02. - 0 = { - trigger = { - NOT = { scope:agent_type_02 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_02$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_02$ - } - modifier = { - add = $AGENT_TYPE_02_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_02$ } - } - } - # Agent type 03. - 0 = { - trigger = { - NOT = { scope:agent_type_03 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_03$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_03$ - } - modifier = { - add = $AGENT_TYPE_03_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_03$ } - } - } - # Agent type 04. - 0 = { - trigger = { - NOT = { scope:agent_type_04 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_04$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_04$ - } - modifier = { - add = $AGENT_TYPE_04_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_04$ } - } - } - # Agent type 05. - 0 = { - trigger = { - NOT = { scope:agent_type_05 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_05$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_05$ - } - modifier = { - add = $AGENT_TYPE_05_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_05$ } - } - } - # Agent type 06. - 0 = { - trigger = { - NOT = { scope:agent_type_06 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_06$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_06$ - } - modifier = { - add = $AGENT_TYPE_06_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_06$ } - } - } - } - ## And var:choice_b. - random_list = { - # Agent type 01. - 0 = { - trigger = { - NOR = { - scope:agent_type_01 = flag:empty - var:choice_a = flag:$AGENT_TYPE_01$ - } - scheme_owner = { can_have_$AGENT_TYPE_01$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_01$ - } - modifier = { - add = $AGENT_TYPE_01_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_01$ } - } - } - # Agent type 02. - 0 = { - trigger = { - NOR = { - scope:agent_type_02 = flag:empty - var:choice_a = flag:$AGENT_TYPE_02$ - } - scheme_owner = { can_have_$AGENT_TYPE_02$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_02$ - } - modifier = { - add = $AGENT_TYPE_02_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_02$ } - } - } - # Agent type 03. - 0 = { - trigger = { - NOR = { - scope:agent_type_03 = flag:empty - var:choice_a = flag:$AGENT_TYPE_03$ - } - scheme_owner = { can_have_$AGENT_TYPE_03$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_03$ - } - modifier = { - add = $AGENT_TYPE_03_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_03$ } - } - } - # Agent type 04. - 0 = { - trigger = { - NOR = { - scope:agent_type_04 = flag:empty - var:choice_a = flag:$AGENT_TYPE_04$ - } - scheme_owner = { can_have_$AGENT_TYPE_04$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_04$ - } - modifier = { - add = $AGENT_TYPE_04_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_04$ } - } - } - # Agent type 05. - 0 = { - trigger = { - NOR = { - scope:agent_type_05 = flag:empty - var:choice_a = flag:$AGENT_TYPE_05$ - } - scheme_owner = { can_have_$AGENT_TYPE_05$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_05$ - } - modifier = { - add = $AGENT_TYPE_05_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_05$ } - } - } - # Agent type 06. - 0 = { - trigger = { - NOR = { - scope:agent_type_06 = flag:empty - var:choice_a = flag:$AGENT_TYPE_06$ - } - scheme_owner = { can_have_$AGENT_TYPE_06$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_06$ - } - modifier = { - add = $AGENT_TYPE_06_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_06$ } - } - } - } - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0001 } - } -} -roll_critical_moment_options_07_agent_types_effect = { - save_scope_as = scheme - scope:scheme.task_contract ?= { save_scope_as = task_contract } - save_scope_value_as = { - name = follow_up_event - value = event_id:$OUTPUT_EVENT$ - } - if = { - limit = { - any_scheme_agent_slot = { count < character_max_scheme_agents_value } - scope:scheme = { - NOR = { - has_variable = choice_a - has_variable = choice_b - } - } - } - # First, let's determine which types we're using and which we ain't. - ## Agent type 01. - save_scope_value_as = { - name = agent_type_01 - value = flag:$AGENT_TYPE_01$ - } - ## Agent type 02. - save_scope_value_as = { - name = agent_type_02 - value = flag:$AGENT_TYPE_02$ - } - ## Agent type 03. - save_scope_value_as = { - name = agent_type_03 - value = flag:$AGENT_TYPE_03$ - } - ## Agent type 04. - save_scope_value_as = { - name = agent_type_04 - value = flag:$AGENT_TYPE_04$ - } - ## Agent type 05. - save_scope_value_as = { - name = agent_type_05 - value = flag:$AGENT_TYPE_05$ - } - ## Agent type 06. - save_scope_value_as = { - name = agent_type_06 - value = flag:$AGENT_TYPE_06$ - } - ## Agent type 07. - save_scope_value_as = { - name = agent_type_07 - value = flag:$AGENT_TYPE_07$ - } - # Then we roll for who's getting picked. - ## For var:choice_a. - random_list = { - # Agent type 01. - 0 = { - trigger = { - NOT = { scope:agent_type_01 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_01$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_01$ - } - modifier = { - add = $AGENT_TYPE_01_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_01$ } - } - } - # Agent type 02. - 0 = { - trigger = { - NOT = { scope:agent_type_02 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_02$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_02$ - } - modifier = { - add = $AGENT_TYPE_02_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_02$ } - } - } - # Agent type 03. - 0 = { - trigger = { - NOT = { scope:agent_type_03 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_03$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_03$ - } - modifier = { - add = $AGENT_TYPE_03_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_03$ } - } - } - # Agent type 04. - 0 = { - trigger = { - NOT = { scope:agent_type_04 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_04$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_04$ - } - modifier = { - add = $AGENT_TYPE_04_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_04$ } - } - } - # Agent type 05. - 0 = { - trigger = { - NOT = { scope:agent_type_05 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_05$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_05$ - } - modifier = { - add = $AGENT_TYPE_05_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_05$ } - } - } - # Agent type 06. - 0 = { - trigger = { - NOT = { scope:agent_type_06 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_06$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_06$ - } - modifier = { - add = $AGENT_TYPE_06_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_06$ } - } - } - # Agent type 07. - 0 = { - trigger = { - NOT = { scope:agent_type_07 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_07$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_07$ - } - modifier = { - add = $AGENT_TYPE_07_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_07$ } - } - } - } - ## And var:choice_b. - random_list = { - # Agent type 01. - 0 = { - trigger = { - NOR = { - scope:agent_type_01 = flag:empty - var:choice_a = flag:$AGENT_TYPE_01$ - } - scheme_owner = { can_have_$AGENT_TYPE_01$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_01$ - } - modifier = { - add = $AGENT_TYPE_01_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_01$ } - } - } - # Agent type 02. - 0 = { - trigger = { - NOR = { - scope:agent_type_02 = flag:empty - var:choice_a = flag:$AGENT_TYPE_02$ - } - scheme_owner = { can_have_$AGENT_TYPE_02$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_02$ - } - modifier = { - add = $AGENT_TYPE_02_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_02$ } - } - } - # Agent type 03. - 0 = { - trigger = { - NOR = { - scope:agent_type_03 = flag:empty - var:choice_a = flag:$AGENT_TYPE_03$ - } - scheme_owner = { can_have_$AGENT_TYPE_03$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_03$ - } - modifier = { - add = $AGENT_TYPE_03_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_03$ } - } - } - # Agent type 04. - 0 = { - trigger = { - NOR = { - scope:agent_type_04 = flag:empty - var:choice_a = flag:$AGENT_TYPE_04$ - } - scheme_owner = { can_have_$AGENT_TYPE_04$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_04$ - } - modifier = { - add = $AGENT_TYPE_04_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_04$ } - } - } - # Agent type 05. - 0 = { - trigger = { - NOR = { - scope:agent_type_05 = flag:empty - var:choice_a = flag:$AGENT_TYPE_05$ - } - scheme_owner = { can_have_$AGENT_TYPE_05$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_05$ - } - modifier = { - add = $AGENT_TYPE_05_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_05$ } - } - } - # Agent type 06. - 0 = { - trigger = { - NOR = { - scope:agent_type_06 = flag:empty - var:choice_a = flag:$AGENT_TYPE_06$ - } - scheme_owner = { can_have_$AGENT_TYPE_06$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_06$ - } - modifier = { - add = $AGENT_TYPE_06_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_06$ } - } - } - # Agent type 07. - 0 = { - trigger = { - NOR = { - scope:agent_type_07 = flag:empty - var:choice_a = flag:$AGENT_TYPE_07$ - } - scheme_owner = { can_have_$AGENT_TYPE_07$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_07$ - } - modifier = { - add = $AGENT_TYPE_07_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_07$ } - } - } - } - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0001 } - } -} -roll_critical_moment_options_08_agent_types_effect = { - save_scope_as = scheme - scope:scheme.task_contract ?= { save_scope_as = task_contract } - save_scope_value_as = { - name = follow_up_event - value = event_id:$OUTPUT_EVENT$ - } - if = { - limit = { - any_scheme_agent_slot = { count < character_max_scheme_agents_value } - scope:scheme = { - NOR = { - has_variable = choice_a - has_variable = choice_b - } - } - } - # First, let's determine which types we're using and which we ain't. - ## Agent type 01. - save_scope_value_as = { - name = agent_type_01 - value = flag:$AGENT_TYPE_01$ - } - ## Agent type 02. - save_scope_value_as = { - name = agent_type_02 - value = flag:$AGENT_TYPE_02$ - } - ## Agent type 03. - save_scope_value_as = { - name = agent_type_03 - value = flag:$AGENT_TYPE_03$ - } - ## Agent type 04. - save_scope_value_as = { - name = agent_type_04 - value = flag:$AGENT_TYPE_04$ - } - ## Agent type 05. - save_scope_value_as = { - name = agent_type_05 - value = flag:$AGENT_TYPE_05$ - } - ## Agent type 06. - save_scope_value_as = { - name = agent_type_06 - value = flag:$AGENT_TYPE_06$ - } - ## Agent type 07. - save_scope_value_as = { - name = agent_type_07 - value = flag:$AGENT_TYPE_07$ - } - ## Agent type 08. - save_scope_value_as = { - name = agent_type_08 - value = flag:$AGENT_TYPE_08$ - } - # Then we roll for who's getting picked. - ## For var:choice_a. - random_list = { - # Agent type 01. - 0 = { - trigger = { - NOT = { scope:agent_type_01 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_01$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_01$ - } - modifier = { - add = $AGENT_TYPE_01_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_01$ } - } - } - # Agent type 02. - 0 = { - trigger = { - NOT = { scope:agent_type_02 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_02$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_02$ - } - modifier = { - add = $AGENT_TYPE_02_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_02$ } - } - } - # Agent type 03. - 0 = { - trigger = { - NOT = { scope:agent_type_03 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_03$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_03$ - } - modifier = { - add = $AGENT_TYPE_03_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_03$ } - } - } - # Agent type 04. - 0 = { - trigger = { - NOT = { scope:agent_type_04 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_04$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_04$ - } - modifier = { - add = $AGENT_TYPE_04_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_04$ } - } - } - # Agent type 05. - 0 = { - trigger = { - NOT = { scope:agent_type_05 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_05$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_05$ - } - modifier = { - add = $AGENT_TYPE_05_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_05$ } - } - } - # Agent type 06. - 0 = { - trigger = { - NOT = { scope:agent_type_06 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_06$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_06$ - } - modifier = { - add = $AGENT_TYPE_06_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_06$ } - } - } - # Agent type 07. - 0 = { - trigger = { - NOT = { scope:agent_type_07 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_07$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_07$ - } - modifier = { - add = $AGENT_TYPE_07_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_07$ } - } - } - # Agent type 08. - 0 = { - trigger = { - NOT = { scope:agent_type_08 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_08$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_08$ - } - modifier = { - add = $AGENT_TYPE_08_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_08$ } - } - } - } - ## And var:choice_b. - random_list = { - # Agent type 01. - 0 = { - trigger = { - NOR = { - scope:agent_type_01 = flag:empty - var:choice_a = flag:$AGENT_TYPE_01$ - } - scheme_owner = { can_have_$AGENT_TYPE_01$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_01$ - } - modifier = { - add = $AGENT_TYPE_01_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_01$ } - } - } - # Agent type 02. - 0 = { - trigger = { - NOR = { - scope:agent_type_02 = flag:empty - var:choice_a = flag:$AGENT_TYPE_02$ - } - scheme_owner = { can_have_$AGENT_TYPE_02$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_02$ - } - modifier = { - add = $AGENT_TYPE_02_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_02$ } - } - } - # Agent type 03. - 0 = { - trigger = { - NOR = { - scope:agent_type_03 = flag:empty - var:choice_a = flag:$AGENT_TYPE_03$ - } - scheme_owner = { can_have_$AGENT_TYPE_03$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_03$ - } - modifier = { - add = $AGENT_TYPE_03_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_03$ } - } - } - # Agent type 04. - 0 = { - trigger = { - NOR = { - scope:agent_type_04 = flag:empty - var:choice_a = flag:$AGENT_TYPE_04$ - } - scheme_owner = { can_have_$AGENT_TYPE_04$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_04$ - } - modifier = { - add = $AGENT_TYPE_04_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_04$ } - } - } - # Agent type 05. - 0 = { - trigger = { - NOR = { - scope:agent_type_05 = flag:empty - var:choice_a = flag:$AGENT_TYPE_05$ - } - scheme_owner = { can_have_$AGENT_TYPE_05$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_05$ - } - modifier = { - add = $AGENT_TYPE_05_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_05$ } - } - } - # Agent type 06. - 0 = { - trigger = { - NOR = { - scope:agent_type_06 = flag:empty - var:choice_a = flag:$AGENT_TYPE_06$ - } - scheme_owner = { can_have_$AGENT_TYPE_06$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_06$ - } - modifier = { - add = $AGENT_TYPE_06_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_06$ } - } - } - # Agent type 07. - 0 = { - trigger = { - NOR = { - scope:agent_type_07 = flag:empty - var:choice_a = flag:$AGENT_TYPE_07$ - } - scheme_owner = { can_have_$AGENT_TYPE_07$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_07$ - } - modifier = { - add = $AGENT_TYPE_07_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_07$ } - } - } - # Agent type 08. - 0 = { - trigger = { - NOR = { - scope:agent_type_08 = flag:empty - var:choice_a = flag:$AGENT_TYPE_08$ - } - scheme_owner = { can_have_$AGENT_TYPE_08$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_08$ - } - modifier = { - add = $AGENT_TYPE_08_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_08$ } - } - } - } - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0001 } - } -} -roll_critical_moment_options_09_agent_types_effect = { - save_scope_as = scheme - scope:scheme.task_contract ?= { save_scope_as = task_contract } - save_scope_value_as = { - name = follow_up_event - value = event_id:$OUTPUT_EVENT$ - } - if = { - limit = { - any_scheme_agent_slot = { count < character_max_scheme_agents_value } - scope:scheme = { - NOR = { - has_variable = choice_a - has_variable = choice_b - } - } - } - # First, let's determine which types we're using and which we ain't. - ## Agent type 01. - save_scope_value_as = { - name = agent_type_01 - value = flag:$AGENT_TYPE_01$ - } - ## Agent type 02. - save_scope_value_as = { - name = agent_type_02 - value = flag:$AGENT_TYPE_02$ - } - ## Agent type 03. - save_scope_value_as = { - name = agent_type_03 - value = flag:$AGENT_TYPE_03$ - } - ## Agent type 04. - save_scope_value_as = { - name = agent_type_04 - value = flag:$AGENT_TYPE_04$ - } - ## Agent type 05. - save_scope_value_as = { - name = agent_type_05 - value = flag:$AGENT_TYPE_05$ - } - ## Agent type 06. - save_scope_value_as = { - name = agent_type_06 - value = flag:$AGENT_TYPE_06$ - } - ## Agent type 07. - save_scope_value_as = { - name = agent_type_07 - value = flag:$AGENT_TYPE_07$ - } - ## Agent type 08. - save_scope_value_as = { - name = agent_type_08 - value = flag:$AGENT_TYPE_08$ - } - ## Agent type 09. - save_scope_value_as = { - name = agent_type_09 - value = flag:$AGENT_TYPE_09$ - } - # Then we roll for who's getting picked. - ## For var:choice_a. - random_list = { - # Agent type 01. - 0 = { - trigger = { - NOT = { scope:agent_type_01 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_01$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_01$ - } - modifier = { - add = $AGENT_TYPE_01_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_01$ } - } - } - # Agent type 02. - 0 = { - trigger = { - NOT = { scope:agent_type_02 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_02$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_02$ - } - modifier = { - add = $AGENT_TYPE_02_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_02$ } - } - } - # Agent type 03. - 0 = { - trigger = { - NOT = { scope:agent_type_03 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_03$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_03$ - } - modifier = { - add = $AGENT_TYPE_03_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_03$ } - } - } - # Agent type 04. - 0 = { - trigger = { - NOT = { scope:agent_type_04 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_04$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_04$ - } - modifier = { - add = $AGENT_TYPE_04_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_04$ } - } - } - # Agent type 05. - 0 = { - trigger = { - NOT = { scope:agent_type_05 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_05$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_05$ - } - modifier = { - add = $AGENT_TYPE_05_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_05$ } - } - } - # Agent type 06. - 0 = { - trigger = { - NOT = { scope:agent_type_06 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_06$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_06$ - } - modifier = { - add = $AGENT_TYPE_06_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_06$ } - } - } - # Agent type 07. - 0 = { - trigger = { - NOT = { scope:agent_type_07 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_07$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_07$ - } - modifier = { - add = $AGENT_TYPE_07_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_07$ } - } - } - # Agent type 08. - 0 = { - trigger = { - NOT = { scope:agent_type_08 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_08$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_08$ - } - modifier = { - add = $AGENT_TYPE_08_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_08$ } - } - } - # Agent type 09. - 0 = { - trigger = { - NOT = { scope:agent_type_09 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_09$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_09$ - } - modifier = { - add = $AGENT_TYPE_09_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_09$ } - } - } - } - ## And var:choice_b. - random_list = { - # Agent type 01. - 0 = { - trigger = { - NOR = { - scope:agent_type_01 = flag:empty - var:choice_a = flag:$AGENT_TYPE_01$ - } - scheme_owner = { can_have_$AGENT_TYPE_01$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_01$ - } - modifier = { - add = $AGENT_TYPE_01_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_01$ } - } - } - # Agent type 02. - 0 = { - trigger = { - NOR = { - scope:agent_type_02 = flag:empty - var:choice_a = flag:$AGENT_TYPE_02$ - } - scheme_owner = { can_have_$AGENT_TYPE_02$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_02$ - } - modifier = { - add = $AGENT_TYPE_02_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_02$ } - } - } - # Agent type 03. - 0 = { - trigger = { - NOR = { - scope:agent_type_03 = flag:empty - var:choice_a = flag:$AGENT_TYPE_03$ - } - scheme_owner = { can_have_$AGENT_TYPE_03$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_03$ - } - modifier = { - add = $AGENT_TYPE_03_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_03$ } - } - } - # Agent type 04. - 0 = { - trigger = { - NOR = { - scope:agent_type_04 = flag:empty - var:choice_a = flag:$AGENT_TYPE_04$ - } - scheme_owner = { can_have_$AGENT_TYPE_04$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_04$ - } - modifier = { - add = $AGENT_TYPE_04_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_04$ } - } - } - # Agent type 05. - 0 = { - trigger = { - NOR = { - scope:agent_type_05 = flag:empty - var:choice_a = flag:$AGENT_TYPE_05$ - } - scheme_owner = { can_have_$AGENT_TYPE_05$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_05$ - } - modifier = { - add = $AGENT_TYPE_05_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_05$ } - } - } - # Agent type 06. - 0 = { - trigger = { - NOR = { - scope:agent_type_06 = flag:empty - var:choice_a = flag:$AGENT_TYPE_06$ - } - scheme_owner = { can_have_$AGENT_TYPE_06$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_06$ - } - modifier = { - add = $AGENT_TYPE_06_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_06$ } - } - } - # Agent type 07. - 0 = { - trigger = { - NOR = { - scope:agent_type_07 = flag:empty - var:choice_a = flag:$AGENT_TYPE_07$ - } - scheme_owner = { can_have_$AGENT_TYPE_07$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_07$ - } - modifier = { - add = $AGENT_TYPE_07_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_07$ } - } - } - # Agent type 08. - 0 = { - trigger = { - NOR = { - scope:agent_type_08 = flag:empty - var:choice_a = flag:$AGENT_TYPE_08$ - } - scheme_owner = { can_have_$AGENT_TYPE_08$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_08$ - } - modifier = { - add = $AGENT_TYPE_08_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_08$ } - } - } - # Agent type 09. - 0 = { - trigger = { - NOR = { - scope:agent_type_09 = flag:empty - var:choice_a = flag:$AGENT_TYPE_09$ - } - scheme_owner = { can_have_$AGENT_TYPE_09$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_09$ - } - modifier = { - add = $AGENT_TYPE_09_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_09$ } - } - } - } - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0001 } - } -} -roll_critical_moment_options_10_agent_types_effect = { - save_scope_as = scheme - scope:scheme.task_contract ?= { save_scope_as = task_contract } - save_scope_value_as = { - name = follow_up_event - value = event_id:$OUTPUT_EVENT$ - } - if = { - limit = { - any_scheme_agent_slot = { count < character_max_scheme_agents_value } - scope:scheme = { - NOR = { - has_variable = choice_a - has_variable = choice_b - } - } - } - # First, let's determine which types we're using and which we ain't. - ## Agent type 01. - save_scope_value_as = { - name = agent_type_01 - value = flag:$AGENT_TYPE_01$ - } - ## Agent type 02. - save_scope_value_as = { - name = agent_type_02 - value = flag:$AGENT_TYPE_02$ - } - ## Agent type 03. - save_scope_value_as = { - name = agent_type_03 - value = flag:$AGENT_TYPE_03$ - } - ## Agent type 04. - save_scope_value_as = { - name = agent_type_04 - value = flag:$AGENT_TYPE_04$ - } - ## Agent type 05. - save_scope_value_as = { - name = agent_type_05 - value = flag:$AGENT_TYPE_05$ - } - ## Agent type 06. - save_scope_value_as = { - name = agent_type_06 - value = flag:$AGENT_TYPE_06$ - } - ## Agent type 07. - save_scope_value_as = { - name = agent_type_07 - value = flag:$AGENT_TYPE_07$ - } - ## Agent type 08. - save_scope_value_as = { - name = agent_type_08 - value = flag:$AGENT_TYPE_08$ - } - ## Agent type 09. - save_scope_value_as = { - name = agent_type_09 - value = flag:$AGENT_TYPE_09$ - } - ## Agent type 10. - save_scope_value_as = { - name = agent_type_10 - value = flag:$AGENT_TYPE_10$ - } - # Then we roll for who's getting picked. - ## For var:choice_a. - random_list = { - # Agent type 01. - 0 = { - trigger = { - NOT = { scope:agent_type_01 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_01$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_01$ - } - modifier = { - add = $AGENT_TYPE_01_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_01$ } - } - } - # Agent type 02. - 0 = { - trigger = { - NOT = { scope:agent_type_02 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_02$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_02$ - } - modifier = { - add = $AGENT_TYPE_02_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_02$ } - } - } - # Agent type 03. - 0 = { - trigger = { - NOT = { scope:agent_type_03 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_03$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_03$ - } - modifier = { - add = $AGENT_TYPE_03_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_03$ } - } - } - # Agent type 04. - 0 = { - trigger = { - NOT = { scope:agent_type_04 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_04$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_04$ - } - modifier = { - add = $AGENT_TYPE_04_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_04$ } - } - } - # Agent type 05. - 0 = { - trigger = { - NOT = { scope:agent_type_05 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_05$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_05$ - } - modifier = { - add = $AGENT_TYPE_05_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_05$ } - } - } - # Agent type 06. - 0 = { - trigger = { - NOT = { scope:agent_type_06 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_06$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_06$ - } - modifier = { - add = $AGENT_TYPE_06_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_06$ } - } - } - # Agent type 07. - 0 = { - trigger = { - NOT = { scope:agent_type_07 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_07$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_07$ - } - modifier = { - add = $AGENT_TYPE_07_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_07$ } - } - } - # Agent type 08. - 0 = { - trigger = { - NOT = { scope:agent_type_08 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_08$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_08$ - } - modifier = { - add = $AGENT_TYPE_08_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_08$ } - } - } - # Agent type 09. - 0 = { - trigger = { - NOT = { scope:agent_type_09 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_09$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_09$ - } - modifier = { - add = $AGENT_TYPE_09_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_09$ } - } - } - # Agent type 10. - 0 = { - trigger = { - NOT = { scope:agent_type_10 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_10$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_10$ - } - modifier = { - add = $AGENT_TYPE_10_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_10$ } - } - } - } - ## And var:choice_b. - random_list = { - # Agent type 01. - 0 = { - trigger = { - NOR = { - scope:agent_type_01 = flag:empty - var:choice_a = flag:$AGENT_TYPE_01$ - } - scheme_owner = { can_have_$AGENT_TYPE_01$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_01$ - } - modifier = { - add = $AGENT_TYPE_01_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_01$ } - } - } - # Agent type 02. - 0 = { - trigger = { - NOR = { - scope:agent_type_02 = flag:empty - var:choice_a = flag:$AGENT_TYPE_02$ - } - scheme_owner = { can_have_$AGENT_TYPE_02$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_02$ - } - modifier = { - add = $AGENT_TYPE_02_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_02$ } - } - } - # Agent type 03. - 0 = { - trigger = { - NOR = { - scope:agent_type_03 = flag:empty - var:choice_a = flag:$AGENT_TYPE_03$ - } - scheme_owner = { can_have_$AGENT_TYPE_03$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_03$ - } - modifier = { - add = $AGENT_TYPE_03_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_03$ } - } - } - # Agent type 04. - 0 = { - trigger = { - NOR = { - scope:agent_type_04 = flag:empty - var:choice_a = flag:$AGENT_TYPE_04$ - } - scheme_owner = { can_have_$AGENT_TYPE_04$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_04$ - } - modifier = { - add = $AGENT_TYPE_04_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_04$ } - } - } - # Agent type 05. - 0 = { - trigger = { - NOR = { - scope:agent_type_05 = flag:empty - var:choice_a = flag:$AGENT_TYPE_05$ - } - scheme_owner = { can_have_$AGENT_TYPE_05$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_05$ - } - modifier = { - add = $AGENT_TYPE_05_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_05$ } - } - } - # Agent type 06. - 0 = { - trigger = { - NOR = { - scope:agent_type_06 = flag:empty - var:choice_a = flag:$AGENT_TYPE_06$ - } - scheme_owner = { can_have_$AGENT_TYPE_06$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_06$ - } - modifier = { - add = $AGENT_TYPE_06_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_06$ } - } - } - # Agent type 07. - 0 = { - trigger = { - NOR = { - scope:agent_type_07 = flag:empty - var:choice_a = flag:$AGENT_TYPE_07$ - } - scheme_owner = { can_have_$AGENT_TYPE_07$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_07$ - } - modifier = { - add = $AGENT_TYPE_07_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_07$ } - } - } - # Agent type 08. - 0 = { - trigger = { - NOR = { - scope:agent_type_08 = flag:empty - var:choice_a = flag:$AGENT_TYPE_08$ - } - scheme_owner = { can_have_$AGENT_TYPE_08$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_08$ - } - modifier = { - add = $AGENT_TYPE_08_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_08$ } - } - } - # Agent type 09. - 0 = { - trigger = { - NOR = { - scope:agent_type_09 = flag:empty - var:choice_a = flag:$AGENT_TYPE_09$ - } - scheme_owner = { can_have_$AGENT_TYPE_09$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_09$ - } - modifier = { - add = $AGENT_TYPE_09_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_09$ } - } - } - # Agent type 10. - 0 = { - trigger = { - NOR = { - scope:agent_type_10 = flag:empty - var:choice_a = flag:$AGENT_TYPE_10$ - } - scheme_owner = { can_have_$AGENT_TYPE_10$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_10$ - } - modifier = { - add = $AGENT_TYPE_10_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_10$ } - } - } - } - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0001 } - } -} -roll_critical_moment_options_11_agent_types_effect = { - save_scope_as = scheme - scope:scheme.task_contract ?= { save_scope_as = task_contract } - save_scope_value_as = { - name = follow_up_event - value = event_id:$OUTPUT_EVENT$ - } - if = { - limit = { - any_scheme_agent_slot = { count < character_max_scheme_agents_value } - scope:scheme = { - NOR = { - has_variable = choice_a - has_variable = choice_b - } - } - } - # First, let's determine which types we're using and which we ain't. - ## Agent type 01. - save_scope_value_as = { - name = agent_type_01 - value = flag:$AGENT_TYPE_01$ - } - ## Agent type 02. - save_scope_value_as = { - name = agent_type_02 - value = flag:$AGENT_TYPE_02$ - } - ## Agent type 03. - save_scope_value_as = { - name = agent_type_03 - value = flag:$AGENT_TYPE_03$ - } - ## Agent type 04. - save_scope_value_as = { - name = agent_type_04 - value = flag:$AGENT_TYPE_04$ - } - ## Agent type 05. - save_scope_value_as = { - name = agent_type_05 - value = flag:$AGENT_TYPE_05$ - } - ## Agent type 06. - save_scope_value_as = { - name = agent_type_06 - value = flag:$AGENT_TYPE_06$ - } - ## Agent type 07. - save_scope_value_as = { - name = agent_type_07 - value = flag:$AGENT_TYPE_07$ - } - ## Agent type 08. - save_scope_value_as = { - name = agent_type_08 - value = flag:$AGENT_TYPE_08$ - } - ## Agent type 09. - save_scope_value_as = { - name = agent_type_09 - value = flag:$AGENT_TYPE_09$ - } - ## Agent type 10. - save_scope_value_as = { - name = agent_type_10 - value = flag:$AGENT_TYPE_10$ - } - ## Agent type 11. - save_scope_value_as = { - name = agent_type_11 - value = flag:$AGENT_TYPE_11$ - } - # Then we roll for who's getting picked. - ## For var:choice_a. - random_list = { - # Agent type 01. - 0 = { - trigger = { - NOT = { scope:agent_type_01 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_01$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_01$ - } - modifier = { - add = $AGENT_TYPE_01_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_01$ } - } - } - # Agent type 02. - 0 = { - trigger = { - NOT = { scope:agent_type_02 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_02$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_02$ - } - modifier = { - add = $AGENT_TYPE_02_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_02$ } - } - } - # Agent type 03. - 0 = { - trigger = { - NOT = { scope:agent_type_03 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_03$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_03$ - } - modifier = { - add = $AGENT_TYPE_03_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_03$ } - } - } - # Agent type 04. - 0 = { - trigger = { - NOT = { scope:agent_type_04 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_04$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_04$ - } - modifier = { - add = $AGENT_TYPE_04_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_04$ } - } - } - # Agent type 05. - 0 = { - trigger = { - NOT = { scope:agent_type_05 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_05$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_05$ - } - modifier = { - add = $AGENT_TYPE_05_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_05$ } - } - } - # Agent type 06. - 0 = { - trigger = { - NOT = { scope:agent_type_06 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_06$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_06$ - } - modifier = { - add = $AGENT_TYPE_06_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_06$ } - } - } - # Agent type 07. - 0 = { - trigger = { - NOT = { scope:agent_type_07 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_07$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_07$ - } - modifier = { - add = $AGENT_TYPE_07_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_07$ } - } - } - # Agent type 08. - 0 = { - trigger = { - NOT = { scope:agent_type_08 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_08$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_08$ - } - modifier = { - add = $AGENT_TYPE_08_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_08$ } - } - } - # Agent type 09. - 0 = { - trigger = { - NOT = { scope:agent_type_09 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_09$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_09$ - } - modifier = { - add = $AGENT_TYPE_09_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_09$ } - } - } - # Agent type 10. - 0 = { - trigger = { - NOT = { scope:agent_type_10 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_10$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_10$ - } - modifier = { - add = $AGENT_TYPE_10_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_10$ } - } - } - # Agent type 11. - 0 = { - trigger = { - NOT = { scope:agent_type_11 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_11$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_11$ - } - modifier = { - add = $AGENT_TYPE_11_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_11$ } - } - } - } - ## And var:choice_b. - random_list = { - # Agent type 01. - 0 = { - trigger = { - NOR = { - scope:agent_type_01 = flag:empty - var:choice_a = flag:$AGENT_TYPE_01$ - } - scheme_owner = { can_have_$AGENT_TYPE_01$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_01$ - } - modifier = { - add = $AGENT_TYPE_01_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_01$ } - } - } - # Agent type 02. - 0 = { - trigger = { - NOR = { - scope:agent_type_02 = flag:empty - var:choice_a = flag:$AGENT_TYPE_02$ - } - scheme_owner = { can_have_$AGENT_TYPE_02$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_02$ - } - modifier = { - add = $AGENT_TYPE_02_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_02$ } - } - } - # Agent type 03. - 0 = { - trigger = { - NOR = { - scope:agent_type_03 = flag:empty - var:choice_a = flag:$AGENT_TYPE_03$ - } - scheme_owner = { can_have_$AGENT_TYPE_03$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_03$ - } - modifier = { - add = $AGENT_TYPE_03_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_03$ } - } - } - # Agent type 04. - 0 = { - trigger = { - NOR = { - scope:agent_type_04 = flag:empty - var:choice_a = flag:$AGENT_TYPE_04$ - } - scheme_owner = { can_have_$AGENT_TYPE_04$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_04$ - } - modifier = { - add = $AGENT_TYPE_04_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_04$ } - } - } - # Agent type 05. - 0 = { - trigger = { - NOR = { - scope:agent_type_05 = flag:empty - var:choice_a = flag:$AGENT_TYPE_05$ - } - scheme_owner = { can_have_$AGENT_TYPE_05$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_05$ - } - modifier = { - add = $AGENT_TYPE_05_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_05$ } - } - } - # Agent type 06. - 0 = { - trigger = { - NOR = { - scope:agent_type_06 = flag:empty - var:choice_a = flag:$AGENT_TYPE_06$ - } - scheme_owner = { can_have_$AGENT_TYPE_06$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_06$ - } - modifier = { - add = $AGENT_TYPE_06_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_06$ } - } - } - # Agent type 07. - 0 = { - trigger = { - NOR = { - scope:agent_type_07 = flag:empty - var:choice_a = flag:$AGENT_TYPE_07$ - } - scheme_owner = { can_have_$AGENT_TYPE_07$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_07$ - } - modifier = { - add = $AGENT_TYPE_07_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_07$ } - } - } - # Agent type 08. - 0 = { - trigger = { - NOR = { - scope:agent_type_08 = flag:empty - var:choice_a = flag:$AGENT_TYPE_08$ - } - scheme_owner = { can_have_$AGENT_TYPE_08$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_08$ - } - modifier = { - add = $AGENT_TYPE_08_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_08$ } - } - } - # Agent type 09. - 0 = { - trigger = { - NOR = { - scope:agent_type_09 = flag:empty - var:choice_a = flag:$AGENT_TYPE_09$ - } - scheme_owner = { can_have_$AGENT_TYPE_09$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_09$ - } - modifier = { - add = $AGENT_TYPE_09_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_09$ } - } - } - # Agent type 10. - 0 = { - trigger = { - NOR = { - scope:agent_type_10 = flag:empty - var:choice_a = flag:$AGENT_TYPE_10$ - } - scheme_owner = { can_have_$AGENT_TYPE_10$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_10$ - } - modifier = { - add = $AGENT_TYPE_10_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_10$ } - } - } - # Agent type 11. - 0 = { - trigger = { - NOR = { - scope:agent_type_11 = flag:empty - var:choice_a = flag:$AGENT_TYPE_11$ - } - scheme_owner = { can_have_$AGENT_TYPE_11$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_11$ - } - modifier = { - add = $AGENT_TYPE_11_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_11$ } - } - } - } - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0001 } - } -} -roll_critical_moment_options_12_agent_types_effect = { - save_scope_as = scheme - scope:scheme.task_contract ?= { save_scope_as = task_contract } - save_scope_value_as = { - name = follow_up_event - value = event_id:$OUTPUT_EVENT$ - } - if = { - limit = { - any_scheme_agent_slot = { count < character_max_scheme_agents_value } - scope:scheme = { - NOR = { - has_variable = choice_a - has_variable = choice_b - } - } - } - # First, let's determine which types we're using and which we ain't. - ## Agent type 01. - save_scope_value_as = { - name = agent_type_01 - value = flag:$AGENT_TYPE_01$ - } - ## Agent type 02. - save_scope_value_as = { - name = agent_type_02 - value = flag:$AGENT_TYPE_02$ - } - ## Agent type 03. - save_scope_value_as = { - name = agent_type_03 - value = flag:$AGENT_TYPE_03$ - } - ## Agent type 04. - save_scope_value_as = { - name = agent_type_04 - value = flag:$AGENT_TYPE_04$ - } - ## Agent type 05. - save_scope_value_as = { - name = agent_type_05 - value = flag:$AGENT_TYPE_05$ - } - ## Agent type 06. - save_scope_value_as = { - name = agent_type_06 - value = flag:$AGENT_TYPE_06$ - } - ## Agent type 07. - save_scope_value_as = { - name = agent_type_07 - value = flag:$AGENT_TYPE_07$ - } - ## Agent type 08. - save_scope_value_as = { - name = agent_type_08 - value = flag:$AGENT_TYPE_08$ - } - ## Agent type 09. - save_scope_value_as = { - name = agent_type_09 - value = flag:$AGENT_TYPE_09$ - } - ## Agent type 10. - save_scope_value_as = { - name = agent_type_10 - value = flag:$AGENT_TYPE_10$ - } - ## Agent type 11. - save_scope_value_as = { - name = agent_type_11 - value = flag:$AGENT_TYPE_11$ - } - ## Agent type 12. - save_scope_value_as = { - name = agent_type_12 - value = flag:$AGENT_TYPE_12$ - } - # Then we roll for who's getting picked. - ## For var:choice_a. - random_list = { - # Agent type 01. - 0 = { - trigger = { - NOT = { scope:agent_type_01 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_01$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_01$ - } - modifier = { - add = $AGENT_TYPE_01_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_01$ } - } - } - # Agent type 02. - 0 = { - trigger = { - NOT = { scope:agent_type_02 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_02$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_02$ - } - modifier = { - add = $AGENT_TYPE_02_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_02$ } - } - } - # Agent type 03. - 0 = { - trigger = { - NOT = { scope:agent_type_03 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_03$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_03$ - } - modifier = { - add = $AGENT_TYPE_03_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_03$ } - } - } - # Agent type 04. - 0 = { - trigger = { - NOT = { scope:agent_type_04 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_04$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_04$ - } - modifier = { - add = $AGENT_TYPE_04_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_04$ } - } - } - # Agent type 05. - 0 = { - trigger = { - NOT = { scope:agent_type_05 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_05$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_05$ - } - modifier = { - add = $AGENT_TYPE_05_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_05$ } - } - } - # Agent type 06. - 0 = { - trigger = { - NOT = { scope:agent_type_06 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_06$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_06$ - } - modifier = { - add = $AGENT_TYPE_06_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_06$ } - } - } - # Agent type 07. - 0 = { - trigger = { - NOT = { scope:agent_type_07 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_07$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_07$ - } - modifier = { - add = $AGENT_TYPE_07_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_07$ } - } - } - # Agent type 08. - 0 = { - trigger = { - NOT = { scope:agent_type_08 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_08$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_08$ - } - modifier = { - add = $AGENT_TYPE_08_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_08$ } - } - } - # Agent type 09. - 0 = { - trigger = { - NOT = { scope:agent_type_09 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_09$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_09$ - } - modifier = { - add = $AGENT_TYPE_09_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_09$ } - } - } - # Agent type 10. - 0 = { - trigger = { - NOT = { scope:agent_type_10 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_10$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_10$ - } - modifier = { - add = $AGENT_TYPE_10_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_10$ } - } - } - # Agent type 11. - 0 = { - trigger = { - NOT = { scope:agent_type_11 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_11$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_11$ - } - modifier = { - add = $AGENT_TYPE_11_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_11$ } - } - } - # Agent type 12. - 0 = { - trigger = { - NOT = { scope:agent_type_12 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_12$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_12$ - } - modifier = { - add = $AGENT_TYPE_12_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_12$ } - } - } - } - ## And var:choice_b. - random_list = { - # Agent type 01. - 0 = { - trigger = { - NOR = { - scope:agent_type_01 = flag:empty - var:choice_a = flag:$AGENT_TYPE_01$ - } - scheme_owner = { can_have_$AGENT_TYPE_01$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_01$ - } - modifier = { - add = $AGENT_TYPE_01_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_01$ } - } - } - # Agent type 02. - 0 = { - trigger = { - NOR = { - scope:agent_type_02 = flag:empty - var:choice_a = flag:$AGENT_TYPE_02$ - } - scheme_owner = { can_have_$AGENT_TYPE_02$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_02$ - } - modifier = { - add = $AGENT_TYPE_02_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_02$ } - } - } - # Agent type 03. - 0 = { - trigger = { - NOR = { - scope:agent_type_03 = flag:empty - var:choice_a = flag:$AGENT_TYPE_03$ - } - scheme_owner = { can_have_$AGENT_TYPE_03$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_03$ - } - modifier = { - add = $AGENT_TYPE_03_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_03$ } - } - } - # Agent type 04. - 0 = { - trigger = { - NOR = { - scope:agent_type_04 = flag:empty - var:choice_a = flag:$AGENT_TYPE_04$ - } - scheme_owner = { can_have_$AGENT_TYPE_04$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_04$ - } - modifier = { - add = $AGENT_TYPE_04_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_04$ } - } - } - # Agent type 05. - 0 = { - trigger = { - NOR = { - scope:agent_type_05 = flag:empty - var:choice_a = flag:$AGENT_TYPE_05$ - } - scheme_owner = { can_have_$AGENT_TYPE_05$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_05$ - } - modifier = { - add = $AGENT_TYPE_05_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_05$ } - } - } - # Agent type 06. - 0 = { - trigger = { - NOR = { - scope:agent_type_06 = flag:empty - var:choice_a = flag:$AGENT_TYPE_06$ - } - scheme_owner = { can_have_$AGENT_TYPE_06$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_06$ - } - modifier = { - add = $AGENT_TYPE_06_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_06$ } - } - } - # Agent type 07. - 0 = { - trigger = { - NOR = { - scope:agent_type_07 = flag:empty - var:choice_a = flag:$AGENT_TYPE_07$ - } - scheme_owner = { can_have_$AGENT_TYPE_07$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_07$ - } - modifier = { - add = $AGENT_TYPE_07_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_07$ } - } - } - # Agent type 08. - 0 = { - trigger = { - NOR = { - scope:agent_type_08 = flag:empty - var:choice_a = flag:$AGENT_TYPE_08$ - } - scheme_owner = { can_have_$AGENT_TYPE_08$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_08$ - } - modifier = { - add = $AGENT_TYPE_08_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_08$ } - } - } - # Agent type 09. - 0 = { - trigger = { - NOR = { - scope:agent_type_09 = flag:empty - var:choice_a = flag:$AGENT_TYPE_09$ - } - scheme_owner = { can_have_$AGENT_TYPE_09$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_09$ - } - modifier = { - add = $AGENT_TYPE_09_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_09$ } - } - } - # Agent type 10. - 0 = { - trigger = { - NOR = { - scope:agent_type_10 = flag:empty - var:choice_a = flag:$AGENT_TYPE_10$ - } - scheme_owner = { can_have_$AGENT_TYPE_10$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_10$ - } - modifier = { - add = $AGENT_TYPE_10_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_10$ } - } - } - # Agent type 11. - 0 = { - trigger = { - NOR = { - scope:agent_type_11 = flag:empty - var:choice_a = flag:$AGENT_TYPE_11$ - } - scheme_owner = { can_have_$AGENT_TYPE_11$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_11$ - } - modifier = { - add = $AGENT_TYPE_11_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_11$ } - } - } - # Agent type 12. - 0 = { - trigger = { - NOR = { - scope:agent_type_12 = flag:empty - var:choice_a = flag:$AGENT_TYPE_12$ - } - scheme_owner = { can_have_$AGENT_TYPE_12$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_12$ - } - modifier = { - add = $AGENT_TYPE_12_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_12$ } - } - } - } - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0001 } - } -} -roll_critical_moment_options_13_agent_types_effect = { - save_scope_as = scheme - scope:scheme.task_contract ?= { save_scope_as = task_contract } - save_scope_value_as = { - name = follow_up_event - value = event_id:$OUTPUT_EVENT$ - } - if = { - limit = { - any_scheme_agent_slot = { count < character_max_scheme_agents_value } - scope:scheme = { - NOR = { - has_variable = choice_a - has_variable = choice_b - } - } - } - # First, let's determine which types we're using and which we ain't. - ## Agent type 01. - save_scope_value_as = { - name = agent_type_01 - value = flag:$AGENT_TYPE_01$ - } - ## Agent type 02. - save_scope_value_as = { - name = agent_type_02 - value = flag:$AGENT_TYPE_02$ - } - ## Agent type 03. - save_scope_value_as = { - name = agent_type_03 - value = flag:$AGENT_TYPE_03$ - } - ## Agent type 04. - save_scope_value_as = { - name = agent_type_04 - value = flag:$AGENT_TYPE_04$ - } - ## Agent type 05. - save_scope_value_as = { - name = agent_type_05 - value = flag:$AGENT_TYPE_05$ - } - ## Agent type 06. - save_scope_value_as = { - name = agent_type_06 - value = flag:$AGENT_TYPE_06$ - } - ## Agent type 07. - save_scope_value_as = { - name = agent_type_07 - value = flag:$AGENT_TYPE_07$ - } - ## Agent type 08. - save_scope_value_as = { - name = agent_type_08 - value = flag:$AGENT_TYPE_08$ - } - ## Agent type 09. - save_scope_value_as = { - name = agent_type_09 - value = flag:$AGENT_TYPE_09$ - } - ## Agent type 10. - save_scope_value_as = { - name = agent_type_10 - value = flag:$AGENT_TYPE_10$ - } - ## Agent type 11. - save_scope_value_as = { - name = agent_type_11 - value = flag:$AGENT_TYPE_11$ - } - ## Agent type 12. - save_scope_value_as = { - name = agent_type_12 - value = flag:$AGENT_TYPE_12$ - } - ## Agent type 13. - save_scope_value_as = { - name = agent_type_13 - value = flag:$AGENT_TYPE_13$ - } - # Then we roll for who's getting picked. - ## For var:choice_a. - random_list = { - # Agent type 01. - 0 = { - trigger = { - NOT = { scope:agent_type_01 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_01$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_01$ - } - modifier = { - add = $AGENT_TYPE_01_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_01$ } - } - } - # Agent type 02. - 0 = { - trigger = { - NOT = { scope:agent_type_02 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_02$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_02$ - } - modifier = { - add = $AGENT_TYPE_02_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_02$ } - } - } - # Agent type 03. - 0 = { - trigger = { - NOT = { scope:agent_type_03 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_03$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_03$ - } - modifier = { - add = $AGENT_TYPE_03_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_03$ } - } - } - # Agent type 04. - 0 = { - trigger = { - NOT = { scope:agent_type_04 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_04$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_04$ - } - modifier = { - add = $AGENT_TYPE_04_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_04$ } - } - } - # Agent type 05. - 0 = { - trigger = { - NOT = { scope:agent_type_05 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_05$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_05$ - } - modifier = { - add = $AGENT_TYPE_05_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_05$ } - } - } - # Agent type 06. - 0 = { - trigger = { - NOT = { scope:agent_type_06 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_06$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_06$ - } - modifier = { - add = $AGENT_TYPE_06_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_06$ } - } - } - # Agent type 07. - 0 = { - trigger = { - NOT = { scope:agent_type_07 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_07$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_07$ - } - modifier = { - add = $AGENT_TYPE_07_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_07$ } - } - } - # Agent type 08. - 0 = { - trigger = { - NOT = { scope:agent_type_08 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_08$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_08$ - } - modifier = { - add = $AGENT_TYPE_08_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_08$ } - } - } - # Agent type 09. - 0 = { - trigger = { - NOT = { scope:agent_type_09 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_09$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_09$ - } - modifier = { - add = $AGENT_TYPE_09_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_09$ } - } - } - # Agent type 10. - 0 = { - trigger = { - NOT = { scope:agent_type_10 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_10$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_10$ - } - modifier = { - add = $AGENT_TYPE_10_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_10$ } - } - } - # Agent type 11. - 0 = { - trigger = { - NOT = { scope:agent_type_11 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_11$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_11$ - } - modifier = { - add = $AGENT_TYPE_11_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_11$ } - } - } - # Agent type 12. - 0 = { - trigger = { - NOT = { scope:agent_type_12 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_12$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_12$ - } - modifier = { - add = $AGENT_TYPE_12_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_12$ } - } - } - # Agent type 13. - 0 = { - trigger = { - NOT = { scope:agent_type_13 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_13$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_13$ - } - modifier = { - add = $AGENT_TYPE_13_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_13$ } - } - } - } - ## And var:choice_b. - random_list = { - # Agent type 01. - 0 = { - trigger = { - NOR = { - scope:agent_type_01 = flag:empty - var:choice_a = flag:$AGENT_TYPE_01$ - } - scheme_owner = { can_have_$AGENT_TYPE_01$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_01$ - } - modifier = { - add = $AGENT_TYPE_01_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_01$ } - } - } - # Agent type 02. - 0 = { - trigger = { - NOR = { - scope:agent_type_02 = flag:empty - var:choice_a = flag:$AGENT_TYPE_02$ - } - scheme_owner = { can_have_$AGENT_TYPE_02$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_02$ - } - modifier = { - add = $AGENT_TYPE_02_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_02$ } - } - } - # Agent type 03. - 0 = { - trigger = { - NOR = { - scope:agent_type_03 = flag:empty - var:choice_a = flag:$AGENT_TYPE_03$ - } - scheme_owner = { can_have_$AGENT_TYPE_03$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_03$ - } - modifier = { - add = $AGENT_TYPE_03_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_03$ } - } - } - # Agent type 04. - 0 = { - trigger = { - NOR = { - scope:agent_type_04 = flag:empty - var:choice_a = flag:$AGENT_TYPE_04$ - } - scheme_owner = { can_have_$AGENT_TYPE_04$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_04$ - } - modifier = { - add = $AGENT_TYPE_04_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_04$ } - } - } - # Agent type 05. - 0 = { - trigger = { - NOR = { - scope:agent_type_05 = flag:empty - var:choice_a = flag:$AGENT_TYPE_05$ - } - scheme_owner = { can_have_$AGENT_TYPE_05$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_05$ - } - modifier = { - add = $AGENT_TYPE_05_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_05$ } - } - } - # Agent type 06. - 0 = { - trigger = { - NOR = { - scope:agent_type_06 = flag:empty - var:choice_a = flag:$AGENT_TYPE_06$ - } - scheme_owner = { can_have_$AGENT_TYPE_06$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_06$ - } - modifier = { - add = $AGENT_TYPE_06_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_06$ } - } - } - # Agent type 07. - 0 = { - trigger = { - NOR = { - scope:agent_type_07 = flag:empty - var:choice_a = flag:$AGENT_TYPE_07$ - } - scheme_owner = { can_have_$AGENT_TYPE_07$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_07$ - } - modifier = { - add = $AGENT_TYPE_07_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_07$ } - } - } - # Agent type 08. - 0 = { - trigger = { - NOR = { - scope:agent_type_08 = flag:empty - var:choice_a = flag:$AGENT_TYPE_08$ - } - scheme_owner = { can_have_$AGENT_TYPE_08$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_08$ - } - modifier = { - add = $AGENT_TYPE_08_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_08$ } - } - } - # Agent type 09. - 0 = { - trigger = { - NOR = { - scope:agent_type_09 = flag:empty - var:choice_a = flag:$AGENT_TYPE_09$ - } - scheme_owner = { can_have_$AGENT_TYPE_09$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_09$ - } - modifier = { - add = $AGENT_TYPE_09_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_09$ } - } - } - # Agent type 10. - 0 = { - trigger = { - NOR = { - scope:agent_type_10 = flag:empty - var:choice_a = flag:$AGENT_TYPE_10$ - } - scheme_owner = { can_have_$AGENT_TYPE_10$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_10$ - } - modifier = { - add = $AGENT_TYPE_10_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_10$ } - } - } - # Agent type 11. - 0 = { - trigger = { - NOR = { - scope:agent_type_11 = flag:empty - var:choice_a = flag:$AGENT_TYPE_11$ - } - scheme_owner = { can_have_$AGENT_TYPE_11$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_11$ - } - modifier = { - add = $AGENT_TYPE_11_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_11$ } - } - } - # Agent type 12. - 0 = { - trigger = { - NOR = { - scope:agent_type_12 = flag:empty - var:choice_a = flag:$AGENT_TYPE_12$ - } - scheme_owner = { can_have_$AGENT_TYPE_12$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_12$ - } - modifier = { - add = $AGENT_TYPE_12_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_12$ } - } - } - # Agent type 13. - 0 = { - trigger = { - NOR = { - scope:agent_type_13 = flag:empty - var:choice_a = flag:$AGENT_TYPE_13$ - } - scheme_owner = { can_have_$AGENT_TYPE_13$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_13$ - } - modifier = { - add = $AGENT_TYPE_13_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_13$ } - } - } - } - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0001 } - } -} -roll_critical_moment_options_14_agent_types_effect = { - save_scope_as = scheme - scope:scheme.task_contract ?= { save_scope_as = task_contract } - save_scope_value_as = { - name = follow_up_event - value = event_id:$OUTPUT_EVENT$ - } - if = { - limit = { - any_scheme_agent_slot = { count < character_max_scheme_agents_value } - scope:scheme = { - NOR = { - has_variable = choice_a - has_variable = choice_b - } - } - } - # First, let's determine which types we're using and which we ain't. - ## Agent type 01. - save_scope_value_as = { - name = agent_type_01 - value = flag:$AGENT_TYPE_01$ - } - ## Agent type 02. - save_scope_value_as = { - name = agent_type_02 - value = flag:$AGENT_TYPE_02$ - } - ## Agent type 03. - save_scope_value_as = { - name = agent_type_03 - value = flag:$AGENT_TYPE_03$ - } - ## Agent type 04. - save_scope_value_as = { - name = agent_type_04 - value = flag:$AGENT_TYPE_04$ - } - ## Agent type 05. - save_scope_value_as = { - name = agent_type_05 - value = flag:$AGENT_TYPE_05$ - } - ## Agent type 06. - save_scope_value_as = { - name = agent_type_06 - value = flag:$AGENT_TYPE_06$ - } - ## Agent type 07. - save_scope_value_as = { - name = agent_type_07 - value = flag:$AGENT_TYPE_07$ - } - ## Agent type 08. - save_scope_value_as = { - name = agent_type_08 - value = flag:$AGENT_TYPE_08$ - } - ## Agent type 09. - save_scope_value_as = { - name = agent_type_09 - value = flag:$AGENT_TYPE_09$ - } - ## Agent type 10. - save_scope_value_as = { - name = agent_type_10 - value = flag:$AGENT_TYPE_10$ - } - ## Agent type 11. - save_scope_value_as = { - name = agent_type_11 - value = flag:$AGENT_TYPE_11$ - } - ## Agent type 12. - save_scope_value_as = { - name = agent_type_12 - value = flag:$AGENT_TYPE_12$ - } - ## Agent type 13. - save_scope_value_as = { - name = agent_type_13 - value = flag:$AGENT_TYPE_13$ - } - ## Agent type 14. - save_scope_value_as = { - name = agent_type_14 - value = flag:$AGENT_TYPE_14$ - } - # Then we roll for who's getting picked. - ## For var:choice_a. - random_list = { - # Agent type 01. - 0 = { - trigger = { - NOT = { scope:agent_type_01 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_01$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_01$ - } - modifier = { - add = $AGENT_TYPE_01_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_01$ } - } - } - # Agent type 02. - 0 = { - trigger = { - NOT = { scope:agent_type_02 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_02$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_02$ - } - modifier = { - add = $AGENT_TYPE_02_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_02$ } - } - } - # Agent type 03. - 0 = { - trigger = { - NOT = { scope:agent_type_03 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_03$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_03$ - } - modifier = { - add = $AGENT_TYPE_03_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_03$ } - } - } - # Agent type 04. - 0 = { - trigger = { - NOT = { scope:agent_type_04 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_04$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_04$ - } - modifier = { - add = $AGENT_TYPE_04_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_04$ } - } - } - # Agent type 05. - 0 = { - trigger = { - NOT = { scope:agent_type_05 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_05$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_05$ - } - modifier = { - add = $AGENT_TYPE_05_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_05$ } - } - } - # Agent type 06. - 0 = { - trigger = { - NOT = { scope:agent_type_06 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_06$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_06$ - } - modifier = { - add = $AGENT_TYPE_06_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_06$ } - } - } - # Agent type 07. - 0 = { - trigger = { - NOT = { scope:agent_type_07 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_07$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_07$ - } - modifier = { - add = $AGENT_TYPE_07_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_07$ } - } - } - # Agent type 08. - 0 = { - trigger = { - NOT = { scope:agent_type_08 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_08$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_08$ - } - modifier = { - add = $AGENT_TYPE_08_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_08$ } - } - } - # Agent type 09. - 0 = { - trigger = { - NOT = { scope:agent_type_09 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_09$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_09$ - } - modifier = { - add = $AGENT_TYPE_09_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_09$ } - } - } - # Agent type 10. - 0 = { - trigger = { - NOT = { scope:agent_type_10 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_10$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_10$ - } - modifier = { - add = $AGENT_TYPE_10_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_10$ } - } - } - # Agent type 11. - 0 = { - trigger = { - NOT = { scope:agent_type_11 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_11$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_11$ - } - modifier = { - add = $AGENT_TYPE_11_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_11$ } - } - } - # Agent type 12. - 0 = { - trigger = { - NOT = { scope:agent_type_12 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_12$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_12$ - } - modifier = { - add = $AGENT_TYPE_12_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_12$ } - } - } - # Agent type 13. - 0 = { - trigger = { - NOT = { scope:agent_type_13 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_13$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_13$ - } - modifier = { - add = $AGENT_TYPE_13_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_13$ } - } - } - # Agent type 14. - 0 = { - trigger = { - NOT = { scope:agent_type_14 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_14$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_14$ - } - modifier = { - add = $AGENT_TYPE_14_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_14$ } - } - } - } - ## And var:choice_b. - random_list = { - # Agent type 01. - 0 = { - trigger = { - NOR = { - scope:agent_type_01 = flag:empty - var:choice_a = flag:$AGENT_TYPE_01$ - } - scheme_owner = { can_have_$AGENT_TYPE_01$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_01$ - } - modifier = { - add = $AGENT_TYPE_01_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_01$ } - } - } - # Agent type 02. - 0 = { - trigger = { - NOR = { - scope:agent_type_02 = flag:empty - var:choice_a = flag:$AGENT_TYPE_02$ - } - scheme_owner = { can_have_$AGENT_TYPE_02$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_02$ - } - modifier = { - add = $AGENT_TYPE_02_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_02$ } - } - } - # Agent type 03. - 0 = { - trigger = { - NOR = { - scope:agent_type_03 = flag:empty - var:choice_a = flag:$AGENT_TYPE_03$ - } - scheme_owner = { can_have_$AGENT_TYPE_03$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_03$ - } - modifier = { - add = $AGENT_TYPE_03_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_03$ } - } - } - # Agent type 04. - 0 = { - trigger = { - NOR = { - scope:agent_type_04 = flag:empty - var:choice_a = flag:$AGENT_TYPE_04$ - } - scheme_owner = { can_have_$AGENT_TYPE_04$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_04$ - } - modifier = { - add = $AGENT_TYPE_04_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_04$ } - } - } - # Agent type 05. - 0 = { - trigger = { - NOR = { - scope:agent_type_05 = flag:empty - var:choice_a = flag:$AGENT_TYPE_05$ - } - scheme_owner = { can_have_$AGENT_TYPE_05$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_05$ - } - modifier = { - add = $AGENT_TYPE_05_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_05$ } - } - } - # Agent type 06. - 0 = { - trigger = { - NOR = { - scope:agent_type_06 = flag:empty - var:choice_a = flag:$AGENT_TYPE_06$ - } - scheme_owner = { can_have_$AGENT_TYPE_06$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_06$ - } - modifier = { - add = $AGENT_TYPE_06_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_06$ } - } - } - # Agent type 07. - 0 = { - trigger = { - NOR = { - scope:agent_type_07 = flag:empty - var:choice_a = flag:$AGENT_TYPE_07$ - } - scheme_owner = { can_have_$AGENT_TYPE_07$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_07$ - } - modifier = { - add = $AGENT_TYPE_07_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_07$ } - } - } - # Agent type 08. - 0 = { - trigger = { - NOR = { - scope:agent_type_08 = flag:empty - var:choice_a = flag:$AGENT_TYPE_08$ - } - scheme_owner = { can_have_$AGENT_TYPE_08$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_08$ - } - modifier = { - add = $AGENT_TYPE_08_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_08$ } - } - } - # Agent type 09. - 0 = { - trigger = { - NOR = { - scope:agent_type_09 = flag:empty - var:choice_a = flag:$AGENT_TYPE_09$ - } - scheme_owner = { can_have_$AGENT_TYPE_09$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_09$ - } - modifier = { - add = $AGENT_TYPE_09_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_09$ } - } - } - # Agent type 10. - 0 = { - trigger = { - NOR = { - scope:agent_type_10 = flag:empty - var:choice_a = flag:$AGENT_TYPE_10$ - } - scheme_owner = { can_have_$AGENT_TYPE_10$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_10$ - } - modifier = { - add = $AGENT_TYPE_10_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_10$ } - } - } - # Agent type 11. - 0 = { - trigger = { - NOR = { - scope:agent_type_11 = flag:empty - var:choice_a = flag:$AGENT_TYPE_11$ - } - scheme_owner = { can_have_$AGENT_TYPE_11$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_11$ - } - modifier = { - add = $AGENT_TYPE_11_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_11$ } - } - } - # Agent type 12. - 0 = { - trigger = { - NOR = { - scope:agent_type_12 = flag:empty - var:choice_a = flag:$AGENT_TYPE_12$ - } - scheme_owner = { can_have_$AGENT_TYPE_12$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_12$ - } - modifier = { - add = $AGENT_TYPE_12_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_12$ } - } - } - # Agent type 13. - 0 = { - trigger = { - NOR = { - scope:agent_type_13 = flag:empty - var:choice_a = flag:$AGENT_TYPE_13$ - } - scheme_owner = { can_have_$AGENT_TYPE_13$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_13$ - } - modifier = { - add = $AGENT_TYPE_13_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_13$ } - } - } - # Agent type 14. - 0 = { - trigger = { - NOR = { - scope:agent_type_14 = flag:empty - var:choice_a = flag:$AGENT_TYPE_14$ - } - scheme_owner = { can_have_$AGENT_TYPE_14$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_14$ - } - modifier = { - add = $AGENT_TYPE_14_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_14$ } - } - } - } - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0001 } - } -} -roll_critical_moment_options_15_agent_types_effect = { - save_scope_as = scheme - scope:scheme.task_contract ?= { save_scope_as = task_contract } - save_scope_value_as = { - name = follow_up_event - value = event_id:$OUTPUT_EVENT$ - } - if = { - limit = { - any_scheme_agent_slot = { count < character_max_scheme_agents_value } - scope:scheme = { - NOR = { - has_variable = choice_a - has_variable = choice_b - } - } - } - # First, let's determine which types we're using and which we ain't. - ## Agent type 01. - save_scope_value_as = { - name = agent_type_01 - value = flag:$AGENT_TYPE_01$ - } - ## Agent type 02. - save_scope_value_as = { - name = agent_type_02 - value = flag:$AGENT_TYPE_02$ - } - ## Agent type 03. - save_scope_value_as = { - name = agent_type_03 - value = flag:$AGENT_TYPE_03$ - } - ## Agent type 04. - save_scope_value_as = { - name = agent_type_04 - value = flag:$AGENT_TYPE_04$ - } - ## Agent type 05. - save_scope_value_as = { - name = agent_type_05 - value = flag:$AGENT_TYPE_05$ - } - ## Agent type 06. - save_scope_value_as = { - name = agent_type_06 - value = flag:$AGENT_TYPE_06$ - } - ## Agent type 07. - save_scope_value_as = { - name = agent_type_07 - value = flag:$AGENT_TYPE_07$ - } - ## Agent type 08. - save_scope_value_as = { - name = agent_type_08 - value = flag:$AGENT_TYPE_08$ - } - ## Agent type 09. - save_scope_value_as = { - name = agent_type_09 - value = flag:$AGENT_TYPE_09$ - } - ## Agent type 10. - save_scope_value_as = { - name = agent_type_10 - value = flag:$AGENT_TYPE_10$ - } - ## Agent type 11. - save_scope_value_as = { - name = agent_type_11 - value = flag:$AGENT_TYPE_11$ - } - ## Agent type 12. - save_scope_value_as = { - name = agent_type_12 - value = flag:$AGENT_TYPE_12$ - } - ## Agent type 13. - save_scope_value_as = { - name = agent_type_13 - value = flag:$AGENT_TYPE_13$ - } - ## Agent type 14. - save_scope_value_as = { - name = agent_type_14 - value = flag:$AGENT_TYPE_14$ - } - ## Agent type 15. - save_scope_value_as = { - name = agent_type_15 - value = flag:$AGENT_TYPE_15$ - } - # Then we roll for who's getting picked. - ## For var:choice_a. - random_list = { - # Agent type 01. - 0 = { - trigger = { - NOT = { scope:agent_type_01 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_01$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_01$ - } - modifier = { - add = $AGENT_TYPE_01_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_01$ } - } - } - # Agent type 02. - 0 = { - trigger = { - NOT = { scope:agent_type_02 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_02$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_02$ - } - modifier = { - add = $AGENT_TYPE_02_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_02$ } - } - } - # Agent type 03. - 0 = { - trigger = { - NOT = { scope:agent_type_03 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_03$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_03$ - } - modifier = { - add = $AGENT_TYPE_03_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_03$ } - } - } - # Agent type 04. - 0 = { - trigger = { - NOT = { scope:agent_type_04 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_04$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_04$ - } - modifier = { - add = $AGENT_TYPE_04_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_04$ } - } - } - # Agent type 05. - 0 = { - trigger = { - NOT = { scope:agent_type_05 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_05$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_05$ - } - modifier = { - add = $AGENT_TYPE_05_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_05$ } - } - } - # Agent type 06. - 0 = { - trigger = { - NOT = { scope:agent_type_06 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_06$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_06$ - } - modifier = { - add = $AGENT_TYPE_06_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_06$ } - } - } - # Agent type 07. - 0 = { - trigger = { - NOT = { scope:agent_type_07 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_07$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_07$ - } - modifier = { - add = $AGENT_TYPE_07_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_07$ } - } - } - # Agent type 08. - 0 = { - trigger = { - NOT = { scope:agent_type_08 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_08$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_08$ - } - modifier = { - add = $AGENT_TYPE_08_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_08$ } - } - } - # Agent type 09. - 0 = { - trigger = { - NOT = { scope:agent_type_09 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_09$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_09$ - } - modifier = { - add = $AGENT_TYPE_09_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_09$ } - } - } - # Agent type 10. - 0 = { - trigger = { - NOT = { scope:agent_type_10 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_10$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_10$ - } - modifier = { - add = $AGENT_TYPE_10_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_10$ } - } - } - # Agent type 11. - 0 = { - trigger = { - NOT = { scope:agent_type_11 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_11$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_11$ - } - modifier = { - add = $AGENT_TYPE_11_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_11$ } - } - } - # Agent type 12. - 0 = { - trigger = { - NOT = { scope:agent_type_12 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_12$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_12$ - } - modifier = { - add = $AGENT_TYPE_12_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_12$ } - } - } - # Agent type 13. - 0 = { - trigger = { - NOT = { scope:agent_type_13 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_13$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_13$ - } - modifier = { - add = $AGENT_TYPE_13_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_13$ } - } - } - # Agent type 14. - 0 = { - trigger = { - NOT = { scope:agent_type_14 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_14$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_14$ - } - modifier = { - add = $AGENT_TYPE_14_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_14$ } - } - } - # Agent type 15. - 0 = { - trigger = { - NOT = { scope:agent_type_15 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_15$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_15$ - } - modifier = { - add = $AGENT_TYPE_15_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_15$ } - } - } - } - ## And var:choice_b. - random_list = { - # Agent type 01. - 0 = { - trigger = { - NOR = { - scope:agent_type_01 = flag:empty - var:choice_a = flag:$AGENT_TYPE_01$ - } - scheme_owner = { can_have_$AGENT_TYPE_01$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_01$ - } - modifier = { - add = $AGENT_TYPE_01_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_01$ } - } - } - # Agent type 02. - 0 = { - trigger = { - NOR = { - scope:agent_type_02 = flag:empty - var:choice_a = flag:$AGENT_TYPE_02$ - } - scheme_owner = { can_have_$AGENT_TYPE_02$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_02$ - } - modifier = { - add = $AGENT_TYPE_02_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_02$ } - } - } - # Agent type 03. - 0 = { - trigger = { - NOR = { - scope:agent_type_03 = flag:empty - var:choice_a = flag:$AGENT_TYPE_03$ - } - scheme_owner = { can_have_$AGENT_TYPE_03$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_03$ - } - modifier = { - add = $AGENT_TYPE_03_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_03$ } - } - } - # Agent type 04. - 0 = { - trigger = { - NOR = { - scope:agent_type_04 = flag:empty - var:choice_a = flag:$AGENT_TYPE_04$ - } - scheme_owner = { can_have_$AGENT_TYPE_04$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_04$ - } - modifier = { - add = $AGENT_TYPE_04_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_04$ } - } - } - # Agent type 05. - 0 = { - trigger = { - NOR = { - scope:agent_type_05 = flag:empty - var:choice_a = flag:$AGENT_TYPE_05$ - } - scheme_owner = { can_have_$AGENT_TYPE_05$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_05$ - } - modifier = { - add = $AGENT_TYPE_05_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_05$ } - } - } - # Agent type 06. - 0 = { - trigger = { - NOR = { - scope:agent_type_06 = flag:empty - var:choice_a = flag:$AGENT_TYPE_06$ - } - scheme_owner = { can_have_$AGENT_TYPE_06$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_06$ - } - modifier = { - add = $AGENT_TYPE_06_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_06$ } - } - } - # Agent type 07. - 0 = { - trigger = { - NOR = { - scope:agent_type_07 = flag:empty - var:choice_a = flag:$AGENT_TYPE_07$ - } - scheme_owner = { can_have_$AGENT_TYPE_07$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_07$ - } - modifier = { - add = $AGENT_TYPE_07_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_07$ } - } - } - # Agent type 08. - 0 = { - trigger = { - NOR = { - scope:agent_type_08 = flag:empty - var:choice_a = flag:$AGENT_TYPE_08$ - } - scheme_owner = { can_have_$AGENT_TYPE_08$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_08$ - } - modifier = { - add = $AGENT_TYPE_08_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_08$ } - } - } - # Agent type 09. - 0 = { - trigger = { - NOR = { - scope:agent_type_09 = flag:empty - var:choice_a = flag:$AGENT_TYPE_09$ - } - scheme_owner = { can_have_$AGENT_TYPE_09$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_09$ - } - modifier = { - add = $AGENT_TYPE_09_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_09$ } - } - } - # Agent type 10. - 0 = { - trigger = { - NOR = { - scope:agent_type_10 = flag:empty - var:choice_a = flag:$AGENT_TYPE_10$ - } - scheme_owner = { can_have_$AGENT_TYPE_10$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_10$ - } - modifier = { - add = $AGENT_TYPE_10_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_10$ } - } - } - # Agent type 11. - 0 = { - trigger = { - NOR = { - scope:agent_type_11 = flag:empty - var:choice_a = flag:$AGENT_TYPE_11$ - } - scheme_owner = { can_have_$AGENT_TYPE_11$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_11$ - } - modifier = { - add = $AGENT_TYPE_11_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_11$ } - } - } - # Agent type 12. - 0 = { - trigger = { - NOR = { - scope:agent_type_12 = flag:empty - var:choice_a = flag:$AGENT_TYPE_12$ - } - scheme_owner = { can_have_$AGENT_TYPE_12$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_12$ - } - modifier = { - add = $AGENT_TYPE_12_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_12$ } - } - } - # Agent type 13. - 0 = { - trigger = { - NOR = { - scope:agent_type_13 = flag:empty - var:choice_a = flag:$AGENT_TYPE_13$ - } - scheme_owner = { can_have_$AGENT_TYPE_13$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_13$ - } - modifier = { - add = $AGENT_TYPE_13_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_13$ } - } - } - # Agent type 14. - 0 = { - trigger = { - NOR = { - scope:agent_type_14 = flag:empty - var:choice_a = flag:$AGENT_TYPE_14$ - } - scheme_owner = { can_have_$AGENT_TYPE_14$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_14$ - } - modifier = { - add = $AGENT_TYPE_14_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_14$ } - } - } - # Agent type 15. - 0 = { - trigger = { - NOR = { - scope:agent_type_15 = flag:empty - var:choice_a = flag:$AGENT_TYPE_15$ - } - scheme_owner = { can_have_$AGENT_TYPE_15$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_15$ - } - modifier = { - add = $AGENT_TYPE_15_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_15$ } - } - } - } - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0001 } - } -} -roll_critical_moment_options_16_agent_types_effect = { - save_scope_as = scheme - scope:scheme.task_contract ?= { save_scope_as = task_contract } - save_scope_value_as = { - name = follow_up_event - value = event_id:$OUTPUT_EVENT$ - } - if = { - limit = { - any_scheme_agent_slot = { count < character_max_scheme_agents_value } - scope:scheme = { - NOR = { - has_variable = choice_a - has_variable = choice_b - } - } - } - # First, let's determine which types we're using and which we ain't. - ## Agent type 01. - save_scope_value_as = { - name = agent_type_01 - value = flag:$AGENT_TYPE_01$ - } - ## Agent type 02. - save_scope_value_as = { - name = agent_type_02 - value = flag:$AGENT_TYPE_02$ - } - ## Agent type 03. - save_scope_value_as = { - name = agent_type_03 - value = flag:$AGENT_TYPE_03$ - } - ## Agent type 04. - save_scope_value_as = { - name = agent_type_04 - value = flag:$AGENT_TYPE_04$ - } - ## Agent type 05. - save_scope_value_as = { - name = agent_type_05 - value = flag:$AGENT_TYPE_05$ - } - ## Agent type 06. - save_scope_value_as = { - name = agent_type_06 - value = flag:$AGENT_TYPE_06$ - } - ## Agent type 07. - save_scope_value_as = { - name = agent_type_07 - value = flag:$AGENT_TYPE_07$ - } - ## Agent type 08. - save_scope_value_as = { - name = agent_type_08 - value = flag:$AGENT_TYPE_08$ - } - ## Agent type 09. - save_scope_value_as = { - name = agent_type_09 - value = flag:$AGENT_TYPE_09$ - } - ## Agent type 10. - save_scope_value_as = { - name = agent_type_10 - value = flag:$AGENT_TYPE_10$ - } - ## Agent type 11. - save_scope_value_as = { - name = agent_type_11 - value = flag:$AGENT_TYPE_11$ - } - ## Agent type 12. - save_scope_value_as = { - name = agent_type_12 - value = flag:$AGENT_TYPE_12$ - } - ## Agent type 13. - save_scope_value_as = { - name = agent_type_13 - value = flag:$AGENT_TYPE_13$ - } - ## Agent type 14. - save_scope_value_as = { - name = agent_type_14 - value = flag:$AGENT_TYPE_14$ - } - ## Agent type 15. - save_scope_value_as = { - name = agent_type_15 - value = flag:$AGENT_TYPE_15$ - } - ## Agent type 16. - save_scope_value_as = { - name = agent_type_16 - value = flag:$AGENT_TYPE_16$ - } - # Then we roll for who's getting picked. - ## For var:choice_a. - random_list = { - # Agent type 01. - 0 = { - trigger = { - NOT = { scope:agent_type_01 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_01$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_01$ - } - modifier = { - add = $AGENT_TYPE_01_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_01$ } - } - } - # Agent type 02. - 0 = { - trigger = { - NOT = { scope:agent_type_02 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_02$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_02$ - } - modifier = { - add = $AGENT_TYPE_02_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_02$ } - } - } - # Agent type 03. - 0 = { - trigger = { - NOT = { scope:agent_type_03 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_03$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_03$ - } - modifier = { - add = $AGENT_TYPE_03_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_03$ } - } - } - # Agent type 04. - 0 = { - trigger = { - NOT = { scope:agent_type_04 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_04$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_04$ - } - modifier = { - add = $AGENT_TYPE_04_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_04$ } - } - } - # Agent type 05. - 0 = { - trigger = { - NOT = { scope:agent_type_05 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_05$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_05$ - } - modifier = { - add = $AGENT_TYPE_05_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_05$ } - } - } - # Agent type 06. - 0 = { - trigger = { - NOT = { scope:agent_type_06 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_06$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_06$ - } - modifier = { - add = $AGENT_TYPE_06_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_06$ } - } - } - # Agent type 07. - 0 = { - trigger = { - NOT = { scope:agent_type_07 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_07$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_07$ - } - modifier = { - add = $AGENT_TYPE_07_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_07$ } - } - } - # Agent type 08. - 0 = { - trigger = { - NOT = { scope:agent_type_08 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_08$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_08$ - } - modifier = { - add = $AGENT_TYPE_08_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_08$ } - } - } - # Agent type 09. - 0 = { - trigger = { - NOT = { scope:agent_type_09 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_09$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_09$ - } - modifier = { - add = $AGENT_TYPE_09_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_09$ } - } - } - # Agent type 10. - 0 = { - trigger = { - NOT = { scope:agent_type_10 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_10$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_10$ - } - modifier = { - add = $AGENT_TYPE_10_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_10$ } - } - } - # Agent type 11. - 0 = { - trigger = { - NOT = { scope:agent_type_11 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_11$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_11$ - } - modifier = { - add = $AGENT_TYPE_11_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_11$ } - } - } - # Agent type 12. - 0 = { - trigger = { - NOT = { scope:agent_type_12 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_12$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_12$ - } - modifier = { - add = $AGENT_TYPE_12_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_12$ } - } - } - # Agent type 13. - 0 = { - trigger = { - NOT = { scope:agent_type_13 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_13$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_13$ - } - modifier = { - add = $AGENT_TYPE_13_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_13$ } - } - } - # Agent type 14. - 0 = { - trigger = { - NOT = { scope:agent_type_14 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_14$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_14$ - } - modifier = { - add = $AGENT_TYPE_14_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_14$ } - } - } - # Agent type 15. - 0 = { - trigger = { - NOT = { scope:agent_type_15 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_15$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_15$ - } - modifier = { - add = $AGENT_TYPE_15_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_15$ } - } - } - # Agent type 16. - 0 = { - trigger = { - NOT = { scope:agent_type_16 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_16$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_16$ - } - modifier = { - add = $AGENT_TYPE_16_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_16$ } - } - } - } - ## And var:choice_b. - random_list = { - # Agent type 01. - 0 = { - trigger = { - NOR = { - scope:agent_type_01 = flag:empty - var:choice_a = flag:$AGENT_TYPE_01$ - } - scheme_owner = { can_have_$AGENT_TYPE_01$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_01$ - } - modifier = { - add = $AGENT_TYPE_01_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_01$ } - } - } - # Agent type 02. - 0 = { - trigger = { - NOR = { - scope:agent_type_02 = flag:empty - var:choice_a = flag:$AGENT_TYPE_02$ - } - scheme_owner = { can_have_$AGENT_TYPE_02$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_02$ - } - modifier = { - add = $AGENT_TYPE_02_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_02$ } - } - } - # Agent type 03. - 0 = { - trigger = { - NOR = { - scope:agent_type_03 = flag:empty - var:choice_a = flag:$AGENT_TYPE_03$ - } - scheme_owner = { can_have_$AGENT_TYPE_03$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_03$ - } - modifier = { - add = $AGENT_TYPE_03_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_03$ } - } - } - # Agent type 04. - 0 = { - trigger = { - NOR = { - scope:agent_type_04 = flag:empty - var:choice_a = flag:$AGENT_TYPE_04$ - } - scheme_owner = { can_have_$AGENT_TYPE_04$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_04$ - } - modifier = { - add = $AGENT_TYPE_04_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_04$ } - } - } - # Agent type 05. - 0 = { - trigger = { - NOR = { - scope:agent_type_05 = flag:empty - var:choice_a = flag:$AGENT_TYPE_05$ - } - scheme_owner = { can_have_$AGENT_TYPE_05$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_05$ - } - modifier = { - add = $AGENT_TYPE_05_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_05$ } - } - } - # Agent type 06. - 0 = { - trigger = { - NOR = { - scope:agent_type_06 = flag:empty - var:choice_a = flag:$AGENT_TYPE_06$ - } - scheme_owner = { can_have_$AGENT_TYPE_06$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_06$ - } - modifier = { - add = $AGENT_TYPE_06_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_06$ } - } - } - # Agent type 07. - 0 = { - trigger = { - NOR = { - scope:agent_type_07 = flag:empty - var:choice_a = flag:$AGENT_TYPE_07$ - } - scheme_owner = { can_have_$AGENT_TYPE_07$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_07$ - } - modifier = { - add = $AGENT_TYPE_07_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_07$ } - } - } - # Agent type 08. - 0 = { - trigger = { - NOR = { - scope:agent_type_08 = flag:empty - var:choice_a = flag:$AGENT_TYPE_08$ - } - scheme_owner = { can_have_$AGENT_TYPE_08$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_08$ - } - modifier = { - add = $AGENT_TYPE_08_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_08$ } - } - } - # Agent type 09. - 0 = { - trigger = { - NOR = { - scope:agent_type_09 = flag:empty - var:choice_a = flag:$AGENT_TYPE_09$ - } - scheme_owner = { can_have_$AGENT_TYPE_09$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_09$ - } - modifier = { - add = $AGENT_TYPE_09_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_09$ } - } - } - # Agent type 10. - 0 = { - trigger = { - NOR = { - scope:agent_type_10 = flag:empty - var:choice_a = flag:$AGENT_TYPE_10$ - } - scheme_owner = { can_have_$AGENT_TYPE_10$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_10$ - } - modifier = { - add = $AGENT_TYPE_10_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_10$ } - } - } - # Agent type 11. - 0 = { - trigger = { - NOR = { - scope:agent_type_11 = flag:empty - var:choice_a = flag:$AGENT_TYPE_11$ - } - scheme_owner = { can_have_$AGENT_TYPE_11$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_11$ - } - modifier = { - add = $AGENT_TYPE_11_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_11$ } - } - } - # Agent type 12. - 0 = { - trigger = { - NOR = { - scope:agent_type_12 = flag:empty - var:choice_a = flag:$AGENT_TYPE_12$ - } - scheme_owner = { can_have_$AGENT_TYPE_12$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_12$ - } - modifier = { - add = $AGENT_TYPE_12_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_12$ } - } - } - # Agent type 13. - 0 = { - trigger = { - NOR = { - scope:agent_type_13 = flag:empty - var:choice_a = flag:$AGENT_TYPE_13$ - } - scheme_owner = { can_have_$AGENT_TYPE_13$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_13$ - } - modifier = { - add = $AGENT_TYPE_13_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_13$ } - } - } - # Agent type 14. - 0 = { - trigger = { - NOR = { - scope:agent_type_14 = flag:empty - var:choice_a = flag:$AGENT_TYPE_14$ - } - scheme_owner = { can_have_$AGENT_TYPE_14$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_14$ - } - modifier = { - add = $AGENT_TYPE_14_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_14$ } - } - } - # Agent type 15. - 0 = { - trigger = { - NOR = { - scope:agent_type_15 = flag:empty - var:choice_a = flag:$AGENT_TYPE_15$ - } - scheme_owner = { can_have_$AGENT_TYPE_15$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_15$ - } - modifier = { - add = $AGENT_TYPE_15_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_15$ } - } - } - # Agent type 16. - 0 = { - trigger = { - NOR = { - scope:agent_type_16 = flag:empty - var:choice_a = flag:$AGENT_TYPE_16$ - } - scheme_owner = { can_have_$AGENT_TYPE_16$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_16$ - } - modifier = { - add = $AGENT_TYPE_16_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_16$ } - } - } - } - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0001 } - } -} -roll_critical_moment_options_17_agent_types_effect = { - save_scope_as = scheme - scope:scheme.task_contract ?= { save_scope_as = task_contract } - save_scope_value_as = { - name = follow_up_event - value = event_id:$OUTPUT_EVENT$ - } - if = { - limit = { - any_scheme_agent_slot = { count < character_max_scheme_agents_value } - scope:scheme = { - NOR = { - has_variable = choice_a - has_variable = choice_b - } - } - } - # First, let's determine which types we're using and which we ain't. - ## Agent type 01. - save_scope_value_as = { - name = agent_type_01 - value = flag:$AGENT_TYPE_01$ - } - ## Agent type 02. - save_scope_value_as = { - name = agent_type_02 - value = flag:$AGENT_TYPE_02$ - } - ## Agent type 03. - save_scope_value_as = { - name = agent_type_03 - value = flag:$AGENT_TYPE_03$ - } - ## Agent type 04. - save_scope_value_as = { - name = agent_type_04 - value = flag:$AGENT_TYPE_04$ - } - ## Agent type 05. - save_scope_value_as = { - name = agent_type_05 - value = flag:$AGENT_TYPE_05$ - } - ## Agent type 06. - save_scope_value_as = { - name = agent_type_06 - value = flag:$AGENT_TYPE_06$ - } - ## Agent type 07. - save_scope_value_as = { - name = agent_type_07 - value = flag:$AGENT_TYPE_07$ - } - ## Agent type 08. - save_scope_value_as = { - name = agent_type_08 - value = flag:$AGENT_TYPE_08$ - } - ## Agent type 09. - save_scope_value_as = { - name = agent_type_09 - value = flag:$AGENT_TYPE_09$ - } - ## Agent type 10. - save_scope_value_as = { - name = agent_type_10 - value = flag:$AGENT_TYPE_10$ - } - ## Agent type 11. - save_scope_value_as = { - name = agent_type_11 - value = flag:$AGENT_TYPE_11$ - } - ## Agent type 12. - save_scope_value_as = { - name = agent_type_12 - value = flag:$AGENT_TYPE_12$ - } - ## Agent type 13. - save_scope_value_as = { - name = agent_type_13 - value = flag:$AGENT_TYPE_13$ - } - ## Agent type 14. - save_scope_value_as = { - name = agent_type_14 - value = flag:$AGENT_TYPE_14$ - } - ## Agent type 15. - save_scope_value_as = { - name = agent_type_15 - value = flag:$AGENT_TYPE_15$ - } - ## Agent type 16. - save_scope_value_as = { - name = agent_type_16 - value = flag:$AGENT_TYPE_16$ - } - ## Agent type 17. - save_scope_value_as = { - name = agent_type_17 - value = flag:$AGENT_TYPE_17$ - } - # Then we roll for who's getting picked. - ## For var:choice_a. - random_list = { - # Agent type 01. - 0 = { - trigger = { - NOT = { scope:agent_type_01 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_01$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_01$ - } - modifier = { - add = $AGENT_TYPE_01_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_01$ } - } - } - # Agent type 02. - 0 = { - trigger = { - NOT = { scope:agent_type_02 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_02$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_02$ - } - modifier = { - add = $AGENT_TYPE_02_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_02$ } - } - } - # Agent type 03. - 0 = { - trigger = { - NOT = { scope:agent_type_03 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_03$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_03$ - } - modifier = { - add = $AGENT_TYPE_03_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_03$ } - } - } - # Agent type 04. - 0 = { - trigger = { - NOT = { scope:agent_type_04 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_04$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_04$ - } - modifier = { - add = $AGENT_TYPE_04_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_04$ } - } - } - # Agent type 05. - 0 = { - trigger = { - NOT = { scope:agent_type_05 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_05$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_05$ - } - modifier = { - add = $AGENT_TYPE_05_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_05$ } - } - } - # Agent type 06. - 0 = { - trigger = { - NOT = { scope:agent_type_06 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_06$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_06$ - } - modifier = { - add = $AGENT_TYPE_06_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_06$ } - } - } - # Agent type 07. - 0 = { - trigger = { - NOT = { scope:agent_type_07 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_07$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_07$ - } - modifier = { - add = $AGENT_TYPE_07_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_07$ } - } - } - # Agent type 08. - 0 = { - trigger = { - NOT = { scope:agent_type_08 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_08$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_08$ - } - modifier = { - add = $AGENT_TYPE_08_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_08$ } - } - } - # Agent type 09. - 0 = { - trigger = { - NOT = { scope:agent_type_09 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_09$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_09$ - } - modifier = { - add = $AGENT_TYPE_09_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_09$ } - } - } - # Agent type 10. - 0 = { - trigger = { - NOT = { scope:agent_type_10 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_10$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_10$ - } - modifier = { - add = $AGENT_TYPE_10_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_10$ } - } - } - # Agent type 11. - 0 = { - trigger = { - NOT = { scope:agent_type_11 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_11$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_11$ - } - modifier = { - add = $AGENT_TYPE_11_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_11$ } - } - } - # Agent type 12. - 0 = { - trigger = { - NOT = { scope:agent_type_12 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_12$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_12$ - } - modifier = { - add = $AGENT_TYPE_12_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_12$ } - } - } - # Agent type 13. - 0 = { - trigger = { - NOT = { scope:agent_type_13 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_13$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_13$ - } - modifier = { - add = $AGENT_TYPE_13_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_13$ } - } - } - # Agent type 14. - 0 = { - trigger = { - NOT = { scope:agent_type_14 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_14$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_14$ - } - modifier = { - add = $AGENT_TYPE_14_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_14$ } - } - } - # Agent type 15. - 0 = { - trigger = { - NOT = { scope:agent_type_15 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_15$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_15$ - } - modifier = { - add = $AGENT_TYPE_15_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_15$ } - } - } - # Agent type 16. - 0 = { - trigger = { - NOT = { scope:agent_type_16 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_16$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_16$ - } - modifier = { - add = $AGENT_TYPE_16_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_16$ } - } - } - # Agent type 17. - 0 = { - trigger = { - NOT = { scope:agent_type_17 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_17$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_17$ - } - modifier = { - add = $AGENT_TYPE_17_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_17$ } - } - } - } - ## And var:choice_b. - random_list = { - # Agent type 01. - 0 = { - trigger = { - NOR = { - scope:agent_type_01 = flag:empty - var:choice_a = flag:$AGENT_TYPE_01$ - } - scheme_owner = { can_have_$AGENT_TYPE_01$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_01$ - } - modifier = { - add = $AGENT_TYPE_01_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_01$ } - } - } - # Agent type 02. - 0 = { - trigger = { - NOR = { - scope:agent_type_02 = flag:empty - var:choice_a = flag:$AGENT_TYPE_02$ - } - scheme_owner = { can_have_$AGENT_TYPE_02$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_02$ - } - modifier = { - add = $AGENT_TYPE_02_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_02$ } - } - } - # Agent type 03. - 0 = { - trigger = { - NOR = { - scope:agent_type_03 = flag:empty - var:choice_a = flag:$AGENT_TYPE_03$ - } - scheme_owner = { can_have_$AGENT_TYPE_03$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_03$ - } - modifier = { - add = $AGENT_TYPE_03_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_03$ } - } - } - # Agent type 04. - 0 = { - trigger = { - NOR = { - scope:agent_type_04 = flag:empty - var:choice_a = flag:$AGENT_TYPE_04$ - } - scheme_owner = { can_have_$AGENT_TYPE_04$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_04$ - } - modifier = { - add = $AGENT_TYPE_04_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_04$ } - } - } - # Agent type 05. - 0 = { - trigger = { - NOR = { - scope:agent_type_05 = flag:empty - var:choice_a = flag:$AGENT_TYPE_05$ - } - scheme_owner = { can_have_$AGENT_TYPE_05$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_05$ - } - modifier = { - add = $AGENT_TYPE_05_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_05$ } - } - } - # Agent type 06. - 0 = { - trigger = { - NOR = { - scope:agent_type_06 = flag:empty - var:choice_a = flag:$AGENT_TYPE_06$ - } - scheme_owner = { can_have_$AGENT_TYPE_06$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_06$ - } - modifier = { - add = $AGENT_TYPE_06_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_06$ } - } - } - # Agent type 07. - 0 = { - trigger = { - NOR = { - scope:agent_type_07 = flag:empty - var:choice_a = flag:$AGENT_TYPE_07$ - } - scheme_owner = { can_have_$AGENT_TYPE_07$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_07$ - } - modifier = { - add = $AGENT_TYPE_07_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_07$ } - } - } - # Agent type 08. - 0 = { - trigger = { - NOR = { - scope:agent_type_08 = flag:empty - var:choice_a = flag:$AGENT_TYPE_08$ - } - scheme_owner = { can_have_$AGENT_TYPE_08$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_08$ - } - modifier = { - add = $AGENT_TYPE_08_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_08$ } - } - } - # Agent type 09. - 0 = { - trigger = { - NOR = { - scope:agent_type_09 = flag:empty - var:choice_a = flag:$AGENT_TYPE_09$ - } - scheme_owner = { can_have_$AGENT_TYPE_09$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_09$ - } - modifier = { - add = $AGENT_TYPE_09_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_09$ } - } - } - # Agent type 10. - 0 = { - trigger = { - NOR = { - scope:agent_type_10 = flag:empty - var:choice_a = flag:$AGENT_TYPE_10$ - } - scheme_owner = { can_have_$AGENT_TYPE_10$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_10$ - } - modifier = { - add = $AGENT_TYPE_10_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_10$ } - } - } - # Agent type 11. - 0 = { - trigger = { - NOR = { - scope:agent_type_11 = flag:empty - var:choice_a = flag:$AGENT_TYPE_11$ - } - scheme_owner = { can_have_$AGENT_TYPE_11$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_11$ - } - modifier = { - add = $AGENT_TYPE_11_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_11$ } - } - } - # Agent type 12. - 0 = { - trigger = { - NOR = { - scope:agent_type_12 = flag:empty - var:choice_a = flag:$AGENT_TYPE_12$ - } - scheme_owner = { can_have_$AGENT_TYPE_12$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_12$ - } - modifier = { - add = $AGENT_TYPE_12_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_12$ } - } - } - # Agent type 13. - 0 = { - trigger = { - NOR = { - scope:agent_type_13 = flag:empty - var:choice_a = flag:$AGENT_TYPE_13$ - } - scheme_owner = { can_have_$AGENT_TYPE_13$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_13$ - } - modifier = { - add = $AGENT_TYPE_13_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_13$ } - } - } - # Agent type 14. - 0 = { - trigger = { - NOR = { - scope:agent_type_14 = flag:empty - var:choice_a = flag:$AGENT_TYPE_14$ - } - scheme_owner = { can_have_$AGENT_TYPE_14$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_14$ - } - modifier = { - add = $AGENT_TYPE_14_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_14$ } - } - } - # Agent type 15. - 0 = { - trigger = { - NOR = { - scope:agent_type_15 = flag:empty - var:choice_a = flag:$AGENT_TYPE_15$ - } - scheme_owner = { can_have_$AGENT_TYPE_15$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_15$ - } - modifier = { - add = $AGENT_TYPE_15_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_15$ } - } - } - # Agent type 16. - 0 = { - trigger = { - NOR = { - scope:agent_type_16 = flag:empty - var:choice_a = flag:$AGENT_TYPE_16$ - } - scheme_owner = { can_have_$AGENT_TYPE_16$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_16$ - } - modifier = { - add = $AGENT_TYPE_16_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_16$ } - } - } - # Agent type 17. - 0 = { - trigger = { - NOR = { - scope:agent_type_17 = flag:empty - var:choice_a = flag:$AGENT_TYPE_17$ - } - scheme_owner = { can_have_$AGENT_TYPE_17$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_17$ - } - modifier = { - add = $AGENT_TYPE_17_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_17$ } - } - } - } - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0001 } - } -} -roll_critical_moment_options_18_agent_types_effect = { - save_scope_as = scheme - scope:scheme.task_contract ?= { save_scope_as = task_contract } - save_scope_value_as = { - name = follow_up_event - value = event_id:$OUTPUT_EVENT$ - } - if = { - limit = { - any_scheme_agent_slot = { count < character_max_scheme_agents_value } - scope:scheme = { - NOR = { - has_variable = choice_a - has_variable = choice_b - } - } - } - # First, let's determine which types we're using and which we ain't. - ## Agent type 01. - save_scope_value_as = { - name = agent_type_01 - value = flag:$AGENT_TYPE_01$ - } - ## Agent type 02. - save_scope_value_as = { - name = agent_type_02 - value = flag:$AGENT_TYPE_02$ - } - ## Agent type 03. - save_scope_value_as = { - name = agent_type_03 - value = flag:$AGENT_TYPE_03$ - } - ## Agent type 04. - save_scope_value_as = { - name = agent_type_04 - value = flag:$AGENT_TYPE_04$ - } - ## Agent type 05. - save_scope_value_as = { - name = agent_type_05 - value = flag:$AGENT_TYPE_05$ - } - ## Agent type 06. - save_scope_value_as = { - name = agent_type_06 - value = flag:$AGENT_TYPE_06$ - } - ## Agent type 07. - save_scope_value_as = { - name = agent_type_07 - value = flag:$AGENT_TYPE_07$ - } - ## Agent type 08. - save_scope_value_as = { - name = agent_type_08 - value = flag:$AGENT_TYPE_08$ - } - ## Agent type 09. - save_scope_value_as = { - name = agent_type_09 - value = flag:$AGENT_TYPE_09$ - } - ## Agent type 10. - save_scope_value_as = { - name = agent_type_10 - value = flag:$AGENT_TYPE_10$ - } - ## Agent type 11. - save_scope_value_as = { - name = agent_type_11 - value = flag:$AGENT_TYPE_11$ - } - ## Agent type 12. - save_scope_value_as = { - name = agent_type_12 - value = flag:$AGENT_TYPE_12$ - } - ## Agent type 13. - save_scope_value_as = { - name = agent_type_13 - value = flag:$AGENT_TYPE_13$ - } - ## Agent type 14. - save_scope_value_as = { - name = agent_type_14 - value = flag:$AGENT_TYPE_14$ - } - ## Agent type 15. - save_scope_value_as = { - name = agent_type_15 - value = flag:$AGENT_TYPE_15$ - } - ## Agent type 16. - save_scope_value_as = { - name = agent_type_16 - value = flag:$AGENT_TYPE_16$ - } - ## Agent type 17. - save_scope_value_as = { - name = agent_type_17 - value = flag:$AGENT_TYPE_17$ - } - ## Agent type 18. - save_scope_value_as = { - name = agent_type_18 - value = flag:$AGENT_TYPE_18$ - } - # Then we roll for who's getting picked. - ## For var:choice_a. - random_list = { - # Agent type 01. - 0 = { - trigger = { - NOT = { scope:agent_type_01 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_01$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_01$ - } - modifier = { - add = $AGENT_TYPE_01_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_01$ } - } - } - # Agent type 02. - 0 = { - trigger = { - NOT = { scope:agent_type_02 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_02$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_02$ - } - modifier = { - add = $AGENT_TYPE_02_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_02$ } - } - } - # Agent type 03. - 0 = { - trigger = { - NOT = { scope:agent_type_03 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_03$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_03$ - } - modifier = { - add = $AGENT_TYPE_03_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_03$ } - } - } - # Agent type 04. - 0 = { - trigger = { - NOT = { scope:agent_type_04 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_04$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_04$ - } - modifier = { - add = $AGENT_TYPE_04_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_04$ } - } - } - # Agent type 05. - 0 = { - trigger = { - NOT = { scope:agent_type_05 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_05$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_05$ - } - modifier = { - add = $AGENT_TYPE_05_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_05$ } - } - } - # Agent type 06. - 0 = { - trigger = { - NOT = { scope:agent_type_06 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_06$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_06$ - } - modifier = { - add = $AGENT_TYPE_06_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_06$ } - } - } - # Agent type 07. - 0 = { - trigger = { - NOT = { scope:agent_type_07 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_07$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_07$ - } - modifier = { - add = $AGENT_TYPE_07_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_07$ } - } - } - # Agent type 08. - 0 = { - trigger = { - NOT = { scope:agent_type_08 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_08$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_08$ - } - modifier = { - add = $AGENT_TYPE_08_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_08$ } - } - } - # Agent type 09. - 0 = { - trigger = { - NOT = { scope:agent_type_09 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_09$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_09$ - } - modifier = { - add = $AGENT_TYPE_09_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_09$ } - } - } - # Agent type 10. - 0 = { - trigger = { - NOT = { scope:agent_type_10 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_10$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_10$ - } - modifier = { - add = $AGENT_TYPE_10_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_10$ } - } - } - # Agent type 11. - 0 = { - trigger = { - NOT = { scope:agent_type_11 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_11$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_11$ - } - modifier = { - add = $AGENT_TYPE_11_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_11$ } - } - } - # Agent type 12. - 0 = { - trigger = { - NOT = { scope:agent_type_12 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_12$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_12$ - } - modifier = { - add = $AGENT_TYPE_12_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_12$ } - } - } - # Agent type 13. - 0 = { - trigger = { - NOT = { scope:agent_type_13 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_13$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_13$ - } - modifier = { - add = $AGENT_TYPE_13_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_13$ } - } - } - # Agent type 14. - 0 = { - trigger = { - NOT = { scope:agent_type_14 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_14$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_14$ - } - modifier = { - add = $AGENT_TYPE_14_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_14$ } - } - } - # Agent type 15. - 0 = { - trigger = { - NOT = { scope:agent_type_15 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_15$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_15$ - } - modifier = { - add = $AGENT_TYPE_15_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_15$ } - } - } - # Agent type 16. - 0 = { - trigger = { - NOT = { scope:agent_type_16 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_16$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_16$ - } - modifier = { - add = $AGENT_TYPE_16_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_16$ } - } - } - # Agent type 17. - 0 = { - trigger = { - NOT = { scope:agent_type_17 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_17$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_17$ - } - modifier = { - add = $AGENT_TYPE_17_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_17$ } - } - } - # Agent type 18. - 0 = { - trigger = { - NOT = { scope:agent_type_18 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_18$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_18$ - } - modifier = { - add = $AGENT_TYPE_18_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_18$ } - } - } - } - ## And var:choice_b. - random_list = { - # Agent type 01. - 0 = { - trigger = { - NOR = { - scope:agent_type_01 = flag:empty - var:choice_a = flag:$AGENT_TYPE_01$ - } - scheme_owner = { can_have_$AGENT_TYPE_01$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_01$ - } - modifier = { - add = $AGENT_TYPE_01_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_01$ } - } - } - # Agent type 02. - 0 = { - trigger = { - NOR = { - scope:agent_type_02 = flag:empty - var:choice_a = flag:$AGENT_TYPE_02$ - } - scheme_owner = { can_have_$AGENT_TYPE_02$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_02$ - } - modifier = { - add = $AGENT_TYPE_02_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_02$ } - } - } - # Agent type 03. - 0 = { - trigger = { - NOR = { - scope:agent_type_03 = flag:empty - var:choice_a = flag:$AGENT_TYPE_03$ - } - scheme_owner = { can_have_$AGENT_TYPE_03$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_03$ - } - modifier = { - add = $AGENT_TYPE_03_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_03$ } - } - } - # Agent type 04. - 0 = { - trigger = { - NOR = { - scope:agent_type_04 = flag:empty - var:choice_a = flag:$AGENT_TYPE_04$ - } - scheme_owner = { can_have_$AGENT_TYPE_04$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_04$ - } - modifier = { - add = $AGENT_TYPE_04_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_04$ } - } - } - # Agent type 05. - 0 = { - trigger = { - NOR = { - scope:agent_type_05 = flag:empty - var:choice_a = flag:$AGENT_TYPE_05$ - } - scheme_owner = { can_have_$AGENT_TYPE_05$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_05$ - } - modifier = { - add = $AGENT_TYPE_05_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_05$ } - } - } - # Agent type 06. - 0 = { - trigger = { - NOR = { - scope:agent_type_06 = flag:empty - var:choice_a = flag:$AGENT_TYPE_06$ - } - scheme_owner = { can_have_$AGENT_TYPE_06$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_06$ - } - modifier = { - add = $AGENT_TYPE_06_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_06$ } - } - } - # Agent type 07. - 0 = { - trigger = { - NOR = { - scope:agent_type_07 = flag:empty - var:choice_a = flag:$AGENT_TYPE_07$ - } - scheme_owner = { can_have_$AGENT_TYPE_07$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_07$ - } - modifier = { - add = $AGENT_TYPE_07_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_07$ } - } - } - # Agent type 08. - 0 = { - trigger = { - NOR = { - scope:agent_type_08 = flag:empty - var:choice_a = flag:$AGENT_TYPE_08$ - } - scheme_owner = { can_have_$AGENT_TYPE_08$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_08$ - } - modifier = { - add = $AGENT_TYPE_08_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_08$ } - } - } - # Agent type 09. - 0 = { - trigger = { - NOR = { - scope:agent_type_09 = flag:empty - var:choice_a = flag:$AGENT_TYPE_09$ - } - scheme_owner = { can_have_$AGENT_TYPE_09$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_09$ - } - modifier = { - add = $AGENT_TYPE_09_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_09$ } - } - } - # Agent type 10. - 0 = { - trigger = { - NOR = { - scope:agent_type_10 = flag:empty - var:choice_a = flag:$AGENT_TYPE_10$ - } - scheme_owner = { can_have_$AGENT_TYPE_10$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_10$ - } - modifier = { - add = $AGENT_TYPE_10_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_10$ } - } - } - # Agent type 11. - 0 = { - trigger = { - NOR = { - scope:agent_type_11 = flag:empty - var:choice_a = flag:$AGENT_TYPE_11$ - } - scheme_owner = { can_have_$AGENT_TYPE_11$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_11$ - } - modifier = { - add = $AGENT_TYPE_11_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_11$ } - } - } - # Agent type 12. - 0 = { - trigger = { - NOR = { - scope:agent_type_12 = flag:empty - var:choice_a = flag:$AGENT_TYPE_12$ - } - scheme_owner = { can_have_$AGENT_TYPE_12$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_12$ - } - modifier = { - add = $AGENT_TYPE_12_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_12$ } - } - } - # Agent type 13. - 0 = { - trigger = { - NOR = { - scope:agent_type_13 = flag:empty - var:choice_a = flag:$AGENT_TYPE_13$ - } - scheme_owner = { can_have_$AGENT_TYPE_13$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_13$ - } - modifier = { - add = $AGENT_TYPE_13_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_13$ } - } - } - # Agent type 14. - 0 = { - trigger = { - NOR = { - scope:agent_type_14 = flag:empty - var:choice_a = flag:$AGENT_TYPE_14$ - } - scheme_owner = { can_have_$AGENT_TYPE_14$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_14$ - } - modifier = { - add = $AGENT_TYPE_14_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_14$ } - } - } - # Agent type 15. - 0 = { - trigger = { - NOR = { - scope:agent_type_15 = flag:empty - var:choice_a = flag:$AGENT_TYPE_15$ - } - scheme_owner = { can_have_$AGENT_TYPE_15$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_15$ - } - modifier = { - add = $AGENT_TYPE_15_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_15$ } - } - } - # Agent type 16. - 0 = { - trigger = { - NOR = { - scope:agent_type_16 = flag:empty - var:choice_a = flag:$AGENT_TYPE_16$ - } - scheme_owner = { can_have_$AGENT_TYPE_16$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_16$ - } - modifier = { - add = $AGENT_TYPE_16_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_16$ } - } - } - # Agent type 17. - 0 = { - trigger = { - NOR = { - scope:agent_type_17 = flag:empty - var:choice_a = flag:$AGENT_TYPE_17$ - } - scheme_owner = { can_have_$AGENT_TYPE_17$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_17$ - } - modifier = { - add = $AGENT_TYPE_17_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_17$ } - } - } - # Agent type 18. - 0 = { - trigger = { - NOR = { - scope:agent_type_18 = flag:empty - var:choice_a = flag:$AGENT_TYPE_18$ - } - scheme_owner = { can_have_$AGENT_TYPE_18$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_18$ - } - modifier = { - add = $AGENT_TYPE_18_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_18$ } - } - } - } - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0001 } - } -} -roll_critical_moment_options_19_agent_types_effect = { - save_scope_as = scheme - scope:scheme.task_contract ?= { save_scope_as = task_contract } - save_scope_value_as = { - name = follow_up_event - value = event_id:$OUTPUT_EVENT$ - } - if = { - limit = { - any_scheme_agent_slot = { count < character_max_scheme_agents_value } - scope:scheme = { - NOR = { - has_variable = choice_a - has_variable = choice_b - } - } - } - # First, let's determine which types we're using and which we ain't. - ## Agent type 01. - save_scope_value_as = { - name = agent_type_01 - value = flag:$AGENT_TYPE_01$ - } - ## Agent type 02. - save_scope_value_as = { - name = agent_type_02 - value = flag:$AGENT_TYPE_02$ - } - ## Agent type 03. - save_scope_value_as = { - name = agent_type_03 - value = flag:$AGENT_TYPE_03$ - } - ## Agent type 04. - save_scope_value_as = { - name = agent_type_04 - value = flag:$AGENT_TYPE_04$ - } - ## Agent type 05. - save_scope_value_as = { - name = agent_type_05 - value = flag:$AGENT_TYPE_05$ - } - ## Agent type 06. - save_scope_value_as = { - name = agent_type_06 - value = flag:$AGENT_TYPE_06$ - } - ## Agent type 07. - save_scope_value_as = { - name = agent_type_07 - value = flag:$AGENT_TYPE_07$ - } - ## Agent type 08. - save_scope_value_as = { - name = agent_type_08 - value = flag:$AGENT_TYPE_08$ - } - ## Agent type 09. - save_scope_value_as = { - name = agent_type_09 - value = flag:$AGENT_TYPE_09$ - } - ## Agent type 10. - save_scope_value_as = { - name = agent_type_10 - value = flag:$AGENT_TYPE_10$ - } - ## Agent type 11. - save_scope_value_as = { - name = agent_type_11 - value = flag:$AGENT_TYPE_11$ - } - ## Agent type 12. - save_scope_value_as = { - name = agent_type_12 - value = flag:$AGENT_TYPE_12$ - } - ## Agent type 13. - save_scope_value_as = { - name = agent_type_13 - value = flag:$AGENT_TYPE_13$ - } - ## Agent type 14. - save_scope_value_as = { - name = agent_type_14 - value = flag:$AGENT_TYPE_14$ - } - ## Agent type 15. - save_scope_value_as = { - name = agent_type_15 - value = flag:$AGENT_TYPE_15$ - } - ## Agent type 16. - save_scope_value_as = { - name = agent_type_16 - value = flag:$AGENT_TYPE_16$ - } - ## Agent type 17. - save_scope_value_as = { - name = agent_type_17 - value = flag:$AGENT_TYPE_17$ - } - ## Agent type 18. - save_scope_value_as = { - name = agent_type_18 - value = flag:$AGENT_TYPE_18$ - } - ## Agent type 19. - save_scope_value_as = { - name = agent_type_19 - value = flag:$AGENT_TYPE_19$ - } - # Then we roll for who's getting picked. - ## For var:choice_a. - random_list = { - # Agent type 01. - 0 = { - trigger = { - NOT = { scope:agent_type_01 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_01$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_01$ - } - modifier = { - add = $AGENT_TYPE_01_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_01$ } - } - } - # Agent type 02. - 0 = { - trigger = { - NOT = { scope:agent_type_02 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_02$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_02$ - } - modifier = { - add = $AGENT_TYPE_02_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_02$ } - } - } - # Agent type 03. - 0 = { - trigger = { - NOT = { scope:agent_type_03 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_03$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_03$ - } - modifier = { - add = $AGENT_TYPE_03_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_03$ } - } - } - # Agent type 04. - 0 = { - trigger = { - NOT = { scope:agent_type_04 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_04$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_04$ - } - modifier = { - add = $AGENT_TYPE_04_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_04$ } - } - } - # Agent type 05. - 0 = { - trigger = { - NOT = { scope:agent_type_05 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_05$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_05$ - } - modifier = { - add = $AGENT_TYPE_05_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_05$ } - } - } - # Agent type 06. - 0 = { - trigger = { - NOT = { scope:agent_type_06 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_06$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_06$ - } - modifier = { - add = $AGENT_TYPE_06_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_06$ } - } - } - # Agent type 07. - 0 = { - trigger = { - NOT = { scope:agent_type_07 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_07$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_07$ - } - modifier = { - add = $AGENT_TYPE_07_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_07$ } - } - } - # Agent type 08. - 0 = { - trigger = { - NOT = { scope:agent_type_08 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_08$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_08$ - } - modifier = { - add = $AGENT_TYPE_08_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_08$ } - } - } - # Agent type 09. - 0 = { - trigger = { - NOT = { scope:agent_type_09 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_09$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_09$ - } - modifier = { - add = $AGENT_TYPE_09_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_09$ } - } - } - # Agent type 10. - 0 = { - trigger = { - NOT = { scope:agent_type_10 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_10$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_10$ - } - modifier = { - add = $AGENT_TYPE_10_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_10$ } - } - } - # Agent type 11. - 0 = { - trigger = { - NOT = { scope:agent_type_11 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_11$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_11$ - } - modifier = { - add = $AGENT_TYPE_11_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_11$ } - } - } - # Agent type 12. - 0 = { - trigger = { - NOT = { scope:agent_type_12 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_12$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_12$ - } - modifier = { - add = $AGENT_TYPE_12_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_12$ } - } - } - # Agent type 13. - 0 = { - trigger = { - NOT = { scope:agent_type_13 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_13$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_13$ - } - modifier = { - add = $AGENT_TYPE_13_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_13$ } - } - } - # Agent type 14. - 0 = { - trigger = { - NOT = { scope:agent_type_14 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_14$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_14$ - } - modifier = { - add = $AGENT_TYPE_14_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_14$ } - } - } - # Agent type 15. - 0 = { - trigger = { - NOT = { scope:agent_type_15 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_15$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_15$ - } - modifier = { - add = $AGENT_TYPE_15_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_15$ } - } - } - # Agent type 16. - 0 = { - trigger = { - NOT = { scope:agent_type_16 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_16$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_16$ - } - modifier = { - add = $AGENT_TYPE_16_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_16$ } - } - } - # Agent type 17. - 0 = { - trigger = { - NOT = { scope:agent_type_17 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_17$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_17$ - } - modifier = { - add = $AGENT_TYPE_17_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_17$ } - } - } - # Agent type 18. - 0 = { - trigger = { - NOT = { scope:agent_type_18 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_18$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_18$ - } - modifier = { - add = $AGENT_TYPE_18_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_18$ } - } - } - # Agent type 19. - 0 = { - trigger = { - NOT = { scope:agent_type_19 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_19$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_19$ - } - modifier = { - add = $AGENT_TYPE_19_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_19$ } - } - } - } - ## And var:choice_b. - random_list = { - # Agent type 01. - 0 = { - trigger = { - NOR = { - scope:agent_type_01 = flag:empty - var:choice_a = flag:$AGENT_TYPE_01$ - } - scheme_owner = { can_have_$AGENT_TYPE_01$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_01$ - } - modifier = { - add = $AGENT_TYPE_01_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_01$ } - } - } - # Agent type 02. - 0 = { - trigger = { - NOR = { - scope:agent_type_02 = flag:empty - var:choice_a = flag:$AGENT_TYPE_02$ - } - scheme_owner = { can_have_$AGENT_TYPE_02$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_02$ - } - modifier = { - add = $AGENT_TYPE_02_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_02$ } - } - } - # Agent type 03. - 0 = { - trigger = { - NOR = { - scope:agent_type_03 = flag:empty - var:choice_a = flag:$AGENT_TYPE_03$ - } - scheme_owner = { can_have_$AGENT_TYPE_03$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_03$ - } - modifier = { - add = $AGENT_TYPE_03_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_03$ } - } - } - # Agent type 04. - 0 = { - trigger = { - NOR = { - scope:agent_type_04 = flag:empty - var:choice_a = flag:$AGENT_TYPE_04$ - } - scheme_owner = { can_have_$AGENT_TYPE_04$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_04$ - } - modifier = { - add = $AGENT_TYPE_04_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_04$ } - } - } - # Agent type 05. - 0 = { - trigger = { - NOR = { - scope:agent_type_05 = flag:empty - var:choice_a = flag:$AGENT_TYPE_05$ - } - scheme_owner = { can_have_$AGENT_TYPE_05$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_05$ - } - modifier = { - add = $AGENT_TYPE_05_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_05$ } - } - } - # Agent type 06. - 0 = { - trigger = { - NOR = { - scope:agent_type_06 = flag:empty - var:choice_a = flag:$AGENT_TYPE_06$ - } - scheme_owner = { can_have_$AGENT_TYPE_06$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_06$ - } - modifier = { - add = $AGENT_TYPE_06_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_06$ } - } - } - # Agent type 07. - 0 = { - trigger = { - NOR = { - scope:agent_type_07 = flag:empty - var:choice_a = flag:$AGENT_TYPE_07$ - } - scheme_owner = { can_have_$AGENT_TYPE_07$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_07$ - } - modifier = { - add = $AGENT_TYPE_07_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_07$ } - } - } - # Agent type 08. - 0 = { - trigger = { - NOR = { - scope:agent_type_08 = flag:empty - var:choice_a = flag:$AGENT_TYPE_08$ - } - scheme_owner = { can_have_$AGENT_TYPE_08$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_08$ - } - modifier = { - add = $AGENT_TYPE_08_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_08$ } - } - } - # Agent type 09. - 0 = { - trigger = { - NOR = { - scope:agent_type_09 = flag:empty - var:choice_a = flag:$AGENT_TYPE_09$ - } - scheme_owner = { can_have_$AGENT_TYPE_09$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_09$ - } - modifier = { - add = $AGENT_TYPE_09_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_09$ } - } - } - # Agent type 10. - 0 = { - trigger = { - NOR = { - scope:agent_type_10 = flag:empty - var:choice_a = flag:$AGENT_TYPE_10$ - } - scheme_owner = { can_have_$AGENT_TYPE_10$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_10$ - } - modifier = { - add = $AGENT_TYPE_10_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_10$ } - } - } - # Agent type 11. - 0 = { - trigger = { - NOR = { - scope:agent_type_11 = flag:empty - var:choice_a = flag:$AGENT_TYPE_11$ - } - scheme_owner = { can_have_$AGENT_TYPE_11$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_11$ - } - modifier = { - add = $AGENT_TYPE_11_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_11$ } - } - } - # Agent type 12. - 0 = { - trigger = { - NOR = { - scope:agent_type_12 = flag:empty - var:choice_a = flag:$AGENT_TYPE_12$ - } - scheme_owner = { can_have_$AGENT_TYPE_12$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_12$ - } - modifier = { - add = $AGENT_TYPE_12_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_12$ } - } - } - # Agent type 13. - 0 = { - trigger = { - NOR = { - scope:agent_type_13 = flag:empty - var:choice_a = flag:$AGENT_TYPE_13$ - } - scheme_owner = { can_have_$AGENT_TYPE_13$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_13$ - } - modifier = { - add = $AGENT_TYPE_13_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_13$ } - } - } - # Agent type 14. - 0 = { - trigger = { - NOR = { - scope:agent_type_14 = flag:empty - var:choice_a = flag:$AGENT_TYPE_14$ - } - scheme_owner = { can_have_$AGENT_TYPE_14$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_14$ - } - modifier = { - add = $AGENT_TYPE_14_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_14$ } - } - } - # Agent type 15. - 0 = { - trigger = { - NOR = { - scope:agent_type_15 = flag:empty - var:choice_a = flag:$AGENT_TYPE_15$ - } - scheme_owner = { can_have_$AGENT_TYPE_15$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_15$ - } - modifier = { - add = $AGENT_TYPE_15_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_15$ } - } - } - # Agent type 16. - 0 = { - trigger = { - NOR = { - scope:agent_type_16 = flag:empty - var:choice_a = flag:$AGENT_TYPE_16$ - } - scheme_owner = { can_have_$AGENT_TYPE_16$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_16$ - } - modifier = { - add = $AGENT_TYPE_16_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_16$ } - } - } - # Agent type 17. - 0 = { - trigger = { - NOR = { - scope:agent_type_17 = flag:empty - var:choice_a = flag:$AGENT_TYPE_17$ - } - scheme_owner = { can_have_$AGENT_TYPE_17$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_17$ - } - modifier = { - add = $AGENT_TYPE_17_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_17$ } - } - } - # Agent type 18. - 0 = { - trigger = { - NOR = { - scope:agent_type_18 = flag:empty - var:choice_a = flag:$AGENT_TYPE_18$ - } - scheme_owner = { can_have_$AGENT_TYPE_18$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_18$ - } - modifier = { - add = $AGENT_TYPE_18_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_18$ } - } - } - # Agent type 19. - 0 = { - trigger = { - NOR = { - scope:agent_type_19 = flag:empty - var:choice_a = flag:$AGENT_TYPE_19$ - } - scheme_owner = { can_have_$AGENT_TYPE_19$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_19$ - } - modifier = { - add = $AGENT_TYPE_19_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_19$ } - } - } - } - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0001 } - } -} -roll_critical_moment_options_20_agent_types_effect = { - save_scope_as = scheme - scope:scheme.task_contract ?= { save_scope_as = task_contract } - save_scope_value_as = { - name = follow_up_event - value = event_id:$OUTPUT_EVENT$ - } - if = { - limit = { - any_scheme_agent_slot = { count < character_max_scheme_agents_value } - scope:scheme = { - NOR = { - has_variable = choice_a - has_variable = choice_b - } - } - } - # First, let's determine which types we're using and which we ain't. - ## Agent type 01. - save_scope_value_as = { - name = agent_type_01 - value = flag:$AGENT_TYPE_01$ - } - ## Agent type 02. - save_scope_value_as = { - name = agent_type_02 - value = flag:$AGENT_TYPE_02$ - } - ## Agent type 03. - save_scope_value_as = { - name = agent_type_03 - value = flag:$AGENT_TYPE_03$ - } - ## Agent type 04. - save_scope_value_as = { - name = agent_type_04 - value = flag:$AGENT_TYPE_04$ - } - ## Agent type 05. - save_scope_value_as = { - name = agent_type_05 - value = flag:$AGENT_TYPE_05$ - } - ## Agent type 06. - save_scope_value_as = { - name = agent_type_06 - value = flag:$AGENT_TYPE_06$ - } - ## Agent type 07. - save_scope_value_as = { - name = agent_type_07 - value = flag:$AGENT_TYPE_07$ - } - ## Agent type 08. - save_scope_value_as = { - name = agent_type_08 - value = flag:$AGENT_TYPE_08$ - } - ## Agent type 09. - save_scope_value_as = { - name = agent_type_09 - value = flag:$AGENT_TYPE_09$ - } - ## Agent type 10. - save_scope_value_as = { - name = agent_type_10 - value = flag:$AGENT_TYPE_10$ - } - ## Agent type 11. - save_scope_value_as = { - name = agent_type_11 - value = flag:$AGENT_TYPE_11$ - } - ## Agent type 12. - save_scope_value_as = { - name = agent_type_12 - value = flag:$AGENT_TYPE_12$ - } - ## Agent type 13. - save_scope_value_as = { - name = agent_type_13 - value = flag:$AGENT_TYPE_13$ - } - ## Agent type 14. - save_scope_value_as = { - name = agent_type_14 - value = flag:$AGENT_TYPE_14$ - } - ## Agent type 15. - save_scope_value_as = { - name = agent_type_15 - value = flag:$AGENT_TYPE_15$ - } - ## Agent type 16. - save_scope_value_as = { - name = agent_type_16 - value = flag:$AGENT_TYPE_16$ - } - ## Agent type 17. - save_scope_value_as = { - name = agent_type_17 - value = flag:$AGENT_TYPE_17$ - } - ## Agent type 18. - save_scope_value_as = { - name = agent_type_18 - value = flag:$AGENT_TYPE_18$ - } - ## Agent type 19. - save_scope_value_as = { - name = agent_type_19 - value = flag:$AGENT_TYPE_19$ - } - ## Agent type 20. - save_scope_value_as = { - name = agent_type_20 - value = flag:$AGENT_TYPE_20$ - } - # Then we roll for who's getting picked. - ## For var:choice_a. - random_list = { - # Agent type 01. - 0 = { - trigger = { - NOT = { scope:agent_type_01 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_01$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_01$ - } - modifier = { - add = $AGENT_TYPE_01_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_01$ } - } - } - # Agent type 02. - 0 = { - trigger = { - NOT = { scope:agent_type_02 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_02$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_02$ - } - modifier = { - add = $AGENT_TYPE_02_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_02$ } - } - } - # Agent type 03. - 0 = { - trigger = { - NOT = { scope:agent_type_03 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_03$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_03$ - } - modifier = { - add = $AGENT_TYPE_03_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_03$ } - } - } - # Agent type 04. - 0 = { - trigger = { - NOT = { scope:agent_type_04 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_04$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_04$ - } - modifier = { - add = $AGENT_TYPE_04_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_04$ } - } - } - # Agent type 05. - 0 = { - trigger = { - NOT = { scope:agent_type_05 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_05$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_05$ - } - modifier = { - add = $AGENT_TYPE_05_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_05$ } - } - } - # Agent type 06. - 0 = { - trigger = { - NOT = { scope:agent_type_06 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_06$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_06$ - } - modifier = { - add = $AGENT_TYPE_06_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_06$ } - } - } - # Agent type 07. - 0 = { - trigger = { - NOT = { scope:agent_type_07 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_07$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_07$ - } - modifier = { - add = $AGENT_TYPE_07_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_07$ } - } - } - # Agent type 08. - 0 = { - trigger = { - NOT = { scope:agent_type_08 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_08$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_08$ - } - modifier = { - add = $AGENT_TYPE_08_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_08$ } - } - } - # Agent type 09. - 0 = { - trigger = { - NOT = { scope:agent_type_09 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_09$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_09$ - } - modifier = { - add = $AGENT_TYPE_09_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_09$ } - } - } - # Agent type 10. - 0 = { - trigger = { - NOT = { scope:agent_type_10 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_10$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_10$ - } - modifier = { - add = $AGENT_TYPE_10_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_10$ } - } - } - # Agent type 11. - 0 = { - trigger = { - NOT = { scope:agent_type_11 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_11$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_11$ - } - modifier = { - add = $AGENT_TYPE_11_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_11$ } - } - } - # Agent type 12. - 0 = { - trigger = { - NOT = { scope:agent_type_12 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_12$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_12$ - } - modifier = { - add = $AGENT_TYPE_12_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_12$ } - } - } - # Agent type 13. - 0 = { - trigger = { - NOT = { scope:agent_type_13 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_13$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_13$ - } - modifier = { - add = $AGENT_TYPE_13_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_13$ } - } - } - # Agent type 14. - 0 = { - trigger = { - NOT = { scope:agent_type_14 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_14$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_14$ - } - modifier = { - add = $AGENT_TYPE_14_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_14$ } - } - } - # Agent type 15. - 0 = { - trigger = { - NOT = { scope:agent_type_15 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_15$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_15$ - } - modifier = { - add = $AGENT_TYPE_15_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_15$ } - } - } - # Agent type 16. - 0 = { - trigger = { - NOT = { scope:agent_type_16 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_16$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_16$ - } - modifier = { - add = $AGENT_TYPE_16_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_16$ } - } - } - # Agent type 17. - 0 = { - trigger = { - NOT = { scope:agent_type_17 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_17$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_17$ - } - modifier = { - add = $AGENT_TYPE_17_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_17$ } - } - } - # Agent type 18. - 0 = { - trigger = { - NOT = { scope:agent_type_18 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_18$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_18$ - } - modifier = { - add = $AGENT_TYPE_18_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_18$ } - } - } - # Agent type 19. - 0 = { - trigger = { - NOT = { scope:agent_type_19 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_19$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_19$ - } - modifier = { - add = $AGENT_TYPE_19_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_19$ } - } - } - # Agent type 20. - 0 = { - trigger = { - NOT = { scope:agent_type_20 = flag:empty } - scheme_owner = { can_have_$AGENT_TYPE_20$_trigger = yes } - } - set_variable = { - name = choice_a - value = flag:$AGENT_TYPE_20$ - } - modifier = { - add = $AGENT_TYPE_20_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_20$ } - } - } - } - ## And var:choice_b. - random_list = { - # Agent type 01. - 0 = { - trigger = { - NOR = { - scope:agent_type_01 = flag:empty - var:choice_a = flag:$AGENT_TYPE_01$ - } - scheme_owner = { can_have_$AGENT_TYPE_01$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_01$ - } - modifier = { - add = $AGENT_TYPE_01_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_01$ } - } - } - # Agent type 02. - 0 = { - trigger = { - NOR = { - scope:agent_type_02 = flag:empty - var:choice_a = flag:$AGENT_TYPE_02$ - } - scheme_owner = { can_have_$AGENT_TYPE_02$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_02$ - } - modifier = { - add = $AGENT_TYPE_02_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_02$ } - } - } - # Agent type 03. - 0 = { - trigger = { - NOR = { - scope:agent_type_03 = flag:empty - var:choice_a = flag:$AGENT_TYPE_03$ - } - scheme_owner = { can_have_$AGENT_TYPE_03$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_03$ - } - modifier = { - add = $AGENT_TYPE_03_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_03$ } - } - } - # Agent type 04. - 0 = { - trigger = { - NOR = { - scope:agent_type_04 = flag:empty - var:choice_a = flag:$AGENT_TYPE_04$ - } - scheme_owner = { can_have_$AGENT_TYPE_04$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_04$ - } - modifier = { - add = $AGENT_TYPE_04_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_04$ } - } - } - # Agent type 05. - 0 = { - trigger = { - NOR = { - scope:agent_type_05 = flag:empty - var:choice_a = flag:$AGENT_TYPE_05$ - } - scheme_owner = { can_have_$AGENT_TYPE_05$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_05$ - } - modifier = { - add = $AGENT_TYPE_05_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_05$ } - } - } - # Agent type 06. - 0 = { - trigger = { - NOR = { - scope:agent_type_06 = flag:empty - var:choice_a = flag:$AGENT_TYPE_06$ - } - scheme_owner = { can_have_$AGENT_TYPE_06$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_06$ - } - modifier = { - add = $AGENT_TYPE_06_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_06$ } - } - } - # Agent type 07. - 0 = { - trigger = { - NOR = { - scope:agent_type_07 = flag:empty - var:choice_a = flag:$AGENT_TYPE_07$ - } - scheme_owner = { can_have_$AGENT_TYPE_07$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_07$ - } - modifier = { - add = $AGENT_TYPE_07_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_07$ } - } - } - # Agent type 08. - 0 = { - trigger = { - NOR = { - scope:agent_type_08 = flag:empty - var:choice_a = flag:$AGENT_TYPE_08$ - } - scheme_owner = { can_have_$AGENT_TYPE_08$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_08$ - } - modifier = { - add = $AGENT_TYPE_08_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_08$ } - } - } - # Agent type 09. - 0 = { - trigger = { - NOR = { - scope:agent_type_09 = flag:empty - var:choice_a = flag:$AGENT_TYPE_09$ - } - scheme_owner = { can_have_$AGENT_TYPE_09$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_09$ - } - modifier = { - add = $AGENT_TYPE_09_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_09$ } - } - } - # Agent type 10. - 0 = { - trigger = { - NOR = { - scope:agent_type_10 = flag:empty - var:choice_a = flag:$AGENT_TYPE_10$ - } - scheme_owner = { can_have_$AGENT_TYPE_10$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_10$ - } - modifier = { - add = $AGENT_TYPE_10_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_10$ } - } - } - # Agent type 11. - 0 = { - trigger = { - NOR = { - scope:agent_type_11 = flag:empty - var:choice_a = flag:$AGENT_TYPE_11$ - } - scheme_owner = { can_have_$AGENT_TYPE_11$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_11$ - } - modifier = { - add = $AGENT_TYPE_11_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_11$ } - } - } - # Agent type 12. - 0 = { - trigger = { - NOR = { - scope:agent_type_12 = flag:empty - var:choice_a = flag:$AGENT_TYPE_12$ - } - scheme_owner = { can_have_$AGENT_TYPE_12$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_12$ - } - modifier = { - add = $AGENT_TYPE_12_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_12$ } - } - } - # Agent type 13. - 0 = { - trigger = { - NOR = { - scope:agent_type_13 = flag:empty - var:choice_a = flag:$AGENT_TYPE_13$ - } - scheme_owner = { can_have_$AGENT_TYPE_13$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_13$ - } - modifier = { - add = $AGENT_TYPE_13_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_13$ } - } - } - # Agent type 14. - 0 = { - trigger = { - NOR = { - scope:agent_type_14 = flag:empty - var:choice_a = flag:$AGENT_TYPE_14$ - } - scheme_owner = { can_have_$AGENT_TYPE_14$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_14$ - } - modifier = { - add = $AGENT_TYPE_14_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_14$ } - } - } - # Agent type 15. - 0 = { - trigger = { - NOR = { - scope:agent_type_15 = flag:empty - var:choice_a = flag:$AGENT_TYPE_15$ - } - scheme_owner = { can_have_$AGENT_TYPE_15$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_15$ - } - modifier = { - add = $AGENT_TYPE_15_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_15$ } - } - } - # Agent type 16. - 0 = { - trigger = { - NOR = { - scope:agent_type_16 = flag:empty - var:choice_a = flag:$AGENT_TYPE_16$ - } - scheme_owner = { can_have_$AGENT_TYPE_16$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_16$ - } - modifier = { - add = $AGENT_TYPE_16_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_16$ } - } - } - # Agent type 17. - 0 = { - trigger = { - NOR = { - scope:agent_type_17 = flag:empty - var:choice_a = flag:$AGENT_TYPE_17$ - } - scheme_owner = { can_have_$AGENT_TYPE_17$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_17$ - } - modifier = { - add = $AGENT_TYPE_17_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_17$ } - } - } - # Agent type 18. - 0 = { - trigger = { - NOR = { - scope:agent_type_18 = flag:empty - var:choice_a = flag:$AGENT_TYPE_18$ - } - scheme_owner = { can_have_$AGENT_TYPE_18$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_18$ - } - modifier = { - add = $AGENT_TYPE_18_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_18$ } - } - } - # Agent type 19. - 0 = { - trigger = { - NOR = { - scope:agent_type_19 = flag:empty - var:choice_a = flag:$AGENT_TYPE_19$ - } - scheme_owner = { can_have_$AGENT_TYPE_19$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_19$ - } - modifier = { - add = $AGENT_TYPE_19_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_19$ } - } - } - # Agent type 20. - 0 = { - trigger = { - NOR = { - scope:agent_type_20 = flag:empty - var:choice_a = flag:$AGENT_TYPE_20$ - } - scheme_owner = { can_have_$AGENT_TYPE_20$_trigger = yes } - } - set_variable = { - name = choice_b - value = flag:$AGENT_TYPE_20$ - } - modifier = { - add = $AGENT_TYPE_20_WEIGHT$ - always = yes - } - modifier = { - factor = weight_down_existing_agent_slots_value - any_scheme_agent_slot = { is_agent_slot_type = $AGENT_TYPE_20$ } - } - } - } - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0001 } - } -} - -# Add an agent type to a scheme. -## When you add a new agent type, add them to the bottom of this effect. Everything else should be taken care of automatically. -select_critical_moment_agents_effect = { - if = { - limit = { $CHOICE$ = flag:agent_assassin } - scope:scheme = { add_agent_slot = agent_assassin } - # Error suppression. - save_scope_value_as = { - name = $CHOICE$ - value = flag:agent_assassin - } - } - else_if = { - limit = { $CHOICE$ = flag:agent_lookout } - scope:scheme = { add_agent_slot = agent_lookout } - # Error suppression. - save_scope_value_as = { - name = $CHOICE$ - value = flag:agent_lookout - } - } - else_if = { - limit = { $CHOICE$ = flag:agent_infiltrator } - scope:scheme = { add_agent_slot = agent_infiltrator } - # Error suppression. - save_scope_value_as = { - name = $CHOICE$ - value = flag:agent_infiltrator - } - } - else_if = { - limit = { $CHOICE$ = flag:agent_footpad } - scope:scheme = { add_agent_slot = agent_footpad } - # Error suppression. - save_scope_value_as = { - name = $CHOICE$ - value = flag:agent_footpad - } - } - else_if = { - limit = { $CHOICE$ = flag:agent_alibi } - scope:scheme = { add_agent_slot = agent_alibi } - # Error suppression. - save_scope_value_as = { - name = $CHOICE$ - value = flag:agent_alibi - } - } - else_if = { - limit = { $CHOICE$ = flag:agent_thug } - scope:scheme = { add_agent_slot = agent_thug } - # Error suppression. - save_scope_value_as = { - name = $CHOICE$ - value = flag:agent_thug - } - } - else_if = { - limit = { $CHOICE$ = flag:agent_comrade_in_arms } - scope:scheme = { add_agent_slot = agent_comrade_in_arms } - # Error suppression. - save_scope_value_as = { - name = $CHOICE$ - value = flag:agent_comrade_in_arms - } - } - else_if = { - limit = { $CHOICE$ = flag:agent_socialite } - scope:scheme = { add_agent_slot = agent_socialite } - # Error suppression. - save_scope_value_as = { - name = $CHOICE$ - value = flag:agent_socialite - } - } - else_if = { - limit = { $CHOICE$ = flag:agent_musician } - scope:scheme = { add_agent_slot = agent_musician } - # Error suppression. - save_scope_value_as = { - name = $CHOICE$ - value = flag:agent_musician - } - } - else_if = { - limit = { $CHOICE$ = flag:agent_tumbler } - scope:scheme = { add_agent_slot = agent_tumbler } - # Error suppression. - save_scope_value_as = { - name = $CHOICE$ - value = flag:agent_tumbler - } - } - else_if = { - limit = { $CHOICE$ = flag:agent_poet } - scope:scheme = { add_agent_slot = agent_poet } - # Error suppression. - save_scope_value_as = { - name = $CHOICE$ - value = flag:agent_poet - } - } - else_if = { - limit = { $CHOICE$ = flag:agent_gabbler } - scope:scheme = { add_agent_slot = agent_gabbler } - # Error suppression. - save_scope_value_as = { - name = $CHOICE$ - value = flag:agent_gabbler - } - } - else_if = { - limit = { $CHOICE$ = flag:agent_shill } - scope:scheme = { add_agent_slot = agent_shill } - # Error suppression. - save_scope_value_as = { - name = $CHOICE$ - value = flag:agent_shill - } - } - else_if = { - limit = { $CHOICE$ = flag:agent_diplomat } - scope:scheme = { add_agent_slot = agent_diplomat } - # Error suppression. - save_scope_value_as = { - name = $CHOICE$ - value = flag:agent_diplomat - } - } - else_if = { - limit = { $CHOICE$ = flag:agent_justiciar } - scope:scheme = { add_agent_slot = agent_justiciar } - # Error suppression. - save_scope_value_as = { - name = $CHOICE$ - value = flag:agent_justiciar - } - } - else_if = { - limit = { $CHOICE$ = flag:agent_scribe } - scope:scheme = { add_agent_slot = agent_scribe } - # Error suppression. - save_scope_value_as = { - name = $CHOICE$ - value = flag:agent_scribe - } - } - else_if = { - limit = { $CHOICE$ = flag:agent_cleric } - scope:scheme = { add_agent_slot = agent_cleric } - # Error suppression. - save_scope_value_as = { - name = $CHOICE$ - value = flag:agent_cleric - } - } - else_if = { - limit = { $CHOICE$ = flag:agent_theologian } - scope:scheme = { add_agent_slot = agent_theologian } - # Error suppression. - save_scope_value_as = { - name = $CHOICE$ - value = flag:agent_theologian - } - } - else_if = { - limit = { $CHOICE$ = flag:agent_herald } - scope:scheme = { add_agent_slot = agent_herald } - # Error suppression. - save_scope_value_as = { - name = $CHOICE$ - value = flag:agent_herald - } - } - else_if = { - limit = { $CHOICE$ = flag:agent_wolf_hunter } - scope:scheme = { add_agent_slot = agent_wolf_hunter } - # Error suppression. - save_scope_value_as = { - name = $CHOICE$ - value = flag:agent_wolf_hunter - } - } - else_if = { - limit = { $CHOICE$ = flag:agent_thief } - scope:scheme = { add_agent_slot = agent_thief } - # Error suppression. - save_scope_value_as = { - name = $CHOICE$ - value = flag:agent_thief - } - } - else_if = { - limit = { $CHOICE$ = flag:agent_tutor } - scope:scheme = { add_agent_slot = agent_tutor } - # Error suppression. - save_scope_value_as = { - name = $CHOICE$ - value = flag:agent_tutor - } - } - else_if = { - limit = { $CHOICE$ = flag:agent_poisoner } - scope:scheme = { add_agent_slot = agent_poisoner } - # Error suppression. - save_scope_value_as = { - name = $CHOICE$ - value = flag:agent_poisoner - } - } - else_if = { - limit = { $CHOICE$ = flag:agent_eunuch } - scope:scheme = { add_agent_slot = agent_eunuch } - # Error suppression. - save_scope_value_as = { - name = $CHOICE$ - value = flag:agent_eunuch - } - } - else_if = { - limit = { $CHOICE$ = flag:agent_decoy } - scope:scheme = { add_agent_slot = agent_decoy } - # Error suppression. - save_scope_value_as = { - name = $CHOICE$ - value = flag:agent_decoy - } - } - else_if = { - limit = { $CHOICE$ = flag:agent_muscle } - scope:scheme = { add_agent_slot = agent_muscle } - # Error suppression. - save_scope_value_as = { - name = $CHOICE$ - value = flag:agent_muscle - } - } - else_if = { - limit = { $CHOICE$ = flag:agent_drillmaster } - scope:scheme = { add_agent_slot = agent_drillmaster } - # Error suppression. - save_scope_value_as = { - name = $CHOICE$ - value = flag:agent_drillmaster - } - } - else_if = { - limit = { $CHOICE$ = flag:agent_tracker } - scope:scheme = { add_agent_slot = agent_tracker } - # Error suppression. - save_scope_value_as = { - name = $CHOICE$ - value = flag:agent_tracker - } - } - else_if = { - limit = { $CHOICE$ = flag:agent_physic } - scope:scheme = { add_agent_slot = agent_physic } - # Error suppression. - save_scope_value_as = { - name = $CHOICE$ - value = flag:agent_physic - } - } - else_if = { - limit = { $CHOICE$ = flag:agent_smith } - scope:scheme = { add_agent_slot = agent_smith } - # Error suppression. - save_scope_value_as = { - name = $CHOICE$ - value = flag:agent_smith - } - } - else_if = { - limit = { $CHOICE$ = flag:agent_ambusher } - scope:scheme = { add_agent_slot = agent_ambusher } - # Error suppression. - save_scope_value_as = { - name = $CHOICE$ - value = flag:agent_ambusher - } - } - else_if = { - limit = { $CHOICE$ = flag:agent_bodyguard } - scope:scheme = { add_agent_slot = agent_bodyguard } - # Error suppression. - save_scope_value_as = { - name = $CHOICE$ - value = flag:agent_bodyguard - } - } - else_if = { - limit = { $CHOICE$ = flag:agent_scout } - scope:scheme = { add_agent_slot = agent_scout } - # Error suppression. - save_scope_value_as = { - name = $CHOICE$ - value = flag:agent_scout - } - } - else_if = { - limit = { $CHOICE$ = flag:agent_outrider } - scope:scheme = { add_agent_slot = agent_outrider } - # Error suppression. - save_scope_value_as = { - name = $CHOICE$ - value = flag:agent_outrider - } - } - else_if = { - limit = { $CHOICE$ = flag:agent_bookkeeper } - scope:scheme = { add_agent_slot = agent_bookkeeper } - # Error suppression. - save_scope_value_as = { - name = $CHOICE$ - value = flag:agent_bookkeeper - } - } - else_if = { - limit = { $CHOICE$ = flag:agent_bailiff } - scope:scheme = { add_agent_slot = agent_bailiff } - # Error suppression. - save_scope_value_as = { - name = $CHOICE$ - value = flag:agent_bailiff - } - } - else_if = { - limit = { $CHOICE$ = flag:agent_draughtsman } - scope:scheme = { add_agent_slot = agent_draughtsman } - # Error suppression. - save_scope_value_as = { - name = $CHOICE$ - value = flag:agent_draughtsman - } - } - else_if = { - limit = { $CHOICE$ = flag:agent_planner } - scope:scheme = { add_agent_slot = agent_planner } - # Error suppression. - save_scope_value_as = { - name = $CHOICE$ - value = flag:agent_planner - } - } - else_if = { - limit = { $CHOICE$ = flag:agent_supplier } - scope:scheme = { add_agent_slot = agent_supplier } - # Error suppression. - save_scope_value_as = { - name = $CHOICE$ - value = flag:agent_supplier - } - } - else_if = { - limit = { $CHOICE$ = flag:agent_outcast } - scope:scheme = { add_agent_slot = agent_outcast } - # Error suppression. - save_scope_value_as = { - name = $CHOICE$ - value = flag:agent_outcast - } - } - else_if = { - limit = { $CHOICE$ = flag:agent_wrangler } - scope:scheme = { add_agent_slot = agent_wrangler } - # Error suppression. - save_scope_value_as = { - name = $CHOICE$ - value = flag:agent_wrangler - } - } - else_if = { - limit = { $CHOICE$ = flag:agent_wrangler_speed } - scope:scheme = { add_agent_slot = agent_wrangler_speed } - # Error suppression. - save_scope_value_as = { - name = $CHOICE$ - value = flag:agent_wrangler_speed - } - } - else_if = { - limit = { $CHOICE$ = flag:agent_theologian_success } - scope:scheme = { add_agent_slot = agent_theologian_success } - # Error suppression. - save_scope_value_as = { - name = $CHOICE$ - value = flag:agent_theologian_success - } - } - else_if = { - limit = { $CHOICE$ = flag:agent_cleric_success } - scope:scheme = { add_agent_slot = agent_cleric_success } - # Error suppression. - save_scope_value_as = { - name = $CHOICE$ - value = flag:agent_cleric_success - } - } - else_if = { - limit = { $CHOICE$ = flag:agent_lookout_success } - scope:scheme = { add_agent_slot = agent_lookout_success } - # Error suppression. - save_scope_value_as = { - name = $CHOICE$ - value = flag:agent_lookout_success - } - } - else_if = { - limit = { $CHOICE$ = flag:agent_lookout_speed } - scope:scheme = { add_agent_slot = agent_lookout_speed } - # Error suppression. - save_scope_value_as = { - name = $CHOICE$ - value = flag:agent_lookout_speed - } - } - # And remove the variables. - scope:scheme = { - remove_variable = choice_a - remove_variable = choice_b - } -} - -# Stop schemes from overflowing with opportunities forever + tell the player when they should do something. -cap_schemes_and_fire_reminders_effect = { - if = { - limit = { - scheme_agent_charges >= opportunity_cap_value - scheme_success_chance >= max_scheme_success_chance - } - if = { - limit = { - scheme_owner = { - is_ai = no - NOR = { - has_character_flag = scheme_critical_moments.0011 - has_variable = opportunities_reminder - } - } - } - scheme_owner = { - add_character_flag = currently_in_scheme_reminder - # supress the 'variable is used but is never set' error, the flag is set through code with the cooldown effect on the event, smh! - if = { - limit = { - always = no - } - add_character_flag = scheme_critical_moments.0011 - } - } - switch = { - trigger = scheme_type - murder = { - murder_scheme_prep_effect = yes - } - abduct = { - abduct_scheme_prep_effect = yes - } - challenge_status = { - challenge_status_scheme_prep_effect = yes - } - claim_throne = { - claim_throne_scheme_prep_effect = yes - } - depose = { - depose_scheme_prep_effect = yes - } - overthrow_regent = { - overthrow_regent_scheme_prep_effect = yes - } - expand_power_base = { - expand_power_base_scheme_prep_effect = yes - } - fabricate_hook = { - fabricate_hook_scheme_prep_effect = yes - } - generate_claim = { - generate_claim_scheme_prep_effect = yes - } - promote = { - promote_scheme_prep_effect = yes - } - slander = { - slander_scheme_prep_effect = yes - } - steal_back_artifact = { - steal_back_artifact_scheme_prep_effect = yes - } - seize_realm = { - seize_realm_scheme_prep_effect = yes - } - found_despotate = { - found_despotate_scheme_prep_effect = yes - } - raid_estate = { - raid_estate_scheme_prep_effect = yes - } - prepare_fire_dromons_scheme = { - prepare_fire_dromons_scheme_prep_effect = yes - } - steal_herd = { - steal_herd_scheme_prep_effect = yes - } - celestial_siphon_treasury = { - celestial_siphon_treasury_prep_effect = yes - } - disbelieve_mandala = { - disbelieve_mandala_scheme_prep_effect = yes - } - coerce_tributary = { - coerce_tributary_scheme_prep_effect = yes - } - } - } - # If the player hasn't been reminded once, tell them that their scheme has hit max opportunities. - scheme_owner = { - if = { - limit = { - is_ai = no - NOT = { has_variable = opportunities_reminder } - } - trigger_event = scheme_critical_moments.0011 - } - } - } -} - -# Tell schemes to wait for the player's say-so before firing a follow-up event. -suppress_scheme_follow_up_event_till_input_given_effect = { - save_scope_value_as = { - name = suppress_next_event - value = yes - } -} - -# Improve a certain type of modifier attached to the scheme, burning opportunities to do so. -improve_scheme_preparation_burnt_opportunities_modifier_effect = { - # Cap us at 10. - if = { - limit = { has_scheme_modifier = $MODIFIER$_level_10 } - # We should never be able to take the option at this point, but if we break it somehow, then do nothing rather than doubling up. - } - # 9 -> 10. - else_if = { - limit = { has_scheme_modifier = $MODIFIER$_level_09 } - # Clean the previous level. - hidden_effect = { remove_scheme_modifier = $MODIFIER$_level_09 } - # Add the new one. - add_scheme_modifier = { type = $MODIFIER$_level_10 } - } - # 8 -> 9. - else_if = { - limit = { has_scheme_modifier = $MODIFIER$_level_08 } - # Clean the previous level. - hidden_effect = { remove_scheme_modifier = $MODIFIER$_level_08 } - # Add the new one. - add_scheme_modifier = { type = $MODIFIER$_level_09 } - } - # 7 -> 8. - else_if = { - limit = { has_scheme_modifier = $MODIFIER$_level_07 } - # Clean the previous level. - hidden_effect = { remove_scheme_modifier = $MODIFIER$_level_07 } - # Add the new one. - add_scheme_modifier = { type = $MODIFIER$_level_08 } - } - # 6 -> 7. - else_if = { - limit = { has_scheme_modifier = $MODIFIER$_level_06 } - # Clean the previous level. - hidden_effect = { remove_scheme_modifier = $MODIFIER$_level_06 } - # Add the new one. - add_scheme_modifier = { type = $MODIFIER$_level_07 } - } - # 5 -> 6. - else_if = { - limit = { has_scheme_modifier = $MODIFIER$_level_05 } - # Clean the previous level. - hidden_effect = { remove_scheme_modifier = $MODIFIER$_level_05 } - # Add the new one. - add_scheme_modifier = { type = $MODIFIER$_level_06 } - } - # 4 -> 5. - else_if = { - limit = { has_scheme_modifier = $MODIFIER$_level_04 } - # Clean the previous level. - hidden_effect = { remove_scheme_modifier = $MODIFIER$_level_04 } - # Add the new one. - add_scheme_modifier = { type = $MODIFIER$_level_05 } - } - # 3 -> 4. - else_if = { - limit = { has_scheme_modifier = $MODIFIER$_level_03 } - # Clean the previous level. - hidden_effect = { remove_scheme_modifier = $MODIFIER$_level_03 } - # Add the new one. - add_scheme_modifier = { type = $MODIFIER$_level_04 } - } - # 2 -> 3. - else_if = { - limit = { has_scheme_modifier = $MODIFIER$_level_02 } - # Clean the previous level. - hidden_effect = { remove_scheme_modifier = $MODIFIER$_level_02 } - # Add the new one. - add_scheme_modifier = { type = $MODIFIER$_level_03 } - } - # 1 -> 2. - else_if = { - limit = { has_scheme_modifier = $MODIFIER$_level_01 } - # Clean the previous level. - hidden_effect = { remove_scheme_modifier = $MODIFIER$_level_01 } - # Add the new one. - add_scheme_modifier = { type = $MODIFIER$_level_02 } - } - # 0 -> 1. - else = { - # Add the first rung.. - add_scheme_modifier = { type = $MODIFIER$_level_01 } - } -} - -################################################## -# AI Usage Critical Moment Effects — Regular Schemes - -murder_scheme_prep_effect = { - save_scope_as = scheme - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.1001 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -seduce_scheme_prep_effect = { - roll_critical_moment_options_07_agent_types_effect = { - # Success results event. - OUTPUT_EVENT = scheme_critical_moments.1011 - # Lookout - AGENT_TYPE_01 = agent_lookout - AGENT_TYPE_01_WEIGHT = critical_moment_agent_weight_high_value - # Infiltrator - AGENT_TYPE_02 = agent_infiltrator - AGENT_TYPE_02_WEIGHT = critical_moment_agent_weight_high_value - # Comrade_in_arms - AGENT_TYPE_03 = agent_comrade_in_arms - AGENT_TYPE_03_WEIGHT = critical_moment_agent_weight_high_value - # Socialite - AGENT_TYPE_04 = agent_socialite - AGENT_TYPE_04_WEIGHT = critical_moment_agent_weight_medium_value - # Musician - AGENT_TYPE_05 = agent_musician - AGENT_TYPE_05_WEIGHT = critical_moment_agent_weight_low_value - # Tumbler - AGENT_TYPE_06 = agent_tumbler - AGENT_TYPE_06_WEIGHT = critical_moment_agent_weight_low_value - # Poet - AGENT_TYPE_07 = agent_poet - AGENT_TYPE_07_WEIGHT = critical_moment_agent_weight_low_value - } -} - -abduct_scheme_prep_effect = { - save_scope_as = scheme - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.1061 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -befriend_scheme_prep_effect = { - roll_critical_moment_options_04_agent_types_effect = { - # Success results event. - OUTPUT_EVENT = scheme_critical_moments.1031 - # Socialite - AGENT_TYPE_01 = agent_socialite - AGENT_TYPE_01_WEIGHT = critical_moment_agent_weight_high_value - # Infiltrator - AGENT_TYPE_02 = agent_infiltrator - AGENT_TYPE_02_WEIGHT = critical_moment_agent_weight_high_value - # Gabbler - AGENT_TYPE_03 = agent_gabbler - AGENT_TYPE_03_WEIGHT = critical_moment_agent_weight_high_value - # Shill - AGENT_TYPE_04 = agent_shill - AGENT_TYPE_04_WEIGHT = critical_moment_agent_weight_medium_value - } -} - -challenge_status_scheme_prep_effect = { - save_scope_as = scheme - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.1171 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -claim_throne_scheme_prep_effect = { - save_scope_as = scheme - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.1101 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -convert_to_witchcraft_scheme_prep_effect = { - roll_critical_moment_options_03_agent_types_effect = { - # Success results event. - OUTPUT_EVENT = scheme_critical_moments.1121 - # Infiltrator - AGENT_TYPE_01 = agent_infiltrator - AGENT_TYPE_01_WEIGHT = critical_moment_agent_weight_high_value - # Shill - AGENT_TYPE_02 = agent_shill - AGENT_TYPE_02_WEIGHT = critical_moment_agent_weight_high_value - # Alibi - AGENT_TYPE_03 = agent_alibi - AGENT_TYPE_03_WEIGHT = critical_moment_agent_weight_high_value - } -} - -court_scheme_prep_effect = { - roll_critical_moment_options_07_agent_types_effect = { - # Success results event. - OUTPUT_EVENT = scheme_critical_moments.1041 - # Herald - AGENT_TYPE_01 = agent_herald - AGENT_TYPE_01_WEIGHT = critical_moment_agent_weight_high_value - # Comrade-in-Arms - AGENT_TYPE_02 = agent_comrade_in_arms - AGENT_TYPE_02_WEIGHT = critical_moment_agent_weight_high_value - # Socialite - AGENT_TYPE_03 = agent_socialite - AGENT_TYPE_03_WEIGHT = critical_moment_agent_weight_high_value - # Musician - AGENT_TYPE_04 = agent_musician - AGENT_TYPE_04_WEIGHT = critical_moment_agent_weight_very_low_value - # Poet - AGENT_TYPE_05 = agent_poet - AGENT_TYPE_05_WEIGHT = critical_moment_agent_weight_very_low_value - # Tumbler - AGENT_TYPE_06 = agent_tumbler - AGENT_TYPE_06_WEIGHT = critical_moment_agent_weight_very_low_value - # Wolf Hunter - AGENT_TYPE_07 = agent_wolf_hunter - AGENT_TYPE_07_WEIGHT = critical_moment_agent_weight_microscopic_value - } -} - -damage_legitimacy_scheme_prep_effect = { - roll_critical_moment_options_03_agent_types_effect = { - # Success results event. - OUTPUT_EVENT = scheme_critical_moments.4010 - # Infiltrator - AGENT_TYPE_01 = agent_infiltrator - AGENT_TYPE_01_WEIGHT = critical_moment_agent_weight_high_value - # Diplomat - AGENT_TYPE_02 = agent_diplomat - AGENT_TYPE_02_WEIGHT = critical_moment_agent_weight_high_value - # Socialite - AGENT_TYPE_03 = agent_socialite - AGENT_TYPE_03_WEIGHT = critical_moment_agent_weight_medium_value - } -} - -depose_scheme_prep_effect = { - save_scope_as = scheme - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.1191 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -overthrow_regent_scheme_prep_effect = { - save_scope_as = scheme - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.1091 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -elope_scheme_prep_effect = { - roll_critical_moment_options_07_agent_types_effect = { - # Success results event. - OUTPUT_EVENT = scheme_critical_moments.1051 - # Infiltrator - AGENT_TYPE_01 = agent_infiltrator - AGENT_TYPE_01_WEIGHT = critical_moment_agent_weight_high_value - # Comrade_in_arms - AGENT_TYPE_02 = agent_comrade_in_arms - AGENT_TYPE_02_WEIGHT = critical_moment_agent_weight_high_value - # Socialite - AGENT_TYPE_03 = agent_socialite - AGENT_TYPE_03_WEIGHT = critical_moment_agent_weight_high_value - # Alibi - AGENT_TYPE_04 = agent_alibi - AGENT_TYPE_04_WEIGHT = critical_moment_agent_weight_medium_value - # Musician - AGENT_TYPE_05 = agent_musician - AGENT_TYPE_05_WEIGHT = critical_moment_agent_weight_very_low_value - # Poet - AGENT_TYPE_06 = agent_poet - AGENT_TYPE_06_WEIGHT = critical_moment_agent_weight_very_low_value - # Tumbler - AGENT_TYPE_07 = agent_tumbler - AGENT_TYPE_07_WEIGHT = critical_moment_agent_weight_very_low_value - } -} - -expand_power_base_scheme_prep_effect = { - save_scope_as = scheme - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.1181 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -fabricate_hook_scheme_prep_effect = { - save_scope_as = scheme - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.1071 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -foster_legitimacy_scheme_prep_effect = { - roll_critical_moment_options_03_agent_types_effect = { - # Success results event. - OUTPUT_EVENT = scheme_critical_moments.4000 - - # Herald - AGENT_TYPE_01 = agent_herald - AGENT_TYPE_01_WEIGHT = critical_moment_agent_weight_high_value - # Diplomat - AGENT_TYPE_02 = agent_diplomat - AGENT_TYPE_02_WEIGHT = critical_moment_agent_weight_high_value - # Socialite - AGENT_TYPE_03 = agent_socialite - AGENT_TYPE_03_WEIGHT = critical_moment_agent_weight_medium_value - } -} - -generate_claim_scheme_prep_effect = { - save_scope_as = scheme - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.1151 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -learn_language_scheme_prep_effect = { - roll_critical_moment_options_04_agent_types_effect = { - # Success results event. - OUTPUT_EVENT = scheme_critical_moments.1081 - # Diplomat - AGENT_TYPE_01 = agent_diplomat - AGENT_TYPE_01_WEIGHT = critical_moment_agent_weight_high_value - # Cleric - AGENT_TYPE_02 = agent_cleric - AGENT_TYPE_02_WEIGHT = critical_moment_agent_weight_high_value - # Scribe - AGENT_TYPE_03 = agent_scribe - AGENT_TYPE_03_WEIGHT = critical_moment_agent_weight_high_value - # Tutor - AGENT_TYPE_04 = agent_tutor - AGENT_TYPE_04_WEIGHT = critical_moment_agent_weight_medium_value - } -} - -promote_scheme_prep_effect = { - save_scope_as = scheme - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.1141 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -slander_scheme_prep_effect = { - save_scope_as = scheme - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.1131 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -steal_back_artifact_scheme_prep_effect = { - save_scope_as = scheme - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.1111 - } - scope:scheme.var:target_artifact = { - save_scope_as = artifact - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -steal_herd_scheme_prep_effect = { - save_scope_as = scheme - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.1161 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -celestial_siphon_treasury_prep_effect = { - save_scope_as = scheme - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.1201 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -celestial_movement_power_promote_prep_effect = { - save_scope_as = scheme - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.1231 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -celestial_movement_power_slander_prep_effect = { - save_scope_as = scheme - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.1234 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -sway_scheme_prep_effect = { - roll_critical_moment_options_07_agent_types_effect = { - # Success results event. - OUTPUT_EVENT = scheme_critical_moments.1021 - # Herald - AGENT_TYPE_01 = agent_herald - AGENT_TYPE_01_WEIGHT = critical_moment_agent_weight_high_value - # Diplomat - AGENT_TYPE_02 = agent_diplomat - AGENT_TYPE_02_WEIGHT = critical_moment_agent_weight_high_value - # Gabbler - AGENT_TYPE_03 = agent_gabbler - AGENT_TYPE_03_WEIGHT = critical_moment_agent_weight_high_value - # Shill - AGENT_TYPE_04 = agent_shill - AGENT_TYPE_04_WEIGHT = critical_moment_agent_weight_medium_value - # Musician - AGENT_TYPE_05 = agent_musician - AGENT_TYPE_05_WEIGHT = critical_moment_agent_weight_low_value - # Tumbler - AGENT_TYPE_06 = agent_tumbler - AGENT_TYPE_06_WEIGHT = critical_moment_agent_weight_low_value - # Poet - AGENT_TYPE_07 = agent_poet - AGENT_TYPE_07_WEIGHT = critical_moment_agent_weight_low_value - } -} - -seize_realm_scheme_prep_effect = { - save_scope_as = scheme - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.2901 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -found_despotate_scheme_prep_effect = { - save_scope_as = scheme - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.8021 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -raid_estate_scheme_prep_effect = { - save_scope_as = scheme - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.8035 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -ingratiate_family_scheme_prep_effect = { - save_scope_as = scheme - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.8051 } - } -} - -prepare_fire_dromons_scheme_prep_effect = { - save_scope_as = scheme - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.8060 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -disbelieve_mandala_scheme_prep_effect = { - save_scope_as = scheme - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.1211 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -coerce_tributary_scheme_prep_effect = { - save_scope_as = scheme - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.1221 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -coerce_contribution_scheme_prep_effect = { - save_scope_as = scheme - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.1241 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -leverage_contribution_scheme_prep_effect = { - save_scope_as = scheme - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.1251 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -################################################## -# AI Usage Critical Moment Effects — Contract Schemes - -laamp_base_0001_contract_scheme_prep_effect = { - save_scope_as = scheme - scope:scheme.task_contract ?= { save_scope_as = task_contract } - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.2001 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -laamp_base_0011_contract_scheme_prep_effect = { - save_scope_as = scheme - scope:scheme.task_contract ?= { save_scope_as = task_contract } - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.2011 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -laamp_base_0021_contract_scheme_prep_effect = { - save_scope_as = scheme - scope:scheme.task_contract ?= { save_scope_as = task_contract } - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.2021 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -laamp_base_0031_contract_scheme_prep_effect = { - save_scope_as = scheme - scope:scheme.task_contract ?= { save_scope_as = task_contract } - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.2031 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -laamp_base_0041_contract_scheme_prep_effect = { - save_scope_as = scheme - scope:scheme.task_contract ?= { save_scope_as = task_contract } - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.2041 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -laamp_base_1001_contract_scheme_prep_effect = { - save_scope_as = scheme - scope:scheme.task_contract ?= { save_scope_as = task_contract } - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.2201 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -laamp_base_1011_contract_scheme_prep_effect = { - save_scope_as = scheme - scope:scheme.task_contract ?= { save_scope_as = task_contract } - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.2211 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -laamp_base_1021_contract_scheme_prep_effect = { - save_scope_as = scheme - scope:scheme.task_contract ?= { save_scope_as = task_contract } - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.2221 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -laamp_base_1031_contract_scheme_prep_effect = { - save_scope_as = scheme - scope:scheme.task_contract ?= { save_scope_as = task_contract } - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.2231 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -laamp_base_1041_contract_scheme_prep_effect = { - save_scope_as = scheme - scope:scheme.task_contract ?= { save_scope_as = task_contract } - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.2241 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -laamp_base_2001_contract_scheme_prep_effect = { - save_scope_as = scheme - scope:scheme.task_contract ?= { save_scope_as = task_contract } - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.2401 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -laamp_base_2011_contract_scheme_prep_effect = { - save_scope_as = scheme - scope:scheme.task_contract ?= { save_scope_as = task_contract } - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.2411 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -laamp_base_2021_contract_scheme_prep_effect = { - save_scope_as = scheme - scope:scheme.task_contract ?= { save_scope_as = task_contract } - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.2421 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -laamp_base_2031_contract_scheme_prep_effect = { - save_scope_as = scheme - scope:scheme.task_contract ?= { save_scope_as = task_contract } - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.2431 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -laamp_base_2041_contract_scheme_prep_effect = { - save_scope_as = scheme - scope:scheme.task_contract ?= { save_scope_as = task_contract } - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.2441 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -laamp_base_3001_contract_scheme_prep_effect = { - save_scope_as = scheme - scope:scheme.task_contract ?= { save_scope_as = task_contract } - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.2601 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -laamp_base_3011_contract_scheme_prep_effect = { - save_scope_as = scheme - scope:scheme.task_contract ?= { save_scope_as = task_contract } - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.2611 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -laamp_base_3021_contract_scheme_prep_effect = { - save_scope_as = scheme - scope:scheme.task_contract ?= { save_scope_as = task_contract } - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.2621 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -laamp_base_3031_contract_scheme_prep_effect = { - save_scope_as = scheme - scope:scheme.task_contract ?= { save_scope_as = task_contract } - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.2631 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -laamp_base_3041_contract_scheme_prep_effect = { - save_scope_as = scheme - scope:scheme.task_contract ?= { save_scope_as = task_contract } - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.2641 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -laamp_base_4001_contract_scheme_prep_effect = { - save_scope_as = scheme - scope:scheme.task_contract ?= { save_scope_as = task_contract } - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.2801 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -laamp_base_4011_contract_scheme_prep_effect = { - save_scope_as = scheme - scope:scheme.task_contract ?= { save_scope_as = task_contract } - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.2811 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -laamp_base_4021_contract_scheme_prep_effect = { - save_scope_as = scheme - scope:scheme.task_contract ?= { save_scope_as = task_contract } - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.2821 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -laamp_base_4031_contract_scheme_prep_effect = { - save_scope_as = scheme - scope:scheme.task_contract ?= { save_scope_as = task_contract } - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.2831 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -laamp_base_4041_contract_scheme_prep_effect = { - save_scope_as = scheme - scope:scheme.task_contract ?= { save_scope_as = task_contract } - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.2841 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -laamp_base_5001_contract_scheme_prep_effect = { - save_scope_as = scheme - scope:scheme.task_contract ?= { save_scope_as = task_contract } - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.3001 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -laamp_base_5011_contract_scheme_prep_effect = { - save_scope_as = scheme - scope:scheme.task_contract ?= { save_scope_as = task_contract } - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.3011 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -laamp_base_5021_contract_scheme_prep_effect = { - save_scope_as = scheme - scope:scheme.task_contract ?= { save_scope_as = task_contract } - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.3021 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -laamp_base_5031_contract_scheme_prep_effect = { - save_scope_as = scheme - scope:scheme.task_contract ?= { save_scope_as = task_contract } - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.3031 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -laamp_base_5041_contract_scheme_prep_effect = { - save_scope_as = scheme - scope:scheme.task_contract ?= { save_scope_as = task_contract } - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.3041 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -laamp_base_5051_contract_scheme_prep_effect = { - save_scope_as = scheme - scope:scheme.task_contract ?= { save_scope_as = task_contract } - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.3051 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -laamp_base_6001_contract_scheme_prep_effect = { - save_scope_as = scheme - scope:scheme.task_contract ?= { save_scope_as = task_contract } - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.6001 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -laamp_base_6011_contract_scheme_prep_effect = { - save_scope_as = scheme - scope:scheme.task_contract ?= { save_scope_as = task_contract } - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.6011 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -laamp_base_6021_contract_scheme_prep_effect = { - save_scope_as = scheme - scope:scheme.task_contract ?= { save_scope_as = task_contract } - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.6021 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -laamp_base_6031_contract_scheme_prep_effect = { - save_scope_as = scheme - scope:scheme.task_contract ?= { save_scope_as = task_contract } - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.6031 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -protect_minority_vassal_contract_diplomacy_scheme_prep_effect = { - save_scope_as = scheme - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.3201 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -protect_minority_vassal_contract_martial_scheme_prep_effect = { - save_scope_as = scheme - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.3201 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -protect_minority_vassal_contract_intrigue_scheme_prep_effect = { - save_scope_as = scheme - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.3201 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -protect_minority_vassal_contract_learning_scheme_prep_effect = { - save_scope_as = scheme - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.3201 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -laamp_prison_break_scheme_prep_effect = { - save_scope_as = scheme - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.3211 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -laamp_help_find_secrets_scheme_prep_effect = { - save_scope_as = scheme - task_contract = { - save_scope_as = task_contract - var:task_contract_councillor = { - save_scope_as = task_contract_councillor - } - } - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.3221 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -celestial_minister_find_secrets_scheme_prep_effect = { - save_scope_as = scheme - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.8065 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -################################################## -# Murder Scheme Effects - -# Give out the appropriate amount of dread when it's discovered the scoped char murdered someone. -murder_consequences_known_or_exposed_apply_dread_effect = { - # Don't apply this twice if it's gone out earlier in the chain. - if = { - limit = { - NOT = { exists = scope:murderer_dread_applied } - } - # Murdered own close family, king/emperor, or family of king/emperor. - if = { - limit = { - OR = { - is_close_family_of = $VICTIM$ - $VICTIM$ = { - tier_or_related_liege_tier_greater_or_equal_trigger = { TIER = tier_kingdom } - } - } - } - add_dread = major_dread_gain - } - # Murdered close family of duke/count. - else_if = { - limit = { - $VICTIM$ = { - tier_or_related_liege_tier_greater_or_equal_trigger = { TIER = tier_county } - } - } - add_dread = medium_dread_gain - } - # Murdered just... some guy. Just a person. Just a lil dude. - else = { add_dread = minor_dread_gain } - # And flag that we've gone through this. - save_scope_value_as = { - name = murderer_dread_applied - value = yes - } - } -} - -# Apply scope:owner's general ending & consequences. -scheme_owner_pov_murder_success_effect = { - # Murdering your rival gets you some bonus cred. - ## Presumably in how you comport yourself & who's a thorn in your side. - if = { - limit = { - scope:owner = { has_relation_rival = scope:target } - } - custom_tooltip = { - text = murder_outcome_murdered_rival_tt - add_prestige = medium_prestige_gain - } - } - # Dread for successfully murdering someone and getting discovered. - if = { - limit = { exists = scope:scheme_discovered } - murder_consequences_known_or_exposed_apply_dread_effect = { VICTIM = scope:target } - } - # Piety, if appropriate. - if = { - limit = { - faith = { has_doctrine_parameter = piety_gain_from_successful_intrigue_schemes } - } - add_piety = minor_piety_gain - } - # Stress. - ## Murdered a rival. - if = { - limit = { - scope:owner = { has_relation_rival = scope:target } - } - stress_impact = { - base = murder_base_stress_value - vengeful = massive_stress_impact_loss - sadistic = minor_stress_impact_loss - callous = miniscule_stress_impact_loss - compassionate = minor_stress_impact_gain - forgiving = major_stress_impact_gain - } - } - ## Murdered someone helpless. - else_if = { - limit = { - scope:target = { - OR = { - is_adult = no - is_incapable = yes - } - } - } - stress_impact = { - base = murder_base_stress_value - sadistic = major_stress_impact_loss - callous = minor_stress_impact_loss - compassionate = major_stress_impact_gain - } - } - ## Murdered anyone else. - else = { - stress_impact = { - base = murder_base_stress_value - sadistic = minor_stress_impact_loss - callous = miniscule_stress_impact_loss - compassionate = minor_stress_impact_gain - } - } - # Aaaaand show our other consequences. - show_as_tooltip = { - murder_success_kill_effect = { REASON = $REASON$ } - } -} - -# Actually kill scope:target. -murder_success_kill_effect = { - # If the scheme was discovered, reveal the murderer immediately. - if = { - limit = { exists = scope:scheme_discovered } - # Kill the target. - known_murder_effect = { - VICTIM = scope:target - MURDERER = scope:owner - EXPOSER = scope:murder_exposer - } - # Kill them. Kill them all. - murder_success_kill_entourage_too_effect = { - KNOWN_UNKNOWN = known - EXPOSER_REASON_PRE = EXPOSER - EXPOSER_REASON_POST = scope:murder_exposer - SHOW_UNKNOWN_ASSAILANT_TOOLTIP = no - } - } - # Otherwise, we process this anonymously. - else = { - # For scope:owner, we only show the effects as tooltips. - if = { - limit = { this = scope:owner } - show_as_tooltip = { - unknown_murder_effect = { - VICTIM = scope:target - MURDERER = scope:owner - REASON = $REASON$ - } - } - # Kill them. Kill them all. - show_as_tooltip = { - murder_success_kill_entourage_too_effect = { - KNOWN_UNKNOWN = unknown - EXPOSER_REASON_PRE = REASON - EXPOSER_REASON_POST = death_mysterious - SHOW_UNKNOWN_ASSAILANT_TOOLTIP = no - } - } - } - # Whereas for the target, we process the whole lot. - else_if = { - limit = { this = scope:target } - custom_tooltip = murder_unknown_murder_against_you_was_successful - hidden_effect = { - unknown_murder_effect = { - VICTIM = scope:target - MURDERER = scope:owner - REASON = $REASON$ - } - } - # Kill them. Kill them all. - murder_success_kill_entourage_too_effect = { - KNOWN_UNKNOWN = unknown - EXPOSER_REASON_PRE = REASON - EXPOSER_REASON_POST = death_mysterious - SHOW_UNKNOWN_ASSAILANT_TOOLTIP = yes - } - } - } -} - -# If appropriate, kill off a bunch of the folks travelling with scope:target. -murder_success_kill_entourage_too_effect = { - scope:owner ?= { - if = { - limit = { has_variable_list = entourage_members_to_kill } - save_temporary_scope_value_as = { - name = show_unknown_assailant_tooltip - value = $SHOW_UNKNOWN_ASSAILANT_TOOLTIP$ - } - every_in_list = { - variable = entourage_members_to_kill - save_temporary_scope_as = to_be_killed - if = { - limit = { scope:show_unknown_assailant_tooltip = yes } - custom_tooltip = murder_unknown_murder_against_you_was_successful_other - } - $KNOWN_UNKNOWN$_murder_effect = { - VICTIM = scope:to_be_killed - MURDERER = scope:owner - $EXPOSER_REASON_PRE$ = $EXPOSER_REASON_POST$ - } - } - } - } -} - -# Distribute murder failure effects. -murder_failure_effect = { - # Add Watchful Modifier to the target - scope:target = { - add_character_modifier = { - modifier = watchful_modifier - days = watchful_modifier_duration - } - } - # If the attempt was discovered, process the consequences of that. - if = { - limit = { exists = scope:scheme_discovered } - # If we're a clan this affects unity - ## Landed victims cost more unity. - if = { - limit = { - scope:target = { is_landed = yes } - } - add_clan_unity_interaction_effect = { - CHARACTER = scope:owner - TARGET = scope:target - VALUE = medium_unity_loss - DESC = clan_unity_murder_attempted.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - ## For unlanded characters, we don't care as much, but you still lose some. - else = { - add_clan_unity_interaction_effect = { - CHARACTER = scope:owner - TARGET = scope:target - VALUE = minor_unity_loss - DESC = clan_unity_murder_attempted.desc - REVERSE_NON_HOUSE_TARGET = no - } - } - ## Tag scope:owner with a separate scope for portraits... - scope:owner = { - save_scope_as = owner_to_reveal - # ... and apply a little dread. - add_dread = minor_dread_gain - } - ## Point out that yeah, attempted murder will sour someone's opinion of you. - attempted_murder_opinion_effect = { - VICTIM = scope:target - MURDERER = scope:owner - } - } - # Otherwise, we just add a murder attempt secret. - else = { - # Make sure we don't inadvertently reveal the scheme to the target. - if = { - limit = { this = scope:owner } - scope:owner = { - add_secret = { - type = secret_murder_attempt - target = scope:target - } - } - } - } - # Lastly, if our imaginary friend put us up to this, then we address that. - scope:owner = { - if = { - limit = { - any_owned_story = { - type = story_cycle_imaginary_friend - var:imaginary_friend_murder_target ?= scope:target - } - } - trigger_event = { - id = bp2_yearly.2024 - days = 4 - } - } - } -} - -# If appropriate, murder anyone travelling with scope:target. -murder_entourage_list_effect = { - # Pick three random entourage members to kill - scope:target = { - current_travel_plan = { - random_entourage_character = { - limit = { - this != scope:target - } - scope:owner = { - add_to_variable_list = { - name = entourage_members_to_kill - target = prev - } - } - } - random_entourage_character = { - limit = { - NOR = { - this = scope:target - this = scope:owner - scope:owner = { - is_target_in_variable_list = { - name = entourage_members_to_kill - target = prev - } - } - } - } - scope:owner = { - add_to_variable_list = { - name = entourage_members_to_kill - target = prev - } - } - } - random_entourage_character = { - limit = { - NOR = { - this = scope:target - this = scope:owner - scope:owner = { - is_target_in_variable_list = { - name = entourage_members_to_kill - target = prev - } - } - } - } - scope:owner = { - add_to_variable_list = { - name = entourage_members_to_kill - target = prev - } - } - } - } - } -} - -# Restart's the current murder scheme, setting all its variables and such back to zero. -restart_murder_scheme_effect = { - show_as_tooltip = { - start_scheme = { - type = murder - target_character = scope:target - } - } - hidden_effect = { - scope:scheme = { - # Track how many times we've restarted, so we can reset progress. - increment_variable_effect = { - VAR = scheme_reset_to_zero_value - VAL = scheme_success_chance - } - # Reset our scheme. - reset_failed_scheme_effect = yes - } - } -} - -# Process the death result for anyone who dies during the murder interception. -murder_interception_handle_extra_deaths_effect = { - if = { - limit = { exists = scope:scheme_discovered } - known_murder_effect = { - VICTIM = $VICTIM$ - MURDERER = scope:owner - EXPOSER = scope:target - } - } - else = { - unknown_murder_effect = { - VICTIM = $VICTIM$ - MURDERER = scope:owner - REASON = $REASON$ - } - } -} - -# Adds either "Plush and Unremarkable Carpet" modifier if character is Iranian, otherwise adds "Plush and Exotic Carpet" -add_carpet_modifier_effect = { - if = { - limit = { - has_fp3_dlc_trigger = yes - culture = { has_cultural_pillar = heritage_iranian } - } - add_character_modifier = { - modifier = persian_has_plush_carpet_modifier - days = 3650 - } - } - else = { - add_character_modifier = { - modifier = has_plush_carpet_modifier - days = 3650 - } - } -} - -# If trying to lure a child to push off a roof, try to pick something tangible to tempt them with. -## The things I do for script hygiene. -rooftop_murder_lure_for_child_effect = { - random_list = { - # Dog. - 25 = { - trigger = { - scope:target = { any_owned_story = { type = story_cycle_pet_dog } } - } - save_scope_value_as = { - name = child_pushed_dog - value = yes - } - } - # Cat. - ## You monster. - 25 = { - trigger = { - scope:target = { any_owned_story = { type = story_cycle_pet_cat } } - } - save_scope_value_as = { - name = child_pushed_cat - value = yes - } - random = { - chance = 60 - save_scope_value_as = { - name = cat_survives - value = yes - } - } - } - # Toy. - 25 = { - trigger = { - scope:target = { has_variable = child_toy_variable } - } - save_scope_value_as = { - name = child_pushed_toy - value = yes - } - } - # Else nothing. - 1 = {} - } -} - -grab_best_agent_murderer_effect = { - scope:scheme = { - random_scheme_agent_slot = { - limit = { - is_agent_slot_type = agent_assassin - is_filled = yes - } - alternative_limit = { is_filled = yes } - slot_character = { save_scope_as = assassin } - } - # Plus generate a back-up, in case we need it. - random_dummy_gender_assassin_effect = yes - } -} - -################################################## -# Seduce Scheme Effects - -#Milestone should be 1 or 2, outcome should be success or failure -seduce_ongoing_add_scheme_modifier_effect = { - scope:scheme = { - add_scheme_modifier = { - type = seduce_$OUTCOME$_$MILESTONE$_modifier - } - } -} - -seduce_ongoing_possible_outcomes_tooltip_effect = { - show_as_tooltip = { - random_list = { - 1 = { - desc = seduce_ongoing_possible_outcomes_tooltip_effect.success.desc - show_chance = no - seduce_ongoing_add_scheme_modifier_effect = { MILESTONE = $MILESTONE$ OUTCOME = success } - } - 1 = { - desc = seduce_ongoing_possible_outcomes_tooltip_effect.failure.desc - show_chance = no - seduce_ongoing_add_scheme_modifier_effect = { MILESTONE = $MILESTONE$ OUTCOME = failure } - } - } - } -} - -#To add CHARACTER to a list that block seduction schemes from being initiated -## use in the scope of the character that blocks CHARACTER (i.e. the scheme target's scope) -seduction_block_character_effect = { - if = { - limit = { root = scope:target } - custom_tooltip = seduce_outcome.permanent_block - - hidden_effect = { - add_opinion = { - target = $CHARACTER$ - modifier = seduce_permanent_blocker_opinion - } - } - } - else_if = { - limit = { - exists = scope:target - scope:target = { - is_alive = yes - } - } - add_opinion = { - target = $CHARACTER$ - modifier = seduce_permanent_blocker_opinion - } - } -} - -seduction_cooldown_for_character_effect = { - if = { - limit = { root = scope:target } - custom_tooltip = seduce_outcome.cooldown - - hidden_effect = { - add_opinion = { - target = $CHARACTER$ - modifier = seduce_regular_cooldown_opinion - } - } - } - else = { - add_opinion = { - target = $CHARACTER$ - modifier = seduce_regular_cooldown_opinion - } - } -} - -owner_seduce_outcome_success_send_discovery_event_effect = { - hidden_effect = { - if = { - limit = { exists = scope:scheme_discovered } - trigger_event = { - id = seduce_outcome.2900 - days = 3 - } - } - } -} - -owner_seduce_outcome_become_lovers_option_effects = { - show_as_tooltip = { set_relation_lover = scope:target } - add_character_flag = { #to assure that this is when the relationship is set - flag = consummation_and_relationship - days = 10 - } - - reverse_add_opinion = { - target = scope:target - modifier = romance_opinion - opinion = 20 - } - - if = { - limit = { - faith = { - has_doctrine_parameter = piety_gain_from_successful_intrigue_schemes - } - } - add_piety = minor_piety_gain - } - - if = { - limit = { - has_government = landless_adventurer_government - has_perk = mortal_adoration_perk - scope:target = { is_ruler = yes } - } - add_contact = scope:target - add_hook_if_possible_default_length_effect = { - TARGET = scope:target - TYPE = manipulation_hook - } - } - - if = { - limit = { - dynasty ?= { - has_dynasty_perk = fp1_adventure_legacy_2 - } - } - add_prestige = fp1_adventure_legacy_2_prestige_value - } - - if = { - limit = { - is_close_family_of = scope:target - } - create_character_memory = { - type = seduced_family - - participants = { - family_member = scope:target - } - } - } - - owner_seduce_outcome_success_send_discovery_event_effect = yes -} - -owner_seduce_outcome_just_sex_effects = { - reverse_add_opinion = { - target = scope:target - modifier = romance_opinion - opinion = 20 - } - - if = { - limit = { - faith = { - has_doctrine_parameter = piety_gain_from_successful_intrigue_schemes - } - } - add_piety = minor_piety_gain - } - - if = { - limit = { - dynasty ?= { - has_dynasty_perk = fp1_adventure_legacy_2 - } - } - add_prestige = fp1_adventure_legacy_2_prestige_value - } - - owner_seduce_outcome_success_send_discovery_event_effect = yes -} - -#In most cases, it makes more sense to actually apply the sex effect in the target's events (which are after the owner's events). This is because A) you don't want any pop-ups for the target before they have recieved their event and B) because some effects won't get a tooltip for being applied if they were already applied before. The only exception is when the owner is a player and the target is an AI. - - target_seduce_outcome_sex_effect = { - scope:target = { - if = { - limit = { - NAND = { - scope:owner = { is_ai = no } - scope:target = { is_ai = yes } - } - } - had_sex_with_effect = { - CHARACTER = scope:owner - PREGNANCY_CHANCE = seduce_pregnancy_chance - } - } - else = { - show_as_tooltip = { - had_sex_with_effect = { - CHARACTER = scope:owner - PREGNANCY_CHANCE = seduce_pregnancy_chance - } - } - } - } -} - -owner_seduce_outcome_sex_effect = { - scope:owner = { - if = { - limit = { - scope:owner = { is_ai = no } - scope:target = { is_ai = yes } - } - had_sex_with_effect = { - CHARACTER = scope:target - PREGNANCY_CHANCE = seduce_pregnancy_chance - } - } - else = { - show_as_tooltip = { - had_sex_with_effect = { - CHARACTER = scope:owner - PREGNANCY_CHANCE = seduce_pregnancy_chance - } - } - } - } -} - - -seduce_outcome_discovered_expose_secrets_and_adultery_effect = { - extramarital_sex_attempt_exposure_consequences_with_target_effect = { TARGET = $CHARACTER$ SPOUSE_EVENT = yes } #Adds trait - if = { - limit = { relation_with_character_is_incestuous_in_my_or_lieges_faith_trigger = { CHARACTER = $CHARACTER$ } } - random_secret = { - type = secret_incest - expose_secret = $EXPOSER$ - } - } - if = { - limit = { relation_with_character_is_sodomy_in_my_or_lieges_faith_trigger = { CHARACTER = $CHARACTER$ } } - random_secret = { - type = secret_homosexual - expose_secret = $EXPOSER$ - } - } -} - -seduce_outcome_failure_discovered_apply_secrets_effect = { - give_incest_secret_or_nothing_with_target_effect = { CHARACTER = scope:target } - give_homosexual_secret_or_nothing_with_target_effect = { CHARACTER = scope:target } -} - -seduce_outcome_success_discovered_effect = { - if = { - limit = { - any_secret = { - type = secret_lover - OR = { - secret_target = scope:target - secret_target = scope:owner - } - } - } - random_secret = { #Revealing the secret will send events for both lovers - type = secret_lover - limit = { - OR = { - secret_target = scope:target - secret_target = scope:owner - } - } - expose_secret = scope:target_liege - } - } - else = { - scope:owner = { seduce_outcome_discovered_expose_secrets_and_adultery_effect = { CHARACTER = scope:target EXPOSER = scope:target_liege } } - scope:target = { seduce_outcome_discovered_expose_secrets_and_adultery_effect = { CHARACTER = scope:owner EXPOSER = scope:target_liege } } - } -} - -seduce_outcome_publicised_attempted_crimes_or_nothing_effect = { - $TARGET$ = { - #Grab everyone relevant who might be interested in the attempt. - every_close_family_member = { add_to_list = relevant_parties } - every_consort = { - limit = { - NOT = { is_in_list = relevant_parties } - } - add_to_list = relevant_parties - } - if = { - limit = { - liege ?= { - NOT = { is_in_list = relevant_parties } - } - } - add_to_list = relevant_parties - } - if = { - limit = { - court_owner ?= { - NOT = { is_in_list = relevant_parties } - } - } - add_to_list = relevant_parties - } - every_vassal = { - limit = { - NOT = { is_in_list = relevant_parties } - } - add_to_list = relevant_parties - } - every_relation = { - type = friend - limit = { - NOT = { is_in_list = relevant_parties } - } - add_to_list = relevant_parties - } - every_relation = { - type = lover - limit = { - NOT = { is_in_list = relevant_parties } - } - add_to_list = relevant_parties - } - $OWNER$ = { - every_close_family_member = { - limit = { - NOT = { is_in_list = relevant_parties } - } - add_to_list = relevant_parties - } - } - - #Adulterer - if = { - limit = { - $OWNER$ = { is_married = yes } - trait_is_shunned_or_criminal_in_faith_trigger = { - TRAIT = trait:adulterer - FAITH = this.faith - GENDER_CHARACTER = $OWNER$ - } - } - every_in_list = { - list = relevant_parties - limit = { - #Filter out anyone who wouldn't care about this. - NOR = { - #Kids too young to understand the bias have no prejudice. - is_adult = no - #Not compos mentis. - has_trait = incapable - #People who are adulterers. - has_trait = adulterer - #The person doing the seducing don't think less of themselves either. - this = $OWNER$ - } - #And who count the action as adulterous. - trait_is_shunned_or_criminal_in_faith_trigger = { - TRAIT = trait:adulterer - FAITH = faith - GENDER_CHARACTER = $OWNER$ - } - } - custom = characters_close_to_target_who_dislike_adultery - #Apply attempt opinion effects. - add_opinion = { - modifier = adulterer_advances_on_relevant_character - target = $OWNER$ - } - } - } - - #Fornicator - if = { - limit = { - $OWNER$ = { is_married = no } - trait_is_shunned_or_criminal_in_faith_trigger = { - TRAIT = trait:fornicator - FAITH = faith - GENDER_CHARACTER = $OWNER$ - } - } - every_in_list = { - list = relevant_parties - limit = { - #Filter out anyone who wouldn't care about this. - NOR = { - #Kids too young to understand the bias have no prejudice. - is_adult = no - #Not compos mentis. - has_trait = incapable - #People who are fornicators. - has_trait = fornicator - #The person doing the seducing don't think less of themselves either. - this = $OWNER$ - } - #And who count the action to be fornication. - trait_is_shunned_or_criminal_in_faith_trigger = { - TRAIT = trait:fornicator - FAITH = this.faith - GENDER_CHARACTER = $OWNER$ - } - } - custom = characters_close_to_target_who_dislike_fornication - #Apply attempt opinion effects. - add_opinion = { - modifier = fornicator_advances_on_relevant_character - target = $OWNER$ - } - } - } - - #Incestuous - if = { - limit = { - relation_with_character_is_incestuous_in_my_faith_trigger = { CHARACTER = $OWNER$ } - } - every_in_list = { - list = relevant_parties - limit = { - #Filter out anyone who wouldn't care about this. - NOR = { - #Kids too young to understand the bias have no prejudice. - is_adult = no - #Not compos mentis. - has_trait = incapable - #People who are incestuous. - has_trait = incestuous - #Or who don't count the action as incestuous. - faith = { - faith_allows_marriage_consanguinity_trigger = { - CHARACTER_1 = $OWNER$ - CHARACTER_2 = $TARGET$ - } - } - #The person doing the seducing don't think less of themselves either. - this = $OWNER$ - } - } - custom = characters_close_to_target_who_dislike_incest - #Apply attempt opinion effects. - add_opinion = { - modifier = incestuous_advances_on_relevant_character - target = $OWNER$ - } - } - } - - #Sodomite - if = { - limit = { - relation_with_character_is_sodomy_trigger = { CHARACTER = $OWNER$ } - } - every_in_list = { - list = relevant_parties - limit = { - #Filter out anyone who wouldn't care about this. - NOR = { - #Kids too young to understand the bias have no prejudice. - is_adult = no - #Not compos mentis. - has_trait = incapable - #People who are sodomites themselves. - has_trait = sodomite - #Males who could be sodomites. - AND = { - is_male = yes - OR = { - has_sexuality = bisexual - has_sexuality = homosexual - } - } - #Or who don't count the action as incestuous. - faith = { - faith_allows_marriage_consanguinity_trigger = { - CHARACTER_1 = $OWNER$ - CHARACTER_2 = $TARGET$ - } - } - #The person doing the seducing don't think less of themselves either. - this = $OWNER$ - } - #And, finally, must actually be fussed about sodomy to begin with. - relation_between_characters_is_sodomy_in_my_faith_trigger = { - CHARACTER_1 = $OWNER$ - CHARACTER_2 = $TARGET$ - } - } - custom = characters_close_to_target_who_dislike_sodomy - #Apply attempt opinion effects. - add_opinion = { - modifier = sodomite_advances_on_relevant_character - target = $OWNER$ - } - } - } - } -} - -set_relation_lover_through_seduction_effect = { - $CHARACTER$ = { save_scope_as = second_character } - if = { #To save a potential important object to be used later on - limit = { - exists = scope:scheme - scope:scheme = { has_variable = object_of_importance } - NOT = { has_variable_list = lover_object_of_importance } - } - add_to_variable_list = { - name = lover_object_of_importance - target = scope:scheme.var:object_of_importance - } - add_to_variable_list = { - name = lover_object_of_importance - target = scope:second_character - } - } - else_if = { #you can save two different seduction objects - limit = { - exists = scope:scheme - scope:scheme = { has_variable = object_of_importance } - has_variable_list = lover_object_of_importance - NOT = { has_variable_list = lover_object_of_importance_2 } - } - add_to_variable_list = { - name = lover_object_of_importance_2 - target = scope:scheme.var:object_of_importance - } - add_to_variable_list = { - name = lover_object_of_importance_2 - target = scope:second_character - } - } - scope:scheme = { - end_scheme = yes - } - if = { # Safeguard because so much stuff can happen - limit = { - NOT = { has_relation_lover = scope:second_character } - } - scope:second_character = { - set_relation_lover = { - target = prev - reason = $REASON$ - province = $LOCATION$ - } - } - } -} - -set_object_of_significance_effect = { - if = { - limit = { - scope:scheme = { - NOT = { has_variable = object_of_importance } - } - } - scope:scheme = { - random_list = { - 1 = { - set_variable = { - name = object_of_importance - value = flag:rose - } - } - 1 = { - set_variable = { - name = object_of_importance - value = flag:sea_shell - } - } - } - } - } -} - -set_random_religious_text_effect = { - random_list = { - 1 = { - #Christian - trigger = { faith.religion = religion:christianity_religion } - save_scope_value_as = { - name = religious_book_title - value = flag:golden_legend - } - } - 1 = { - #Christian - trigger = { faith.religion = religion:christianity_religion } - save_scope_value_as = { - name = religious_book_title - value = flag:city_of_god - } - } - 1 = { - #Christian - trigger = { - faith.religion = religion:christianity_religion - NOT = { faith = faith:orthodox } - } - save_scope_value_as = { - name = religious_book_title - value = flag:summa_theologica - } - } - 1 = { - #Christian - trigger = { - faith.religion = religion:christianity_religion - NOT = { faith = faith:orthodox } - } - save_scope_value_as = { - name = religious_book_title - value = flag:sic_et_non - } - } - 1 = { - #Christian Orthodox - trigger = { - faith = faith:orthodox - } - save_scope_value_as = { - name = religious_book_title - value = flag:chrysostomos - } - } - 1 = { - #Christian Orthodox - trigger = { - faith = faith:orthodox - } - save_scope_value_as = { - name = religious_book_title - value = flag:symeon_menologion - } - } - 1 = { - #Christian Orthodox - trigger = { - faith = faith:orthodox - } - save_scope_value_as = { - name = religious_book_title - value = flag:god_and_christ - } - } - 1 = { - #Muslim - trigger = { faith.religion = religion:islam_religion } - save_scope_value_as = { - name = religious_book_title - value = flag:the_small_book_on_theism - } - } - 1 = { - #Muslim - trigger = { faith.religion = religion:islam_religion } - save_scope_value_as = { - name = religious_book_title - value = flag:modern_philosophy - } - } - 1 = { - #Any - save_scope_value_as = { - name = religious_book_title - value = flag:stories_from_holy_book - } - } - } -} - -set_random_entertainment_text_effect = { - random_list = { - 1 = { - #Germanic language - trigger = { - root.culture = { - OR = { - has_cultural_parameter = anglic_group_language_param - } - } - } - save_scope_value_as = { - name = entertainment_book_title - value = flag:beowulf - } - } - 1 = { - #Germanic language - trigger = { - root.culture = { - OR = { - has_cultural_pillar = language_central_germanic - has_cultural_pillar = language_norse - has_cultural_pillar = language_anglic - } - } - } - save_scope_value_as = { - name = entertainment_book_title - value = flag:niebelungenlied - } - } - 1 = { - #Latin - trigger = { root.culture = { has_cultural_pillar = language_italian } } - save_scope_value_as = { - name = entertainment_book_title - value = flag:song_of_roland - } - } - 1 = { - #Welsh saga - trigger = { - OR = { - root.culture = { has_cultural_pillar = language_brythonic } - root.culture = { has_cultural_pillar = language_goidelic } - } - } - save_scope_value_as = { - name = entertainment_book_title - value = flag:mabinogi - } - } - 1 = { - #Greek - trigger = { root.culture = { has_cultural_pillar = language_greek } } - save_scope_value_as = { - name = entertainment_book_title - value = flag:digenes_akrites - } - } - ###New Works - 1 = { - #Any for now - save_scope_value_as = { - name = entertainment_book_title - value = flag:hitchhikers - } - } - 1 = { - #Any for now - save_scope_value_as = { - name = entertainment_book_title - value = flag:dune - } - } - 1 = { - #Any for now - save_scope_value_as = { - name = entertainment_book_title - value = flag:hobbit - } - } - 1 = { - #Any for now - save_scope_value_as = { - name = entertainment_book_title - value = flag:lotr - } - } - 1 = { - trigger = { - OR = { - root.culture = { has_cultural_parameter = anglic_group_language_param } - root.religion = novelist_religion - } - } - save_scope_value_as = { - name = entertainment_book_title - value = flag:narnia - } - } - 1 = { - trigger = { - OR = { - root.culture = { has_cultural_parameter = anglic_group_language_param } - root.religion = novelist_religion - } - } - save_scope_value_as = { - name = entertainment_book_title - value = flag:foundation - } - } - 1 = { - trigger = { - OR = { - root.culture = { has_cultural_parameter = anglic_group_language_param } - root.religion = novelist_religion - } - } - save_scope_value_as = { - name = entertainment_book_title - value = flag:nineteen_eighty_four - } - } - 1 = { - trigger = { - OR = { - root.culture = { - OR = { - has_cultural_parameter = west_hispanic_group_language_param - has_cultural_parameter = middle_hispanic_group_language_param - has_cultural_parameter = east_hispanic_group_language_param - } - } - root.religion = novelist_religion - } - } - save_scope_value_as = { - name = entertainment_book_title - value = flag:one_hundred_years - } - } - 1 = { - trigger = { - OR = { - root.culture = { has_cultural_parameter = french_group_language_param } - root.religion = novelist_religion - } - } - save_scope_value_as = { - name = entertainment_book_title - value = flag:les_drames - } - } - 1 = { - trigger = { - OR = { - root.culture = { has_cultural_parameter = french_group_language_param } - root.religion = novelist_religion - } - } - save_scope_value_as = { - name = entertainment_book_title - value = flag:le_club - } - } - 1 = { - trigger = { - OR = { - root.culture = { has_cultural_parameter = french_group_language_param } - root.religion = novelist_religion - } - } - save_scope_value_as = { - name = entertainment_book_title - value = flag:les_chevaliers - } - } - 1 = { - trigger = { - OR = { - root.culture = { - OR = { - has_cultural_parameter = anglic_group_language_param - has_cultural_parameter = middle_german_group_language_param - } - } - root.religion = novelist_religion - } - } - save_scope_value_as = { - name = entertainment_book_title - value = flag:the_shell_seekers - } - } - 1 = { - trigger = { - OR = { - root.culture = { - OR = { - has_cultural_parameter = anglic_group_language_param - has_cultural_parameter = middle_german_group_language_param - } - } - root.religion = novelist_religion - } - } - save_scope_value_as = { - name = entertainment_book_title - value = flag:pillars - } - } - 1 = { - trigger = { - OR = { - root.culture = { has_cultural_parameter = middle_german_group_language_param } - root.religion = novelist_religion - } - } - save_scope_value_as = { - name = entertainment_book_title - value = flag:perfume - } - } - 1 = { - trigger = { - OR = { - root.culture = { - OR = { - has_cultural_parameter = east_north_germanic_group_language_param - has_cultural_parameter = west_north_germanic_group_language_param - } - } - root.religion = novelist_religion - } - } - save_scope_value_as = { - name = entertainment_book_title - value = flag:faceless - } - } - 1 = { - trigger = { - OR = { - root.culture = { has_cultural_parameter = lausatian_group_language_param } - root.religion = novelist_religion - } - } - save_scope_value_as = { - name = entertainment_book_title - value = flag:the_alchemist - } - } - 1 = { - trigger = { - OR = { - root.culture = { has_cultural_parameter = east_slavic_group_language_param } - root.religion = novelist_religion - } - } - save_scope_value_as = { - name = entertainment_book_title - value = flag:the_brothers - } - } - 1 = { - save_scope_value_as = { - name = entertainment_book_title - value = flag:one_thousand - } - } - 1 = { - trigger = { - OR = { - root.culture = { has_cultural_parameter = anglic_group_language_param } - root.religion = novelist_religion - } - } - save_scope_value_as = { - name = entertainment_book_title - value = flag:nineteen_eighty_four - } - } - 1 = { - trigger = { - OR = { - root.culture = { has_cultural_parameter = latin_sprachbund_language_param } - root.religion = novelist_religion - root.religion = catholic_religion - } - } - save_scope_value_as = { - name = entertainment_book_title - value = flag:the_divine_comedy - } - } - 1 = { - trigger = { - OR = { - root.culture = { - OR = { - has_cultural_parameter = latin_sprachbund_language_param - has_cultural_parameter = greek_sprachbund_language_param - } - } - root.religion = novelist_religion - } - } - save_scope_value_as = { - name = entertainment_book_title - value = flag:the_odyssey - } - } - 1 = { - trigger = { - OR = { - root.culture = { - OR = { - has_cultural_parameter = latin_sprachbund_language_param - has_cultural_parameter = greek_sprachbund_language_param - } - } - root.religion = novelist_religion - } - } - save_scope_value_as = { - name = entertainment_book_title - value = flag:war_and_peace - } - } - 1 = { - trigger = { - OR = { - root.culture = { has_cultural_parameter = albanian_group_language_param } - root.religion = novelist_religion - } - } - save_scope_value_as = { - name = entertainment_book_title - value = flag:the_pyramid - } - } - } -} - -set_random_informative_text_effect = { - random_list = { - 1 = { - #Arabic - trigger = { - OR = { - root.culture = { has_cultural_pillar = heritage_arabic } - root.culture = { has_cultural_pillar = language_arabic } - } - } - save_scope_value_as = { - name = informative_book_title - value = flag:on_the_judgement_of_the_stars - } - } - 1 = { - #Arabic - trigger = { - OR = { - scope:culture ?= { has_cultural_pillar = heritage_arabic } - scope:culture ?= { has_cultural_pillar = language_arabic } - } - } - save_scope_value_as = { - name = informative_book_title - value = flag:the_perfect_state - } - } - 1 = { - #"Any" - save_scope_value_as = { - name = informative_book_title - value = flag:spiritual_medicine - } - } - 1 = { - #Latin - trigger = { - root.capital_province ?= { geographical_region = world_europe } - } - save_scope_value_as = { - name = informative_book_title - value = flag:trotula - } - } - 1 = { - #Jewish/Any - save_scope_value_as = { - name = informative_book_title - value = flag:the_improvement_of_the_moral_qualities - } - } - 1 = { - #Welsh (Anyone in the British Isles) - trigger = { - root.capital_province ?= { geographical_region = world_europe_west_britannia } - } - save_scope_value_as = { - name = informative_book_title - value = flag:armes_prydein - } - } - 1 = { - #Anywhere around the Mediterrenean - trigger = { - root.capital_province ?= { - OR = { - geographical_region = world_europe - geographical_region = world_africa_north_east - geographical_region = world_africa_north_west - } - } - } - save_scope_value_as = { - name = informative_book_title - value = flag:almagest - } - } - 1 = { - #Greek - trigger = { root.culture = { has_cultural_pillar = language_greek } } - save_scope_value_as = { - name = informative_book_title - value = flag:anekdota - } - } - 1 = { - #Greek - trigger = { root.culture = { has_cultural_pillar = language_greek } } - save_scope_value_as = { - name = informative_book_title - value = flag:chronographia - } - } - } -} - -#To set up a location to use for the sex scene custom loc key -set_random_sex_scene_location_effect = { - hidden_effect = { - if = { - limit = { NOT = { has_variable = sex_scene_location } } - random_list = { - 20 = { - set_variable = { - name = sex_scene_location - value = flag:garden - } - } - 20 = { - set_variable = { - name = sex_scene_location - value = flag:private_chamber - } - } - 20 = { - set_variable = { - name = sex_scene_location - value = flag:stable - } - } - 20 = { - set_variable = { - name = sex_scene_location - value = flag:copse - } - } - 20 = { - set_variable = { - name = sex_scene_location - value = flag:kitchen - } - } - } - } - } -} - -#To transfer the location used in the sex scene custom loc key from one character to another -transfer_sex_scene_location_to_character_effect = { - if = { - limit = { - has_variable = sex_scene_location - } - if = { - limit = { - var:sex_scene_location = flag:garden - } - $CHARACTER$ = { - set_variable = { - name = sex_scene_location - value = flag:garden - } - } - } - else_if = { - limit = { - var:sex_scene_location = flag:private_chamber - } - $CHARACTER$ = { - set_variable = { - name = sex_scene_location - value = flag:private_chamber - } - } - } - else_if = { - limit = { - var:sex_scene_location = flag:stable - } - $CHARACTER$ = { - set_variable = { - name = sex_scene_location - value = flag:stable - } - } - } - else_if = { - limit = { - var:sex_scene_location = flag:copse - } - $CHARACTER$ = { - set_variable = { - name = sex_scene_location - value = flag:copse - } - } - } - else_if = { - limit = { - var:sex_scene_location = flag:kitchen - } - $CHARACTER$ = { - set_variable = { - name = sex_scene_location - value = flag:kitchen - } - } - } - } -} - -################################################## -# Abduct Scheme Effects - -#Sets up the Outcome Roll values -abduct_outcome_roll_setup_effect = { - #Discovery Roll setup - save_scope_value_as = { - name = discovery_chance - value = { - value = 100 - subtract = scope:scheme.scheme_secrecy - } - } -} - -#Roll to check whether a Abduct Scheme is a success or a failure, and whether the owner is discovered -abduct_outcome_roll_effect = { - #SUCCESS ROLL - random = { - chance = scope:scheme.scheme_success_chance - custom_tooltip = abduct_successful_roll_tt - scope:owner = { mandala_trickster_increment_successful_schemes_effect = yes } - save_scope_value_as = { - name = scheme_successful - value = yes - } - } - ### End Success roll - #DISCOVERY ROLL - custom_label = abduct_success_discovery_tt - random = { - chance = scope:discovery_chance - custom_tooltip = abduct_become_discovered_roll_tt - save_scope_value_as = { - name = scheme_discovered - value = yes - } - } - ### End Discovery roll - - hidden_effect = { - #FIRE CORRECT ON ACTIONS - if = { - limit = { - exists = scope:scheme_successful - } - trigger_event = { - on_action = abduct_succeeded - } - } - else = { - trigger_event = { - on_action = abduct_failed - } - } - } -} - -#Used in the immediate of the Scheme Owner's success event -abduct_success_effect = { - - scope:target = { - add_character_flag = { - flag = was_abducted_block_notification_event - days = 2 - } - trigger_event = abduct_outcome.5001 - } - - hard_imprison_character_effect = { - TARGET = scope:target - IMPRISONER = scope:owner - } - - if = { - limit = { - exists = scope:owner.house - exists = scope:target.house - } - scope:owner.house = { - change_house_relation_effect = { - HOUSE = scope:target.house - VALUE = house_relation_damage_medium_value - REASON = abduction - CHAR = scope:owner - TARGET_CHAR = scope:target - TITLE = scope:dummy_gender - } - } - } -} - -abduct_failure_effect = { - #Add Watchful Modifier to the target - scope:target = { - show_as_tooltip = { - add_character_modifier = { - modifier = watchful_modifier - days = watchful_modifier_duration - } - } - } - - scope:target = { - trigger_event = abduct_outcome.5002 - } -} - -successful_abduct_outcome_event_option_effect = { - if = { - limit = { - faith = { - has_doctrine_parameter = piety_gain_from_successful_intrigue_schemes - } - } - add_piety = minor_piety_gain - } - - scope:scheme ?= { - end_scheme = yes - } -} - -################################################## -# Befriend Scheme Effects - -successful_befriend_potential_friend_effect = { - $CHARACTER$ = { - if = { #Always leads to a potential friendship - limit = { - NOR = { - has_relation_potential_friend = root - has_relation_friend = root - } - } - if = { #Remove potential rival relation if you have it - limit = { - has_relation_potential_rival = root - } - remove_relation_potential_rival = root - } - set_relation_potential_friend = root - } - if = { - limit = { - number_of_traits_in_common = { - target = root - value >= 3 - } - } - $CHARACTER$ = { - add_opinion = { - modifier = friendliness_opinion - target = root - opinion = 30 - } - } - } - else = { - $CHARACTER$ = { - add_opinion = { - modifier = friendliness_opinion - target = root - opinion = 20 - } - } - } - } -} - -successful_befriend_critical_change_effect = { - $CHARACTER$ = { - hidden_effect = { - if = { #Remove potential rival relation if you have it - limit = { - has_relation_potential_rival = root - } - remove_relation_potential_rival = root - } - } - if = { #Set friend relation - limit = { - NOT = { has_relation_friend = root } - } - if = { - limit = { - exists = scope:relationship_reason_location - } - set_relation_friend = { reason = $REASON$ target = root province = scope:relationship_reason_location } - } - else = { - set_relation_friend = { reason = $REASON$ target = root } - } - } - else_if = { #Fallback - limit = { - has_relation_friend = root - } - $CHARACTER$ = { - add_opinion = { - modifier = friendliness_opinion - target = root - opinion = 40 - } - } - } - } - if = { - limit = { - has_government = landless_adventurer_government - has_perk = friendly_counsel_perk - $CHARACTER$ = { is_ruler = yes } - } - add_contact = $CHARACTER$ - } -} - -failed_befriend_opinion_change_effect = { - $CHARACTER$ = { - add_opinion = { - modifier = refusal_opinion - target = root - opinion = -5 - } - hidden_effect = { - set_relation_potential_friend = root - } - } -} - -failed_befriend_opinion_critical_change_effect = { - $CHARACTER$ = { - add_opinion = { - modifier = disastrous_befriend_attempt_opinion - target = root - } - if = { - limit = { - NOR = { - has_relation_potential_rival = root - has_relation_rival = root - } - } - hidden_effect = { set_relation_potential_rival = root } - } - else_if = { #If you already are potential rivals, you have a chance of becoming Rivals - limit = { - has_relation_potential_rival = root - NOT = { has_relation_rival = root } - } - hidden_effect = { remove_relation_potential_rival = root } - set_relation_rival = { - target = root - reason = rival_disastrous_befriend_attempt - } - } - } -} - -################################################## -# Claim Throne Scheme Effects - -#Sets up the Outcome Roll values -claim_throne_outcome_roll_setup_effect = { - # Find appropriate title - scope:target = { - primary_title = { - save_scope_as = target_title - } - } - # Discovery Roll setup - save_scope_value_as = { - name = discovery_chance - value = { - value = 100 - subtract = scope:scheme.scheme_secrecy - } - } -} - -claim_throne_check_target_title_effect = { - # In case something has happened to the target_title, we try to reset it here: - if = { - limit = { - OR = { - NOT = { exists = scope:target_title } # The title could somehow disappear - NOT = { - scope:target_title = { # The title might feasibly pass to someone else - holder ?= scope:target - - } - } - } - } - scope:target = { - primary_title = { # We just assign the target's primary title as the new target title - save_scope_as = target_title - } - } - } - - # Rivalry check is done here, since it's run in every outcome - if = { - limit = { - OR = { - exists = scope:scheme_successful - exists = scope:scheme_discovered - } - NOT = { has_relation_rival = scope:target } - } - hidden_effect = { - random = { - chance = 30 - modifier = { - add = 30 - has_relation_potential_rival = scope:target - } - modifier = { - exists = scope:scheme_discovered - add = 30 - } - modifier = { - has_relation_friend = scope:target - add = -25 - } - - save_scope_value_as = { - name = set_rivalry - value = yes - } - } - } - } -} - -#Roll to check whether a Claim Throne Scheme is a success or a failure, and whether the owner is discovered -claim_throne_outcome_roll_effect = { - #SUCCESS ROLL - random = { - chance = scope:scheme.scheme_success_chance - custom_tooltip = claim_throne_successful_roll_tt - scope:owner = { mandala_trickster_increment_successful_schemes_effect = yes } - save_scope_value_as = { - name = scheme_successful - value = yes - } - } - ### End Success roll - #DISCOVERY ROLL - custom_description_no_bullet = { - text = claim_throne_success_discovery_warning_effect - } - random = { - chance = scope:discovery_chance - custom_tooltip = claim_throne_become_discovered_roll_tt - save_scope_value_as = { - name = scheme_discovered - value = yes - } - } - ### End Discovery roll - - hidden_effect = { - #FIRE CORRECT ON ACTIONS - if = { - limit = { - exists = scope:scheme_successful - } - trigger_event = { - on_action = claim_throne_succeeded - days = 3 - } - } - else = { - trigger_event = { - on_action = claim_throne_failed - days = 3 - } - } - } -} - -#Used in the immediate of the Scheme Owner's success event -claim_throne_success_effect = { - # Note that the Claim itself is added in successful_claim_throne_outcome_event_option_effect - - if = { - limit = { - exists = scope:scheme_discovered - } - # Trigger the response event for the target (actual opinion is set here) - scope:target = { - trigger_event = claim_throne_outcome.5001 - } - - show_as_tooltip = { # Target dislikes you - scope:target = { - add_opinion = { - target = scope:owner - modifier = claim_my_throne_success_discovered_opinion - } - } - } - } - else = { - # Trigger the response event for the target (actual opinion is set here) - scope:target = { - trigger_event = claim_throne_outcome.5002 - } - show_as_tooltip = { - scope:target = { - add_opinion = { - target = scope:owner - modifier = claim_my_throne_success_undiscovered_opinion - years = 10 - } - } - } - } -} - -claim_throne_failure_effect = { - add_prestige = claim_throne_discovered_failure_prestige_loss - scope:target = { - # Fire notification event for target - trigger_event = claim_throne_outcome.5003 - show_as_tooltip = { - add_opinion = { - target = scope:owner - modifier = claim_my_throne_failure_opinion - years = 10 - } - if = { - limit = { exists = scope:set_rivalry } - set_relation_rival = { - target = scope:owner - reason = rival_claimed_throne_failed - } - } - } - } -} - -successful_claim_throne_event_option_effect = { - if = { - limit = { - exists = scope:scheme_discovered - } - add_prestige = claim_throne_discovered_prestige_loss - } - show_as_tooltip = { - scope:target = { - if = { - limit = { exists = scope:set_rivalry } - set_relation_rival = { - target = scope:owner - reason = rival_claimed_throne - } - } - if = { - limit = { exists = scope:scheme_discovered } - add_opinion = { - target = scope:owner - modifier = claim_my_throne_success_discovered_opinion - } - } - else = { - add_opinion = { - target = scope:owner - modifier = claim_my_throne_success_undiscovered_opinion - years = 10 - } - } - } - } - - scope:scheme = { - end_scheme = yes - } - - add_pressed_claim = scope:target_title -} - -claim_throne_decline_execution_effect = { - custom_tooltip = do_not_execute_claim_throne_tooltip - scope:scheme = { - reset_failed_scheme_effect = yes - } -} - -claim_throne_set_mythical_founder_variable_effect = { - if = { - limit = { - AND = { # Charles Martell - OR = { - scope:target_title = title:k_france - scope:target_title = title:e_france - } - current_date > 1000.1.1 - } - } - set_variable = { - name = mythical_founder - value = flag:charles_martell - } - } - else_if = { # Alexander - limit = { - OR = { - scope:target_title = title:k_thessalonika - scope:target_title = title:k_hellas - scope:target_title = title:k_egypt - AND = { - OR = { - scope:target_title = title:k_persia - scope:target_title = title:e_persia - } - NOR = { - root.faith.religion = religion:islam_religion - root.faith.religion = religion:zoroastrianism_religion - } - } - scope:target_title = title:k_anatolia - } - } - set_variable = { - name = mythical_founder - value = flag:alexander - } - } - else_if = { # Lech - limit = { - scope:target_title = title:k_poland # Lech - } - set_variable = { - name = mythical_founder - value = flag:lech - } - } - else_if = { # Czech - limit = { - scope:target_title = title:k_bohemia # Lech - } - set_variable = { - name = mythical_founder - value = flag:czech - } - } - else_if = { # Rus - limit = { - OR = { # Rus - scope:target_title = title:k_white_rus - scope:target_title = title:k_ruthenia - scope:target_title = title:e_russia - } - } - set_variable = { - name = mythical_founder - value = flag:rus - } - } - else_if = { # Arthur - limit = { - OR = { - scope:target_title = title:k_wales - scope:target_title = title:k_cornwall - scope:target_title = title:k_england - scope:target_title = title:e_britannia - } - } - set_variable = { - name = mythical_founder - value = flag:arthur - } - } - else_if = { # Belisarius - limit = { - OR = { - scope:target_title = title:k_italy - scope:target_title = title:k_romagna - scope:target_title = title:k_sardinia - scope:target_title = title:e_italy - scope:target_title = title:h_roman_empire - scope:target_title = title:h_eastern_roman_empire - } - faith = faith:orthodox - } - set_variable = { - name = mythical_founder - value = flag:belisarius - } - } - else_if = { # Romulus - limit = { - OR = { - scope:target_title = title:k_italy - scope:target_title = title:k_romagna - scope:target_title = title:k_sardinia - scope:target_title = title:e_italy - scope:target_title = title:h_roman_empire - scope:target_title = title:h_eastern_roman_empire - } - } - set_variable = { - name = mythical_founder - value = flag:romulus - } - } - else_if = { # Ardashir - limit = { - OR = { - scope:target_title = title:k_persia - scope:target_title = title:e_persia - } - } - set_variable = { - name = mythical_founder - value = flag:ardashir - } - } - else_if = { # The Pharaohs - limit = { - scope:target_title = title:k_egypt - NOT = { religion = religion:islam_religion } - } - set_variable = { - name = mythical_founder - value = flag:pharaohs - } - } - else_if = { # The Visigothic Kings - limit = { - OR = { - scope:target_title = title:k_castille - scope:target_title = title:k_aragon - scope:target_title = title:k_navarra - scope:target_title = title:k_andalusia - scope:target_title = title:k_portugal - scope:target_title = title:e_spain - } - NOT = { religion = religion:islam_religion } - } - set_variable = { - name = mythical_founder - value = flag:visigothic_kings - } - } - else_if = { # Abd al-Rahman - limit = { - OR = { - scope:target_title = title:k_castille - scope:target_title = title:k_aragon - scope:target_title = title:k_navarra - scope:target_title = title:k_andalusia - scope:target_title = title:k_portugal - scope:target_title = title:e_spain - } - religion = religion:islam_religion - } - set_variable = { - name = mythical_founder - value = flag:abd_al_rahman - } - } - else_if = { # Zenobia - limit = { - OR = { - scope:target_title = title:k_syria - scope:target_title = title:k_mesopotamia - } - NOT = { religion = religion:islam_religion } - } - set_variable = { - name = mythical_founder - value = flag:zenobia - } - } - else = { - set_variable = { - name = mythical_founder - value = flag:fallback - } - } -} - -################################################## -# Elope Scheme Effects - -elope_opinion_list_builder_effect = { - $OWNER$ = { - every_spouse = { - limit = { NOT = { this = $TARGET$ } } - add_to_temporary_list = $LIST_NAME$ - } - } - $TARGET$ = { - every_spouse = { - limit = { NOT = { this = $OWNER$ } } - add_to_temporary_list = $LIST_NAME$ - } - liege = { - if = { - limit = { - NOR = { - is_in_list = $LIST_NAME$ - this = $OWNER$ - } - } - add_to_temporary_list = $LIST_NAME$ - } - } - } -} - -elope_success_effect = { - elope_opinion_list_builder_effect = { OWNER = $OWNER$ TARGET = $TARGET$ LIST_NAME = elope_opinion_list } - - #Because this can be used in events or interaction window, we save root_scope here - if = { - limit = { exists = scope:actor } - scope:actor = { save_temporary_scope_as = root_scope } - } - else = { - root = { save_temporary_scope_as = root_scope } - } - - #Target prisoner release - $TARGET$ = { - if = { - limit = { is_imprisoned = yes } - release_from_prison = yes - } - } - - $OWNER$ = { - #Tooltip for marriage - show_as_tooltip = { - if = { - limit = { is_female = yes } - marry_matrilineal = $TARGET$ - } - else = { - marry = $TARGET$ - } - } - - #Owner's personal consequences (hidden or not), divorce happens here - if = { - limit = { - scope:root_scope = $OWNER$ - } - elope_success_personal_consequences_effect = { CHARACTER = $OWNER$ } - } - else = { - hidden_effect = { elope_success_personal_consequences_effect = { CHARACTER = $OWNER$ } } - } - } - - #Opinions - ordered_in_list = { - list = elope_opinion_list - max = 10 #To make sure we include all - check_range_bounds = no - order_by = ai_vengefulness - - #Towards owner - if = { - limit = { - OR = { #Owner wants to see everything, root wants to see their own - scope:root_scope = $OWNER$ - scope:root_scope = this - } - } - elope_success_opinion_rivalry_effect = { CHARACTER = $OWNER$ } - } - else = { - hidden_effect = { elope_success_opinion_rivalry_effect = { CHARACTER = $OWNER$ } } - } - - #Towards target - if = { - limit = { scope:root_scope = this } #Root wants to see their own - elope_success_opinion_rivalry_effect = { CHARACTER = $TARGET$ } - } - else = { - hidden_effect = { elope_success_opinion_rivalry_effect = { CHARACTER = $TARGET$ } } - } - } - - - hidden_effect = { - #Target's personal consequences, divorce happens here - elope_success_personal_consequences_effect = { CHARACTER = $TARGET$ } - - #Marriage - $OWNER$ = { #We do this last so old spouses remain when we run personal consequences effect - if = { - limit = { is_female = yes } - marry_matrilineal = $TARGET$ - } - else = { - marry = $TARGET$ - } - } - } -} - -elope_failure_discovered_effect = { - elope_opinion_list_builder_effect = { OWNER = $OWNER$ TARGET = $TARGET$ LIST_NAME = elope_opinion_list } - - #Expose lover secret - $OWNER$ = { - random_secret = { - type = secret_lover - limit = { - secret_target = $TARGET$ - } - - if = { - limit = { $DISCOVERER$ = { is_ai = yes } } - expose_secret = $DISCOVERER$ - } - else = { - reveal_to = $DISCOVERER$ - } - } - } - - #Opinions - ordered_in_list = { - list = elope_opinion_list - max = 10 #To make sure we include all - check_range_bounds = no - order_by = ai_vengefulness - - #Towards owner - if = { - limit = { - OR = { #Owner wants to see everything, root wants to see their own - root = $OWNER$ - root = this - } - } - elope_failure_discovered_opinion_rivalry_effect = { CHARACTER = $OWNER$ } - } - else = { - hidden_effect = { elope_failure_discovered_opinion_rivalry_effect = { CHARACTER = $OWNER$ } } - } - - #Towards target - if = { - limit = { root = this } #Root wants to see their own - elope_failure_discovered_opinion_rivalry_effect = { CHARACTER = $TARGET$ } - } - else = { - hidden_effect = { elope_failure_discovered_opinion_rivalry_effect = { CHARACTER = $TARGET$ } } - } - } -} - -elope_success_opinion_rivalry_effect = { - #Crime opinion - add_opinion = { - target = $CHARACTER$ - modifier = elopement_opinion - } - - #Rivalry - if = { - limit = { - can_set_relation_rival_trigger = { CHARACTER = $CHARACTER$ } - is_ai = yes - trigger_if = { - limit = { is_spouse_of = $CHARACTER$ } - ai_vengefulness >= low_positive_ai_value - } - trigger_else = { - ai_vengefulness > 0 - } - } - if = { - limit = { - can_set_relation_nemesis_trigger = { CHARACTER = $CHARACTER$ } - ai_vengefulness >= medium_positive_ai_value - } - set_relation_nemesis = { - reason = nemesis_elopement - copy_reason = rival - target = $CHARACTER$ - } - } - else = { - set_relation_rival = { - target = $CHARACTER$ - reason = rival_eloped - } - } - } - else_if = { - limit = { - can_set_relation_potential_rival_trigger = { CHARACTER = $CHARACTER$ } - } - hidden_effect = { set_relation_potential_rival = $CHARACTER$ } - } -} - -elope_success_personal_consequences_effect = { - $CHARACTER$ = { - - #Divorce - if = { - limit = { - is_married = yes - } - every_spouse = { - save_temporary_scope_as = eloper_divorcee - - divorce_effect = { - DIVORCER = $CHARACTER$ - DIVORCEE = scope:eloper_divorcee - } - if = { - limit = { has_relation_lover = $CHARACTER$ } - remove_relation_lover = $CHARACTER$ - } - } - - #Divorce consequences - if = { - limit = { faith = { NOT = { has_doctrine = doctrine_divorce_allowed } } } - add_prestige_level = -1 - add_piety_level = -1 - - if = { - limit = { - faith = { has_doctrine = tenet_communion } - NOT = { has_trait = excommunicated } - } - add_trait = excommunicated - } - } - } - - #Break betrothal - if = { - limit = { is_betrothed = yes } - reverse_add_opinion = { - modifier = broke_betrothal_opinion - target = betrothed - } - break_betrothal = betrothed - if = { - limit = { - has_been_promised_grand_wedding = yes - } - break_grand_wedding_betrothal_effect = yes - } - } - - #End concubinage - if = { - limit = { is_concubine = yes } - liege = { - remove_concubine = $CHARACTER$ - - if = { - limit = { has_relation_lover = $CHARACTER$ } - remove_relation_lover = $CHARACTER$ - } - } - add_prestige_level = -1 - } - } -} - -elope_failure_discovered_opinion_rivalry_effect = { - add_opinion = { - target = $CHARACTER$ - modifier = attempted_elopement_opinion - } - - #Rivalry - if = { - limit = { - can_set_relation_potential_rival_trigger = { CHARACTER = $CHARACTER$ } - } - hidden_effect = { set_relation_potential_rival = $CHARACTER$ } - } -} - -################################################## -# Fabricate Hook Scheme Effects - -fabricate_hook_assign_appropriate_type_effect = { - debug_log = "Running Fabricate Hook's Assign Appropriate Hook effect" - assert_if = { - limit = { - scope:owner = { - has_strong_hook = scope:target - } - } - text = "The Fabricate Hook Scheme Owner already has a Strong Hook on the Target! Why is this effect running?" - } - assert_if = { - limit = { - scope:target = { is_ruler = yes } - NOT = { exists = scope:strong_hook_against_ruler } - scope:owner = { has_hook = scope:target } - } - text = "The Owner has a hook against a ruler target, and the strong hook roll failed. Something has gone wrong to get here!" - } - - save_scope_value_as = { - name = hook_type - value = flag:$TYPE$ - } - # Go through the Hook types, and assign the appropriate one - if = { - limit = { - scope:hook_type = flag:loyalty_hook - } - # Check rulers first (to give weaker Hooks) - if = { - limit = { - scope:target = { is_ruler = yes } - NOT = { exists = scope:strong_hook_against_ruler } # Set by on_ready in the Scheme - } - send_interface_toast = { - title = fabricate_hook_gained_indebted_title - left_icon = scope:target - add_hook = { - type = indebted_hook - target = scope:target - } - } - } - else = { - send_interface_toast = { - title = fabricate_hook_gained_loyalty_title - left_icon = scope:target - add_hook = { - type = loyalty_hook - target = scope:target - } - } - } - } - else_if = { - limit = { - scope:hook_type = flag:fabrication_hook - } - # Check rulers first (to give weaker Hooks) - if = { - limit = { - scope:target = { is_ruler = yes } - NOT = { exists = scope:strong_hook_against_ruler } # Set by on_ready in the Scheme - } - send_interface_toast = { - title = fabricate_hook_gained_manipulation_title - left_icon = scope:target - add_hook = { - type = manipulation_hook - target = scope:target - } - } - } - else = { - send_interface_toast = { - title = fabricate_hook_gained_indebted_title - left_icon = scope:target - add_hook = { - type = fabrication_hook - target = scope:target - } - } - } - } - else_if = { - limit = { - scope:hook_type = flag:life_threat_hook - } - debug_log = "Attempting to set life threat hook" - # Check rulers first (to give weaker Hooks) - if = { - limit = { - scope:target = { is_ruler = yes } - NOT = { exists = scope:strong_hook_against_ruler } # Set by on_ready in the Scheme - } - debug_log = "Trying to set regular threat hook against ruler" - send_interface_toast = { - title = fabricate_hook_gained_threat_title - left_icon = scope:target - add_hook = { - type = threat_hook - target = scope:target - } - scope:target = { - add_opinion = { - target = scope:owner - modifier = fabricate_hook_threatened_me - years = 10 - } - } - } - } - else = { - if = { - limit = { exists = scope:strong_hook_against_ruler } - debug_log = "Trying to set life_threat_hook against a ruler" - } - else = { - debug_log = "Setting life_threat_hook against non-ruler" - assert_if = { - limit = { scope:target = { is_ruler = yes } } - text = "There is no ruler strong hook roll, but we're still trying to set a life_threat_hook on them!" - } - } - send_interface_toast = { - title = fabricate_hook_gained_threat_title - left_icon = scope:target - add_hook = { - type = life_threat_hook - target = scope:target - } - scope:target = { - add_opinion = { - target = scope:owner - modifier = fabricate_hook_threatened_me - years = 10 - } - } - } - } - } - # Error catch - else = { - assert_if = { - limit = { always = yes } # It should never get here - text = "Fabricate Hook assignment effect did not have a Hook type set when trying to assign a Hook!" - } - } -} - -fabricate_hook_block_scheme_owner_from_further_schemes_effect = { - add_opinion = { - target = scope:owner - modifier = fabricated_hook_against_court_opinion - years = 5 - } - custom_tooltip = fabricate_hook_i_may_not_fabricate_again -} - -fabricate_hook_discovery_effect = { - show_as_tooltip = { # Target dislikes you - custom_tooltip = fabricate_hook_i_may_not_fabricate_again - scope:target = { - add_opinion = { - target = scope:owner - modifier = fabricated_hook_against_court_opinion - years = 5 - } - } - if = { - limit = { - exists = scope:target.court_owner - scope:target != scope:target.court_owner - } - scope:target.court_owner = { - add_opinion = { - target = scope:owner - modifier = fabricated_hook_against_court_opinion - years = 5 - } - } - } - } - - hidden_effect = { - # Set a blocker for Fabricating further Hooks against Court in question - if = { - limit = { - exists = scope:target.court_owner - } - scope:target.court_owner = { - send_interface_message = { - type = fabricate_hook_bad_message - left_icon = scope:owner - title = hostile_scheme_discovery.3002.t - - if = { - limit = { - scope:owner != scope:target.court_owner - } - fabricate_hook_block_scheme_owner_from_further_schemes_effect = yes - } - } - } - } - if = { - limit = { - OR = { - NOT = { exists = scope:target.court_owner } - scope:target.court_owner != scope:target - } - } - scope:target = { - add_opinion = { - target = scope:owner - modifier = fabricated_hook_against_court_opinion - years = 5 - } - } - } - } -} - -#Used in event options -fabricate_hook_success_effect = { - fabricate_hook_assign_appropriate_type_effect = { - TYPE = $TYPE$ # Sets the correct hook type to give - } - if = { - limit = { exists = scope:scheme_discovered } - fabricate_hook_discovery_effect = yes - } - if = { - limit = { exists = scope:scheme } - scope:scheme = { - end_scheme = yes - } - } -} - -fabricate_hook_decline_execution_effect = { - scope:scheme = { - add_scheme_modifier = { - type = fabricate_hook_building_influence_modifier - } - custom_tooltip = restart_scheme_tt - reset_failed_scheme_effect = yes - } -} - -fabricate_hook_success_notification_event_effect = { - custom_tooltip = fabricate_hook_hook_gained_on_you - if = { - limit = { - exists = scope:scheme_discovered - scope:target = scope:target.court_owner - } - fabricate_hook_block_scheme_owner_from_further_schemes_effect = yes - } -} - -################################################## -# Sway Scheme Effects - -sway_end_effect = { - if = { - limit = { - scope:target = { - NOT = { - has_opinion_modifier = { - target = scope:owner - modifier = scheme_sway_opinion - value >= sway_max_value # 100 by default - } - } - } - } - if = { - limit = { - exists = scope:scheme - } - scope:scheme = { - reset_failed_scheme_effect = yes - } - } - if = { - limit = { - exists = scope:scheme_successful - } - custom_tooltip = sway_continue - } - else = { - custom_tooltip = sway_try_again - } - - scope:owner = { # The AI never stops swaying unless we force it to, this makes them use a more even spread of schemes - if = { - limit = { - is_ai = yes - scope:target = { - NAND = { - is_vassal_of = scope:owner - is_a_faction_member = yes - opinion = { - target = scope:owner - value < 100 - } - } - } - } - if = { # Sway your realm priest for a long time - limit = { - scope:target = { - is_theocratic_lessee = yes - opinion = { - target = scope:owner - value <= 50 - } - } - } - random = { - chance = 10 - scope:scheme = { - end_scheme = yes - } - } - } - else_if = { - limit = { - scope:target = { - opinion = { - target = scope:owner - value < -25 - } - } - } - random = { - chance = 10 - scope:scheme = { - end_scheme = yes - } - } - } - else_if = { - limit = { - scope:target = { - opinion = { - target = scope:owner - value < 0 - } - } - } - random = { - chance = 30 - scope:scheme = { - end_scheme = yes - } - } - } - else_if = { - limit = { - scope:target = { - opinion = { - target = scope:owner - value < 35 - } - } - } - random = { - chance = 50 - scope:scheme = { - end_scheme = yes - } - } - } - else = { - scope:scheme = { - end_scheme = yes - } - } - } - } - } - else = { - #hidden_effect = { # What was this ever supposed to achieve? - # remove_opinion = { - # target = scope:owner - # modifier = scheme_sway_opinion - # } - # add_opinion = { - # target = scope:owner - # modifier = scheme_sway_opinion - # opinion = 100 - # } - #} - scope:owner = { - send_interface_toast = { - title = sway_complete - left_icon = scope:target - scope:scheme = { - end_scheme = yes - } - } - } - } -} - -sway_ongoing_1002_outcome_effect = { - if = { - limit = { - exists = scope:believer - has_relation_friend = scope:believer - } - show_as_tooltip = { theology_3021_a_success_effect = yes } - } - else = { - random_list = { - 1 = { - desc = diplomacy_majesty.0004.success.tt - show_chance = no - show_as_tooltip = { - scope:compliment_receiver = { - add_opinion = { - target = root - modifier = respect_opinion - opinion = 10 - } - } - } - } - 1 = { - desc = diplomacy_majesty.0004.failure.tt - show_chance = no - show_as_tooltip = { - scope:compliment_receiver = { - add_opinion = { - target = root - modifier = respect_opinion - opinion = -5 - } - } - } - } - } - } - - hidden_effect = { - if = { - limit = { - exists = scope:compliment_outcome - scope:compliment_outcome = flag:good - } - trigger_event = sway_ongoing.1003 - } - else_if = { #Is treated as a good outcome here - limit = { - exists = scope:compliment_outcome - scope:compliment_outcome = flag:neutral - } - trigger_event = sway_ongoing.1003 - } - else_if = { - limit = { - exists = scope:compliment_outcome - scope:compliment_outcome = flag:bad - } - trigger_event = sway_ongoing.1004 - } - } -} - -################################################## -# Court Scheme Effects - -court_success_prestige_effect = { - - if = { - limit = { court_love_is_shunned_or_criminal_trigger = no } #Only if it's not a taboo courtship - - #Whose tier matters? - if = { - limit = { - scope:target = { - is_ruler = no - exists = liege - OR = { - is_spouse_of = this.liege - is_close_or_extended_family_of = this.liege - } - } - } - scope:target = { liege = { save_scope_as = prestige_comparison } } - } - else = { - scope:target = { save_scope_as = prestige_comparison } - } - - #Epic - if = { - limit = { - #They are at least two levels above you or empire level - OR = { - tier_difference = { - target = scope:prestige_comparison - value <= -2 - } - scope:prestige_comparison.highest_held_title_tier = tier_empire - } - } - add_prestige = massive_prestige_gain - } - #Great - else_if = { - limit = { - OR = { - #They are one level above you or kingdom level - tier_difference = { - target = scope:prestige_comparison - value = -1 - } - scope:prestige_comparison.highest_held_title_tier = tier_kingdom - } - } - add_prestige = major_prestige_gain - } - #Good - else_if = { - limit = { - #They're your level or duchy level - OR = { - scope:prestige_comparison.highest_held_title_tier = this.highest_held_title_tier - scope:prestige_comparison.highest_held_title_tier = tier_duchy - } - } - add_prestige = medium_prestige_value - } - #Okay - else_if = { - limit = { - #They're at least county level - scope:prestige_comparison.highest_held_title_tier >= tier_county - } - add_prestige = minor_prestige_value - } - #Everything else (everyone targeting barons/unlanded) - else = { - add_prestige = miniscule_prestige_value - } - } -} - -court_ongoing_1010_good_duel_outcome_effect = { - add_prestige = medium_prestige_gain - scope:scheme = { - add_scheme_modifier = { - type = courting_act_of_heroism_modifier - } - } -} - -court_ongoing_fetch_gift_modifier_effect = { - #Wolf pelt - if = { - limit = { - scope:target = { has_character_flag = court_ongoing_wolf_pelt_flag } - has_royal_court = yes # Since these are court artifacts and serve no real purpose to those without a court - } - create_artifact_animal_hide_effect = { - OWNER = scope:target - HUNTER = scope:target - LEGENDARY = no - ANIMAL = flag:wolf - } - } - # Necklace - else_if = { - limit = { - scope:target = { has_character_flag = court_ongoing_necklace_flag } - } - create_artifact_necklace_effect = { - OWNER = scope:target - SMITH = scope:target - } - hidden_effect_new_object = { - scope:newly_created_artifact = { - flag_as_trash_artifact = yes - } - } - } - # Flower - else_if = { - limit = { - scope:target = { has_character_flag = court_ongoing_orchid_flag } - } - save_scope_value_as = { - name = flower_species - value = flag:flower_type_orchid - } - create_artifact_pressed_flower_effect = { OWNER = scope:target } - clear_saved_scope = flower_species - hidden_effect_new_object = { - scope:newly_created_artifact = { - flag_as_trash_artifact = yes - } - } - } - else = { - add_character_modifier = { - modifier = $GIFT$_modifier - years = 20 - } - } -} - -court_ongoing_fetch_gift_target_outcome_effect = { - hidden_effect = { - scope:target = { - if = { - limit = { is_ai = no } - } - save_temporary_scope_value_as = { - name = gift_outcome - value = flag:$OUTCOME$ - } - - if = { - limit = { - scope:gift_outcome = flag:success - } - send_interface_toast = { - title = court_ongoing.1021.$GIFT$.success - left_icon = scope:owner - court_ongoing_fetch_gift_modifier_effect = { GIFT = $GIFT$ } - } - } - else_if = { - limit = { - scope:gift_outcome = flag:failure - } - send_interface_toast = { - title = court_ongoing.1021.$GIFT$.failure - left_icon = scope:owner - } - } - #Flag clean up - remove_character_flag = court_ongoing_wolf_pelt_flag - remove_character_flag = court_ongoing_necklace_flag - remove_character_flag = court_ongoing_orchid_flag - } - } -} - -court_ongoing_1030_dog_modifier_effect = { - if = { - limit = { - NOT = { has_character_flag = had_dog_story } - } - start_dog_story_cycle_effect = yes - } -} - -court_ongoing_1030_cat_modifier_effect = { - if = { - limit = { - NOT = { has_character_flag = had_cat_story } - } - start_cat_story_cycle_effect = yes - } -} - -court_ongoing_1030_eagle_modifier_effect = { - if = { - limit = { - NOT = { has_character_flag = had_eagle_story } - } - save_scope_value_as = { - name = eagle_capture_method - value = flag:gift - } - start_eagle_story_cycle_effect = yes - } -} - -court_ongoing_1030_failure_effect = { - reverse_add_opinion = { - target = scope:target - modifier = disappointed_opinion - opinion = -10 - } -} - -court_ongoing_1100_outcome_effect = { - show_as_tooltip = { - random_list = { - 1 = { - desc = court_ongoing.1100.success.tt - show_chance = no - scope:scheme = { - add_scheme_modifier = { - type = courting_charm_modifier - } - } - } - 1 = { - desc = court_ongoing.1100.neutral.tt - show_chance = no - } - 1 = { - desc = court_ongoing.1100.failure.tt - show_chance = no - reverse_add_opinion = { - target = scope:target - modifier = insult_opinion - opinion = -10 - } - } - } - } - - hidden_effect = { - scope:target = { - trigger_event = { - id = court_ongoing.1101 - days = { 3 7 } - } - } - } -} - -court_consummate_effect = { - if = { - limit = { this = scope:owner } - - } - else = { - set_relation_soulmate = scope:owner - } -} - -court_kiss_effect = { - - hidden_effect = { - if = { - limit = { NOT = { has_relation_potential_lover = scope:target } } - set_relation_potential_lover = scope:target - } - } -} - -target_success_opinion_bonus_effect = { - reverse_add_opinion = { - target = scope:owner - modifier = love_opinion - opinion = 30 - } -} - -end_court_scheme_effect = { - save_temporary_scope_value_as = { - name = court_outcome - value = flag:$OUTCOME$ - } - - scope:owner = { - # SUCCESS: SOULMATES - # (This is the only one which target also needs to see, run it in owner scope in show_as_tooltip first and then execute in target's scope) - if = { - limit = { scope:court_outcome = flag:success_soulmate } - - scope:target = { set_relation_soulmate = { reason = $REASON$ target = prev } } - if = { - limit = { - NOR = { - has_sexuality = asexual - scope:target = { has_sexuality = asexual } - } - } - had_sex_with_effect = { #Run this in target scope because owner has own tooltip - CHARACTER = scope:target - PREGNANCY_CHANCE = pregnancy_chance - } - } - reverse_add_opinion = { - target = scope:target - modifier = romance_scheme_courtship_opinion #Blocks courtship - } - - #Maybe break of existing lover relationships - hidden_effect = { - scope:target = { - if = { - limit = { - has_trait = lustful - is_ai = yes - any_relation = { - type = lover - this != scope:owner - } - } - every_relation = { - type = lover - random = { - chance = 90 - opinion_modifier = { #Less likely if they really like the lover - who = scope:target - opinion_target = this - multiplier = -0.5 - min = -20 - } - modifier = { #More likely if they have more lovers - add = 10 - scope:target = { - any_relation = { - type = lover - count >= 2 - } - } - } - lover_breakup_effect = { - BREAKER = scope:target - LOVER = this - } - } - } - } - } - } - } - # SUCCESS: KISS - else_if = { - limit = { scope:court_outcome = flag:success_kiss } - custom_tooltip = court_outcome.kiss.tt - reverse_add_opinion = { - target = scope:target - modifier = romance_scheme_courtship_opinion #Blocks courtship - } - } - # FAILURE: SOFT - else_if = { - limit = { scope:court_outcome = flag:failure_soft } - #Shared effect with Seduce because failure in one scheme should block the other - scope:target = { seduction_cooldown_for_character_effect = { CHARACTER = scope:owner } } - } - # FAILURE: HARD - else_if = { - limit = { scope:court_outcome = flag:failure_hard } - #Shared effect with Seduce because failure in one scheme should block the other - scope:target = { seduction_block_character_effect = { CHARACTER = scope:owner } } - } - - # Tradition bonuses - if = { - limit = { - OR = { - scope:court_outcome = flag:success_soulmate - scope:court_outcome = flag:success_kiss - } - culture = { - has_cultural_parameter = romance_scheme_bonuses - } - exists = dynasty - } - dynasty = { - add_dynasty_prestige = minor_dynasty_prestige_gain - } - } - else_if = { - limit = { - OR = { - scope:court_outcome = flag:failure_soft - scope:court_outcome = flag:failure_hard - } - culture = { - has_cultural_parameter = romance_scheme_bonuses - } - } - add_stress = medium_stress_impact_gain - } - } - - scope:scheme = { end_scheme = yes } -} - -################################################## -# Steal Back Artefact Scheme Effects - -#Used in the immediate of the Scheme Owner's success event -steal_back_artifact_success_effect = { - scope:target = { - add_opinion = { - target = scope:owner - modifier = stole_artifact_from_me - } - # Feud score - scope:owner.house = { - change_house_relation_feud_score_effect = { - TARGET = scope:owner.house - REASON = stole_artifact - VALUE = house_feud_medium_counter_value - } - } - # Contracts - hidden_effect = { - if = { - limit = { - any_character_task_contract = { - task_contract_type = laamp_steal_artifact_contract - var:task_contract_target ?= scope:target - } - } - random_character_task_contract = { - task_contract_type = laamp_steal_artifact_contract - limit = { - var:task_contract_target ?= scope:target - } - complete_task_contract = success_standard - } - } - } - } -} - -steal_back_artifact_failure_effect = { - #Add Watchful Modifier to the target - scope:target = { - add_character_modifier = { - modifier = watchful_modifier - days = watchful_modifier_duration - } - add_opinion = { - target = scope:owner - modifier = attempted_to_steal_artifact_from_me - } - } -} - -################################################## -# Scheme Start Effects - -## Start a (non-contract) scheme with agents -# -# Arguments: -# SCHEME_TYPE - Type of scheme -# TARGET_TYPE - What type of thing to target (character or title) -# TARGET_SCOPE - Individual game object to target (character or title) -# AGENT_1..5 - Scheme agent slots for the scheme. -begin_scheme_with_agents_effect = { - save_scope_as = scheme_launcher - - # Flag that we _don't_ need more agents. - set_variable = { - name = agents_added - value = yes - days = 1 - } - - # Start the scheme. - start_scheme = { - type = $SCHEME_TYPE$ - $TARGET_TYPE$ = $TARGET_SCOPE$ - - save_scope_as = new_scheme - } - - # Assign agent slots et al. to the newly created scheme. - scope:new_scheme ?= { - # Add our starting agents. - add_agent_slot = $AGENT_1$ - add_agent_slot = $AGENT_2$ - add_agent_slot = $AGENT_3$ - add_agent_slot = $AGENT_4$ - add_agent_slot = $AGENT_5$ - - # Assign initial agents for non-player schemers. - if = { - limit = { - scope:scheme_launcher = { - is_ai = yes - } - } - auto_assign_scheme_agents = yes - } - - # If we have a custom charge threshold to complete, set that here. - ## Overthrow Regent. - if = { - limit = { scheme_type = overthrow_regent } - set_variable = { - name = custom_charge_threshold - value = 1 - } - } - # Set up our grace period. - set_variable = { - name = secrecy_grace_period - value = secrecy_grace_character_total_starting_value - } - } - - open_view = { - view = intrigue_window - player = scope:new_scheme.scheme_owner - } -} - -begin_contract_scheme_with_agents_effect = { - # Log our scheme launcher so that we can refer to them down the line. - save_scope_as = scheme_launcher - # Flag that we _don't_ need more agents. - set_variable = { - name = agents_added - value = yes - days = 1 - } - every_scheme = { add_to_list = current_schemes_list } - # check if you have to attach a contract to the scheme - # Now start the scheme. - start_scheme = { - type = $SCHEME_TYPE$ - $TARGET_TYPE$ = $TARGET_SCOPE$ - contract = $TASK_CONTRACT$ - } - # And grab the scheme's scope. - random_scheme = { - limit = { - NOT = { is_in_list = current_schemes_list } - } - save_scope_as = new_scheme - } - scope:new_scheme ?= { - # Add our starting agents. - add_agent_slot = $AGENT_1$ - add_agent_slot = $AGENT_2$ - add_agent_slot = $AGENT_3$ - add_agent_slot = $AGENT_4$ - add_agent_slot = $AGENT_5$ - # If we have a custom charge threshold to complete, set that here. - ## Overthrow Regent. - if = { - limit = { scheme_type = overthrow_regent } - set_variable = { - name = custom_charge_threshold - value = 1 - } - } - # Set up our grace period. - set_variable = { - name = secrecy_grace_period - value = secrecy_grace_character_total_starting_value - } - set_variable = { - name = attached_task_contract - value = $TASK_CONTRACT$ - } - } - $TASK_CONTRACT$ = { - set_variable = { - name = attached_scheme - value = scope:new_scheme - } - } - open_view = { - view = intrigue_window - player = scope:new_scheme.scheme_owner - } -} - -begin_scheme_basic_effect = { - # Log our scheme launcher so that we can refer to them down the line. - save_scope_as = scheme_launcher - # Log all the currently on-going schemes. - ## We do it this way being we can't guarantee mutually exclusive targets with non-character scheme targets any more: we can't just look for "X's murder scheme against Y", because X might be plotting against no target whatsoever and have multiple schemes of that type against nothing. - every_scheme = { add_to_list = current_schemes_list } - # Now start the scheme. - start_scheme = { - type = $SCHEME_TYPE$ - $TARGET_TYPE$ = $TARGET_SCOPE$ - } - # And grab the scheme's scope. - random_scheme = { - limit = { - NOT = { is_in_list = current_schemes_list } - } - save_scope_as = new_scheme - } - scope:new_scheme ?= { - # If we have a custom charge threshold to complete, set that here. - ## Sway. - if = { - limit = { scheme_type = sway } - set_variable = { - name = custom_charge_threshold - value = 5 - } - } - } -} - -add_scheme_starting_opportunities_intrigue_effect = { - if = { - limit = { scheme_owner.intrigue >= scheme_starting_opportunities_per_intrigue_threshold_value } - change_opportunities = { - value = scheme_owner.intrigue - subtract = scheme_starting_opportunities_per_intrigue_threshold_value - divide = scheme_starting_opportunities_per_intrigue_increment_value - ceiling = yes - max = 4 - } - } -} - -################################################## -# Scheme Pulse Action Effects - -# How many months should we wait before another pulse action can be queued? -scheme_pulse_action_sort_cooldown_effect = { - set_variable = { - name = scheme_pulse_action_on_cooldown - value = yes - months = 8 - } -} - -################################################## -# Countermeasure Effects - -inform_player_of_relevant_countermeasure_activated_effect = { - every_player = { - limit = { - any_scheme = { - scheme_target_character ?= root - has_variable = apply_countermeasures - } - } - send_interface_message = { - type = msg_countermeasure_change - title = countermeasures.t.target_changes - desc = countermeasures.desc.$COUNTERMEASURE$ - right_icon = root - } - } -} - -dispute_borders_scheme_prep_effect = { - save_scope_as = scheme - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.8001 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -subsume_province_scheme_prep_effect = { - save_scope_as = scheme - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.8011 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} - -raid_estate_opinion_effect = { - $TARGET$ = { save_temporary_scope_as = target_temp } - $OWNER$ = { save_temporary_scope_as = owner_temp } - scope:target_temp.house.house_head ?= { - # OPINION - add_opinion = { - target = scope:owner_temp - modifier = raided_estate_crime - } - # FEUD - if = { - limit = { has_relation_rival = scope:owner_temp } - if = { - limit = { valid_for_feud_events_with_target_trigger = { TARGET = scope:owner_temp } } - house_feud_start_effect = { - # Feuding House Head - ACTOR = scope:target_temp - # Target House Head - TARGET = scope:owner_temp - # Feud Reason - REASON = raid_estate - # House Member attacker if relevant - ATTACKER = scope:target_temp - # House Member victim if relevant - VICTIM = scope:owner_temp - } - } - } - # RELATION - progress_towards_rival_effect = { - REASON = rival_raid_estate - CHARACTER = scope:owner_temp - OPINION = 0 - } - } - # VICTIM OPINION - every_in_list = { - list = target_victims - if = { - limit = { exists = scope:scheme_maim } - add_opinion = { - target = scope:owner_temp - modifier = raid_estate_maimed_opinion - } - } - } - scope:target_temp.house = { - # HOUSE RELATION - change_house_relation_effect = { - HOUSE = scope:owner_temp.house - VALUE = house_relation_damage_major_value - REASON = raided_estate - CHAR = scope:owner_temp - TARGET_CHAR = scope:target_temp - TITLE = scope:dummy_gender - } - # OTHER MEMBER OPINION - every_house_member = { - custom = every_other_raid_estate_house_member_tt - limit = { - NOR = { - this = scope:target_temp - is_in_list = target_victims - } - } - add_opinion = { - target = scope:owner_temp - modifier = raid_estate_house_opinion - } - } - } - # CRIME - scope:owner_temp.top_liege ?= { - if = { - limit = { - this != scope:owner_temp - this != scope:target_temp - NOT = { scope:owner_temp.var:raid_estate_permission ?= scope:target_temp.house } - } - add_opinion = { - target = scope:owner_temp - modifier = raid_estate_vassal_crime - } - } - } -} - -education_5_scheme_progress_effect = { - if = { - limit = { - scope:actor = { has_trait = education_$SKILL$_5 } - } - scope:new_scheme ?= { - add_scheme_progress = { - value = scheme_progress_gain - multiply = 3 - } - } - } -} - -steal_herd_success_effect = { - if = { - limit = { - scope:target = { - exists = domicile - domicile.herd > 0 - } - } - scope:target = { - if = { - limit = { - scope:owner = { - OR = { - is_vassal_of = scope:target - is_liege_or_above_of = scope:target - } - } - } - add_opinion = { - target = scope:owner - modifier = stole_my_herd_crime - } - } - else = { - add_opinion = { - target = scope:owner - modifier = stole_my_herd - } - } - if = { - limit = { - is_independent_ruler = no - liege = { - NOT = { is_liege_or_above_of = scope:owner } - } - } - liege = { - add_opinion = { - target = scope:owner - modifier = stole_vassals_herd - } - } - } - custom_tooltip = { - text = steal_herd_vassal_tt - every_powerful_vassal = { - limit = { - NOR = { - this = scope:target - this = scope:owner - } - } - add_opinion = { - target = scope:owner - modifier = stole_lieges_herd - } - } - } - } - scope:owner = { - if = { - limit = { - scope:scheme = { exists = var:steal_herd_low } - } - if = { - limit = { - has_character_flag = steal_herd_extra - } - scope:target = { - pay_herd = { - target = scope:owner - value = { - value = domicile.ten_percent_current_herd_value - max = scope:owner.domicile.fifty_percent_current_herd_value - } - } - } - } - else = { - scope:target = { - pay_herd = { - target = scope:owner - value = { - value = domicile.five_percent_current_herd_value - max = scope:owner.domicile.fifty_percent_current_herd_value - } - } - } - } - } - else_if = { - limit = { - scope:scheme = { exists = var:steal_herd_normal } - } - if = { - limit = { - has_character_flag = steal_herd_extra - } - scope:target = { - pay_herd = { - target = scope:owner - value = { - value = domicile.fifteen_percent_current_herd_value - max = scope:owner.domicile.fifty_percent_current_herd_value - } - } - } - } - else = { - scope:target = { - pay_herd = { - target = scope:owner - value = { - value = domicile.ten_percent_current_herd_value - max = scope:owner.domicile.fifty_percent_current_herd_value - } - } - } - } - } - else_if = { - limit = { - scope:scheme = { exists = var:steal_herd_high } - } - if = { - limit = { - has_character_flag = steal_herd_extra - } - scope:target = { - pay_herd = { - target = scope:owner - value = { - value = domicile.twenty_percent_current_herd_value - max = scope:owner.domicile.fifty_percent_current_herd_value - } - } - } - } - else = { - scope:target = { - pay_herd = { - target = scope:owner - value = { - value = domicile.fifteen_percent_current_herd_value - max = scope:owner.domicile.fifty_percent_current_herd_value - } - } - } - } - } - } - } - - scope:owner = { - if = { - limit = { - has_character_flag = steal_herd_money - } - scope:target = { - pay_short_term_gold = { - target = scope:owner - gold = medium_gold_value - } - } - remove_character_flag = steal_herd_money - } - - if = { - limit = { - has_character_flag = steal_herd_extra - } - remove_character_flag = steal_herd_extra - } - } -} - -steal_herd_failure_effect = { - #Add Watchful Modifier to the target - scope:target = { - add_character_modifier = { - modifier = watchful_modifier - days = watchful_modifier_duration - } - - add_opinion = { - target = scope:owner - modifier = attempted_to_steal_herd_crime - } - } - #Lose some prestige - scope:owner = { - add_prestige = minor_prestige_loss - } -} - -purge_ai_scheme_slots_effect = { - scope:scheme = { - if = { - limit = { - any_scheme_agent_slot = { - is_filled = no - } - } - every_scheme_agent_slot = { - limit = { - is_filled = no - } - save_scope_as = slot_purge - prev = { remove_agent_slot = scope:slot_purge } - } - } - } -} - -coup_ceremonial_liege_scheme_prep_effect = { - save_scope_as = scheme - save_scope_value_as = { - name = follow_up_event - value = event_id:scheme_critical_moments.2921 - } - if = { - limit = { - NOT = { exists = scope:suppress_next_event } - } - scheme_owner = { trigger_event = scheme_critical_moments.0002 } - } -} diff --git a/common/scripted_triggers/10_tgp_triggers.txt b/common/scripted_triggers/10_tgp_triggers.txt index 3222ab37..9a386e68 100644 --- a/common/scripted_triggers/10_tgp_triggers.txt +++ b/common/scripted_triggers/10_tgp_triggers.txt @@ -987,7 +987,7 @@ tgp_has_cultural_naming_in_chinese = { has_cultural_pillar = heritage_hmongic culture_is_or_has_ancestor_trigger = { CULTURE = culture:cham } has_cultural_pillar = heritage_byzantine -# culture_is_or_has_ancestor_trigger = { CULTURE = culture:roman } + culture_is_or_has_ancestor_trigger = { CULTURE = culture:roman } culture_is_or_has_ancestor_trigger = { CULTURE = culture:avar } } } diff --git a/events/activities/coronation_activity/coronation_events_6.txt b/events/activities/coronation_activity/coronation_events_6.txt index ed9c341b..9c846221 100644 --- a/events/activities/coronation_activity/coronation_events_6.txt +++ b/events/activities/coronation_activity/coronation_events_6.txt @@ -4788,12 +4788,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 = { @@ -4814,12 +4810,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 = { @@ -4874,12 +4866,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 = { @@ -4900,12 +4888,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 = { @@ -4936,13 +4920,9 @@ 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_guest } @@ -4953,13 +4933,9 @@ 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 = { AND = { @@ -11678,13 +11654,9 @@ coronation_events.6130 = { } } this = scope:host - 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.6130.papal_intro_host } @@ -11696,13 +11668,9 @@ coronation_events.6130 = { option = coronation_type_anointment } } - 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.6130.papal_intro_guest } @@ -11711,9 +11679,7 @@ coronation_events.6130 = { this = scope:host scope:host.faith.religion = { OR = { - this = religion:eastern_orthodox_religion - this = religion:catholic_religion - this = religion:protestant_religion + this = religion:christianity_religion this = religion:judaism_religion } } @@ -11725,9 +11691,7 @@ coronation_events.6130 = { this = scope:host scope:host.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/events/activities/pilgrimage_activity/pilgrimage_events.txt b/events/activities/pilgrimage_activity/pilgrimage_events.txt index 0c81c723..7f0ebff9 100644 --- a/events/activities/pilgrimage_activity/pilgrimage_events.txt +++ b/events/activities/pilgrimage_activity/pilgrimage_events.txt @@ -11654,7 +11654,7 @@ pilgrimage.6760 = { limit = { NOR = { faith = faith:orthodox - faith.religion = religion:catholic_religion + religion = religion:catholic_religion } faith.religion ?= religion:christianity_religion } diff --git a/events/decisions_events/roman_restoration_events.txt b/events/decisions_events/roman_restoration_events.txt index fa572332..8cda547a 100644 --- a/events/decisions_events/roman_restoration_events.txt +++ b/events/decisions_events/roman_restoration_events.txt @@ -97,7 +97,7 @@ roman_restoration.0002 = { triggered_desc = { trigger = { scope:scoped_emperor = { faith.religion = faith:hellenic_pagan.religion } - faith.religion = faith:roman_catholic.religion + faith.religion = faith:catholic.religion } desc = roman_restoration.0002.desc.hellenics } @@ -126,7 +126,7 @@ roman_restoration.0002 = { trigger = { NAND = { scope:scoped_emperor = { faith.religion = faith:hellenic_pagan.religion } - faith.religion = faith:roman_catholic.religion + faith.religion = faith:catholic.religion } NOT = { has_title = title:e_hre @@ -138,7 +138,7 @@ roman_restoration.0002 = { trigger = { NAND = { scope:scoped_emperor = { faith.religion = faith:hellenic_pagan.religion } - faith.religion = faith:roman_catholic.religion + faith.religion = faith:catholic.religion } has_title = title:e_hre } @@ -147,7 +147,7 @@ roman_restoration.0002 = { name = { # Crazy Hellenics trigger = { scope:scoped_emperor = { faith.religion = faith:hellenic_pagan.religion } - faith.religion = faith:roman_catholic.religion + faith.religion = faith:catholic.religion NOT = { has_title = title:e_hre } @@ -157,7 +157,7 @@ roman_restoration.0002 = { name = { # Crazy Hellenics HRE trigger = { scope:scoped_emperor = { faith.religion = faith:hellenic_pagan.religion } - faith.religion = faith:roman_catholic.religion + faith.religion = faith:catholic.religion has_title = title:e_hre } text = roman_restoration.0002.d @@ -402,7 +402,7 @@ scripted_trigger roman_restoration_0010_is_valid_roman_empire_trigger = { is_ai = no is_roman_emperor_trigger = yes OR = { - faith.religion = faith:roman_catholic.religion # Either Christian + faith.religion = faith:catholic.religion # Either Christian faith.religion = faith:hellenic_pagan.religion # Or Hellenic } } @@ -1012,7 +1012,7 @@ roman_restoration.0024 = { # Christian Roman Empire triggered_desc = { trigger = { - faith.religion = faith:roman_catholic.religion + faith.religion = faith:catholic.religion } desc = roman_restoration.0024.desc.christian } @@ -1027,7 +1027,7 @@ roman_restoration.0024 = { triggered_desc = { trigger = { NOR = { - faith.religion = faith:roman_catholic.religion + faith.religion = faith:catholic.religion faith.religion = faith:hellenic_pagan.religion } } @@ -2052,7 +2052,7 @@ roman_restoration.0124 = { every_player = { limit = { this != root - faith.religion = faith:roman_catholic.religion + faith.religion = faith:catholic.religion } trigger_event = roman_restoration.0125 # Notification. } @@ -2228,7 +2228,7 @@ roman_restoration.0130 = { limit = { exists = title:k_papal_state.holder } title:k_papal_state.holder = { save_scope_as = scoped_pope } } - faith:roman_catholic = { save_scope_as = catholic } + faith:catholic = { save_scope_as = catholic } destroy_papacy_scripted_effect = yes } @@ -2258,7 +2258,7 @@ roman_restoration.0130 = { limit = { this != root OR = { - faith.religion = faith:roman_catholic.religion + faith.religion = faith:catholic.religion faith.religion = root.faith.religion } } @@ -2283,7 +2283,7 @@ roman_restoration.0131 = { # Christian Reaction triggered_desc = { trigger = { - root.faith.religion = faith:roman_catholic.religion + root.faith.religion = faith:catholic.religion } desc = roman_restoration.0131.desc.christians } @@ -2291,7 +2291,7 @@ roman_restoration.0131 = { triggered_desc = { trigger = { NOR = { - root.faith.religion = faith:roman_catholic.religion + root.faith.religion = faith:catholic.religion root.faith.religion = scope:scoped_destroyer.faith.religion } } @@ -2338,7 +2338,7 @@ roman_restoration.0131 = { name = { trigger = { NOR = { - faith.religion = faith:roman_catholic.religion + faith.religion = faith:catholic.religion faith.religion = scope:scoped_destroyer.faith.religion } } @@ -2587,7 +2587,7 @@ roman_restoration.0151 = { trigger = { NOT = { scope:scoped_emperor = { faith.religion = faith:hellenic_pagan.religion } - faith.religion = faith:roman_catholic.religion + faith.religion = faith:catholic.religion } } desc = roman_restoration.0002.desc.christians @@ -2596,7 +2596,7 @@ roman_restoration.0151 = { triggered_desc = { trigger = { scope:scoped_emperor = { faith.religion = faith:hellenic_pagan.religion } - faith.religion = faith:roman_catholic.religion + faith.religion = faith:catholic.religion } desc = roman_restoration.0002.desc.hellenics } @@ -2614,7 +2614,7 @@ roman_restoration.0151 = { trigger = { NOT = { scope:scoped_emperor = { faith.religion = faith:hellenic_pagan.religion } - faith.religion = faith:roman_catholic.religion + faith.religion = faith:catholic.religion } NOR = { has_title = title:e_byzantium @@ -2627,7 +2627,7 @@ roman_restoration.0151 = { trigger = { NOT = { scope:scoped_emperor = { faith.religion = faith:hellenic_pagan.religion } - faith.religion = faith:roman_catholic.religion + faith.religion = faith:catholic.religion } OR = { has_title = title:e_byzantium @@ -2639,7 +2639,7 @@ roman_restoration.0151 = { name = roman_restoration.0002.c trigger = { scope:scoped_emperor = { faith.religion = faith:hellenic_pagan.religion } - faith.religion = faith:roman_catholic.religion + faith.religion = faith:catholic.religion NOR = { has_title = title:e_byzantium has_title = title:e_hre @@ -2650,7 +2650,7 @@ roman_restoration.0151 = { name = roman_restoration.0002.d trigger = { scope:scoped_emperor = { faith.religion = faith:hellenic_pagan.religion } - faith.religion = faith:roman_catholic.religion + faith.religion = faith:catholic.religion OR = { has_title = title:e_byzantium has_title = title:e_hre diff --git a/events/religion_events/great_holy_war_events.txt b/events/religion_events/great_holy_war_events.txt index a28009b8..f57ce65f 100644 --- a/events/religion_events/great_holy_war_events.txt +++ b/events/religion_events/great_holy_war_events.txt @@ -284,7 +284,7 @@ great_holy_war.0001 = { if = { limit = { has_ep3_dlc_trigger = yes - scope:the_faith = { this = faith:roman_catholic } + scope:the_faith = { this = faith:catholic } ep3_frankokratia_ghw_trigger = yes ep3_frankokratia_financier_exists_trigger = yes } @@ -604,7 +604,7 @@ great_holy_war.0001 = { NOT = { exists = global_var:cath_crusade_1 } - scope:the_faith = { this = faith:roman_catholic } + scope:the_faith = { this = faith:catholic } } set_global_variable = { name = cath_crusade_1 @@ -613,7 +613,7 @@ great_holy_war.0001 = { } else_if = { limit = { - scope:the_faith = { this = faith:roman_catholic } + scope:the_faith = { this = faith:catholic } } change_global_variable = { name = cath_crusade_1 @@ -882,40 +882,30 @@ scripted_trigger great_holy_war_0010_byzantion_reason_trigger = { trigger_if = { # Byzantine Empire limit = { exists = title:e_byzantium.holder } # Make sure a holder exists beforehand title:e_byzantium.holder.religion = { - NOR = { - this = religion:catholic_religion - this = religion:orthodox_religion - this = religion:protestant_religion + NOT = { + this = religion:christianity_religion } } } title:c_byzantion.holder.top_liege.religion = { # Constantinople - NOR = { - this = religion:catholic_religion - this = religion:orthodox_religion - this = religion:protestant_religion - } + NOT = { + this = religion:christianity_religion + } } title:c_paphlagonia.holder.top_liege.religion = { # Ankyra - NOR = { - this = religion:catholic_religion - this = religion:orthodox_religion - this = religion:protestant_religion - } + NOT = { + this = religion:christianity_religion + } } title:c_attica.holder.top_liege.religion = { # Athens - NOR = { - this = religion:catholic_religion - this = religion:orthodox_religion - this = religion:protestant_religion - } + NOT = { + this = religion:christianity_religion + } } title:c_korinthos.holder.top_liege.religion = { # Corinth - NOR = { - this = religion:catholic_religion - this = religion:orthodox_religion - this = religion:protestant_religion - } + NOT = { + this = religion:christianity_religion + } } } } @@ -923,39 +913,29 @@ scripted_trigger great_holy_war_0010_byzantion_reason_trigger = { scripted_trigger great_holy_war_0010_europe_reason_trigger = { OR = { title:c_venaissin.holder.top_liege.religion = { # Provence - NOR = { - this = religion:catholic_religion - this = religion:orthodox_religion - this = religion:protestant_religion - } + NOT = { + this = religion:christianity_religion + } } title:c_toulouse.holder.top_liege.religion = { # Toulouse - NOR = { - this = religion:catholic_religion - this = religion:orthodox_religion - this = religion:protestant_religion - } + NOT = { + this = religion:christianity_religion + } } title:c_ile_de_france.holder.top_liege.religion = { # Paris - NOR = { - this = religion:catholic_religion - this = religion:orthodox_religion - this = religion:protestant_religion - } + NOT = { + this = religion:christianity_religion + } } title:c_cologne.holder.top_liege.religion = { # Cologne - NOR = { - this = religion:catholic_religion - this = religion:orthodox_religion - this = religion:protestant_religion - } + NOT = { + this = religion:christianity_religion + } } title:c_halberstadt.holder.top_liege.religion = { # Halberstadt - NOR = { - this = religion:catholic_religion - this = religion:orthodox_religion - this = religion:protestant_religion - } + NOT = { + this = religion:christianity_religion + } } } } @@ -969,25 +949,19 @@ scripted_trigger great_holy_war_0010_mecca_reason_trigger = { scripted_trigger great_holy_war_0010_centre_reason_trigger = { OR = { title:c_baghdad.holder.top_liege.religion = { # Baghdad - NOR = { - this = religion:catholic_religion - this = religion:orthodox_religion - this = religion:protestant_religion - } + NOT = { + this = religion:christianity_religion + } } title:c_damascus.holder.top_liege.religion = { # Damascus - NOR = { - this = religion:catholic_religion - this = religion:orthodox_religion - this = religion:protestant_religion - } + NOT = { + this = religion:christianity_religion + } } title:c_cairo.holder.top_liege.religion = { # Cairo - NOR = { - this = religion:catholic_religion - this = religion:orthodox_religion - this = religion:protestant_religion - } + NOT = { + this = religion:christianity_religion + } } } } @@ -995,25 +969,19 @@ scripted_trigger great_holy_war_0010_centre_reason_trigger = { scripted_trigger great_holy_war_0010_africa_reason_trigger = { OR = { title:c_marrakesh.holder.top_liege.religion = { # Marrakesh - NOR = { - this = religion:catholic_religion - this = religion:orthodox_religion - this = religion:protestant_religion - } + NOT = { + this = religion:christianity_religion + } } title:c_tunis.holder.top_liege.religion = { # Tunis - NOR = { - this = religion:catholic_religion - this = religion:orthodox_religion - this = religion:protestant_religion - } + NOT = { + this = religion:christianity_religion + } } title:c_algier.holder.top_liege.religion = { # Algier - NOR = { - this = religion:catholic_religion - this = religion:orthodox_religion - this = religion:protestant_religion - } + NOT = { + this = religion:christianity_religion + } } } } diff --git a/events/travel_events/travel_events_bp3.txt b/events/travel_events/travel_events_bp3.txt index 6873efd3..107b3550 100644 --- a/events/travel_events/travel_events_bp3.txt +++ b/events/travel_events/travel_events_bp3.txt @@ -3649,7 +3649,7 @@ travel_events_bp3.75 = { # Dreams Brewing root.culture = { has_cultural_parameter = allows_brewery } root.faith = { OR = { - this = faith:roman_catholic + this = faith:catholic has_doctrine_parameter = allows_brewery } } @@ -3672,7 +3672,7 @@ travel_events_bp3.75 = { # Dreams Brewing root.faith = { OR = { has_doctrine_parameter = allows_brewery - this = faith:roman_catholic + this = faith:catholic } } } @@ -3702,7 +3702,7 @@ travel_events_bp3.75 = { # Dreams Brewing faith = { OR = { has_doctrine_parameter = allows_brewery - this = faith:roman_catholic + this = faith:catholic } } } @@ -3722,7 +3722,7 @@ travel_events_bp3.75 = { # Dreams Brewing OR = { religion = religion:eastern_orthodox_religion religion = religion:catholic_religion religion = religion:protestant_religion } faith = { OR = { - this = faith:roman_catholic + this = faith:catholic has_doctrine_parameter = allows_brewery } } diff --git a/localization/english/replace/culture/zz_NEOW_cultural_flavor_l_english.yml b/localization/english/replace/culture/zz_NEOW_cultural_flavor_l_english.yml deleted file mode 100644 index d3f328b3..00000000 --- a/localization/english/replace/culture/zz_NEOW_cultural_flavor_l_english.yml +++ /dev/null @@ -1,24 +0,0 @@ -l_english: - random_entertainment_text_hitchhikers:0 "The Hitchhiker's Guide to the Galaxy" - random_entertainment_text_dune:0 "Dune" - random_entertainment_text_hobbit:0 "The Hobbit" - random_entertainment_text_lotr:0 "The Lord of the Rings" - random_entertainment_text_narnia:0 "The Chronicles of Narnia" - random_entertainment_text_foundation:0 "Foundation" #English - random_entertainment_text_one_hundred_years:"One Hundred Years of Solitude" #Spanish - random_entertainment_text_les_drames:0 "Les Drames de Paris" #French - random_entertainment_text_le_club:0 "Le Club des Valets de Coeur" #French - random_entertainment_text_les_chevaliers:0 "Les Chevaliers du Clair de Lune" #French - random_entertainment_text_the_shell_seekers:0 "The Shell Seekers" #English/German - random_entertainment_text_pillars:0 "The Pillars of the Earth" #English/German - random_entertainment_text_perfume:0 "Perfume: The Story of a Murderer" #German - random_entertainment_text_faceless:0 "Faceless Killers" #Swedish - random_entertainment_text_the_alchemist:0 "The Alchemist" #Portuguese - random_entertainment_text_the_brothers:0 "The Brothers Karamazov" #Russian - random_entertainment_text_one_thousand:0 "One Thousand and One Nights" #Worldwide - random_entertainment_text_nineteen_eighty_four:0 "Nineteen Eighty-Four" #English - random_entertainment_text_the_divine_comedy:0 "The Divine Comedy" #Latin sprachbund - random_entertainment_text_the_odyssey:0 "The Odyssey" #Latin/Greek - random_entertainment_text_war_and_peace:0 "War and Peace" #Latin/Greek - random_entertainment_text_the_pyramid:0 "The Pyramid" #Albanian -