4074 lines
96 KiB
Text
4074 lines
96 KiB
Text
namespace = faction_demand
|
|
|
|
##################################################
|
|
# GENERAL SCRIPTED TRIGGERS & EFFECTS
|
|
|
|
scripted_trigger faction_leader_would_consider_turning_down_co_emperorship_trigger = {
|
|
OR = {
|
|
is_ai = no
|
|
# Won't change their mind.
|
|
AND = {
|
|
has_trait = stubborn
|
|
NOR = {
|
|
has_trait = arrogant
|
|
has_trait = ambitious
|
|
}
|
|
}
|
|
# Eyes on the prize.
|
|
AND = {
|
|
has_trait = humble
|
|
NOT = { has_trait = ambitious }
|
|
}
|
|
# Not swayed by high office.
|
|
AND = {
|
|
has_trait = content
|
|
NOT = { has_trait = arrogant }
|
|
}
|
|
}
|
|
}
|
|
|
|
scripted_trigger faction_target_can_attempt_to_bribe_with_co_emperorship_trigger = {
|
|
may_appoint_co_emperors_trigger = yes
|
|
has_active_diarchy = no
|
|
}
|
|
|
|
scripted_effect faction_demand_counter_offer_co_rule_start_diarchy_effect = {
|
|
custom_tooltip = {
|
|
text = faction_demand.0000.enter_co_rule_avoiding_worst_effects
|
|
try_start_diarchy = co_emperorship
|
|
set_diarch = scope:faction_leader
|
|
change_diarchy_swing = 30
|
|
reverse_add_opinion = {
|
|
target = scope:faction_leader
|
|
modifier = respect_opinion
|
|
opinion = 50
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
##################################################
|
|
# EVENTS
|
|
|
|
##################################################
|
|
# Independence Faction
|
|
# by Joakim Andreasson & Ismael Serrano
|
|
# 0001 - 0010
|
|
##################################################
|
|
|
|
scripted_effect faction_demand_independence_counter_offer_corule_accepted_effect = {
|
|
add_dread = medium_dread_loss
|
|
# LEGITIMACY LOSS FOR ACCEPTING FACTION DEMANDS
|
|
faction_accept_demand_legitimacy_effect = yes
|
|
custom_tooltip = {
|
|
text = faction_demand.0000.truce_from_co_rule
|
|
scope:faction = {
|
|
every_faction_member = {
|
|
save_scope_as = recipient # Ensuring it localizes correctly
|
|
add_truce_both_ways = {
|
|
character = scope:faction.faction_target
|
|
years = faction_counter_offer_appointed_co_emperor_value
|
|
name = ep3_truce_appointed_faction_leader_coruler
|
|
}
|
|
}
|
|
}
|
|
}
|
|
add_prestige = {
|
|
value = medium_prestige_value
|
|
multiply = -1
|
|
}
|
|
scope:faction = { destroy_faction = yes }
|
|
}
|
|
|
|
scripted_effect faction_demand_independence_rejected_effect = {
|
|
# This effect should always be placed here, _before_ all the other effects in the block.
|
|
trigger_event = { on_action = on_faction_demand_rejected }
|
|
|
|
show_as_tooltip = {
|
|
scope:faction = {
|
|
custom_tooltip = faction_starts_war.tt.replacement
|
|
}
|
|
}
|
|
|
|
if = {
|
|
limit = {
|
|
scope:faction = {
|
|
faction_is_type = independence_faction
|
|
}
|
|
}
|
|
scope:faction = {
|
|
every_faction_member = {
|
|
save_scope_as = char_temp
|
|
add_clan_unity_interaction_effect = {
|
|
CHARACTER = scope:char_temp
|
|
TARGET = root
|
|
VALUE = medium_unity_loss
|
|
DESC = clan_unity_joined_independence_faction.desc
|
|
REVERSE_NON_HOUSE_TARGET = no
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Independence Faction Demand
|
|
# by Joakim Andreasson
|
|
faction_demand.0001 = {
|
|
type = letter_event
|
|
sender = scope:faction_leader
|
|
opening = {
|
|
desc = "FACTION_DEMAND_INDEPENDENCE"
|
|
}
|
|
desc = "FACTION_DEMAND_INDEPENDENCE_DESC"
|
|
|
|
trigger = {
|
|
# May have ceased to exist by the time this triggers
|
|
exists = scope:faction
|
|
}
|
|
|
|
immediate = {
|
|
# Grab our scope for loc.
|
|
save_scope_as = faction_target
|
|
}
|
|
|
|
# Accept.
|
|
option = {
|
|
name = "FACTION_DEMAND_ACCEPT"
|
|
|
|
# This effect should always be placed here, _before_ all the other effects in the block.
|
|
trigger_event = { on_action = on_faction_demand_accepted }
|
|
|
|
root = {
|
|
save_scope_as = faction_target
|
|
add_dread = medium_dread_loss
|
|
# LEGITIMACY LOSS FOR ACCEPTING FACTION DEMANDS
|
|
faction_accept_demand_legitimacy_effect = yes
|
|
}
|
|
|
|
create_title_and_vassal_change = {
|
|
type = independency
|
|
save_scope_as = change
|
|
add_claim_on_loss = no
|
|
}
|
|
|
|
scope:faction = {
|
|
every_faction_member = {
|
|
change_liege_or_become_independent = {
|
|
CHANGE = scope:change
|
|
VASSAL = this
|
|
}
|
|
|
|
hidden_effect = {
|
|
save_scope_as = recipient # Ensuring it localizes correctly
|
|
add_truce_both_ways = {
|
|
character = root
|
|
days = 1825
|
|
name = TRUCE_GRANT_INDEPENDENCE
|
|
}
|
|
|
|
# Struggle Catalysts.
|
|
if = {
|
|
limit = {
|
|
is_important_or_vip_struggle_character = yes
|
|
any_character_struggle = {
|
|
involvement = involved
|
|
activate_struggle_catalyst_secondary_character_involvement_involved_trigger = {
|
|
CATALYST = catalyst_gave_independence_to_powerful_diff_faith_culture_vassal
|
|
CHAR = scope:recipient
|
|
}
|
|
}
|
|
}
|
|
every_character_struggle = {
|
|
involvement = involved
|
|
limit = {
|
|
activate_struggle_catalyst_secondary_character_involvement_either_trigger = {
|
|
CATALYST = catalyst_gave_independence_to_powerful_diff_faith_culture_vassal
|
|
CHAR = scope:recipient
|
|
}
|
|
}
|
|
activate_struggle_catalyst = catalyst_gave_independence_to_powerful_diff_faith_culture_vassal
|
|
}
|
|
}
|
|
}
|
|
|
|
trigger_event = faction_demand.0002
|
|
}
|
|
}
|
|
|
|
resolve_title_and_vassal_change = scope:change
|
|
|
|
add_prestige = {
|
|
value = medium_prestige_value
|
|
multiply = -1
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 1
|
|
modifier = {
|
|
add = 99
|
|
scope:faction = { faction_power >= 100 }
|
|
}
|
|
modifier = {
|
|
add = 50
|
|
scope:faction = { faction_power >= 125 }
|
|
}
|
|
modifier = {
|
|
add = 50
|
|
scope:faction = { faction_power >= 150 }
|
|
}
|
|
modifier = {
|
|
add = 50
|
|
scope:faction = { faction_power >= 200 }
|
|
}
|
|
modifier = {
|
|
factor = 0.1
|
|
any_ally = {
|
|
NOR = {
|
|
target_is_liege_or_above = root
|
|
target_is_vassal_or_below = root
|
|
}
|
|
max_military_strength > root.max_military_strength
|
|
}
|
|
}
|
|
compare_modifier = {
|
|
value = debt_level
|
|
multiplier = 25
|
|
}
|
|
modifier = {
|
|
add = -50
|
|
is_at_war = no
|
|
primary_title.tier >= tier_kingdom
|
|
}
|
|
modifier = {
|
|
add = -150
|
|
is_at_war = no
|
|
primary_title.tier >= tier_empire
|
|
}
|
|
modifier = {
|
|
add = -5000
|
|
OR = {
|
|
#mpo_has_gok_mongol_empire_trigger = yes
|
|
#has_title = title:e_ilkhanate
|
|
#has_title = title:e_golden_horde
|
|
#has_title = title:e_chagatai
|
|
#has_title = title:e_red_horde
|
|
#has_title = title:e_white_horde
|
|
#has_title = title:e_aarlud_khanate
|
|
#has_title = title:e_togskol_khanate
|
|
#has_title = title:e_baruun_khanate
|
|
#has_title = title:e_great_yuan
|
|
#has_title = title:e_blue_horde
|
|
#has_title = title:e_omnod_dalai_khanate
|
|
has_title = title:e_byzantium
|
|
has_variable = conqueror
|
|
}
|
|
}
|
|
modifier = {
|
|
add = 10000
|
|
scope:faction_leader = { is_yes_men_enabled = yes }
|
|
}
|
|
}
|
|
}
|
|
|
|
# Attempt to bribe.
|
|
option = {
|
|
name = "FACTION_DEMAND_BRIBE_CO_EMPEROR"
|
|
show_as_unavailable = { may_appoint_co_emperors_trigger = yes }
|
|
trigger = { faction_target_can_attempt_to_bribe_with_co_emperorship_trigger = yes }
|
|
|
|
# Ping-pong the choice back to the target.
|
|
## Laying out the consequences.
|
|
show_as_tooltip = {
|
|
random_list = {
|
|
# They accept!
|
|
100 = {
|
|
desc = faction_demand.0000.faction_leader_accepts
|
|
show_chance = no
|
|
faction_demand_counter_offer_co_rule_start_diarchy_effect = yes
|
|
faction_demand_independence_counter_offer_corule_accepted_effect = yes
|
|
}
|
|
# They decline.
|
|
100 = {
|
|
desc = faction_demand.0000.faction_leader_rejects
|
|
show_chance = no
|
|
faction_demand_independence_rejected_effect = yes
|
|
}
|
|
}
|
|
}
|
|
## And sorting the actual flow.
|
|
scope:faction_leader = { trigger_event = faction_demand.0006 }
|
|
|
|
ai_chance = { liege_offer_co_emperorship_to_faction_leader_modifier = yes }
|
|
}
|
|
|
|
# Reject.
|
|
option = {
|
|
name = "FACTION_DEMAND_REFUSE"
|
|
|
|
faction_demand_independence_rejected_effect = yes
|
|
scope:faction_leader = { trigger_event = faction_demand.0003 }
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_boldness = 4.0
|
|
}
|
|
modifier = {
|
|
add = 50
|
|
scope:faction = { faction_power < 80 }
|
|
}
|
|
modifier = {
|
|
add = 100
|
|
scope:faction = { faction_power < 60 }
|
|
}
|
|
modifier = {
|
|
add = 1000
|
|
scope:faction = { faction_power < 40 }
|
|
}
|
|
compare_modifier = {
|
|
value = debt_level
|
|
multiplier = -25
|
|
}
|
|
modifier = {
|
|
add = 5000
|
|
OR = {
|
|
mpo_has_gok_mongol_empire_trigger = yes
|
|
#has_title = title:e_ilkhanate
|
|
#has_title = title:e_golden_horde
|
|
#has_title = title:e_chagatai
|
|
#has_title = title:e_red_horde
|
|
#has_title = title:e_white_horde
|
|
#has_title = title:e_aarlud_khanate
|
|
#has_title = title:e_togskol_khanate
|
|
#has_title = title:e_baruun_khanate
|
|
#has_title = title:e_great_yuan
|
|
#has_title = title:e_blue_horde
|
|
#has_title = title:e_omnod_dalai_khanate
|
|
has_title = title:e_byzantium
|
|
has_variable = conqueror
|
|
}
|
|
}
|
|
modifier = {
|
|
add = 10000
|
|
scope:faction_leader = { is_no_men_enabled = yes }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Independence Faction Demand Accepted
|
|
# by Ismael Serrano
|
|
faction_demand.0002 = {
|
|
type = letter_event
|
|
sender = scope:faction_target
|
|
opening = {
|
|
desc = "FACTION_DEMAND_INDEPENDENCE_ACCEPTED"
|
|
}
|
|
desc = "FACTION_DEMAND_INDEPENDENCE_ACCEPTED_DESC"
|
|
|
|
option = {
|
|
name = "FACTION_DEMAND_ACCEPTED_OPT"
|
|
custom_tooltip = faction_demand.0002.tt
|
|
}
|
|
}
|
|
|
|
# Independence Faction Demand Refused
|
|
# by Joakim Andreasson
|
|
faction_demand.0003 = {
|
|
type = letter_event
|
|
sender = scope:faction_target
|
|
opening = {
|
|
desc = "FACTION_DEMAND_INDEPENDENCE_REFUSED"
|
|
}
|
|
desc = "FACTION_DEMAND_INDEPENDENCE_REFUSED_DESC"
|
|
|
|
option = {
|
|
name = "FACTION_DEMAND_REFUSED_OPT"
|
|
scope:faction = {
|
|
faction_start_war = {}
|
|
|
|
every_faction_member = {
|
|
limit = { this != scope:faction.faction_leader }
|
|
trigger_event = faction_demand.0004
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Independence Faction Demand Refused Member Notice
|
|
# by Joakim Andreasson
|
|
faction_demand.0004 = {
|
|
type = letter_event
|
|
sender = scope:faction_target
|
|
opening = {
|
|
desc = "FACTION_DEMAND_INDEPENDENCE_REFUSED"
|
|
}
|
|
desc = "FACTION_DEMAND_INDEPENDENCE_REFUSED_DESC"
|
|
|
|
option = {
|
|
name = "FACTION_DEMAND_REFUSED_OPT"
|
|
}
|
|
}
|
|
|
|
# Independence Faction Demand Send Notice
|
|
# by Joakim Andreasson
|
|
faction_demand.0005 = {
|
|
type = letter_event
|
|
sender = scope:faction_leader
|
|
opening = {
|
|
desc = "FACTION_DEMAND_INDEPENDENCE_SEND_DEMAND_NOTIFICATION"
|
|
}
|
|
desc = "FACTION_DEMAND_INDEPENDENCE_SEND_DEMAND_NOTIFICATION_DESC"
|
|
|
|
option = {
|
|
name = "FACTION_DEMAND_SEND_DEMAND_NOTIFICATION_OPT"
|
|
}
|
|
}
|
|
|
|
# Co-emperor counter-offer.
|
|
faction_demand.0006 = {
|
|
type = letter_event
|
|
sender = scope:faction_target
|
|
opening = FACTION_DEMAND_COUNTER_OFFER_CORULE
|
|
desc = FACTION_DEMAND_COUNTER_OFFER_CORULE_DESC
|
|
|
|
option = {
|
|
name = FACTION_DEMAND_COUNTER_OFFER_CORULE_ACCEPT
|
|
|
|
# Inform the relevant parties.
|
|
hidden_effect = {
|
|
scope:faction_target = {
|
|
send_interface_toast = {
|
|
type = msg_start_diarchy
|
|
title = faction_demand.0000.offer_accepted
|
|
show_as_tooltip = { custom_tooltip = faction_demand.0000.enter_co_emperorship }
|
|
}
|
|
}
|
|
scope:faction = {
|
|
every_faction_member = {
|
|
limit = {
|
|
is_ai = no
|
|
this != scope:faction_leader
|
|
}
|
|
trigger_event = faction_demand.9011
|
|
}
|
|
}
|
|
}
|
|
# Actual effects.
|
|
scope:faction_target = {
|
|
faction_demand_counter_offer_co_rule_start_diarchy_effect = yes
|
|
faction_demand_independence_counter_offer_corule_accepted_effect = yes
|
|
}
|
|
|
|
# Low weight: we control the AI accepting this by toggling whether they can access the refusal option at all.
|
|
ai_chance = { base = 20 }
|
|
}
|
|
|
|
option = {
|
|
name = FACTION_DEMAND_COUNTER_OFFER_CORULE_REJECT
|
|
trigger = { faction_leader_would_consider_turning_down_co_emperorship_trigger = yes }
|
|
|
|
# Inform the relevant parties.
|
|
hidden_effect = {
|
|
scope:faction_target = {
|
|
send_interface_toast = {
|
|
type = msg_war_declared_on_me
|
|
title = faction_demand.0000.offer_rejected
|
|
show_as_tooltip = {
|
|
scope:faction = { custom_tooltip = faction_starts_war.tt.replacement }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
# Actual effects.
|
|
faction_demand_independence_rejected_effect = yes
|
|
|
|
# If the AI can access this at all then they should strongly consider it.
|
|
ai_chance = { base = 80 }
|
|
}
|
|
}
|
|
|
|
##################################################
|
|
# Liberty Faction
|
|
# by Henrik Fåhraeus
|
|
# 0101 - 0110
|
|
##################################################
|
|
|
|
scripted_effect faction_demand_liberty_counter_offer_corule_accepted_effect = {
|
|
add_dread = medium_dread_loss
|
|
# LEGITIMACY LOSS FOR ACCEPTING FACTION DEMANDS
|
|
faction_accept_demand_legitimacy_effect = yes
|
|
add_prestige = -200
|
|
add_character_flag = {
|
|
flag = recent_liberty_faction_war
|
|
years = 10
|
|
}
|
|
custom_tooltip = {
|
|
text = faction_demand.0000.truce_from_co_rule
|
|
scope:faction = {
|
|
every_faction_member = {
|
|
save_scope_as = recipient # Ensuring it localizes correctly
|
|
add_truce_both_ways = {
|
|
character = scope:faction.faction_target
|
|
years = faction_counter_offer_appointed_co_emperor_value
|
|
name = ep3_truce_appointed_faction_leader_coruler
|
|
}
|
|
}
|
|
}
|
|
}
|
|
scope:faction = { destroy_faction = yes }
|
|
# This effect should always be placed here, _after_ everything except the ai_chance.
|
|
trigger_event = { on_action = on_faction_demand_accepted }
|
|
}
|
|
|
|
scripted_effect faction_demand_liberty_rejected_effect = {
|
|
# This effect should always be placed here, _before_ all the other effects in the block.
|
|
trigger_event = { on_action = on_faction_demand_rejected }
|
|
show_as_tooltip = {
|
|
scope:faction = {
|
|
custom_tooltip = faction_starts_war.tt.replacement
|
|
}
|
|
}
|
|
}
|
|
|
|
# Liberty Faction Demand
|
|
# by Henrik Fåhraeus
|
|
faction_demand.0101 = {
|
|
type = letter_event
|
|
sender = scope:faction_leader
|
|
opening = {
|
|
desc = "FACTION_DEMAND_LIBERTY"
|
|
}
|
|
desc = "FACTION_DEMAND_LIBERTY_DESC"
|
|
|
|
trigger = {
|
|
# May have ceased to exist by the time this triggers
|
|
exists = scope:faction
|
|
}
|
|
|
|
immediate = {
|
|
# Grab our scope for loc.
|
|
save_scope_as = faction_target
|
|
}
|
|
|
|
option = {
|
|
name = "FACTION_DEMAND_ACCEPT"
|
|
|
|
# This effect should always be placed here, _before_ all the other effects in the block.
|
|
trigger_event = { on_action = on_faction_demand_accepted }
|
|
|
|
add_dread = medium_dread_loss
|
|
|
|
# LEGITIMACY LOSS FOR ACCEPTING FACTION DEMANDS
|
|
faction_accept_demand_legitimacy_effect = yes
|
|
change_authority_effect = { CHANGE = -1 }
|
|
|
|
add_prestige = -200
|
|
|
|
add_character_flag = {
|
|
flag = recent_liberty_faction_war
|
|
years = 10
|
|
}
|
|
|
|
scope:faction_leader = {
|
|
trigger_event = {
|
|
id = faction_demand.0102
|
|
}
|
|
}
|
|
|
|
scope:faction = {
|
|
destroy_faction = yes
|
|
}
|
|
|
|
# MERITOCRATIC EMPIRE CEREMONIAL MONARCH/REGENCY CREATION
|
|
tgp_create_meritocratic_ruling_regent_title_effect = yes
|
|
|
|
# This effect should always be placed here, _after_ everything except the ai_chance.
|
|
trigger_event = { on_action = on_faction_demand_accepted }
|
|
|
|
ai_chance = {
|
|
base = 10
|
|
modifier = {
|
|
add = 90
|
|
scope:faction = { faction_power >= 100 }
|
|
}
|
|
modifier = {
|
|
add = 50
|
|
scope:faction = { faction_power >= 125 }
|
|
}
|
|
modifier = {
|
|
add = 50
|
|
scope:faction = { faction_power >= 150 }
|
|
}
|
|
modifier = {
|
|
add = 50
|
|
scope:faction = { faction_power >= 200 }
|
|
}
|
|
modifier = {
|
|
add = 50
|
|
any_character_war = {
|
|
is_war_leader = root
|
|
is_defender = root
|
|
}
|
|
}
|
|
modifier = {
|
|
factor = 0.1
|
|
any_ally = {
|
|
NOR = {
|
|
target_is_liege_or_above = root
|
|
target_is_vassal_or_below = root
|
|
}
|
|
max_military_strength > root.max_military_strength
|
|
}
|
|
}
|
|
modifier = {
|
|
add = 10000
|
|
scope:faction_leader = { is_yes_men_enabled = yes }
|
|
}
|
|
}
|
|
}
|
|
|
|
option = {
|
|
name = "FACTION_DEMAND_BRIBE_CO_EMPEROR"
|
|
show_as_unavailable = { may_appoint_co_emperors_trigger = yes }
|
|
trigger = { faction_target_can_attempt_to_bribe_with_co_emperorship_trigger = yes }
|
|
|
|
# Ping-pong the choice back to the target.
|
|
## Laying out the consequences.
|
|
show_as_tooltip = {
|
|
random_list = {
|
|
# They accept!
|
|
100 = {
|
|
desc = faction_demand.0000.faction_leader_accepts
|
|
show_chance = no
|
|
faction_demand_counter_offer_co_rule_start_diarchy_effect = yes
|
|
faction_demand_liberty_counter_offer_corule_accepted_effect = yes
|
|
}
|
|
# They decline.
|
|
100 = {
|
|
desc = faction_demand.0000.faction_leader_rejects
|
|
show_chance = no
|
|
faction_demand_liberty_rejected_effect = yes
|
|
}
|
|
}
|
|
}
|
|
## And sorting the actual flow.
|
|
scope:faction_leader = { trigger_event = faction_demand.0106 }
|
|
|
|
ai_chance = { liege_offer_co_emperorship_to_faction_leader_modifier = yes }
|
|
}
|
|
|
|
option = {
|
|
name = "FACTION_DEMAND_REFUSE"
|
|
|
|
faction_demand_liberty_rejected_effect = yes
|
|
|
|
scope:faction_leader = {
|
|
trigger_event = {
|
|
id = faction_demand.0103
|
|
days = 1
|
|
}
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_boldness = 4.0
|
|
}
|
|
modifier = {
|
|
add = 50
|
|
scope:faction = { faction_power < 80 }
|
|
}
|
|
modifier = {
|
|
add = 100
|
|
scope:faction = { faction_power < 60 }
|
|
}
|
|
modifier = {
|
|
add = 1000
|
|
scope:faction = { faction_power < 40 }
|
|
}
|
|
modifier = {
|
|
add = 10000
|
|
scope:faction_leader = { is_no_men_enabled = yes }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Liberty Faction Demand Accepted
|
|
# by Henrik Fåhraeus
|
|
faction_demand.0102 = {
|
|
type = letter_event
|
|
sender = scope:faction_target
|
|
opening = {
|
|
desc = "FACTION_DEMAND_LIBERTY_ACCEPTED"
|
|
}
|
|
desc = "FACTION_DEMAND_LIBERTY_ACCEPTED_DESC"
|
|
|
|
option = {
|
|
name = "FACTION_DEMAND_ACCEPTED_OPT"
|
|
custom_tooltip = faction_demand.0102.tt
|
|
}
|
|
}
|
|
|
|
# Liberty Faction Demand Refused
|
|
# by Henrik Fåhraeus
|
|
faction_demand.0103 = {
|
|
type = letter_event
|
|
sender = scope:faction_target
|
|
opening = {
|
|
desc = "FACTION_DEMAND_LIBERTY_REFUSED"
|
|
}
|
|
desc = "FACTION_DEMAND_LIBERTY_REFUSED_DESC"
|
|
|
|
option = {
|
|
name = "FACTION_DEMAND_REFUSED_OPT"
|
|
scope:faction = {
|
|
faction_start_war = {}
|
|
|
|
every_faction_member = {
|
|
limit = { this != scope:faction.faction_leader }
|
|
trigger_event = faction_demand.0104
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Liberty Faction Demand Refused Member Notice
|
|
# by Henrik Fåhraeus
|
|
faction_demand.0104 = {
|
|
type = letter_event
|
|
sender = scope:faction_target
|
|
opening = {
|
|
desc = "FACTION_DEMAND_LIBERTY_REFUSED"
|
|
}
|
|
desc = "FACTION_DEMAND_LIBERTY_REFUSED_DESC"
|
|
|
|
option = {
|
|
name = "FACTION_DEMAND_REFUSED_OPT"
|
|
}
|
|
}
|
|
|
|
# Liberty Faction Demand Send Notice
|
|
# by Henrik Fåhraeus
|
|
faction_demand.0105 = {
|
|
type = letter_event
|
|
sender = scope:faction_leader
|
|
opening = {
|
|
desc = "FACTION_DEMAND_LIBERTY_SEND_DEMAND_NOTIFICATION"
|
|
}
|
|
desc = "FACTION_DEMAND_LIBERTY_SEND_DEMAND_NOTIFICATION_DESC"
|
|
|
|
option = {
|
|
name = "FACTION_DEMAND_SEND_DEMAND_NOTIFICATION_OPT"
|
|
}
|
|
}
|
|
|
|
# Co-emperor counter-offer.
|
|
faction_demand.0106 = {
|
|
type = letter_event
|
|
sender = scope:faction_target
|
|
opening = FACTION_DEMAND_COUNTER_OFFER_CORULE
|
|
desc = FACTION_DEMAND_COUNTER_OFFER_CORULE_DESC
|
|
|
|
option = {
|
|
name = FACTION_DEMAND_COUNTER_OFFER_CORULE_ACCEPT
|
|
|
|
# Inform the relevant parties.
|
|
hidden_effect = {
|
|
scope:faction_target = {
|
|
send_interface_toast = {
|
|
type = msg_start_diarchy
|
|
title = faction_demand.0000.offer_accepted
|
|
show_as_tooltip = { custom_tooltip = faction_demand.0000.enter_co_emperorship }
|
|
}
|
|
}
|
|
scope:faction = {
|
|
every_faction_member = {
|
|
limit = {
|
|
is_ai = no
|
|
this != scope:faction_leader
|
|
}
|
|
trigger_event = faction_demand.9011
|
|
}
|
|
}
|
|
}
|
|
# Actual effects.
|
|
scope:faction_target = {
|
|
faction_demand_counter_offer_co_rule_start_diarchy_effect = yes
|
|
faction_demand_liberty_counter_offer_corule_accepted_effect = yes
|
|
}
|
|
|
|
# Low weight: we control the AI accepting this by toggling whether they can access the refusal option at all.
|
|
ai_chance = { base = 20 }
|
|
}
|
|
|
|
option = {
|
|
name = FACTION_DEMAND_COUNTER_OFFER_CORULE_REJECT
|
|
trigger = { faction_leader_would_consider_turning_down_co_emperorship_trigger = yes }
|
|
|
|
# Inform the relevant parties.
|
|
hidden_effect = {
|
|
scope:faction_target = {
|
|
send_interface_toast = {
|
|
type = msg_war_declared_on_me
|
|
title = faction_demand.0000.offer_rejected
|
|
show_as_tooltip = {
|
|
scope:faction = { custom_tooltip = faction_starts_war.tt.replacement }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
# Actual effects.
|
|
faction_demand_liberty_rejected_effect = yes
|
|
|
|
# If the AI can access this at all then they should strongly consider it.
|
|
ai_chance = { base = 80 }
|
|
}
|
|
}
|
|
|
|
##################################################
|
|
# Populist Faction
|
|
# by Henrik Fåhraeus and Sean Hughes
|
|
# 1001, 1010 (but not the range between them), & 0099 too for some inexplicable reason
|
|
##################################################
|
|
|
|
# Populist Faction Demand
|
|
# by Henrik Fåhraeus and Sean Hughes
|
|
faction_demand.1001 = {
|
|
type = letter_event
|
|
sender = scope:peasant_leader
|
|
opening = {
|
|
desc = "FACTION_DEMAND_POPULIST"
|
|
}
|
|
desc = {
|
|
first_valid = {
|
|
triggered_desc = {
|
|
trigger = {
|
|
government_allows = state_faith
|
|
primary_title.state_rite != scope:peasant_leader.rite
|
|
}
|
|
desc = FACTION_DEMAND_POPULIST_DESC_ADMIN
|
|
}
|
|
triggered_desc = {
|
|
trigger = {
|
|
culture != scope:peasant_leader.culture
|
|
faith = scope:peasant_leader.faith
|
|
}
|
|
desc = "FACTION_DEMAND_POPULIST_DESC_CULTURE"
|
|
}
|
|
triggered_desc = {
|
|
trigger = {
|
|
faith != scope:peasant_leader.faith
|
|
culture = scope:peasant_leader.culture
|
|
}
|
|
desc = "FACTION_DEMAND_POPULIST_DESC_FAITH"
|
|
}
|
|
desc = "FACTION_DEMAND_POPULIST_DESC"
|
|
}
|
|
}
|
|
|
|
trigger = {
|
|
exists = scope:faction
|
|
exists = scope:peasant_leader
|
|
scope:peasant_leader.joined_faction = scope:faction
|
|
}
|
|
|
|
on_trigger_fail = {
|
|
debug_log = "Popular Faction tried to press claim (probably) without existing peasant_leader"
|
|
debug_log_scopes = yes
|
|
debug_log = "Popular Faction error reporting complete"
|
|
}
|
|
|
|
immediate = {
|
|
every_realm_province = {
|
|
county = { add_to_list = remaining_counties_list }
|
|
}
|
|
scope:faction = {
|
|
every_faction_county_member = { remove_from_list = remaining_counties_list }
|
|
}
|
|
}
|
|
|
|
# Option A: Convert to the faction's faith or culture.
|
|
option = {
|
|
name = "FACTION_DEMAND_POPULIST_ACCEPT_CONVERT"
|
|
|
|
# This effect should always be placed here, _before_ all the other effects in the block.
|
|
trigger_event = { on_action = on_faction_demand_accepted }
|
|
|
|
trigger = {
|
|
# If more than 30% of your realm belongs to the revolting culture or faith, you get the option to switch to it.
|
|
OR = {
|
|
culture = scope:peasant_leader.culture
|
|
any_realm_province = {
|
|
percent >= 0.30
|
|
culture = scope:peasant_leader.culture
|
|
}
|
|
}
|
|
OR = {
|
|
faith = scope:peasant_leader.faith
|
|
any_realm_province = {
|
|
percent >= 0.30
|
|
faith = scope:peasant_leader.faith
|
|
}
|
|
}
|
|
|
|
# Heads of Faith can never convert.
|
|
faith.religious_head != root
|
|
|
|
# Option unavailable to realms with State Faith
|
|
NOT = { government_allows = state_faith }
|
|
|
|
###Restrictions to stop the AI converting quite so freely
|
|
trigger_if = {
|
|
limit = {
|
|
is_ai = yes
|
|
}
|
|
|
|
# May not convert to an unreformed faith from a reformed one.
|
|
NAND = {
|
|
scope:peasant_leader.faith = { has_doctrine_parameter = unreformed }
|
|
faith = {
|
|
NOT = { has_doctrine_parameter = unreformed }
|
|
}
|
|
}
|
|
|
|
# Must be converting from a low-fervor faith to a higher-fervor faith.
|
|
scope:peasant_leader.faith = { fervor >= 31 }
|
|
faith = { fervor <= 30 }
|
|
|
|
# Zealous rulers do not get the option to change faith.
|
|
OR = {
|
|
NOT = { has_trait = zealous }
|
|
faith = scope:peasant_leader.faith
|
|
}
|
|
|
|
# Crusaders & Crusader-Monarchs should never accept this.
|
|
NOR = {
|
|
has_trait = faith_warrior
|
|
has_trait = crusader_king
|
|
#has_title = title:k_jerusalem
|
|
}
|
|
}
|
|
###End AI restrictions.
|
|
}
|
|
|
|
if = {
|
|
limit = {
|
|
culture != scope:peasant_leader.culture
|
|
}
|
|
set_culture = scope:peasant_leader.culture
|
|
add_prestige_level = -2
|
|
}
|
|
else = {
|
|
add_prestige_level = -1
|
|
}
|
|
|
|
if = {
|
|
limit = {
|
|
faith != scope:peasant_leader.faith
|
|
}
|
|
set_character_faith = scope:peasant_leader.faith
|
|
set_character_rite = scope:peasant_leader.rite
|
|
if = {
|
|
limit = {
|
|
scope:peasant_leader.faith = { has_doctrine = doctrine_monotheist }
|
|
}
|
|
custom_description_no_bullet = { text = mandala_monotheist_warning_tt }
|
|
}
|
|
add_piety_level = -1
|
|
}
|
|
|
|
if = {
|
|
limit = {
|
|
dread > 0
|
|
}
|
|
add_dread = medium_dread_loss
|
|
}
|
|
|
|
# LEGITIMACY LOSS FOR ACCEPTING FACTION DEMANDS
|
|
faction_accept_demand_legitimacy_effect = yes
|
|
|
|
# Struggle Catalysts.
|
|
if = {
|
|
limit = {
|
|
is_important_or_vip_struggle_character = yes
|
|
any_character_struggle = {
|
|
involvement = involved
|
|
activate_struggle_catalyst_secondary_character_involvement_either_trigger = {
|
|
CATALYST = catalyst_accepted_demand_from_faction_requesting_culture_faith_conversion
|
|
CHAR = scope:peasant_leader
|
|
}
|
|
}
|
|
}
|
|
every_character_struggle = {
|
|
involvement = involved
|
|
limit = {
|
|
activate_struggle_catalyst_secondary_character_involvement_either_trigger = {
|
|
CATALYST = catalyst_accepted_demand_from_faction_requesting_culture_faith_conversion
|
|
CHAR = scope:peasant_leader
|
|
}
|
|
}
|
|
activate_struggle_catalyst = {
|
|
catalyst = catalyst_accepted_demand_from_faction_requesting_culture_faith_conversion
|
|
character = root
|
|
}
|
|
}
|
|
}
|
|
|
|
scope:faction = {
|
|
hidden_effect = {
|
|
clean_revolt_county_modifiers_from_faction_members_effect = yes
|
|
}
|
|
destroy_faction = yes # Show this to have it explicitly said in the tooltip that the faction actually disbands.
|
|
}
|
|
|
|
stress_and_fulfillment_impact = {
|
|
zealous = massive_stress_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
trigger = {
|
|
faith != scope:peasant_leader.faith
|
|
}
|
|
ai_zeal = -1
|
|
min = 0
|
|
}
|
|
|
|
compare_modifier = { # Weaker factions increase the chance of an AI ruler refusing; at 80% army strength (minimum), this will be -20; at 200% army strength, this will max out at +50.
|
|
value = {
|
|
value = scope:faction.faction_power
|
|
subtract = 100
|
|
}
|
|
max = 50
|
|
}
|
|
|
|
modifier = {
|
|
add = 50
|
|
OR = {
|
|
mpo_has_gok_mongol_empire_trigger = yes
|
|
#has_title = title:e_ilkhanate
|
|
#has_title = title:e_golden_horde
|
|
#has_title = title:e_chagatai
|
|
#has_title = title:e_red_horde
|
|
#has_title = title:e_white_horde
|
|
#has_title = title:e_aarlud_khanate
|
|
#has_title = title:e_togskol_khanate
|
|
#has_title = title:e_baruun_khanate
|
|
#has_title = title:e_great_yuan
|
|
#has_title = title:e_blue_horde
|
|
#has_title = title:e_omnod_dalai_khanate
|
|
has_title = title:e_byzantium
|
|
has_variable = conqueror
|
|
}
|
|
}
|
|
modifier = {
|
|
add = 10000
|
|
scope:peasant_leader = { is_yes_men_enabled = yes }
|
|
}
|
|
}
|
|
}
|
|
|
|
# Option D: Switch State Faith to the faction faith
|
|
# (out of order so it appears correctly in the event. this option has been added subsequently)
|
|
option = {
|
|
name = FACTION_DEMAND_POPULIST_ACCEPT_CONVERT_STATE_FAITH
|
|
|
|
trigger = { # Only available if ruler fulfills the following:
|
|
government_allows = state_faith
|
|
primary_title.state_rite != scope:peasant_leader.rite
|
|
OR = { # You share religion OR faction leader's faith is the largest faith in the realm - This is to avoid flipping to a faith that doesn't make sense
|
|
religion = scope:peasant_leader.religion
|
|
any_realm_county = {
|
|
percent >= 0.6
|
|
faith = scope:peasant_leader.faith
|
|
}
|
|
}
|
|
culture = scope:peasant_leader.culture
|
|
}
|
|
|
|
# This effect should always be placed here, _before_ all the other effects in the block.
|
|
trigger_event = { on_action = on_faction_demand_accepted }
|
|
|
|
primary_title = {
|
|
set_state_rite = scope:peasant_leader.rite
|
|
pam_tenet_popularity_boost_rite_effect = { RITE = state_rite }
|
|
}
|
|
if = {
|
|
limit = { government_has_flag = government_has_influence }
|
|
change_influence = monumental_influence_loss
|
|
}
|
|
else = {
|
|
add_prestige_level = -1
|
|
}
|
|
add_piety_level = -1
|
|
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
trigger = {
|
|
faith != scope:peasant_leader.faith
|
|
}
|
|
ai_zeal = -1
|
|
min = 0
|
|
}
|
|
|
|
compare_modifier = { # Weaker factions increase the chance of an AI ruler refusing; at 80% army strength (minimum), this will be -20; at 200% army strength, this will max out at +50.
|
|
value = {
|
|
value = scope:faction.faction_power
|
|
subtract = 100
|
|
}
|
|
max = 50
|
|
}
|
|
|
|
modifier = {
|
|
add = 50
|
|
OR = {
|
|
mpo_has_gok_mongol_empire_trigger = yes
|
|
#has_title = title:e_ilkhanate
|
|
#has_title = title:e_golden_horde
|
|
#has_title = title:e_chagatai
|
|
#has_title = title:e_red_horde
|
|
#has_title = title:e_white_horde
|
|
#has_title = title:e_aarlud_khanate
|
|
#has_title = title:e_togskol_khanate
|
|
#has_title = title:e_baruun_khanate
|
|
#has_title = title:e_great_yuan
|
|
#has_title = title:e_blue_horde
|
|
#has_title = title:e_omnod_dalai_khanate
|
|
has_title = title:e_byzantium
|
|
has_variable = conqueror
|
|
}
|
|
}
|
|
|
|
modifier = { # Don't agree to change the state faith to another religion
|
|
factor = 0
|
|
faith.religion != scope:peasant_leader.faith.religion
|
|
}
|
|
|
|
modifier = { # Byzantium should try to avoid becoming Latin-rite
|
|
factor = 0
|
|
primary_title = title:e_byzantium
|
|
primary_title.state_rite.faith.religion = scope:peasant_leader.faith.religion
|
|
scope:peasant_leader.rite = {
|
|
NOT = { rite_has_doctrine = special_doctrine_is_eastern_christian_faith }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Option B: Grant the faction independence.
|
|
option = {
|
|
name = "FACTION_DEMAND_POPULIST_ACCEPT_GRANT_INDEPENDENCE"
|
|
trigger = { # AI should not give the faction independence if a player is targeted by the faction.
|
|
NAND = {
|
|
scope:faction = {
|
|
has_variable = faction_targets_player
|
|
}
|
|
is_ai = yes
|
|
}
|
|
# Only allow this option for governments with state faith it's a cultural populist faction
|
|
trigger_if = {
|
|
limit = {
|
|
government_allows = state_faith
|
|
}
|
|
primary_title.state_rite = scope:peasant_leader.rite
|
|
culture != scope:peasant_leader.culture
|
|
}
|
|
}
|
|
|
|
# This effect should always be placed here, _before_ all the other effects in the block.
|
|
trigger_event = { on_action = on_faction_demand_accepted }
|
|
|
|
add_prestige_level = -1
|
|
if = {
|
|
limit = {
|
|
dread > 0
|
|
}
|
|
add_dread = medium_dread_loss
|
|
}
|
|
|
|
successful_popular_revolt_outcome_effect = {
|
|
FACTION_LEADER = scope:peasant_leader
|
|
TARGET_TITLE = scope:target_title
|
|
SOURCE_GOVERNMENT = root
|
|
}
|
|
|
|
# If the faction includes ALL of our counties, notify the player that it will leave them landless!
|
|
if = {
|
|
limit = {
|
|
any_in_list = {
|
|
list = remaining_counties_list
|
|
count < 1
|
|
}
|
|
}
|
|
custom_tooltip = FACTION_DEMAND_POPULIST_ACCEPT_GRANT_INDEPENCE_TT
|
|
}
|
|
|
|
# Struggle Catalysts.
|
|
# Should rename the Catalysts?
|
|
if = {
|
|
limit = {
|
|
is_important_or_vip_struggle_character = yes
|
|
any_character_struggle = {
|
|
involvement = involved
|
|
activate_struggle_catalyst_secondary_character_involvement_either_trigger = {
|
|
CATALYST = catalyst_accepted_demand_from_faction_requesting_culture_faith_conversion
|
|
CHAR = scope:peasant_leader
|
|
}
|
|
}
|
|
}
|
|
every_character_struggle = {
|
|
involvement = involved
|
|
limit = {
|
|
activate_struggle_catalyst_secondary_character_involvement_either_trigger = {
|
|
CATALYST = catalyst_accepted_demand_from_faction_requesting_culture_faith_conversion
|
|
CHAR = scope:peasant_leader
|
|
}
|
|
}
|
|
activate_struggle_catalyst = {
|
|
catalyst = catalyst_accepted_demand_from_faction_requesting_culture_faith_conversion
|
|
character = root
|
|
}
|
|
}
|
|
}
|
|
|
|
hidden_effect = {
|
|
if = {
|
|
limit = {
|
|
exists = scope:faction
|
|
}
|
|
scope:faction = {
|
|
clean_revolt_county_modifiers_from_faction_members_effect = yes
|
|
destroy_faction = yes
|
|
}
|
|
}
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 0
|
|
compare_modifier = { # Stronger factions increase the chance of an AI ruler capitulating; at 200% ruler army strength, this maxes out at +50% chance to accept demands.
|
|
value = {
|
|
value = scope:faction.faction_power
|
|
subtract = 100
|
|
multiply = 0.5
|
|
}
|
|
max = 50
|
|
}
|
|
compare_modifier = { # Craven rulers can get up to +37% chance to accept demands.
|
|
value = ai_boldness
|
|
multiplier = -0.5
|
|
}
|
|
modifier = {
|
|
factor = 0.1
|
|
any_ally = {
|
|
NOR = {
|
|
target_is_liege_or_above = root
|
|
target_is_vassal_or_below = root
|
|
}
|
|
max_military_strength > root.max_military_strength
|
|
}
|
|
}
|
|
compare_modifier = {
|
|
value = debt_level
|
|
multiplier = 25
|
|
}
|
|
modifier = {
|
|
add = -50
|
|
is_at_war = no
|
|
primary_title.tier >= tier_kingdom
|
|
}
|
|
modifier = {
|
|
add = -150
|
|
is_at_war = no
|
|
primary_title.tier >= tier_empire
|
|
}
|
|
|
|
modifier = {
|
|
add = -5000
|
|
OR = {
|
|
mpo_has_gok_mongol_empire_trigger = yes
|
|
#has_title = title:e_ilkhanate
|
|
#has_title = title:e_golden_horde
|
|
#has_title = title:e_chagatai
|
|
#has_title = title:e_red_horde
|
|
#has_title = title:e_white_horde
|
|
#has_title = title:e_aarlud_khanate
|
|
#has_title = title:e_togskol_khanate
|
|
#has_title = title:e_baruun_khanate
|
|
#has_title = title:e_great_yuan
|
|
#has_title = title:e_blue_horde
|
|
#has_title = title:e_omnod_dalai_khanate
|
|
has_title = title:e_byzantium
|
|
has_variable = conqueror
|
|
government_allows = state_faith
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Option C: Refuse the demand and start a war.
|
|
option = {
|
|
name = {
|
|
text = {
|
|
first_valid = {
|
|
triggered_desc = {
|
|
trigger = {
|
|
government_allows = state_faith
|
|
primary_title.state_rite != scope:peasant_leader.rite
|
|
}
|
|
desc = FACTION_DEMAND_POPULIST_REFUSE_ADMIN
|
|
}
|
|
desc = FACTION_DEMAND_POPULIST_REFUSE
|
|
}
|
|
}
|
|
}
|
|
|
|
# This effect should always be placed here, _before_ all the other effects in the block.
|
|
trigger_event = { on_action = on_faction_demand_rejected }
|
|
|
|
scope:faction = {
|
|
faction_start_war = {
|
|
title = scope:target_title
|
|
}
|
|
}
|
|
|
|
custom_tooltip = FACTION_DEMAND_POPULIST_REFUSE_TT
|
|
|
|
if = { # Send follow up event to affected vassals.
|
|
limit = {
|
|
list_size = {
|
|
name = popular_faction_vassal_targets
|
|
value > 0
|
|
}
|
|
}
|
|
every_in_list = {
|
|
list = popular_faction_vassal_targets
|
|
trigger_event = faction_demand.0099
|
|
}
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
compare_modifier = { # Weaker factions increase the chance of an AI ruler refusing; at 80% army strength (minimum), this will be +20; at 200% army strength, this will max out at -50.
|
|
value = {
|
|
value = scope:faction.faction_power
|
|
subtract = 100
|
|
multiply = -1
|
|
}
|
|
min = -50
|
|
}
|
|
compare_modifier = { # Brave rulers get up to a 50% bonus chance to refuse.
|
|
value = ai_boldness
|
|
multiplier = -0.5
|
|
min = -50
|
|
}
|
|
modifier = {
|
|
factor = 1.5
|
|
any_ally = {
|
|
NOR = {
|
|
target_is_liege_or_above = root
|
|
target_is_vassal_or_below = root
|
|
}
|
|
max_military_strength > root.max_military_strength
|
|
}
|
|
}
|
|
compare_modifier = {
|
|
value = debt_level
|
|
multiplier = -25
|
|
}
|
|
modifier = {
|
|
add = 5000
|
|
OR = {
|
|
mpo_has_gok_mongol_empire_trigger = yes
|
|
#has_title = title:e_ilkhanate
|
|
#has_title = title:e_golden_horde
|
|
#has_title = title:e_chagatai
|
|
#has_title = title:e_red_horde
|
|
#has_title = title:e_white_horde
|
|
#has_title = title:e_aarlud_khanate
|
|
#has_title = title:e_togskol_khanate
|
|
#has_title = title:e_baruun_khanate
|
|
#has_title = title:e_great_yuan
|
|
#has_title = title:e_blue_horde
|
|
#has_title = title:e_omnod_dalai_khanate
|
|
has_title = title:e_byzantium
|
|
has_variable = conqueror
|
|
}
|
|
}
|
|
modifier = {
|
|
add = 10000
|
|
scope:peasant_leader = { is_no_men_enabled = yes }
|
|
}
|
|
}
|
|
}
|
|
|
|
after = {
|
|
if = {
|
|
limit = {
|
|
exists = scope:faction
|
|
scope:faction = {
|
|
has_variable = faction_targets_player
|
|
}
|
|
}
|
|
scope:faction = {
|
|
remove_variable = faction_targets_player
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Populist Faction Demand - Affected vassals choose their action
|
|
faction_demand.0099 = {
|
|
type = letter_event
|
|
sender = scope:peasant_leader
|
|
opening = {
|
|
desc = "FACTION_DEMAND_POPULIST"
|
|
}
|
|
desc = {
|
|
first_valid = {
|
|
triggered_desc = {
|
|
trigger = {
|
|
culture = scope:peasant_leader.culture
|
|
faith = scope:peasant_leader.faith
|
|
}
|
|
desc = "FACTION_DEMAND_POPULIST_VASSAL_DESC_SAME_CULTURE_AND_FAITH"
|
|
}
|
|
triggered_desc = {
|
|
trigger = {
|
|
culture != scope:peasant_leader.culture
|
|
faith = scope:peasant_leader.faith
|
|
}
|
|
desc = "FACTION_DEMAND_POPULIST_VASSAL_DESC_CULTURE"
|
|
}
|
|
triggered_desc = {
|
|
trigger = {
|
|
faith != scope:peasant_leader.faith
|
|
culture = scope:peasant_leader.culture
|
|
}
|
|
desc = "FACTION_DEMAND_POPULIST_VASSAL_DESC_FAITH"
|
|
}
|
|
desc = "FACTION_DEMAND_POPULIST_VASSAL_DESC"
|
|
}
|
|
}
|
|
|
|
trigger = {
|
|
exists = scope:faction
|
|
exists = scope:peasant_leader
|
|
scope:peasant_leader.joined_faction = scope:faction
|
|
}
|
|
|
|
immediate = {
|
|
scope:faction.faction_war = {
|
|
save_scope_as = populist_war
|
|
}
|
|
}
|
|
|
|
# Option A: Convert to the faction's culture/faith and join the rebels.
|
|
option = {
|
|
name = {
|
|
trigger = {
|
|
culture = scope:peasant_leader.culture
|
|
faith = scope:peasant_leader.faith
|
|
}
|
|
text = "FACTION_DEMAND_POPULIST_VASSAL_JOIN_REBELS"
|
|
}
|
|
name = {
|
|
trigger = {
|
|
NAND = {
|
|
culture = scope:peasant_leader.culture
|
|
faith = scope:peasant_leader.faith
|
|
}
|
|
}
|
|
text = "FACTION_DEMAND_POPULIST_VASSAL_CONVERTS"
|
|
}
|
|
trigger = {
|
|
# Have to be of the same faith as the faction, or the faith must have a large enough presence in the vassal's realm.
|
|
OR = {
|
|
faith = scope:peasant_leader.faith
|
|
any_realm_province = {
|
|
percent >= 0.20
|
|
faith = scope:peasant_leader.faith
|
|
}
|
|
}
|
|
|
|
# Heads of Faith can never convert.
|
|
faith.religious_head != root
|
|
|
|
# Restrictions to stop the AI converting quite so freely
|
|
trigger_if = {
|
|
limit = {
|
|
is_ai = yes
|
|
}
|
|
|
|
# May not convert to an unreformed faith from a reformed one.
|
|
NAND = {
|
|
scope:peasant_leader.faith = { has_doctrine = unreformed_faith_doctrine }
|
|
faith = {
|
|
NOT = { has_doctrine = unreformed_faith_doctrine }
|
|
}
|
|
}
|
|
|
|
# Must be converting from a low-fervor faith to a higher-fervor faith.
|
|
scope:peasant_leader.faith = { fervor >= 31 }
|
|
faith = { fervor <= 30 }
|
|
|
|
# Zealous rulers do not get the option to change faith.
|
|
OR = {
|
|
NOT = { has_trait = zealous }
|
|
faith = scope:peasant_leader.faith
|
|
}
|
|
|
|
# Crusaders & Crusader-Monarchs should never accept this.
|
|
NOR = {
|
|
has_trait = faith_warrior
|
|
has_trait = crusader_king
|
|
#has_title = title:k_jerusalem
|
|
}
|
|
}
|
|
|
|
# You cannot join the attacking side if you already are at war with another participant.
|
|
scope:faction.faction_war = {
|
|
NOT = {
|
|
any_war_participant = {
|
|
is_at_war_with = root
|
|
}
|
|
}
|
|
}
|
|
|
|
# You cannot join the attacking side if it would put you against someone you are fighting another war with.
|
|
scope:faction.faction_war = {
|
|
NOT = {
|
|
any_war_defender = {
|
|
any_war_ally = {
|
|
this = root
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Change culture/faith and apply penalties if needed.
|
|
if = {
|
|
limit = {
|
|
culture != scope:peasant_leader.culture
|
|
}
|
|
set_culture = scope:peasant_leader.culture
|
|
add_prestige_level = -1
|
|
}
|
|
if = {
|
|
limit = {
|
|
faith != scope:peasant_leader.faith
|
|
}
|
|
save_scope_as = convert_at_war
|
|
convert_to_rite_with_consequences_effect = { RITE = scope:peasant_leader.rite }
|
|
}
|
|
|
|
# Join the war.
|
|
scope:faction.faction_war = {
|
|
add_attacker = root
|
|
}
|
|
custom_tooltip = FACTION_DEMAND_POPULIST_VASSAL_CONVERTS_TT
|
|
|
|
stress_and_fulfillment_impact = {
|
|
zealous = massive_stress_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 0
|
|
|
|
# Want to convert for cultural reasons
|
|
modifier = {
|
|
add = 10
|
|
OR = {
|
|
AND = {
|
|
culture = scope:peasant_leader.culture
|
|
culture != scope:faction_target.culture
|
|
}
|
|
AND = {
|
|
any_realm_province = {
|
|
percent >= 0.40
|
|
culture = scope:peasant_leader.culture
|
|
}
|
|
culture != scope:faction_target.culture
|
|
}
|
|
}
|
|
}
|
|
modifier = {
|
|
factor = 0
|
|
culture = { has_cultural_tradition = tradition_staunch_traditionalists }
|
|
culture != scope:faction_target.culture
|
|
}
|
|
|
|
# Want to convert for religious reasons
|
|
modifier = {
|
|
add = 20
|
|
OR = {
|
|
AND = {
|
|
faith = scope:peasant_leader.faith
|
|
faith != scope:faction_target.faith
|
|
}
|
|
AND = {
|
|
any_realm_province = {
|
|
percent >= 0.40
|
|
faith = scope:peasant_leader.faith
|
|
}
|
|
faith != scope:faction_target.faith
|
|
}
|
|
}
|
|
}
|
|
modifier = {
|
|
factor = 0
|
|
culture = { has_cultural_tradition = tradition_zealous_people }
|
|
faith != scope:peasant_leader.faith
|
|
}
|
|
modifier = {
|
|
factor = 1.5
|
|
culture = { has_cultural_tradition = tradition_religion_blending }
|
|
}
|
|
modifier = {
|
|
factor = 2
|
|
has_trait = zealous
|
|
faith = scope:peasant_leader.faith
|
|
}
|
|
|
|
# General modifiers
|
|
modifier = {
|
|
factor = 1.25
|
|
has_trait = fickle
|
|
}
|
|
}
|
|
}
|
|
|
|
# Option B: Fight alongside your liege.
|
|
option = {
|
|
name = FACTION_DEMAND_POPULIST_VASSAL_JOIN_WAR
|
|
|
|
# You cannot join the defending side...
|
|
trigger = {
|
|
custom_tooltip = { # ... If you already are at war with another participant.
|
|
text = FACTION_DEMAND_POPULIST_VASSAL_JOIN_WAR_BLOCK_TT
|
|
scope:faction.faction_war = {
|
|
NOT = {
|
|
any_war_participant = {
|
|
is_at_war_with = root
|
|
}
|
|
}
|
|
}
|
|
}
|
|
custom_tooltip = { # ... If it would put you against someone you are fighting another war with.
|
|
text = FACTION_DEMAND_POPULIST_VASSAL_JOIN_WAR_BLOCK_TT_2
|
|
scope:faction.faction_war = {
|
|
NOT = {
|
|
any_war_attacker = {
|
|
any_war_ally = {
|
|
this = root
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
show_as_unavailable = {
|
|
OR = {
|
|
scope:faction.faction_war = {
|
|
any_war_participant = {
|
|
is_at_war_with = root
|
|
}
|
|
}
|
|
scope:faction.faction_war = {
|
|
any_war_attacker = {
|
|
any_war_ally = {
|
|
this = root
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Join the war.
|
|
scope:faction.faction_war = {
|
|
add_defender = root
|
|
}
|
|
custom_tooltip = FACTION_DEMAND_POPULIST_VASSAL_JOIN_WAR_TT
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
|
|
# Option C: Do nothing.
|
|
option = {
|
|
name = FACTION_DEMAND_POPULIST_VASSAL_TAKE_NO_SIDE
|
|
custom_tooltip = FACTION_DEMAND_POPULIST_VASSAL_TAKE_NO_SIDE_TT_A
|
|
custom_tooltip = FACTION_DEMAND_POPULIST_VASSAL_TAKE_NO_SIDE_TT_B
|
|
|
|
ai_chance = {
|
|
base = 0
|
|
|
|
modifier = {
|
|
add = 20
|
|
has_trait = craven
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Spawn rebel reinforcements for popular revolts which successfully capture holdings.
|
|
faction_demand.1010 = {
|
|
hidden = yes
|
|
|
|
trigger = {
|
|
has_variable = rebel_leader_peasants
|
|
joined_faction = var:rebel_leader_peasants
|
|
exists = scope:war
|
|
scope:war = {
|
|
primary_defender = scope:previous_controller
|
|
}
|
|
OR = {
|
|
scope:county.culture = root.culture
|
|
scope:county.religion = root.religion
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
# Spawn the army on the captured province.
|
|
spawn_army = {
|
|
name = peasant_troops_name
|
|
levies = {
|
|
value = scope:county.county_levies_to_raise
|
|
multiply = 0.5
|
|
}
|
|
men_at_arms = {
|
|
type = pikemen_militia
|
|
stacks = 1
|
|
}
|
|
location = scope:barony.title_province
|
|
war = scope:war
|
|
}
|
|
|
|
# Additional loss of county control, can be up to -50 for large counties.
|
|
every_in_list = {
|
|
list = occupied_baronies
|
|
scope:county = {
|
|
change_county_control = -10
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
##################################################
|
|
# Peasant Faction
|
|
# by Sean Hughes
|
|
# 1101 - 1110
|
|
##################################################
|
|
|
|
faction_demand.1101 = {
|
|
type = letter_event
|
|
sender = scope:peasant_leader
|
|
opening = "FACTION_DEMAND_PEASANT"
|
|
desc = FACTION_DEMAND_PEASANT_DESC
|
|
|
|
trigger = {
|
|
exists = scope:faction
|
|
exists = scope:peasant_leader
|
|
scope:peasant_leader.joined_faction = scope:faction
|
|
}
|
|
|
|
on_trigger_fail = {
|
|
debug_log = "Peasant Faction tried to press claim (probably) without existing peasant_leader"
|
|
debug_log_scopes = yes
|
|
debug_log = "Peasant Faction error reporting complete"
|
|
}
|
|
|
|
option = {
|
|
name = "FACTION_DEMAND_PEASANT_ACCEPT"
|
|
|
|
# LEGITIMACY LOSS FOR ACCEPTING FACTION DEMANDS
|
|
faction_accept_demand_legitimacy_effect = yes
|
|
|
|
peasant_faction_demands_enforced = {FACTION = scope:faction}
|
|
|
|
ai_chance = {
|
|
base = 0
|
|
ai_value_modifier = {
|
|
ai_boldness = -4
|
|
}
|
|
modifier = {
|
|
add = 50
|
|
scope:faction = { faction_power >= 100 }
|
|
}
|
|
modifier = {
|
|
add = 50
|
|
scope:faction = { faction_power >= 110 }
|
|
}
|
|
modifier = {
|
|
add = 50
|
|
scope:faction = { faction_power >= 120 }
|
|
}
|
|
modifier = {
|
|
add = 50
|
|
scope:faction = { faction_power >= 130 }
|
|
}
|
|
modifier = {
|
|
add = 50
|
|
scope:faction = { faction_power >= 140 }
|
|
}
|
|
modifier = {
|
|
add = 50
|
|
scope:faction = { faction_power >= 150 }
|
|
}
|
|
modifier = {
|
|
add = -50
|
|
scope:faction.faction_target = {
|
|
is_at_war = no
|
|
primary_title.tier >= tier_kingdom
|
|
}
|
|
}
|
|
modifier = {
|
|
add = -150
|
|
scope:faction.faction_target = {
|
|
is_at_war = no
|
|
primary_title.tier >= tier_empire
|
|
}
|
|
}
|
|
modifier = {
|
|
add = 10000
|
|
scope:peasant_leader = { is_yes_men_enabled = yes }
|
|
}
|
|
}
|
|
}
|
|
|
|
option = {
|
|
name = "FACTION_DEMAND_PEASANT_REFUSE"
|
|
|
|
scope:faction = {
|
|
faction_start_war = {}
|
|
|
|
# This needs to run after 'faction_start_war' or the troops won't spawn correctly.
|
|
faction_spawn_member_county_armies_effect = {
|
|
FACTION = scope:faction
|
|
ARMY_OWNER = scope:peasant_leader
|
|
PEASANT_ARMY_NAME = peasant_faction_event_troops
|
|
}
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_boldness = 4
|
|
}
|
|
modifier = {
|
|
add = 50
|
|
scope:faction = { faction_power < 90 }
|
|
}
|
|
modifier = {
|
|
add = 50
|
|
scope:faction = { faction_power < 80 }
|
|
}
|
|
modifier = {
|
|
add = 10000
|
|
scope:peasant_leader = { is_no_men_enabled = yes }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
faction_demand.1102 = {
|
|
hidden = yes
|
|
|
|
trigger = {
|
|
is_imprisoned = no
|
|
}
|
|
|
|
immediate = {
|
|
death = {
|
|
death_reason = death_vanished
|
|
}
|
|
}
|
|
}
|
|
|
|
faction_demand.1110 = {
|
|
hidden = yes
|
|
|
|
trigger = {
|
|
has_variable = rebel_leader_peasants
|
|
joined_faction = var:rebel_leader_peasants
|
|
exists = scope:war
|
|
scope:war = {
|
|
primary_defender = scope:previous_controller
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
# Spawn the army on the captured province.
|
|
spawn_army = {
|
|
name = peasant_troops_name
|
|
levies = {
|
|
value = scope:county.county_levies_to_raise
|
|
multiply = 0.5
|
|
}
|
|
men_at_arms = {
|
|
type = pikemen_militia
|
|
stacks = 1
|
|
}
|
|
location = scope:barony.title_province
|
|
war = scope:war
|
|
}
|
|
|
|
# Additional loss of county control, can be up to -70 for large counties.
|
|
every_in_list = {
|
|
list = occupied_baronies
|
|
scope:county = {
|
|
change_county_control = -10
|
|
}
|
|
}
|
|
# Lose an extra -10 county control.
|
|
scope:county = {
|
|
change_county_control = -10
|
|
}
|
|
}
|
|
}
|
|
|
|
##################################################
|
|
# Claimant Faction
|
|
# by Ismael Serrano
|
|
# 2001 - 2010
|
|
##################################################
|
|
|
|
scripted_effect faction_demand_claimant_counter_offer_corule_accepted_effect = {
|
|
# This effect should always be placed here, _before_ all the other effects in the block.
|
|
trigger_event = { on_action = on_faction_demand_accepted }
|
|
|
|
add_dread = medium_dread_loss
|
|
|
|
custom_tooltip = {
|
|
text = faction_demand.0000.truce_from_co_rule
|
|
scope:faction = {
|
|
every_faction_member = {
|
|
save_scope_as = recipient # Ensuring it localizes correctly
|
|
add_truce_both_ways = {
|
|
character = scope:faction.faction_target
|
|
years = faction_counter_offer_appointed_co_emperor_value
|
|
name = ep3_truce_appointed_faction_leader_coruler
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# LEGITIMACY LOSS FOR ACCEPTING FACTION DEMANDS
|
|
faction_accept_demand_legitimacy_effect = yes
|
|
on_claimant_faction_war_win_common = {
|
|
TARGET_TITLES = target_titles
|
|
ATTACKER = scope:faction.faction_leader
|
|
DEFENDER = root
|
|
CLAIMANT = scope:faction.special_character
|
|
}
|
|
|
|
scope:faction = { destroy_faction = yes }
|
|
}
|
|
|
|
scripted_effect faction_demand_claimant_rejected_effect = {
|
|
# This effect should always be placed here, _before_ all the other effects in the block.
|
|
trigger_event = { on_action = on_faction_demand_rejected }
|
|
|
|
show_as_tooltip = {
|
|
scope:faction = {
|
|
faction_start_war = { title = scope:target_title }
|
|
faction_spawn_member_county_armies_effect = {
|
|
FACTION = scope:faction
|
|
ARMY_OWNER = scope:faction_leader
|
|
PEASANT_ARMY_NAME = claimant_faction_event_troops
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Claimant Faction Demand
|
|
# by Ismael Serrano
|
|
faction_demand.2001 = {
|
|
type = letter_event
|
|
sender = scope:faction_leader
|
|
opening = {
|
|
desc = "FACTION_DEMAND_CLAIMANT"
|
|
}
|
|
desc = {
|
|
first_valid = {
|
|
triggered_desc = {
|
|
trigger = { scope:faction_claimant = scope:faction_leader }
|
|
desc = "FACTION_DEMAND_CLAIMANT_DESC_ME"
|
|
}
|
|
desc = "FACTION_DEMAND_CLAIMANT_DESC"
|
|
}
|
|
}
|
|
|
|
trigger = {
|
|
# May have ceased to exist by the time this triggers
|
|
exists = scope:faction
|
|
}
|
|
|
|
immediate = {
|
|
# Grab our scope for loc.
|
|
save_scope_as = faction_target
|
|
set_variable = {
|
|
name = claimant_faction_sent_demand
|
|
value = scope:faction_claimant
|
|
}
|
|
}
|
|
|
|
option = {
|
|
name = "FACTION_DEMAND_ACCEPT"
|
|
|
|
# This effect should always be placed here, _before_ all the other effects in the block.
|
|
trigger_event = { on_action = on_faction_demand_accepted }
|
|
|
|
add_dread = medium_dread_loss
|
|
|
|
# LEGITIMACY LOSS FOR ACCEPTING FACTION DEMANDS
|
|
faction_accept_demand_legitimacy_effect = yes
|
|
|
|
scope:faction = {
|
|
every_faction_member = {
|
|
trigger_event = faction_demand.2002
|
|
}
|
|
|
|
special_title = {
|
|
add_to_list = target_titles
|
|
}
|
|
}
|
|
|
|
# Admin Emperors lose all their held titles
|
|
if = {
|
|
limit = { has_realm_law = acclamation_succession_law }
|
|
every_held_title = {
|
|
# not baronies
|
|
title_tier >= county
|
|
limit = {
|
|
# But not their noble family title, so they can continue playing as LADMIN
|
|
NOR = { has_title_law = noble_family_succession_law }
|
|
}
|
|
add_to_list = target_titles
|
|
}
|
|
}
|
|
|
|
on_claimant_faction_war_win_common = {
|
|
TARGET_TITLES = target_titles
|
|
ATTACKER = scope:faction.faction_leader
|
|
DEFENDER = root
|
|
CLAIMANT = scope:faction.special_character
|
|
# ATTACKER_PRESTIGE = 0
|
|
# DEFENDER_PRESTIGE = 0
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 10
|
|
modifier = {
|
|
add = 50
|
|
scope:faction = { faction_power >= 125 }
|
|
}
|
|
modifier = {
|
|
add = 50
|
|
scope:faction = { faction_power >= 150 }
|
|
}
|
|
modifier = {
|
|
add = 50
|
|
scope:faction = { faction_power >= 200 }
|
|
}
|
|
modifier = {
|
|
factor = 0
|
|
any_ally = {
|
|
NOR = {
|
|
target_is_liege_or_above = root
|
|
target_is_vassal_or_below = root
|
|
}
|
|
max_military_strength > root.max_military_strength
|
|
}
|
|
}
|
|
modifier = {
|
|
add = -25
|
|
is_at_war = no
|
|
primary_title.tier >= tier_kingdom
|
|
}
|
|
modifier = {
|
|
add = -50
|
|
is_at_war = no
|
|
primary_title.tier >= tier_empire
|
|
}
|
|
modifier = {
|
|
add = -5000
|
|
OR = {
|
|
mpo_has_gok_mongol_empire_trigger = yes
|
|
#has_title = title:e_ilkhanate
|
|
#has_title = title:e_golden_horde
|
|
#has_title = title:e_chagatai
|
|
#has_title = title:e_red_horde
|
|
#has_title = title:e_white_horde
|
|
#has_title = title:e_aarlud_khanate
|
|
#has_title = title:e_togskol_khanate
|
|
#has_title = title:e_baruun_khanate
|
|
#has_title = title:e_great_yuan
|
|
#has_title = title:e_blue_horde
|
|
#has_title = title:e_omnod_dalai_khanate
|
|
has_title = title:e_byzantium
|
|
has_variable = conqueror
|
|
}
|
|
}
|
|
modifier = {
|
|
add = 10000
|
|
scope:faction_leader = { is_yes_men_enabled = yes }
|
|
}
|
|
}
|
|
}
|
|
|
|
option = {
|
|
name = "FACTION_DEMAND_BRIBE_CO_EMPEROR"
|
|
show_as_unavailable = {
|
|
OR = {
|
|
may_appoint_co_emperors_trigger = yes
|
|
scope:faction_leader != scope:faction.special_character
|
|
}
|
|
}
|
|
trigger = {
|
|
faction_target_can_attempt_to_bribe_with_co_emperorship_trigger = yes
|
|
custom_tooltip = {
|
|
text = FACTION_DEMAND_BRIBE_CO_EMPEROR_REASON
|
|
scope:faction_leader = scope:faction.special_character
|
|
}
|
|
}
|
|
|
|
# Ping-pong the choice back to the target.
|
|
## Laying out the consequences.
|
|
show_as_tooltip = {
|
|
random_list = {
|
|
# They accept!
|
|
100 = {
|
|
desc = faction_demand.0000.faction_leader_accepts
|
|
show_chance = no
|
|
faction_demand_counter_offer_co_rule_start_diarchy_effect = yes
|
|
faction_demand_claimant_counter_offer_corule_accepted_effect = yes
|
|
}
|
|
# They decline.
|
|
100 = {
|
|
desc = faction_demand.0000.faction_leader_rejects
|
|
show_chance = no
|
|
faction_demand_claimant_rejected_effect = yes
|
|
}
|
|
}
|
|
}
|
|
## And sorting the actual flow.
|
|
scope:faction_leader = { trigger_event = faction_demand.2006 }
|
|
|
|
ai_chance = { liege_offer_co_emperorship_to_faction_leader_modifier = yes }
|
|
}
|
|
|
|
option = {
|
|
name = "FACTION_DEMAND_REFUSE"
|
|
|
|
faction_demand_claimant_rejected_effect = yes
|
|
|
|
scope:faction_leader = { trigger_event = faction_demand.2003 }
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
compare_modifier = {
|
|
trigger = {
|
|
ai_boldness > 0
|
|
}
|
|
value = ai_boldness
|
|
multiplier = 3
|
|
}
|
|
compare_modifier = {
|
|
trigger = {
|
|
ai_boldness < 0
|
|
}
|
|
value = ai_boldness
|
|
}
|
|
modifier = {
|
|
add = 50
|
|
scope:faction = { faction_power < 80 }
|
|
}
|
|
modifier = {
|
|
add = 100
|
|
scope:faction = { faction_power < 60 }
|
|
}
|
|
modifier = {
|
|
add = 1000
|
|
scope:faction = { faction_power < 40 }
|
|
}
|
|
modifier = {
|
|
add = 5000
|
|
OR = {
|
|
mpo_has_gok_mongol_empire_trigger = yes
|
|
#has_title = title:e_ilkhanate
|
|
#has_title = title:e_golden_horde
|
|
#has_title = title:e_chagatai
|
|
#has_title = title:e_red_horde
|
|
#has_title = title:e_white_horde
|
|
#has_title = title:e_aarlud_khanate
|
|
#has_title = title:e_togskol_khanate
|
|
#has_title = title:e_baruun_khanate
|
|
#has_title = title:e_great_yuan
|
|
#has_title = title:e_blue_horde
|
|
#has_title = title:e_omnod_dalai_khanate
|
|
has_title = title:e_byzantium
|
|
has_variable = conqueror
|
|
}
|
|
}
|
|
modifier = {
|
|
add = 10000
|
|
scope:faction_leader = { is_no_men_enabled = yes }
|
|
}
|
|
}
|
|
}
|
|
|
|
after = {
|
|
remove_variable = claimant_faction_sent_demand
|
|
}
|
|
}
|
|
|
|
# Claimant Faction Demand Accepted
|
|
# by Ismael Serrano
|
|
faction_demand.2002 = {
|
|
type = letter_event
|
|
sender = scope:faction_target
|
|
opening = {
|
|
desc = "FACTION_DEMAND_CLAIMANT_ACCEPTED"
|
|
}
|
|
desc = "FACTION_DEMAND_CLAIMANT_ACCEPTED_DESC"
|
|
|
|
option = {
|
|
name = "FACTION_DEMAND_ACCEPTED_OPT"
|
|
}
|
|
}
|
|
|
|
# Claimant Faction Demand Refused
|
|
# by Ismael Serrano
|
|
faction_demand.2003 = {
|
|
type = letter_event
|
|
sender = scope:faction_target
|
|
opening = {
|
|
desc = "FACTION_DEMAND_CLAIMANT_REFUSED"
|
|
}
|
|
desc = "FACTION_DEMAND_CLAIMANT_REFUSED_DESC"
|
|
|
|
option = {
|
|
name = "FACTION_DEMAND_REFUSED_OPT"
|
|
scope:faction = {
|
|
every_faction_member = {
|
|
limit = {
|
|
this != root # i.e. not faction leader, even when the war disbands the faction
|
|
}
|
|
trigger_event = faction_demand.2004
|
|
}
|
|
|
|
faction_start_war = {
|
|
title = special_title
|
|
}
|
|
|
|
# This needs to occur after the war begins, or the troops can't spawn correctly.
|
|
faction_spawn_member_county_armies_effect = {
|
|
FACTION = scope:faction
|
|
ARMY_OWNER = scope:faction_leader
|
|
PEASANT_ARMY_NAME = claimant_faction_event_troops
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Claimant Faction Demand Refused Member Notice
|
|
# by Ismael Serrano
|
|
faction_demand.2004 = {
|
|
type = letter_event
|
|
sender = scope:faction_target
|
|
opening = {
|
|
desc = "FACTION_DEMAND_CLAIMANT_REFUSED"
|
|
}
|
|
desc = "FACTION_DEMAND_CLAIMANT_REFUSED_DESC"
|
|
|
|
option = {
|
|
name = "FACTION_DEMAND_REFUSED_OPT"
|
|
custom_tooltip = faction_demand.2004.opt_tt
|
|
}
|
|
}
|
|
|
|
# Claimant Faction Demand Send Notice
|
|
# by Ismael Serrano
|
|
faction_demand.2005 = {
|
|
type = letter_event
|
|
sender = scope:faction_leader
|
|
opening = {
|
|
desc = "FACTION_DEMAND_CLAIMANT_SEND_DEMAND_NOTIFICATION"
|
|
}
|
|
desc = "FACTION_DEMAND_CLAIMANT_SEND_DEMAND_NOTIFICATION_DESC"
|
|
|
|
option = {
|
|
name = "FACTION_DEMAND_SEND_DEMAND_NOTIFICATION_OPT"
|
|
}
|
|
}
|
|
|
|
# Co-emperor counter-offer.
|
|
faction_demand.2006 = {
|
|
type = letter_event
|
|
sender = scope:faction_target
|
|
opening = FACTION_DEMAND_COUNTER_OFFER_CORULE
|
|
desc = FACTION_DEMAND_COUNTER_OFFER_CORULE_DESC
|
|
|
|
option = {
|
|
name = FACTION_DEMAND_COUNTER_OFFER_CORULE_ACCEPT
|
|
|
|
# Inform the relevant parties.
|
|
hidden_effect = {
|
|
scope:faction_target = {
|
|
send_interface_toast = {
|
|
type = msg_start_diarchy
|
|
title = faction_demand.0000.offer_accepted
|
|
show_as_tooltip = { custom_tooltip = faction_demand.0000.enter_co_emperorship }
|
|
}
|
|
}
|
|
scope:faction = {
|
|
every_faction_member = {
|
|
limit = {
|
|
is_ai = no
|
|
this != scope:faction_leader
|
|
}
|
|
trigger_event = faction_demand.9011
|
|
}
|
|
}
|
|
}
|
|
# Actual effects.
|
|
scope:faction_target = {
|
|
faction_demand_counter_offer_co_rule_start_diarchy_effect = yes
|
|
faction_demand_claimant_counter_offer_corule_accepted_effect = yes
|
|
}
|
|
|
|
# Low weight: we control the AI accepting this by toggling whether they can access the refusal option at all.
|
|
ai_chance = { base = 20 }
|
|
}
|
|
|
|
option = {
|
|
name = FACTION_DEMAND_COUNTER_OFFER_CORULE_REJECT
|
|
trigger = { faction_leader_would_consider_turning_down_co_emperorship_trigger = yes }
|
|
|
|
# Inform the relevant parties.
|
|
hidden_effect = {
|
|
scope:faction_target = {
|
|
send_interface_toast = {
|
|
type = msg_war_declared_on_me
|
|
title = faction_demand.0000.offer_rejected
|
|
show_as_tooltip = {
|
|
scope:faction = { custom_tooltip = faction_starts_war.tt.replacement }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
# Actual effects.
|
|
faction_demand_claimant_rejected_effect = yes
|
|
|
|
# If the AI can access this at all then they should strongly consider it.
|
|
ai_chance = { base = 80 }
|
|
}
|
|
}
|
|
|
|
##################################################
|
|
# Ceremonial Claimant Faction
|
|
# by Joe Parkin
|
|
# 2011 - 2020
|
|
##################################################
|
|
|
|
# Ceremonial Claimant Faction Demand
|
|
faction_demand.2011 = {
|
|
type = letter_event
|
|
sender = scope:faction_leader
|
|
opening = "FACTION_DEMAND_CEREMONIAL_CLAIMANT"
|
|
desc = {
|
|
first_valid = {
|
|
triggered_desc = {
|
|
trigger = { scope:faction_claimant = scope:faction_leader }
|
|
desc = "FACTION_DEMAND_CEREMONIAL_CLAIMANT_DESC_ME"
|
|
}
|
|
desc = "FACTION_DEMAND_CEREMONIAL_CLAIMANT_DESC"
|
|
}
|
|
}
|
|
|
|
trigger = { exists = scope:faction } # May have ceased to exist by the time this triggers
|
|
|
|
immediate = {
|
|
# Grab our scope for loc.
|
|
save_scope_as = faction_target
|
|
set_variable = {
|
|
name = ceremonial_claimant_faction_sent_demand
|
|
value = scope:faction_claimant
|
|
}
|
|
}
|
|
|
|
option = {
|
|
name = "FACTION_DEMAND_ACCEPT"
|
|
# This effect should always be placed here, _before_ all the other effects in the block.
|
|
trigger_event = { on_action = on_faction_demand_accepted }
|
|
add_dread = medium_dread_loss
|
|
# LEGITIMACY LOSS FOR ACCEPTING FACTION DEMANDS
|
|
faction_accept_demand_legitimacy_effect = yes
|
|
scope:faction = {
|
|
every_faction_member = { trigger_event = faction_demand.2012 }
|
|
}
|
|
on_ceremonial_claimant_faction_war_win_common = {
|
|
TITLE = scope:faction.special_title
|
|
ATTACKER = scope:faction.faction_leader
|
|
DEFENDER = root
|
|
CLAIMANT = scope:faction.special_character
|
|
}
|
|
hidden_effect = {
|
|
scope:faction = { destroy_faction = yes }
|
|
}
|
|
ai_chance = {
|
|
base = 10
|
|
modifier = {
|
|
add = 50
|
|
scope:faction = { faction_power >= 125 }
|
|
}
|
|
modifier = {
|
|
add = 50
|
|
scope:faction = { faction_power >= 150 }
|
|
}
|
|
modifier = {
|
|
add = 50
|
|
scope:faction = { faction_power >= 200 }
|
|
}
|
|
modifier = {
|
|
factor = 0
|
|
any_ally = {
|
|
NOR = {
|
|
target_is_liege_or_above = root
|
|
target_is_vassal_or_below = root
|
|
}
|
|
max_military_strength > root.max_military_strength
|
|
}
|
|
}
|
|
modifier = {
|
|
add = -25
|
|
is_at_war = no
|
|
primary_title.tier >= tier_kingdom
|
|
}
|
|
modifier = {
|
|
add = -50
|
|
is_at_war = no
|
|
primary_title.tier >= tier_empire
|
|
}
|
|
modifier = {
|
|
add = -5000
|
|
OR = {
|
|
mpo_has_gok_mongol_empire_trigger = yes
|
|
#has_title = title:e_ilkhanate
|
|
#has_title = title:e_golden_horde
|
|
#has_title = title:e_chagatai
|
|
#has_title = title:e_red_horde
|
|
#has_title = title:e_white_horde
|
|
#has_title = title:e_aarlud_khanate
|
|
#has_title = title:e_togskol_khanate
|
|
#has_title = title:e_baruun_khanate
|
|
#has_title = title:e_great_yuan
|
|
#has_title = title:e_blue_horde
|
|
#has_title = title:e_omnod_dalai_khanate
|
|
has_title = title:e_byzantium
|
|
has_variable = conqueror
|
|
}
|
|
}
|
|
modifier = {
|
|
scope:faction.special_character ?= { is_close_family_of = root }
|
|
add = 25
|
|
}
|
|
modifier = {
|
|
scope:faction.special_character.primary_spouse ?= { is_close_family_of = root }
|
|
add = 25
|
|
}
|
|
}
|
|
}
|
|
|
|
option = {
|
|
name = "FACTION_DEMAND_REFUSE"
|
|
faction_demand_claimant_rejected_effect = yes
|
|
scope:faction_leader = { trigger_event = faction_demand.2013 }
|
|
ai_chance = {
|
|
base = 100
|
|
compare_modifier = {
|
|
trigger = {
|
|
ai_boldness > 0
|
|
}
|
|
value = ai_boldness
|
|
multiplier = 3
|
|
}
|
|
compare_modifier = {
|
|
trigger = {
|
|
ai_boldness < 0
|
|
}
|
|
value = ai_boldness
|
|
}
|
|
modifier = {
|
|
add = 50
|
|
scope:faction = { faction_power < 80 }
|
|
}
|
|
modifier = {
|
|
add = 100
|
|
scope:faction = { faction_power < 60 }
|
|
}
|
|
modifier = {
|
|
add = 1000
|
|
scope:faction = { faction_power < 40 }
|
|
}
|
|
modifier = {
|
|
add = 5000
|
|
OR = {
|
|
mpo_has_gok_mongol_empire_trigger = yes
|
|
#has_title = title:e_ilkhanate
|
|
#has_title = title:e_golden_horde
|
|
#has_title = title:e_chagatai
|
|
#has_title = title:e_red_horde
|
|
#has_title = title:e_white_horde
|
|
#has_title = title:e_aarlud_khanate
|
|
#has_title = title:e_togskol_khanate
|
|
#has_title = title:e_baruun_khanate
|
|
#has_title = title:e_great_yuan
|
|
#has_title = title:e_blue_horde
|
|
#has_title = title:e_omnod_dalai_khanate
|
|
has_title = title:e_byzantium
|
|
has_variable = conqueror
|
|
}
|
|
}
|
|
modifier = {
|
|
scope:faction.special_title.holder ?= { is_close_family_of = root }
|
|
add = -25
|
|
}
|
|
modifier = {
|
|
scope:faction.special_title.holder.primary_spouse ?= { is_close_family_of = root }
|
|
add = -25
|
|
}
|
|
}
|
|
}
|
|
|
|
after = { remove_variable = ceremonial_claimant_faction_sent_demand }
|
|
}
|
|
|
|
# Ceremonial Claimant Faction Demand Accepted
|
|
faction_demand.2012 = {
|
|
type = letter_event
|
|
sender = scope:faction_target
|
|
opening = "FACTION_DEMAND_CEREMONIAL_CLAIMANT_ACCEPTED"
|
|
desc = "FACTION_DEMAND_CEREMONIAL_CLAIMANT_ACCEPTED_DESC"
|
|
option = { name = "FACTION_DEMAND_ACCEPTED_OPT" }
|
|
}
|
|
|
|
# Ceremonial Claimant Faction Demand Refused
|
|
faction_demand.2013 = {
|
|
type = letter_event
|
|
sender = scope:faction_target
|
|
opening = "FACTION_DEMAND_CEREMONIAL_CLAIMANT_REFUSED"
|
|
desc = "FACTION_DEMAND_CEREMONIAL_CLAIMANT_REFUSED_DESC"
|
|
|
|
option = {
|
|
name = "FACTION_DEMAND_REFUSED_OPT"
|
|
scope:faction = {
|
|
every_faction_member = {
|
|
limit = { this != root } # i.e. not faction leader, even when the war disbands the faction
|
|
trigger_event = faction_demand.2014
|
|
}
|
|
faction_start_war = { title = special_title }
|
|
# This needs to occur after the war begins, or the troops can't spawn correctly.
|
|
faction_spawn_member_county_armies_effect = {
|
|
FACTION = scope:faction
|
|
ARMY_OWNER = scope:faction_leader
|
|
PEASANT_ARMY_NAME = claimant_faction_event_troops
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Ceremonial Claimant Faction Demand Refused Member Notice
|
|
faction_demand.2014 = {
|
|
type = letter_event
|
|
sender = scope:faction_target
|
|
opening = "FACTION_DEMAND_CEREMONIAL_CLAIMANT_REFUSED"
|
|
desc = "FACTION_DEMAND_CEREMONIAL_CLAIMANT_REFUSED_DESC"
|
|
option = {
|
|
name = "FACTION_DEMAND_REFUSED_OPT"
|
|
custom_tooltip = faction_demand.2004.opt_tt
|
|
}
|
|
}
|
|
|
|
# Ceremonial Claimant Faction Demand Send Notice
|
|
faction_demand.2015 = {
|
|
type = letter_event
|
|
sender = scope:faction_leader
|
|
opening = "FACTION_DEMAND_CEREMONIAL_CLAIMANT_SEND_DEMAND_NOTIFICATION"
|
|
desc = "FACTION_DEMAND_CEREMONIAL_CLAIMANT_SEND_DEMAND_NOTIFICATION_DESC"
|
|
option = { name = "FACTION_DEMAND_SEND_DEMAND_NOTIFICATION_OPT" }
|
|
}
|
|
|
|
##################################################
|
|
# Imperial Policy Faction
|
|
# by Joe Parkin
|
|
# 0221 - 0230
|
|
##################################################
|
|
|
|
scripted_effect faction_demand_imperial_policy_counter_offer_corule_accepted_effect = {
|
|
add_dread = medium_dread_loss
|
|
# LEGITIMACY LOSS FOR ACCEPTING FACTION DEMANDS
|
|
faction_accept_demand_legitimacy_effect = yes
|
|
add_prestige = -200
|
|
add_character_flag = {
|
|
flag = recent_imperial_policy_faction_war
|
|
years = 10
|
|
}
|
|
custom_tooltip = {
|
|
text = faction_demand.0000.truce_from_co_rule
|
|
scope:faction = {
|
|
every_faction_member = {
|
|
save_scope_as = recipient # Ensuring it localizes correctly
|
|
add_truce_both_ways = {
|
|
character = scope:faction.faction_target
|
|
years = faction_counter_offer_appointed_co_emperor_value
|
|
name = ep3_truce_appointed_faction_leader_coruler
|
|
}
|
|
}
|
|
}
|
|
}
|
|
scope:faction = { destroy_faction = yes }
|
|
# This effect should always be placed here, _after_ everything except the ai_chance.
|
|
trigger_event = { on_action = on_faction_demand_accepted }
|
|
}
|
|
|
|
scripted_effect faction_demand_imperial_policy_rejected_effect = {
|
|
# This effect should always be placed here, _before_ all the other effects in the block.
|
|
trigger_event = { on_action = on_faction_demand_rejected }
|
|
show_as_tooltip = {
|
|
scope:faction = {
|
|
custom_tooltip = faction_starts_war.tt.replacement
|
|
}
|
|
}
|
|
}
|
|
|
|
# Imperial Policy Demand
|
|
faction_demand.0221 = {
|
|
type = letter_event
|
|
sender = scope:faction_leader
|
|
opening = {
|
|
desc = "FACTION_DEMAND_IMPERIAL_POLICY"
|
|
}
|
|
desc = "FACTION_DEMAND_IMPERIAL_POLICY_DESC"
|
|
|
|
trigger = {
|
|
# May have ceased to exist by the time this triggers
|
|
exists = scope:faction
|
|
}
|
|
|
|
immediate = {
|
|
# Grab our scope for loc.
|
|
save_scope_as = faction_target
|
|
}
|
|
|
|
option = {
|
|
name = "FACTION_DEMAND_ACCEPT"
|
|
|
|
# This effect should always be placed here, _before_ all the other effects in the block.
|
|
trigger_event = { on_action = on_faction_demand_accepted }
|
|
|
|
add_dread = medium_dread_loss
|
|
|
|
# LEGITIMACY LOSS FOR ACCEPTING FACTION DEMANDS
|
|
faction_accept_demand_legitimacy_effect = yes
|
|
|
|
add_prestige = -200
|
|
|
|
add_character_flag = {
|
|
flag = recent_imperial_policy_faction_war
|
|
years = 10
|
|
}
|
|
|
|
scope:faction_leader = {
|
|
trigger_event = {
|
|
id = faction_demand.0222
|
|
}
|
|
custom_tooltip = faction_demand.0222.tt
|
|
}
|
|
|
|
scope:faction = {
|
|
destroy_faction = yes
|
|
}
|
|
|
|
# This effect should always be placed here, _after_ everything except the ai_chance.
|
|
trigger_event = { on_action = on_faction_demand_accepted }
|
|
|
|
ai_chance = {
|
|
base = 10
|
|
modifier = {
|
|
add = 90
|
|
scope:faction = { faction_power >= 100 }
|
|
}
|
|
modifier = {
|
|
add = 50
|
|
scope:faction = { faction_power >= 125 }
|
|
}
|
|
modifier = {
|
|
add = 50
|
|
scope:faction = { faction_power >= 150 }
|
|
}
|
|
modifier = {
|
|
add = 50
|
|
scope:faction = { faction_power >= 200 }
|
|
}
|
|
modifier = {
|
|
add = 50
|
|
any_character_war = {
|
|
is_war_leader = root
|
|
is_defender = root
|
|
}
|
|
}
|
|
modifier = {
|
|
factor = 0.1
|
|
any_ally = {
|
|
NOR = {
|
|
target_is_liege_or_above = root
|
|
target_is_vassal_or_below = root
|
|
}
|
|
max_military_strength > root.max_military_strength
|
|
}
|
|
}
|
|
modifier = {
|
|
add = 10000
|
|
scope:faction_leader = { is_yes_men_enabled = yes }
|
|
}
|
|
}
|
|
}
|
|
|
|
option = {
|
|
name = "FACTION_DEMAND_BRIBE_CO_EMPEROR"
|
|
show_as_unavailable = { may_appoint_co_emperors_trigger = yes }
|
|
trigger = { faction_target_can_attempt_to_bribe_with_co_emperorship_trigger = yes }
|
|
|
|
# Ping-pong the choice back to the target.
|
|
## Laying out the consequences.
|
|
show_as_tooltip = {
|
|
random_list = {
|
|
# They accept!
|
|
100 = {
|
|
desc = faction_demand.0000.faction_leader_accepts
|
|
show_chance = no
|
|
faction_demand_counter_offer_co_rule_start_diarchy_effect = yes
|
|
faction_demand_imperial_policy_counter_offer_corule_accepted_effect = yes
|
|
}
|
|
# They decline.
|
|
100 = {
|
|
desc = faction_demand.0000.faction_leader_rejects
|
|
show_chance = no
|
|
faction_demand_imperial_policy_rejected_effect = yes
|
|
}
|
|
}
|
|
}
|
|
## And sorting the actual flow.
|
|
scope:faction_leader = { trigger_event = faction_demand.0226 }
|
|
|
|
ai_chance = { liege_offer_co_emperorship_to_faction_leader_modifier = yes }
|
|
}
|
|
|
|
option = {
|
|
name = "FACTION_DEMAND_REFUSE"
|
|
|
|
faction_demand_imperial_policy_rejected_effect = yes
|
|
|
|
scope:faction_leader = {
|
|
trigger_event = {
|
|
id = faction_demand.0223
|
|
days = 1
|
|
}
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_boldness = 4.0
|
|
}
|
|
modifier = {
|
|
add = 50
|
|
scope:faction = { faction_power < 80 }
|
|
}
|
|
modifier = {
|
|
add = 100
|
|
scope:faction = { faction_power < 60 }
|
|
}
|
|
modifier = {
|
|
add = 1000
|
|
scope:faction = { faction_power < 40 }
|
|
}
|
|
modifier = {
|
|
add = 10000
|
|
scope:faction_leader = { is_no_men_enabled = yes }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Imperial Policy Demand Accepted
|
|
faction_demand.0222 = {
|
|
type = letter_event
|
|
sender = scope:faction_target
|
|
opening = {
|
|
desc = "FACTION_DEMAND_IMPERIAL_POLICY_ACCEPTED"
|
|
}
|
|
desc = "FACTION_DEMAND_IMPERIAL_POLICY_ACCEPTED_DESC"
|
|
|
|
option = {
|
|
name = "FACTION_DEMAND_ACCEPTED_OPT"
|
|
custom_tooltip = faction_demand.0222.tt
|
|
trigger_event = {
|
|
id = faction_demand.0227
|
|
days = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
# Imperial Policy Demand Refused
|
|
faction_demand.0223 = {
|
|
type = letter_event
|
|
sender = scope:faction_target
|
|
opening = {
|
|
desc = "FACTION_DEMAND_IMPERIAL_POLICY_REFUSED"
|
|
}
|
|
desc = "FACTION_DEMAND_IMPERIAL_POLICY_REFUSED_DESC"
|
|
|
|
option = {
|
|
name = "FACTION_DEMAND_REFUSED_OPT"
|
|
scope:faction = {
|
|
faction_start_war = {}
|
|
|
|
every_faction_member = {
|
|
limit = { this != scope:faction.faction_leader }
|
|
trigger_event = faction_demand.0224
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Imperial Policy Demand Refused Member Notice
|
|
faction_demand.0224 = {
|
|
type = letter_event
|
|
sender = scope:faction_target
|
|
opening = {
|
|
desc = "FACTION_DEMAND_IMPERIAL_POLICY_REFUSED"
|
|
}
|
|
desc = "FACTION_DEMAND_IMPERIAL_POLICY_REFUSED_DESC"
|
|
|
|
option = {
|
|
name = "FACTION_DEMAND_REFUSED_OPT"
|
|
}
|
|
}
|
|
|
|
# Imperial Policy Demand Send Notice
|
|
faction_demand.0225 = {
|
|
type = letter_event
|
|
sender = scope:faction_leader
|
|
opening = {
|
|
desc = "FACTION_DEMAND_IMPERIAL_POLICY_SEND_DEMAND_NOTIFICATION"
|
|
}
|
|
desc = "FACTION_DEMAND_IMPERIAL_POLICY_SEND_DEMAND_NOTIFICATION_DESC"
|
|
|
|
option = {
|
|
name = "FACTION_DEMAND_SEND_DEMAND_NOTIFICATION_OPT"
|
|
}
|
|
}
|
|
|
|
# Co-emperor counter-offer.
|
|
faction_demand.0226 = {
|
|
type = letter_event
|
|
sender = scope:faction_target
|
|
opening = FACTION_DEMAND_COUNTER_OFFER_CORULE
|
|
desc = FACTION_DEMAND_COUNTER_OFFER_CORULE_DESC
|
|
|
|
option = {
|
|
name = FACTION_DEMAND_COUNTER_OFFER_CORULE_ACCEPT
|
|
|
|
# Inform the relevant parties.
|
|
hidden_effect = {
|
|
scope:faction_target = {
|
|
send_interface_toast = {
|
|
type = msg_start_diarchy
|
|
title = faction_demand.0000.offer_accepted
|
|
show_as_tooltip = { custom_tooltip = faction_demand.0000.enter_co_emperorship }
|
|
}
|
|
}
|
|
scope:faction = {
|
|
every_faction_member = {
|
|
limit = {
|
|
is_ai = no
|
|
this != scope:faction_leader
|
|
}
|
|
trigger_event = faction_demand.9011
|
|
}
|
|
}
|
|
}
|
|
# Actual effects.
|
|
scope:faction_target = {
|
|
faction_demand_counter_offer_co_rule_start_diarchy_effect = yes
|
|
faction_demand_imperial_policy_counter_offer_corule_accepted_effect = yes
|
|
}
|
|
|
|
# Low weight: we control the AI accepting this by toggling whether they can access the refusal option at all.
|
|
ai_chance = { base = 20 }
|
|
}
|
|
|
|
option = {
|
|
name = FACTION_DEMAND_COUNTER_OFFER_CORULE_REJECT
|
|
trigger = { faction_leader_would_consider_turning_down_co_emperorship_trigger = yes }
|
|
|
|
# Inform the relevant parties.
|
|
hidden_effect = {
|
|
scope:faction_target = {
|
|
send_interface_toast = {
|
|
type = msg_war_declared_on_me
|
|
title = faction_demand.0000.offer_rejected
|
|
show_as_tooltip = {
|
|
scope:faction = { custom_tooltip = faction_starts_war.tt.replacement }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
# Actual effects.
|
|
faction_demand_imperial_policy_rejected_effect = yes
|
|
|
|
# If the AI can access this at all then they should strongly consider it.
|
|
ai_chance = { base = 80 }
|
|
}
|
|
}
|
|
|
|
scripted_trigger imperial_policy_option_trigger = {
|
|
NOT = { has_realm_law = $LAW$ }
|
|
OR = {
|
|
var:page = $PAGE$
|
|
is_ai = yes
|
|
}
|
|
}
|
|
|
|
scripted_effect imperial_policy_option_effect = {
|
|
remove_variable = page
|
|
top_liege = { add_realm_law = $LAW$ }
|
|
}
|
|
|
|
# Choose policy
|
|
faction_demand.0227 = {
|
|
type = character_event
|
|
title = faction_demand.0227.t
|
|
desc = faction_demand.0227.desc
|
|
theme = crown
|
|
override_background = { reference = study }
|
|
|
|
left_portrait = {
|
|
character = scope:faction_leader
|
|
animation = war_over_win
|
|
}
|
|
right_portrait = {
|
|
character = scope:faction_target
|
|
animation = disapproval
|
|
}
|
|
|
|
immediate = {
|
|
# Fired from the war victory as well as from faction_demand.0222, and the war path carries no faction scopes.
|
|
save_scope_as = faction_leader
|
|
if = {
|
|
limit = { NOT = { exists = scope:faction_target } }
|
|
top_liege = { save_scope_as = faction_target }
|
|
}
|
|
if = {
|
|
limit = {
|
|
NOT = { exists = var:page }
|
|
}
|
|
set_variable = {
|
|
name = page
|
|
value = 0
|
|
}
|
|
}
|
|
}
|
|
|
|
option = {
|
|
name = faction_demand.0227.a
|
|
trigger = {
|
|
imperial_policy_option_trigger = {
|
|
LAW = defense_mobilization_law
|
|
PAGE = 0
|
|
}
|
|
}
|
|
imperial_policy_option_effect = { LAW = defense_mobilization_law }
|
|
ai_chance = {
|
|
base = 0
|
|
modifier = {
|
|
top_liege = {
|
|
any_war_enemy = {
|
|
is_independent_ruler = yes
|
|
current_military_strength >= root.top_liege.eighty_percent_of_current_military_strength
|
|
}
|
|
}
|
|
add = 50
|
|
}
|
|
modifier = {
|
|
government_has_flag = government_is_japan_feudal
|
|
add = 10
|
|
}
|
|
}
|
|
}
|
|
|
|
option = { # Disarmament
|
|
name = faction_demand.0227.b
|
|
trigger = {
|
|
imperial_policy_option_trigger = {
|
|
LAW = disarmament_law
|
|
PAGE = 0
|
|
}
|
|
}
|
|
imperial_policy_option_effect = { LAW = disarmament_law }
|
|
ai_chance = {
|
|
base = 0
|
|
modifier = {
|
|
government_has_flag = government_is_japan_administrative
|
|
add = {
|
|
value = 10
|
|
every_neighboring_realm_same_rank_owner = {
|
|
limit = {
|
|
top_liege = root.top_liege
|
|
NOT = { government_has_flag = government_is_japan_administrative }
|
|
}
|
|
add = 25
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
option = {
|
|
name = faction_demand.0227.c
|
|
trigger = {
|
|
imperial_policy_option_trigger = {
|
|
LAW = isolation_law
|
|
PAGE = 0
|
|
}
|
|
}
|
|
imperial_policy_option_effect = { LAW = isolation_law }
|
|
ai_chance = {
|
|
base = 0
|
|
modifier = {
|
|
add = {
|
|
value = 0
|
|
every_character_epidemic = { add = 25 }
|
|
}
|
|
}
|
|
modifier = {
|
|
government_has_flag = government_is_japan_feudal
|
|
add = 10
|
|
}
|
|
}
|
|
}
|
|
|
|
option = {
|
|
name = faction_demand.0227.e
|
|
trigger = {
|
|
imperial_policy_option_trigger = {
|
|
LAW = imperial_expansion_law
|
|
PAGE = 1
|
|
}
|
|
}
|
|
imperial_policy_option_effect = { LAW = imperial_expansion_law }
|
|
ai_chance = {
|
|
base = 0
|
|
modifier = {
|
|
add = {
|
|
value = 0
|
|
top_liege = {
|
|
every_neighboring_and_across_water_top_liege_realm_owner = {
|
|
limit = {
|
|
has_any_cb_on = root.top_liege
|
|
NOT = { is_allied_to = root.top_liege }
|
|
current_power_with_allies_value >= root.top_liege.current_power_with_allies_half_value
|
|
}
|
|
add = 25
|
|
}
|
|
}
|
|
}
|
|
}
|
|
modifier = {
|
|
government_has_flag = government_is_japan_feudal
|
|
add = 10
|
|
}
|
|
}
|
|
}
|
|
|
|
option = {
|
|
name = faction_demand.0227.f
|
|
trigger = {
|
|
imperial_policy_option_trigger = {
|
|
LAW = manor_reform_law
|
|
PAGE = 1
|
|
}
|
|
}
|
|
imperial_policy_option_effect = { LAW = manor_reform_law }
|
|
ai_chance = {
|
|
base = 0
|
|
modifier = {
|
|
government_has_flag = government_is_japan_administrative
|
|
add = 10
|
|
}
|
|
}
|
|
}
|
|
|
|
option = {
|
|
name = faction_demand.0227.g
|
|
trigger = {
|
|
imperial_policy_option_trigger = {
|
|
LAW = bandit_crackdown_law
|
|
PAGE = 2
|
|
}
|
|
}
|
|
imperial_policy_option_effect = { LAW = bandit_crackdown_law }
|
|
ai_chance = {
|
|
base = 0
|
|
modifier = {
|
|
add = {
|
|
value = 0
|
|
every_held_title = {
|
|
title_tier = county
|
|
limit = {
|
|
is_landless_type_title = no
|
|
county_control < 75
|
|
}
|
|
add = 10
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
option = { # Turn page
|
|
name = faction_demand.0227.i
|
|
custom_tooltip = faction_demand.0227.i.tt
|
|
if = {
|
|
limit = { var:page = 2 }
|
|
set_variable = {
|
|
name = page
|
|
value = 0
|
|
}
|
|
}
|
|
else = {
|
|
change_variable = {
|
|
name = page
|
|
add = 1
|
|
}
|
|
}
|
|
trigger_event = faction_demand.0227
|
|
ai_chance = { base = 0 }
|
|
}
|
|
}
|
|
|
|
##################################################
|
|
# Nation Fracturing Faction
|
|
# by Maxence Voleau
|
|
# 1000 - 1009 (but not 1001 or 1010)
|
|
##################################################
|
|
|
|
scripted_effect faction_demand_nation_fracturing_counter_offer_corule_accepted_effect = {
|
|
# This effect should always be placed here, _before_ all the other effects in the block.
|
|
trigger_event = { on_action = on_faction_demand_accepted }
|
|
|
|
add_dread = medium_dread_loss
|
|
# LEGITIMACY LOSS FOR ACCEPTING FACTION DEMANDS
|
|
faction_accept_demand_legitimacy_effect = yes
|
|
|
|
custom_tooltip = {
|
|
text = faction_demand.0000.truce_from_co_rule
|
|
scope:faction = {
|
|
every_faction_member = {
|
|
save_scope_as = recipient # Ensuring it localizes correctly
|
|
add_truce_both_ways = {
|
|
character = scope:faction.faction_target
|
|
years = faction_counter_offer_appointed_co_emperor_value
|
|
name = ep3_truce_appointed_faction_leader_coruler
|
|
}
|
|
}
|
|
}
|
|
}
|
|
scope:faction = { destroy_faction = yes }
|
|
}
|
|
|
|
scripted_effect faction_demand_nation_fracturing_rejected_effect = {
|
|
# This effect should always be placed here, _before_ all the other effects in the block.
|
|
trigger_event = { on_action = on_faction_demand_rejected }
|
|
|
|
show_as_tooltip = {
|
|
scope:faction = {
|
|
custom_tooltip = faction_starts_war.tt.replacement
|
|
}
|
|
}
|
|
}
|
|
|
|
# Nation Fracturing demands
|
|
faction_demand.1000 = {
|
|
type = letter_event
|
|
sender = scope:faction_leader
|
|
opening = {
|
|
desc = "FACTION_DEMAND_COLLAPSE"
|
|
}
|
|
desc = "FACTION_DEMAND_COLLAPSE_DESC"
|
|
|
|
trigger = {
|
|
# May have ceased to exist by the time this triggers
|
|
exists = scope:faction
|
|
}
|
|
|
|
immediate = {
|
|
# Grab our scope for loc.
|
|
save_scope_as = faction_target
|
|
}
|
|
|
|
option = {
|
|
name = "FACTION_DEMAND_ACCEPT"
|
|
|
|
# This effect should always be placed here, _before_ all the other effects in the block.
|
|
trigger_event = { on_action = on_faction_demand_accepted }
|
|
|
|
add_dread = medium_dread_loss
|
|
# LEGITIMACY LOSS FOR ACCEPTING FACTION DEMANDS
|
|
faction_accept_demand_legitimacy_effect = yes
|
|
|
|
# We are doing this before the create_title_and_vassal_change as the scope:change will be stored as a event_target for the faction_demand.1002 and cause an "OOS" - Title and vassal changes should be resolved in the same tick
|
|
scope:faction = {
|
|
every_faction_member = {
|
|
trigger_event = faction_demand.1002
|
|
}
|
|
}
|
|
|
|
create_title_and_vassal_change = {
|
|
type = independency
|
|
save_scope_as = change
|
|
add_claim_on_loss = no
|
|
}
|
|
|
|
scope:faction = {
|
|
every_faction_member = {
|
|
change_liege_or_become_independent = {
|
|
CHANGE = scope:change
|
|
VASSAL = this
|
|
}
|
|
|
|
hidden_effect = {
|
|
save_scope_as = recipient # Ensuring it localizes correctly
|
|
add_truce_both_ways = {
|
|
character = root
|
|
days = 1825
|
|
name = TRUCE_GRANT_INDEPENDENCE
|
|
}
|
|
|
|
# Struggle Catalysts.
|
|
if = {
|
|
limit = {
|
|
catalyst_gave_independence_to_powerful_diff_faith_culture_vassal_preliminary_trigger = {
|
|
CHAR1 = root
|
|
CHAR2 = scope:recipient
|
|
}
|
|
any_character_struggle = {
|
|
involvement = involved
|
|
activate_struggle_catalyst_secondary_character_involvement_involved_trigger = {
|
|
CATALYST = catalyst_gave_independence_to_powerful_diff_faith_culture_vassal
|
|
CHAR = scope:recipient
|
|
}
|
|
}
|
|
}
|
|
every_character_struggle = {
|
|
involvement = involved
|
|
limit = {
|
|
activate_struggle_catalyst_secondary_character_involvement_either_trigger = {
|
|
CATALYST = catalyst_gave_independence_to_powerful_diff_faith_culture_vassal
|
|
CHAR = scope:recipient
|
|
}
|
|
}
|
|
activate_struggle_catalyst = {
|
|
catalyst = catalyst_gave_independence_to_powerful_diff_faith_culture_vassal
|
|
character = root
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
every_vassal = {
|
|
limit = { is_ai = no }
|
|
send_interface_toast = {
|
|
type = event_faction_neutral_text
|
|
title = liege_primary_title_dissolution
|
|
desc = liege_primary_title_dissolution_desc
|
|
left_icon = root
|
|
}
|
|
}
|
|
|
|
resolve_title_and_vassal_change = scope:change
|
|
|
|
every_held_title = {
|
|
limit = {
|
|
tier = prev.primary_title.tier
|
|
}
|
|
add_to_temporary_list = titles_to_destroy
|
|
}
|
|
|
|
every_in_list = {
|
|
list = titles_to_destroy
|
|
holder = {
|
|
destroy_title = prev
|
|
}
|
|
}
|
|
|
|
add_prestige = {
|
|
value = medium_prestige_value
|
|
multiply = -1
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 1
|
|
modifier = {
|
|
add = 99
|
|
scope:faction = { faction_power >= 100 }
|
|
}
|
|
modifier = {
|
|
add = 50
|
|
scope:faction = { faction_power >= 125 }
|
|
}
|
|
modifier = {
|
|
add = 50
|
|
scope:faction = { faction_power >= 150 }
|
|
}
|
|
modifier = {
|
|
add = 50
|
|
scope:faction = { faction_power >= 200 }
|
|
}
|
|
modifier = {
|
|
add = 100
|
|
scope:faction = { faction_power >= 300 }
|
|
}
|
|
modifier = {
|
|
factor = 0.1
|
|
any_ally = {
|
|
NOR = {
|
|
target_is_liege_or_above = root
|
|
target_is_vassal_or_below = root
|
|
}
|
|
max_military_strength > root.max_military_strength
|
|
}
|
|
}
|
|
compare_modifier = {
|
|
value = debt_level
|
|
multiplier = 25
|
|
}
|
|
modifier = {
|
|
add = -50
|
|
is_at_war = no
|
|
primary_title.tier >= tier_kingdom
|
|
}
|
|
modifier = {
|
|
add = -150
|
|
is_at_war = no
|
|
primary_title.tier >= tier_empire
|
|
}
|
|
modifier = {
|
|
add = -5000
|
|
OR = {
|
|
mpo_has_gok_mongol_empire_trigger = yes
|
|
#has_title = title:e_ilkhanate
|
|
#has_title = title:e_golden_horde
|
|
#has_title = title:e_chagatai
|
|
#has_title = title:e_red_horde
|
|
#has_title = title:e_white_horde
|
|
#has_title = title:e_aarlud_khanate
|
|
#has_title = title:e_togskol_khanate
|
|
#has_title = title:e_baruun_khanate
|
|
#has_title = title:e_great_yuan
|
|
#has_title = title:e_blue_horde
|
|
#has_title = title:e_omnod_dalai_khanate
|
|
has_title = title:e_byzantium
|
|
has_variable = conqueror
|
|
}
|
|
}
|
|
modifier = {
|
|
add = 10000
|
|
scope:faction_leader = { is_yes_men_enabled = yes }
|
|
}
|
|
}
|
|
}
|
|
|
|
option = {
|
|
name = "FACTION_DEMAND_BRIBE_CO_EMPEROR"
|
|
show_as_unavailable = { may_appoint_co_emperors_trigger = yes }
|
|
trigger = { faction_target_can_attempt_to_bribe_with_co_emperorship_trigger = yes }
|
|
|
|
# Ping-pong the choice back to the target.
|
|
## Laying out the consequences.
|
|
show_as_tooltip = {
|
|
random_list = {
|
|
# They accept!
|
|
100 = {
|
|
desc = faction_demand.0000.faction_leader_accepts
|
|
show_chance = no
|
|
faction_demand_counter_offer_co_rule_start_diarchy_effect = yes
|
|
faction_demand_nation_fracturing_counter_offer_corule_accepted_effect = yes
|
|
}
|
|
# They decline.
|
|
100 = {
|
|
desc = faction_demand.0000.faction_leader_rejects
|
|
show_chance = no
|
|
faction_demand_nation_fracturing_rejected_effect = yes
|
|
}
|
|
}
|
|
}
|
|
## And sorting the actual flow.
|
|
scope:faction_leader = { trigger_event = faction_demand.1006 }
|
|
|
|
ai_chance = { liege_offer_co_emperorship_to_faction_leader_modifier = yes }
|
|
}
|
|
|
|
option = {
|
|
name = "FACTION_DEMAND_REFUSE"
|
|
|
|
faction_demand_nation_fracturing_rejected_effect = yes
|
|
|
|
scope:faction_leader = {
|
|
trigger_event = faction_demand.1003
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_boldness = 4.0
|
|
}
|
|
modifier = {
|
|
add = 50
|
|
scope:faction = { faction_power < 80 }
|
|
}
|
|
modifier = {
|
|
add = 100
|
|
scope:faction = { faction_power < 60 }
|
|
}
|
|
modifier = {
|
|
add = 1000
|
|
scope:faction = { faction_power < 40 }
|
|
}
|
|
compare_modifier = {
|
|
value = debt_level
|
|
multiplier = -25
|
|
}
|
|
modifier = {
|
|
add = 5000
|
|
OR = {
|
|
mpo_has_gok_mongol_empire_trigger = yes
|
|
#has_title = title:e_ilkhanate
|
|
#has_title = title:e_golden_horde
|
|
#has_title = title:e_chagatai
|
|
#has_title = title:e_red_horde
|
|
#has_title = title:e_white_horde
|
|
#has_title = title:e_aarlud_khanate
|
|
#has_title = title:e_togskol_khanate
|
|
#has_title = title:e_baruun_khanate
|
|
#has_title = title:e_great_yuan
|
|
#has_title = title:e_blue_horde
|
|
#has_title = title:e_omnod_dalai_khanate
|
|
has_title = title:e_byzantium
|
|
has_variable = conqueror
|
|
}
|
|
}
|
|
modifier = {
|
|
add = 10000
|
|
scope:faction_leader = { is_no_men_enabled = yes }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Nation Fracturing Demand Accepted
|
|
faction_demand.1002 = {
|
|
type = letter_event
|
|
sender = scope:faction_target
|
|
opening = {
|
|
desc = "FACTION_DEMAND_COLLAPSE_ACCEPTED"
|
|
}
|
|
desc = "FACTION_DEMAND_COLLAPSE_ACCEPTED_DESC"
|
|
|
|
option = {
|
|
name = "FACTION_DEMAND_ACCEPTED_OPT"
|
|
custom_tooltip = faction_demand.1002.tt
|
|
}
|
|
}
|
|
|
|
# Nation Fracturing Demand Refused
|
|
faction_demand.1003 = {
|
|
type = letter_event
|
|
sender = scope:faction_target
|
|
opening = {
|
|
desc = "FACTION_DEMAND_COLLAPSE_REFUSED"
|
|
}
|
|
desc = "FACTION_DEMAND_COLLAPSE_REFUSED_DESC"
|
|
|
|
option = {
|
|
name = "FACTION_DEMAND_REFUSED_OPT"
|
|
scope:faction = {
|
|
faction_start_war = {}
|
|
|
|
every_faction_member = {
|
|
limit = { this != scope:faction.faction_leader }
|
|
trigger_event = faction_demand.1004
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Independence Faction Demand Refused Member Notice
|
|
faction_demand.1004 = {
|
|
type = letter_event
|
|
sender = scope:faction_target
|
|
opening = {
|
|
desc = "FACTION_DEMAND_COLLAPSE_REFUSED"
|
|
}
|
|
desc = "FACTION_DEMAND_COLLAPSE_REFUSED_DESC"
|
|
|
|
option = {
|
|
name = "FACTION_DEMAND_REFUSED_OPT"
|
|
}
|
|
}
|
|
|
|
# Independence Faction Demand Send Notice
|
|
faction_demand.1005 = {
|
|
type = letter_event
|
|
sender = scope:faction_leader
|
|
opening = {
|
|
desc = "FACTION_DEMAND_COLLAPSE_SEND_DEMAND_NOTIFICATION"
|
|
}
|
|
desc = "FACTION_DEMAND_COLLAPSE_SEND_DEMAND_NOTIFICATION_DESC"
|
|
|
|
option = {
|
|
name = "FACTION_DEMAND_SEND_DEMAND_NOTIFICATION_OPT"
|
|
}
|
|
}
|
|
|
|
# Co-emperor counter-offer.
|
|
faction_demand.1006 = {
|
|
type = letter_event
|
|
sender = scope:faction_target
|
|
opening = FACTION_DEMAND_COUNTER_OFFER_CORULE
|
|
desc = FACTION_DEMAND_COUNTER_OFFER_CORULE_DESC
|
|
|
|
option = {
|
|
name = FACTION_DEMAND_COUNTER_OFFER_CORULE_ACCEPT
|
|
|
|
# Inform the relevant parties.
|
|
hidden_effect = {
|
|
scope:faction_target = {
|
|
send_interface_toast = {
|
|
type = msg_start_diarchy
|
|
title = faction_demand.0000.offer_accepted
|
|
show_as_tooltip = { custom_tooltip = faction_demand.0000.enter_co_emperorship }
|
|
}
|
|
}
|
|
scope:faction = {
|
|
every_faction_member = {
|
|
limit = {
|
|
is_ai = no
|
|
this != scope:faction_leader
|
|
}
|
|
trigger_event = faction_demand.9011
|
|
}
|
|
}
|
|
}
|
|
# Actual effects.
|
|
scope:faction_target = {
|
|
faction_demand_counter_offer_co_rule_start_diarchy_effect = yes
|
|
faction_demand_nation_fracturing_counter_offer_corule_accepted_effect = yes
|
|
}
|
|
|
|
# Low weight: we control the AI accepting this by toggling whether they can access the refusal option at all.
|
|
ai_chance = { base = 20 }
|
|
}
|
|
|
|
option = {
|
|
name = FACTION_DEMAND_COUNTER_OFFER_CORULE_REJECT
|
|
trigger = { faction_leader_would_consider_turning_down_co_emperorship_trigger = yes }
|
|
|
|
# Inform the relevant parties.
|
|
hidden_effect = {
|
|
scope:faction_target = {
|
|
send_interface_toast = {
|
|
type = msg_war_declared_on_me
|
|
title = faction_demand.0000.offer_rejected
|
|
show_as_tooltip = {
|
|
scope:faction = { custom_tooltip = faction_starts_war.tt.replacement }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
# Actual effects.
|
|
faction_demand_nation_fracturing_rejected_effect = yes
|
|
|
|
# If the AI can access this at all then they should strongly consider it.
|
|
ai_chance = { base = 80 }
|
|
}
|
|
}
|
|
|
|
##################################################
|
|
# Faction Edgecases
|
|
# by various
|
|
# 9001 - 9050
|
|
##################################################
|
|
|
|
# Faction declares a retaliatory war.
|
|
faction_demand.9001 = {
|
|
type = character_event
|
|
title = faction_demand.9001.t
|
|
desc = {
|
|
first_valid = {
|
|
triggered_desc = {
|
|
trigger = {
|
|
scope:recipient = {
|
|
is_imprisoned = yes
|
|
imprisoner = scope:actor
|
|
}
|
|
}
|
|
desc = FACTION_SUCCESSFUL_IMPRISONMENT_RETALIATION
|
|
}
|
|
desc = FACTION_FAILED_IMPRISONMENT_RETALIATION
|
|
}
|
|
desc = FACTION_IMPRISONMENT_RETALIATION_END
|
|
}
|
|
theme = war
|
|
override_background = {
|
|
trigger = {
|
|
scope:recipient = {
|
|
is_imprisoned = yes
|
|
imprisoner = scope:actor
|
|
}
|
|
}
|
|
reference = dungeon
|
|
}
|
|
left_portrait = {
|
|
character = scope:actor
|
|
animation = schadenfreude
|
|
}
|
|
right_portrait = {
|
|
character = scope:recipient
|
|
animation = anger
|
|
}
|
|
|
|
trigger = {
|
|
exists = scope:retaliating_faction
|
|
}
|
|
|
|
immediate = {
|
|
show_as_tooltip = {
|
|
scope:retaliating_faction = {
|
|
faction_start_war = {}
|
|
}
|
|
}
|
|
}
|
|
|
|
option = {
|
|
name = FACTION_IMPRISONMENT_RETALIATION_OPT
|
|
|
|
# This effect should always be placed here, _before_ all the other effects in the block.
|
|
trigger_event = { on_action = on_faction_demand_rejected }
|
|
}
|
|
}
|
|
|
|
# Co-emperor counter-offer.
|
|
faction_demand.9011 = {
|
|
type = letter_event
|
|
sender = scope:faction_leader
|
|
opening = FACTION_DEMAND_COUNTER_OFFER_CORULE_MEMBER_NOTIFICATION
|
|
desc = FACTION_DEMAND_COUNTER_OFFER_CORULE_MEMBER_NOTIFICATION_DESC
|
|
|
|
immediate = {
|
|
show_as_tooltip = {
|
|
scope:faction_target = { faction_demand_counter_offer_co_rule_start_diarchy_effect = yes }
|
|
scope:faction = { destroy_faction = yes }
|
|
}
|
|
}
|
|
|
|
option = {
|
|
name = FACTION_DEMAND_COUNTER_OFFER_MEMBER_NOTIFICATION.A
|
|
|
|
# No need for AI chance or stress, just a notification event.
|
|
}
|
|
|
|
option = {
|
|
name = FACTION_DEMAND_COUNTER_OFFER_MEMBER_NOTIFICATION.B
|
|
trigger = { is_ai = no }
|
|
|
|
cancel_truce_both_ways = scope:faction_target
|
|
reverse_add_opinion = {
|
|
target = scope:faction_target
|
|
modifier = refusal_opinion
|
|
opinion = -40
|
|
}
|
|
change_strife_opinion = major_strife_gain
|
|
|
|
# Player-only choice.
|
|
}
|
|
}
|
|
|
|
##################################################
|
|
# Nomadic Faction
|
|
##################################################
|
|
|
|
# Nomadic Faction Demand
|
|
faction_demand.9998 = {
|
|
type = letter_event
|
|
sender = scope:peasant_leader
|
|
opening = {
|
|
desc = "FACTION_DEMAND_NOMADIC"
|
|
}
|
|
desc = FACTION_DEMAND_NOMADIC_DESC
|
|
|
|
trigger = {
|
|
exists = scope:faction
|
|
exists = scope:peasant_leader
|
|
scope:peasant_leader.joined_faction = scope:faction
|
|
}
|
|
|
|
immediate = {
|
|
every_realm_province = {
|
|
county = { add_to_list = remaining_counties_list }
|
|
}
|
|
scope:faction = {
|
|
every_faction_county_member = {
|
|
remove_from_list = remaining_counties_list
|
|
duchy = {
|
|
every_de_jure_county = {
|
|
limit = {
|
|
is_in_list = remaining_counties_list
|
|
}
|
|
remove_from_list = remaining_counties_list
|
|
}
|
|
}
|
|
}
|
|
}
|
|
scope:peasant_county.duchy = { save_scope_as = nomad_main_duchy }
|
|
}
|
|
|
|
# Option A: Grant the faction independence.
|
|
option = {
|
|
name = "FACTION_DEMAND_NOMADIC_ACCEPT_GRANT_INDEPENDENCE"
|
|
trigger = { # AI should not give the faction independence if a player is targeted by the faction.
|
|
NAND = {
|
|
scope:faction = {
|
|
has_variable = faction_targets_player
|
|
}
|
|
is_ai = yes
|
|
}
|
|
}
|
|
|
|
# This effect should always be placed here, _before_ all the other effects in the block.
|
|
trigger_event = { on_action = on_faction_demand_accepted }
|
|
|
|
add_prestige_level = -1
|
|
if = {
|
|
limit = {
|
|
dread > 0
|
|
}
|
|
add_dread = medium_dread_loss
|
|
}
|
|
|
|
successful_nomadic_revolt_outcome_effect = {
|
|
FACTION_LEADER = scope:peasant_leader
|
|
}
|
|
|
|
# If the faction includes ALL of our counties, notify the player that it will leave them landless!
|
|
if = {
|
|
limit = {
|
|
any_in_list = {
|
|
list = remaining_counties_list
|
|
count < 1
|
|
}
|
|
}
|
|
custom_tooltip = FACTION_DEMAND_POPULIST_ACCEPT_GRANT_INDEPENCE_TT
|
|
}
|
|
|
|
hidden_effect = {
|
|
if = {
|
|
limit = {
|
|
exists = scope:faction
|
|
}
|
|
scope:faction = {
|
|
clean_revolt_county_modifiers_from_faction_members_effect = yes
|
|
destroy_faction = yes
|
|
}
|
|
}
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 0
|
|
compare_modifier = { # Stronger factions increase the chance of an AI ruler capitulating; at 200% ruler army strength, this maxes out at +50% chance to accept demands.
|
|
value = {
|
|
value = scope:faction.faction_power
|
|
subtract = 100
|
|
multiply = 0.5
|
|
}
|
|
max = 50
|
|
}
|
|
compare_modifier = { # Craven rulers can get up to +37% chance to accept demands.
|
|
value = ai_boldness
|
|
multiplier = -0.5
|
|
}
|
|
modifier = {
|
|
factor = 0.1
|
|
any_ally = {
|
|
NOR = {
|
|
target_is_liege_or_above = root
|
|
target_is_vassal_or_below = root
|
|
}
|
|
max_military_strength > root.max_military_strength
|
|
}
|
|
}
|
|
compare_modifier = {
|
|
value = debt_level
|
|
multiplier = 25
|
|
}
|
|
modifier = {
|
|
add = -50
|
|
is_at_war = no
|
|
primary_title.tier >= tier_kingdom
|
|
}
|
|
modifier = {
|
|
add = -150
|
|
is_at_war = no
|
|
primary_title.tier >= tier_empire
|
|
}
|
|
|
|
modifier = {
|
|
add = -5000
|
|
OR = {
|
|
#has_title = title:e_mongol_empire
|
|
#has_title = title:e_ilkhanate
|
|
#has_title = title:e_golden_horde
|
|
#has_title = title:e_chagatai
|
|
#has_title = title:e_red_horde
|
|
#has_title = title:e_white_horde
|
|
#has_title = title:e_aarlud_khanate
|
|
#has_title = title:e_togskol_khanate
|
|
#has_title = title:e_baruun_khanate
|
|
#has_title = title:e_great_yuan
|
|
#has_title = title:e_blue_horde
|
|
#has_title = title:e_omnod_dalai_khanate
|
|
has_title = title:e_byzantium
|
|
has_variable = conqueror
|
|
government_allows = state_faith
|
|
}
|
|
}
|
|
modifier = {
|
|
add = 10000
|
|
scope:faction_leader ?= { is_yes_men_enabled = yes }
|
|
}
|
|
}
|
|
}
|
|
|
|
# Option B: Refuse the demand and start a war.
|
|
option = {
|
|
name = "FACTION_DEMAND_POPULIST_REFUSE"
|
|
|
|
# This effect should always be placed here, _before_ all the other effects in the block.
|
|
trigger_event = { on_action = on_faction_demand_rejected }
|
|
|
|
scope:faction = {
|
|
faction_start_war = {
|
|
title = scope:nomad_main_duchy
|
|
}
|
|
}
|
|
|
|
custom_tooltip = FACTION_DEMAND_POPULIST_REFUSE_TT
|
|
|
|
if = { # Send follow up event to affected vassals.
|
|
limit = {
|
|
list_size = {
|
|
name = nomadic_faction_vassal_targets
|
|
value > 0
|
|
}
|
|
}
|
|
every_in_list = {
|
|
list = nomadic_faction_vassal_targets
|
|
limit = {
|
|
is_ai = no
|
|
}
|
|
trigger_event = faction_demand.9999
|
|
}
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
compare_modifier = { # Weaker factions increase the chance of an AI ruler refusing; at 80% army strength (minimum), this will be +20; at 200% army strength, this will max out at -50.
|
|
value = {
|
|
value = scope:faction.faction_power
|
|
subtract = 100
|
|
multiply = -1
|
|
}
|
|
min = -50
|
|
}
|
|
compare_modifier = { # Brave rulers get up to a 50% bonus chance to refuse.
|
|
value = ai_boldness
|
|
multiplier = -0.5
|
|
min = -50
|
|
}
|
|
modifier = {
|
|
factor = 1.5
|
|
any_ally = {
|
|
NOR = {
|
|
target_is_liege_or_above = root
|
|
target_is_vassal_or_below = root
|
|
}
|
|
max_military_strength > root.max_military_strength
|
|
}
|
|
}
|
|
compare_modifier = {
|
|
value = debt_level
|
|
multiplier = -25
|
|
}
|
|
modifier = {
|
|
add = 5000
|
|
OR = {
|
|
#has_title = title:e_mongol_empire
|
|
#has_title = title:e_ilkhanate
|
|
#has_title = title:e_golden_horde
|
|
#has_title = title:e_chagatai
|
|
#has_title = title:e_red_horde
|
|
#has_title = title:e_white_horde
|
|
#has_title = title:e_aarlud_khanate
|
|
#has_title = title:e_togskol_khanate
|
|
#has_title = title:e_baruun_khanate
|
|
#has_title = title:e_great_yuan
|
|
#has_title = title:e_blue_horde
|
|
#has_title = title:e_omnod_dalai_khanate
|
|
has_title = title:e_byzantium
|
|
has_variable = conqueror
|
|
}
|
|
}
|
|
modifier = {
|
|
add = 10000
|
|
scope:peasant_leader = { is_no_men_enabled = yes }
|
|
}
|
|
}
|
|
}
|
|
|
|
after = {
|
|
if = {
|
|
limit = {
|
|
exists = scope:faction
|
|
scope:faction = {
|
|
has_variable = faction_targets_player
|
|
}
|
|
}
|
|
scope:faction = {
|
|
remove_variable = faction_targets_player
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Nomadic Faction Demand - Affected vassals choose their action
|
|
faction_demand.9999 = {
|
|
type = letter_event
|
|
sender = scope:peasant_leader
|
|
opening = {
|
|
desc = "FACTION_DEMAND_NOMADIC"
|
|
}
|
|
desc = FACTION_DEMAND_NOMADIC_VASSAL_DESC
|
|
|
|
trigger = {
|
|
exists = scope:faction
|
|
exists = scope:peasant_leader
|
|
scope:peasant_leader.joined_faction = scope:faction
|
|
}
|
|
|
|
immediate = {
|
|
scope:faction.faction_war = {
|
|
save_scope_as = populist_war # Used for loc
|
|
}
|
|
}
|
|
|
|
# Option A: Fight alongside your liege.
|
|
option = {
|
|
name = FACTION_DEMAND_NOMADIC_VASSAL_JOIN_WAR
|
|
|
|
# You cannot join the defending side...
|
|
trigger = {
|
|
custom_tooltip = { # ... If you already are at war with another participant.
|
|
text = FACTION_DEMAND_POPULIST_VASSAL_JOIN_WAR_BLOCK_TT
|
|
scope:faction.faction_war = {
|
|
NOT = {
|
|
any_war_participant = {
|
|
is_at_war_with = root
|
|
}
|
|
}
|
|
}
|
|
}
|
|
custom_tooltip = { # ... If it would put you against someone you are fighting another war with.
|
|
text = FACTION_DEMAND_POPULIST_VASSAL_JOIN_WAR_BLOCK_TT_2
|
|
scope:faction.faction_war = {
|
|
NOT = {
|
|
any_war_attacker = {
|
|
any_war_ally = {
|
|
this = root
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
show_as_unavailable = {
|
|
OR = {
|
|
scope:faction.faction_war = {
|
|
any_war_participant = {
|
|
is_at_war_with = root
|
|
}
|
|
}
|
|
scope:faction.faction_war = {
|
|
any_war_attacker = {
|
|
any_war_ally = {
|
|
this = root
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Join the war.
|
|
scope:faction.faction_war = {
|
|
add_defender = root
|
|
}
|
|
custom_tooltip = FACTION_DEMAND_POPULIST_VASSAL_JOIN_WAR_TT
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
|
|
# Option B: Do nothing.
|
|
option = {
|
|
name = FACTION_DEMAND_POPULIST_VASSAL_TAKE_NO_SIDE
|
|
custom_tooltip = FACTION_DEMAND_POPULIST_VASSAL_TAKE_NO_SIDE_TT_A
|
|
custom_tooltip = FACTION_DEMAND_POPULIST_VASSAL_TAKE_NO_SIDE_TT_B
|
|
|
|
ai_chance = {
|
|
base = 0
|
|
|
|
modifier = {
|
|
add = 20
|
|
has_trait = craven
|
|
}
|
|
}
|
|
}
|
|
}
|