This commit is contained in:
Heidesommer 2026-05-30 00:59:58 -04:00
parent 884ac18c56
commit fd2137de30
17 changed files with 13699 additions and 1275 deletions

View file

@ -21,7 +21,7 @@ codex_template = {
learning = 2
stress_gain_mult = 0.15
negate_health_penalty_add = 0.10
catholic_religion_opinion = 20
# catholic_religion_opinion = 20
}
ai_score = {

View file

@ -1473,9 +1473,9 @@ negotiate_settlement_interaction = {
}
# Story blockers.
## Hereward cannot be exiled by active participants in the Harrying of the North.
disable_interaction_for_hereward_trigger = yes
# disable_interaction_for_hereward_trigger = yes
## Hasan cannot be exiled by anyone during his story.
disable_interaction_for_hasan_trigger = yes
# disable_interaction_for_hasan_trigger = yes
}
on_send = {
@ -5700,9 +5700,9 @@ evict_adventurer_interaction = {
}
# Story blockers.
## Hereward cannot be exiled by active participants in the Harrying of the North.
disable_interaction_for_hereward_trigger = yes
# disable_interaction_for_hereward_trigger = yes
## Hasan cannot be exiled by anyone during his story.
disable_interaction_for_hasan_trigger = yes
# disable_interaction_for_hasan_trigger = yes
}
on_send = {

View file

@ -0,0 +1,578 @@
nomadic_faction = {
casus_belli = nomadic_war
leaders_allowed_to_leave = no
player_can_join = no
sort_order = 3
name = FACTION_NOMAD_DYNAMIC_NAME
short_effect_desc = nomadic_faction_short_effect_desc
discontent_progress = {
base = 0
modifier = {
add = 5
desc = "BASE_COLON"
}
}
power_threshold = 0
requires_county = yes
requires_character = no
is_valid = {
always = yes
}
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
holder.top_liege = {
NOR = {
has_government = herder_government
any_owned_story = {
OR = {
story_type = story_greatest_of_khans
story_type = story_mongol_invasion
}
}
}
}
title_province = {
OR = {
has_holding_type = nomad_holding
has_holding_type = herder_holding
}
}
}
can_character_join = {
joined_faction = scope:faction
}
can_county_join = {
title_province = {
OR = {
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
holder.top_liege = {
NOR = {
has_government = herder_government
any_owned_story = {
OR = {
story_type = story_greatest_of_khans
story_type = story_mongol_invasion
}
}
}
}
title_province = {
OR = {
has_holding_type = nomad_holding
has_holding_type = herder_holding
}
}
####
# BLOCKERS
####
# General Faction immunity
custom_description = {
text = character_is_immune_to_factions
subject = scope:target
NOT = { scope:target = { immune_to_factions_trigger = yes } }
}
}
can_character_become_leader = {
always = yes
}
county_create_score = {
base = -5
compare_modifier = { # Non-nomads get it at -15 county opinion
trigger = {
scope:target = {
NOT = { government_has_flag = government_is_nomadic }
}
}
value = county_opinion
multiplier = -2
desc = "FACTION_REASON_COUNTY_OPINION"
}
compare_modifier = { # Nomads get it at roughly -35 county opinion
trigger = {
scope:target = {
government_has_flag = government_is_nomadic
}
}
value = county_opinion
multiplier = -1
desc = "FACTION_REASON_COUNTY_OPINION"
}
# If the targeted ruler isn't nomadic... time to rumble
modifier = {
add = 20
scope:target = {
NOR = {
government_has_flag = government_is_nomadic
government_has_flag = government_is_herder
}
}
desc = "FACTION_REASON_DISLIKE_NON_NOMADS"
}
legalism_virtue_and_sin_modifier = {
TARGET = scope:target
SCORE_PER_TRAIT = 10
}
# Realm Stability Settings
modifier = {
add = 25
has_game_rule = lesser_realm_stability
}
modifier = {
add = -25
has_game_rule = higher_realm_stability
}
modifier = {
add = -50
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 = -25
has_game_rule = higher_realm_stability_ai_only
scope:target = {
is_ai = yes
}
}
modifier = {
desc = "FACTION_REASON_GAME_RULE_REALM_STABILITY_EXTREME"
add = -50
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 }
}
# 10-year 'grace period' from nomadic 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 = 0
compare_modifier = { # Non-nomads get it at -10 county opinion
trigger = {
scope:faction.faction_target = {
NOT = { government_has_flag = government_is_nomadic }
}
}
value = county_opinion
multiplier = -2
desc = "FACTION_REASON_COUNTY_OPINION"
}
compare_modifier = { # Nomads get it at roughly -30 county opinion
trigger = {
scope:faction.faction_target = {
government_has_flag = government_is_nomadic
}
}
value = county_opinion
multiplier = -1
desc = "FACTION_REASON_COUNTY_OPINION"
}
# If the targeted ruler isn't nomadic... time to rumble
modifier = {
add = 10
scope:faction.faction_target = {
NOR = {
government_has_flag = government_is_nomadic
government_has_flag = government_is_herder
}
}
desc = "FACTION_REASON_DISLIKE_NON_NOMADS"
}
legalism_virtue_and_sin_modifier = {
TARGET = scope:faction.faction_target
SCORE_PER_TRAIT = 10
}
# 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 = -25
has_game_rule = higher_realm_stability
}
modifier = {
desc = "FACTION_REASON_GAME_RULE_REALM_STABILITY_EXTREME"
add = -50
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 = -25
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 = -50
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 }
}
}
county_power = county_horde_riders_to_raise_power
ai_join_score = {
}
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 = {
save_temporary_scope_as = destroyer_of_titles
if = {
limit = {
has_variable = peasant_title
exists = this.var:peasant_title.holder
}
destroy_title = this.var:peasant_title
}
if = {
limit = {
NOT = {
has_character_flag = successful_nomad_revolt_leader
}
}
every_held_title = {
limit = {
is_landless_type_title = yes
}
scope:destroyer_of_titles = { destroy_title = prev }
}
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_nomadic_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 = -50
}
}
# Save scopes that will be used in the demand event.
save_scope_as = faction
special_character = {
save_scope_as = peasant_leader
}
# Check for relevant vassals that owns any land targeted by the faction.
save_temporary_scope_as = county_faction
every_faction_county_member = {
limit = {
holder = {
NOT = { this = scope:faction.faction_target }
NOT = { is_in_list = nomadic_faction_vassal_targets }
}
}
holder = {
add_to_list = nomadic_faction_vassal_targets
}
}
every_faction_county_member = {
holder = {
every_liege_or_above = {
limit = {
NOT = { this = scope:faction.faction_target }
NOT = { is_in_list = nomadic_faction_vassal_targets }
}
add_to_list = nomadic_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 = nomadic_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.9998
}
}
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 = {
if = {
limit = {
NOT = {
is_in_list = areas_of_rebellion
}
}
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
}
}
order_by = county_fertility
title_province = {
save_temporary_scope_as = local_center_of_rebellion
}
}
# Spawn the faction troops in the designated location.
root.faction_leader = {
spawn_nomadic_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
add_trait = nomadic_philosophy
}
}
# 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 = no
multiple_targeting = no
}

View file

@ -0,0 +1,740 @@
@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
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,378 @@
== Structure ==
This documentation does not currently include all possible parameters due to the limited knowledge of the author.
# Identifier for the faction is also used for localizing the name & description.
<faction key> = {
# Dynamic name, will look for the identifier of the type (faction_name) if doesn't exist or if it's empty.
name = [loc_key|dynamic descriotion]
# Dynamic description, will look for the identifier of the type + _desc (faction_name_desc) if doesn't exist or if it's empty.
description = [loc_key|dynamic description]
# Dynamic description of the effect, used to summarize faction goals
short_effect_desc = [loc_key|dynamic description]
## Faction with claimant for a title
#
# Faction needs a character and a title to properly function.
# Used for claimant factions where a character and a title must be provided by the player.
#
# Default: no
#
claimant = <yes/no>
## Character interaction creates the faction (optional)
#
# Used for claimant factions where a character and a title must be provided by the player.
#
# Enabling this will replace the original behaviour of the faction buttons in the faction window.
# Instead of starting a faction it will pop up a window for a character interaction.
# The character interaction is then responsible for starting the faction.
#
character_interaction = <character interaction key>
## Effect fired when a faction of this type is created.
#
# Scopes:
# - root: the faction
#
on_creation = <effets>
## Effect fired when a faction of this type is destroyed.
#
# Scopes:
# - root: the faction
#
on_destroy = <effects>
## Effect that will launch when the demand triggers.
#
# Scopes:
# - root: the faction
#
demand = <effects>
# Effect that will launch every NDefines::NFaction::UPDATE_INTERVAL_DAYS.
#
# Scopes:
# - root: the faction
#
update_effect = <effects>
## Effect that will launch when the faction declares war.
#
# Scopes:
# - root: the faction
#
on_declaration = <effects>
## Effect that will launch when a character leaves the faction.
#
# Scopes:
# - root: the faction
# - faction_member: The leaving faction member
#
character_leaves = <effects>
## Effect that will launch when the leader leaves the faction.
#
# Scopes:
# - root: the faction
# - faction_member: The leaving faction member
#
leader_leaves = <effects>
## Does AI character want to join?
#
# MTTH that calculates the the score to join an active faction of this type.
#
# Scopes:
# - root: character that might join.
# - faction: target is the active faction.
#
# Note that the score is then modified by code to weigh in the effects of Boldness/Dread, Energy and Rationality.
# See NFaction AI defines.
#
ai_join_score = <mtth>
# MTTH that calculates the the score to create an active faction of this type.
#
# Uses the SCOPE_CHARACTER of the character that tries to create it.
# - target: target is the targeted character.
#
# The claimant faction has two additional scopes:
# - claimant: (who is the potential claimant)
# - title: (the title to claim for).
#
# Note that the score is then modified by code to weigh in the effects of Boldness/Dread, Energy and Rationality. See NFaction AI defines.
ai_create_score = <mtth>
## MTTH that calculates the score to join an active faction of this type.
#
# Scopes:
# - root: the title that tries to join
# - faction: target is the active faction.
#
county_join_score = <mtth>
## MTTH that calculates the score to create an active faction of this type.
#
# Scopes:
# - root: the title that tries to create it.
# - target: the targeted character.
#
# If the score is >= NDefines::NFaction::COUNTY_CREATE_MIN_SCORE, and it gets a random chance 0-100 on a monthly update.
#
county_create_score = <mtth>
## Script value defining the absolute power of a single county member.
#
# The final power is calculated as ratio of this power and the target's military strength.
#
county_power = <script value>
## MTTH that calculates the score to trigger the demand effect of active faction of this type.
#
# Scope:
# - root: the faction
#
# Checked once a month
#
ai_demand_chance = <mtth>
## MTTH that calculates the discontent progress change of the active faction.
#
# Scope:
# - root: the faction
#
discontent_progress = <mtth>
## MTTH for power threshold at which the discontent starts ticking up.
#
# Scopes:
# - root: the faction
#
# NFaction::DEFAULT_POWER_THRESHOLD define if not set
#
power_threshold = <mtth>
## Trigger to check if the faction is still valid.
#
# Scopes:
# - root: the faction
#
is_valid = <triggers>
## Trigger to check if the faction type should be shown to the player
#
# Scopes:
# - root: the player
#
is_shown = <triggers>
## Trigger to check if a character is still valid to be part of the faction.
#
# Scopes:
# - root: the member character
# - faction: the faction
#
is_character_valid = <triggers>
## Trigger to check if a county is still valid to be part of the faction.
#
# Scopes:
# - root: the county county
# - faction: the active faction
#
is_county_valid = <triggers>
## Trigger to check if a character can join the active faction.
#
# Scopes:
# - root: the character that tries to join.
# - faction: the active faction.
#
# The is_character_valid check ais automatically included, so its triggers should not be repeated here.
#
can_character_join = <triggers>
## Trigger to check if a character can create the active faction.
#
# Scopes:
# - root: the character that tries to create.
# - SCOPE:target target is target character of the faction.
#
can_character_create = <triggers>
## Can faction be created by a player?
#
# Trigger to check if the button to create a faction will be enabled.
#
# Scopes:
# - root: the character that might create a faction of this type
# - target: target character of the faction
#
# Falls back to the regular can_character_create triggers if left empty.
#
can_character_create_ui = <triggers> # ???
## Trigger to check if a member character can become the leader of the faction.
#
# Scopes:
# - root: the character attempting to become leader
# - faction: the faction
#
can_character_become_leader = <triggers>
## Trigger to check if a title can join the active faction
#
# Scopes:
# - root: landed title that tries to join
# - faction: the active faction.
#
# Note: is_county_valid is automatically included and its triggers should not be repeated here.
#
can_county_join = <triggers>
# Trigger to check if a title can create the active faction.
#
# Scopes:
# - root: the title that tries to create this faction
# - target: character that the faction is intended to target
#
can_county_create = <triggers>
## Are characters allowed to create this at all?
#
# Default: yes
#
character_allow_create = <yes/no>
## Are characters allowed to join all?
#
# Default: yes
#
character_allow_join = <yes/no>
## Is county allowed to create this faction type?
#
# Default: yes
#
county_allow_create = <yes>
## Is a county allow joint this faction type?
#
# Default: yes
#
county_allow_join = <yes/no>
## Is the leader allowed to leave the faction?
#
# (used for faction that create leaders)
#
# Default: yes
#
leaders_allowed_to_leave = <yes/no>
## Are player characters allowed to join?
#
# When not allowed the join button for this faction type will be hidden for players.
#
# Default: yes
#
player_can_join = <yes/no>
## Can the target have more of one faction of this type targeting them?
#
# Default: no
#
multiple_targeting = <yes/no>
# The casus belly to be executed for the war
casus_belli = <casus belly key>
# How the special character of this faction will be called
special_character_title = <loc key>
## Will this faction ignore the faction soft block?
#
# Default: no
#
ignore_soft_block = <yes/no>
## Inherit membership?
#
# Heirs that changed liege or tier as a result of succession will inherit faction membership.
#
# Default: yes
#
inherit_membership = <yes/no>
## Requires at least one county member, otherwise it will be destroyed.
#
# Default: no
#
requires_county = <yes/no>
## Requires at least one character member, otherwise it will be destroyed.
#
# Default: yes
#
requires_character = <yes/no>
## Requires a valid faction leader, otherwise it will be destroyed.
#
# Default: no
#
requires_leader = <yes/no>
## Will counties switch factions?
#
# Make counties leave this faction if there's a better factions available for them to join or create
#
# Default: no
#
county_can_switch_to_other_faction = <yes/no>
# Order to sort factions in the UI. Lower value => higher in list.
#
# Default: 0
#
sort_order = 1..n
## Should the special title be shown in the interface or not?
#
# Default: no
#
show_special_title = <yes/no>
}
== Event targets ==
[SCOPE_FACTION.faction_target] - Links to the character targeting the faction
[SCOPE_FACTION.faction_leader] - Links to the character leading the faction
[SCOPE_FACTION.faction_war] - Links to the faction war
[SCOPE_FACTION.special_character] - Links to the special character
[SCOPE_FACTION.special_title] - Links to the special title
[SCOPE_CHARACTER.leading_faction] - Links to the faction is leading. Null faction if it's not leading any faction
[SCOPE_CHARACTER.joined_faction] - Links to the faction the character is in. Null faction if it's not in any faction
== Related loc/UI functions ==
[Faction.GetName] - Gets the name of the faction type. E.G., "Independent Faction"
[Faction.GetDescription] - Gets the description of the faction type
[Faction.GetDiscontent] - Gets the current dicontent of the faction
[Faction.IsAtWar] - Gets if the faction is currently at war
[Faction.GetPower] - Gets tthe current power of the faction
[Faction.GetTarget] - Gets the target character of the faction
[Faction.GetLeader] - Gets the leader of the faction
[Faction.GetSpecialCharacter] - Gets the special character of the faction
[Faction.GetSpecialTitle] - Gets the special title of the faction
[Faction.GetSpecialCharacterTitle] - Gets the title for the faction's special character eg: Claimant, Leader etc.
[Faction.HasSpecialCharacter] - Checks if there is a special character of the faction
[Faction.HasSpecialTitle] - Checks if there is a special title of the faction
== Related lists ==
[targeting_faction] - List of the factions targeting the SCOPE_CHARCTER
[faction_member] - List of the character members in the SCOPE_FACTION
[faction_county_member] - List of the county members in the SCOPE_FACTION

View file

@ -384,7 +384,7 @@ count_theocracy_male_bon_religion = {
tier = county
priority = 18
governments = { theocracy_government }
religions = { taoism_religion zunism_religion }
religions = { taoism_religion }
flavourization_rules = {
top_liege = no
}
@ -396,7 +396,7 @@ count_theocracy_female_bon_religion = {
tier = county
priority = 18
governments = { theocracy_government }
religions = { taoism_religion zunism_religion }
religions = { taoism_religion }
flavourization_rules = {
top_liege = no
}
@ -456,7 +456,7 @@ emperor_feudal_male_novelist_religion = {
religions = { novelist_religion }
heritages = { heritage_french }
flavourization_rules = {
independent = yes
only_independent = yes
}
}
emperor_feudal_female_novelist_religion = {
@ -469,7 +469,7 @@ emperor_feudal_female_novelist_religion = {
religions = { novelist_religion }
heritages = { heritage_french }
flavourization_rules = {
independent = yes
only_independent = yes
}
}
empire_feudal_novelist_religion = {
@ -479,7 +479,7 @@ empire_feudal_novelist_religion = {
religions = { novelist_religion }
heritages = { heritage_french }
flavourization_rules = {
independent = yes
only_independent = yes
}
priority = 103
}
@ -494,7 +494,7 @@ duke_feudal_male_novelist_religion = {
religions = { novelist_religion }
heritages = { heritage_french }
flavourization_rules = {
independent = yes
only_independent = yes
}
}
duke_feudal_female_novelist_religion = {
@ -507,7 +507,7 @@ duke_feudal_female_novelist_religion = {
religions = { novelist_religion }
heritages = { heritage_french }
flavourization_rules = {
independent = yes
only_independent = yes
}
}
duke_feudal_novelist_religion = {
@ -517,7 +517,7 @@ duke_feudal_novelist_religion = {
religions = { novelist_religion }
heritages = { heritage_french }
flavourization_rules = {
independent = yes
only_independent = yes
}
priority = 40
}
@ -950,7 +950,7 @@ barony_theocracy_germanic_religion = {
}
priority = 7
holding = church_holding
religions = { folkgerman_religion theomach_religion taoism_religion zunism_religion }
religions = { folkgerman_religion theomach_religion taoism_religion }
}
count_theocracy_male_germanic_religion = {
type = character
@ -984,7 +984,7 @@ county_theocracy_germanic_religion = {
}
priority = 18
governments = { theocracy_government }
religions = { folkgerman_religion theomach_religion taoism_religion zoroastrianism_religion zunism_religion }
religions = { folkgerman_religion theomach_religion taoism_religion zoroastrianism_religion }
}
king_theocracy_male_germanic_religion = {
type = character
@ -1926,7 +1926,7 @@ baron_theocracy_male_paganism_religion = {
top_liege = no
}
governments = { theocracy_government }
religions = { paganism_religion hungaric_religion baltic_religion slavic_religion finnic_religion } #tengrism_religion
religions = { hungaric_religion baltic_religion slavic_religion finnic_religion } #tengrism_religion
}
baron_theocracy_female_paganism_religion = {
type = character
@ -1950,30 +1950,30 @@ barony_theocracy_paganism_religion = {
holding = church_holding
religions = { hungaric_religion baltic_religion slavic_religion finnic_religion } #west_african_religion west_african_bori_religion west_african_roog_religion tengrism_religion paganism_religion
}
count_theocracy_male_paganism_religion = {
type = character
gender = male
special = holder
tier = county
priority = 18
flavourization_rules = {
top_liege = no
}
governments = { theocracy_government }
religions = { paganism_religion } #tengrism_religion
}
count_theocracy_female_paganism_religion = {
type = character
gender = female
special = holder
tier = county
priority = 18
flavourization_rules = {
top_liege = no
}
governments = { theocracy_government }
religions = { paganism_religion } #tengrism_religion
}
#count_theocracy_male_paganism_religion = {
# type = character
# gender = male
# special = holder
# tier = county
# priority = 18
# flavourization_rules = {
# top_liege = no
# }
# governments = { theocracy_government }
# religions = { } #tengrism_religion
#}
#count_theocracy_female_paganism_religion = {
# type = character
# gender = female
# special = holder
# tier = county
# priority = 18
# flavourization_rules = {
# top_liege = no
# }
# governments = { theocracy_government }
# religions = { } #tengrism_religion
#}
county_theocracy_paganism_religion = {
type = title
tier = county
@ -2016,7 +2016,7 @@ duchy_theocracy_paganism_religion = {
}
priority = 27
governments = { theocracy_government }
religions = { paganism_religion hungaric_religion baltic_religion slavic_religion finnic_religion folkgerman_religion buddhism_religion hinduism_religion jainism_religion judaism_religion } #tengrism_religion west_african_religion west_african_bori_religion west_african_roog_religion zunism_religion zoroastrianism_religion bon_religion taoism_religion
religions = { hungaric_religion baltic_religion slavic_religion finnic_religion folkgerman_religion buddhism_religion hinduism_religion jainism_religion judaism_religion } #tengrism_religion west_african_religion west_african_bori_religion west_african_roog_religion zunism_religion zoroastrianism_religion bon_religion taoism_religion
}
king_theocracy_male_paganism_religion = {
type = character
@ -2050,7 +2050,7 @@ kingdom_theocracy_paganism_religion = {
}
priority = 47
governments = { theocracy_government }
religions = { paganism_religion hungaric_religion baltic_religion slavic_religion finnic_religion folkgerman_religion theomach_religion zunism_religion zoroastrianism_religion bon_religion taoism_religion buddhism_religion hinduism_religion jainism_religion judaism_religion } #tengrism_religion west_african_religion west_african_bori_religion west_african_roog_religion
religions = { hungaric_religion baltic_religion slavic_religion finnic_religion folkgerman_religion theomach_religion zunism_religion zoroastrianism_religion bon_religion taoism_religion buddhism_religion hinduism_religion jainism_religion judaism_religion } #tengrism_religion west_african_religion west_african_bori_religion west_african_roog_religion
}
emperor_theocracy_male_paganism_religion = {
type = character
@ -2062,7 +2062,7 @@ emperor_theocracy_male_paganism_religion = {
top_liege = no
}
governments = { theocracy_government }
religions = { paganism_religion hungaric_religion baltic_religion slavic_religion finnic_religion taoism_religion zoroastrianism_religion } #tengrism_religion west_african_religion west_african_bori_religion west_african_roog_religion
religions = { hungaric_religion baltic_religion slavic_religion finnic_religion taoism_religion zoroastrianism_religion } #tengrism_religion west_african_religion west_african_bori_religion west_african_roog_religion
}
emperor_theocracy_female_paganism_religion = {
type = character
@ -2074,7 +2074,7 @@ emperor_theocracy_female_paganism_religion = {
top_liege = no
}
governments = { theocracy_government }
religions = { paganism_religion hungaric_religion baltic_religion slavic_religion finnic_religion taoism_religion tengrism_religion west_african_religion west_african_bori_religion west_african_roog_religion zoroastrianism_religion }
religions = { paganism_religion hungaric_religion baltic_religion slavic_religion finnic_religion taoism_religion zoroastrianism_religion } #tengrism_religion west_african_religion west_african_bori_religion west_african_roog_religion
}
empire_theocracy_paganism_religion = {
type = title
@ -2084,7 +2084,7 @@ empire_theocracy_paganism_religion = {
}
priority = 102
governments = { theocracy_government }
religions = { paganism_religion hungaric_religion baltic_religion slavic_religion finnic_religion tengrism_religion west_african_religion west_african_bori_religion west_african_roog_religion folkgerman_religion theomach_religion taoism_religion zunism_religion zoroastrianism_religion judaism_religion }
religions = { hungaric_religion baltic_religion slavic_religion finnic_religion folkgerman_religion theomach_religion taoism_religion zoroastrianism_religion judaism_religion } #tengrism_religion west_african_religion west_african_bori_religion west_african_roog_religion zunism_religion
}
# Baltic

View file

@ -8752,7 +8752,7 @@ on_game_start_after_lobby = {
}
events = {
game_rule.1011 #Hungarian Migration management.
# game_rule.1011 #Hungarian Migration management.
historical_artifacts.0023 # Historical Artifacts Generator
coronation_events.0302 # ACH crown giveaway
}

View file

@ -3051,7 +3051,7 @@
desc = tenet_bhakti_name
}
triggered_desc = {
faith = faith:folketro
trigger = { faith = faith:folketro }
desc = tenet_bhakti_folketro_name
}
desc = tenet_bhakti_patron_god_name
@ -3061,7 +3061,7 @@
desc = {
first_valid = {
triggered_desc = {
faith = faith:folketro
trigger = { faith = faith:folketro }
desc = tenet_bhakti_folketro_desc
}
desc = tenet_bhakti_desc

File diff suppressed because it is too large Load diff

View file

@ -1237,7 +1237,7 @@
doctrine = doctrine_deviancy_accepted
doctrine = doctrine_witchcraft_virtuous
doctrine = doctrine_deviancy_accepted
doctrine = doctrine_clerical_function_control
doctrine = doctrine_clerical_function_recruitment
doctrine = doctrine_adultery_men_accepted
doctrine = doctrine_adultery_women_accepted

View file

@ -29,7 +29,7 @@ slavic_religion = { #placeholder
#Clerical Functions | placeholder
doctrine = doctrine_clerical_function_recruitment
doctrine = doctrine_clerical_marriage_allowed
doctrine = doctrine_clerical_succession_temporal_revokeable
doctrine = doctrine_clerical_succession_temporal
doctrine = doctrine_clerical_gender_either
#Allow pilgrimages | placeholder
@ -269,7 +269,7 @@ slavic_religion = { #placeholder
doctrine = doctrine_no_head
doctrine = doctrine_pilgrimage_local_rites
doctrine = doctrine_funeral_bewailment # Keening
doctrine = doctrine_witchcraft_criminal
doctrine = doctrine_witchcraft_crime
doctrine = doctrine_clerical_gender_male_only
doctrine = doctrine_theocracy_temporal

View file

@ -1570,51 +1570,51 @@ great_holy_war_target_kingdom_weight = {
}
add = ghw_target_fringe
}
# Zunist heartlands
else_if = {
limit = {
scope:the_faith.religion = religion:zunism_religion
title_capital_county.title_province = { geographical_region = ghw_region_afghanistan }
}
add = ghw_target_heartlands
}
# Zunist frontier
else_if = {
limit = {
scope:the_faith.religion = religion:zunism_religion
title_capital_county.title_province = {
OR = {
geographical_region = ghw_region_western_india
geographical_region = ghw_region_persia
geographical_region = ghw_region_transoxiana
}
}
}
add = ghw_target_frontier
}
# Zunist fringe
else_if = {
limit = {
scope:the_faith.religion = religion:zunism_religion
title_capital_county.title_province = {
OR = {
geographical_region = ghw_region_caucasus
geographical_region = ghw_region_holy_land
geographical_region = ghw_region_near_east
geographical_region = ghw_region_southwestern_india
}
}
}
add = ghw_target_fringe
}
# Zunist stretch goal
else_if = {
limit = {
scope:the_faith.religion = religion:zunism_religion
title_capital_county.title_province = { geographical_region = ghw_region_egypt }
}
add = ghw_target_stretch
}
# # Zunist heartlands
# else_if = {
# limit = {
# scope:the_faith.religion = religion:zunism_religion
# title_capital_county.title_province = { geographical_region = ghw_region_afghanistan }
# }
# add = ghw_target_heartlands
# }
# # Zunist frontier
# else_if = {
# limit = {
# scope:the_faith.religion = religion:zunism_religion
# title_capital_county.title_province = {
# OR = {
# geographical_region = ghw_region_western_india
# geographical_region = ghw_region_persia
# geographical_region = ghw_region_transoxiana
# }
# }
# }
# add = ghw_target_frontier
# }
# # Zunist fringe
# else_if = {
# limit = {
# scope:the_faith.religion = religion:zunism_religion
# title_capital_county.title_province = {
# OR = {
# geographical_region = ghw_region_caucasus
# geographical_region = ghw_region_holy_land
# geographical_region = ghw_region_near_east
# geographical_region = ghw_region_southwestern_india
# }
# }
# }
# add = ghw_target_fringe
# }
# # Zunist stretch goal
# else_if = {
# limit = {
# scope:the_faith.religion = religion:zunism_religion
# title_capital_county.title_province = { geographical_region = ghw_region_egypt }
# }
# add = ghw_target_stretch
# }
# Hellenic heartlands
else_if = {
limit = {

View file

@ -58,25 +58,25 @@ setup_tributaries_effect = {
## $TRIBUTARY$ = the new tributary
## $SUZERAIN$ = their suzerain
## $WAR$ = determines if this was caused by war or agreement, yes or no
#break_subject_contract_and_establish_tributary_effect = {
# if = {
# limit = { liege != this }
# create_title_and_vassal_change = {
# type = independency
# save_scope_as = change
# add_claim_on_loss = no
# }
# becomes_independent = {
# change = scope:change
# }
# resolve_title_and_vassal_change = scope:change
# }
# start_tributary_interaction_effect = {
# SUZERAIN = $SUZERAIN$
# TRIBUTARY = $TRIBUTARY$
# }
#}
#
break_subject_contract_and_establish_tributary_effect = {
if = {
limit = { liege != this }
create_title_and_vassal_change = {
type = independency
save_scope_as = change
add_claim_on_loss = no
}
becomes_independent = {
change = scope:change
}
resolve_title_and_vassal_change = scope:change
}
start_tributary_interaction_effect = {
SUZERAIN = $SUZERAIN$
TRIBUTARY = $TRIBUTARY$
}
}
#mpo_867_tributary_setup_effect = {
##
## #### k_magyar

View file

@ -1,4 +1,6 @@
historical_artifacts.999 = {
namespace = historical_artifacts
historical_artifacts.999 = {
scope = none
hidden = yes
@ -12,9 +14,6 @@
create_artifact_crown_wenceslas_effect = { OWNER = this }
}
}
}
immediate = {
if = {
limit = {
has_dlc_feature = royal_court
@ -24,9 +23,6 @@
create_artifact_codex_gigas_effect = { OWNER = this }
}
}
}
immediate = {
if = {
limit = {
has_dlc_feature = royal_court
@ -36,15 +32,10 @@
create_artifact_sword_wenceslas_effect = { OWNER = this }
}
}
}
immediate = {
title:d_bacs.holder = {
create_artifact_crown_stephen_effect = { OWNER = this }
}
}
immediate = {
title:k_france.holder = {
create_artifact_crown_charlemagne_effect = { OWNER = this }
}

7421
events/game_rule_events.txt Normal file

File diff suppressed because it is too large Load diff