diff --git a/N3OW/common/scripted_triggers/00_illustration_triggers.txt b/N3OW/common/scripted_triggers/00_illustration_triggers.txt new file mode 100644 index 00000000..d3c27c81 --- /dev/null +++ b/N3OW/common/scripted_triggers/00_illustration_triggers.txt @@ -0,0 +1,880 @@ +should_use_tribal_realm_palace_graphics_trigger = { + government_has_flag = government_is_tribal + culture = { + has_graphical_india_culture_group_trigger = no + has_graphical_mena_culture_group_trigger = no + has_graphical_steppe_culture_group_trigger = no + has_graphical_african_culture_group_trigger = no + } +} + +has_graphical_mena_culture_group_trigger = { + has_building_gfx = mena_building_gfx +} + +has_graphical_india_culture_group_trigger = { + OR = { + has_building_gfx = indian_building_gfx + has_building_gfx = southeast_asian_building_gfx + } +} + +has_graphical_east_asia_culture_group_trigger = { + OR = { + has_building_gfx = chinese_building_gfx + has_building_gfx = japanese_building_gfx + } +} + +has_graphical_east_asia_or_southeast_asia_group_trigger = { + OR = { + has_building_gfx = chinese_building_gfx + has_building_gfx = japanese_building_gfx + has_building_gfx = southeast_asian_building_gfx + } +} + +has_graphical_mediterranean_culture_group_trigger = { + OR = { + has_building_gfx = mediterranean_building_gfx + has_building_gfx = byzantine_building_gfx + } +} + +has_graphical_western_culture_group_trigger = { + has_building_gfx = western_building_gfx +} + +has_graphical_norse_culture_group_trigger = { + has_building_gfx = norse_building_gfx +} + +has_graphical_african_culture_group_trigger = { + has_building_gfx = african_building_gfx +} + +has_graphical_steppe_culture_group_trigger = { + has_building_gfx = steppe_building_gfx +} + +has_graphical_iberian_culture_group_trigger = { + has_building_gfx = iberian_building_gfx +} + +has_graphical_iranian_culture_group_trigger = { + has_building_gfx = iranian_building_gfx +} + +has_graphical_chinese_culture_group_trigger = { + has_building_gfx = chinese_building_gfx +} + +has_graphical_japanese_culture_group_trigger = { + has_building_gfx = japanese_building_gfx +} + +graphical_wilderness_desert_trigger = { + OR = { + terrain = desert + terrain = desert_mountains + terrain = oasis + AND = { + terrain = hills + OR = { + geographical_region = world_africa + geographical_region = world_middle_east_arabia + } + } + } +} + +graphical_wilderness_forest_pine_trigger = { + OR = { + terrain = taiga + AND = { + terrain = forest + OR = { + geographical_region = world_europe_north + geographical_region = world_steppe + } + } + } +} + +graphical_wilderness_forest_trigger = { + OR = { + terrain = forest + terrain = farmlands + } +} + +graphical_wilderness_mountains_trigger = { + terrain = mountains +} + +graphical_wilderness_steppe_trigger = { + OR = { + terrain = steppe + AND = { + terrain = hills + OR = { + geographical_region = world_steppe + geographical_region = world_middle_east_persia + geographical_region = world_middle_east_jerusalem + } + } + } +} + +graphical_drylands_trigger = { + terrain = drylands +} + +graphical_wilderness_wetlands_trigger = { + OR = { + terrain = wetlands + terrain = floodplains + } +} + +graphical_wilderness_jungle_trigger = { + OR = { + terrain = jungle + AND = { + terrain = hills + geographical_region = graphical_india + NOT = { geographical_region = world_tibet } + } + } +} + +graphical_plains_trigger = { + terrain = plains +} + +graphical_wilderness_ocean_trigger = { + is_sea_province = yes +} + +graphical_hills_trigger = { + terrain = hills +} + +### Scripted illustrations + +# This doesn't really evaluate anything, it just saves the scope out for later things to use +title_illustration_save_province_temporary = { + trigger_if = { + limit = { tier = tier_barony } + title_province = { + save_temporary_scope_as = province + } + } + trigger_else_if = { + limit = { + tier > tier_county + NOT = { + any_in_de_jure_hierarchy = { tier = tier_county } + } + } + } + trigger_else = { + title_capital_county.title_province = { + save_temporary_scope_as = province + } + } + always = yes +} + +#has_indian_culture_trigger = { +has_graphical_india_region_trigger = { + trigger_if = { + limit = { + exists = capital_province + } + capital_province = { + geographical_region = graphical_india + } + } + trigger_else_if = { + limit = { + NOT = { exists = capital_province } + } + trigger_if = { + limit = { exists = host.capital_province } + host.capital_province = { + geographical_region = graphical_india + } + } + trigger_else_if = { + limit = { + exists = liege.capital_province + } + liege.capital_province = { + geographical_region = graphical_india + } + } + trigger_else_if = { + limit = { + exists = location.province_owner.capital_province + } + location.province_owner.capital_province = { + geographical_region = graphical_india + } + } + trigger_else = { always = yes } + } + trigger_else = { always = yes } +} + +has_graphical_east_asia_region_trigger = { + trigger_if = { + limit = { + exists = capital_province + } + capital_province = { + OR = { + geographical_region = graphical_east_asia + geographical_region = world_steppe_east + } + } + } + trigger_else_if = { + limit = { + NOT = { exists = capital_province } + } + trigger_if = { + limit = { exists = host.capital_province } + host.capital_province = { + OR = { + geographical_region = graphical_east_asia + geographical_region = world_steppe_east + } + } + } + trigger_else_if = { + limit = { + exists = liege.capital_province + } + liege.capital_province = { + OR = { + geographical_region = graphical_east_asia + geographical_region = world_steppe_east + } + } + } + trigger_else_if = { + limit = { + exists = location.province_owner.capital_province + } + location.province_owner.capital_province = { + OR = { + geographical_region = graphical_east_asia + geographical_region = world_steppe_east + } + } + } + trigger_else = { always = yes } + } + trigger_else = { always = yes } +} + +#has_mediterranean_culture_trigger = { +has_graphical_mediterranean_region_trigger = { + trigger_if = { + limit = { + exists = capital_province + } + capital_province = { + geographical_region = graphical_mediterranean + } + } + trigger_else_if = { + limit = { + NOT = { exists = capital_province } + } + trigger_if = { + limit = { exists = host.capital_province } + host.capital_province = { + geographical_region = graphical_mediterranean + } + } + trigger_else_if = { + limit = { + exists = liege.capital_province + } + liege.capital_province = { + geographical_region = graphical_mediterranean + } + } + trigger_else_if = { + limit = { + exists = location.province_owner.capital_province + } + location.province_owner.capital_province = { + geographical_region = graphical_mediterranean + } + } + trigger_else = { always = yes } + } + trigger_else = { always = yes } +} + +#has_mena_culture_trigger = { +has_graphical_mena_region_trigger = { + trigger_if = { + limit = { + exists = capital_province + } + capital_province = { + OR = { + geographical_region = graphical_mena + geographical_region = world_steppe_tarim + geographical_region = world_steppe_central + AND = { + prev = { + government_has_flag = government_is_clan + } + OR = { + geographical_region = world_steppe_west + geographical_region = world_siberia + } + } + } + } + } + trigger_else_if = { + limit = { + NOT = { exists = capital_province } + } + trigger_if = { + limit = { exists = host.capital_province } + host.capital_province = { + OR = { + geographical_region = graphical_mena + geographical_region = world_steppe_tarim + geographical_region = world_steppe_central + AND = { + province_owner = { + government_has_flag = government_is_clan + } + OR = { + geographical_region = world_steppe_west + geographical_region = world_siberia + } + } + } + } + } + trigger_else_if = { + limit = { + exists = liege.capital_province + } + liege.capital_province = { + OR = { + geographical_region = graphical_mena + geographical_region = world_steppe_tarim + geographical_region = world_steppe_central + AND = { + province_owner = { + government_has_flag = government_is_clan + } + OR = { + geographical_region = world_steppe_west + geographical_region = world_siberia + } + } + } + } + } + trigger_else_if = { + limit = { + exists = location.province_owner.capital_province + } + location.province_owner.capital_province = { + OR = { + geographical_region = graphical_mena + geographical_region = world_steppe_tarim + geographical_region = world_steppe_central + AND = { + province_owner = { + government_has_flag = government_is_clan + } + OR = { + geographical_region = world_steppe_west + geographical_region = world_siberia + } + } + } + } + } + trigger_else = { always = yes } + } + trigger_else = { always = yes } +} + +has_graphical_scandinavia_region_trigger = { + trigger_if = { + limit = { + exists = capital_province + } + capital_province = { + geographical_region = world_europe_north + } + } + trigger_else_if = { + limit = { + NOT = { exists = capital_province } + } + trigger_if = { + limit = { exists = host.capital_province } + host.capital_province = { + geographical_region = world_europe_north + } + } + trigger_else_if = { + limit = { + exists = liege.capital_province + } + liege.capital_province = { + geographical_region = world_europe_north + } + } + trigger_else_if = { + limit = { + exists = location.province_owner.capital_province + } + location.province_owner.capital_province = { + geographical_region = world_europe_north + } + } + trigger_else = { always = yes } + } + trigger_else = { always = yes } +} + +#has_western_culture_trigger = { +has_graphical_western_region_trigger = { + trigger_if = { + limit = { + exists = capital_province + } + capital_province = { + NOR = { + geographical_region = graphical_india + geographical_region = graphical_mediterranean + geographical_region = graphical_mena + geographical_region = world_steppe_tarim + geographical_region = world_steppe_central + geographical_region = world_steppe_east + geographical_region = world_asia + } + } + } + trigger_else_if = { + limit = { + NOT = { exists = capital_province } + } + + trigger_if = { + limit = { exists = host.capital_province } + host.capital_province = { + NOR = { + geographical_region = graphical_india + geographical_region = graphical_mediterranean + geographical_region = graphical_mena + geographical_region = world_steppe_tarim + geographical_region = world_steppe_central + geographical_region = world_steppe_east + geographical_region = world_asia + } + } + } + trigger_else_if = { + limit = { + exists = liege.capital_province + } + liege.capital_province = { + NOR = { + geographical_region = graphical_india + geographical_region = graphical_mediterranean + geographical_region = graphical_mena + geographical_region = world_steppe_tarim + geographical_region = world_steppe_central + geographical_region = world_steppe_east + geographical_region = world_asia + } + } + } + trigger_else_if = { + limit = { + exists = location.province_owner.capital_province + } + location.province_owner.capital_province = { + NOR = { + geographical_region = graphical_india + geographical_region = graphical_mediterranean + geographical_region = graphical_mena + geographical_region = world_steppe_tarim + geographical_region = world_steppe_central + geographical_region = world_steppe_east + geographical_region = world_asia + } + } + } + trigger_else = { always = yes } + } + trigger_else = { always = yes } +} + +#Has graphical region Iberia trigger +has_graphical_iberia_region_trigger = { + trigger_if = { + limit = { + exists = capital_province + } + capital_province = { + geographical_region = world_europe_west_iberia + } + } + trigger_else_if = { + limit = { + NOT = { exists = capital_province } + } + trigger_if = { + limit = { exists = host.capital_province } + host.capital_province = { + geographical_region = world_europe_west_iberia + } + } + trigger_else_if = { + limit = { + exists = liege.capital_province + } + liege.capital_province = { + geographical_region = world_europe_west_iberia + } + } + trigger_else_if = { + limit = { + exists = location.province_owner.capital_province + } + location.province_owner.capital_province = { + geographical_region = world_europe_west_iberia + } + } + trigger_else = { always = yes } + } + trigger_else = { always = yes } +} + +#Has graphical region Iran trigger +has_graphical_iran_region_trigger = { + trigger_if = { + limit = { + exists = capital_province + } + capital_province = { + OR = { + geographical_region = world_middle_east_persia + geographical_region = world_steppe_tarim + geographical_region = world_steppe_central + } + } + } + trigger_else_if = { + limit = { + NOT = { exists = capital_province } + } + trigger_if = { + limit = { exists = host.capital_province } + host.capital_province = { + OR = { + geographical_region = world_middle_east_persia + geographical_region = world_steppe_tarim + geographical_region = world_steppe_central + } + } + } + trigger_else_if = { + limit = { + exists = liege.capital_province + } + liege.capital_province = { + OR = { + geographical_region = world_middle_east_persia + geographical_region = world_steppe_tarim + geographical_region = world_steppe_central + } + } + } + trigger_else_if = { + limit = { + exists = location.province_owner.capital_province + } + location.province_owner.capital_province = { + OR = { + geographical_region = world_middle_east_persia + geographical_region = world_steppe_tarim + geographical_region = world_steppe_central + } + } + } + trigger_else = { always = yes } + } + trigger_else = { always = yes } +} + +steppe_building_gfx_use_mena_trigger = { + AND = { + culture ?= { has_building_gfx = steppe_building_gfx } + OR = { + #western steppe should only be mena if you are clan + NOR = { + geographical_region = world_steppe_west + geographical_region = world_europe + geographical_region = world_asia_minor + geographical_region = world_india + geographical_region = world_burma + geographical_region = world_tibet + geographical_region = world_asia + geographical_region = world_steppe_east + } + AND = { + faith.religion = religion:islam_religion + OR = { + geographical_region = world_steppe_west + geographical_region = world_asia_minor + } + } + } + } +} +steppe_building_gfx_use_indian_trigger = { + AND = { + culture ?= { has_building_gfx = steppe_building_gfx } + OR = { + #western steppe should only be mena if you are clan + geographical_region = world_india + geographical_region = world_burma + geographical_region = world_tibet + geographical_region = world_asia_southeast + } + } +} + +steppe_building_gfx_use_mediterranean_trigger = { + AND = { + culture ?= { has_building_gfx = steppe_building_gfx } + OR = { + geographical_region = world_europe_south_east + geographical_region = world_europe_south_italy + geographical_region = world_europe_west_iberia + geographical_region = world_asia_minor + } + } +} +steppe_building_gfx_use_iranian_trigger = { + AND = { + OR = { + geographical_region = world_steppe_central + geographical_region = world_middle_east_persia + } + culture ?= { has_building_gfx = steppe_building_gfx } + } +} +steppe_building_gfx_use_western_trigger = { + AND = { + OR = { + geographical_region = world_europe_north + geographical_region = world_europe_west + } + culture ?= { has_building_gfx = steppe_building_gfx } + } +} +steppe_building_gfx_use_east_asian_trigger = { + AND = { + culture ?= { has_building_gfx = steppe_building_gfx } + OR = { + geographical_region = world_asia + geographical_region = world_steppe_east + } + NOT = { geographical_region = world_asia_southeast } + } +} +steppe_building_gfx_use_japanese_trigger = { + AND = { + culture ?= { has_building_gfx = steppe_building_gfx } + geographical_region = world_asia_japan + } +} +steppe_building_gfx_use_southeast_asian_trigger = { + AND = { + culture ?= { has_building_gfx = steppe_building_gfx } + geographical_region = world_asia_southeast + } +} + +high_tier_throne_room_trigger = { + OR = { + AND = { + tgp_is_ceremonial_regent_trigger = no # Not 'actual' ruler + primary_title ?= { tier >= tier_kingdom } + } + tgp_is_ceremonial_liege_trigger = yes + } + has_graphical_$REGION$_region_trigger = yes +} + +high_tier_throne_room_spouse_trigger = { + OR = { + primary_spouse ?= { + high_tier_throne_room_trigger = { REGION = $REGION$ } + has_graphical_$REGION$_region_trigger = yes + } + AND = { + betrothed ?= { + high_tier_throne_room_trigger = { REGION = $REGION$ } + has_graphical_$REGION$_region_trigger = yes + } + } + AND = { + liege.diarch ?= this + liege ?= { + high_tier_throne_room_trigger = { REGION = $REGION$ } + has_graphical_$REGION$_region_trigger = yes + } + } + } +} + +byzantine_governor_trigger = { + is_landed = yes + government_allows = administrative + liege ?= { + OR = { + is_roman_emperor_primary_title_trigger = yes + AND = { + culture = { + OR = { + has_cultural_pillar = heritage_byzantine + has_cultural_pillar = heritage_caucasian + } + } + primary_title.tier >= tier_empire + } + } + } +} + +byzantine_governor_close_family_trigger = { + location = prev.location + is_landed = yes + government_has_flag = government_is_special_administrative + exists = top_liege + top_liege = { + OR = { + is_roman_emperor_primary_title_trigger = yes + AND = { + culture = { + OR = { + has_cultural_pillar = heritage_byzantine + has_cultural_pillar = heritage_caucasian + } + } + primary_title.tier >= tier_empire + } + } + } +} + +east_asian_governor_trigger = { + is_landed = yes + government_allows = administrative + top_liege ?= { + OR = { + primary_title = title:h_china + primary_title.de_jure_liege = title:h_china + AND = { + culture_has_east_asian_heritage_pillar_trigger = yes + primary_title.tier >= tier_empire + } + } + } +} + +east_asian_governor_close_family_trigger = { + location = prev.location + is_landed = yes + government_has_flag = government_is_special_administrative + top_liege ?= { + OR = { + primary_title = title:h_china + primary_title.de_jure_liege = title:h_china + AND = { + culture_has_east_asian_heritage_pillar_trigger = yes + primary_title.tier >= tier_empire + } + } + } +} + +has_graphical_chinese_region_trigger = { + trigger_if = { + limit = { exists = capital_province } + capital_province = { geographical_region = world_asia_china } + } + trigger_else_if = { + limit = { exists = host.capital_province } + host.capital_province = { geographical_region = world_asia_china } + } + trigger_else_if = { + limit = { exists = liege.capital_province } + liege.capital_province = { geographical_region = world_asia_china } + } + trigger_else_if = { + limit = { exists = location.province_owner.capital_province } + location.province_owner.capital_province = { geographical_region = world_asia_china } + } + trigger_else = { always = yes } +} + +has_graphical_japanese_region_trigger = { + trigger_if = { + limit = { exists = capital_province } + capital_province = { geographical_region = world_asia_japan } + } + trigger_else_if = { + limit = { exists = host.capital_province } + host.capital_province = { geographical_region = world_asia_japan } + } + trigger_else_if = { + limit = { exists = liege.capital_province } + liege.capital_province = { geographical_region = world_asia_japan } + } + trigger_else_if = { + limit = { exists = location.province_owner.capital_province } + location.province_owner.capital_province = { geographical_region = world_asia_japan } + } + trigger_else = { always = yes } +} + +has_graphical_korean_region_trigger = { + trigger_if = { + limit = { exists = capital_province } + capital_province = { geographical_region = world_asia_korea } + } + trigger_else_if = { + limit = { exists = host.capital_province } + host.capital_province = { geographical_region = world_asia_korea } + } + trigger_else_if = { + limit = { exists = liege.capital_province } + liege.capital_province = { geographical_region = world_asia_korea } + } + trigger_else_if = { + limit = { exists = location.province_owner.capital_province } + location.province_owner.capital_province = { geographical_region = world_asia_korea } + } + trigger_else = { always = yes } +} diff --git a/N3OW/common/scripted_triggers/00_title_triggers.txt b/N3OW/common/scripted_triggers/00_title_triggers.txt new file mode 100644 index 00000000..2b284893 --- /dev/null +++ b/N3OW/common/scripted_triggers/00_title_triggers.txt @@ -0,0 +1,160 @@ + +######################### +# Triggers for Titles +######################### + +# has_mythical_founder_trigger - Does the title have a mythical or semi-mythical founder? + + +has_mythical_founder_trigger = { + OR = { + AND = { # Charles Martell (?) + OR = { + this = title:k_france + this = title:e_france + } + current_date > 1000.1.1 + } + OR = { # Alexander + this = title:k_thessalonika + this = title:k_hellas + this = title:k_egypt + AND = { + OR = { + this = title:k_persia + this = title:e_persia + } + NOR = { + root.faith.religion = religion:islam_religion + root.faith.religion = religion:zoroastrianism_religion + } + } + this = title:k_anatolia + } + this = title:k_poland # Lech + this = title:k_bohemia # Czech + OR = { # Rus + this = title:k_white_rus + this = title:k_ruthenia + this = title:e_russia + } + OR = { # Arthur + this = title:k_england + this = title:e_britannia + } + AND = { + OR = { # Belisarius + this = title:k_italy + this = title:k_romagna + this = title:k_sardinia + this = title:k_naples + this = title:e_italy + } + root.faith = faith:orthodox + } + OR = { # Romulus + this = title:k_italy + this = title:k_romagna + this = title:k_sardinia + this = title:e_italy + this = title:h_roman_empire + this = title:h_eastern_roman_empire + } + OR = { # Ardashir + this = title:k_persia + this = title:e_persia + } + AND = { # Pharaohs + this = title:k_egypt + NOT = { root.faith.religion = religion:islam_religion } + } + AND = { # Visigothic Kings + OR = { + this = title:k_castille + this = title:k_aragon + this = title:k_navarra + this = title:k_andalusia + this = title:k_portugal + this = title:e_spain + } + NOT = { root.faith.religion = religion:islam_religion } + } + AND = { # Abd al-Rahman + OR = { + this = title:k_castille + this = title:k_aragon + this = title:k_navarra + this = title:k_andalusia + this = title:k_portugal + this = title:e_spain + } + root.faith.religion = religion:islam_religion + } + AND = { # Zenobia + OR = { + this = title:k_syria + this = title:k_mesopotamia + } + NOT = { root.faith.religion = religion:islam_religion } + } + } +} + +has_too_many_held_duchies_trigger = { + highest_held_title_tier >= tier_kingdom + any_held_title = { + count >= 3 + title_counts_towards_too_many_duchies_trigger = yes + } +} + +title_counts_towards_too_many_duchies_trigger = { + tier = tier_duchy + is_titular = no +} + +# this = title +# VASSAL = Vassal to check tier against +# LIEGE = Liege of vassal +title_lost_from_realm_on_foreign_ruler_succession_trigger = { + tier > $VASSAL$.highest_held_title_tier + exists = holder # Ignoring titles that will be created by confederate partition, cause that be magic and unlikely to make a warning anyway + holder = { + NOR = { + this = $LIEGE$ + target_is_liege_or_above = $LIEGE$ + government_has_flag = government_is_special_administrative # Ignoring because admin counts do not take it with them, but immediately resign it when they inherit a governorship + } + } +} + +# Would this character ever be travelling outside of their palace walls at random for the purposes of events? +## We don't care about personality, only whether it'd be immersion breaking in principle to run into this person at random/to have an event trigger where you are randomly wandering. +character_title_allows_off_screen_wandering_trigger = { + NOR = { + # No administrative or clan emperors. + AND = { + highest_held_title_tier >= tier_empire + OR = { + government_has_flag = government_is_special_administrative + government_has_flag = government_is_clan + } + } + # No administrative kings. + AND = { + highest_held_title_tier = tier_kingdom + government_has_flag = government_is_special_administrative + } + # No religious heads. + faith.religious_head ?= this + } +} + +county_held_or_vassal_to_target_trigger = { + holder ?= { + OR = { + this = $TARGET$ + target_is_liege_or_above = $TARGET$ + } + } +} diff --git a/N3OW/common/scripted_triggers/09_mpo_greatest_of_khans_triggers.txt b/N3OW/common/scripted_triggers/09_mpo_greatest_of_khans_triggers.txt new file mode 100644 index 00000000..ca514b2b --- /dev/null +++ b/N3OW/common/scripted_triggers/09_mpo_greatest_of_khans_triggers.txt @@ -0,0 +1,503 @@ +################################################# +# TRIGGER LIST # +################################################# + +mpo_has_greatest_of_khans_nickname_trigger = { + OR = { + has_nickname = nick_genghis_khan + has_nickname = nick_cengiz_khan + has_nickname = nick_yekhe_khagan + has_nickname = nick_dort_yonlug_khagan + has_nickname = nick_tengri_khagan + has_nickname = nick_cihangir + has_nickname = nick_culture_khagan + } +} +mpo_has_gok_mongol_empire_trigger = { + OR = { + has_title = title:e_mongol_empire + custom_tooltip = { + text = gok_title_trigger + exists = global_var:greatest_of_khans_title + any_held_title = { + this = global_var:greatest_of_khans_title + } + } + } +} + +mpo_gok_coalition_member_trigger = { + save_temporary_scope_as = foe + + in_diplomatic_range = root + is_ai = yes + OR = { + is_landless_nomad = yes + is_landless_adventurer = yes + is_landed = yes + } + NOR = { + this = root + top_liege = root + is_allied_to = root + is_tributary_of_suzerain_or_above = root + top_liege = { + is_tributary_of_suzerain_or_above = root + } + has_relation_friend = root + has_relation_blood_brother = root + opinion = { + target = root + value >= 100 + } + + highest_held_title_tier < tier_county + government_has_flag = government_is_herder + is_imprisoned_by = root + is_obedient_to = root + } + ##Only relatively strong non-nomads will mess with you + trigger_if = { + limit = { + NOT = { + government_has_flag = government_is_nomadic + } + } + OR = { + AND = { + highest_held_title_tier >= tier_duchy + sub_realm_size >= 8 + } + is_confederation_member = yes + } + } + ##Only house members who dislike you will oppose you + trigger_if = { + limit = { + OR = { + AND = { + exists = house + exists = root.house + house = { + this = root.house + } + } + #also those with direct alliances to root + is_allied_to = root + } + + } + opinion = { + target = root + value < 0 + } + } + #Lower tier rulers + trigger_if = { + limit = { + highest_held_title_tier < tier_duchy + } + OR = { + NOT = { + has_dread_level_towards = { + target = root + level >= 2 + } + } + faith = { + faith_hostility_level = { + target = root.faith + value > faith_astray_level + } + } + opinion = { + target = root + value <= -40 + } + is_confederation_member = yes + root = { + any_land_neighboring_realm_with_tributaries_owner = { + this = scope:foe + } + } + } + + } +} + +mpo_gok_submitting_coward_trigger = { + is_ai = yes + is_confederation_member = no + OR = { + is_tributary_of = root + is_tributary = no + } + is_landed = yes + highest_held_title_tier < tier_duchy + NOT = { + has_relation_rival = root + } + OR = { + is_imprisoned_by = root + government_has_flag = government_is_herder + has_relation_friend = root + AND = { + exists = root.house + house ?= root.house + NOT = { + is_in_list = anti_gok_coalition_members + } + } + opinion = { + target = root + value >= 100 + } + ai_boldness <= medium_negative_ai_value + has_dread_level_towards = { + target = root + level >= 2 + } + is_tributary_of = root + AND = { + exists = house + exists = root.house + house = { + this = root.house + } + opinion = { + target = root + value >= 0 + } + } + } + trigger_if = { + limit = { + current_military_strength > 0 + root.current_military_strength > 0 + } + current_military_strength < root.current_military_strength + } + NOT = { + any_character_war = { + OR = { + primary_defender = prev + AND = { + primary_attacker = prev + primary_defender = { + top_liege = root + } + } + primary_defender = { + is_ai = no + } + } + } + } +} + +mpo_war_of_defiance_notified_player_trigger = { + NOT = { + this = root + } + OR = { + top_liege = root + top_suzerain = root + any_character_situation = { + this = situation:the_great_steppe + } + any_relation = { + type = rival + this = root + } + #Those within same de jure empire + capital_county ?= { + empire = { + any_de_jure_county = { + holder.top_liege = { + this = root + } + } + } + } + capital_county ?= { + empire = { + any_de_jure_county = { + holder.top_suzerain = { + this = root + } + } + } + } + AND = { + exists = root.capital_county + realm_to_title_distance_squared = { + target = root.capital_county + value <= squared_distance_almost_massive + } + } + } +} + +gok_desirable_vassal_trigger = { + OR = { + ai_boldness <= low_negative_ai_value + has_trait = loyal + is_obedient_to = scope:gok + has_any_good_relationship_with_character_trigger = { CHARACTER = scope:gok } + AND = { + exists = scope:gok.dynasty + dynasty ?= scope:gok.dynasty + } + is_allied_to = scope:gok + opinion = { + target = scope:gok + value > 20 + } + #Dukes from pliant cultures are cool + AND = { + highest_held_title_tier < tier_kingdom + culture = { + OR = { + has_cultural_tradition = tradition_loyal_soldiers + has_cultural_tradition = tradition_pacifism + has_cultural_tradition = tradition_xenophilic + has_cultural_tradition = tradition_modest + has_cultural_tradition = tradition_fp2_malleable_subjects + } + } + } + trigger_if = { + limit = { + faith = scope:gok.faith + } + opinion = { + target = scope:gok + value >= -20 + } + } + } +} +mpo_greatest_of_khans_0030_willing_nomad_vassal = { + OR = { + government_has_flag = government_is_nomadic + government_has_flag = government_is_herder + } + OR = { + is_obedient = yes + opinion = { + target = liege + value >= 0 + } + has_dread_level_towards = { + target = liege + level >= 1 + } + } + NOR = { + is_at_war_with = liege + has_trait = stubborn + culture = { + has_cultural_tradition = tradition_staunch_traditionalists + } + } +} + +mpo_greatest_of_khans_0030_dominated_nomad_vassal = { + OR = { + government_has_flag = government_is_nomadic + government_has_flag = government_is_herder + } + OR = { + is_obedient = yes + opinion = { + target = liege + value >= 60 + } + has_dread_level_towards = { + target = liege + level >= 2 + } + } + NOR = { + is_at_war_with = liege + has_trait = stubborn + culture = { + OR ={ + has_cultural_tradition = tradition_staunch_traditionalists + has_cultural_tradition = tradition_quarrelsome + has_cultural_tradition = tradition_isolationist + } + } + } +} + +mpo_greatest_of_khans_0030_willing_sedentary_vassal = { + NOR = { + government_has_flag = government_is_nomadic + government_has_flag = government_is_herder + government_has_flag = government_is_theocracy + government_has_flag = government_is_landless_adventurer + } + OR = { + is_obedient = yes + opinion = { + target = liege + value >= 0 + } + has_dread_level_towards = { + target = liege + level >= 1 + } + } + NOR = { + is_at_war_with = liege + has_trait = stubborn + culture = { + has_cultural_tradition = tradition_staunch_traditionalists + } + } +} +mpo_greatest_of_khans_0030_dominated_sedentary_vassal = { + NOR = { + government_has_flag = government_is_nomadic + government_has_flag = government_is_herder + government_has_flag = government_is_theocracy + government_has_flag = government_is_landless_adventurer + } + OR = { + is_obedient = yes + opinion = { + target = liege + value >= 50 + } + has_dread_level_towards = { + target = liege + level >= 2 + } + } + NOR = { + is_at_war_with = liege + has_trait = stubborn + culture = { + has_cultural_tradition = tradition_staunch_traditionalists + } + culture = { + has_cultural_tradition = tradition_legalistic + } + } +} + +gok_gov_switch_valid_vassal_trigger = { + highest_held_title_tier >= tier_county + is_landed = yes + is_ai = yes + NOT = { + is_at_war_with = root + } + NOT = { + any_liege_or_above = { + is_ai = no + NOT = { + this = root + } + } + } + NOR = { + government_has_flag = government_is_theocracy + government_has_flag = government_is_landless_adventurer + } +} + +gok_willing_new_admin_vassal_trigger = { + gok_gov_switch_valid_vassal_trigger = yes + OR = { + mpo_greatest_of_khans_0030_dominated_nomad_vassal = yes + mpo_greatest_of_khans_0030_willing_sedentary_vassal = yes + culture = culture:greek + culture = { + any_parent_culture_or_above = { + this = culture:greek + } + } + culture = culture:han + culture = { + any_parent_culture_or_above = { + this = culture:han + } + } + } + NOR = { + government_has_flag = government_is_special_administrative + government_has_flag = government_is_administrative + government_has_flag = government_is_tribal + } +} + +mpo_offer_submission_or_ruin_shown_actor_trigger = { + has_mpo_dlc_trigger = yes + is_landed = yes + any_owned_story = { + OR = { + story_type = story_greatest_of_khans + story_type = story_mongol_invasion + } + } +} +mpo_offer_submission_or_ruin_shown_recipient_trigger = { + NOT = { this = scope:actor } + is_landed = yes + NOT = { government_has_flag = cannot_be_vassal_or_liege } +} +mpo_offer_submission_or_ruin_valid_actor_trigger = { + prestige_level >= 1 + trigger_if = { + limit = { + exists = scope:recipient + } + custom_description = { + text = truce_on_recipient_tt + NOT = { + any_truce_target = { + this = scope:recipient + } + } + } + } +} +mpo_offer_submission_or_ruin_valid_recipient_trigger = { + is_independent_ruler = yes + NOT = { + is_at_war_with = scope:actor + } + custom_description = { + text = was_recently_granted_independence + NOT = { + has_opinion_modifier = { + modifier = granted_independence_opinion + target = scope:actor + } + } + } + custom_description = { + text = not_recently_offered_submission + NOT = { + has_character_flag = accepted_gok_submission + } + } +} + +#Basically just checking they are tribal (and shouldn't provide siege) or have a unique maa that's interesting to have +#I think this will balance how much siege vs. military strength AI take as GoK +mpo_gok_auto_cultural_maa_trigger = { + OR = { + government_has_flag = government_is_tribal + government_has_flag = government_is_nomadic + culture = { + OR = { + culture_has_archer_cavalry_maa = yes + has_cultural_parameter = unlock_maa_cataphract_archers + } + } + + } +}