1407 lines
28 KiB
Plaintext
1407 lines
28 KiB
Plaintext
|
|
call_parliament = {
|
|
type = owncountry
|
|
|
|
|
|
ai_tick = never
|
|
automation_tick = never
|
|
player_automated_category = parliament
|
|
|
|
allow = {
|
|
scope:actor = {
|
|
is_active_parliament = no
|
|
months_since_last_parliament_called > "define:NCountry|PARLIAMENT_COOLDOWN_MONTHS"
|
|
NOT = {
|
|
modifier:parliament_abolished = yes
|
|
modifier:has_a_parliamentary_system = no
|
|
}
|
|
}
|
|
}
|
|
|
|
select_trigger = {
|
|
show_if = {
|
|
scope:actor = {
|
|
NOR = {
|
|
country_type = building
|
|
country_type = pop
|
|
}
|
|
modifier:permanent_parliament_location = no
|
|
}
|
|
}
|
|
|
|
looking_for_a = location
|
|
source = actor
|
|
ai_interaction_source_list = {
|
|
scope:actor = {
|
|
capital = {
|
|
add_to_list = source
|
|
}
|
|
}
|
|
}
|
|
target_flag = parliament_location
|
|
name = "select_parliament_location"
|
|
none_available_msg_key = "call_parliament_no_locations"
|
|
column = {
|
|
data = rank
|
|
}
|
|
column = {
|
|
data = name_no_rank
|
|
}
|
|
column = {
|
|
data = population
|
|
}
|
|
column = {
|
|
data = control
|
|
}
|
|
visible = {
|
|
has_owner = yes
|
|
owner ?= scope:actor
|
|
controller ?= scope:actor
|
|
local_control > 0
|
|
OR = {
|
|
is_capital = yes
|
|
AND = {
|
|
OR = {
|
|
is_core_of = scope:actor
|
|
modifier:has_parliament_seat = yes
|
|
}
|
|
OR = {
|
|
is_province_capital = yes
|
|
has_fort = yes
|
|
}
|
|
OR = {
|
|
is_city = yes
|
|
scope:actor = { modifier:can_call_rural_parliaments = yes }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
select_trigger = {
|
|
looking_for_a = parliament_issue
|
|
interaction_source_list = {
|
|
scope:actor = {
|
|
every_possible_parliament_issue = {
|
|
add_to_list = source
|
|
}
|
|
}
|
|
}
|
|
ai_interaction_source_list = {
|
|
scope:actor = {
|
|
every_possible_parliament_issue = {
|
|
if = {
|
|
limit = {
|
|
"ai_parliament_issue_resolution_vote_bias(scope:actor)" >= 0
|
|
}
|
|
add_to_list = source
|
|
}
|
|
}
|
|
}
|
|
}
|
|
cache_interaction_source_list = yes
|
|
cache_targets = yes
|
|
target_flag = parliament_issue
|
|
name = "select_parliament_debate"
|
|
none_available_msg_key = "select_parliament_debate_none_available"
|
|
column = {
|
|
data = parliament_issue_widget
|
|
}
|
|
visible = {
|
|
is_available_for = scope:actor
|
|
}
|
|
}
|
|
|
|
effect = {
|
|
scope:actor = {
|
|
if = {
|
|
limit = {
|
|
exists = scope:parliament_location
|
|
}
|
|
|
|
set_parliament_location = scope:parliament_location
|
|
custom_tooltip = {
|
|
text = select_parliament_location_modifier_tooltip
|
|
}
|
|
|
|
if = {
|
|
limit = { scope:parliament_location = scope:actor.capital }
|
|
custom_tooltip = {
|
|
text = select_parliament_location_capital_modifier_tooltip
|
|
}
|
|
}
|
|
else = {
|
|
custom_tooltip = {
|
|
text = select_parliament_location_not_capital_modifier_tooltip
|
|
}
|
|
}
|
|
scope:parliament_location = {
|
|
add_location_modifier = {
|
|
modifier = parliament_location
|
|
mode = replace
|
|
days = 180
|
|
}
|
|
}
|
|
}
|
|
else = {
|
|
custom_tooltip = select_parliament_location_inform_choice_tt
|
|
set_parliament_location = scope:actor.capital
|
|
scope:actor.capital = {
|
|
add_location_modifier = {
|
|
modifier = parliament_location
|
|
mode = replace
|
|
days = 180
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
set_parliament_active = yes
|
|
|
|
if = {
|
|
limit = { exists = scope:parliament_issue }
|
|
set_parliament_issue = scope:parliament_issue
|
|
set_parliament_issue_support = {
|
|
add = {
|
|
desc = parliament_base_support
|
|
value = modifier:parliament_base_support
|
|
}
|
|
if = {
|
|
limit = {
|
|
scope:parliament_issue.estate_type = {
|
|
always_loyal = no
|
|
}
|
|
}
|
|
add = {
|
|
desc = estate_power
|
|
value = "estate_power(scope:parliament_issue.estate_type)"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
ai_will_do = {
|
|
add = {
|
|
if = {
|
|
limit = {
|
|
scope:actor = {
|
|
months_since_last_parliament_called < 72
|
|
stability < 0
|
|
}
|
|
}
|
|
value = -10000
|
|
}
|
|
|
|
if = {
|
|
limit = {
|
|
scope:actor = {
|
|
months_since_last_parliament_called > 120
|
|
}
|
|
}
|
|
value = 500
|
|
}
|
|
|
|
#Wants to get a CB out of parliament
|
|
if = {
|
|
limit = {
|
|
scope:actor = {
|
|
OR = {
|
|
any_neighbor_country = {
|
|
scope:actor = {
|
|
wants_casus_belli_with = prev
|
|
}
|
|
}
|
|
any_rival = {
|
|
scope:actor = {
|
|
wants_casus_belli_with = prev
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
value = 100
|
|
}
|
|
}
|
|
|
|
scope:actor = {
|
|
if = {
|
|
limit = {
|
|
exists = scope:parliament_issue
|
|
}
|
|
add = "parliament_issue_chance(scope:parliament_issue)"
|
|
add = "object_bias(scope:parliament_issue)"
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
exists = scope:parliament_location
|
|
}
|
|
scope:parliament_location = {
|
|
save_temporary_scope_as = this_parliament_location
|
|
}
|
|
}
|
|
else = {
|
|
scope:actor = {
|
|
capital = {
|
|
save_temporary_scope_as = this_parliament_location
|
|
}
|
|
}
|
|
}
|
|
|
|
multiply = {
|
|
scope:this_parliament_location = {
|
|
if = {
|
|
limit = {
|
|
scope:actor = {
|
|
capital = scope:this_parliament_location
|
|
modifier:can_call_rural_parliaments = no
|
|
}
|
|
}
|
|
value = 30
|
|
}
|
|
else = {
|
|
value = proximity # proximity goes from 0 to 100
|
|
add = {
|
|
value = local_control # control goes from 0 to 1
|
|
multiply = 10
|
|
}
|
|
add = {
|
|
value = scope:actor.societal_value:centralization_vs_decentralization
|
|
multiply = 0.1
|
|
}
|
|
|
|
add = {
|
|
value = random_integer
|
|
modulo = 10
|
|
}
|
|
}
|
|
|
|
if = {
|
|
limit = { location_rank = location_rank:town }
|
|
add = 2
|
|
}
|
|
else_if = {
|
|
limit = { OR = { location_rank = location_rank:city location_rank = location_rank:megalopolis } }
|
|
add = 10
|
|
}
|
|
|
|
add = {
|
|
value = modifier:fort_level
|
|
multiply = 2
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
request_more_taxes = {
|
|
type = parliament
|
|
|
|
sound = PARLIAMENT_REQUEST_MORE_TAXES
|
|
|
|
ai_tick = daily
|
|
ai_tick_frequency = 100
|
|
|
|
|
|
automation_tick = daily
|
|
automation_tick_frequency = 1
|
|
player_automated_category = parliament
|
|
|
|
|
|
allow = {
|
|
scope:actor = {
|
|
is_active_parliament = yes
|
|
NOT = { has_country_modifier = parliament_approved_extra_taxes }
|
|
parliament_issue_support > modifier:parliament_request_issue_support_needed
|
|
}
|
|
}
|
|
|
|
effect = {
|
|
scope:actor = {
|
|
add_country_modifier = { modifier = parliament_approved_extra_taxes years = 1 mode = add_and_extend }
|
|
change_parliament_issue_support = {
|
|
value = modifier:parliament_request_issue_support_needed
|
|
multiply = -1
|
|
}
|
|
}
|
|
}
|
|
|
|
ai_will_do = {
|
|
add = {
|
|
if = {
|
|
limit = {
|
|
scope:actor = {
|
|
OR = {
|
|
parliament_issue_support > 0.9
|
|
stability >= 20
|
|
}
|
|
higher_temporary_taxes_needed >= 0.05
|
|
NOT = {
|
|
any_country_in_diplomatic_range = {
|
|
scope:actor = {
|
|
wants_casus_belli_with = prev
|
|
}
|
|
NOT = {
|
|
has_target_casus_belli_on_us = scope:actor
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
value = 10
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
prepare_for_war = {
|
|
type = parliament
|
|
show_message_to_target = no
|
|
|
|
sound = PARLIAMENT_PREPARE_FOR_WAR
|
|
|
|
ai_tick = daily
|
|
ai_tick_frequency = 30
|
|
automation_tick = daily
|
|
automation_tick_frequency = 7
|
|
player_automated_category = parliament
|
|
|
|
|
|
allow = {
|
|
scope:actor = {
|
|
country_type = location
|
|
is_active_parliament = yes
|
|
parliament_issue_support > {
|
|
value = parliament_request_support
|
|
}
|
|
}
|
|
}
|
|
|
|
select_trigger = {
|
|
looking_for_a = country
|
|
ai_interaction_source_list = {
|
|
scope:actor = {
|
|
every_country_wants_casus_belli_with = {
|
|
limit = {
|
|
NOT = { this = scope:actor }
|
|
scope:actor = {
|
|
NOT = {
|
|
has_casus_belli_of_type_on = {
|
|
type = casus_belli:cb_parliament_conquer_province
|
|
target = prev
|
|
}
|
|
is_at_war_with = prev
|
|
}
|
|
}
|
|
}
|
|
add_to_list = source
|
|
}
|
|
every_country_wants_to_attack = {
|
|
limit = {
|
|
NOT = { this = scope:actor }
|
|
scope:actor = {
|
|
NOT = {
|
|
has_casus_belli_on = prev
|
|
is_at_war_with = prev
|
|
}
|
|
}
|
|
}
|
|
add_to_list = source
|
|
}
|
|
if = {
|
|
limit = {
|
|
scope:actor = {
|
|
OR = {
|
|
ai_personality = ai_personality:ai_expansionist
|
|
ai_personality = ai_personality:ai_aggressive
|
|
}
|
|
}
|
|
}
|
|
every_potential_expansion_target = { #Countries we want some CBs against
|
|
limit = {
|
|
scope:actor = {
|
|
NOT = {
|
|
has_casus_belli_on = prev
|
|
is_at_war_with = prev
|
|
}
|
|
}
|
|
}
|
|
add_to_list = source
|
|
}
|
|
}
|
|
}
|
|
}
|
|
target_flag = target
|
|
pre_evaluation_sort_value = {
|
|
if = {
|
|
limit = {
|
|
scope:target ?= {
|
|
is_rival_of = scope:actor
|
|
}
|
|
}
|
|
add = {
|
|
desc = "game_concept_rival"
|
|
value = 100
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
exists = scope:actor
|
|
exists = scope:target
|
|
}
|
|
subtract = {
|
|
desc = "OUR_OPINION_TOOLTIP"
|
|
value = "scope:actor.opinion(scope:target)"
|
|
divide = 10
|
|
}
|
|
}
|
|
}
|
|
pre_evaluation_number_to_evaluate_fully = 1
|
|
name = "prepare_for_war_select_title"
|
|
none_available_msg_key = "prepare_for_war_no_countries"
|
|
column = {
|
|
data = name
|
|
}
|
|
column = {
|
|
data = population
|
|
}
|
|
visible = {
|
|
NOT = { has_target_casus_belli_on_us = root }
|
|
NOT = { has_truce_with = scope:actor }
|
|
NOT = { is_subject_of = scope:actor }
|
|
is_rebel_country = no
|
|
scope:actor = {
|
|
within_diplomatic_range = root
|
|
}
|
|
capital ?= {
|
|
is_discovered_by = scope:actor
|
|
}
|
|
}
|
|
}
|
|
|
|
select_trigger = {
|
|
looking_for_a = province
|
|
source = target
|
|
target_flag = target_province
|
|
pre_evaluation_sort_value = {
|
|
add = {
|
|
value = {
|
|
capital = {
|
|
add = {
|
|
value = "border_distance_to(scope:actor)" # capital location only — one cache lookup vs O(locations_per_province)
|
|
multiply = -10
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
add = province_tax_base
|
|
}
|
|
pre_evaluation_number_to_evaluate_fully = 1
|
|
name = "prepare_for_war_select_province_title"
|
|
none_available_msg_key = "no_valid_provinces"
|
|
column = {
|
|
data = name
|
|
}
|
|
column = {
|
|
data = population
|
|
}
|
|
column = {
|
|
data = province_our_primary_culture_percentage
|
|
}
|
|
column = {
|
|
data = province_tax_base
|
|
}
|
|
}
|
|
|
|
effect = {
|
|
scope:actor = {
|
|
if = {
|
|
limit = { exists = scope:target exists = scope:target_province }
|
|
add_casus_belli = {
|
|
target = scope:target
|
|
type = casus_belli:cb_parliament_conquer_province
|
|
province = scope:target_province
|
|
}
|
|
}
|
|
else = { custom_tooltip = select_a_country_to_get_casus_belli_on }
|
|
change_parliament_issue_support = {
|
|
value = modifier:parliament_request_issue_support_needed
|
|
multiply = -1
|
|
}
|
|
}
|
|
}
|
|
|
|
ai_will_do = {
|
|
# we are aggressive and dont have any CBs
|
|
if = {
|
|
limit = {
|
|
or = {
|
|
scope:actor = { ai_personality = ai_personality:ai_expansionist }
|
|
scope:actor = { ai_personality = ai_personality:ai_aggressive }
|
|
}
|
|
scope:actor.num_cbs < 1
|
|
}
|
|
|
|
add = {
|
|
value = 100
|
|
desc = "we want CBs"
|
|
}
|
|
}
|
|
|
|
# we want to attack specifically this target and we dont have any CBs, or we want a CB
|
|
if = {
|
|
limit = {
|
|
scope:actor = {
|
|
or = {
|
|
and = {
|
|
wants_to_attack = scope:target
|
|
not = {
|
|
scope:actor = { has_casus_belli_on = scope:target_country }
|
|
}
|
|
}
|
|
wants_casus_belli_with = scope:target
|
|
}
|
|
}
|
|
}
|
|
|
|
add = {
|
|
value = 1000
|
|
desc = "we want to attack"
|
|
}
|
|
}
|
|
|
|
add = {
|
|
value = -1
|
|
desc = "base reluctance"
|
|
}
|
|
}
|
|
}
|
|
|
|
ask_for_larger_levies = {
|
|
type = parliament
|
|
|
|
sound = PARLIAMENT_ASK_FOR_LARGER_LEVIES
|
|
|
|
ai_tick = daily
|
|
ai_tick_frequency = 100
|
|
automation_tick = daily
|
|
automation_tick_frequency = 7
|
|
player_automated_category = parliament
|
|
|
|
allow = {
|
|
scope:actor = {
|
|
is_active_parliament = yes
|
|
NOT = { has_country_modifier = parliament_approved_extra_levies }
|
|
parliament_issue_support > modifier:parliament_request_issue_support_needed
|
|
}
|
|
}
|
|
|
|
effect = {
|
|
scope:actor = {
|
|
add_country_modifier = { modifier = parliament_approved_extra_levies years = 3 mode = add_and_extend }
|
|
change_parliament_issue_support = {
|
|
value = modifier:parliament_request_issue_support_needed
|
|
multiply = -1
|
|
}
|
|
}
|
|
}
|
|
|
|
ai_will_do = {
|
|
#Base
|
|
subtract = {
|
|
value = 1
|
|
}
|
|
|
|
|
|
add = {
|
|
if = {
|
|
limit = {
|
|
scope:actor = {
|
|
OR = {
|
|
is_in_losing_war = yes
|
|
AND = {
|
|
at_war = yes
|
|
stability >= 10
|
|
}
|
|
}
|
|
}
|
|
}
|
|
value = 2
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
ask_for_law_changes = {
|
|
type = parliament
|
|
|
|
sound = PARLIAMENT_ASK_FOR_LAW_CHANGES
|
|
|
|
ai_tick = daily
|
|
ai_tick_frequency = 100
|
|
automation_tick = daily
|
|
automation_tick_frequency = 7
|
|
player_automated_category = parliament
|
|
|
|
ai_prerequisite = {
|
|
discount_needed_for_law_change > 0
|
|
has_ai_preferred_parliament_law_change = yes
|
|
}
|
|
|
|
allow = {
|
|
scope:actor = {
|
|
is_active_parliament = yes
|
|
parliament_issue_support > modifier:parliament_request_issue_support_needed
|
|
}
|
|
}
|
|
|
|
select_trigger = {
|
|
looking_for_a = law
|
|
interaction_source_list = {
|
|
scope:actor = {
|
|
every_current_law = {
|
|
limit = { NOT = { is_locked_for = scope:actor } }
|
|
add_to_list = source
|
|
}
|
|
}
|
|
}
|
|
ai_interaction_source_list = {
|
|
scope:actor = {
|
|
every_current_law = {
|
|
limit = {
|
|
NOT = { is_locked_for = scope:actor }
|
|
is_ai_preferred_parliament_change_law = scope:actor
|
|
}
|
|
add_to_list = source
|
|
}
|
|
}
|
|
}
|
|
cache_interaction_source_list = yes
|
|
target_flag = target_law
|
|
name = "ask_for_law_changes_select_law_title"
|
|
none_available_msg_key = "no_valid_laws"
|
|
column = {
|
|
data = law_attribute_column
|
|
}
|
|
}
|
|
|
|
select_trigger = {
|
|
looking_for_a = policy
|
|
interaction_source_list = {
|
|
scope:target_law = {
|
|
every_policy_in_law = {
|
|
limit = {
|
|
policy_possible_for_country = scope:actor
|
|
}
|
|
add_to_list = source
|
|
}
|
|
}
|
|
}
|
|
ai_interaction_source_list = {
|
|
scope:target_law = {
|
|
every_policy_in_law = {
|
|
limit = { is_ai_preferred_parliament_change_policy = scope:actor }
|
|
add_to_list = source
|
|
}
|
|
}
|
|
}
|
|
target_flag = target_policy
|
|
name = "ask_for_law_changes_select_policies_title"
|
|
none_available_msg_key = "no_valid_policies"
|
|
top_widget = law_card_header_at_parlaiment_policy_select
|
|
column = {
|
|
data = policy_name_desc
|
|
}
|
|
}
|
|
|
|
effect = {
|
|
scope:actor = {
|
|
if = {
|
|
limit = {
|
|
exists = scope:target_law
|
|
exists = scope:target_policy
|
|
}
|
|
add_policy = scope:target_policy
|
|
}
|
|
else = {
|
|
custom_tooltip = ask_for_law_changes_select_law_title
|
|
}
|
|
pay_scaled_price = {
|
|
price = price:change_policy
|
|
scale = 0.2
|
|
reason = ask_for_law_changes_price_reason
|
|
}
|
|
change_parliament_issue_support = {
|
|
value = modifier:parliament_request_issue_support_needed
|
|
multiply = -1
|
|
}
|
|
}
|
|
}
|
|
|
|
ai_will_do = {
|
|
add = {
|
|
value = 250
|
|
desc = "PREFERRED_LAW_CHANGE"
|
|
}
|
|
add = {
|
|
value = "scope:actor.policy_utility(scope:target_law|scope:target_policy|yes)"
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
change_parliament_type = {
|
|
type = owncountry
|
|
|
|
allow = {
|
|
scope:actor = {
|
|
is_active_parliament = no
|
|
modifier:parliament_abolished = no
|
|
}
|
|
}
|
|
|
|
price = price:change_parliament_type
|
|
|
|
select_trigger = {
|
|
looking_for_a = parliament_type
|
|
source = actor
|
|
target_flag = parliament_type
|
|
name = "select_parliament_type"
|
|
none_available_msg_key = "change_parliament_type_no_types"
|
|
top_widget = parliament_Type_context_widget
|
|
column = {
|
|
data = parliament_type_widget
|
|
}
|
|
visible = {
|
|
is_visible_for = scope:actor
|
|
}
|
|
enabled = {
|
|
is_allowed_for = scope:actor
|
|
}
|
|
}
|
|
|
|
effect = {
|
|
scope:actor = {
|
|
if = {
|
|
limit = {
|
|
exists = scope:parliament_type
|
|
}
|
|
set_parliament_type = scope:parliament_type
|
|
}
|
|
}
|
|
}
|
|
|
|
ai_tick = never #done in code
|
|
|
|
automation_tick = daily
|
|
automation_tick_frequency = 365
|
|
player_automated_category = parliament
|
|
}
|
|
|
|
force_parliament_issue = {
|
|
icon = call_parliament
|
|
type = parliament
|
|
allow = {
|
|
scope:actor = {
|
|
is_active_parliament = yes
|
|
trigger_if = {
|
|
limit = { tag = HUN }
|
|
OR = {
|
|
AND = {
|
|
has_ruler = yes
|
|
ruler = {
|
|
has_character_modifier = hun_absolute_rule
|
|
}
|
|
}
|
|
parliament_type = parliament_type:autocratic_parliament
|
|
}
|
|
}
|
|
trigger_else = { parliament_type = parliament_type:autocratic_parliament }
|
|
}
|
|
}
|
|
|
|
cooldown = { #only once per parliament session
|
|
type = has_forced_parliament_issue
|
|
years = 5
|
|
}
|
|
|
|
effect = {
|
|
scope:actor = {
|
|
set_parliament_issue_support = {
|
|
value = 1
|
|
}
|
|
if = {
|
|
limit = {
|
|
current_age_or_later = { age = age_5_absolutism }
|
|
}
|
|
change_societal_value = {
|
|
type = absolutism_vs_liberalism
|
|
value = societal_value_move_to_left
|
|
}
|
|
}
|
|
}
|
|
}
|
|
ai_tick = daily
|
|
ai_tick_frequency = 90
|
|
|
|
automation_tick = daily
|
|
automation_tick_frequency = 1
|
|
player_automated_category = parliament
|
|
|
|
ai_will_do = {
|
|
#Base
|
|
subtract = {
|
|
value = 1
|
|
}
|
|
|
|
add = {
|
|
if = {
|
|
limit = {
|
|
scope:actor = {
|
|
calc_true_if = {
|
|
estate_satisfaction:nobles_estate > 0.5
|
|
estate_satisfaction:clergy_estate > 0.5
|
|
estate_satisfaction:burghers_estate > 0.5
|
|
amount >= 2
|
|
}
|
|
}
|
|
}
|
|
value = 2
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
challenge_bureaucratic_entrenchment = {
|
|
type = parliament
|
|
|
|
ai_tick = never
|
|
|
|
potential = {
|
|
scope:actor = {
|
|
any_current_bureaucracy = { count > 0 }
|
|
}
|
|
}
|
|
|
|
allow = {
|
|
scope:actor = {
|
|
is_active_parliament = yes
|
|
modifier:parliament_abolished = no
|
|
parliament_issue_support > modifier:parliament_request_issue_support_needed
|
|
any_current_bureaucracy = { entrenchment > entrenchment_radical_penalty }
|
|
}
|
|
}
|
|
|
|
select_trigger = {
|
|
looking_for_a = bureaucracy
|
|
interaction_source_list = {
|
|
scope:actor = {
|
|
every_current_bureaucracy = {
|
|
limit = { entrenchment > entrenchment_radical_penalty }
|
|
add_to_list = source
|
|
}
|
|
}
|
|
}
|
|
target_flag = target_bureaucracy
|
|
name = "select_bureaucracy"
|
|
none_available_msg_key = "no_bureaucracies_available"
|
|
column = { data = name }
|
|
}
|
|
|
|
effect = {
|
|
if = {
|
|
limit = { exists = scope:target_bureaucracy }
|
|
scope:target_bureaucracy = {
|
|
change_entrenchment = entrenchment_extreme_bonus
|
|
}
|
|
}
|
|
else = { custom_tooltip = selected_bureaucracy_entrenchment_extreme_bonus_tt }
|
|
if = {
|
|
limit = {
|
|
scope:actor = {
|
|
NOT = { has_country_modifier = bureaucratic_spending_reform_modifier }
|
|
}
|
|
}
|
|
scope:actor = {
|
|
add_country_modifier = {
|
|
modifier = bureaucratic_spending_reform_modifier
|
|
years = modifier_duration_years_short
|
|
mode = replace
|
|
size = {
|
|
value = 1
|
|
if = {
|
|
limit = { exists = scope:target_bureaucracy }
|
|
add = {
|
|
value = scope:target_bureaucracy.entrenchment
|
|
multiply = 0.01
|
|
desc = current_entrenchment_of_selected_bureaucracy_desc
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
scope:actor = {
|
|
change_parliament_issue_support = {
|
|
value = modifier:parliament_request_issue_support_needed
|
|
multiply = -1
|
|
}
|
|
}
|
|
}
|
|
|
|
ai_will_do = {
|
|
add = {
|
|
value = 25
|
|
desc = BASE_VALUE
|
|
}
|
|
|
|
if = {
|
|
limit = { exists = scope:target_bureaucracy }
|
|
add = {
|
|
value = scope:target_bureaucracy.entrenchment
|
|
desc = "[target_bureaucracy.GetName] entrenchment"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
declare_holidays_request = {
|
|
type = parliament
|
|
|
|
ai_tick = daily
|
|
ai_tick_frequency = 100
|
|
|
|
|
|
automation_tick = daily
|
|
automation_tick_frequency = 1
|
|
player_automated_category = parliament
|
|
|
|
potential = {
|
|
scope:actor = {
|
|
has_reform = government_reform:enlightened_council_reform
|
|
}
|
|
}
|
|
|
|
allow = {
|
|
scope:actor = {
|
|
has_reform = government_reform:enlightened_council_reform
|
|
is_active_parliament = yes
|
|
NOT = { has_country_modifier = parliament_declared_holidays }
|
|
parliament_issue_support > modifier:parliament_request_issue_support_needed
|
|
}
|
|
}
|
|
|
|
effect = {
|
|
scope:actor = {
|
|
add_country_modifier = { modifier = parliament_declared_holidays years = 1 mode = add_and_extend }
|
|
add_stability = stability_severe_bonus
|
|
change_parliament_issue_support = {
|
|
value = modifier:parliament_request_issue_support_needed
|
|
multiply = -1
|
|
}
|
|
}
|
|
}
|
|
|
|
ai_will_do = {
|
|
add = {
|
|
if = {
|
|
limit = {
|
|
scope:actor = {
|
|
OR = {
|
|
parliament_issue_support > 0.9
|
|
stability <= -20
|
|
}
|
|
NOT = {
|
|
any_country_in_diplomatic_range = {
|
|
scope:actor = {
|
|
wants_casus_belli_with = prev
|
|
}
|
|
NOT = {
|
|
has_target_casus_belli_on_us = scope:actor
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
value = 10
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
force_parliament_support = {
|
|
type = parliament
|
|
|
|
sound = PARLIAMENT_REQUEST_MORE_TAXES
|
|
|
|
ai_tick = daily
|
|
ai_tick_frequency = 100
|
|
automation_tick = daily
|
|
automation_tick_frequency = 7
|
|
player_automated_category = parliament
|
|
|
|
allow = {
|
|
scope:actor = {
|
|
is_active_parliament = yes
|
|
political_influence >= 50
|
|
}
|
|
}
|
|
|
|
effect = {
|
|
scope:actor = {
|
|
add_political_influence = -50
|
|
change_parliament_issue_support = {
|
|
value = 0.25
|
|
}
|
|
if = {
|
|
limit = {
|
|
modifier:nobles_estate_can_participate_in_parliament = yes
|
|
country_has_estate = estate_type:nobles_estate
|
|
}
|
|
add_estate_satisfaction = {
|
|
type = estate_type:nobles_estate
|
|
value = -0.10
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
modifier:clergy_estate_can_participate_in_parliament = yes
|
|
country_has_estate = estate_type:clergy_estate
|
|
}
|
|
add_estate_satisfaction = {
|
|
type = estate_type:clergy_estate
|
|
value = -0.10
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
modifier:burghers_estate_can_participate_in_parliament = yes
|
|
country_has_estate = estate_type:burghers_estate
|
|
}
|
|
add_estate_satisfaction = {
|
|
type = estate_type:burghers_estate
|
|
value = -0.10
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
modifier:peasants_estate_can_participate_in_parliament = yes
|
|
country_has_estate = estate_type:peasants_estate
|
|
}
|
|
add_estate_satisfaction = {
|
|
type = estate_type:peasants_estate
|
|
value = -0.10
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
ai_will_do = {
|
|
# Base negative — costs 75 PI and upsets every participating estate
|
|
subtract = {
|
|
value = 2
|
|
desc = "base reluctance"
|
|
}
|
|
|
|
# Never waste this if support is already above the request threshold
|
|
add = {
|
|
if = {
|
|
limit = {
|
|
scope:actor = {
|
|
or = {
|
|
parliament_issue_support >= modifier:parliament_request_issue_support_needed
|
|
parliament_issue_support < 0.25
|
|
}
|
|
}
|
|
}
|
|
value = -1000
|
|
}
|
|
desc = "too high or too low support"
|
|
}
|
|
|
|
# Core value: support is below threshold and we cannot act without a boost
|
|
add = {
|
|
if = {
|
|
limit = {
|
|
scope:actor = {
|
|
parliament_issue_support < modifier:parliament_request_issue_support_needed
|
|
}
|
|
}
|
|
value = 5
|
|
}
|
|
desc = "below threshold"
|
|
}
|
|
|
|
# Urgency when at war — need taxes and levies from parliament
|
|
add = {
|
|
if = {
|
|
limit = {
|
|
scope:actor = { at_war = yes }
|
|
}
|
|
value = 3
|
|
}
|
|
desc = "at war"
|
|
}
|
|
|
|
# Strong urgency when losing — every parliamentary tool matters
|
|
add = {
|
|
if = {
|
|
limit = {
|
|
scope:actor = { is_in_losing_war = yes }
|
|
}
|
|
value = 5
|
|
}
|
|
desc = "losing war"
|
|
}
|
|
|
|
# Caution: avoid compounding estate grievances when multiple estates already discontented
|
|
add = {
|
|
if = {
|
|
limit = {
|
|
scope:actor = {
|
|
calc_true_if = {
|
|
amount >= 2
|
|
estate_satisfaction:nobles_estate < 0.5
|
|
estate_satisfaction:clergy_estate < 0.5
|
|
estate_satisfaction:burghers_estate < 0.5
|
|
}
|
|
}
|
|
}
|
|
value = -4
|
|
}
|
|
desc = "low estate satisfaction"
|
|
}
|
|
}
|
|
}
|
|
|
|
iw_militarize_country = {
|
|
type = parliament
|
|
|
|
sound = PARLIAMENT_ASK_FOR_LARGER_LEVIES
|
|
|
|
ai_tick = daily
|
|
ai_tick_frequency = 100
|
|
automation_tick = daily
|
|
automation_tick_frequency = 7
|
|
player_automated_category = parliament
|
|
|
|
potential = {
|
|
situation:italian_wars = { situation_is_active = yes }
|
|
|
|
scope:actor = { can_see_situation = situation:italian_wars }
|
|
}
|
|
|
|
allow = {
|
|
scope:actor = {
|
|
is_active_parliament = yes
|
|
NOT = { has_country_modifier = parliament_approved_extra_levies }
|
|
parliament_issue_support > modifier:parliament_request_issue_support_needed
|
|
regular_army_size > 0
|
|
}
|
|
|
|
situation:italian_wars = { var:iw_tension >= 50 }
|
|
}
|
|
|
|
effect = {
|
|
scope:actor = {
|
|
add_country_modifier = {
|
|
modifier = parliament_approved_militarization
|
|
years = 3
|
|
mode = add_and_extend
|
|
}
|
|
add_army_tradition = army_tradition_extreme_bonus
|
|
if = {
|
|
limit = { regular_army_size > 0 }
|
|
ordered_army = {
|
|
limit = { NOT = { has_unit_modifier = extensive_training_modifier} }
|
|
order_by = num_subunits
|
|
max = 1
|
|
check_range_bounds = no
|
|
save_scope_as = target_army
|
|
add_unit_modifier = {
|
|
modifier = extensive_training_modifier
|
|
years = modifier_duration_years_short
|
|
mode = replace
|
|
}
|
|
}
|
|
}
|
|
change_parliament_issue_support = {
|
|
value = modifier:parliament_request_issue_support_needed
|
|
multiply = -1
|
|
}
|
|
}
|
|
}
|
|
|
|
ai_will_do = {
|
|
add = {
|
|
value = -25
|
|
desc = "BASE_VALUE"
|
|
}
|
|
add = {
|
|
value = situation:italian_wars.var:iw_tension
|
|
desc = "[situation_tension|e]"
|
|
}
|
|
add = {
|
|
value = scope:actor.military_strength
|
|
desc = "military_strength"
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
seat_the_itinerant_court = {
|
|
type = parliament
|
|
|
|
ai_tick = daily
|
|
ai_tick_frequency = 100
|
|
|
|
potential = {
|
|
scope:actor = { has_policy = itinerant_court_policy }
|
|
}
|
|
|
|
allow = {
|
|
scope:actor = {
|
|
is_active_parliament = yes
|
|
has_policy = itinerant_court_policy
|
|
parliament_issue_support > modifier:parliament_request_issue_support_needed
|
|
}
|
|
}
|
|
|
|
cooldown = {
|
|
type = seat_the_itinerant_court
|
|
years = 5
|
|
}
|
|
|
|
select_trigger = {
|
|
looking_for_a = location
|
|
source = actor
|
|
ai_interaction_source_list = {
|
|
scope:actor = {
|
|
every_owned_non_rural_location = {
|
|
add_to_list = source
|
|
}
|
|
}
|
|
}
|
|
target_flag = court_seat_location
|
|
name = "seat_the_itinerant_court_select_title"
|
|
none_available_msg_key = "no_locations_available"
|
|
column = { data = name }
|
|
column = { data = population }
|
|
column = { data = control }
|
|
column = { data = rank }
|
|
visible = {
|
|
owner ?= scope:actor
|
|
controller ?= scope:actor
|
|
local_control > 0
|
|
is_core_of = scope:actor
|
|
# Cannot Seat the Itinerant Court where a Local Governor or a Lieutenancy already sits
|
|
NOR = {
|
|
has_building = building_type:local_governor
|
|
has_building = building_type:lieutenancy
|
|
}
|
|
OR = {
|
|
is_city = yes
|
|
# Rural locations qualify only if they are a province capital.
|
|
is_province_capital = yes
|
|
}
|
|
}
|
|
}
|
|
|
|
effect = {
|
|
scope:actor = {
|
|
custom_tooltip = {
|
|
text = seat_the_itinerant_court_passed_tt
|
|
if = {
|
|
limit = { any_owned_location = { has_building = building_type:itinerant_court_seat } }
|
|
random_owned_location = {
|
|
limit = { has_building = building_type:itinerant_court_seat }
|
|
save_scope_as = old_court_seat
|
|
}
|
|
scope:court_seat_location ?= {
|
|
move_building = {
|
|
from = scope:old_court_seat
|
|
type = itinerant_court_seat
|
|
owner = scope:actor
|
|
}
|
|
}
|
|
}
|
|
else = {
|
|
scope:court_seat_location = {
|
|
change_building_level_in_location = {
|
|
building = building_type:itinerant_court_seat
|
|
value = 1
|
|
owner = scope:actor
|
|
}
|
|
}
|
|
}
|
|
}
|
|
custom_tooltip = {
|
|
text = seat_the_itinerant_court_in_session_tt
|
|
scope:court_seat_location ?= {
|
|
add_location_modifier = {
|
|
modifier = itinerant_court_in_session
|
|
years = 1
|
|
}
|
|
}
|
|
}
|
|
change_parliament_issue_support = {
|
|
value = modifier:parliament_request_issue_support_needed
|
|
multiply = -1
|
|
}
|
|
hidden_effect = {
|
|
remove_variable = seat_the_itinerant_court_ai_cd
|
|
set_variable = {
|
|
name = seat_the_itinerant_court_ai_cd
|
|
value = yes
|
|
days = 7300
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
ai_will_do = {
|
|
value = -250
|
|
if = {
|
|
limit = { scope:court_seat_location = { is_city = no } }
|
|
subtract = {
|
|
desc = "not a city"
|
|
value = 1000
|
|
}
|
|
}
|
|
add = {
|
|
desc = "distance to capital"
|
|
value = "scope:actor.capital.distance_to(scope:court_seat_location)"
|
|
divide = 2
|
|
}
|
|
add = {
|
|
desc = "target control"
|
|
value = 100
|
|
subtract = scope:court_seat_location.max_control
|
|
divide = 2
|
|
}
|
|
add = {
|
|
desc = "location ranks"
|
|
value = scope:court_seat_location.rank_index
|
|
multiply = 10
|
|
}
|
|
if = {
|
|
limit = {
|
|
scope:actor = {
|
|
has_variable = seat_the_itinerant_court_ai_cd
|
|
}
|
|
}
|
|
subtract = {
|
|
desc = "ai already moved the itinerant court before"
|
|
value = 1000
|
|
}
|
|
}
|
|
}
|
|
}
|