740 lines
16 KiB
Text
740 lines
16 KiB
Text
@base_peasant_discontent_progress = 2
|
|
|
|
peasant_faction = {
|
|
casus_belli = peasant_war
|
|
|
|
short_effect_desc = peasant_faction_short_effect_desc
|
|
|
|
sort_order = 5
|
|
|
|
leaders_allowed_to_leave = no
|
|
player_can_join = no
|
|
power_threshold = 0 # Peasant Factions place their demand regardless of their Power
|
|
|
|
discontent_progress = {
|
|
base = @base_peasant_discontent_progress
|
|
# 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
|
|
}
|
|
}
|
|
|
|
name = FACTION_PEASANT_NAME
|
|
|
|
requires_county = yes
|
|
requires_character = no
|
|
|
|
is_valid = {
|
|
always = yes
|
|
}
|
|
|
|
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
|
|
title_province = {
|
|
NOR = {
|
|
has_holding_type = nomad_holding
|
|
has_holding_type = herder_holding
|
|
}
|
|
}
|
|
}
|
|
|
|
is_character_valid = {
|
|
has_valid_faction_members_trigger = yes
|
|
}
|
|
|
|
demand = {
|
|
save_scope_as = faction
|
|
setup_peasant_leader_effect = yes
|
|
special_character = {
|
|
save_scope_as = peasant_leader
|
|
}
|
|
|
|
faction_leader = {
|
|
add_opinion = {
|
|
modifier = angry_opinion
|
|
target = root.faction_target
|
|
opinion = -50
|
|
}
|
|
}
|
|
scope:faction.faction_target = {
|
|
trigger_event = faction_demand.1101
|
|
}
|
|
}
|
|
|
|
ai_demand_chance = {
|
|
base = 0
|
|
|
|
modifier = {
|
|
add = 100
|
|
any_faction_county_member = {}
|
|
}
|
|
|
|
modifier = {
|
|
add = -1000
|
|
faction_target = {
|
|
involved_activity ?= {
|
|
has_activity_type = activity_coronation
|
|
activity_host = prev
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
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 = {
|
|
#Verify that the title exists before trying to destroy it
|
|
limit = {
|
|
has_variable = peasant_title
|
|
exists = this.var:peasant_title
|
|
NOT = { has_variable = peasant_war_escalates }
|
|
}
|
|
destroy_title = this.var:peasant_title
|
|
}
|
|
|
|
if = {
|
|
limit = { is_alive = yes }
|
|
# Zero out our wallet since the revolt is over.
|
|
if = {
|
|
limit = { # To make sure we're not in debt
|
|
gold > 0
|
|
}
|
|
remove_long_term_gold = gold
|
|
}
|
|
|
|
# The peasant leader mysteriously vanishes on the next game tick.
|
|
if = {
|
|
limit = { NOT = { has_character_flag = peasant_revolt_do_not_kill } }
|
|
trigger_event = {
|
|
id = faction_demand.1102
|
|
days = 1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
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 = -10
|
|
AND = {
|
|
county_opinion <= -15
|
|
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
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
# If a suitable Escalated Faction exists, prefer to join it instead.
|
|
modifier = {
|
|
desc = "FACTION_REASON_PREFER_ESCALATED_FACTION"
|
|
add = -10
|
|
scope:faction.faction_target = {
|
|
any_targeting_faction = {
|
|
faction_type = escalated_peasant_faction
|
|
}
|
|
}
|
|
}
|
|
|
|
# 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
|
|
}
|
|
}
|
|
}
|
|
|
|
county_create_score = {
|
|
base = 0
|
|
|
|
####
|
|
# AI Modifiers
|
|
####
|
|
|
|
compare_modifier = {
|
|
value = county_opinion
|
|
multiplier = -1.0
|
|
}
|
|
|
|
# If a suitable Popular Faction exists, perfer to join it instead.
|
|
modifier = {
|
|
add = -10
|
|
AND = {
|
|
county_opinion <= -15
|
|
scope:target = {
|
|
top_liege = {
|
|
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
|
|
}
|
|
}
|
|
}
|
|
|
|
# Reduced weight for a character's own capital to join a revolt against them.
|
|
modifier = {
|
|
add = -20
|
|
exists = scope:target.capital_province
|
|
this.title_province = scope:target.capital_province
|
|
}
|
|
|
|
legalism_virtue_and_sin_modifier = {
|
|
TARGET = scope:target
|
|
SCORE_PER_TRAIT = 10 # Worth 10 opinion per virtue.
|
|
}
|
|
|
|
# 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 }
|
|
}
|
|
|
|
# Difficulty Settings
|
|
modifier = { # Easy
|
|
add = -50
|
|
has_game_rule = easy_difficulty
|
|
scope:target = {
|
|
is_ai = no
|
|
}
|
|
}
|
|
modifier = { # Very Easy
|
|
add = -150
|
|
has_game_rule = very_easy_difficulty
|
|
scope:target = {
|
|
is_ai = no
|
|
}
|
|
}
|
|
modifier = { # Hard
|
|
desc = "FACTION_REASON_DIFFICULTY_HARD"
|
|
add = -50
|
|
has_game_rule = hard_difficulty
|
|
scope:target = {
|
|
is_ai = yes
|
|
}
|
|
}
|
|
modifier = { # Very Hard
|
|
desc = "FACTION_REASON_DIFFICULTY_VERY_HARD"
|
|
add = -150
|
|
has_game_rule = very_hard_difficulty
|
|
scope:target = {
|
|
is_ai = yes
|
|
}
|
|
}
|
|
modifier = { # Conquerors
|
|
add = -150
|
|
scope:target = {
|
|
ai_should_get_extreme_conqueror_bonuses = yes
|
|
}
|
|
}
|
|
|
|
|
|
# Realm Stability Settings
|
|
modifier = {
|
|
add = 25
|
|
has_game_rule = lesser_realm_stability
|
|
}
|
|
modifier = {
|
|
add = -50
|
|
has_game_rule = higher_realm_stability
|
|
}
|
|
modifier = {
|
|
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:target = {
|
|
is_ai = yes
|
|
}
|
|
}
|
|
modifier = {
|
|
desc = "FACTION_REASON_GAME_RULE_REALM_STABILITY_HIGHER"
|
|
add = -50
|
|
has_game_rule = higher_realm_stability_ai_only
|
|
scope:target = {
|
|
is_ai = yes
|
|
}
|
|
}
|
|
modifier = {
|
|
desc = "FACTION_REASON_GAME_RULE_REALM_STABILITY_EXTREME"
|
|
add = -100
|
|
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
|
|
county_opinion < 0
|
|
scope:target = {
|
|
top_participant_group:dynastic_cycle ?= {
|
|
has_participant_group_parameter = dynastic_cycle_more_peasant_factions
|
|
}
|
|
}
|
|
}
|
|
# Pure Land
|
|
modifier = {
|
|
add = 25
|
|
county_opinion < 0
|
|
faith != scope:target.faith
|
|
faith = {
|
|
has_doctrine_parameter = peasant_and_populist_factions_more_common
|
|
}
|
|
}
|
|
}
|
|
|
|
ai_join_score = {
|
|
}
|
|
|
|
can_character_join = {
|
|
custom_tooltip = {
|
|
text = can_join_escalated_peasant_faction_tt
|
|
OR = {
|
|
joined_faction = scope:faction
|
|
domicile ?= {
|
|
has_domicile_parameter = can_join_peasant_factions
|
|
}
|
|
has_trait = peasant_leader
|
|
}
|
|
}
|
|
}
|
|
|
|
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
|
|
|
|
title_province = {
|
|
NOR = {
|
|
has_holding_type = nomad_holding
|
|
has_holding_type = herder_holding
|
|
}
|
|
}
|
|
}
|
|
|
|
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
|
|
|
|
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
|
|
}
|
|
}
|
|
}
|
|
|
|
can_character_become_leader = {
|
|
always = yes
|
|
}
|
|
|
|
on_war_start = {
|
|
# Give the peasant leader a small purse so they don't immediately go bankrupt with army maintenance.
|
|
every_faction_county_member = {
|
|
root.faction_leader = {
|
|
add_gold = 10
|
|
}
|
|
}
|
|
if = {
|
|
limit = { has_variable = ep3_governor_yearly_8150_ignored }
|
|
root.faction_leader = {
|
|
spawn_army = {
|
|
name = ep3_governor_yearly_8150_troop_name
|
|
men_at_arms = {
|
|
type = light_footmen
|
|
stacks = 2
|
|
}
|
|
war = root.faction_war
|
|
location = root.faction_leader.location
|
|
origin = root.faction_leader.location
|
|
inheritable = no
|
|
}
|
|
}
|
|
remove_variable = ep3_governor_yearly_8150_ignored
|
|
}
|
|
|
|
# If the target is Restoring Rome, the faction gets a military boon
|
|
# if = {
|
|
# limit = {
|
|
# root.faction_target = { ep3_restored_rome_hard_mode_trigger = yes }
|
|
# }
|
|
# save_scope_value_as = {
|
|
# name = spawn_army_size_levies
|
|
# value = {
|
|
# value = 1
|
|
# root = {
|
|
# every_faction_county_member = {
|
|
# add = building_levies
|
|
# }
|
|
# }
|
|
# }
|
|
# }
|
|
# root.faction_leader = {
|
|
# spawn_army = {
|
|
# name = ep3_restoring_rome_citizen_army_name
|
|
# levies = scope:spawn_army_size_levies
|
|
# men_at_arms = {
|
|
# type = pikemen_unit
|
|
# stacks = 16
|
|
# }
|
|
# men_at_arms = {
|
|
# type = mangonel
|
|
# stacks = 6
|
|
# }
|
|
# men_at_arms = {
|
|
# type = armored_footmen
|
|
# stacks = 10
|
|
# }
|
|
# men_at_arms = {
|
|
# type = light_footmen
|
|
# stacks = 10
|
|
# }
|
|
# men_at_arms = {
|
|
# type = bowmen
|
|
# stacks = 10
|
|
# }
|
|
# war = root.faction_war
|
|
# location = root.faction_leader.location
|
|
# origin = root.faction_leader.location
|
|
# inheritable = no
|
|
# }
|
|
# }
|
|
# }
|
|
root.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
|
|
}
|
|
}
|
|
}
|
|
|
|
leader_leaves = {
|
|
# Should only trigger when the leader is captured in battle.
|
|
if = {
|
|
limit = {
|
|
NOT = { has_variable = peasant_destroying }
|
|
exists = faction_war
|
|
}
|
|
faction_war = {
|
|
end_war = defender
|
|
}
|
|
}
|
|
}
|
|
|
|
county_power = {
|
|
value = county_levies_to_raise
|
|
# if = {
|
|
# limit = {
|
|
# scope:faction.faction_target = { ep3_restored_rome_hard_mode_trigger = yes }
|
|
# }
|
|
# multiply = 2
|
|
# }
|
|
if = {
|
|
limit = {
|
|
faith = { has_doctrine_parameter = peasant_and_populist_factions_more_common }
|
|
}
|
|
multiply = 1.5
|
|
}
|
|
}
|
|
|
|
character_allow_create = no
|
|
|
|
special_character_title = "FACTIONS_WINDOW_LEADER"
|
|
|
|
inherit_membership = no
|
|
|
|
county_can_switch_to_other_faction = yes
|
|
}
|