1826 lines
45 KiB
Text
1826 lines
45 KiB
Text
|
|
populist_faction = {
|
||
|
|
casus_belli = populist_war
|
||
|
|
|
||
|
|
leaders_allowed_to_leave = no
|
||
|
|
player_can_join = no
|
||
|
|
|
||
|
|
sort_order = 3
|
||
|
|
|
||
|
|
name = FACTION_POPULIST_DYNAMIC_NAME
|
||
|
|
|
||
|
|
short_effect_desc = {
|
||
|
|
first_valid = {
|
||
|
|
triggered_desc = {
|
||
|
|
trigger = {
|
||
|
|
faction_target = { government_has_flag = government_is_administrative }
|
||
|
|
}
|
||
|
|
desc = populist_faction_short_effect_desc_admin
|
||
|
|
}
|
||
|
|
desc = populist_faction_short_effect_desc
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
discontent_progress = {
|
||
|
|
base = 0
|
||
|
|
|
||
|
|
common_discontent_progress_modifier = yes
|
||
|
|
modifier = {
|
||
|
|
faction_target = { can_vassals_be_attacked = yes }
|
||
|
|
add = 2
|
||
|
|
desc = border_war_increased_peasant_discontent
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
faction_target = {
|
||
|
|
top_participant_group:dynastic_cycle ?= {
|
||
|
|
has_participant_group_parameter = dynastic_cycle_more_peasant_factions
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = 2
|
||
|
|
desc = instability_increased_peasant_discontent
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
power_threshold = {
|
||
|
|
base = 80
|
||
|
|
|
||
|
|
modifier = {
|
||
|
|
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 = {
|
||
|
|
FACTION_TYPE1 = claimant_faction
|
||
|
|
FACTION_TYPE2 = independence_faction
|
||
|
|
FACTION_TYPE3 = liberty_faction
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
requires_county = yes
|
||
|
|
requires_character = no
|
||
|
|
|
||
|
|
# Faction existence is valid
|
||
|
|
is_valid = {
|
||
|
|
trigger_if = {
|
||
|
|
limit = {
|
||
|
|
exists = special_character
|
||
|
|
}
|
||
|
|
special_character = {
|
||
|
|
is_alive = yes
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
###########
|
||
|
|
# Counties/characters are allowed to exist in the faction at all (will be kicked out if they fail these checks while already in it).
|
||
|
|
is_character_valid = {
|
||
|
|
has_valid_faction_members_trigger = yes
|
||
|
|
# Only AIs are allowed to be in popular factions.
|
||
|
|
is_ai = yes
|
||
|
|
|
||
|
|
# Landed rulers can only be in the faction...
|
||
|
|
trigger_if = {
|
||
|
|
limit = {
|
||
|
|
is_playable_character = yes
|
||
|
|
exists = liege
|
||
|
|
this != liege
|
||
|
|
}
|
||
|
|
|
||
|
|
# ... If they are a direct vassal of the faction target.
|
||
|
|
liege = scope:faction.faction_target
|
||
|
|
|
||
|
|
# ... If they are at least a count. (Barons are not allowed.)
|
||
|
|
highest_held_title_tier >= tier_county
|
||
|
|
}
|
||
|
|
|
||
|
|
# Must not be the same culture & faith as the faction target.
|
||
|
|
custom_tooltip = {
|
||
|
|
text = populist_faction_same_culture_faith_as_liege
|
||
|
|
OR = {
|
||
|
|
faith != scope:faction.faction_target.faith
|
||
|
|
culture != scope:faction.faction_target.culture
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
trigger_if = { # Must have a different faith than state faith in Admin
|
||
|
|
limit = {
|
||
|
|
exists = scope:faction.faction_target.primary_title.state_faith
|
||
|
|
}
|
||
|
|
faith != scope:faction.faction_target.primary_title.state_faith
|
||
|
|
}
|
||
|
|
|
||
|
|
# Not forbidden from being in factions.
|
||
|
|
NOT = {
|
||
|
|
has_character_flag = joining_faction_block
|
||
|
|
}
|
||
|
|
is_imprisoned = no
|
||
|
|
}
|
||
|
|
|
||
|
|
is_county_valid = {
|
||
|
|
# Counties can only be in a faction against the top liege in their realm (who is inherently independent).
|
||
|
|
scope:faction.faction_target = holder.top_liege
|
||
|
|
|
||
|
|
# Counties must have a different faith or culture than the faction target.
|
||
|
|
OR = {
|
||
|
|
faith != scope:faction.faction_target.faith
|
||
|
|
culture != scope:faction.faction_target.culture
|
||
|
|
}
|
||
|
|
|
||
|
|
trigger_if = { # Must have a different faith than state faith in Admin
|
||
|
|
limit = {
|
||
|
|
exists = scope:faction.faction_target.primary_title.state_faith
|
||
|
|
}
|
||
|
|
faith != scope:faction.faction_target.primary_title.state_faith
|
||
|
|
}
|
||
|
|
|
||
|
|
# Counties must have the same faith as the faction
|
||
|
|
scope:faction = {
|
||
|
|
OR = {
|
||
|
|
NOT = {
|
||
|
|
has_variable = faction_faith
|
||
|
|
}
|
||
|
|
AND = {
|
||
|
|
has_variable = faction_faith
|
||
|
|
root.faith = var:faction_faith
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
# Player capitals are blocked from joining populist factions (to avoid Game Overing a player due to a populist uprising against their liege, which as a vassal they can't really prevent or fight)
|
||
|
|
save_temporary_scope_as = this_county
|
||
|
|
trigger_if = {
|
||
|
|
limit = {
|
||
|
|
holder = {
|
||
|
|
is_ai = no
|
||
|
|
}
|
||
|
|
}
|
||
|
|
this != holder.capital_county
|
||
|
|
}
|
||
|
|
title_province = {
|
||
|
|
NOR = {
|
||
|
|
has_holding_type = nomad_holding
|
||
|
|
has_holding_type = herder_holding
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
###########
|
||
|
|
# Counties/characters are allowed to create/join the faction (but will remain in faction if they fail these after joining).
|
||
|
|
|
||
|
|
can_character_join = {
|
||
|
|
# Must share this faction's faith.
|
||
|
|
scope:faction = {
|
||
|
|
has_variable = faction_faith
|
||
|
|
root.faith = var:faction_faith
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
can_county_join = {
|
||
|
|
# Must share this faction's faith.
|
||
|
|
scope:faction = {
|
||
|
|
OR = {
|
||
|
|
NOT = {
|
||
|
|
has_variable = faction_faith
|
||
|
|
}
|
||
|
|
AND = {
|
||
|
|
has_variable = faction_faith
|
||
|
|
root.faith = var:faction_faith
|
||
|
|
}
|
||
|
|
}
|
||
|
|
trigger_if = { # Must have a different faith than state faith in Admin
|
||
|
|
limit = {
|
||
|
|
exists = scope:faction.faction_target.primary_title.state_faith
|
||
|
|
}
|
||
|
|
root.faith != scope:faction.faction_target.primary_title.state_faith
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
title_province = {
|
||
|
|
NOR = {
|
||
|
|
has_holding_type = nomad_holding
|
||
|
|
has_holding_type = herder_holding
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
can_county_create = {
|
||
|
|
county_opinion < 0
|
||
|
|
|
||
|
|
# Can only join factions against our top liege (not direct liege)
|
||
|
|
scope:target = holder.top_liege
|
||
|
|
|
||
|
|
# Must have a culture or faith different from the target's.
|
||
|
|
OR = {
|
||
|
|
#make sure you do not accept their faith
|
||
|
|
faith ?= {
|
||
|
|
faith_hostility_level = {
|
||
|
|
target = scope:target.faith
|
||
|
|
value > faith_fully_accepted_level
|
||
|
|
}
|
||
|
|
}
|
||
|
|
culture != scope:target.culture
|
||
|
|
}
|
||
|
|
|
||
|
|
trigger_if = { # Must have a different faith than state faith in Admin
|
||
|
|
limit = {
|
||
|
|
exists = scope:faction.faction_target.primary_title.state_faith
|
||
|
|
}
|
||
|
|
faith != scope:faction.faction_target.primary_title.state_faith
|
||
|
|
}
|
||
|
|
|
||
|
|
####
|
||
|
|
# BLOCKERS
|
||
|
|
####
|
||
|
|
# General Faction immunity
|
||
|
|
custom_description = {
|
||
|
|
text = character_is_immune_to_factions
|
||
|
|
subject = scope:target
|
||
|
|
NOT = { scope:target = { immune_to_factions_trigger = yes } }
|
||
|
|
}
|
||
|
|
|
||
|
|
title_province = {
|
||
|
|
NOR = {
|
||
|
|
has_holding_type = nomad_holding
|
||
|
|
has_holding_type = herder_holding
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
can_character_become_leader = {
|
||
|
|
has_variable = rebel_leader_peasants
|
||
|
|
var:rebel_leader_peasants = scope:faction
|
||
|
|
}
|
||
|
|
|
||
|
|
###########
|
||
|
|
# Counties/characters are *willing* to join or remain in the faction (not blocked from being in the faction, but unless these are true they will not join the faction unless forced).
|
||
|
|
|
||
|
|
county_create_score = {
|
||
|
|
base = -160 # Counties can't create a new faction unless opinion is less than -20 (see summary below).
|
||
|
|
|
||
|
|
# If a suitable Popular Faction already exists (of the same faith), side with it instead.
|
||
|
|
modifier = {
|
||
|
|
add = -1000
|
||
|
|
scope:target = {
|
||
|
|
any_targeting_faction = {
|
||
|
|
faction_type = populist_faction
|
||
|
|
any_faction_county_member = {
|
||
|
|
this.title_province.faith = root.title_province.faith
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
# If a suitable Escalated Faction exists, prefer to join it instead.
|
||
|
|
modifier = {
|
||
|
|
desc = "FACTION_REASON_PREFER_ESCALATED_FACTION"
|
||
|
|
add = -100
|
||
|
|
scope:target = {
|
||
|
|
any_targeting_faction = {
|
||
|
|
faction_type = escalated_peasant_faction
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
# Summary of score weights (base + modifiers):
|
||
|
|
# Different Culture Group + Evil Faith: 100% chance at -32 opinion, 1% chance at -19 opinion
|
||
|
|
# Different Culture (Same Group) + Hostile Faith: 90% chance at -100 opinion, 1% chance at -46 opinion
|
||
|
|
# Different Culture AND Astray Faith: 40% chance at -100 opinion, 1% chance at -80 opinion
|
||
|
|
# Different Culture OR Astray Faith: Never Creates
|
||
|
|
compare_modifier = {
|
||
|
|
trigger = {
|
||
|
|
this.title_province.culture != scope:target.culture
|
||
|
|
this.title_province.culture = { has_same_culture_heritage = scope:target.culture }
|
||
|
|
}
|
||
|
|
value = county_opinion
|
||
|
|
multiplier = -1.0
|
||
|
|
}
|
||
|
|
compare_modifier = {
|
||
|
|
trigger = {
|
||
|
|
NOT = { this.title_province.culture = { has_same_culture_heritage = scope:target.culture } }
|
||
|
|
}
|
||
|
|
value = county_opinion
|
||
|
|
multiplier = -3.0
|
||
|
|
}
|
||
|
|
pluralism_fundamentalism_dual_modifier = {
|
||
|
|
ASTRAY_BASE_VALUE = faction_county_opinion_astray
|
||
|
|
HOSTILE_BASE_VALUE = faction_county_opinion_hostile
|
||
|
|
EVIL_BASE_VALUE = faction_county_opinion_evil
|
||
|
|
BASE_FAITH = faith
|
||
|
|
TARGET = scope:target
|
||
|
|
}
|
||
|
|
pluralism_fundamentalism_modifier = {
|
||
|
|
ASTRAY_BASE_VALUE = faction_county_opinion_astray
|
||
|
|
HOSTILE_BASE_VALUE = faction_county_opinion_hostile
|
||
|
|
EVIL_BASE_VALUE = faction_county_opinion_evil
|
||
|
|
BASE_FAITH = faith
|
||
|
|
TARGET = scope:target
|
||
|
|
}
|
||
|
|
|
||
|
|
# Greatly reduced chance for a character's capital county to form a faction against them (extra -25 opinion needed).
|
||
|
|
modifier = {
|
||
|
|
add = -200
|
||
|
|
this.title_province = scope:target.capital_province
|
||
|
|
}
|
||
|
|
|
||
|
|
legalism_virtue_and_sin_modifier = {
|
||
|
|
TARGET = scope:target
|
||
|
|
SCORE_PER_TRAIT = 50 # Worth ~12 opinion per trait.
|
||
|
|
}
|
||
|
|
|
||
|
|
liege_debt_modifier = {
|
||
|
|
TARGET = scope:target
|
||
|
|
SCORE_PER_DEBT_LEVEL = 20 # Worth ~5 opinon per debt level, up to a max of 140 (-35 opinion)
|
||
|
|
}
|
||
|
|
|
||
|
|
# Ruling Caste
|
||
|
|
modifier = {
|
||
|
|
add = -25
|
||
|
|
culture != scope:target.culture
|
||
|
|
scope:target.culture = {
|
||
|
|
has_cultural_parameter = peasant_and_populist_factions_less_common
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
# Defiant Ambushers
|
||
|
|
modifier = {
|
||
|
|
add = 25
|
||
|
|
county_opinion < 0
|
||
|
|
culture != scope:target.culture
|
||
|
|
culture = { has_cultural_parameter = county_peasant_and_populist_factions_more_common }
|
||
|
|
}
|
||
|
|
|
||
|
|
# Realm Stability Settings
|
||
|
|
modifier = {
|
||
|
|
add = 50
|
||
|
|
has_game_rule = lesser_realm_stability
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
add = -100
|
||
|
|
has_game_rule = higher_realm_stability
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
add = -200
|
||
|
|
has_game_rule = extreme_realm_stability
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
desc = "FACTION_REASON_GAME_RULE_REALM_STABILITY_LESSER"
|
||
|
|
add = 50
|
||
|
|
has_game_rule = lesser_realm_stability_ai_only
|
||
|
|
scope:target = {
|
||
|
|
is_ai = yes
|
||
|
|
}
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
desc = "FACTION_REASON_GAME_RULE_REALM_STABILITY_HIGHER"
|
||
|
|
add = -100
|
||
|
|
has_game_rule = higher_realm_stability_ai_only
|
||
|
|
scope:target = {
|
||
|
|
is_ai = yes
|
||
|
|
}
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
desc = "FACTION_REASON_GAME_RULE_REALM_STABILITY_EXTREME"
|
||
|
|
add = -200
|
||
|
|
has_game_rule = extreme_realm_stability_ai_only
|
||
|
|
scope:target = {
|
||
|
|
is_ai = yes
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
# Conquerors
|
||
|
|
modifier = {
|
||
|
|
add = -100
|
||
|
|
scope:target = { ai_should_get_conqueror_bonuses = yes }
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
add = -200
|
||
|
|
scope:target = { ai_should_get_extreme_conqueror_bonuses = yes }
|
||
|
|
}
|
||
|
|
# TGP Dynastic Cycle in Instability phase
|
||
|
|
modifier = {
|
||
|
|
desc = "FACTION_REASON_DYNASTIC_CYCLE_INSTABILITY"
|
||
|
|
add = 25
|
||
|
|
scope:target = {
|
||
|
|
top_participant_group:dynastic_cycle ?= {
|
||
|
|
has_participant_group_parameter = dynastic_cycle_more_peasant_factions
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
# 10-year 'grace period' from populist factions forming after game start
|
||
|
|
modifier = {
|
||
|
|
years_from_game_start <= 10
|
||
|
|
factor = {
|
||
|
|
value = 0
|
||
|
|
if = {
|
||
|
|
limit = { years_from_game_start >= 5 }
|
||
|
|
add = years_from_game_start
|
||
|
|
subtract = 5
|
||
|
|
divide = 5 # In year 6 factions can begin forming, but at 20% weighting. This increases to 40% in year 7, 60% in year 8, etc., up to 100% in year 10 where things are then normal.
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
county_join_score = {
|
||
|
|
base = -120 # Counties won't join unless opinion is less than -15 (see summary below).
|
||
|
|
|
||
|
|
modifier = {
|
||
|
|
add = -1000
|
||
|
|
# Do not join if we have nothing to gain (already share Liege faith and will not share new liege Culture (Group)).
|
||
|
|
AND = {
|
||
|
|
# We already share a Faith with the Top Liege.
|
||
|
|
title_province.faith = scope:faction.faction_target.faith
|
||
|
|
# And we do NOT share a Culture Group with the faction leader.
|
||
|
|
NOT = { this.title_province.culture = { has_same_culture_heritage = scope:faction.var:faction_culture } }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
# If a suitable Escalated Faction exists, prefer to join it instead.
|
||
|
|
modifier = {
|
||
|
|
desc = "FACTION_REASON_PREFER_ESCALATED_FACTION"
|
||
|
|
add = -100
|
||
|
|
scope:faction.faction_target = {
|
||
|
|
any_targeting_faction = {
|
||
|
|
faction_type = escalated_peasant_faction
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
# Summary of score weights (base + modifiers):
|
||
|
|
# Different Culture Group + Evil Faith: 100% chance at -28 opinion, 1% chance at -15 opinion
|
||
|
|
# Different Culture (Same Group) + Hostile Faith: 100% chance at -88 opinion, 1% chance at -34 opinion
|
||
|
|
# Different Culture (Same Group) AND Astray Faith: 80% chance at -100 opinion, 1% chance at -60 opinion
|
||
|
|
# Different Culture (Same Group) OR Astray Faith: Never Joins
|
||
|
|
compare_modifier = {
|
||
|
|
desc = "FACTION_REASON_CULTURAL_REASONS"
|
||
|
|
trigger = {
|
||
|
|
NOR = {
|
||
|
|
this.title_province.culture = scope:faction.faction_target.culture
|
||
|
|
AND = {
|
||
|
|
scope:faction.faction_target = { has_active_diarchy = yes }
|
||
|
|
this.title_province.culture = scope:faction.faction_target.diarch.culture
|
||
|
|
}
|
||
|
|
}
|
||
|
|
OR = {
|
||
|
|
this.title_province.culture = { has_same_culture_heritage = scope:faction.faction_target.culture }
|
||
|
|
AND = {
|
||
|
|
scope:faction.faction_target = { has_active_diarchy = yes }
|
||
|
|
this.title_province.culture = { has_same_culture_heritage = scope:faction.faction_target.diarch.culture }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
value = county_opinion
|
||
|
|
multiplier = -1.0
|
||
|
|
}
|
||
|
|
compare_modifier = {
|
||
|
|
desc = "FACTION_REASON_CULTURAL_REASONS"
|
||
|
|
trigger = {
|
||
|
|
NOR = {
|
||
|
|
this.title_province.culture = scope:faction.faction_target.culture
|
||
|
|
AND = {
|
||
|
|
scope:faction.faction_target = { has_active_diarchy = yes }
|
||
|
|
this.title_province.culture = scope:faction.faction_target.diarch.culture
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
value = county_opinion
|
||
|
|
multiplier = -3.0
|
||
|
|
}
|
||
|
|
pluralism_fundamentalism_dual_modifier = {
|
||
|
|
ASTRAY_BASE_VALUE = faction_county_opinion_astray
|
||
|
|
HOSTILE_BASE_VALUE = faction_county_opinion_hostile
|
||
|
|
EVIL_BASE_VALUE = faction_county_opinion_evil
|
||
|
|
BASE_FAITH = faith
|
||
|
|
TARGET = scope:faction.faction_target
|
||
|
|
}
|
||
|
|
pluralism_fundamentalism_modifier = {
|
||
|
|
ASTRAY_BASE_VALUE = faction_county_opinion_astray
|
||
|
|
HOSTILE_BASE_VALUE = faction_county_opinion_hostile
|
||
|
|
EVIL_BASE_VALUE = faction_county_opinion_evil
|
||
|
|
BASE_FAITH = faith
|
||
|
|
TARGET = scope:faction.faction_target
|
||
|
|
}
|
||
|
|
|
||
|
|
# Reduced chance for a character's capital county to join a faction against them (extra -10 opinion needed).
|
||
|
|
modifier = {
|
||
|
|
desc = "FACTION_REASON_CAPITAL_COUNTY"
|
||
|
|
add = -80
|
||
|
|
exists = scope:faction.faction_target.capital_province
|
||
|
|
this.title_province = scope:faction.faction_target.capital_province
|
||
|
|
}
|
||
|
|
|
||
|
|
legalism_virtue_and_sin_modifier = {
|
||
|
|
TARGET = scope:faction.faction_target
|
||
|
|
SCORE_PER_TRAIT = 50 # Worth ~12 opinion per virtue.
|
||
|
|
}
|
||
|
|
|
||
|
|
liege_debt_modifier = {
|
||
|
|
TARGET = scope:faction.faction_target
|
||
|
|
SCORE_PER_DEBT_LEVEL = 20 # Worth ~5 opinon per debt level, up to a max of 140 (-35 opinion)
|
||
|
|
}
|
||
|
|
|
||
|
|
# Ruling Caste
|
||
|
|
modifier = {
|
||
|
|
desc = "FACTION_REASON_RULING_CASTE"
|
||
|
|
add = -25
|
||
|
|
culture != scope:faction.faction_target.culture
|
||
|
|
scope:faction.faction_target.culture = {
|
||
|
|
has_cultural_parameter = peasant_and_populist_factions_less_common
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
# Defiant Ambushers
|
||
|
|
modifier = {
|
||
|
|
add = 25
|
||
|
|
county_opinion < 0
|
||
|
|
culture != scope:faction.faction_target.culture
|
||
|
|
culture = { has_cultural_parameter = county_peasant_and_populist_factions_more_common }
|
||
|
|
}
|
||
|
|
|
||
|
|
# Realm Stability Settings
|
||
|
|
modifier = {
|
||
|
|
desc = "FACTION_REASON_GAME_RULE_REALM_STABILITY_LESSER"
|
||
|
|
add = 50
|
||
|
|
has_game_rule = lesser_realm_stability
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
desc = "FACTION_REASON_GAME_RULE_REALM_STABILITY_HIGHER"
|
||
|
|
add = -100
|
||
|
|
has_game_rule = higher_realm_stability
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
desc = "FACTION_REASON_GAME_RULE_REALM_STABILITY_EXTREME"
|
||
|
|
add = -200
|
||
|
|
has_game_rule = extreme_realm_stability
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
desc = "FACTION_REASON_GAME_RULE_REALM_STABILITY_LESSER"
|
||
|
|
add = 50
|
||
|
|
has_game_rule = lesser_realm_stability_ai_only
|
||
|
|
scope:faction.faction_target = {
|
||
|
|
is_ai = yes
|
||
|
|
}
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
desc = "FACTION_REASON_GAME_RULE_REALM_STABILITY_HIGHER"
|
||
|
|
add = -100
|
||
|
|
has_game_rule = higher_realm_stability_ai_only
|
||
|
|
scope:faction.faction_target = {
|
||
|
|
is_ai = yes
|
||
|
|
}
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
desc = "FACTION_REASON_GAME_RULE_REALM_STABILITY_EXTREME"
|
||
|
|
add = -200
|
||
|
|
has_game_rule = extreme_realm_stability_ai_only
|
||
|
|
scope:faction.faction_target = {
|
||
|
|
is_ai = yes
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
# Conquerors
|
||
|
|
modifier = {
|
||
|
|
add = -100
|
||
|
|
scope:faction.faction_target = { ai_should_get_conqueror_bonuses = yes }
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
add = -200
|
||
|
|
scope:faction.faction_target = { ai_should_get_extreme_conqueror_bonuses = yes }
|
||
|
|
}
|
||
|
|
|
||
|
|
# Regent
|
||
|
|
modifier = {
|
||
|
|
desc = "FACTION_REASON_REGENT_CULTURAL_REASONS"
|
||
|
|
add = -100
|
||
|
|
scope:faction.faction_target.culture != culture
|
||
|
|
scope:faction.faction_target = { has_active_diarchy = yes }
|
||
|
|
scope:faction.faction_target.diarch.culture ?= culture
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
desc = "FACTION_REASON_REGENT_FAITH_REASONS"
|
||
|
|
add = -100
|
||
|
|
scope:faction.faction_target.faith != faith
|
||
|
|
scope:faction.faction_target = { has_active_diarchy = yes }
|
||
|
|
scope:faction.faction_target.diarch.faith ?= faith
|
||
|
|
}
|
||
|
|
# TGP Dynastic Cycle in Instability phase
|
||
|
|
modifier = {
|
||
|
|
desc = "FACTION_REASON_DYNASTIC_CYCLE_INSTABILITY"
|
||
|
|
add = 25
|
||
|
|
scope:faction.faction_target = {
|
||
|
|
top_participant_group:dynastic_cycle ?= {
|
||
|
|
has_participant_group_parameter = dynastic_cycle_more_peasant_factions
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
county_power = county_levies_to_raise
|
||
|
|
|
||
|
|
ai_join_score = {
|
||
|
|
base = -25
|
||
|
|
|
||
|
|
# Do not join a new faction if I am already at war.
|
||
|
|
modifier = {
|
||
|
|
add = -1000
|
||
|
|
AND = {
|
||
|
|
is_at_war = yes
|
||
|
|
trigger_if = {
|
||
|
|
limit = {
|
||
|
|
exists = joined_faction
|
||
|
|
}
|
||
|
|
joined_faction != scope:faction
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
modifier = {
|
||
|
|
add = -1000
|
||
|
|
# Do not join if we have nothing to gain (already share Liege faith and will not share new liege Culture (Group)).
|
||
|
|
AND = {
|
||
|
|
# We already share a Faith with the Top Liege.
|
||
|
|
faith = scope:faction.faction_target.faith
|
||
|
|
# And we do NOT share a Culture Group with the faction leader.
|
||
|
|
NOT = { culture = { has_same_culture_heritage = scope:faction.var:faction_culture } }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
# Block characters from joining if they have a high opinion of the target
|
||
|
|
modifier = {
|
||
|
|
add = -1000
|
||
|
|
save_temporary_opinion_value_as = { name = target_opinion target = scope:faction.faction_target }
|
||
|
|
scope:target_opinion >= 80
|
||
|
|
}
|
||
|
|
|
||
|
|
# Opinion of the Liege
|
||
|
|
opinion_modifier = {
|
||
|
|
who = root
|
||
|
|
opinion_target = scope:faction.faction_target
|
||
|
|
multiplier = -1
|
||
|
|
}
|
||
|
|
|
||
|
|
# Not a de jure vassal or consequent part of the realm is out of the De Jure
|
||
|
|
modifier = {
|
||
|
|
desc = "FACTION_REASON_RIGHTFUL"
|
||
|
|
add = {
|
||
|
|
value = 125
|
||
|
|
# Larger realms are inherently more rebellious.
|
||
|
|
add = {
|
||
|
|
value = sub_realm_size
|
||
|
|
multiply = 2
|
||
|
|
}
|
||
|
|
}
|
||
|
|
OR = {
|
||
|
|
NOT = {
|
||
|
|
scope:faction.faction_target = {
|
||
|
|
is_rightful_liege_of = root
|
||
|
|
}
|
||
|
|
}
|
||
|
|
any_sub_realm_county = {
|
||
|
|
percent <= 0.5
|
||
|
|
save_temporary_scope_as = current_county
|
||
|
|
scope:faction.faction_target.primary_title = {
|
||
|
|
any_in_de_jure_hierarchy = {
|
||
|
|
this = scope:current_county
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
# Cultural and religious differences with liege
|
||
|
|
modifier = { # Between +50 and +100 based on culture
|
||
|
|
desc = "FACTION_REASON_CULTURAL_REASONS"
|
||
|
|
NOT = { culture = { has_same_culture_heritage = scope:faction.faction_target.culture } }
|
||
|
|
NOT = { culture = { has_cultural_parameter = doesnt_care_about_culture_faith_in_factions } }
|
||
|
|
culture = { has_same_culture_heritage = scope:faction.var:faction_culture }
|
||
|
|
add = {
|
||
|
|
value = 50
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
culture != scope:faction.faction_target.culture
|
||
|
|
culture = scope:faction.var:faction_culture
|
||
|
|
}
|
||
|
|
add = 50
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
# Base values can range from +17.5 to +250 depending on hostility and pluralism/fundamentalism levels.
|
||
|
|
pluralism_fundamentalism_dual_modifier = {
|
||
|
|
ASTRAY_BASE_VALUE = 35
|
||
|
|
HOSTILE_BASE_VALUE = 75
|
||
|
|
EVIL_BASE_VALUE = 125
|
||
|
|
BASE_FAITH = faith
|
||
|
|
TARGET = scope:faction.faction_target
|
||
|
|
}
|
||
|
|
pluralism_fundamentalism_modifier = {
|
||
|
|
ASTRAY_BASE_VALUE = 35
|
||
|
|
HOSTILE_BASE_VALUE = 75
|
||
|
|
EVIL_BASE_VALUE = 125
|
||
|
|
BASE_FAITH = faith
|
||
|
|
TARGET = scope:faction.faction_target
|
||
|
|
}
|
||
|
|
|
||
|
|
legalism_virtue_and_sin_modifier = {
|
||
|
|
TARGET = scope:faction.faction_target
|
||
|
|
SCORE_PER_TRAIT = 25
|
||
|
|
}
|
||
|
|
|
||
|
|
liege_debt_modifier = {
|
||
|
|
TARGET = scope:faction.faction_target
|
||
|
|
SCORE_PER_DEBT_LEVEL = 10
|
||
|
|
}
|
||
|
|
|
||
|
|
# The AI is almost always unwilling to join a faction against their friends and lovers.
|
||
|
|
modifier = {
|
||
|
|
desc = "FACTION_REASON_TARGET_FRIEND_LOVER"
|
||
|
|
add = -250
|
||
|
|
OR = {
|
||
|
|
has_relation_lover = scope:faction.faction_target
|
||
|
|
has_relation_friend = scope:faction.faction_target
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
# Dread. Does not apply if the faction is above the power threshold
|
||
|
|
intimidated_from_faction_modifier = {
|
||
|
|
TARGET = scope:faction.faction_target
|
||
|
|
POWER = scope:faction.faction_power
|
||
|
|
THRESHOLD = scope:faction.faction_power_threshold
|
||
|
|
}
|
||
|
|
|
||
|
|
# Leader never leaves
|
||
|
|
modifier = {
|
||
|
|
desc = "FACTION_REASON_FACTION_LEADER"
|
||
|
|
has_variable = rebel_leader_peasants
|
||
|
|
add = 10000
|
||
|
|
}
|
||
|
|
|
||
|
|
# Ruling Caste
|
||
|
|
modifier = {
|
||
|
|
desc = "FACTION_REASON_RULING_CASTE"
|
||
|
|
add = -20
|
||
|
|
culture != scope:faction.faction_target.culture
|
||
|
|
scope:faction.faction_target.culture = {
|
||
|
|
has_cultural_parameter = peasant_and_populist_factions_less_common
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
# Realm Stability Settings
|
||
|
|
modifier = {
|
||
|
|
desc = "FACTION_REASON_GAME_RULE_REALM_STABILITY_LESSER"
|
||
|
|
add = 25
|
||
|
|
has_game_rule = lesser_realm_stability
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
desc = "FACTION_REASON_GAME_RULE_REALM_STABILITY_HIGHER"
|
||
|
|
add = -50
|
||
|
|
has_game_rule = higher_realm_stability
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
desc = "FACTION_REASON_GAME_RULE_REALM_STABILITY_EXTREME"
|
||
|
|
add = -100
|
||
|
|
has_game_rule = extreme_realm_stability
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
desc = "FACTION_REASON_GAME_RULE_REALM_STABILITY_LESSER"
|
||
|
|
add = 25
|
||
|
|
has_game_rule = lesser_realm_stability_ai_only
|
||
|
|
scope:faction.faction_target = {
|
||
|
|
is_ai = yes
|
||
|
|
}
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
desc = "FACTION_REASON_GAME_RULE_REALM_STABILITY_HIGHER"
|
||
|
|
add = -50
|
||
|
|
has_game_rule = higher_realm_stability_ai_only
|
||
|
|
scope:faction.faction_target = {
|
||
|
|
is_ai = yes
|
||
|
|
}
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
desc = "FACTION_REASON_GAME_RULE_REALM_STABILITY_EXTREME"
|
||
|
|
add = -100
|
||
|
|
has_game_rule = extreme_realm_stability_ai_only
|
||
|
|
scope:faction.faction_target = {
|
||
|
|
is_ai = yes
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
##########################
|
||
|
|
# Faction 'Stacking' Factors, attempts to cluster AI rulers into several powerful factions instead of many weak ones.
|
||
|
|
join_faction_stacking_modifiers = yes
|
||
|
|
|
||
|
|
# Small multiplier for my neighbors already in the Faction
|
||
|
|
modifier = {
|
||
|
|
desc = "FACTION_REASON_NEIGHBORS"
|
||
|
|
factor = {
|
||
|
|
value = 1
|
||
|
|
every_faction_member = {
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
any_neighboring_realm_same_rank_owner = {
|
||
|
|
this = root
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = 0.25
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
modifier = {
|
||
|
|
desc = "FACTION_REASON_POWERFUL_VASSAL"
|
||
|
|
factor = 2
|
||
|
|
is_powerful_vassal_of = scope:faction.faction_target
|
||
|
|
}
|
||
|
|
#EP3 admin legitimacy event
|
||
|
|
modifier = {
|
||
|
|
desc = "FACTION_REASON_LOW_LEGITIMACY_CHALLENGER"
|
||
|
|
add = 25
|
||
|
|
scope:faction = {
|
||
|
|
any_faction_member = {
|
||
|
|
has_character_flag = low_legitimacy_admin_factions_flag
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
# TGP Dynastic Cycle in Instability phase
|
||
|
|
modifier = {
|
||
|
|
desc = "FACTION_REASON_DYNASTIC_CYCLE_INSTABILITY"
|
||
|
|
add = 25
|
||
|
|
scope:faction.faction_target = {
|
||
|
|
top_participant_group:dynastic_cycle ?= {
|
||
|
|
has_participant_group_parameter = dynastic_cycle_more_peasant_factions
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
on_creation = {
|
||
|
|
random_faction_county_member = {
|
||
|
|
save_scope_as = founding_county
|
||
|
|
}
|
||
|
|
|
||
|
|
set_variable = {
|
||
|
|
name = faction_culture
|
||
|
|
value = scope:founding_county.culture
|
||
|
|
}
|
||
|
|
set_variable = {
|
||
|
|
name = faction_faith
|
||
|
|
value = scope:founding_county.faith
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
on_destroy = {
|
||
|
|
set_variable = {
|
||
|
|
name = peasant_destroying
|
||
|
|
value = yes
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = { exists = special_character }
|
||
|
|
special_character = {
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
OR = {
|
||
|
|
has_character_flag = peasant_faction_claimant_without_title
|
||
|
|
has_character_flag = peasant_faction_random_peasant
|
||
|
|
}
|
||
|
|
has_variable = peasant_title
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
has_variable = peasant_title
|
||
|
|
}
|
||
|
|
destroy_title = this.var:peasant_title
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = { # To make sure we aren't in debt
|
||
|
|
gold > 0
|
||
|
|
}
|
||
|
|
remove_long_term_gold = gold # Zero out our wallet since the revolt is over and we're going back to being unlanded.
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
is_alive = yes # To prevent dead people from being checked for variables
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
has_variable = rebel_leader_peasants
|
||
|
|
}
|
||
|
|
remove_variable = rebel_leader_peasants
|
||
|
|
}
|
||
|
|
remove_variable = peasant_title
|
||
|
|
remove_character_flag = peasant_faction_random_peasant
|
||
|
|
remove_character_flag = peasant_faction_claimant_without_title
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
has_character_flag = peasant_faction_random_peasant
|
||
|
|
NOT = { has_character_flag = peasant_revolt_do_not_kill }
|
||
|
|
}
|
||
|
|
death = {
|
||
|
|
death_reason = death_vanished
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
demand = {
|
||
|
|
setup_populist_leader_effect = yes
|
||
|
|
# Faction leader is unhappy if they reach the point of needing to issue an ultimatim.
|
||
|
|
faction_leader = {
|
||
|
|
add_opinion = {
|
||
|
|
modifier = angry_opinion
|
||
|
|
target = root.faction_target
|
||
|
|
opinion = -20
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
# Refresh the faction's target title (best target may have changed between creation and pressing demands).
|
||
|
|
get_popular_revolt_target_effect = { FACTION = this }
|
||
|
|
|
||
|
|
# Save scopes that will be used in the demand event.
|
||
|
|
save_scope_as = faction
|
||
|
|
special_character = {
|
||
|
|
save_scope_as = peasant_leader
|
||
|
|
}
|
||
|
|
special_title = {
|
||
|
|
save_scope_as = target_title
|
||
|
|
}
|
||
|
|
|
||
|
|
# Check for relevant vassals that owns any land targeted by the faction.
|
||
|
|
save_temporary_scope_as = county_faction
|
||
|
|
every_faction_county_member = {
|
||
|
|
limit = {
|
||
|
|
holder = {
|
||
|
|
this != scope:faction.faction_target
|
||
|
|
NOT = {
|
||
|
|
joined_faction ?= {
|
||
|
|
this = scope:county_faction
|
||
|
|
}
|
||
|
|
}
|
||
|
|
OR = {
|
||
|
|
is_vassal_of = scope:faction.faction_target
|
||
|
|
is_ai = no
|
||
|
|
}
|
||
|
|
NOT = { is_in_list = popular_faction_vassal_targets }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
holder = {
|
||
|
|
add_to_list = popular_faction_vassal_targets
|
||
|
|
}
|
||
|
|
}
|
||
|
|
every_faction_county_member = {
|
||
|
|
holder = {
|
||
|
|
every_liege_or_above = {
|
||
|
|
limit = {
|
||
|
|
this != scope:faction.faction_target
|
||
|
|
NOT = {
|
||
|
|
joined_faction ?= {
|
||
|
|
this = scope:county_faction
|
||
|
|
}
|
||
|
|
}
|
||
|
|
OR = {
|
||
|
|
is_vassal_of = scope:faction.faction_target
|
||
|
|
is_ai = no
|
||
|
|
}
|
||
|
|
NOT = { is_in_list = popular_faction_vassal_targets }
|
||
|
|
}
|
||
|
|
add_to_list = popular_faction_vassal_targets
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
# Check if there is a player affected by the faction. AI rulers are blocked from accepting the faction demand if so.
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
any_in_list = {
|
||
|
|
list = popular_faction_vassal_targets
|
||
|
|
is_ai = no
|
||
|
|
}
|
||
|
|
}
|
||
|
|
scope:faction = {
|
||
|
|
set_variable = {
|
||
|
|
name = faction_targets_player
|
||
|
|
value = yes
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
# Fire the demand event. A follow up event will be sent to affected vassals.
|
||
|
|
scope:faction.faction_target = {
|
||
|
|
trigger_event = faction_demand.1001
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
ai_demand_chance = {
|
||
|
|
base = 100
|
||
|
|
|
||
|
|
modifier = {
|
||
|
|
add = -1000
|
||
|
|
faction_target = {
|
||
|
|
involved_activity ?= {
|
||
|
|
has_activity_type = activity_coronation
|
||
|
|
activity_host = prev
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
on_war_start = {
|
||
|
|
# Duchy initialization so we can concentrate the rebels in just a few important counties instead of spreading them over the entire realm.
|
||
|
|
every_faction_county_member = {
|
||
|
|
duchy = {
|
||
|
|
add_to_list = areas_of_rebellion
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
# Check where in the duchy the rebellion troops should spawn, then spawn them.
|
||
|
|
every_in_list = {
|
||
|
|
list = areas_of_rebellion
|
||
|
|
save_temporary_scope_as = this_duchy
|
||
|
|
|
||
|
|
# Determine where in the duchy those troops should spawn.
|
||
|
|
ordered_in_de_jure_hierarchy = {
|
||
|
|
# Troops can only spawn in counties that belong to our faction!
|
||
|
|
limit = {
|
||
|
|
tier = tier_county
|
||
|
|
any_title_joined_faction = {
|
||
|
|
this = root
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
# Sort counties by how many levies they provide; rebels will spawn in the strongest county.
|
||
|
|
order_by = total_county_levies
|
||
|
|
|
||
|
|
title_province = {
|
||
|
|
save_temporary_scope_as = local_center_of_rebellion
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
# Spawn the faction troops in the designated location.
|
||
|
|
root.faction_leader = {
|
||
|
|
spawn_popular_revolt_troops = yes
|
||
|
|
}
|
||
|
|
|
||
|
|
# Give the populist leader a commander for each stack of troops.
|
||
|
|
create_character = {
|
||
|
|
template = new_commander_character
|
||
|
|
location = scope:local_center_of_rebellion
|
||
|
|
faith = root.faction_leader.faith
|
||
|
|
culture = root.faction_leader.culture
|
||
|
|
save_scope_as = new_populist_commander
|
||
|
|
gender_female_chance = {
|
||
|
|
if = {
|
||
|
|
limit = { root.faction_leader.culture = { has_cultural_parameter = martial_custom_male_only_combatant } }
|
||
|
|
add = 0
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = { root.faction_leader.culture = { has_cultural_parameter = martial_custom_female_only_combatant } }
|
||
|
|
add = 100
|
||
|
|
}
|
||
|
|
else = {
|
||
|
|
add = 50
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
scope:new_populist_commander = {
|
||
|
|
set_employer = root.faction_leader
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
# Give the populist leader a small purse so they don't immediately go bankrupt with army maintenance.
|
||
|
|
every_faction_county_member = {
|
||
|
|
root.faction_leader = {
|
||
|
|
add_gold = 25
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
leader_leaves = {
|
||
|
|
# Should only trigger when the leader is captured in battle.
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
special_character = {
|
||
|
|
is_alive = no
|
||
|
|
}
|
||
|
|
}
|
||
|
|
faction_war = {
|
||
|
|
end_war = defender
|
||
|
|
}
|
||
|
|
destroy_faction = yes
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
NOT = { has_variable = peasant_destroying }
|
||
|
|
exists = faction_war
|
||
|
|
}
|
||
|
|
faction_war = {
|
||
|
|
end_war = defender
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
character_allow_create = no
|
||
|
|
|
||
|
|
special_character_title = "FACTIONS_WINDOW_LEADER"
|
||
|
|
|
||
|
|
inherit_membership = yes
|
||
|
|
|
||
|
|
multiple_targeting = yes
|
||
|
|
}
|
||
|
|
|
||
|
|
escalated_peasant_faction = {
|
||
|
|
casus_belli = populist_war
|
||
|
|
|
||
|
|
leaders_allowed_to_leave = no
|
||
|
|
player_can_join = yes
|
||
|
|
|
||
|
|
sort_order = 3
|
||
|
|
|
||
|
|
name = FACTION_ESCALATED_PEASANT_DYNAMIC_NAME
|
||
|
|
|
||
|
|
short_effect_desc = escalated_peasant_faction_short_effect_desc
|
||
|
|
|
||
|
|
is_shown = {
|
||
|
|
always = no
|
||
|
|
}
|
||
|
|
|
||
|
|
discontent_progress = {
|
||
|
|
base = 2
|
||
|
|
modifier = {
|
||
|
|
faction_target = { ep3_restored_rome_hard_mode_trigger = yes }
|
||
|
|
add = 10
|
||
|
|
desc = ep3_story_cycle_restoring_rome_faction_discontent
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
faction_target = { can_vassals_be_attacked = yes }
|
||
|
|
add = 2
|
||
|
|
desc = border_war_increased_peasant_discontent
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
faction_target = {
|
||
|
|
top_participant_group:dynastic_cycle ?= {
|
||
|
|
has_participant_group_parameter = dynastic_cycle_more_peasant_factions
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = 2
|
||
|
|
desc = instability_increased_peasant_discontent
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
power_threshold = 0 # Peasant Factions place their demand regardless of their Power
|
||
|
|
|
||
|
|
requires_county = yes
|
||
|
|
requires_character = yes
|
||
|
|
|
||
|
|
# Faction existence is valid
|
||
|
|
is_valid = {
|
||
|
|
trigger_if = {
|
||
|
|
limit = {
|
||
|
|
exists = special_character
|
||
|
|
}
|
||
|
|
special_character = {
|
||
|
|
is_alive = yes
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
###########
|
||
|
|
# Counties/characters are allowed to exist in the faction at all (will be kicked out if they fail these checks while already in it).
|
||
|
|
is_character_valid = {
|
||
|
|
has_valid_faction_members_trigger = yes
|
||
|
|
is_imprisoned = no
|
||
|
|
|
||
|
|
# Not forbidden from being in factions.
|
||
|
|
NOT = {
|
||
|
|
has_character_flag = joining_faction_block
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
is_county_valid = {
|
||
|
|
# Only in Dynastic Cycle
|
||
|
|
any_county_situation = {
|
||
|
|
situation_type = dynastic_cycle
|
||
|
|
}
|
||
|
|
# Counties can only be in a faction against the top liege in their realm (who is inherently independent).
|
||
|
|
scope:faction.faction_target = holder.top_liege
|
||
|
|
|
||
|
|
# Player capitals are blocked from joining populist factions (to avoid Game Overing a player due to a populist uprising against their liege, which as a vassal they can't really prevent or fight)
|
||
|
|
trigger_if = {
|
||
|
|
limit = {
|
||
|
|
holder = {
|
||
|
|
is_ai = no
|
||
|
|
}
|
||
|
|
}
|
||
|
|
this != holder.capital_county
|
||
|
|
}
|
||
|
|
title_province = {
|
||
|
|
NOR = {
|
||
|
|
has_holding_type = nomad_holding
|
||
|
|
has_holding_type = herder_holding
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
###########
|
||
|
|
# Counties/characters are allowed to create/join the faction (but will remain in faction if they fail these after joining).
|
||
|
|
|
||
|
|
can_character_join = {
|
||
|
|
custom_tooltip = {
|
||
|
|
text = can_join_escalated_peasant_faction_tt
|
||
|
|
OR = {
|
||
|
|
domicile ?= {
|
||
|
|
has_domicile_parameter = can_join_peasant_factions
|
||
|
|
}
|
||
|
|
has_trait = peasant_leader
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
can_county_join = {
|
||
|
|
OR = {
|
||
|
|
has_county_modifier = peasant_war_lost_county_modifier
|
||
|
|
holder = scope:faction.faction_target
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
can_character_create = {
|
||
|
|
OR = {
|
||
|
|
domicile ?= {
|
||
|
|
has_domicile_parameter = can_join_peasant_factions
|
||
|
|
}
|
||
|
|
has_trait = peasant_leader
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
can_character_become_leader = {
|
||
|
|
OR = {
|
||
|
|
domicile ?= {
|
||
|
|
has_domicile_parameter = can_join_peasant_factions
|
||
|
|
}
|
||
|
|
has_trait = peasant_leader
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
county_join_score = {
|
||
|
|
base = 0
|
||
|
|
compare_modifier = {
|
||
|
|
desc = "FACTION_REASON_COUNTY_OPINION"
|
||
|
|
value = county_opinion
|
||
|
|
multiplier = -1.0
|
||
|
|
}
|
||
|
|
# If a suitable Popular Faction exists, perfer to join it instead.
|
||
|
|
modifier = {
|
||
|
|
desc = "FACTION_REASON_PREFER_POPULIST_FACTION"
|
||
|
|
add = -100
|
||
|
|
scope:faction.faction_target = {
|
||
|
|
top_liege = {
|
||
|
|
any_targeting_faction = {
|
||
|
|
faction_type = populist_faction
|
||
|
|
any_faction_county_member = {
|
||
|
|
this.title_province.faith = root.title_province.faith
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
# Reduced weight for a character's own capital to join a revolt against them.
|
||
|
|
modifier = {
|
||
|
|
desc = "FACTION_REASON_CAPITAL_COUNTY"
|
||
|
|
add = -10
|
||
|
|
this.title_province = scope:faction.faction_target.capital_province
|
||
|
|
}
|
||
|
|
|
||
|
|
legalism_virtue_and_sin_modifier = {
|
||
|
|
TARGET = scope:faction.faction_target
|
||
|
|
SCORE_PER_TRAIT = 10 # Worth 10 opinion per virtue.
|
||
|
|
}
|
||
|
|
|
||
|
|
# Ruling Caste
|
||
|
|
modifier = {
|
||
|
|
desc = "FACTION_REASON_RULING_CASTE"
|
||
|
|
add = -25
|
||
|
|
culture != scope:faction.faction_target.culture
|
||
|
|
scope:faction.faction_target.culture = { has_cultural_parameter = peasant_and_populist_factions_less_common }
|
||
|
|
}
|
||
|
|
|
||
|
|
# Defiant Ambushers
|
||
|
|
modifier = {
|
||
|
|
add = 25
|
||
|
|
county_opinion < 0
|
||
|
|
culture != scope:faction.faction_target.culture
|
||
|
|
culture = { has_cultural_parameter = county_peasant_and_populist_factions_more_common }
|
||
|
|
}
|
||
|
|
|
||
|
|
# Difficulty Settings
|
||
|
|
modifier = { # Easy
|
||
|
|
desc = "FACTION_REASON_DIFFICULTY_EASY"
|
||
|
|
add = -50
|
||
|
|
has_game_rule = easy_difficulty
|
||
|
|
scope:faction.faction_target = {
|
||
|
|
is_ai = no
|
||
|
|
}
|
||
|
|
}
|
||
|
|
modifier = { # Very Easy
|
||
|
|
desc = "FACTION_REASON_DIFFICULTY_VERY_EASY"
|
||
|
|
add = -150
|
||
|
|
has_game_rule = very_easy_difficulty
|
||
|
|
scope:faction.faction_target = {
|
||
|
|
is_ai = no
|
||
|
|
}
|
||
|
|
}
|
||
|
|
modifier = { # Hard
|
||
|
|
desc = "FACTION_REASON_DIFFICULTY_HARD"
|
||
|
|
add = -50
|
||
|
|
has_game_rule = hard_difficulty
|
||
|
|
scope:faction.faction_target = {
|
||
|
|
is_ai = yes
|
||
|
|
}
|
||
|
|
}
|
||
|
|
modifier = { # Very Hard
|
||
|
|
desc = "FACTION_REASON_DIFFICULTY_VERY_HARD"
|
||
|
|
add = -150
|
||
|
|
has_game_rule = very_hard_difficulty
|
||
|
|
scope:faction.faction_target = {
|
||
|
|
is_ai = yes
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
modifier = { # Conquerors
|
||
|
|
desc = "NO_FRIVOLOUS_ACTIVITIES_REASON"
|
||
|
|
add = -85
|
||
|
|
scope:faction.faction_target = {
|
||
|
|
ai_should_get_conqueror_bonuses = yes
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
modifier = { # Conquerors
|
||
|
|
desc = "NO_FRIVOLOUS_ACTIVITIES_REASON"
|
||
|
|
add = -150
|
||
|
|
scope:faction.faction_target = {
|
||
|
|
ai_should_get_extreme_conqueror_bonuses = yes
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
# Realm Stability Settings
|
||
|
|
modifier = {
|
||
|
|
desc = "FACTION_REASON_GAME_RULE_REALM_STABILITY_LESSER"
|
||
|
|
add = 25
|
||
|
|
has_game_rule = lesser_realm_stability
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
desc = "FACTION_REASON_GAME_RULE_REALM_STABILITY_HIGHER"
|
||
|
|
add = -50
|
||
|
|
has_game_rule = higher_realm_stability
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
desc = "FACTION_REASON_GAME_RULE_REALM_STABILITY_EXTREME"
|
||
|
|
add = -100
|
||
|
|
has_game_rule = extreme_realm_stability
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
desc = "FACTION_REASON_GAME_RULE_REALM_STABILITY_LESSER"
|
||
|
|
add = 25
|
||
|
|
has_game_rule = lesser_realm_stability_ai_only
|
||
|
|
scope:faction.faction_target = {
|
||
|
|
is_ai = yes
|
||
|
|
}
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
desc = "FACTION_REASON_GAME_RULE_REALM_STABILITY_HIGHER"
|
||
|
|
add = -50
|
||
|
|
has_game_rule = higher_realm_stability_ai_only
|
||
|
|
scope:faction.faction_target = {
|
||
|
|
is_ai = yes
|
||
|
|
}
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
desc = "FACTION_REASON_GAME_RULE_REALM_STABILITY_EXTREME"
|
||
|
|
add = -100
|
||
|
|
has_game_rule = extreme_realm_stability_ai_only
|
||
|
|
scope:faction.faction_target = {
|
||
|
|
is_ai = yes
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
# Conquerors
|
||
|
|
modifier = {
|
||
|
|
add = -100
|
||
|
|
scope:faction.faction_target = { ai_should_get_conqueror_bonuses = yes }
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
add = -200
|
||
|
|
scope:faction.faction_target = { ai_should_get_extreme_conqueror_bonuses = yes }
|
||
|
|
}
|
||
|
|
|
||
|
|
# stay if at war with the target
|
||
|
|
modifier = {
|
||
|
|
desc = "FACTION_REASON_AT_WAR_WITH_TARGET"
|
||
|
|
add = 1000
|
||
|
|
exists = joined_faction
|
||
|
|
joined_faction = {
|
||
|
|
faction_is_at_war = yes
|
||
|
|
}
|
||
|
|
}
|
||
|
|
# TGP Dynastic Cycle in Instability phase
|
||
|
|
modifier = {
|
||
|
|
desc = "FACTION_REASON_DYNASTIC_CYCLE_INSTABILITY"
|
||
|
|
add = 25
|
||
|
|
county_opinion < 0
|
||
|
|
scope:faction.faction_target = {
|
||
|
|
top_participant_group:dynastic_cycle ?= {
|
||
|
|
has_participant_group_parameter = dynastic_cycle_more_peasant_factions
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
# Pure Land
|
||
|
|
modifier = {
|
||
|
|
desc = "FACTION_REASON_POPULIST_PEASANT_MORE_LIKELY"
|
||
|
|
add = 25
|
||
|
|
county_opinion < 0
|
||
|
|
faith != scope:faction.faction_target.faith
|
||
|
|
faith = {
|
||
|
|
has_doctrine_parameter = peasant_and_populist_factions_more_common
|
||
|
|
}
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
desc = "FACTION_REASON_ESCALATED_TO_LIEGE"
|
||
|
|
add = 100
|
||
|
|
has_county_modifier = peasant_war_lost_county_modifier
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
county_power = county_levies_to_raise
|
||
|
|
|
||
|
|
ai_create_score = {
|
||
|
|
base = -10000 #handled by scripted effect peasant_faction_demands_enforced in 00_faction_effects.txt
|
||
|
|
}
|
||
|
|
|
||
|
|
ai_join_score = {
|
||
|
|
base = 0
|
||
|
|
modifier = {
|
||
|
|
desc = "FACTION_REASON_ESCALATED_TO_LIEGE"
|
||
|
|
add = 100
|
||
|
|
has_variable = peasant_war_escalates
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
can_county_create = {
|
||
|
|
holder.top_liege = scope:target
|
||
|
|
scope:target = {
|
||
|
|
NAND = {
|
||
|
|
is_ai = yes
|
||
|
|
OR = {
|
||
|
|
has_trait = greatest_of_khans
|
||
|
|
has_character_modifier = the_great_khan_modifier
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
####
|
||
|
|
# BLOCKERS
|
||
|
|
####
|
||
|
|
# General Faction immunity
|
||
|
|
custom_description = {
|
||
|
|
text = character_is_immune_to_factions
|
||
|
|
subject = scope:target
|
||
|
|
NOT = { scope:target = { immune_to_factions_trigger = yes } }
|
||
|
|
}
|
||
|
|
|
||
|
|
title_province = {
|
||
|
|
NOR = {
|
||
|
|
has_holding_type = nomad_holding
|
||
|
|
has_holding_type = herder_holding
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
on_creation = {
|
||
|
|
}
|
||
|
|
|
||
|
|
on_destroy = {
|
||
|
|
set_variable = {
|
||
|
|
name = peasant_destroying
|
||
|
|
value = yes
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = { exists = special_character }
|
||
|
|
special_character = {
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
OR = {
|
||
|
|
has_character_flag = peasant_faction_claimant_without_title
|
||
|
|
has_character_flag = peasant_faction_random_peasant
|
||
|
|
}
|
||
|
|
has_variable = peasant_title
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
has_variable = peasant_title
|
||
|
|
}
|
||
|
|
destroy_title = this.var:peasant_title
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = { # To make sure we aren't in debt
|
||
|
|
gold > 0
|
||
|
|
}
|
||
|
|
remove_long_term_gold = gold # Zero out our wallet since the revolt is over and we're going back to being unlanded.
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
is_alive = yes # To prevent dead people from being checked for variables
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
has_variable = rebel_leader_peasants
|
||
|
|
}
|
||
|
|
remove_variable = rebel_leader_peasants
|
||
|
|
}
|
||
|
|
remove_variable = peasant_title
|
||
|
|
remove_character_flag = peasant_faction_random_peasant
|
||
|
|
remove_character_flag = peasant_faction_claimant_without_title
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
has_character_flag = peasant_faction_random_peasant
|
||
|
|
NOT = { has_character_flag = peasant_revolt_do_not_kill }
|
||
|
|
}
|
||
|
|
death = {
|
||
|
|
death_reason = death_vanished
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
demand = {
|
||
|
|
setup_populist_leader_effect = yes
|
||
|
|
# Faction leader is unhappy if they reach the point of needing to issue an ultimatim.
|
||
|
|
faction_leader = {
|
||
|
|
add_opinion = {
|
||
|
|
modifier = angry_opinion
|
||
|
|
target = root.faction_target
|
||
|
|
opinion = -20
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
# Refresh the faction's target title (best target may have changed between creation and pressing demands).
|
||
|
|
get_popular_revolt_target_effect = { FACTION = this }
|
||
|
|
|
||
|
|
# Save scopes that will be used in the demand event.
|
||
|
|
save_scope_as = faction
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
special_character.joined_faction ?= root
|
||
|
|
}
|
||
|
|
special_character = {
|
||
|
|
save_scope_as = peasant_leader
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else = {
|
||
|
|
faction_leader = {
|
||
|
|
save_scope_as = peasant_leader
|
||
|
|
}
|
||
|
|
}
|
||
|
|
special_title = {
|
||
|
|
save_scope_as = target_title
|
||
|
|
}
|
||
|
|
|
||
|
|
# Check for relevant vassals that owns any land targeted by the faction.
|
||
|
|
save_temporary_scope_as = county_faction
|
||
|
|
every_faction_county_member = {
|
||
|
|
limit = {
|
||
|
|
holder = {
|
||
|
|
this != scope:faction.faction_target
|
||
|
|
NOT = {
|
||
|
|
joined_faction ?= {
|
||
|
|
this = scope:county_faction
|
||
|
|
}
|
||
|
|
}
|
||
|
|
OR = {
|
||
|
|
is_vassal_of = scope:faction.faction_target
|
||
|
|
is_ai = no
|
||
|
|
}
|
||
|
|
NOT = { is_in_list = popular_faction_vassal_targets }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
holder = {
|
||
|
|
add_to_list = popular_faction_vassal_targets
|
||
|
|
}
|
||
|
|
}
|
||
|
|
every_faction_county_member = {
|
||
|
|
holder = {
|
||
|
|
every_liege_or_above = {
|
||
|
|
limit = {
|
||
|
|
this != scope:faction.faction_target
|
||
|
|
NOT = {
|
||
|
|
joined_faction ?= {
|
||
|
|
this = scope:county_faction
|
||
|
|
}
|
||
|
|
}
|
||
|
|
OR = {
|
||
|
|
is_vassal_of = scope:faction.faction_target
|
||
|
|
is_ai = no
|
||
|
|
}
|
||
|
|
NOT = { is_in_list = popular_faction_vassal_targets }
|
||
|
|
}
|
||
|
|
add_to_list = popular_faction_vassal_targets
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
# Check if there is a player affected by the faction. AI rulers are blocked from accepting the faction demand if so.
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
any_in_list = {
|
||
|
|
list = popular_faction_vassal_targets
|
||
|
|
is_ai = no
|
||
|
|
}
|
||
|
|
}
|
||
|
|
scope:faction = {
|
||
|
|
set_variable = {
|
||
|
|
name = faction_targets_player
|
||
|
|
value = yes
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
# Fire the demand event. A follow up event will be sent to affected vassals.
|
||
|
|
scope:faction.faction_target = {
|
||
|
|
trigger_event = faction_demand.1001
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
ai_demand_chance = {
|
||
|
|
base = 100
|
||
|
|
|
||
|
|
modifier = {
|
||
|
|
add = -1000
|
||
|
|
faction_target = {
|
||
|
|
involved_activity ?= {
|
||
|
|
has_activity_type = activity_coronation
|
||
|
|
activity_host = prev
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
on_war_start = {
|
||
|
|
# Duchy initialization so we can concentrate the rebels in just a few important counties instead of spreading them over the entire realm.
|
||
|
|
every_faction_county_member = {
|
||
|
|
duchy = {
|
||
|
|
add_to_list = areas_of_rebellion
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
# Check where in the duchy the rebellion troops should spawn, then spawn them.
|
||
|
|
every_in_list = {
|
||
|
|
list = areas_of_rebellion
|
||
|
|
save_temporary_scope_as = this_duchy
|
||
|
|
|
||
|
|
# Determine where in the duchy those troops should spawn.
|
||
|
|
ordered_in_de_jure_hierarchy = {
|
||
|
|
# Troops can only spawn in counties that belong to our faction!
|
||
|
|
limit = {
|
||
|
|
tier = tier_county
|
||
|
|
any_title_joined_faction = {
|
||
|
|
this = root
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
# Sort counties by how many levies they provide; rebels will spawn in the strongest county.
|
||
|
|
order_by = total_county_levies
|
||
|
|
|
||
|
|
title_province = {
|
||
|
|
save_temporary_scope_as = local_center_of_rebellion
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
# Spawn the faction troops in the designated location.
|
||
|
|
root.faction_leader = {
|
||
|
|
spawn_popular_revolt_troops = yes
|
||
|
|
}
|
||
|
|
|
||
|
|
# Give the populist leader a commander for each stack of troops.
|
||
|
|
create_character = {
|
||
|
|
template = new_commander_character
|
||
|
|
location = scope:local_center_of_rebellion
|
||
|
|
faith = root.faction_leader.faith
|
||
|
|
culture = root.faction_leader.culture
|
||
|
|
save_scope_as = new_populist_commander
|
||
|
|
gender_female_chance = {
|
||
|
|
if = {
|
||
|
|
limit = { root.faction_leader.culture = { has_cultural_parameter = martial_custom_male_only_combatant } }
|
||
|
|
add = 0
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = { root.faction_leader.culture = { has_cultural_parameter = martial_custom_female_only_combatant } }
|
||
|
|
add = 100
|
||
|
|
}
|
||
|
|
else = {
|
||
|
|
add = 50
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
scope:new_populist_commander = {
|
||
|
|
set_employer = root.faction_leader
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
# Give the populist leader a small purse so they don't immediately go bankrupt with army maintenance.
|
||
|
|
every_faction_county_member = {
|
||
|
|
root.faction_leader = {
|
||
|
|
add_gold = 25
|
||
|
|
}
|
||
|
|
}
|
||
|
|
faction_leader = {
|
||
|
|
spawn_army = {
|
||
|
|
name = peasant_leader_army_name
|
||
|
|
men_at_arms = {
|
||
|
|
type = pikemen_militia
|
||
|
|
stacks = {
|
||
|
|
value = root.faction_leader.location.county.county_levies_to_raise
|
||
|
|
divide = 100
|
||
|
|
multiply = {
|
||
|
|
value = "root.faction_leader.has_trait_xp(peasant_leader)"
|
||
|
|
multiply = 0.05
|
||
|
|
}
|
||
|
|
round = yes
|
||
|
|
min = 1
|
||
|
|
}
|
||
|
|
}
|
||
|
|
men_at_arms = {
|
||
|
|
type = torch_bearers
|
||
|
|
stacks = {
|
||
|
|
value = "root.faction_leader.has_trait_xp(peasant_leader)"
|
||
|
|
multiply = 0.1
|
||
|
|
round = yes
|
||
|
|
min = 1
|
||
|
|
}
|
||
|
|
}
|
||
|
|
war = root.faction_war
|
||
|
|
location = root.faction_leader.location
|
||
|
|
origin = root.faction_leader.location
|
||
|
|
inheritable = no
|
||
|
|
war_keep_on_attacker_victory = yes
|
||
|
|
}
|
||
|
|
}
|
||
|
|
every_faction_member = {
|
||
|
|
limit = {
|
||
|
|
NOT = { has_trait = peasant_leader }
|
||
|
|
}
|
||
|
|
add_trait = peasant_leader
|
||
|
|
add_trait_xp = {
|
||
|
|
trait = peasant_leader
|
||
|
|
value = peasant_leader_xp_value
|
||
|
|
}
|
||
|
|
set_variable = {
|
||
|
|
name = rebel_leader_peasants
|
||
|
|
value = root
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
leader_leaves = {
|
||
|
|
# Should only trigger when the leader is captured in battle.
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
special_character = {
|
||
|
|
is_alive = no
|
||
|
|
}
|
||
|
|
}
|
||
|
|
faction_war = {
|
||
|
|
end_war = defender
|
||
|
|
}
|
||
|
|
destroy_faction = yes
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
NOT = { has_variable = peasant_destroying }
|
||
|
|
exists = faction_war
|
||
|
|
}
|
||
|
|
faction_war = {
|
||
|
|
end_war = defender
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
character_allow_create = yes
|
||
|
|
|
||
|
|
special_character_title = "FACTIONS_WINDOW_LEADER"
|
||
|
|
|
||
|
|
inherit_membership = no
|
||
|
|
|
||
|
|
multiple_targeting = no
|
||
|
|
|
||
|
|
county_can_switch_to_other_faction = no
|
||
|
|
}
|