2145 lines
50 KiB
Text
2145 lines
50 KiB
Text
|
|
|
|
#####################################################################
|
|
# EFFECT LIST
|
|
#####################################################################
|
|
|
|
# join_faction_with_leave_blocker_effect - make a character join a faction, and prevent them from leaving
|
|
# leave_faction_with_cooldown_effect - makes a character leave a FACTION and not rejoin another faction for YEARS years
|
|
# get_popular_revolt_target_effect - looks for a valid title for a popular revolt to target (may not be the title the revolt gets if successful, just determines the 'region' the revolt is supposed to occur within),
|
|
# successful_popular_revolt_outcome_effect - handles all of the title changes necessary for a successful popular revolt to break away as an independent realm.
|
|
# get_popular_revolt_title_name - Script logic to check what the new name of dynamically-created peasant titles should be (e.g., Kingdom of Isma'ili Arabia).
|
|
|
|
join_faction_with_leave_blocker_effect = {
|
|
join_faction = $FACTION$
|
|
hidden_effect = {
|
|
save_temporary_scope_value_as = {
|
|
name = join_faction_with_leave_blocker_effect_number
|
|
value = flag:$YEARS$
|
|
}
|
|
add_character_flag = {
|
|
flag = leaving_faction_block
|
|
years = $YEARS$
|
|
}
|
|
}
|
|
if = {
|
|
limit = { this = root }
|
|
custom_tooltip = join_faction_with_leave_blocker_effect_first.tt
|
|
}
|
|
else = {
|
|
custom_tooltip = join_faction_with_leave_blocker_effect_third.tt
|
|
}
|
|
|
|
#and to prevent angry error messages :D:D:D:D
|
|
if = {
|
|
limit = {
|
|
scope:join_faction_with_leave_blocker_effect_number = flag:1
|
|
}
|
|
}
|
|
}
|
|
|
|
add_faction_cooldown_effect = {
|
|
if = {
|
|
limit = { is_landless_adventurer = no }
|
|
custom_description = {
|
|
text = faction_cooldown_effect
|
|
value = $YEARS$
|
|
add_character_flag = {
|
|
flag = joining_faction_block
|
|
years = $YEARS$
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
leave_faction_with_cooldown_effect = {
|
|
leave_faction = $FACTION$
|
|
add_faction_cooldown_effect = { YEARS = $YEARS$ }
|
|
}
|
|
|
|
imprisonment_retribution_start_faction_war_if_valid = {
|
|
scope:recipient = {
|
|
custom_tooltip = FACTION_IMPRISONMENT_RETALIATION_WARNING
|
|
}
|
|
hidden_effect = {
|
|
if = {
|
|
limit = {
|
|
faction_power > faction_power_threshold
|
|
NOT = { faction_is_type = populist_faction }
|
|
}
|
|
|
|
if = {
|
|
limit = {
|
|
faction_is_type = claimant_faction
|
|
}
|
|
special_title = {
|
|
save_scope_as = target_title
|
|
}
|
|
faction_start_war = {
|
|
title = scope:target_title
|
|
}
|
|
}
|
|
else = {
|
|
faction_start_war = {}
|
|
}
|
|
every_faction_member = {
|
|
trigger_event = faction_demand.9001
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Get the most appropriate 'target title' we can for a popular revolt (determines the de jure area the war will target, not final titles granted).
|
|
get_popular_revolt_target_effect = {
|
|
$FACTION$ = {
|
|
save_scope_as = faction
|
|
faction_target = {
|
|
save_scope_as = faction_target
|
|
}
|
|
|
|
# First check if there are any valid kingdoms to target.
|
|
if = {
|
|
limit = {
|
|
# Only large revolts in large realms are eligible to target an entire kingdom.
|
|
any_faction_county_member = {
|
|
count >= 11
|
|
}
|
|
scope:faction_target.primary_title.tier >= tier_kingdom
|
|
}
|
|
every_faction_county_member = {
|
|
kingdom = {
|
|
if = {
|
|
# Do not target titles held by rulers outside of our realm.
|
|
limit = {
|
|
NOT = { exists = holder }
|
|
holder.top_liege = scope:faction_target
|
|
}
|
|
}
|
|
add_to_list = tmp_potential_kingdoms
|
|
}
|
|
}
|
|
|
|
# Out of the valid kingdoms (if any), pick the 'best' one
|
|
ordered_in_list = {
|
|
list = tmp_potential_kingdoms
|
|
|
|
order_by = {
|
|
# First look at the total number of rebels within the kingdom's de jure territory.
|
|
value = 0
|
|
add = {
|
|
value = 0
|
|
every_in_de_jure_hierarchy = {
|
|
limit = {
|
|
tier = tier_county
|
|
any_title_joined_faction = {
|
|
this = $FACTION$
|
|
}
|
|
}
|
|
add = total_county_levies
|
|
}
|
|
}
|
|
|
|
if = {
|
|
limit = {
|
|
exists = holder
|
|
}
|
|
if = {
|
|
# Prefer targeting titles held by the faction target...
|
|
limit = {
|
|
holder != scope:faction_target
|
|
}
|
|
multiply = 0.5
|
|
}
|
|
else_if = {
|
|
#...but not the target's primary title (we don't want to usurp them if we can help it!)
|
|
limit = {
|
|
this = scope:faction_target.primary_title
|
|
}
|
|
multiply = 0.5
|
|
}
|
|
}
|
|
|
|
}
|
|
save_scope_as = tmp_target_title
|
|
}
|
|
}
|
|
|
|
# If we were ineligible for kingdom-tier or failed to find a valid one, look for duchies.
|
|
if = {
|
|
limit = {
|
|
NOT = { exists = scope:tmp_target_title}
|
|
|
|
# Mid-sized or larger revolts in medium realms are eligible for duchy titles.
|
|
any_faction_county_member = {
|
|
count >= 5
|
|
}
|
|
faction_target.primary_title.tier >= tier_duchy
|
|
}
|
|
every_faction_county_member = {
|
|
duchy = {
|
|
if = {
|
|
# Do not target titles held by rulers outside of our realm.
|
|
limit = {
|
|
NOT = { exists = holder }
|
|
holder.top_liege = scope:faction_target
|
|
}
|
|
}
|
|
add_to_list = tmp_potential_duchies
|
|
}
|
|
}
|
|
|
|
# Out of the valid duchies (if any), pick the 'best' one
|
|
ordered_in_list = {
|
|
list = tmp_potential_duchies
|
|
|
|
order_by = {
|
|
value = 0
|
|
# First look at the total number of rebels within the duchy's de jure territory.
|
|
add = {
|
|
value = 0
|
|
every_in_de_jure_hierarchy = {
|
|
limit = {
|
|
tier = tier_county
|
|
any_title_joined_faction = {
|
|
this = $FACTION$
|
|
}
|
|
}
|
|
add = total_county_levies
|
|
}
|
|
}
|
|
|
|
if = {
|
|
limit = {
|
|
exists = holder
|
|
}
|
|
if = {
|
|
# Prefer targeting titles held by the faction target...
|
|
limit = {
|
|
holder != scope:faction_target
|
|
}
|
|
multiply = 0.5
|
|
}
|
|
else_if = {
|
|
#...but not the target's primary title (we don't want to usurp them if we can help it!)
|
|
limit = {
|
|
this = scope:faction_target.primary_title
|
|
}
|
|
multiply = 0.5
|
|
}
|
|
}
|
|
}
|
|
save_scope_as = tmp_target_title
|
|
}
|
|
}
|
|
|
|
# If we still don't have a target title, pick the largest county.
|
|
if = {
|
|
limit = {
|
|
NOT = { exists = scope:tmp_target_title}
|
|
}
|
|
ordered_faction_county_member = {
|
|
order_by = total_county_levies
|
|
|
|
save_scope_as = tmp_target_title
|
|
}
|
|
}
|
|
|
|
# Re-save our temporary scope as the 'official' target scope, then clear all temporary scopes.
|
|
if = {
|
|
limit = {
|
|
exists = scope:tmp_target_title
|
|
}
|
|
scope:tmp_target_title = {
|
|
save_scope_as = target_title
|
|
}
|
|
set_special_title = scope:target_title
|
|
clear_saved_scope = tmp_target_title
|
|
}
|
|
every_in_list = {
|
|
list = tmp_potential_kingdoms
|
|
remove_from_list = tmp_potential_kingdoms
|
|
}
|
|
every_in_list = {
|
|
list = tmp_potential_duchies
|
|
remove_from_list = tmp_potential_duchies
|
|
}
|
|
}
|
|
}
|
|
|
|
add_adjacent_valid_counties_to_list = {
|
|
every_neighboring_county = {
|
|
limit = {
|
|
faith = $FAITH$
|
|
holder = {
|
|
is_ai = yes # Without this, successful Populist Revolts can lead to suprise Game Overs for players without any warning.
|
|
top_liege = $TOP_LIEGE$
|
|
}
|
|
NOT = { is_in_list = $LIST$ }
|
|
}
|
|
add_to_list = $LIST$
|
|
}
|
|
}
|
|
|
|
# Shared effect between the Popular Faction's demand event and victory outcome.
|
|
#
|
|
# Parameters:
|
|
# $FACTION_LEADER$
|
|
# $TARGET_TITLE$
|
|
# $SOURCE_GOVERNMENT$
|
|
#
|
|
successful_popular_revolt_outcome_effect = {
|
|
# Save scopes for later usage.
|
|
$FACTION_LEADER$ = {
|
|
save_scope_as = faction_leader
|
|
joined_faction = {
|
|
save_scope_as = popular_faction
|
|
every_faction_member = {
|
|
add_to_list = faction_members
|
|
}
|
|
faction_target = {
|
|
save_scope_as = faction_target
|
|
}
|
|
}
|
|
add_to_list = faction_members
|
|
}
|
|
$TARGET_TITLE$ = {
|
|
save_scope_as = some_title
|
|
}
|
|
if = { # Populists factions in an admin realm should aim to change state faith, if they are of the capital culture
|
|
limit = {
|
|
$SOURCE_GOVERNMENT$ = { government_allows = state_faith }
|
|
$FACTION_LEADER$.culture = scope:faction_target.capital_county.culture
|
|
$FACTION_LEADER$.faith != scope:faction_target.primary_title.state_faith
|
|
}
|
|
|
|
$SOURCE_GOVERNMENT$.primary_title = {
|
|
# Change the state faith
|
|
set_state_faith = $FACTION_LEADER$.faith
|
|
|
|
# Try grabbing someone from the line of succession who practices the State Faith
|
|
if = {
|
|
limit = {
|
|
any_title_heir = {
|
|
faith = $FACTION_LEADER$.faith
|
|
}
|
|
}
|
|
ordered_title_heir = {
|
|
order_by = "appointment_candidate_score(prev)"
|
|
limit = {
|
|
faith = $FACTION_LEADER$.faith
|
|
}
|
|
save_scope_as = new_ruler
|
|
}
|
|
}
|
|
# Otherwise, make the peasant leader the new emperor
|
|
else = { $FACTION_LEADER$ = { save_scope_as = new_ruler } }
|
|
|
|
# Actually make the switch
|
|
create_title_and_vassal_change = {
|
|
type = conquest_populist
|
|
save_scope_as = change
|
|
}
|
|
# Transfer all titles to heir of primary title if only one governorship is held
|
|
hidden_effect = {
|
|
$SOURCE_GOVERNMENT$ = {
|
|
every_held_title = {
|
|
title_tier >= county
|
|
limit = {
|
|
is_landless_type_title = no
|
|
is_noble_family_title = no
|
|
}
|
|
change_title_holder_include_vassals = {
|
|
holder = scope:new_ruler
|
|
change = scope:change
|
|
take_baronies = no
|
|
}
|
|
}
|
|
}
|
|
}
|
|
resolve_title_and_vassal_change = scope:change
|
|
}
|
|
}
|
|
else_if = { # Populists factions of the state faith in an admin realm where the emperor is of a heretical faith simply take the empire
|
|
limit = {
|
|
$SOURCE_GOVERNMENT$ = { government_allows = state_faith }
|
|
$FACTION_LEADER$.faith = scope:faction_target.primary_title.state_faith
|
|
$FACTION_LEADER$.faith != scope:faction_target.faith
|
|
}
|
|
|
|
$SOURCE_GOVERNMENT$.primary_title = {
|
|
|
|
$FACTION_LEADER$ = { save_scope_as = new_ruler }
|
|
|
|
# Actually make the switch
|
|
create_title_and_vassal_change = {
|
|
type = conquest_populist
|
|
save_scope_as = change
|
|
}
|
|
# Transfer all titles to heir of primary title if only one governorship is held
|
|
hidden_effect = {
|
|
$SOURCE_GOVERNMENT$ = {
|
|
every_held_title = {
|
|
title_tier >= county
|
|
limit = {
|
|
is_landless_type_title = no
|
|
is_noble_family_title = no
|
|
}
|
|
change_title_holder_include_vassals = {
|
|
holder = scope:new_ruler
|
|
change = scope:change
|
|
take_baronies = no
|
|
}
|
|
}
|
|
}
|
|
}
|
|
resolve_title_and_vassal_change = scope:change
|
|
}
|
|
}
|
|
else = { # Otherwise we run the normal script
|
|
# Compile a list of all counties belonging to the faction.
|
|
scope:popular_faction = {
|
|
every_faction_county_member = {
|
|
duchy = {
|
|
add_to_list = seized_duchies
|
|
every_de_jure_county = {
|
|
limit = {
|
|
holder.top_liege = scope:faction_target
|
|
}
|
|
add_to_list = seized_counties
|
|
}
|
|
}
|
|
}
|
|
}
|
|
# Additionally, if we're at war (and not just pressing demands)...
|
|
if = {
|
|
limit = {
|
|
scope:faction_leader = {
|
|
is_at_war_with = scope:faction_target
|
|
}
|
|
}
|
|
# Add all occupied counties of the correct culture/faith.
|
|
scope:faction_target = {
|
|
every_sub_realm_county = {
|
|
limit = {
|
|
county_controller = scope:faction_leader
|
|
OR = {
|
|
culture = scope:faction_leader.culture
|
|
faith = scope:faction_leader.faith
|
|
}
|
|
}
|
|
add_to_list = seized_counties
|
|
}
|
|
}
|
|
|
|
# And add any war members that aren't already in the faction.
|
|
scope:faction_leader = {
|
|
every_character_war = {
|
|
limit = {
|
|
is_defender = scope:faction_target
|
|
}
|
|
every_war_attacker = {
|
|
limit = {
|
|
NOT = { is_in_list = faction_members }
|
|
}
|
|
add_to_list = faction_members
|
|
}
|
|
}
|
|
}
|
|
}
|
|
show_as_tooltip = {
|
|
create_title_and_vassal_change = {
|
|
type = conquest_populist
|
|
save_scope_as = change_tooltip
|
|
add_claim_on_loss = yes
|
|
}
|
|
every_in_list = {
|
|
list = seized_duchies
|
|
change_title_holder = {
|
|
holder = scope:faction_leader
|
|
change = scope:change_tooltip
|
|
take_baronies = no
|
|
}
|
|
becomes_independent = {
|
|
change = scope:change_tooltip
|
|
}
|
|
}
|
|
resolve_title_and_vassal_change = scope:change_tooltip
|
|
}
|
|
# Give out titles in such way that each leader gets all titles within the same Kingdom
|
|
# Step 1: Duplicate the list of all members
|
|
every_in_list = {
|
|
list = faction_members
|
|
add_to_list = faction_members_loop
|
|
}
|
|
# Step 2: Create a while loop to give out counties to each faction member until we run out of the counties
|
|
while = {
|
|
limit = {
|
|
list_size:seized_counties >= 1
|
|
}
|
|
# Step 3: If there is no more leaders, create new one
|
|
if = {
|
|
limit = {
|
|
list_size:faction_members_loop < 1
|
|
}
|
|
# Step 3.1: Pick the best county that is still available to base all other title handovers on
|
|
ordered_in_list = {
|
|
list = seized_counties
|
|
order_by = {
|
|
value = total_county_levies
|
|
multiply = {
|
|
value = 1
|
|
# Up to 50% bonus points for counties of the correct culture/faith.
|
|
if = {
|
|
limit = { culture != scope:faction_leader.culture }
|
|
add = 0.25
|
|
}
|
|
if = {
|
|
limit = { faith != scope:faction_leader.faith }
|
|
add = 0.25
|
|
}
|
|
}
|
|
}
|
|
save_scope_as = capital_county
|
|
}
|
|
create_character = {
|
|
location = scope:capital_county.title_province
|
|
culture = scope:capital_county.culture
|
|
faith = scope:capital_county.faith
|
|
template = peasant_faction_leader_template
|
|
gender_female_chance = scope:capital_county.location_faith_dominant_gender_female_chance
|
|
save_scope_as = new_county_holder
|
|
}
|
|
scope:new_county_holder = {
|
|
add_to_list = faction_members
|
|
add_to_list = faction_members_loop
|
|
add_trait_xp = {
|
|
trait = peasant_leader
|
|
value = peasant_leader_xp_value
|
|
}
|
|
}
|
|
}
|
|
# Step 4: Grab a faction member with highest peasant leader xp, but always grab the faction leader first
|
|
ordered_in_list = {
|
|
list = faction_members_loop
|
|
order_by = {
|
|
value = "has_trait_xp(peasant_leader)"
|
|
if = {
|
|
limit = {
|
|
this = scope:faction_leader
|
|
}
|
|
add = 1000
|
|
}
|
|
}
|
|
save_scope_as = next_leader
|
|
# Step 4.1: Pick the best county that is still available to base all other title handovers on
|
|
if = {
|
|
limit = {
|
|
NOT = { exists = scope:capital_county }
|
|
}
|
|
if = {
|
|
limit = {
|
|
is_landed = yes
|
|
}
|
|
capital_county = {
|
|
save_scope_as = capital_county
|
|
}
|
|
}
|
|
else = {
|
|
ordered_in_list = {
|
|
list = seized_counties
|
|
order_by = {
|
|
value = total_county_levies
|
|
multiply = {
|
|
value = 1
|
|
# Up to 300% bonus points for counties of the correct culture/faith.
|
|
if = {
|
|
limit = { culture = scope:next_leader.culture }
|
|
add = 1
|
|
}
|
|
if = {
|
|
limit = { faith = scope:next_leader.faith }
|
|
add = 1
|
|
}
|
|
}
|
|
}
|
|
save_scope_as = capital_county
|
|
}
|
|
}
|
|
}
|
|
# Step 5: CHANGE ONE - Give them the selected county and make them go independent
|
|
create_title_and_vassal_change = {
|
|
type = conquest_populist
|
|
save_scope_as = change_one
|
|
add_claim_on_loss = yes
|
|
}
|
|
scope:capital_county = {
|
|
change_title_holder = {
|
|
holder = scope:next_leader
|
|
change = scope:change_one
|
|
take_baronies = no
|
|
}
|
|
}
|
|
becomes_independent = {
|
|
change = scope:change_one
|
|
}
|
|
resolve_title_and_vassal_change = scope:change_one
|
|
# Step 6: CHANGE TWO - Give them all Duchies and Counties within the Kingdom of the capital county
|
|
create_title_and_vassal_change = {
|
|
type = conquest_populist
|
|
save_scope_as = change_two
|
|
add_claim_on_loss = yes
|
|
}
|
|
every_in_list = {
|
|
list = seized_counties
|
|
limit = {
|
|
kingdom = scope:capital_county.kingdom
|
|
}
|
|
change_title_holder = {
|
|
holder = scope:next_leader
|
|
change = scope:change_two
|
|
take_baronies = no
|
|
}
|
|
remove_from_list = seized_counties
|
|
}
|
|
every_in_list = {
|
|
list = seized_duchies
|
|
limit = {
|
|
kingdom = scope:capital_county.kingdom
|
|
}
|
|
change_title_holder = {
|
|
holder = scope:next_leader
|
|
change = scope:change_two
|
|
take_baronies = no
|
|
}
|
|
remove_from_list = seized_duchies
|
|
}
|
|
resolve_title_and_vassal_change = scope:change_two
|
|
|
|
# Step 6: CHANGE THREE - Usurp the Kingdom if they hold enough land
|
|
if = {
|
|
limit = {
|
|
primary_title.kingdom = {
|
|
any_de_jure_county = {
|
|
percent > 0.5
|
|
holder = scope:next_leader
|
|
}
|
|
}
|
|
}
|
|
create_title_and_vassal_change = {
|
|
type = conquest_populist
|
|
save_scope_as = change_three
|
|
add_claim_on_loss = yes
|
|
}
|
|
primary_title.kingdom = {
|
|
change_title_holder = {
|
|
holder = scope:next_leader
|
|
change = scope:change_three
|
|
take_baronies = no
|
|
}
|
|
}
|
|
resolve_title_and_vassal_change = scope:change_three
|
|
}
|
|
# Step 6.1: If the title we gave is a new dynamic title, generate a CoA for it.
|
|
if = {
|
|
limit = {
|
|
exists = scope:new_title
|
|
}
|
|
scope:new_title = {
|
|
set_capital_county = scope:capital_county
|
|
generate_coa = yes
|
|
}
|
|
}
|
|
# Step 7: Destroy their peasant uprising title
|
|
if = {
|
|
limit = {
|
|
has_variable = peasant_title
|
|
exists = var:peasant_title.holder
|
|
}
|
|
destroy_title = var:peasant_title
|
|
}
|
|
# Step 8: Set up government type correctly.
|
|
scope:capital_county = {
|
|
previous_holder ?= {
|
|
if = {
|
|
limit = {
|
|
is_alive = yes
|
|
}
|
|
save_scope_as = old_holder
|
|
switch = {
|
|
trigger = government_has_flag
|
|
government_is_administrative = {
|
|
save_scope_value_as = { name = old_government value = flag:admin }
|
|
}
|
|
government_is_clan = {
|
|
save_scope_value_as = { name = old_government value = flag:clan }
|
|
}
|
|
government_is_tribal = {
|
|
save_scope_value_as = { name = old_government value = flag:tribal }
|
|
}
|
|
government_is_wanua = {
|
|
save_scope_value_as = { name = old_government value = flag:wanua }
|
|
}
|
|
government_is_nomadic = {
|
|
save_scope_value_as = { name = old_government value = flag:nomad }
|
|
}
|
|
government_is_celestial = {
|
|
save_scope_value_as = { name = old_government value = flag:admin }
|
|
}
|
|
government_is_steppe_admin = {
|
|
save_scope_value_as = { name = old_government value = flag:admin }
|
|
}
|
|
government_is_meritocratic = {
|
|
save_scope_value_as = { name = old_government value = flag:admin }
|
|
}
|
|
government_is_japan_administrative = {
|
|
save_scope_value_as = { name = old_government value = flag:admin }
|
|
}
|
|
government_is_japan_feudal = {
|
|
save_scope_value_as = { name = old_government value = flag:japan_feudal }
|
|
}
|
|
government_is_mandala = {
|
|
save_scope_value_as = { name = old_government value = flag:mandala }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
# Change our government according to the government of our liege.
|
|
## Nomad.
|
|
if = {
|
|
limit = {
|
|
OR = {
|
|
government_has_flag = government_is_nomadic
|
|
scope:old_government ?= flag:nomad
|
|
scope:capital_county.title_province = {
|
|
OR = {
|
|
has_holding_type = nomad_holding
|
|
has_holding_type = herder_holding
|
|
}
|
|
}
|
|
}
|
|
}
|
|
change_government = nomad_government
|
|
}
|
|
## Clan.
|
|
else_if = {
|
|
limit = {
|
|
OR = {
|
|
government_has_flag = government_is_clan
|
|
scope:old_government ?= flag:clan
|
|
ep3_is_clan_inclined_trigger = yes
|
|
}
|
|
}
|
|
change_government = clan_government
|
|
}
|
|
## Wanua or Tribal.
|
|
else_if = {
|
|
limit = {
|
|
scope:capital_county.title_province = {
|
|
has_holding_type = tribal_holding
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
OR = {
|
|
government_has_flag = government_is_wanua
|
|
scope:old_government ?= flag:wanua
|
|
scope:capital_county.title_province = {
|
|
geographical_region = world_asia_southeast_islands
|
|
}
|
|
}
|
|
}
|
|
change_government = wanua_government
|
|
}
|
|
else = {
|
|
change_government = tribal_government
|
|
}
|
|
}
|
|
## Ritsuryo.
|
|
else_if = {
|
|
limit = {
|
|
OR = {
|
|
government_has_flag = government_is_japan_feudal
|
|
scope:old_government ?= flag:japan_feudal
|
|
culture = culture:japanese
|
|
culture = {
|
|
any_parent_culture_or_above = { this = culture:japanese }
|
|
}
|
|
}
|
|
}
|
|
change_government = japan_feudal_government
|
|
}
|
|
## Mandala.
|
|
else_if = {
|
|
limit = {
|
|
OR = {
|
|
AND = {
|
|
has_mandala_culture_trigger = yes
|
|
has_mandala_faith_trigger = yes
|
|
scope:capital_county.title_province = {
|
|
has_holding_type = temple_citadel_holding
|
|
}
|
|
}
|
|
government_has_flag = government_is_mandala
|
|
}
|
|
}
|
|
change_government = mandala_government
|
|
}
|
|
## Administrative.
|
|
## Celestial.
|
|
## Steppe admin.
|
|
## Meritocratic.
|
|
## Soryo.
|
|
else_if = {
|
|
limit = {
|
|
OR = {
|
|
government_allows = administrative
|
|
scope:old_government ?= flag:admin
|
|
}
|
|
}
|
|
change_to_administrative_effect = yes
|
|
}
|
|
## Else feudal.
|
|
else = { change_government = feudal_government }
|
|
# Step 9: Give them some gold/treasury if they don't have any
|
|
if = {
|
|
limit = {
|
|
gold <= 100
|
|
}
|
|
add_gold = {
|
|
value = stewardship
|
|
multiply = realm_size
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
has_treasury = yes
|
|
treasury <= 100
|
|
}
|
|
add_treasury = {
|
|
value = gold
|
|
multiply = stewardship
|
|
max = 4000
|
|
}
|
|
}
|
|
# Step 10: Remove them from the looping list
|
|
remove_from_list = faction_members_loop
|
|
# Step 11: Clear the scopes, otherwise the while loop will break
|
|
clear_saved_scope = next_leader
|
|
clear_saved_scope = capital_county
|
|
}
|
|
}
|
|
}
|
|
hidden_effect = {
|
|
# Make sure to destroy all peasant uprising titles and clean all variables
|
|
every_in_list = {
|
|
list = faction_members
|
|
every_held_title = {
|
|
limit = {
|
|
has_variable = faction
|
|
}
|
|
prev = {
|
|
destroy_title = prev
|
|
}
|
|
}
|
|
remove_variable = peasant_war_escalates
|
|
remove_variable = peasant_title
|
|
remove_variable = rebel_leader_peasants
|
|
remove_variable = peasant_faction_random_peasant
|
|
remove_variable = peasant_revolt_do_not_kill
|
|
}
|
|
# If the faction still exists, dissolve it (it's no longer relevant).
|
|
if = {
|
|
limit = {
|
|
exists = scope:popular_faction
|
|
}
|
|
scope:popular_faction = {
|
|
destroy_faction = yes
|
|
}
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
scope:faction_target.top_participant_group:dynastic_cycle ?= {
|
|
participant_group_type = hegemon_ruler
|
|
}
|
|
situation:dynastic_cycle = {
|
|
situation_top_has_catalyst = catalyst_hegemon_lost_defensive_territorial_war
|
|
}
|
|
}
|
|
situation:dynastic_cycle = {
|
|
trigger_situation_catalyst = {
|
|
catalyst = catalyst_hegemon_lost_defensive_territorial_war
|
|
character = scope:faction_leader
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
create_popular_revolt_title_effect = {
|
|
$FACTION$ = {
|
|
ordered_faction_county_member = {
|
|
limit = {
|
|
faith = $FACTION_LEADER$.faith
|
|
culture = $FACTION_LEADER$.culture
|
|
}
|
|
alternative_limit = {
|
|
always = yes
|
|
}
|
|
|
|
order_by = total_county_levies
|
|
|
|
save_scope_as = base_county
|
|
}
|
|
$FACTION_LEADER$.culture = { save_scope_as = founder_culture }
|
|
create_dynamic_title = {
|
|
tier = $TIER$
|
|
name = FACTION_POPULIST_CREATED_TITLE_NAME
|
|
}
|
|
scope:new_title = {
|
|
set_variable = {
|
|
name = faction
|
|
value = $FACTION$
|
|
}
|
|
set_color_from_title = scope:base_county
|
|
}
|
|
}
|
|
}
|
|
|
|
successful_nomadic_revolt_outcome_effect = {
|
|
hidden_effect = {
|
|
# Save scopes for later usage.
|
|
$FACTION_LEADER$ = {
|
|
add_character_flag = successful_nomad_revolt_leader
|
|
joined_faction = {
|
|
save_scope_as = nomadic_faction
|
|
every_faction_member = {
|
|
add_to_list = faction_members
|
|
}
|
|
faction_target = {
|
|
save_scope_as = faction_target
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
has_variable = peasant_title
|
|
exists = this.var:peasant_title.holder
|
|
}
|
|
destroy_title = this.var:peasant_title
|
|
}
|
|
}
|
|
# Compile a list of all duchies and counties belonging to the faction.
|
|
scope:nomadic_faction = {
|
|
every_faction_county_member = {
|
|
add_to_list = seized_counties
|
|
duchy = {
|
|
every_de_jure_county = { # Seize entire duchies
|
|
limit = {
|
|
holder.top_liege = scope:faction_target
|
|
NOT = { is_in_list = seized_counties }
|
|
}
|
|
add_to_list = seized_counties
|
|
}
|
|
if = {
|
|
limit = {
|
|
NOT = { is_in_list = seized_duchies }
|
|
}
|
|
add_to_list = seized_duchies
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Select a 'capital' county for the faction leader.
|
|
scope:nomadic_faction = {
|
|
ordered_in_list = {
|
|
list = seized_counties
|
|
order_by = {
|
|
value = 0
|
|
if = {
|
|
limit = {
|
|
uses_county_fertility = yes
|
|
}
|
|
add = county_fertility
|
|
}
|
|
else = {
|
|
add = development_level
|
|
}
|
|
|
|
multiply = {
|
|
value = 1
|
|
if = {
|
|
limit = { culture = $FACTION_LEADER$.culture }
|
|
add = 200
|
|
}
|
|
if = {
|
|
limit = { faith = $FACTION_LEADER$.faith }
|
|
add = 50
|
|
}
|
|
}
|
|
}
|
|
save_scope_as = capital_county
|
|
}
|
|
}
|
|
|
|
# Give the leader the counties they should have and make them a nomad.
|
|
$FACTION_LEADER$ = {
|
|
add_to_list = independent_nomads
|
|
change_government = nomad_government
|
|
}
|
|
create_title_and_vassal_change = {
|
|
type = conquest_populist
|
|
save_scope_as = change
|
|
add_claim_on_loss = yes
|
|
}
|
|
scope:capital_county = {
|
|
change_title_holder = {
|
|
holder = $FACTION_LEADER$
|
|
change = scope:change
|
|
take_baronies = no
|
|
}
|
|
add_to_list = divided_titles
|
|
duchy = {
|
|
every_de_jure_county = { # Seize entire duchies
|
|
limit = {
|
|
is_in_list = seized_counties
|
|
NOT = { is_in_list = divided_titles }
|
|
}
|
|
change_title_holder = {
|
|
holder = $FACTION_LEADER$
|
|
change = scope:change
|
|
take_baronies = no
|
|
}
|
|
add_to_list = divided_titles
|
|
}
|
|
if = {
|
|
limit = {
|
|
OR = {
|
|
NOT = { exists = holder }
|
|
trigger_if = {
|
|
limit = { exists = holder }
|
|
holder.top_liege = scope:faction_target
|
|
}
|
|
}
|
|
NOT = { is_in_list = divided_titles }
|
|
}
|
|
change_title_holder = {
|
|
holder = $FACTION_LEADER$
|
|
change = scope:change
|
|
}
|
|
add_to_list = divided_titles
|
|
}
|
|
}
|
|
}
|
|
resolve_title_and_vassal_change = scope:change
|
|
|
|
while = {
|
|
limit = {
|
|
any_in_list = {
|
|
list = seized_counties
|
|
NOT = {
|
|
is_in_list = divided_titles
|
|
}
|
|
}
|
|
}
|
|
random_in_list = {
|
|
list = seized_counties
|
|
limit = {
|
|
NOT = {
|
|
is_in_list = divided_titles
|
|
}
|
|
}
|
|
save_scope_as = handout_county
|
|
hidden_effect = {
|
|
create_character = {
|
|
location = scope:handout_county.title_province
|
|
template = nomadic_faction_leader_template
|
|
faith = scope:handout_county.faith
|
|
culture = scope:handout_county.culture
|
|
dynasty = generate
|
|
gender_female_chance = {
|
|
if = {
|
|
limit = { scope:handout_county.faith = { has_doctrine = doctrine_gender_male_dominated } }
|
|
add = 0
|
|
}
|
|
else_if = {
|
|
limit = { scope:handout_county.faith = { has_doctrine = doctrine_gender_female_dominated } }
|
|
add = 100
|
|
}
|
|
else = {
|
|
add = 50
|
|
}
|
|
}
|
|
save_scope_as = new_nomad
|
|
}
|
|
scope:new_nomad = {
|
|
add_to_list = independent_nomads
|
|
}
|
|
}
|
|
create_title_and_vassal_change = {
|
|
type = conquest_populist
|
|
save_scope_as = change
|
|
add_claim_on_loss = yes
|
|
}
|
|
scope:handout_county = {
|
|
change_title_holder = {
|
|
holder = scope:new_nomad
|
|
change = scope:change
|
|
take_baronies = no
|
|
}
|
|
add_to_list = divided_titles
|
|
duchy = {
|
|
every_de_jure_county = { # Seize entire duchies
|
|
limit = {
|
|
is_in_list = seized_counties
|
|
NOT = { is_in_list = divided_titles }
|
|
}
|
|
change_title_holder = {
|
|
holder = scope:new_nomad
|
|
change = scope:change
|
|
take_baronies = no
|
|
}
|
|
add_to_list = divided_titles
|
|
}
|
|
if = {
|
|
limit = {
|
|
OR = {
|
|
NOT = { exists = holder }
|
|
trigger_if = {
|
|
limit = { exists = holder }
|
|
holder.top_liege = scope:faction_target
|
|
}
|
|
}
|
|
NOT = { is_in_list = divided_titles }
|
|
}
|
|
change_title_holder = {
|
|
holder = scope:new_nomad
|
|
change = scope:change
|
|
}
|
|
add_to_list = divided_titles
|
|
}
|
|
}
|
|
}
|
|
resolve_title_and_vassal_change = scope:change
|
|
}
|
|
}
|
|
|
|
# Make sure everyone is independent
|
|
create_title_and_vassal_change = {
|
|
type = conquest_populist
|
|
save_scope_as = change
|
|
add_claim_on_loss = yes
|
|
}
|
|
every_in_list = {
|
|
list = independent_nomads
|
|
limit = {
|
|
is_independent_ruler = no
|
|
}
|
|
hidden_effect = {
|
|
becomes_independent = {
|
|
change = scope:change
|
|
}
|
|
}
|
|
}
|
|
resolve_title_and_vassal_change = scope:change
|
|
|
|
# Set them up for success
|
|
every_in_list = {
|
|
list = independent_nomads
|
|
|
|
hidden_effect = {
|
|
save_temporary_scope_as = nomad_becoming_independent
|
|
every_held_title = {
|
|
limit = {
|
|
tier = tier_county
|
|
}
|
|
if = {
|
|
limit = {
|
|
title_province = {
|
|
has_holding_type = herder_holding
|
|
}
|
|
}
|
|
title_province = {
|
|
set_holding_type = nomad_holding
|
|
}
|
|
}
|
|
add_county_modifier = {
|
|
modifier = county_increased_opinion_modifier
|
|
years = 25
|
|
}
|
|
if = {
|
|
limit = {
|
|
has_county_modifier = peasant_war_lost_county_modifier
|
|
}
|
|
remove_county_modifier = peasant_war_lost_county_modifier
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
gold < 50
|
|
}
|
|
add_gold = 150
|
|
}
|
|
if = {
|
|
limit = {
|
|
is_ruler = yes
|
|
NOT = {
|
|
government_has_flag = government_is_nomadic
|
|
}
|
|
}
|
|
change_government = nomad_government
|
|
}
|
|
if = {
|
|
limit = {
|
|
NOT = { government_has_flag = government_allows_nomad_domicile_titles }
|
|
NOT = {
|
|
any_held_title = {
|
|
is_nomad_title = yes
|
|
}
|
|
}
|
|
}
|
|
save_scope_as = holder
|
|
create_nomad_title = {
|
|
name = nomad_title_name
|
|
holder = scope:holder
|
|
government = nomad_government
|
|
save_scope_as = new_nomad_title
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
NOT = { has_realm_law = nomadic_authority_1 }
|
|
}
|
|
add_realm_law_skip_effects = nomadic_authority_1
|
|
}
|
|
if = {
|
|
limit = {
|
|
highest_held_title_tier >= tier_duchy
|
|
NOT = { has_realm_law = nomadic_authority_2 }
|
|
}
|
|
if = {
|
|
limit = {
|
|
has_realm_law = nomadic_authority_1
|
|
}
|
|
remove_realm_law = nomadic_authority_1
|
|
add_realm_law_skip_effects = nomadic_authority_2
|
|
}
|
|
}
|
|
if = { limit = { has_realm_law = crown_authority_0 } remove_realm_law = crown_authority_0 }
|
|
if = { limit = { has_realm_law = crown_authority_1 } remove_realm_law = crown_authority_1 }
|
|
if = { limit = { has_realm_law = crown_authority_2 } remove_realm_law = crown_authority_2 }
|
|
if = { limit = { has_realm_law = crown_authority_3 } remove_realm_law = crown_authority_3 }
|
|
domicile ?= {
|
|
change_herd = {
|
|
value = scope:nomad_becoming_independent.capital_county.county_fertility
|
|
min = 20
|
|
multiply = 150
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# If the faction still exists, dissolve it (it's no longer relevant).
|
|
hidden_effect = {
|
|
if = {
|
|
limit = {
|
|
exists = scope:nomadic_faction
|
|
}
|
|
scope:nomadic_faction = {
|
|
destroy_faction = yes
|
|
}
|
|
}
|
|
}
|
|
}
|
|
show_as_tooltip = {
|
|
$FACTION_LEADER$ = {
|
|
save_scope_as = tooltip_leader
|
|
custom_tooltip = nomads_take_everything_tt
|
|
}
|
|
create_title_and_vassal_change = {
|
|
type = conquest_populist
|
|
save_scope_as = change
|
|
add_claim_on_loss = yes
|
|
}
|
|
every_in_list = {
|
|
list = seized_duchies
|
|
change_title_holder = {
|
|
holder = $FACTION_LEADER$
|
|
change = scope:change
|
|
take_baronies = no
|
|
}
|
|
}
|
|
every_in_list = {
|
|
list = seized_counties
|
|
change_title_holder = {
|
|
holder = $FACTION_LEADER$
|
|
change = scope:change
|
|
take_baronies = no
|
|
}
|
|
}
|
|
resolve_title_and_vassal_change = scope:change
|
|
}
|
|
}
|
|
|
|
spawn_popular_revolt_troops = {
|
|
# Spawn Levies
|
|
spawn_army = {
|
|
levies = {
|
|
value = 0
|
|
joined_faction = {
|
|
every_faction_county_member = {
|
|
limit = {
|
|
duchy = scope:local_center_of_rebellion.duchy
|
|
}
|
|
add = county_levies_to_raise
|
|
}
|
|
}
|
|
}
|
|
location = scope:local_center_of_rebellion
|
|
war = root.faction_war
|
|
name = populist_faction_event_troops
|
|
}
|
|
|
|
# Spawn MAAs - An appropriate amount of troops dependent on the terrain type they spawn in
|
|
if = {
|
|
limit = {
|
|
scope:local_center_of_rebellion = {
|
|
OR = {
|
|
terrain = forest
|
|
terrain = taiga
|
|
terrain = jungle
|
|
terrain = plains
|
|
terrain = drylands
|
|
terrain = oasis
|
|
terrain = desert
|
|
terrain = wetlands
|
|
terrain = steppe
|
|
}
|
|
}
|
|
}
|
|
spawn_army = {
|
|
men_at_arms = {
|
|
type = light_footmen
|
|
stacks = {
|
|
value = 0
|
|
joined_faction = {
|
|
every_faction_county_member = {
|
|
limit = {
|
|
duchy = scope:local_center_of_rebellion.duchy
|
|
}
|
|
add = county_maa_to_raise
|
|
}
|
|
}
|
|
}
|
|
}
|
|
location = scope:local_center_of_rebellion
|
|
war = root.faction_war
|
|
name = populist_faction_event_troops
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
scope:local_center_of_rebellion = {
|
|
OR = {
|
|
terrain = mountains
|
|
terrain = desert_mountains
|
|
}
|
|
}
|
|
}
|
|
spawn_army = {
|
|
men_at_arms = {
|
|
type = pikemen_unit
|
|
stacks = {
|
|
value = 0
|
|
joined_faction = {
|
|
every_faction_county_member = {
|
|
limit = {
|
|
duchy = scope:local_center_of_rebellion.duchy
|
|
}
|
|
add = county_maa_to_raise
|
|
}
|
|
}
|
|
}
|
|
}
|
|
location = scope:local_center_of_rebellion
|
|
war = root.faction_war
|
|
name = populist_faction_event_troops
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
scope:local_center_of_rebellion = {
|
|
OR = {
|
|
terrain = hills
|
|
terrain = farmlands
|
|
terrain = floodplains
|
|
}
|
|
}
|
|
}
|
|
spawn_army = {
|
|
men_at_arms = {
|
|
type = bowmen
|
|
stacks = {
|
|
value = 0
|
|
joined_faction = {
|
|
every_faction_county_member = {
|
|
limit = {
|
|
duchy = scope:local_center_of_rebellion.duchy
|
|
}
|
|
add = county_maa_to_raise
|
|
}
|
|
}
|
|
}
|
|
}
|
|
location = scope:local_center_of_rebellion
|
|
war = root.faction_war
|
|
name = populist_faction_event_troops
|
|
}
|
|
}
|
|
|
|
# Spawn Siege Weapons depending on discovered innovations
|
|
if = {
|
|
limit = {
|
|
culture = { has_innovation = innovation_gunpowder }
|
|
}
|
|
spawn_army = {
|
|
men_at_arms = {
|
|
type = bombard
|
|
stacks = 1
|
|
}
|
|
location = scope:local_center_of_rebellion
|
|
war = root.faction_war
|
|
name = populist_faction_event_troops
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
culture = { has_innovation = innovation_trebuchet }
|
|
}
|
|
spawn_army = {
|
|
men_at_arms = {
|
|
type = trebuchet
|
|
stacks = 1
|
|
}
|
|
location = scope:local_center_of_rebellion
|
|
war = root.faction_war
|
|
name = populist_faction_event_troops
|
|
}
|
|
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
culture = { has_innovation = innovation_mangonel }
|
|
}
|
|
spawn_army = {
|
|
men_at_arms = {
|
|
type = mangonel
|
|
stacks = 1
|
|
}
|
|
location = scope:local_center_of_rebellion
|
|
war = root.faction_war
|
|
name = populist_faction_event_troops
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
culture = { has_innovation = innovation_catapult }
|
|
}
|
|
spawn_army = {
|
|
men_at_arms = {
|
|
type = onager
|
|
stacks = 1
|
|
}
|
|
location = scope:local_center_of_rebellion
|
|
war = root.faction_war
|
|
name = populist_faction_event_troops
|
|
}
|
|
}
|
|
|
|
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 = scope:local_center_of_rebellion
|
|
origin = scope:local_center_of_rebellion
|
|
inheritable = no
|
|
}
|
|
}
|
|
remove_variable = ep3_governor_yearly_8150_ignored
|
|
}
|
|
}
|
|
|
|
spawn_nomadic_revolt_troops = {
|
|
# Spawn Horde Riders
|
|
spawn_army = {
|
|
men_at_arms = {
|
|
type = nomadic_riders
|
|
men = {
|
|
value = 0
|
|
joined_faction = {
|
|
every_faction_county_member = {
|
|
limit = {
|
|
duchy = scope:local_center_of_rebellion.duchy
|
|
}
|
|
add = county_horde_riders_to_raise
|
|
}
|
|
}
|
|
}
|
|
}
|
|
location = scope:local_center_of_rebellion
|
|
war = root.faction_war
|
|
name = nomadic_faction_event_troops
|
|
}
|
|
|
|
spawn_army = {
|
|
men_at_arms = {
|
|
type = steppe_raiders
|
|
men = {
|
|
value = 0
|
|
joined_faction = {
|
|
every_faction_county_member = {
|
|
limit = {
|
|
duchy = scope:local_center_of_rebellion.duchy
|
|
}
|
|
add = {
|
|
value = county_horde_riders_to_raise
|
|
divide = 2
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
location = scope:local_center_of_rebellion
|
|
war = root.faction_war
|
|
name = nomadic_faction_event_troops
|
|
}
|
|
|
|
spawn_army = {
|
|
men_at_arms = {
|
|
type = horse_archers
|
|
men = {
|
|
value = 0
|
|
joined_faction = {
|
|
every_faction_county_member = {
|
|
limit = {
|
|
duchy = scope:local_center_of_rebellion.duchy
|
|
}
|
|
add = {
|
|
value = county_horde_riders_to_raise
|
|
divide = 2
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
location = scope:local_center_of_rebellion
|
|
war = root.faction_war
|
|
name = nomadic_faction_event_troops
|
|
}
|
|
|
|
# Spawn Siege Weapons depending on discovered innovations
|
|
if = {
|
|
limit = {
|
|
culture = { has_innovation = innovation_gunpowder }
|
|
}
|
|
spawn_army = {
|
|
men_at_arms = {
|
|
type = bombard
|
|
stacks = 1
|
|
}
|
|
location = scope:local_center_of_rebellion
|
|
war = root.faction_war
|
|
name = populist_faction_event_troops
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
culture = { has_innovation = innovation_trebuchet }
|
|
}
|
|
spawn_army = {
|
|
men_at_arms = {
|
|
type = trebuchet
|
|
stacks = 1
|
|
}
|
|
location = scope:local_center_of_rebellion
|
|
war = root.faction_war
|
|
name = populist_faction_event_troops
|
|
}
|
|
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
culture = { has_innovation = innovation_mangonel }
|
|
}
|
|
spawn_army = {
|
|
men_at_arms = {
|
|
type = mangonel
|
|
stacks = 1
|
|
}
|
|
location = scope:local_center_of_rebellion
|
|
war = root.faction_war
|
|
name = populist_faction_event_troops
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
culture = { has_innovation = innovation_catapult }
|
|
}
|
|
spawn_army = {
|
|
men_at_arms = {
|
|
type = onager
|
|
stacks = 1
|
|
}
|
|
location = scope:local_center_of_rebellion
|
|
war = root.faction_war
|
|
name = populist_faction_event_troops
|
|
}
|
|
}
|
|
else = {
|
|
spawn_army = {
|
|
men_at_arms = {
|
|
type = torch_bearers
|
|
stacks = 5
|
|
}
|
|
location = scope:local_center_of_rebellion
|
|
war = root.faction_war
|
|
name = populist_faction_event_troops
|
|
}
|
|
}
|
|
}
|
|
|
|
peasant_faction_demands_enforced = {
|
|
# escalate if in the Cycle
|
|
if = {
|
|
limit = {
|
|
NOT = { exists = scope:defender }
|
|
}
|
|
save_scope_as = defender
|
|
}
|
|
if = {
|
|
limit = {
|
|
scope:defender != scope:defender.top_liege
|
|
#only in Dynastic Cycle
|
|
scope:defender.top_liege.top_participant_group:dynastic_cycle ?= {
|
|
participant_group_type = hegemon_ruler
|
|
}
|
|
}
|
|
scope:defender.top_liege = {
|
|
set_variable = {
|
|
name = peasant_war_escalates
|
|
days = 365
|
|
}
|
|
}
|
|
$FACTION$ = {
|
|
faction_leader = {
|
|
save_scope_as = attacker
|
|
add_character_flag = peasant_revolt_do_not_kill
|
|
set_variable = {
|
|
name = peasant_war_escalates
|
|
days = 365
|
|
}
|
|
add_trait_xp = {
|
|
trait = peasant_leader
|
|
value = 20
|
|
}
|
|
}
|
|
every_faction_county_member = {
|
|
add_to_list = faction_counties
|
|
add_county_modifier = {
|
|
modifier = peasant_war_lost_county_modifier
|
|
years = 10
|
|
}
|
|
}
|
|
destroy_faction = yes
|
|
}
|
|
if = {
|
|
limit = {
|
|
NOT = { exists = scope:attacker }
|
|
}
|
|
scope:peasant_leader = {
|
|
save_scope_as = attacker
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
scope:defender.top_liege = {
|
|
any_targeting_faction = {
|
|
faction_type = escalated_peasant_faction
|
|
save_temporary_scope_as = escalated_faction
|
|
}
|
|
}
|
|
}
|
|
scope:defender.top_liege = {
|
|
send_interface_message = {
|
|
type = msg_faction_grows
|
|
left_icon = scope:attacker
|
|
right_icon = scope:defender
|
|
every_in_list = {
|
|
list = faction_counties
|
|
title_join_faction = scope:escalated_faction
|
|
}
|
|
scope:attacker = {
|
|
join_faction_skip_check = scope:escalated_faction
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else = {
|
|
scope:attacker = {
|
|
create_faction = {
|
|
type = escalated_peasant_faction
|
|
target = scope:defender.top_liege
|
|
}
|
|
}
|
|
scope:defender.top_liege = {
|
|
random_targeting_faction = {
|
|
faction_type = escalated_peasant_faction
|
|
save_scope_as = escalated_faction
|
|
set_special_character = scope:attacker
|
|
}
|
|
}
|
|
custom_tooltip = {
|
|
text = county_and_leader_join_faction_against_top_liege
|
|
if = {
|
|
limit = {
|
|
exists = scope:escalated_faction
|
|
}
|
|
every_in_list = {
|
|
list = faction_counties
|
|
limit = {
|
|
title_is_a_faction_member = no
|
|
}
|
|
title_join_faction = scope:escalated_faction
|
|
}
|
|
scope:attacker = {
|
|
set_variable = {
|
|
name = rebel_leader_peasants
|
|
value = scope:escalated_faction
|
|
}
|
|
join_faction_skip_check = scope:escalated_faction
|
|
primary_title = {
|
|
set_title_name_dynamic = peasant_leader_title_name
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
# otherwise finish the faction as usual
|
|
else = {
|
|
$FACTION$ = {
|
|
every_faction_county_member = {
|
|
custom = peasant_faction_every_county
|
|
change_county_control = peasant_war_victory_county_control_loss
|
|
add_county_modifier = {
|
|
modifier = peasant_war_lost_county_modifier
|
|
years = 10
|
|
}
|
|
}
|
|
hidden_effect = {
|
|
clean_revolt_county_modifiers_from_faction_members_effect = yes
|
|
destroy_faction = yes
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
invalidate_claimant_factions_on_death_effect = {
|
|
every_in_list = {
|
|
variable = claimant_factions
|
|
if = {
|
|
limit = {
|
|
exists = faction_war
|
|
}
|
|
faction_war = {
|
|
clear_claimant = yes
|
|
set_casus_belli = depose_war
|
|
}
|
|
faction_remove_war = yes # else the war gets invalidated when we destroy the faction
|
|
}
|
|
destroy_faction = yes
|
|
}
|
|
clear_variable_list = claimant_factions
|
|
}
|
|
|
|
invalidate_ceremonial_claimant_factions_on_death_effect = {
|
|
every_in_list = {
|
|
variable = ceremonial_claimant_factions
|
|
if = {
|
|
limit = {
|
|
exists = faction_war
|
|
}
|
|
faction_war = {
|
|
clear_claimant = yes
|
|
set_casus_belli = depose_war
|
|
}
|
|
faction_remove_war = yes # else the war gets invalidated when we destroy the faction
|
|
}
|
|
destroy_faction = yes
|
|
}
|
|
clear_variable_list = ceremonial_claimant_factions
|
|
}
|
|
|
|
setup_nomadic_leader_effect = {
|
|
save_scope_as = faction
|
|
|
|
random_faction_county_member = {
|
|
save_scope_as = peasant_county
|
|
}
|
|
|
|
# Create a leader for the nomadic faction.
|
|
create_character = {
|
|
location = scope:peasant_county.title_province
|
|
template = nomadic_faction_leader_template
|
|
faith = scope:peasant_county.faith
|
|
culture = scope:peasant_county.culture
|
|
gender_female_chance = {
|
|
if = {
|
|
limit = { scope:peasant_county.faith = { has_doctrine = doctrine_gender_male_dominated } }
|
|
add = 0
|
|
}
|
|
else_if = {
|
|
limit = { scope:peasant_county.faith = { has_doctrine = doctrine_gender_female_dominated } }
|
|
add = 100
|
|
}
|
|
else = {
|
|
add = 50
|
|
}
|
|
}
|
|
save_scope_as = peasant_leader
|
|
}
|
|
scope:peasant_leader = {
|
|
add_character_flag = peasant_faction_random_peasant
|
|
}
|
|
|
|
# Create a new title for the peasant.
|
|
create_dynamic_title = {
|
|
tier = duchy
|
|
name = FACTION_NOMADIC_REVOLT_TITLE_NAME
|
|
}
|
|
create_title_and_vassal_change = {
|
|
type = created
|
|
save_scope_as = change
|
|
add_claim_on_loss = no
|
|
}
|
|
scope:new_title = {
|
|
set_capital_county = scope:peasant_county
|
|
set_landless_title = yes
|
|
set_destroy_on_succession = yes
|
|
set_delete_on_destroy = yes
|
|
set_no_automatic_claims = yes
|
|
set_definitive_form = yes
|
|
set_can_be_named_after_dynasty = no
|
|
change_title_holder = {
|
|
holder = scope:peasant_leader
|
|
change = scope:change
|
|
}
|
|
set_variable = {
|
|
name = faction
|
|
value = scope:faction
|
|
}
|
|
}
|
|
resolve_title_and_vassal_change = scope:change
|
|
scope:peasant_leader = {
|
|
set_variable = {
|
|
name = peasant_title
|
|
value = scope:new_title
|
|
}
|
|
if = {
|
|
limit = {
|
|
is_ruler = yes
|
|
NOT = {
|
|
government_has_flag = government_is_nomadic
|
|
}
|
|
}
|
|
change_government = nomad_government
|
|
}
|
|
}
|
|
scope:new_title = { generate_coa = factions }
|
|
|
|
# Set the peasant leader as the head of the faction.
|
|
scope:peasant_leader = {
|
|
set_variable = {
|
|
name = rebel_leader_peasants
|
|
value = scope:faction
|
|
}
|
|
join_faction_skip_check = scope:faction
|
|
}
|
|
set_special_character = scope:peasant_leader
|
|
}
|
|
|
|
setup_populist_leader_effect = {
|
|
save_scope_as = faction
|
|
|
|
random_faction_county_member = {
|
|
save_scope_as = peasant_county
|
|
}
|
|
|
|
# Runs the scripted effect to find the best title to target for the rebellion.
|
|
get_popular_revolt_target_effect = { FACTION = this }
|
|
|
|
# Find or create a leader for the populist faction.
|
|
scope:target_title = {
|
|
# Look to see if there are any displaced characters who are legitimate claimants to the target title that the populists might support.
|
|
random_claimant = {
|
|
limit = {
|
|
# Checks the 'is_character_valid' and 'can_character_join' triggers above, plus the faction hard/soft blocks in 00_rules.txt
|
|
can_join_faction = scope:faction
|
|
can_join_or_create_faction_against = scope:faction.faction_target
|
|
|
|
# Must share a faith & culture with the revolting county.
|
|
faith = scope:peasant_county.faith
|
|
culture = scope:peasant_county.culture
|
|
|
|
# Must be allowed to rule in their faith.
|
|
trigger_if = {
|
|
limit = {
|
|
faith = { has_doctrine = doctrine_gender_male_dominated }
|
|
}
|
|
is_male = yes
|
|
}
|
|
trigger_else_if = {
|
|
limit = {
|
|
faith = { has_doctrine = doctrine_gender_female_dominated }
|
|
}
|
|
is_female = yes
|
|
}
|
|
trigger_else = {
|
|
always = yes
|
|
}
|
|
|
|
# Must not already be a landed ruler, or set to inheirit a landed title.
|
|
AND = {
|
|
is_ruler = no
|
|
is_playable_character = no
|
|
NOT = {
|
|
any_heir_title = {
|
|
exists = this
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
save_scope_as = peasant_leader
|
|
add_character_flag = peasant_faction_claimant_without_title
|
|
add_trait = populist_leader
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
NOT = { exists = scope:peasant_leader }
|
|
exists = special_character
|
|
}
|
|
special_character = {
|
|
save_scope_as = peasant_leader
|
|
}
|
|
}
|
|
# If we can't find any, then generate a new character to be the populist leader of the revolt.
|
|
else = {
|
|
create_character = {
|
|
location = scope:peasant_county.title_province
|
|
template = populist_faction_leader_template
|
|
faith = scope:peasant_county.faith
|
|
culture = scope:peasant_county.culture
|
|
gender_female_chance = {
|
|
if = {
|
|
limit = { scope:peasant_county.faith = { has_doctrine = doctrine_gender_male_dominated } }
|
|
add = 0
|
|
}
|
|
else_if = {
|
|
limit = { scope:peasant_county.faith = { has_doctrine = doctrine_gender_female_dominated } }
|
|
add = 100
|
|
}
|
|
else = {
|
|
add = 50
|
|
}
|
|
}
|
|
trait = populist_leader
|
|
save_scope_as = peasant_leader
|
|
}
|
|
scope:peasant_leader = {
|
|
add_character_flag = peasant_faction_random_peasant
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
NOT = { exists = scope:peasant_leader.primary_title }
|
|
}
|
|
# Create a new title for the peasant.
|
|
create_dynamic_title = {
|
|
tier = duchy
|
|
name = FACTION_POPULIST_REVOLT_TITLE_NAME
|
|
}
|
|
create_title_and_vassal_change = {
|
|
type = created
|
|
save_scope_as = change
|
|
add_claim_on_loss = no
|
|
}
|
|
scope:new_title = {
|
|
set_capital_county = scope:peasant_county
|
|
set_landless_title = yes
|
|
set_destroy_on_succession = yes
|
|
set_delete_on_destroy = yes
|
|
set_no_automatic_claims = yes
|
|
set_definitive_form = yes
|
|
set_can_be_named_after_dynasty = no
|
|
set_can_use_nomadic_naming = no
|
|
change_title_holder = {
|
|
holder = scope:peasant_leader
|
|
change = scope:change
|
|
}
|
|
set_variable = {
|
|
name = faction
|
|
value = scope:faction
|
|
}
|
|
}
|
|
resolve_title_and_vassal_change = scope:change
|
|
scope:peasant_leader = {
|
|
set_variable = {
|
|
name = peasant_title
|
|
value = scope:new_title
|
|
}
|
|
}
|
|
scope:new_title = { generate_coa = factions }
|
|
|
|
# Set the peasant leader as the head of the faction.
|
|
scope:peasant_leader = {
|
|
set_variable = {
|
|
name = rebel_leader_peasants
|
|
value = scope:faction
|
|
}
|
|
join_faction_skip_check = scope:faction
|
|
}
|
|
set_special_character = scope:peasant_leader
|
|
}
|
|
}
|
|
|
|
setup_peasant_leader_effect = {
|
|
save_scope_as = faction
|
|
# Does a peasant capital county already exist?
|
|
if = {
|
|
limit = {
|
|
NOT = { exists = scope:peasant_county }
|
|
}
|
|
random_faction_county_member = { save_scope_as = peasant_county }
|
|
}
|
|
# Does a peasant leader already exist?
|
|
if = {
|
|
limit = {
|
|
NOT = { exists = scope:peasant_leader }
|
|
}
|
|
create_character = {
|
|
location = scope:peasant_county.title_province
|
|
template = peasant_faction_leader_template
|
|
faith = scope:peasant_county.faith
|
|
culture = scope:peasant_county.culture
|
|
gender_female_chance = {
|
|
if = {
|
|
limit = { scope:peasant_county.faith = { has_doctrine = doctrine_gender_male_dominated } }
|
|
add = 0
|
|
}
|
|
else_if = {
|
|
limit = { scope:peasant_county.faith = { has_doctrine = doctrine_gender_female_dominated } }
|
|
add = 100
|
|
}
|
|
else = {
|
|
add = 50
|
|
}
|
|
}
|
|
save_scope_as = peasant_leader
|
|
}
|
|
}
|
|
scope:peasant_leader = {
|
|
add_character_flag = peasant_faction_random_peasant
|
|
}
|
|
|
|
|
|
create_dynamic_title = {
|
|
tier = duchy
|
|
name = FACTION_PEASANT_TITLE_NAME
|
|
}
|
|
create_title_and_vassal_change = {
|
|
type = created
|
|
save_scope_as = change
|
|
add_claim_on_loss = no
|
|
}
|
|
|
|
scope:new_title = {
|
|
set_capital_county = scope:peasant_county
|
|
set_landless_title = yes
|
|
set_destroy_on_succession = yes
|
|
set_delete_on_destroy = yes
|
|
set_no_automatic_claims = yes
|
|
set_definitive_form = yes
|
|
set_can_be_named_after_dynasty = no
|
|
set_can_use_nomadic_naming = no
|
|
change_title_holder = {
|
|
holder = scope:peasant_leader
|
|
change = scope:change
|
|
}
|
|
|
|
set_variable = {
|
|
name = faction
|
|
value = scope:faction
|
|
}
|
|
|
|
# avoid unused variable error. This variable is referenced in code
|
|
var:faction = {}
|
|
}
|
|
resolve_title_and_vassal_change = scope:change
|
|
scope:peasant_leader = {
|
|
set_variable = {
|
|
name = peasant_title
|
|
value = scope:new_title
|
|
}
|
|
}
|
|
scope:new_title = { generate_coa = factions }
|
|
|
|
scope:peasant_leader = {
|
|
set_variable = {
|
|
name = rebel_leader_peasants
|
|
value = scope:faction
|
|
}
|
|
join_faction_skip_check = scope:faction
|
|
add_trait_xp = {
|
|
trait = peasant_leader
|
|
value = peasant_leader_xp_value
|
|
}
|
|
}
|
|
|
|
set_special_character = scope:peasant_leader
|
|
}
|
|
|
|
faction_spawn_member_county_armies_effect = {
|
|
every_faction_county_member = {
|
|
custom = peasant_faction_every_county
|
|
hidden_effect = {
|
|
save_scope_as = county
|
|
title_province = {
|
|
save_scope_as = county_location
|
|
}
|
|
}
|
|
|
|
# Reduce county control in faction member counties
|
|
change_county_control = peasant_war_starts_county_control_loss
|
|
|
|
# Spawn an army in each faction member county
|
|
custom_tooltip = peasant_faction_spawn_county_levies
|
|
hidden_effect = {
|
|
$ARMY_OWNER$ = {
|
|
spawn_army = {
|
|
levies = scope:county.county_levies_to_raise
|
|
location = scope:county_location
|
|
war = $FACTION$.faction_war
|
|
name = $PEASANT_ARMY_NAME$
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|