factions updated and redundant files purged

This commit is contained in:
trashmasteruni 2026-10-19 22:13:20 +02:00
parent 0e844a8874
commit 434f68af19
10 changed files with 92 additions and 6722 deletions

View file

@ -1,6 +1,6 @@
independence_faction = {
casus_belli = independence_faction_war
short_effect_desc = independence_faction_short_effect_desc
sort_order = 2
@ -34,8 +34,8 @@
FACTION_TYPE2 = liberty_faction
FACTION_TYPE3 = populist_faction
}
}
}
demand = {
save_scope_as = faction
@ -215,7 +215,7 @@
}
}
add = 0.25
}
}
}
}
}
@ -281,7 +281,7 @@
liege = {
top_liege = this
}
trigger_if = {
limit = {
faith.religion = religion:islam_religion
@ -296,10 +296,10 @@
}
}
}
trigger_if = {
limit = {
government_allows = administrative
government_has_mechanic = administrative
}
custom_tooltip = {
text = admin_high_tier_vassal_create_faction
@ -338,7 +338,7 @@
}
# Bloc Cohesion requirement
japan_faction_cohesion_trigger = yes
liege = {
top_liege = this
}
@ -364,7 +364,7 @@
government_has_flag = government_is_nomadic
}
}
trigger_if = {
limit = {
faith.religion = religion:islam_religion
@ -379,10 +379,10 @@
}
}
}
trigger_if = {
limit = {
government_allows = administrative
government_has_mechanic = administrative
}
custom_tooltip = {
text = admin_high_tier_vassal_create_faction
@ -419,7 +419,7 @@
common_can_character_join_trigger = {
FACTION_TARGET = scope:faction.faction_target
}
trigger_if = {
limit = {
faith.religion = religion:islam_religion
@ -434,10 +434,10 @@
}
}
}
trigger_if = {
limit = {
government_allows = administrative
government_has_mechanic = administrative
}
custom_tooltip = {
text = admin_high_tier_vassal_join_faction
@ -516,47 +516,9 @@
liberty_faction = {
casus_belli = liberty_faction_war
desc = {
first_valid = {
triggered_desc = {
trigger = {
faction_target = { government_has_flag = government_is_administrative }
}
desc = liberty_faction_desc_admin
}
triggered_desc = {
trigger = {
faction_target = { government_has_flag = government_is_tribal }
}
desc = liberty_faction_desc_tribal
}
triggered_desc = {
trigger = {
faction_target = { government_has_flag = government_is_feudal }
}
desc = liberty_faction_desc_feudal
}
desc = liberty_faction_desc
}
}
desc = liberty_faction_desc
short_effect_desc = {
first_valid = {
triggered_desc = {
trigger = {
faction_target = { government_has_flag = government_is_administrative }
}
desc = liberty_faction_short_effect_desc_admin
}
triggered_desc = {
trigger = {
faction_target = { government_has_flag = government_is_tribal }
}
desc = liberty_faction_short_effect_desc_tribal
}
desc = liberty_faction_short_effect_desc
}
}
short_effect_desc = liberty_faction_short_effect_desc
sort_order = 4
@ -702,10 +664,10 @@ liberty_faction = {
has_valid_realm_laws_for_liberty_faction_trigger = {
TARGET = scope:target
}
trigger_if = {
limit = {
scope:target = { government_allows = administrative }
scope:target = { government_has_mechanic = administrative }
}
is_vassal_of = scope:target.top_liege
}
@ -721,10 +683,10 @@ liberty_faction = {
has_valid_realm_laws_for_liberty_faction_trigger = {
TARGET = scope:target
}
trigger_if = {
limit = {
scope:target = { government_allows = administrative }
scope:target = { government_has_mechanic = administrative }
}
is_vassal_of = scope:target.top_liege
}
@ -740,10 +702,10 @@ liberty_faction = {
TARGET = scope:faction.faction_target
}
}
trigger_if = {
limit = {
scope:faction.faction_target = { government_allows = administrative }
scope:faction.faction_target = { government_has_mechanic = administrative }
}
is_vassal_of = scope:faction.faction_target
}
@ -791,7 +753,7 @@ liberty_faction = {
culture = { has_cultural_parameter = house_hostility_more_common }
factor = 1.25
}
}
}
ai_join_score = {
@ -802,7 +764,7 @@ liberty_faction = {
common_join_faction_blockers = {
FACTION_TARGET = scope:faction.faction_target
}
#######################
# Standard AI Weights #
#AI
@ -915,12 +877,12 @@ claimant_faction = {
base = 80
modifier = {
add = 20
add = 20
faction_target = {
has_perk = hard_rule_perk
}
desc = "FACTION_POWER_HARD_RULE"
}
}
#Lower the threshold depending on the state of other factions
dynamic_power_threshold_scripted_modifier = {
@ -932,7 +894,7 @@ claimant_faction = {
is_valid = { # If the FACTION itself is valid
# see also invalidate_claimant_factions_on_death_effect for what happens when the claimant dies
trigger_if = {
limit = {
OR = {
@ -946,7 +908,7 @@ claimant_faction = {
special_character ?= {
is_alive = yes
#has_claim_on = root.special_title
NOR = {
NOR = {
has_trait = incapable
this = root.faction_target
}
@ -1120,19 +1082,19 @@ claimant_faction = {
common_character_validity_trigger = {
FACTION_TARGET = scope:faction.faction_target
}
trigger_if = {
limit = {
government_allows = administrative
government_has_mechanic = administrative
}
scope:faction.faction_target ?= {
OR = {
top_liege ?= this
NOT = { government_allows = administrative }
NOT = { government_has_mechanic = administrative }
}
}
}
# TGP - Use Coup against Kampaku instead
trigger_if = {
limit = {
@ -1266,8 +1228,8 @@ claimant_faction = {
}
claimant_faction_blockers = {
FACTION_TARGET = scope:faction.faction_target
FACTION_CLAIMANT = scope:faction.special_character
FACTION_TARGET = scope:faction.faction_target
FACTION_CLAIMANT = scope:faction.special_character
}
common_faction_modifiers = {
@ -1287,7 +1249,7 @@ claimant_faction = {
admin_faction_modifiers = {
FACTION_TARGET = scope:faction.faction_target
FACTION_TYPE = claimant_faction
}
}
admin_claimant_faction_modifiers = {
FACTION_TARGET = scope:faction.faction_target
@ -1296,15 +1258,15 @@ claimant_faction = {
# Faction 'Stacking' Factors, attempts to cluster AI rulers into several powerful factions instead of many weak ones.
join_faction_stacking_modifiers = yes
modifier = { # CE1 Divine Mandate perk
desc = "FACTION_REASON_LEGITIMACY_LEGACY_4"
liege.dynasty = { has_dynasty_perk = ce1_legitimacy_legacy_4 }
add = -10
}
struggle_faction_modifiers = yes
#EP3 admin legitimacy event
modifier = {
desc = "FACTION_REASON_LOW_LEGITIMACY_CHALLENGER"
@ -1351,12 +1313,12 @@ claimant_faction = {
county_join_score = {
base = -80 # Needs to be less than the weight set in 00_populist_faction.txt, or counties will never join a claimant faction over a populist faction.
# Up to +3 join score per negative opinion (+80 at -27 opinion) if different culture.
# Up to +3 join score per negative opinion (+80 at -27 opinion) if different culture.
compare_modifier = {
desc = "FACTION_REASON_CLAIMANT_COUNTY_SHARED_CULTURE"
trigger = {
scope:faction.faction_target.culture != this.title_province.culture
scope:faction.special_character.culture = this.title_province.culture
scope:faction.special_character.culture = this.title_province.culture
}
value = county_opinion
multiplier = -2.0
@ -1423,7 +1385,7 @@ claimant_faction = {
add = -200
this.title_province = scope:faction.faction_target.capital_province
}
# More likely to support adult claimants when a child is on the throne.
modifier = {
desc = "FACTION_REASON_ADULT_CLAIMANT_CHILD_RULER"
@ -1446,10 +1408,10 @@ claimant_faction = {
subtract = scope:faction.special_character.ai_vengefulness
# Converts the personality score into a percentage between 0% (will never support) and 100% (really wants to support)
divide = 800
divide = 800
}
# How big the factor is for supporting this claimant over other factions at max support.
# How big the factor is for supporting this claimant over other factions at max support.
multiplier = 2
}
}

View file

@ -1,6 +1,6 @@
nation_fracturing_faction = {
casus_belli = nation_fracturing_faction_war
short_effect_desc = nation_fracturing_faction_short_effect_desc
sort_order = 0
@ -41,8 +41,10 @@
FACTION_TARGET = scope:faction.faction_target
}
has_valid_faction_members_trigger = yes
tgp_realm_has_ceremonial_liege_trigger = no
}
demand = {
save_scope_as = faction
@ -81,6 +83,8 @@
# Bloc Cohesion requirement
japan_faction_cohesion_trigger = yes
tgp_realm_has_ceremonial_liege_trigger = no
liege = {
top_liege = this
NOT = { government_has_flag = government_is_theocracy }
@ -99,7 +103,7 @@
government_has_flag = government_is_nomadic
is_ai = no
}
trigger_if = {
limit = {
faith.religion = religion:islam_religion
@ -133,7 +137,9 @@
}
# Bloc Cohesion requirement
japan_faction_cohesion_trigger = yes
tgp_realm_has_ceremonial_liege_trigger = no
liege = {
top_liege = this
NOT = { government_has_flag = government_is_theocracy }
@ -145,13 +151,13 @@
}
}
}
# Only powerfull vassals can create such factions and they need to have either another culture or faith
OR = {
is_powerful_vassal = yes
is_ai = no
}
trigger_if = {
limit = {
faith.religion = religion:islam_religion
@ -225,7 +231,7 @@
common_can_character_join_trigger = {
FACTION_TARGET = scope:faction.faction_target
}
trigger_if = {
limit = {
faith.religion = religion:islam_religion
@ -362,8 +368,8 @@
is_county_valid = {
holder = scope:faction.faction_target
OR = {
culture != scope:faction.faction_target.culture
faith != scope:faction.faction_target.faith
culture != scope:faction.faction_target.culture
faith != scope:faction.faction_target.faith
}
}

View file

@ -45,7 +45,15 @@ peasant_faction = {
is_county_valid = {
# Peasants can only join a faction against their direct liege. Unless their liege is Byzantium trying to restore the Roman Empire, then they go for the emperor
holder = scope:faction.faction_target
trigger_if = {
limit = {
scope:faction.faction_target = {
ep3_restored_rome_hard_mode_trigger = yes
}
}
holder.top_liege = scope:faction.faction_target
}
trigger_else = { holder = scope:faction.faction_target }
title_province = {
NOR = {
has_holding_type = nomad_holding
@ -546,8 +554,18 @@ peasant_faction = {
can_county_join = {
# Peasants can only join a faction against their direct liege. Unless their liege is Byzantium trying to restore the Roman Empire, then they go for the emperor
holder = scope:faction.faction_target
trigger_if = {
limit = {
scope:faction.faction_target = {
OR = {
ep3_restored_rome_hard_mode_trigger = yes
has_variable = peasant_war_escalates
}
}
}
holder.top_liege = scope:faction.faction_target
}
trigger_else = { holder = scope:faction.faction_target }
title_province = {
NOR = {
@ -559,8 +577,18 @@ peasant_faction = {
can_county_create = {
# Peasants can only join a faction against their direct liege. Unless their liege is Byzantium trying to restore the Roman Empire, then they go for the emperor
holder = scope:target
trigger_if = {
limit = {
scope:target = {
OR = {
ep3_restored_rome_hard_mode_trigger = yes
has_variable = peasant_war_escalates
}
}
}
holder.top_liege = scope:target
}
trigger_else = { holder = scope:target }
scope:target = {
NAND = {
@ -698,6 +726,7 @@ peasant_faction = {
war_keep_on_attacker_victory = yes
}
}
}
}
leader_leaves = {

File diff suppressed because it is too large Load diff

View file

@ -1,317 +0,0 @@
# Definition of lease used for organized churches. Required for the game to run.
theocracy_lease = {
hierarchy = {
type = vassal
ruler_valid = {
rite ?= { rite_has_doctrine = doctrine_theocracy_temporal }
NOT = { government_has_flag = government_is_theocracy }
}
liege_or_vassal_valid = {
faith = scope:target.faith
}
lessee = cp:councillor_court_chaplain
barony_valid = {
title_province = { has_holding_type = church_holding }
}
}
government = theocracy_government
valid_holdings = { church_holding }
ruler_share_min_opinion_from_lessee = 1
hook_strength_max_opinion = strong
tax_split = {
lease_liege = 0.25
ruler_max = 0.25
ruler = {
if = {
limit = {
scope:lessee = {
court_chaplain_endorse_override_trigger = yes
}
}
add = {
desc = THEOCRATIC_LEASE_RATIO_STRONG_HOOK
value = 0.25
}
}
else_if = {
limit = { is_ai = yes }
add = {
desc = THEOCRATIC_LEASE_RATIO_FROM_OPINION
value = {
scope:lessee = { value = "opinion(scope:ruler)" }
}
divide = 400
}
}
save_temporary_value_as = current_total
if = {
limit = { scope:current_total > 0.25 }
max = {
desc = THEOCRATIC_LEASE_RATIO_MAX_25
value = 0.25
}
}
}
}
levy_split = {
lease_liege = 0.15
ruler_max = 0.50
ruler = {
if = {
limit = {
scope:lessee = { court_chaplain_endorse_override_trigger = yes }
}
add = {
desc = THEOCRATIC_LEASE_RATIO_STRONG_HOOK
value = 0.5
}
}
else = {
add = {
desc = THEOCRATIC_LEASE_RATIO_FROM_OPINION
value = {
scope:lessee = { value = "opinion(scope:ruler)" }
}
divide = 200
}
}
max = 0.5
}
}
}
# Definition of lease used for Ecclesiastical churches (Christian)
ecclesiastical_lease = {
hierarchy = {
type = clerical_region
ruler_valid = {
rite = { rite_has_doctrine = doctrine_theocracy_temporal }
NOT = { government_has_flag = government_is_ecclesiastical }
}
liege_or_vassal_valid = {
faith = scope:target.faith
}
lessee = cp:councillor_court_chaplain # should be a councillor
barony_valid = {
title_province = {
has_holding_type = church_holding
}
# Allow Ecclesiastical rulers to hold temples directly
NOT = {
county = {
holder = {
government_has_flag = government_is_ecclesiastical
}
}
}
}
}
government = ecclesiastical_government
valid_holdings = { church_holding }
ruler_share_min_opinion_from_lessee = 1
hook_strength_max_opinion = strong
tax_split = {
lease_liege = {
value = 0
if = {
limit = {
scope:lease_liege = {
top_participant_group:the_christian_church ?= {
has_participant_group_parameter = the_christian_church_minimal_centralization
}
}
}
add = {
desc = THEOCRATIC_LEASE_RATIO_MINIMAL_CENTRALIZATION
value = 0.05
}
}
else_if = {
limit = {
scope:lease_liege = {
OR = {
top_participant_group:the_christian_church ?= {
has_participant_group_parameter = the_christian_church_mild_centralization
}
# Default for Ecclesiasticals outside of the situation
NOT = { exists = top_participant_group:the_christian_church }
}
}
}
add = {
desc = THEOCRATIC_LEASE_RATIO_MILD_CENTRALIZATION
value = 0.1
}
}
else_if = {
limit = {
scope:lease_liege = {
top_participant_group:the_christian_church ?= {
has_participant_group_parameter = the_christian_church_strong_centralization
}
}
}
add = {
desc = THEOCRATIC_LEASE_RATIO_STRONG_CENTRALIZATION
value = 0.20
}
}
# Lessee Bishops don't pay hierarchical to the pope (they need a Clerical Region to exist)
if = {
limit = {
is_landed = no # Local bishop lessee
top_superior = scope:lease_liege # Head of Faith is superior
NOT = { exists = liege.capital_county.clerical_region_title } # We don't have a clerical region
}
max = {
desc = THEOCRATIC_LEASE_RATIO_MISSING_CLERICAL_REGION
value = 0.001
}
}
}
top_lease_liege_direct = {
value = 0
if = {
limit = {
scope:lease_liege = {
top_participant_group:the_christian_church ?= {
has_participant_group_parameter = the_christian_church_strong_centralization
}
}
}
add = {
desc = THEOCRATIC_LEASE_RATIO_STRONG_CENTRALIZATION
value = 0.01
}
}
}
ruler_max = 0.25 # Ceiling on the ruler's share, also quoted by the 'up to' tooltips.
ruler = {
value = 0
if = {
limit = {
scope:lessee = {
court_chaplain_endorse_override_trigger = yes
}
scope:ruler = {
OR = {
top_participant_group:the_christian_church ?= {
has_participant_group_parameter = the_christian_church_personal_secular_obligations
}
# Default for Christians outside of the situation
NOT = { exists = top_participant_group:the_christian_church }
}
}
}
add = {
desc = THEOCRATIC_LEASE_RATIO_STRONG_HOOK
value = 0.25
}
}
else_if = {
limit = {
scope:lessee = {
is_ai = yes
court_chaplain_endorse_override_trigger = no
}
scope:ruler = {
OR = {
top_participant_group:the_christian_church ?= {
has_participant_group_parameter = the_christian_church_personal_secular_obligations
}
# Default for Christians outside of the situation
NOT = { exists = top_participant_group:the_christian_church }
}
}
}
add = {
desc = THEOCRATIC_LEASE_RATIO_FROM_OPINION
value = {
scope:lessee = { value = "opinion(scope:ruler)" }
}
divide = 400 # Divide opinion -100/+100 with 400 gives range -0.25/+0.25
}
}
else_if = {
limit = {
scope:ruler = {
top_participant_group:the_christian_church ?= {
has_participant_group_parameter = the_christian_church_fixed_secular_obligations
}
}
}
add = {
desc = THEOCRATIC_LEASE_RATIO_FIXED_OBLIGATIONS
value = 0.15
}
}
if = {
limit = {
scope:ruler = {
top_participant_group:the_christian_church ?= {
has_participant_group_parameter = the_christian_church_local_secular_power
}
}
}
add = {
desc = THEOCRATIC_LEASE_RATIO_LOCAL_SECULAR_POWER
value = 0.10
}
}
save_temporary_value_as = current_total
if = {
limit = {
scope:current_total > 0.25
}
max = {
desc = THEOCRATIC_LEASE_RATIO_MAX_25
value = 0.25
}
}
}
}
levy_split = {
lease_liege = 0.15
ruler_max = 0.50 # Ceiling on the ruler's share, also quoted by the 'up to' tooltips.
ruler = {
if = {
limit = {
scope:ruler = {
OR = {
has_strong_hook = scope:lessee
top_participant_group:the_christian_church ?= {
has_participant_group_parameter = the_christian_church_fixed_secular_obligations
}
}
}
}
add = {
desc = THEOCRATIC_LEASE_RATIO_STRONG_HOOK
value = 0.50
}
}
else = {
add = {
desc = THEOCRATIC_LEASE_RATIO_FROM_OPINION
value = {
scope:lessee = { value = "opinion(scope:ruler)" }
}
divide = 200 # Divide opinion range -100/+100 with 200 gives range -0.5/+0.5
}
}
max = 0.50
}
}
}

View file

@ -1,59 +0,0 @@
<key> = {
# Should this legitimacy type apply to this playable ruler, evaluated daily for the player, yearly for AI
# First valid one is selected
# root = ruler character
is_valid = {
<triggers>
}
# What level the AI expects of a liege with this legitimacy type
# root = vassal
# scope:liege = liege character
ai_expected_level = {
<script value>
}
# Opinion change for a vassal of their liege for each level below the vassal's expected legitimacy the liege is
# root = opinion holder, person who has an opinion of target
# scope:target = opinion target, aka the liege
below_expectations_opinion = <script_value>
# Maximum value of legitimacy of this type, should be larger than the last threshold
max = <script_value>
# Multiple levels can be read in, the last one a ruler is >= will be the applied level
# First level must have a threshold of 0
level = {
# root = ruler character
threshold = <script_value>
# Effect run when gaining this legitimacy level
# root = ruler character
on_level_entered = {
<effects>
}
# Dynamic description for the on_level_entered effect
# root = ruler character
on_level_entered_desc = {
first_valid = {
}
}
modifier = {
# What modifiers are applied
<modifiers>
}
# Flags to be checked with has_legitimacy_flag
# Multiple can be read in
flag = <flag_name>
}
level = {
...
}
level = {
...
}
}

View file

@ -1,345 +0,0 @@
befriend_perk = {
lifestyle = diplomacy_lifestyle
tree = family
position = { 0 0 }
icon = node_diplomacy
auto_selection_weight = {
value = 11
if = {
limit = {
has_education_diplomacy_trigger = yes
}
add = 1989
}
if = {
limit = {
has_focus = diplomacy_family_focus
}
multiply = 5
}
if = {
limit = {
can_start_new_lifestyle_tree_trigger = no
NOT = { has_perk = familial_familiar_perk }
}
multiply = 0
}
}
culture_character_modifier = {
parameter = automatic_befriend_access
befriend_scheme_phase_duration_add = medium_scheme_phase_duration_bonus_value
}
effect = {
# Cultures with Ritualised Friendship get a different effect, so we filter them out.
if = {
limit = {
NOR = {
culture ?= { has_cultural_parameter = automatic_befriend_access }
government_has_flag = government_is_nomadic
}
}
custom_description_no_bullet = {
text = befriend_perk_effect
}
}
#Removes prestige cost for nomads
else_if = {
limit = {
government_has_flag = government_is_nomadic
NOR = {
has_perk = befriend_perk
culture ?= { has_cultural_parameter = automatic_befriend_access }
any_character_struggle = {
involvement = involved
has_struggle_phase_parameter = struggle_unlocks_befriend_schemes_for_everyone
}
}
}
custom_description_no_bullet = {
text = befriend_perk_prestige_cost_effect
}
}
# Everyone gets board games!
custom_description_no_bullet = { text = unlocks_board_games_interaction_effect }
}
}
confidants_perk = {
lifestyle = diplomacy_lifestyle
tree = family
position = { 0 1.25 }
icon = node_diplomacy
parent = befriend_perk
effect = {
custom_description_no_bullet = {
text = confidants_perk_effect
}
hidden_effect = {
update_confidants_effect = yes
}
}
}
flatterer_perk = {
lifestyle = diplomacy_lifestyle
tree = family
position = { 0 2.5 }
icon = node_diplomacy
parent = confidants_perk
character_modifier = {
befriend_scheme_phase_duration_add = medium_scheme_phase_duration_bonus_value
}
government_character_modifier = {
flag = government_is_landless_adventurer
befriend_scheme_phase_duration_add = monumental_scheme_phase_duration_bonus_value
}
}
friendly_counsel_perk = {
lifestyle = diplomacy_lifestyle
tree = family
position = { 0 3.75 }
icon = node_diplomacy
parent = flatterer_perk
effect = {
custom_description_no_bullet = {
text = friendly_counsel_perk_effect
}
hidden_effect = {
every_relation = {
type = friend
add_to_temporary_list = friendly_counsel_friends
}
every_relation = {
type = best_friend
limit = { NOT = { is_in_list = friendly_counsel_friends } }
add_to_temporary_list = friendly_counsel_friends
}
every_in_list = {
list = friendly_counsel_friends
root = {
friendly_counsel_skill_gain_effect = yes
}
}
}
if = {
limit = {
government_has_flag = government_is_landless_adventurer
}
custom_tooltip = {
text = adventurer_friendly_counsel_perk_effect
}
}
if = {
limit = {
government_has_mechanic = administrative
}
custom_description_no_bullet = {
text = admin_friendly_counsel_perk_effect
}
}
if = {
limit = {
government_has_flag = government_is_nomadic
}
custom_description_no_bullet = {
text = friendly_counsel_perk_nomadic_effect
}
hidden_effect = {
every_relation = {
type = blood_brother
add_to_temporary_list = friendly_counsel_friends
}
every_relation = {
type = best_friend
limit = { NOT = { is_in_list = friendly_counsel_friends } }
add_to_temporary_list = friendly_counsel_friends
}
every_in_list = {
list = friendly_counsel_friends
root = {
friendly_counsel_skill_gain_effect = yes
}
}
}
}
}
}
familial_familiar_perk = {
lifestyle = diplomacy_lifestyle
tree = family
position = { 2 0 }
icon = node_diplomacy
character_modifier = {
close_relative_opinion = 15
}
effect = {
if = {
limit = {
has_ep3_dlc_trigger = yes
government_has_mechanic = administrative
}
custom_description_no_bullet = {
text = admin_familial_familiar_perk_effect
}
}
}
auto_selection_weight = {
value = 11
if = {
limit = {
has_education_diplomacy_trigger = yes
}
add = 1989
}
if = {
limit = {
has_focus = diplomacy_family_focus
}
multiply = 5
}
if = {
limit = {
can_start_new_lifestyle_tree_trigger = no
NOT = { has_perk = befriend_perk }
}
multiply = 0
}
}
}
groomed_to_rule_perk = {
lifestyle = diplomacy_lifestyle
tree = family
position = { 2 1.25 }
icon = node_diplomacy
parent = familial_familiar_perk
effect = {
custom_description_no_bullet = {
text = groomed_to_rule_perk_effect
}
# If a child has already gotten their childhood personality or education (and thus missed the skill gain), add it now.
hidden_effect = {
save_scope_as = parent
every_child = {
limit = {
OR = {
has_trait = curious
has_trait = rowdy
has_trait = charming
has_trait = pensive
has_trait = bossy
has_trait = education_martial
has_trait = education_intrigue
has_trait = education_stewardship
has_trait = education_learning
has_trait = education_diplomacy
}
}
groomed_to_rule_random_skills_effect = yes
}
}
if = {
limit = {
has_bp2_dlc_trigger = yes
}
custom_description_no_bullet = {
text = groomed_to_rule_perk_2_effect
}
}
}
}
thicker_than_water_perk = {
lifestyle = diplomacy_lifestyle
tree = family
position = { 2 2.5 }
icon = node_diplomacy
parent = groomed_to_rule_perk
effect = {
custom_description_no_bullet = {
text = thicker_than_water_perk_effect
}
}
government_character_modifier = {
flag = government_is_nomadic
blood_brother_prestige_mult = 0.05
}
}
sound_foundations_perk = {
lifestyle = diplomacy_lifestyle
tree = family
position = { 2 3.75 }
icon = node_diplomacy
parent = thicker_than_water_perk
effect = {
if = {
limit = {
government_has_flag = government_is_mandala
house ?= { has_house_aspiration_parameter = aspect_of_creation }
is_house_head = yes
}
custom_description_no_bullet = { text = mandala_sound_foundations_perk_effect }
}
else = {
custom_description_no_bullet = { text = sound_foundations_perk_effect }
}
hidden_effect = {
every_child = {
root = {
sound_foundations_skill_gain_effect = yes
}
}
}
}
}
family_man_perk = {
lifestyle = diplomacy_lifestyle
tree = family
position = { 1 5 }
icon = trait_family_first
name = {
first_valid = {
triggered_desc = {
trigger = { NOT = { exists = this } }
desc = family_man_perk_male_name
}
triggered_desc = {
trigger = { is_female = yes }
desc = family_man_perk_female_name
}
desc = family_man_perk_male_name
}
}
parent = sound_foundations_perk
parent = friendly_counsel_perk
trait = family_first
effect = {
add_trait_force_tooltip = family_first
}
}

View file

@ -1,274 +0,0 @@
truth_is_relative_perk = {
lifestyle = intrigue_lifestyle
tree = skulduggery
position = { 2 0 }
icon = node_intrigue
auto_selection_weight = {
value = 11
if = {
limit = {
has_education_intrigue_trigger = yes
}
add = 1989
}
if = {
limit = {
has_focus = intrigue_skulduggery_focus
}
multiply = 5
}
if = {
limit = {
can_start_new_lifestyle_tree_trigger = no
}
multiply = 0
}
if = { # Conquerors go for the best stuff for war!
limit = {
has_variable = conqueror
}
add = 10000
}
}
can_be_picked = {
always = yes
}
effect = {
custom_description_no_bullet = {
text = truth_is_relative_scheme_effect
}
if = {
limit = {
NOT = { government_has_flag = government_is_landless_adventurer }
}
custom_description_no_bullet = {
text = truth_is_relative_perk_effect
}
}
}
}
digging_for_dirt_perk = {
lifestyle = intrigue_lifestyle
tree = skulduggery
position = { 0 1.25 }
icon = node_intrigue
parent = truth_is_relative_perk
can_be_picked = {
always = yes
}
effect = {
if = {
limit = {
NOT = { government_has_flag = government_is_landless_adventurer }
}
custom_description_no_bullet = {
text = digging_for_dirt_perk_effect
}
}
if = {
limit = {
government_has_flag = government_is_landless_adventurer
}
custom_tooltip = {
text = adventurer_digging_for_dirt_perk_effect
}
}
}
}
kidnapper_perk = {
lifestyle = intrigue_lifestyle
tree = skulduggery
position = { 0 2.5 }
icon = node_intrigue
parent = digging_for_dirt_perk
can_be_picked = {
always = yes
}
effect = {
custom_description_no_bullet = {
text = kidnapper_perk_effect
}
if = {
limit = { government_has_flag = government_is_nomadic }
custom_description_no_bullet = {
text = kidnapper_perk_nomadic_effect
}
}
}
}
court_of_shadows_perk = {
lifestyle = intrigue_lifestyle
tree = skulduggery
position = { 2 1.25 }
icon = node_intrigue
parent = truth_is_relative_perk
name = {
first_valid = {
triggered_desc = {
trigger = { has_government = landless_adventurer_government }
desc = court_of_shadows_perk_adventurer_name
}
desc = court_of_shadows_perk_name
}
}
can_be_picked = {
always = yes
}
government_character_modifier = {
flag = government_is_administrative
owned_political_scheme_success_chance_max_add = 10
}
effect = {
if = {
limit = {
NOT = { government_has_flag = government_is_landless_adventurer }
}
custom_description_no_bullet = {
text = court_of_shadows_perk_effect
}
custom_description_no_bullet = { text = court_of_shadows_perk_effect.increased_grace }
if = {
limit = { faith ?= { has_papacy_trigger = yes } }
custom_description_no_bullet = { text = court_of_shadows_perk_papal_vote_effect }
}
if = {
limit = {
has_pam_dlc_trigger = yes
faith ?= { has_papacy_trigger = yes }
}
custom_description_no_bullet = { text = court_of_shadows_perk_papabile_effect }
}
}
if = {
limit = {
government_has_flag = government_is_landless_adventurer
}
custom_tooltip = {
text = adventurer_court_of_shadows_perk_effect
}
custom_tooltip = court_of_shadows_perk_effect.increased_grace
}
}
}
prepared_for_anything_perk = {
lifestyle = intrigue_lifestyle
tree = skulduggery
position = { 2 2.5 }
icon = node_intrigue
parent = court_of_shadows_perk
can_be_picked = {
always = yes
}
character_modifier = {
enemy_hostile_scheme_success_chance_add = -25
}
effect = {
custom_description_no_bullet = {
text = prepared_for_anything_perk_bonus_effect
}
}
}
swift_execution_perk = {
lifestyle = intrigue_lifestyle
tree = skulduggery
position = { 4 1.25 }
icon = node_intrigue
parent = truth_is_relative_perk
can_be_picked = {
always = yes
}
government_character_modifier = {
flag = government_is_landless_adventurer
murder_scheme_phase_duration_add = monumental_scheme_phase_duration_bonus_value
}
character_modifier = {
murder_scheme_phase_duration_add = medium_scheme_phase_duration_bonus_value
}
}
a_job_done_right_perk = {
lifestyle = intrigue_lifestyle
tree = skulduggery
position = { 4 2.5 }
icon = node_intrigue
parent = swift_execution_perk
can_be_picked = {
always = yes
}
character_modifier = {
owned_hostile_scheme_success_chance_add = 25
owned_hostile_scheme_success_chance_max_add = 5
}
}
twice_schemed_perk = {
lifestyle = intrigue_lifestyle
tree = skulduggery
position = { 2 3.75 }
icon = node_intrigue
parent = kidnapper_perk
parent = prepared_for_anything_perk
parent = a_job_done_right_perk
can_be_picked = {
always = yes
}
character_modifier = {
max_hostile_schemes_add = 1
}
government_character_modifier = {
flag = government_is_administrative
max_political_schemes_add = 1
}
}
schemer_perk = {
lifestyle = intrigue_lifestyle
tree = skulduggery
position = { 2 5 }
icon = trait_schemer
parent = twice_schemed_perk
can_be_picked = {
always = yes
}
trait = schemer
effect = {
add_trait_force_tooltip = schemer
}
}

View file

@ -1,272 +0,0 @@
stalwart_leader_perk = {
lifestyle = martial_lifestyle
tree = chivalry
position = { 1 0 }
icon = node_martial
auto_selection_weight = {
value = 11
if = {
limit = {
has_education_martial_trigger = yes
}
add = 1989
}
if = {
limit = {
has_focus = martial_chivalry_focus
}
multiply = 5
}
if = {
limit = {
can_start_new_lifestyle_tree_trigger = no
}
multiply = 0
}
}
government_character_modifier = {
flag = government_is_landless_adventurer
trait_track_foot_xp_gain_mult = 0.2
}
character_modifier = {
prowess = 4
trait_track_foot_xp_gain_mult = 0.05
}
effect = {
custom_description_no_bullet = {
text = stalwart_leader_perk_effect
}
if = {
limit = { government_has_flag = government_is_nomadic }
custom_description_no_bullet = { text = unlock_dueling_for_everyone_effect }
}
else_if = {
limit = {
culture ?= { has_cultural_parameter = stalwart_leader_non_admin_duels }
}
custom_description_no_bullet = { text = unlocks_stalwart_leader_non_admin_duels_effect }
}
else = {
custom_description_no_bullet = { text = unlock_dueling_rivals_effect }
}
if = {
limit = {
government_has_flag = government_is_landless_adventurer
has_ep2_dlc_trigger = yes
}
custom_tooltip = {
text = adventurer_stalwart_leader_perk_effect
}
}
}
}
courtship_perk = {
lifestyle = martial_lifestyle
tree = chivalry
position = { 0 1 }
icon = node_martial
parent = stalwart_leader_perk
government_character_modifier = {
flag = government_is_landless_adventurer
courting_scheme_phase_duration_add = monumental_scheme_phase_duration_bonus_value
elope_scheme_phase_duration_add = monumental_scheme_phase_duration_bonus_value
}
character_modifier = {
courting_scheme_phase_duration_add = medium_scheme_phase_duration_bonus_value
elope_scheme_phase_duration_add = medium_scheme_phase_duration_bonus_value
}
effect = {
custom_description_no_bullet = {
text = courtship_perk_effect
}
}
}
promising_prospects_perk = {
lifestyle = martial_lifestyle
tree = chivalry
position = { 0 2 }
icon = node_martial
parent = courtship_perk
effect = {
custom_description_no_bullet = {
text = promising_prospects_perk_effect
}
}
}
loyalty_and_respect_perk = {
lifestyle = martial_lifestyle
tree = chivalry
position = { 0 3 }
icon = node_martial
parent = promising_prospects_perk
effect = {
if = {
limit = {
NOT = { government_has_flag = government_is_landless_adventurer }
}
custom_description_no_bullet = {
text = loyalty_and_respect_perk_stats_effect
}
}
if = {
limit = {
government_has_flag = government_is_nomadic
}
custom_description_no_bullet = {
text = loyalty_and_respect_perk_obedience_effect
}
}
if = {
limit = {
government_has_mechanic = administrative
government_allows = merit
}
custom_description_no_bullet = {
text = candidate_pool_loyalty_and_respect_perk_effect
}
}
}
government_character_modifier = {
flag = government_is_landless_adventurer
trait_track_wit_xp_gain_mult = 0.25
}
character_modifier = {
spouse_opinion = 50
}
}
chivalric_dominance_perk = {
lifestyle = martial_lifestyle
tree = chivalry
position = { 2 1 }
icon = node_martial
parent = stalwart_leader_perk
government_character_modifier = {
flag = government_is_administrative
invert_check = yes
knight_effectiveness_mult = 0.75
}
government_character_modifier = {
flag = government_is_landless_adventurer
invert_check = yes
accolade_glory_gain_mult = 0.1
}
government_character_modifier = {
flag = government_is_landless_adventurer
trait_track_horse_xp_gain_mult = 0.25
}
government_character_modifier = {
flag = government_is_administrative
same_heritage_county_advantage_add = 5
}
effect = {
if = {
limit = {
has_pam_dlc_trigger = yes
actor_incite_holy_war_shown_trigger = yes
}
custom_description_no_bullet = { text = chivalric_dominance_perk_incite_war_effect }
}
}
}
never_back_down_perk = {
lifestyle = martial_lifestyle
tree = chivalry
position = { 2 2 }
icon = node_martial
parent = chivalric_dominance_perk
character_modifier = {
advantage = 5
hard_casualty_modifier = -0.2
tourney_participant_xp_gain_mult = 0.1
}
}
kingsguard_perk = {
lifestyle = martial_lifestyle
tree = chivalry
position = { 2 3 }
icon = node_martial
parent = never_back_down_perk
government_character_modifier = {
flag = government_is_landless_adventurer
trait_track_bow_xp_gain_mult = 0.25
}
government_character_modifier = {
flag = government_is_administrative
invert_check = yes
knight_limit = 4
}
government_character_modifier = {
flag = government_is_administrative
knight_limit = 2
}
government_character_modifier = {
flag = government_is_theocracy
enemy_hostile_scheme_success_chance_add = -5
character_travel_safety = 10
}
}
peacemaker_perk = {
lifestyle = martial_lifestyle
tree = chivalry
position = { 1 4 }
icon = node_martial
parent = loyalty_and_respect_perk
parent = kingsguard_perk
effect = {
custom_description_no_bullet = { text = peacemaker_perk_effect }
if = {
limit = {
government_has_flag = government_is_mandala
house ?= { has_house_aspiration_parameter = aspect_of_serenity }
is_house_head = yes
}
custom_description_no_bullet = { text = mandala_peacemaker_perk_serenity_effect }
}
}
}
gallant_perk = {
lifestyle = martial_lifestyle
tree = chivalry
position = { 1 5 }
icon = trait_gallant
parent = peacemaker_perk
trait = gallant
effect = {
add_trait_force_tooltip = gallant
}
}

File diff suppressed because it is too large Load diff