N3OW/common/decisions/dlc_decisions/tgp/tgp_dynastic_cycle_decisions.txt
2026-05-24 05:01:46 -04:00

3437 lines
89 KiB
Text

### Claim the Mandate of Heaven ###
situation_dynastic_cycle_claim_mandate_decision = {
decision_group_type = dynastic_cycle
title = situation_dynastic_cycle_claim_mandate_decision
desc = situation_dynastic_cycle_claim_mandate_decision_desc
selection_tooltip = situation_dynastic_cycle_claim_mandate_decision_tooltip
picture = {
reference = "gfx/interface/illustrations/event_story/tgp_dynastic_cycle_stability.dds"
}
extra_picture = "gfx/interface/illustrations/event_story/tgp_dynastic_cycle_stability.dds"
sort_order = 80
cooldown = { years = 5 }
is_shown = {
has_tgp_dlc_trigger = yes
exists = top_participant_group:dynastic_cycle #I am part of the dynastic cycle
situation:dynastic_cycle = { situation_current_phase = situation_dynastic_cycle_phase_chaos } #The era is division
}
is_valid = {
situation:dynastic_cycle = { situation_current_phase = situation_dynastic_cycle_phase_chaos }
is_independent_ruler = yes
custom_tooltip = {
text = claim_mandate_decision_county_percentage_tt
title:h_china = {
any_de_jure_county = {
percent >= claim_mandate_china_county_percentage_value
holder.top_liege = {
OR = {
this = root
is_tributary_of_suzerain_or_above = root
}
}
}
}
}
}
is_valid_showing_failures_only = {
is_available_at_peace_adult = yes
}
effect = {
add_character_flag = {
flag = claimed_the_mandate_of_heaven
days = 3
}
#GoK stops really being GoK
gok_government_change_story_end_effect = yes
situation:dynastic_cycle = { save_scope_as = situation }
tgp_claim_mandate_of_heaven_effect = yes
}
ai_check_interval_by_tier = {
barony = 0
county = 0
duchy = 0
kingdom = 36
empire = 3
hegemony = 12
}
ai_potential = {
situation:dynastic_cycle ?= { situation_current_phase = situation_dynastic_cycle_phase_chaos }
NOT = {
any_owned_story = {
OR = {
story_type = story_mongol_invasion
story_type = story_greatest_of_khans
}
}
}
}
ai_will_do = { base = 10000 }
}
situation_dynastic_cycle_favor_own_culture_for_appointments = {
title = situation_dynastic_cycle_favor_own_culture_for_appointments
desc = situation_dynastic_cycle_favor_own_culture_for_appointments_desc
selection_tooltip = situation_dynastic_cycle_favor_own_culture_for_appointments_tooltip
confirm_text = {
first_valid = {
triggered_desc = {
trigger = { scope:situation_dynastic_cycle_remove_favor = yes }
desc = situation_dynastic_cycle_favor_own_culture_for_appointments_confirm_2
}
desc = situation_dynastic_cycle_favor_own_culture_for_appointments_confirm_1
}
}
picture = {
reference = "gfx/interface/illustrations/decisions/tgp_debate.dds"
}
sort_order = 70
decision_group_type = dynastic_cycle
is_shown = {
has_title = title:h_china
top_participant_group:dynastic_cycle ?= {
has_participant_group_parameter = dynastic_cycle_hegemon_may_favour_own_culture_for_appointments
}
}
is_valid = {
custom_tooltip = {
text = government_is_celestial_tt
government_has_flag = government_is_celestial
}
situation:dynastic_cycle = { situation_current_phase = situation_dynastic_cycle_phase_instability_conquest }
}
is_valid_showing_failures_only = {
is_available_adult = yes
}
cost = {
prestige = 250
}
widget = {
gui = "decision_view_widget_generic_multichoice_with_effects"
controller = decision_option_list_controller
decision_to_second_step_button = "SELECT_ACTION"
### Favor your own culture
item = {
value = situation_dynastic_cycle_favor_own_culture
is_valid = {
custom_tooltip = {
text = situation_dynastic_cycle_own_culture_already_favored_desc
situation:dynastic_cycle ?= {
OR = {
NOT = { has_variable = dynastic_cycle_favored_culture }
var:dynastic_cycle_favored_culture != root.culture
}
}
}
#culture ?= {
# NOT = { has_cultural_pillar = heritage_chinese }
#}
}
current_description = situation_dynastic_cycle_favor_own_culture_desc
localization = situation_dynastic_cycle_favor_own_culture_name
icon = "gfx/interface/icons/message_feed/culture.dds"
ai_chance = {
value = 100
}
}
### Remove currently favored culture
item = {
value = situation_dynastic_cycle_remove_favor
is_valid = {
situation:dynastic_cycle ?= {
save_temporary_scope_as = situation_scope
custom_tooltip = {
text = situation_dynastic_cycle_no_favored_culture_desc
has_variable = dynastic_cycle_favored_culture
}
}
}
current_description = situation_dynastic_cycle_remove_favor_desc
localization = situation_dynastic_cycle_remove_favor_name
icon = "gfx/interface/icons/message_feed/culture.dds"
ai_chance = {
value = 0 # The AI doesn't need to do this
}
}
}
effect = {
situation:dynastic_cycle ?= { save_scope_as = situation }
culture = {
save_scope_as = hegemon_favored_culture
}
if = { # Promote your own culture
limit = { scope:situation_dynastic_cycle_favor_own_culture = yes }
custom_tooltip = {
text = situation_dynastic_cycle_conquest_favor_own_culture_desc
situation:dynastic_cycle ?= {
set_variable = {
name = dynastic_cycle_favored_culture
value = scope:hegemon_favored_culture
}
}
# Notify any vassal players
every_player = {
limit = { target_is_liege_or_above = root }
}
}
}
else_if = { # Stop promoting currently promoted culture
limit = { scope:situation_dynastic_cycle_remove_favor = yes }
custom_tooltip = {
text = situation_dynastic_cycle_conquest_stop_favored_culture_desc
situation:dynastic_cycle ?= {
remove_variable = dynastic_cycle_favored_culture
}
# Notify any vassal players
every_player = {
limit = { target_is_liege_or_above = root }
}
}
}
}
ai_check_interval_by_tier = {
barony = 0
county = 0
duchy = 0
kingdom = 0
empire = 0
hegemony = 36
}
ai_potential = { always = yes }
ai_will_do = {
base = 30
modifier = {
ai_boldness >= high_positive_ai_value
add = 45
}
modifier = {
ai_honor >= very_high_positive_ai_value
ai_rationality >= very_high_positive_ai_value
add = -30
}
}
}
#only for Players - ability to choose a participation group in the Dynastic Cycle
### Join Movement ###
situation_dynastic_cycle_choose_movement_decision = {
decision_group_type = dynastic_cycle
title = situation_dynastic_cycle_choose_movement_decision
desc = situation_dynastic_cycle_choose_movement_decision_desc
selection_tooltip = situation_dynastic_cycle_choose_movement_decision_tooltip
picture = {
reference = "gfx/interface/illustrations/decisions/tgp_scholars.dds"
}
sort_order = 80
is_shown = {
has_tgp_dlc_trigger = yes
is_ai = no
any_character_situation = {
situation_type = dynastic_cycle
NOT = { situation_current_phase = situation_dynastic_cycle_phase_chaos }
}
top_participant_group:dynastic_cycle ?= {
NOR = {
participant_group_type = other_rulers
participant_group_type = hegemon_ruler
}
}
}
is_valid_showing_failures_only = {
is_adult = yes
custom_tooltip = {
text = situation_dynastic_cycle_choose_movement_decision_cannot_leave_var
NOT = { has_variable = dynastic_cycle_cannot_leave_movement_var }
}
}
cooldown = { years = 5 }
widget = {
gui = "decision_view_widget_generic_multichoice_with_effects"
controller = decision_option_list_controller
decision_to_second_step_button = "SELECT_ACTION"
show_from_start = yes
item = {
value = pro_hegemon_movement
is_valid = {
custom_tooltip = {
text = already_in_this_movement_desc
situation:dynastic_cycle ?= {
situation_participant_group:pro_hegemon_movement = {
NOT = { participant_group_has_character = root }
}
}
}
}
current_description = choose_pro_hegemon_movement_desc
localization = choose_pro_hegemon_movement_name
icon = "gfx/interface/icons/dynastic_cycle/dynastic_cycle_group_pro.dds"
flat = yes
ai_chance = {
value = 100
}
}
item = {
value = expansion_movement
is_valid = {
custom_tooltip = {
text = already_in_this_movement_desc
situation:dynastic_cycle ?= {
situation_participant_group:expansion_movement = {
NOT = { participant_group_has_character = root }
}
}
}
}
current_description = choose_expansion_movement_desc
localization = choose_expansion_movement_name
icon = "gfx/interface/icons/dynastic_cycle/dynastic_cycle_group_expand.dds"
flat = yes
ai_chance = {
value = 100
}
}
item = {
value = advancement_movement
is_valid = {
custom_tooltip = {
text = already_in_this_movement_desc
situation:dynastic_cycle ?= {
situation_participant_group:advancement_movement = {
NOT = { participant_group_has_character = root }
}
}
}
}
current_description = choose_advancement_movement_desc
localization = choose_advancement_movement_name
icon = "gfx/interface/icons/dynastic_cycle/dynastic_cycle_group_advance.dds"
flat = yes
ai_chance = {
value = 100
}
}
item = {
value = conservative_movement
is_valid = {
custom_tooltip = {
text = already_in_this_movement_desc
situation:dynastic_cycle ?= {
situation_participant_group:conservative_movement = {
NOT = { participant_group_has_character = root }
}
}
}
}
current_description = choose_conservative_movement_desc
localization = choose_conservative_movement_name
icon = "gfx/interface/icons/dynastic_cycle/dynastic_cycle_group_anti.dds"
flat = yes
ai_chance = {
value = 100
}
}
}
cost = {
influence = {
value = 0
if = {
limit = {
government_allows = administrative
}
# Base cost
value = monumental_influence_value
# More expensive for each disciple
add = {
value = 10
multiply = root.number_of_disciples
}
# Less expensive to go out of the undecided movement to any other movement
if = {
limit = {
situation:dynastic_cycle ?= {
situation_participant_group:undecided_movement = {
participant_group_has_character = root
}
}
}
multiply = 0.5
}
# Reduce the cost if your elder is in the selected movement
if = {
limit = {
any_relation = {
type = elder
save_temporary_scope_as = elder
}
situation:dynastic_cycle ?= {
OR = {
AND = {
situation_participant_group:pro_hegemon_movement = {
participant_group_has_character = scope:elder
}
scope:pro_hegemon_movement ?= yes
}
AND = {
situation_participant_group:expansion_movement = {
participant_group_has_character = scope:elder
}
scope:expansion_movement ?= yes
}
AND = {
situation_participant_group:advancement_movement = {
participant_group_has_character = scope:elder
}
scope:advancement_movement ?= yes
}
AND = {
situation_participant_group:conservative_movement = {
participant_group_has_character = scope:elder
}
scope:conservative_movement ?= yes
}
}
}
}
multiply = 0.5
}
}
}
# Non-admins pay prestige instead
prestige = {
value = 0
if = {
limit = {
NOT = { government_allows = administrative }
}
# Base cost
value = {
value = monumental_influence_value
multiply = 2
}
# Less expensive to go out of the undecided movement to any other movement
if = {
limit = {
situation:dynastic_cycle ?= {
situation_participant_group:undecided_movement = {
participant_group_has_character = root
}
}
}
multiply = 0.5
}
}
}
}
effect = {
save_scope_as = recipient #for loc
switch = {
trigger = yes
scope:pro_hegemon_movement = {
custom_tooltip = choose_pro_hegemon_movement_tt
situation:dynastic_cycle ?= {
situation_participant_group:pro_hegemon_movement = {
save_scope_as = situation_participant_group
}
}
if = {
limit = {
scope:recipient.var:movement_power >= high_movement_power_value
}
tgp_activate_catalyst_against_hegemon_effect = {
HEGEMON = scope:recipient.top_liege
CATALYST = catalyst_movement_gained_power_pro_hegemon
}
}
set_variable = {
name = movement_member
value = flag:pro_hegemon
}
}
scope:expansion_movement = {
custom_tooltip = choose_expansion_movement_tt
situation:dynastic_cycle ?= {
situation_participant_group:expansion_movement = {
save_scope_as = situation_participant_group
}
}
if = {
limit = {
scope:recipient.var:movement_power >= high_movement_power_value
}
tgp_activate_catalyst_against_hegemon_effect = {
HEGEMON = scope:recipient.top_liege
CATALYST = catalyst_movement_gained_power_expansion
}
}
set_variable = {
name = movement_member
value = flag:expansion
}
}
scope:advancement_movement = {
custom_tooltip = choose_advancement_movement_tt
situation:dynastic_cycle ?= {
situation_participant_group:advancement_movement = {
save_scope_as = situation_participant_group
}
}
if = {
limit = {
scope:recipient.var:movement_power >= high_movement_power_value
}
tgp_activate_catalyst_against_hegemon_effect = {
HEGEMON = scope:recipient.top_liege
CATALYST = catalyst_movement_gained_power_advancement
}
}
set_variable = {
name = movement_member
value = flag:advancement
}
}
scope:conservative_movement = {
custom_tooltip = choose_conservative_movement_tt
situation:dynastic_cycle ?= {
situation_participant_group:conservative_movement = {
save_scope_as = situation_participant_group
}
}
if = {
limit = {
scope:recipient.var:movement_power >= high_movement_power_value
}
tgp_activate_catalyst_against_hegemon_effect = {
HEGEMON = scope:recipient.top_liege
CATALYST = catalyst_movement_gained_power_conservative
}
}
set_variable = {
name = movement_member
value = flag:conservative
}
}
}
custom_tooltip = adds_movement_power_tt
if = {
limit = {
any_relation = {
type = disciple
}
}
custom_tooltip = {
text = every_disciple_adds_movement_power_tt
every_relation = {
type = disciple
recalculate_participant_group = situation:dynastic_cycle
}
}
}
if = { # break up with the elder if the movement is not the same after applying previous effects and changing your own
limit = {
any_relation = {
type = elder
save_temporary_scope_as = elder
}
scope:elder = {
top_participant_group:dynastic_cycle = root.top_participant_group:dynastic_cycle
}
}
custom_tooltip = {
text = situation_dynastic_cycle_choose_movement_decision_elder_tt
run_interaction = {
interaction = break_with_elder
actor = root
recipient = scope:elder
execute_threshold = accept
}
}
}
hidden_effect = { recalculate_participant_group = situation:dynastic_cycle }
}
#AI is slotted into the groups automatically by the situation participant groups script in the tgp_dynastic_cycle file
ai_check_interval = 0
}
# a petition in the name of your movement to be delivered to hegemon/relevant minister
### Make Movement Petition ###
movement_petition_decision = {
decision_group_type = dynastic_cycle
title = movement_petition_decision
desc = movement_petition_decision_desc
selection_tooltip = movement_petition_decision_tooltip
picture = {
reference = "gfx/interface/illustrations/event_story/tgp_dynastic_cycle_stability.dds"
}
sort_order = 80
is_shown = {
has_tgp_dlc_trigger = yes
top_participant_group:dynastic_cycle ?= {
NOR = {
participant_group_type = other_rulers
participant_group_type = hegemon_ruler
}
}
}
is_valid_showing_failures_only = {
is_available_adult = yes
is_any_movement_leader = yes
influence >= major_influence_value
trigger_if = {
limit = {
situation:dynastic_cycle ?= {
any_participant_group = {
var:recent_movement_petition ?= {
is_ai = no
}
save_temporary_scope_as = petitioning_movement_recent
}
}
}
custom_tooltip = {
text = movement_petition_decision.recent_movement_petition_reason
always = no
}
}
trigger_if = {
limit = {
situation:dynastic_cycle ?= {
any_participant_group = {
var:movement_petition_in_progress ?= {
is_ai = no
}
save_temporary_scope_as = petitioning_movement_progress
}
}
}
custom_tooltip = {
text = movement_petition_decision.movement_petition_in_progress_reason
always = no
}
}
}
widget = {
gui = "decision_view_widget_generic_multichoice_with_effects"
controller = decision_option_list_controller
decision_to_second_step_button = "movement_petition_decision_select_petition"
show_from_start = yes
item = {
value = change_celestial_bureaucracy
is_valid = {
title:h_china.holder ?= {
government_has_flag = government_is_celestial
}
}
current_description = change_celestial_bureaucracy_desc
localization = change_celestial_bureaucracy_name
icon = "gfx/interface/icons/message_feed/law.dds"
ai_chance = {
value = 0
}
}
item = {
value = change_celestial_army_liege_law
is_valid = {
title:h_china.holder ?= {
government_has_flag = government_is_celestial
}
}
current_description = change_celestial_army_liege_law_desc
localization = change_celestial_army_liege_law_name
icon = "gfx/interface/icons/message_feed/soldier.dds"
ai_chance = {
value = 0
}
}
item = {
value = change_province_type
is_valid = {
title:h_china.holder ?= {
government_has_flag = government_is_celestial
}
custom_tooltip = {
text = change_province_type_vassal_contract_blocked_reason
top_participant_group:dynastic_cycle ?= {
any_situation_group_participant = {
vassal_contract_has_modifiable_obligations = yes
}
}
}
}
current_description = change_province_type_desc
localization = change_province_type_name
icon = "gfx/interface/icons/celestial_administration_types/icon_standard_administration.dds"
ai_chance = {
value = 0
}
}
item = {
value = change_retirement_law
is_valid = {
title:h_china.holder ?= {
government_has_flag = government_is_celestial
}
}
current_description = change_retirement_law_desc
localization = change_retirement_law_name
icon = "gfx/interface/icons/message_feed/icon_scheme_promote.dds"
ai_chance = {
value = 0
}
}
item = {
value = increase_budget
is_valid = {
title:h_china.holder ?= {
government_has_flag = government_is_celestial
}
}
current_description = increase_budget_desc
localization = increase_budget_name
icon = "gfx/interface/icons/icon_imperial_treasury.dds"
ai_chance = {
value = 0
}
}
item = {
value = hold_examinations
is_valid = {
top_participant_group:dynastic_cycle ?= {
participant_group_type = advancement_movement
}
}
current_description = hold_examinations_desc
localization = hold_examinations_name
icon = "gfx/interface/icons/activities/activity_imperial_examination.dds"
ai_chance = {
value = 0
}
}
item = {
value = change_candidate_score_law
is_valid = {
trigger_if = {
limit = {
top_liege = {
has_realm_law = candidate_score_merit_law
}
}
top_participant_group:dynastic_cycle ?= {
participant_group_type = conservative_movement
}
top_liege = {
can_pass_candidate_score_prestige_law_trigger = yes
}
}
trigger_else = {
top_participant_group:dynastic_cycle ?= {
NOT = { participant_group_type = conservative_movement }
}
top_liege = {
can_pass_candidate_score_merit_law_trigger = yes
}
}
}
current_description = change_candidate_score_law_desc
localization = change_candidate_score_law_name
icon = "gfx/interface/icons/appointment_score.dds"
ai_chance = {
value = 0
}
}
}
effect = {
situation:dynastic_cycle ?= {
random_participant_group = {
limit = {
var:movement_leader ?= root
}
save_scope_as = actors_movement
}
}
save_scope_as = petitioner
title:h_china.holder ?= {
save_scope_as = hegemon
save_scope_as = petition_recipient
}
display_movement_petition_recipient_acceptance_chance_effect = yes
switch = {
trigger = yes
scope:change_celestial_bureaucracy = {
custom_tooltip = celestial_movement_demands_interaction.tt.change_celestial_bureaucracy
set_variable = {
name = movement_petition
value = flag:change_bureaucracy_laws
}
open_view_data = {
view = decision_detail
data = decision:movement_petition_change_laws_decision
player = root
}
}
scope:change_celestial_army_liege_law = {
set_variable = {
name = movement_petition
value = flag:change_army_laws
}
custom_tooltip = celestial_movement_demands_interaction.tt.change_celestial_army_law
open_view_data = {
view = decision_detail
data = decision:movement_petition_change_laws_decision
player = root
}
}
scope:change_province_type = {
set_variable = {
name = movement_petition
value = flag:change_province
}
custom_tooltip = celestial_movement_demands_interaction.tt.change_province_type
open_view_data = {
view = decision_detail
data = decision:movement_petition_change_laws_decision
player = root
}
}
scope:change_retirement_law = {
set_variable = {
name = movement_petition
value = flag:change_retirement_law
}
custom_tooltip = celestial_movement_demands_interaction.tt.change_retirement_law
open_view_data = {
view = decision_detail
data = decision:movement_petition_change_laws_decision
player = root
}
}
scope:change_candidate_score_law = {
set_variable = {
name = movement_petition
value = flag:change_candidate_score_law
}
custom_tooltip = celestial_movement_demands_interaction.tt.change_candidate_score_law
if = {
limit = {
scope:petitioner.location != scope:petition_recipient.capital_province
}
start_travel_plan = {
destination = scope:petition_recipient.capital_province
on_arrival_event = tgp_decision_events.0100
on_travel_planner_cancel_event = tgp_decision_events.0199
}
}
else = {
trigger_event = tgp_decision_events.0100
}
}
scope:increase_budget = {
set_variable = {
name = movement_petition
value = flag:increase_budget
}
custom_tooltip = celestial_movement_demands_interaction.tt.increase_budget
open_view_data = {
view = decision_detail
data = decision:movement_petition_change_laws_decision
player = root
}
}
scope:hold_examinations = {
set_variable = {
name = movement_petition
value = flag:hold_examinations
}
scope:hegemon = {
save_scope_as = recipient #for loc to work
}
custom_tooltip = celestial_movement_demands_interaction.tt.hold_examinations_effect
if = {
limit = {
scope:petitioner.location != scope:petition_recipient.capital_province
}
start_travel_plan = {
destination = scope:petition_recipient.capital_province
on_arrival_event = tgp_decision_events.0100
on_travel_planner_cancel_event = tgp_decision_events.0199
}
}
else = {
trigger_event = tgp_decision_events.0100
}
}
}
show_as_tooltip = {
change_influence = major_influence_loss
if = {
limit = {
scope:petitioner.location != scope:petition_recipient.capital_province
}
custom_tooltip = movement_petition_decision.travel
}
}
}
ai_potential = {
always = no
}
ai_check_interval = 0
}
# a second step of the decision above to select the details of the petition
### Movement Petition Change Laws Decision ###
movement_petition_change_laws_decision = {
decision_group_type = dynastic_cycle
title = movement_petition_decision
desc = movement_petition_decision_desc
selection_tooltip = movement_petition_decision_tooltip
picture = {
reference = "gfx/interface/illustrations/event_story/tgp_dynastic_cycle_stability.dds"
}
is_invisible = yes
is_valid_showing_failures_only = {
is_available_adult = yes
is_any_movement_leader = yes
influence >= major_influence_value
trigger_if = {
limit = {
situation:dynastic_cycle ?= {
any_participant_group = {
var:recent_movement_petition ?= {
is_ai = no
}
save_temporary_scope_as = petitioning_movement_recent
}
}
}
custom_tooltip = {
text = movement_petition_decision.recent_movement_petition_reason
always = no
}
}
trigger_if = {
limit = {
situation:dynastic_cycle ?= {
any_participant_group = {
var:movement_petition_in_progress ?= {
is_ai = no
}
save_temporary_scope_as = petitioning_movement_progress
}
}
}
custom_tooltip = {
text = movement_petition_decision.movement_petition_in_progress_reason
always = no
}
}
}
widget = {
gui = "decision_view_widget_option_list_generic"
controller = decision_option_list_controller
decision_to_second_step_button = "movement_petition_decision_select_petition"
show_from_start = yes
item = {
value = increase_law
is_shown = {
var:movement_petition ?= flag:change_bureaucracy_laws
}
is_valid = {
title:h_china.holder = {
NOT = {
realm_law_group_at_maximum_level = celestial_bureaucracy
}
trigger_if = {
limit = {
has_realm_law = celestial_bureaucracy_2
}
situation:dynastic_cycle ?= {
NOR = {
situation_current_phase = situation_dynastic_cycle_phase_instability
situation_current_phase = situation_dynastic_cycle_phase_instability_conquest
}
}
}
culture = { has_innovation = innovation_all_things }
}
}
current_description = change_celestial_bureaucracy_increase_desc
localization = change_celestial_bureaucracy_increase_name
icon = "gfx/interface/icons/symbols/icon_arrow_up.dds"
ai_chance = {
value = 0
}
}
item = {
value = decrease_law
is_shown = {
var:movement_petition ?= flag:change_bureaucracy_laws
}
is_valid = {
title:h_china.holder = {
NOT = {
realm_law_group_at_minimum_level = celestial_bureaucracy
}
}
}
current_description = change_celestial_bureaucracy_decrease_desc
localization = change_celestial_bureaucracy_decrease_name
icon = "gfx/interface/icons/symbols/icon_arrow_green_down.dds"
ai_chance = {
value = 0
}
}
item = {
value = increase_army_law
is_shown = {
var:movement_petition ?= flag:change_army_laws
}
is_valid = {
title:h_china.holder = {
NOT = {
has_realm_law = celestial_army_liege_law_3
}
trigger_if = {
limit = {
has_realm_law = celestial_army_liege_law_2
}
has_realm_law = celestial_bureaucracy_3
situation:dynastic_cycle ?= {
situation_current_phase = situation_dynastic_cycle_phase_stability_expansion
}
}
trigger_if = {
limit = {
OR = {
has_realm_law = celestial_army_liege_law_0
has_realm_law = celestial_army_liege_law_1
}
}
custom_tooltip = {
text = have_bureaucracy_2_or_higher
OR = {
has_realm_law = celestial_bureaucracy_2
has_realm_law = celestial_bureaucracy_3
}
}
}
}
}
current_description = change_army_laws_increase_desc
localization = change_army_laws_increase_name
icon = "gfx/interface/icons/symbols/icon_arrow_up.dds"
ai_chance = {
value = 0
}
}
item = {
value = decrease_army_law
is_shown = {
var:movement_petition ?= flag:change_army_laws
}
is_valid = {
title:h_china.holder = {
NOT = {
has_realm_law = celestial_army_liege_law_0
}
}
}
current_description = change_army_laws_decrease_desc
localization = change_army_laws_decrease_name
icon = "gfx/interface/icons/symbols/icon_arrow_green_down.dds"
ai_chance = {
value = 0
}
}
item = {
value = increase_budget_salary
is_shown = {
var:movement_petition ?= flag:increase_budget
}
is_valid = {
top_liege = {
NOT = { realm_law_group_at_maximum_level = budget_allocation_salary_law }
}
}
current_description = increase_budget_salary_desc
localization = increase_budget_salary_name
icon = "gfx/interface/icons/icon_imperial_treasury.dds"
ai_chance = {
value = 0
}
}
item = {
value = increase_budget_ministry
is_shown = {
var:movement_petition ?= flag:increase_budget
}
is_valid = {
top_liege = {
NOT = { realm_law_group_at_maximum_level = budget_allocation_ministry_law }
}
}
current_description = increase_budget_ministry_desc
localization = increase_budget_ministry_name
icon = "gfx/interface/icons/court_position_types/favored_minister_court_position.dds"
ai_chance = {
value = 0
}
}
item = {
value = increase_budget_military
is_shown = {
var:movement_petition ?= flag:increase_budget
}
is_valid = {
top_liege = {
NOT = { realm_law_group_at_maximum_level = budget_allocation_military_law }
}
}
current_description = increase_budget_military_desc
localization = increase_budget_military_name
icon = "gfx/interface/icons/message_feed/soldier.dds"
ai_chance = {
value = 0
}
}
item = {
value = province_metropolitan
is_shown = {
var:movement_petition ?= flag:change_province
}
is_valid = {
situation:dynastic_cycle ?= {
situation_participant_group:expansion_movement = {
any_situation_group_participant = {
vassal_contract_obligation_level:celestial_provinces != 2
}
}
}
}
current_description = change_province_metropolitan_desc
localization = change_province_metropolitan_name
icon = "gfx/interface/icons/celestial_administration_types/icon_game_concept_celestial_metropolitan_administration.dds"
ai_chance = {
value = 0
}
}
item = {
value = province_industrial
is_shown = {
var:movement_petition ?= flag:change_province
}
is_valid = {
situation:dynastic_cycle ?= {
situation_participant_group:expansion_movement = {
any_situation_group_participant = {
vassal_contract_obligation_level:celestial_provinces != 1
}
}
}
}
current_description = change_province_industrial_desc
localization = change_province_industrial_name
icon = "gfx/interface/icons/celestial_administration_types/icon_game_concept_celestial_industrial_administration.dds"
ai_chance = {
value = 0
}
}
item = {
value = province_military
is_shown = {
var:movement_petition ?= flag:change_province
}
is_valid = {
situation:dynastic_cycle ?= {
situation_participant_group:expansion_movement = {
any_situation_group_participant = {
vassal_contract_obligation_level:celestial_provinces != 3
}
}
}
}
current_description = change_province_military_desc
localization = change_province_military_name
icon = "gfx/interface/icons/celestial_administration_types/icon_game_concept_celestial_military_administration.dds"
ai_chance = {
value = 0
}
}
item = {
value = province_protectorate
is_shown = {
var:movement_petition ?= flag:change_province
}
is_valid = {
situation:dynastic_cycle ?= {
situation_participant_group:expansion_movement = {
any_situation_group_participant = {
vassal_contract_obligation_level:celestial_provinces != 4
}
}
}
}
current_description = change_province_protectorate_desc
localization = change_province_protectorate_name
icon = "gfx/interface/icons/celestial_administration_types/icon_game_concept_celestial_protectorate_administration.dds"
ai_chance = {
value = 0
}
}
item = {
value = increase_retirement_law
is_shown = {
var:movement_petition ?= flag:change_retirement_law
}
is_valid = {
title:h_china.holder = {
NOT = {
has_realm_law = celestial_retirement_law_5
}
custom_tooltip = {
text = have_celestial_bureaucracy_1_or_higher
NOT = { realm_law_group_at_minimum_level = celestial_bureaucracy }
}
}
}
current_description = change_retirement_law_increase_desc
localization = change_retirement_law_increase_name
icon = "gfx/interface/icons/symbols/icon_arrow_up.dds"
ai_chance = {
value = 0
}
}
item = {
value = decrease_retirement_law
is_shown = {
var:movement_petition ?= flag:change_retirement_law
}
is_valid = {
title:h_china.holder = {
NOT = {
has_realm_law = celestial_retirement_law_0
}
custom_tooltip = {
text = have_celestial_bureaucracy_1_or_higher
NOT = { realm_law_group_at_minimum_level = celestial_bureaucracy }
}
}
}
current_description = change_retirement_law_decrease_desc
localization = change_retirement_law_decrease_name
icon = "gfx/interface/icons/symbols/icon_arrow_green_down.dds"
ai_chance = {
value = 0
}
}
}
effect = {
save_scope_as = petitioner
situation:dynastic_cycle ?= {
random_participant_group = {
limit = {
var:movement_leader ?= root
}
save_scope_as = actors_movement
}
}
title:h_china.holder ?= {
save_scope_as = hegemon
save_scope_as = petition_recipient
}
switch = {
trigger = yes
scope:increase_law = {
set_variable = {
name = movement_petition
value = flag:change_bureaucracy_laws_increase
}
save_scope_value_as = {
name = movement_petition_effect
value = flag:change_bureaucracy_laws_increase
}
}
scope:decrease_law = {
set_variable = {
name = movement_petition
value = flag:change_bureaucracy_laws_decrease
}
save_scope_value_as = {
name = movement_petition_effect
value = flag:change_bureaucracy_laws_decrease
}
}
scope:increase_army_law = {
set_variable = {
name = movement_petition
value = flag:change_army_laws_increase
}
save_scope_value_as = {
name = movement_petition_effect
value = flag:change_army_laws_increase
}
}
scope:decrease_army_law = {
set_variable = {
name = movement_petition
value = flag:change_army_laws_decrease
}
save_scope_value_as = {
name = movement_petition_effect
value = flag:change_army_laws_decrease
}
}
scope:province_metropolitan = {
set_variable = {
name = movement_petition
value = flag:change_province_metropolitan
}
save_scope_value_as = {
name = movement_petition_effect
value = flag:change_province_metropolitan
}
}
scope:province_industrial = {
set_variable = {
name = movement_petition
value = flag:change_province_industrial
}
save_scope_value_as = {
name = movement_petition_effect
value = flag:change_province_industrial
}
}
scope:province_military = {
set_variable = {
name = movement_petition
value = flag:change_province_military
}
save_scope_value_as = {
name = movement_petition_effect
value = flag:change_province_military
}
}
scope:province_protectorate = {
set_variable = {
name = movement_petition
value = flag:change_province_protectorate
}
save_scope_value_as = {
name = movement_petition_effect
value = flag:change_province_protectorate
}
}
scope:increase_retirement_law = {
set_variable = {
name = movement_petition
value = flag:change_retirement_law_increase
}
save_scope_value_as = {
name = movement_petition_effect
value = flag:change_retirement_law_increase
}
}
scope:decrease_retirement_law = {
set_variable = {
name = movement_petition
value = flag:change_retirement_law_decrease
}
save_scope_value_as = {
name = movement_petition_effect
value = flag:change_retirement_law_decrease
}
}
scope:increase_budget_salary = {
set_variable = {
name = movement_petition
value = flag:increase_budget_salary
}
save_scope_value_as = {
name = movement_petition_effect
value = flag:increase_budget_salary
}
}
scope:increase_budget_ministry = {
set_variable = {
name = movement_petition
value = flag:increase_budget_ministry
}
save_scope_value_as = {
name = movement_petition_effect
value = flag:increase_budget_ministry
}
}
scope:increase_budget_military = {
set_variable = {
name = movement_petition
value = flag:increase_budget_military
}
save_scope_value_as = {
name = movement_petition_effect
value = flag:increase_budget_military
}
}
}
display_movement_petition_recipient_acceptance_effect = yes
if = {
limit = {
scope:petitioner.location != scope:petition_recipient.capital_province
}
start_travel_plan = {
destination = scope:petition_recipient.capital_province
on_arrival_event = tgp_decision_events.0100
on_travel_planner_cancel_event = tgp_decision_events.0199
}
}
else = {
trigger_event = tgp_decision_events.0100
}
show_as_tooltip = {
change_influence = major_influence_loss
custom_tooltip = movement_petition_decision.travel
}
scope:actors_movement = {
set_variable = {
name = movement_petition_in_progress
value = scope:petitioner
years = 3
}
}
}
ai_potential = {
always = no
}
ai_check_interval = 0
}
# AI only - petition to change laws in China, replaces the 2 petitions above for the AI
### Make Movement Petition ###
ai_movement_petition_change_laws_decision = {
decision_group_type = dynastic_cycle
title = movement_petition_decision
desc = movement_petition_decision_desc
selection_tooltip = movement_petition_decision_tooltip
picture = {
reference = "gfx/interface/illustrations/event_story/tgp_dynastic_cycle_stability.dds"
}
is_invisible = yes
cooldown = { years = 10 }
is_valid = {
is_available_ai_adult = yes
is_any_movement_leader = yes
influence >= major_influence_value
trigger_if = {
limit = {
situation:dynastic_cycle ?= {
any_participant_group = {
exists = var:recent_movement_petition
save_temporary_scope_as = petitioning_movement_recent
}
}
}
custom_tooltip = {
text = movement_petition_decision.recent_movement_petition_reason
always = no
}
}
trigger_if = {
limit = {
situation:dynastic_cycle ?= {
any_participant_group = {
exists = var:movement_petition_in_progress
save_temporary_scope_as = petitioning_movement_progress
}
}
}
custom_tooltip = {
text = movement_petition_decision.movement_petition_in_progress_reason
always = no
}
}
}
effect = {
save_scope_as = petitioner
situation:dynastic_cycle ?= {
random_participant_group = {
limit = {
var:movement_leader ?= root
}
save_scope_as = actors_movement
}
}
title:h_china.holder ?= {
save_scope_as = hegemon
save_scope_as = petition_recipient
}
# Decide for the AI which petition they should go for
random_list = {
0 = { # Increase Bureaucracy
trigger = {
NOT = { # Bureaucracy not at max
top_liege = { realm_law_group_at_maximum_level = celestial_bureaucracy }
}
trigger_if = {
limit = {
has_realm_law = celestial_bureaucracy_2
}
situation:dynastic_cycle ?= {
NOR = {
situation_current_phase = situation_dynastic_cycle_phase_instability
situation_current_phase = situation_dynastic_cycle_phase_instability_conquest
}
}
}
top_liege.culture = { has_innovation = innovation_all_things }
}
modifier = {
top_participant_group:dynastic_cycle ?= {
participant_group_type = advancement_movement
}
add = 50
}
modifier = {
situation:dynastic_cycle ?= {
situation_current_phase = situation_dynastic_cycle_phase_stability_advancement
}
add = 10
}
save_scope_value_as = {
name = increase_law
value = yes
}
}
0 = { # Decrease Bureaucracy
trigger = {
NOT = { # Bureaucracy not a min
top_liege = { realm_law_group_at_minimum_level = celestial_bureaucracy }
}
}
modifier = {
top_participant_group:dynastic_cycle ?= {
participant_group_type = expansion_movement
}
add = 50
}
modifier = {
situation:dynastic_cycle ?= {
OR = {
situation_current_phase = situation_dynastic_cycle_phase_stability_expansion
situation_current_phase = situation_dynastic_cycle_phase_instability_conquest
}
}
add = 10
}
save_scope_value_as = {
name = decrease_law
value = yes
}
}
0 = { # Increase Army
trigger = {
top_liege = {
trigger_if = { # Higher levels require high bureaucracy
limit = { has_realm_law = celestial_army_liege_law_0 }
NOT = { has_realm_law = celestial_bureaucracy_0 }
}
trigger_else_if = { # Higher levels require high bureaucracy
limit = { has_realm_law = celestial_army_liege_law_1 }
OR = {
has_realm_law = celestial_bureaucracy_2
has_realm_law = celestial_bureaucracy_3
}
}
trigger_else_if = { # Higher levels require high bureaucracy
limit = { has_realm_law = celestial_army_liege_law_2 }
has_realm_law = celestial_bureaucracy_3
# Highest only in Expansion Phase
situation:dynastic_cycle ?= { situation_current_phase = situation_dynastic_cycle_phase_stability_expansion }
}
trigger_else = { always = no }
}
}
modifier = {
top_participant_group:dynastic_cycle ?= {
participant_group_type = expansion_movement
}
add = 50
}
modifier = {
situation:dynastic_cycle ?= {
OR = {
situation_current_phase = situation_dynastic_cycle_phase_stability_expansion
situation_current_phase = situation_dynastic_cycle_phase_instability_conquest
}
}
add = 10
}
save_scope_value_as = {
name = increase_army_law
value = yes
}
}
0 = { # Decrease Army
trigger = {
NOT = { # Army not a min
top_liege = { realm_law_group_at_minimum_level = celestial_army_liege_law }
}
}
modifier = {
top_participant_group:dynastic_cycle ?= {
participant_group_type = advancement_movement
}
add = 50
}
modifier = {
situation:dynastic_cycle ?= {
OR = {
situation_current_phase = situation_dynastic_cycle_phase_stability_advancement
situation_current_phase = situation_dynastic_cycle_phase_instability
}
}
add = 10
}
save_scope_value_as = {
name = decrease_army_law
value = yes
}
}
0 = { # Metropolitan Province
modifier = {
top_participant_group:dynastic_cycle ?= {
participant_group_type = advancement_movement
}
add = 20
}
modifier = {
situation:dynastic_cycle ?= {
OR = {
situation_current_phase = situation_dynastic_cycle_phase_stability_advancement
situation_current_phase = situation_dynastic_cycle_phase_instability
}
}
add = 20
}
save_scope_value_as = {
name = province_metropolitan
value = yes
}
}
0 = { # Industrial Province
modifier = {
top_participant_group:dynastic_cycle ?= {
participant_group_type = advancement_movement
}
add = 10
}
modifier = {
situation:dynastic_cycle ?= {
OR = {
situation_current_phase = situation_dynastic_cycle_phase_stability_advancement
situation_current_phase = situation_dynastic_cycle_phase_instability
}
}
add = 10
}
save_scope_value_as = {
name = province_industrial
value = yes
}
}
0 = { # Military Province
modifier = {
top_participant_group:dynastic_cycle ?= {
participant_group_type = expansion_movement
}
add = 10
}
modifier = {
situation:dynastic_cycle ?= {
OR = {
situation_current_phase = situation_dynastic_cycle_phase_stability_expansion
situation_current_phase = situation_dynastic_cycle_phase_instability_conquest
}
}
add = 10
}
save_scope_value_as = {
name = province_military
value = yes
}
}
0 = { # Protectorate Province
modifier = {
top_participant_group:dynastic_cycle ?= {
participant_group_type = expansion_movement
}
add = 20
}
modifier = {
situation:dynastic_cycle ?= {
OR = {
situation_current_phase = situation_dynastic_cycle_phase_stability_expansion
situation_current_phase = situation_dynastic_cycle_phase_instability_conquest
}
}
add = 20
}
save_scope_value_as = {
name = province_protectorate
value = yes
}
}
0 = { # Hold Exams
trigger = {
NOT = { # Conservatives don't like exams
top_participant_group:dynastic_cycle ?= { participant_group_type = conservative_movement }
}
}
modifier = {
title:h_china ?= {
exists = var:years_since_imperial_examination
var:years_since_imperial_examination >= catalyst_imperial_examinations_gap_short_yearly_value
}
add = 10
}
save_scope_value_as = {
name = hold_examinations
value = yes
}
}
0 = { # Increase Retirement
trigger = {
top_liege = {
NOR = {
# Some bureaucracy needed for retirement
realm_law_group_at_minimum_level = celestial_bureaucracy
# Retirement not at max
realm_law_group_at_maximum_level = celestial_retirement_law
}
}
}
modifier = {
situation:dynastic_cycle ?= {
OR = {
situation_current_phase = situation_dynastic_cycle_phase_stability_expansion
situation_current_phase = situation_dynastic_cycle_phase_instability_conquest
}
}
add = 10
}
modifier = {
top_participant_group:dynastic_cycle ?= {
participant_group_type = conservative_movement
}
add = 50
}
save_scope_value_as = {
name = increase_retirement_law
value = yes
}
}
0 = { # Decrease Retirement
trigger = {
top_liege = {
NOR = {
# Some bureaucracy needed for retirement
realm_law_group_at_minimum_level = celestial_bureaucracy
# Retirement not at max
realm_law_group_at_maximum_level = celestial_retirement_law
}
}
}
modifier = {
situation:dynastic_cycle ?= {
OR = {
situation_current_phase = situation_dynastic_cycle_phase_stability_advancement
situation_current_phase = situation_dynastic_cycle_phase_instability
}
}
add = 10
}
modifier = {
top_participant_group:dynastic_cycle ?= {
participant_group_type = conservative_movement
}
factor = 0
}
save_scope_value_as = {
name = decrease_retirement_law
value = yes
}
}
0 = { # Increase Salary Budget
trigger = {
NOR = {
# Treasury not empty
top_liege = { monthly_character_treasury_balance <= 0 }
# Salaries don't go up in Conservative/Expansion
top_participant_group:dynastic_cycle ?= {
OR = {
participant_group_type = conservative_movement
participant_group_type = expansion_movement
}
}
}
}
modifier = {
situation:dynastic_cycle ?= {
OR = {
situation_current_phase = situation_dynastic_cycle_phase_stability_advancement
situation_current_phase = situation_dynastic_cycle_phase_instability
}
}
add = 1
}
modifier = {
top_participant_group:dynastic_cycle ?= {
participant_group_type = advancement_movement
}
add = 1
}
save_scope_value_as = {
name = increase_budget_salary
value = yes
}
}
0 = { # Increase Ministry Budget
trigger = {
NOR = {
# Treasury not empty
top_liege = { monthly_character_treasury_balance <= 0 }
# Salaries don't go down in Advancement/Expansion
top_participant_group:dynastic_cycle ?= {
OR = {
participant_group_type = advancement_movement
participant_group_type = expansion_movement
}
}
}
}
modifier = {
situation:dynastic_cycle ?= {
OR = {
situation_current_phase = situation_dynastic_cycle_phase_stability_advancement
situation_current_phase = situation_dynastic_cycle_phase_instability
}
}
add = 1
}
modifier = {
top_participant_group:dynastic_cycle ?= {
participant_group_type = conservative_movement
}
add = 1
}
save_scope_value_as = {
name = increase_budget_ministry
value = yes
}
}
0 = { # Candidate Score
modifier = {
top_participant_group:dynastic_cycle ?= {
participant_group_type = conservative_movement
}
top_liege = {
has_realm_law = candidate_score_merit_law
any_councillor = {
count = all
top_participant_group:dynastic_cycle ?= {
participant_group_type = conservative_movement
}
}
any_powerful_vassal = {
count = all
top_participant_group:dynastic_cycle ?= {
participant_group_type = conservative_movement
}
}
}
add = 1
}
modifier = {
top_participant_group:dynastic_cycle ?= {
NOT = { participant_group_type = conservative_movement }
}
top_liege = {
has_realm_law = candidate_score_prestige_law
any_councillor = {
count = all
top_participant_group:dynastic_cycle ?= {
NOT = { participant_group_type = conservative_movement }
}
}
any_powerful_vassal = {
count = all
top_participant_group:dynastic_cycle ?= {
NOT = { participant_group_type = conservative_movement }
}
}
}
add = 1
}
save_scope_value_as = {
name = change_candidate_score_law
value = yes
}
}
}
# Set the variable to reference the chosen petition in the follow up events
if = {
limit = {
exists = scope:increase_law
}
set_variable = {
name = movement_petition
value = flag:change_bureaucracy_laws_increase
}
}
else_if = {
limit = {
exists = scope:decrease_law
}
set_variable = {
name = movement_petition
value = flag:change_bureaucracy_laws_decrease
}
}
else_if = {
limit = {
exists = scope:increase_army_law
}
set_variable = {
name = movement_petition
value = flag:change_army_laws_increase
}
}
else_if = {
limit = {
exists = scope:decrease_army_law
}
set_variable = {
name = movement_petition
value = flag:change_army_laws_decrease
}
}
else_if = {
limit = {
exists = scope:province_metropolitan
}
set_variable = {
name = movement_petition
value = flag:change_province_metropolitan
}
}
else_if = {
limit = {
exists = scope:province_industrial
}
set_variable = {
name = movement_petition
value = flag:change_province_industrial
}
}
else_if = {
limit = {
exists = scope:province_military
}
set_variable = {
name = movement_petition
value = flag:change_province_military
}
}
else_if = {
limit = {
exists = scope:province_protectorate
}
set_variable = {
name = movement_petition
value = flag:change_province_protectorate
}
}
else_if = {
limit = {
exists = scope:hold_examinations
}
set_variable = {
name = movement_petition
value = flag:hold_examinations
}
}
else_if = {
limit = {
exists = scope:increase_retirement_law
}
set_variable = {
name = movement_petition
value = flag:change_retirement_law_increase
}
}
else_if = {
limit = {
exists = scope:decrease_retirement_law
}
set_variable = {
name = movement_petition
value = flag:change_retirement_law_decrease
}
}
else_if = {
limit = {
exists = scope:increase_budget_salary
}
set_variable = {
name = movement_petition
value = flag:increase_budget_salary
}
}
else_if = {
limit = {
exists = scope:increase_budget_ministry
}
set_variable = {
name = movement_petition
value = flag:increase_budget_ministry
}
}
else_if = {
limit = {
exists = scope:increase_budget_military
}
set_variable = {
name = movement_petition
value = flag:increase_budget_military
}
}
else_if = {
limit = {
exists = scope:change_candidate_score_law
}
set_variable = {
name = movement_petition
value = flag:change_candidate_score_law
}
}
else = {
# Left for debugging in case something goes wrong with saving proper flag above
set_variable = {
name = movement_petition
value = flag:error
}
}
if = {
limit = {
has_variable = movement_petition
var:movement_petition != flag:error
}
if = {
limit = {
scope:petitioner.location != scope:petition_recipient.capital_province
}
start_travel_plan = {
destination = scope:petition_recipient.capital_province
on_arrival_event = tgp_decision_events.0100
on_travel_planner_cancel_event = tgp_decision_events.0199
}
}
else = {
trigger_event = tgp_decision_events.0100
}
scope:actors_movement = {
set_variable = {
name = movement_petition_in_progress
value = scope:petitioner
years = 3
}
}
}
else = {
debug_log = "AI tried to use Movement Petition, but failed to pick the topic"
}
}
ai_potential = {
is_any_movement_leader = yes
}
ai_check_interval_by_tier = {
barony = 0
county = 0
duchy = 72
kingdom = 36
empire = 24
hegemony = 0
}
ai_will_do = {
base = 100
}
}
# Renounce Family Title
### Retire from Heading the [ROOT.Char.GetHouse.GetNameNoTooltip] House ###
renounce_noble_family_title_decision = {
picture = {
reference = "gfx/interface/illustrations/event_scenes/tgp_asia_estate.dds"
}
sort_order = 85
desc = {
first_valid = {
triggered_desc = {
trigger = {
any_held_title = {
is_noble_family_title = yes
exists = current_heir
}
}
desc = renounce_noble_family_title_decision_desc
}
desc = renounce_noble_family_title_decision_no_heir_desc
}
}
selection_tooltip = renounce_noble_family_title_decision_tooltip
decision_group_type = admin
is_shown = {
NOT = { top_liege = root } #This is not a general abdication decision
has_tgp_dlc_trigger = yes
is_playable_character = yes
is_house_head = yes
any_held_title = { is_noble_family_title = yes }
NOT = { religion = religion:buddhism_religion } # Uses tgp_japan_become_a_monk_decision
}
is_valid = {
custom_tooltip = {
text = renounce_noble_family_title_decision_tt.title
any_held_title = { is_noble_family_title = yes }
}
custom_tooltip = {
text = renounce_noble_family_title_decision_tt.heir
any_held_title = {
is_noble_family_title = yes
current_heir ?= { is_available_ai_adult = yes }
}
}
}
is_valid_showing_failures_only = {
is_available_adult = yes
is_at_war_with_liege = no
trigger_if = {
limit = {
has_realm_law_flag = celestial_retirement_law
}
tgp_is_above_retirement_age_trigger = { REALM_OWNER = root }
}
}
effect = {
if = {
limit = { is_ai = no }
random_held_title = {
limit = { is_noble_family_title = yes }
current_heir = { save_scope_as = new_player }
}
}
show_as_tooltip = {
add_character_modifier = { modifier = ep3_renounced_estate }
custom_tooltip = renounce_noble_family_title_decision_tt
if = {
limit = { exists = scope:new_player }
house = { set_house_head = scope:new_player }
set_player_character = scope:new_player
}
tgp_step_down_title_recipient_tooltip_effect = yes
}
trigger_event = tgp_dynastic_cycle_decision_event.0101
close_view = {
view = decisions
player = root
}
}
cost = {
influence = {
value = 0
if = {
limit = { government_has_flag = government_has_influence }
add = minor_influence_value
}
}
prestige = {
value = 0
if = {
limit = {
NOT = { government_has_flag = government_has_influence }
}
add = minor_prestige_value
}
}
}
ai_check_interval = 0
ai_potential = {
is_at_war = no
# Don't step down freely if you don't have any other house members holding a noble_family_title or inherit any held noble_family_title
OR = {
house ?= {
any_house_member = {
is_governor = yes
top_liege = root.top_liege
}
}
any_held_title = {
tier = root.highest_held_title_tier
is_noble_family_title = no
current_heir.house = root.house
}
}
tgp_is_above_retirement_age_trigger = { REALM_OWNER = root }
}
ai_will_do = {
base = -10
modifier = {
add = 10
has_trait = lazy
}
modifier = {
add = 10
has_trait = humble
}
modifier = {
add = 10
has_trait = content
}
modifier = {
add = -100
OR = {
has_trait = ambitious
has_trait = greedy
has_trait = arrogant
}
}
}
}
#only for Players - ability to choose a favored Stability Era in the Dynastic Cycle, the AI uses hegemon_favored_stability_phase_value instead
### Favor Dynastic Cycle Era Decision ###
favor_dynastic_cycle_era_decision = {
decision_group_type = dynastic_cycle
title = favor_dynastic_cycle_era
desc = {
first_valid = {
triggered_desc = {
trigger = {
has_title = title:h_china
}
desc = favor_dynastic_cycle_era_hegemon_desc
}
desc = favor_dynastic_cycle_era_chaos_desc
}
}
selection_tooltip = {
first_valid = {
triggered_desc = {
trigger = {
has_title = title:h_china
}
desc = favor_dynastic_cycle_era_decision_hegemon_tooltip
}
desc = favor_dynastic_cycle_era_decision_chaos_tooltip
}
}
picture = {
reference = "gfx/interface/illustrations/event_story/tgp_dynastic_cycle_corruption.dds"
}
sort_order = 80
is_shown = {
has_tgp_dlc_trigger = yes
is_ai = no
OR = {
AND = {
situation:dynastic_cycle ?= {
NOT = { situation_current_phase = situation_dynastic_cycle_phase_chaos }
}
top_participant_group:dynastic_cycle ?= {
participant_group_type = hegemon_ruler
}
}
AND = {
situation:dynastic_cycle ?= {
situation_current_phase = situation_dynastic_cycle_phase_chaos
}
top_participant_group:dynastic_cycle ?= {
participant_group_type = other_rulers
}
}
}
}
is_valid_showing_failures_only = {
is_adult = yes
}
cooldown = { years = 20 }
widget = {
gui = "decision_view_widget_generic_multichoice_with_effects"
controller = decision_option_list_controller
decision_to_second_step_button = "SELECT_FAVOR_ERA"
show_from_start = no
item = {
value = favor_advancement
current_description = favor_advancement_desc
localization = favor_advancement_name
icon = "gfx/interface/icons/dynastic_cycle/dynastic_cycle_phase_advancement.dds"
ai_chance = {
value = 0
}
}
item = {
value = favor_expansion
current_description = favor_expansion_desc
localization = favor_expansion_name
icon = "gfx/interface/icons/dynastic_cycle/dynastic_cycle_phase_expansion.dds"
ai_chance = {
value = 0
}
}
}
cost = {
influence = {
value = monumental_influence_value
}
}
effect = {
switch = {
trigger = yes
scope:favor_advancement = {
set_variable = {
name = favor_era
value = flag:advancement
}
custom_tooltip = favor_advancement_tt
if = {
limit = {
situation:dynastic_cycle ?= {
situation_current_phase = situation_dynastic_cycle_phase_chaos
}
}
custom_tooltip = favor_advancement_movement_power_chaos_tt
}
else = {
custom_tooltip = favor_advancement_movement_power_tt
}
}
scope:favor_expansion = {
set_variable = {
name = favor_era
value = flag:expansion
}
custom_tooltip = favor_expansion_tt
if = {
limit = {
situation:dynastic_cycle ?= {
situation_current_phase = situation_dynastic_cycle_phase_chaos
}
}
custom_tooltip = favor_expansion_movement_power_chaos_tt
}
else = {
custom_tooltip = favor_expansion_movement_power_tt
}
}
}
}
ai_check_interval = 0
}
#only for Players - ability to choose a favored Movement, the AI will always follow the Debates activity outcomes instead
### Favor a Movement ###
favor_movement_decision = {
decision_group_type = dynastic_cycle
title = favor_movement_decision
desc = favor_movement_decision_desc
selection_tooltip = favor_movement_decision_tooltip
picture = {
reference = "gfx/interface/illustrations/event_story/tgp_dynastic_cycle_corruption.dds"
}
sort_order = 80
is_shown = {
has_tgp_dlc_trigger = yes
is_ai = no
any_character_situation = {
situation_type = dynastic_cycle
NOT = { situation_current_phase = situation_dynastic_cycle_phase_chaos }
}
has_title = title:h_china
}
is_valid_showing_failures_only = {
is_adult = yes
}
cooldown = { years = 20 }
widget = {
gui = "decision_view_widget_generic_multichoice_with_effects"
controller = decision_option_list_controller
decision_to_second_step_button = "SELECT_FAVOR_MOVEMENT"
show_from_start = no
item = {
value = advancement_movement
current_description = favor_advancement_movement_desc
localization = favor_advancement_movement_name
icon = "gfx/interface/icons/dynastic_cycle/dynastic_cycle_group_advance.dds"
flat = yes
is_valid = {
NOT = {
is_movement_in_power = {
MOVEMENT = advancement_movement
}
}
}
}
item = {
value = expansion_movement
current_description = favor_expansion_movement_desc
localization = favor_expansion_movement_name
icon = "gfx/interface/icons/dynastic_cycle/dynastic_cycle_group_expand.dds"
flat = yes
is_valid = {
NOT = {
is_movement_in_power = {
MOVEMENT = expansion_movement
}
}
}
}
item = {
value = conservative_movement
current_description = favor_conservative_movement_desc
localization = favor_conservative_movement_name
icon = "gfx/interface/icons/dynastic_cycle/dynastic_cycle_group_anti.dds"
flat = yes
is_valid = {
NOT = {
is_movement_in_power = {
MOVEMENT = conservative_movement
}
}
}
}
item = {
value = pro_hegemon_movement
current_description = favor_pro_hegemon_movement_desc
localization = favor_pro_hegemon_movement_name
icon = "gfx/interface/icons/dynastic_cycle/dynastic_cycle_group_pro.dds"
flat = yes
is_valid = {
NOT = {
is_movement_in_power = {
MOVEMENT = pro_hegemon_movement
}
}
}
}
}
cost = {
influence = {
value = monumental_influence_value
}
}
effect = {
save_scope_as = hegemon
situation:dynastic_cycle ?= {
random_participant_group = {
limit = {
has_variable = movement_favored
}
save_scope_as = former_favored_movement
}
switch = {
trigger = yes
scope:advancement_movement = {
situation_participant_group:advancement_movement = {
make_movement_favored_effect = yes
save_scope_as = new_favored_movement
}
if = {
limit = {
situation_top_has_catalyst = catalyst_movement_gained_power_advancement
}
trigger_situation_catalyst = catalyst_movement_gained_power_advancement
}
}
scope:expansion_movement = {
situation_participant_group:expansion_movement = {
make_movement_favored_effect = yes
save_scope_as = new_favored_movement
}
if = {
limit = {
situation_top_has_catalyst = catalyst_movement_gained_power_expansion
}
trigger_situation_catalyst = catalyst_movement_gained_power_expansion
}
}
scope:conservative_movement = {
situation_participant_group:conservative_movement = {
make_movement_favored_effect = yes
save_scope_as = new_favored_movement
}
if = {
limit = {
situation_top_has_catalyst = catalyst_movement_gained_power_conservative
}
trigger_situation_catalyst = catalyst_movement_gained_power_conservative
}
}
scope:pro_hegemon_movement = {
situation_participant_group:pro_hegemon_movement = {
make_movement_favored_effect = yes
save_scope_as = new_favored_movement
}
if = {
limit = {
situation_top_has_catalyst = catalyst_movement_gained_power_pro_hegemon
}
trigger_situation_catalyst = catalyst_movement_gained_power_pro_hegemon
}
}
}
every_participant_group = {
var:movement_leader ?= {
trigger_event = tgp_dynastic_cycle_decision_event.0111
}
}
}
hidden_effect = {
every_player = {
limit = {
tgp_does_this_player_care_about_the_dynastic_cycle = yes
is_any_movement_leader = no
}
send_interface_message = {
type = event_struggle_neutral
title = favor_movement_decision.tt
left_icon = scope:hegemon
right_icon = scope:new_favored_movement.var:movement_leader
show_as_tooltip = {
scope:new_favored_movement = {
make_movement_favored_effect = yes
}
}
}
}
}
}
ai_check_interval = 0
}
#Ability to trigger a catalyst towards or away from chosen phase
### Shape the Dynastic Cycle ###
favored_movement_consults_heaven_decision = {
decision_group_type = dynastic_cycle
title = favored_movement_consults_heaven_decision
desc = favored_movement_consults_heaven_decision_desc
selection_tooltip = favored_movement_consults_heaven_decision_tooltip
picture = {
reference = "gfx/interface/illustrations/event_scenes/tgp_asia_throne_room.dds"
}
sort_order = 80
is_shown = {
has_tgp_dlc_trigger = yes
any_character_situation = {
situation_type = dynastic_cycle
NOT = { situation_current_phase = situation_dynastic_cycle_phase_chaos }
}
top_participant_group:dynastic_cycle ?= {
NOT = { participant_group_type = other_rulers }
}
}
is_valid_showing_failures_only = {
is_adult = yes
custom_tooltip = {
text = can_consult_heaven_tt
OR = {
AND = {
is_any_movement_leader = yes
top_participant_group:dynastic_cycle ?= {
exists = var:movement_favored
var:movement_leader ?= root
}
}
has_title = title:h_china
has_title = title:e_minister_chancellor
}
}
}
cooldown = { years = 10 }
widget = {
gui = "decision_view_widget_generic_multichoice_with_effects"
controller = decision_option_list_controller
decision_to_second_step_button = "SELECT_CONSULT_HEAVEN"
show_from_start = yes
item = {
value = positive_advancement_catalyst
current_description = positive_advancement_catalyst_desc
localization = positive_advancement_catalyst_name
icon = "gfx/interface/icons/dynastic_cycle/dynastic_cycle_phase_advancement.dds"
is_shown = {
situation:dynastic_cycle ?= {
NOT = { situation_current_phase = situation_dynastic_cycle_phase_stability_advancement }
}
}
is_valid = {
custom_tooltip = {
text = positive_advancement_catalyst_tt
root = {
top_participant_group:dynastic_cycle ?= {
OR = {
participant_group_type = advancement_movement
participant_group_type = hegemon_ruler
}
}
}
}
}
ai_chance = {
value = 0
if = {
limit = {
situation:dynastic_cycle ?= {
trigger_if = {
limit = {
OR = {
situation_current_phase = situation_dynastic_cycle_phase_instability_conquest
situation_current_phase = situation_dynastic_cycle_phase_instability
}
}
situation_top_sub_region = {
phase_takeover_points:situation_dynastic_cycle_phase_chaos >= 150
}
}
trigger_else = {
situation_top_sub_region = {
phase_takeover_points:situation_dynastic_cycle_phase_instability >= 150
}
}
}
}
add = 100
}
}
}
item = {
value = negative_advancement_catalyst
current_description = negative_advancement_catalyst_desc
localization = negative_advancement_catalyst_name
icon = "gfx/interface/icons/dynastic_cycle/dynastic_cycle_phase_advancement.dds"
is_shown = {
situation:dynastic_cycle ?= {
OR = {
situation_current_phase = situation_dynastic_cycle_phase_instability
situation_current_phase = situation_dynastic_cycle_phase_instability_conquest
}
}
}
is_valid = {
situation:dynastic_cycle ?= {
situation_top_has_catalyst = catalyst_movement_consulted_heaven_advancement_negative
trigger_if = {
limit = {
situation_current_phase = situation_dynastic_cycle_phase_stability_advancement
}
custom_tooltip = {
text = negative_advancement_catalyst_tt
root = {
top_participant_group:dynastic_cycle ?= {
OR = {
participant_group_type = advancement_movement
participant_group_type = hegemon_ruler
}
}
}
}
}
trigger_else = {
root = {
top_participant_group:dynastic_cycle ?= {
NOT = { participant_group_type = advancement_movement }
}
}
}
}
}
ai_chance = {
value = 0
if = {
limit = {
situation:dynastic_cycle ?= {
NOR = {
situation_current_phase = situation_dynastic_cycle_phase_stability_advancement
situation_current_phase = situation_dynastic_cycle_phase_stability_expansion
}
situation_top_sub_region = {
phase_takeover_points:situation_dynastic_cycle_phase_stability_advancement >= 150
}
}
}
add = 100
}
}
}
item = {
value = positive_expansion_catalyst
current_description = positive_expansion_catalyst_desc
localization = positive_expansion_catalyst_name
icon = "gfx/interface/icons/dynastic_cycle/dynastic_cycle_phase_expansion.dds"
is_shown = {
situation:dynastic_cycle ?= {
NOT = { situation_current_phase = situation_dynastic_cycle_phase_stability_expansion }
}
}
is_valid = {
situation:dynastic_cycle ?= {
trigger_if = {
limit = {
situation_current_phase = situation_dynastic_cycle_phase_stability_expansion
}
root = {
top_participant_group:dynastic_cycle ?= {
NOT = { participant_group_type = expansion_movement }
}
}
}
trigger_else = {
custom_tooltip = {
text = positive_expansion_catalyst_tt
root = {
top_participant_group:dynastic_cycle ?= {
OR = {
participant_group_type = expansion_movement
participant_group_type = hegemon_ruler
}
}
}
}
}
}
}
ai_chance = {
value = 0
if = {
limit = {
situation:dynastic_cycle ?= {
trigger_if = {
limit = {
OR = {
situation_current_phase = situation_dynastic_cycle_phase_instability_conquest
situation_current_phase = situation_dynastic_cycle_phase_instability
}
}
situation_top_sub_region = {
phase_takeover_points:situation_dynastic_cycle_phase_chaos >= 150
}
}
trigger_else = {
situation_top_sub_region = {
phase_takeover_points:situation_dynastic_cycle_phase_instability >= 150
}
}
}
}
add = 100
}
}
}
item = {
value = negative_expansion_catalyst
current_description = negative_expansion_catalyst_desc
localization = negative_expansion_catalyst_name
icon = "gfx/interface/icons/dynastic_cycle/dynastic_cycle_phase_expansion.dds"
is_shown = {
situation:dynastic_cycle ?= {
OR = {
situation_current_phase = situation_dynastic_cycle_phase_instability
situation_current_phase = situation_dynastic_cycle_phase_instability_conquest
}
}
}
is_valid = {
situation:dynastic_cycle ?= {
situation_top_has_catalyst = catalyst_movement_consulted_heaven_expansion_negative
trigger_if = {
limit = {
situation_current_phase = situation_dynastic_cycle_phase_stability_expansion
}
custom_tooltip = {
text = negative_expansion_catalyst_tt
root = {
top_participant_group:dynastic_cycle ?= {
OR = {
participant_group_type = expansion_movement
participant_group_type = hegemon_ruler
}
}
}
}
}
trigger_else = {
root = {
top_participant_group:dynastic_cycle ?= {
NOT = { participant_group_type = expansion_movement }
}
}
}
}
}
ai_chance = {
value = 0
if = {
limit = {
situation:dynastic_cycle ?= {
NOR = {
situation_current_phase = situation_dynastic_cycle_phase_stability_advancement
situation_current_phase = situation_dynastic_cycle_phase_stability_expansion
}
situation_top_sub_region = {
phase_takeover_points:situation_dynastic_cycle_phase_stability_expansion >= 150
}
}
}
add = 100
}
}
}
item = {
value = positive_chaos_catalyst
current_description = positive_chaos_catalyst_desc
localization = positive_chaos_catalyst_name
icon = "gfx/interface/icons/dynastic_cycle/dynastic_cycle_phase_chaos.dds"
is_shown = {
situation:dynastic_cycle ?= {
NOR = {
situation_current_phase = situation_dynastic_cycle_phase_stability_expansion
situation_current_phase = situation_dynastic_cycle_phase_stability_advancement
}
}
}
is_valid = {
situation:dynastic_cycle ?= {
situation_top_has_catalyst = catalyst_movement_consulted_heaven_chaos_positive
}
}
ai_chance = {
value = 0
if = {
limit = {
situation:dynastic_cycle ?= {
trigger_if = {
limit = {
OR = {
situation_current_phase = situation_dynastic_cycle_phase_instability_conquest
situation_current_phase = situation_dynastic_cycle_phase_instability
}
}
situation_top_sub_region = {
phase_takeover_points:situation_dynastic_cycle_phase_chaos <= 250
}
}
trigger_else = {
situation_top_sub_region = {
phase_takeover_points:situation_dynastic_cycle_phase_instability <= 250
}
}
}
}
add = 100
}
}
}
item = {
value = negative_chaos_catalyst
current_description = negative_chaos_catalyst_desc
localization = negative_chaos_catalyst_name
icon = "gfx/interface/icons/dynastic_cycle/dynastic_cycle_phase_chaos.dds"
is_shown = {
situation:dynastic_cycle ?= {
NOR = {
situation_current_phase = situation_dynastic_cycle_phase_stability_expansion
situation_current_phase = situation_dynastic_cycle_phase_stability_advancement
}
}
}
is_valid = {
situation:dynastic_cycle ?= {
situation_top_has_catalyst = catalyst_movement_consulted_heaven_chaos_negative
}
}
ai_chance = {
value = 0
if = {
limit = {
situation:dynastic_cycle ?= {
trigger_if = {
limit = {
OR = {
situation_current_phase = situation_dynastic_cycle_phase_instability_conquest
situation_current_phase = situation_dynastic_cycle_phase_instability
}
}
situation_top_sub_region = {
phase_takeover_points:situation_dynastic_cycle_phase_chaos <= 250
}
}
trigger_else = {
situation_top_sub_region = {
phase_takeover_points:situation_dynastic_cycle_phase_instability <= 250
}
}
}
}
add = 100
}
}
}
item = {
value = positive_instability_catalyst
current_description = positive_instability_catalyst_desc
localization = positive_instability_catalyst_name
icon = "gfx/interface/icons/dynastic_cycle/dynastic_cycle_phase_instability.dds"
is_shown = {
situation:dynastic_cycle ?= {
OR = {
situation_current_phase = situation_dynastic_cycle_phase_stability_expansion
situation_current_phase = situation_dynastic_cycle_phase_stability_advancement
}
}
}
is_valid = {
situation:dynastic_cycle ?= {
situation_top_has_catalyst = catalyst_movement_consulted_heaven_instability_positive
}
}
ai_chance = {
value = 0
if = {
limit = {
situation:dynastic_cycle ?= {
trigger_if = {
limit = {
OR = {
situation_current_phase = situation_dynastic_cycle_phase_instability_conquest
situation_current_phase = situation_dynastic_cycle_phase_instability
}
}
situation_top_sub_region = {
phase_takeover_points:situation_dynastic_cycle_phase_chaos <= 250
}
}
trigger_else = {
situation_top_sub_region = {
phase_takeover_points:situation_dynastic_cycle_phase_instability <= 250
}
}
}
}
add = 100
}
}
}
item = {
value = negative_instability_catalyst
current_description = negative_instability_catalyst_desc
localization = negative_instability_catalyst_name
icon = "gfx/interface/icons/dynastic_cycle/dynastic_cycle_phase_instability.dds"
is_shown = {
situation:dynastic_cycle ?= {
OR = {
situation_current_phase = situation_dynastic_cycle_phase_stability_expansion
situation_current_phase = situation_dynastic_cycle_phase_stability_advancement
}
}
}
is_valid = {
situation:dynastic_cycle ?= {
situation_top_has_catalyst = catalyst_movement_consulted_heaven_instability_negative
}
}
ai_chance = {
value = 0
if = {
limit = {
situation:dynastic_cycle ?= {
trigger_if = {
limit = {
OR = {
situation_current_phase = situation_dynastic_cycle_phase_instability_conquest
situation_current_phase = situation_dynastic_cycle_phase_instability
}
}
situation_top_sub_region = {
phase_takeover_points:situation_dynastic_cycle_phase_chaos <= 250
}
}
trigger_else = {
situation_top_sub_region = {
phase_takeover_points:situation_dynastic_cycle_phase_instability <= 250
}
}
}
}
add = 100
}
}
}
}
cost = {
influence = {
value = monumental_influence_value
}
}
effect = {
top_participant_group:dynastic_cycle ?= {
if = {
limit = {
participant_group_type = hegemon_ruler
}
situation:dynastic_cycle.situation_participant_group:pro_hegemon_movement = {
save_scope_as = actors_movement
}
}
else = {
save_scope_as = actors_movement
}
}
scope:actors_movement = {
petition_change_movement_power_effect = {
VALUE = -200
}
}
situation:dynastic_cycle ?= {
switch = {
trigger = yes
scope:positive_advancement_catalyst = {
if = {
limit = {
situation_top_has_catalyst = catalyst_movement_consulted_heaven_advancement_positive
}
trigger_situation_catalyst = catalyst_movement_consulted_heaven_advancement_positive
}
else_if = {
limit = {
situation_top_has_catalyst = catalyst_movement_consulted_heaven_instability_positive
}
trigger_situation_catalyst = catalyst_movement_consulted_heaven_instability_positive
}
else_if = {
limit = {
situation_top_has_catalyst = catalyst_movement_consulted_heaven_chaos_positive
}
trigger_situation_catalyst = catalyst_movement_consulted_heaven_chaos_positive
}
}
scope:negative_advancement_catalyst = {
if = {
limit = {
situation_top_has_catalyst = catalyst_movement_consulted_heaven_advancement_negative
}
trigger_situation_catalyst = catalyst_movement_consulted_heaven_advancement_negative
}
}
scope:positive_expansion_catalyst = {
if = {
limit = {
situation_top_has_catalyst = catalyst_movement_consulted_heaven_expansion_positive
}
trigger_situation_catalyst = catalyst_movement_consulted_heaven_expansion_positive
}
else_if = {
limit = {
situation_top_has_catalyst = catalyst_movement_consulted_heaven_instability_positive
}
trigger_situation_catalyst = catalyst_movement_consulted_heaven_instability_positive
}
else_if = {
limit = {
situation_top_has_catalyst = catalyst_movement_consulted_heaven_chaos_positive
}
trigger_situation_catalyst = catalyst_movement_consulted_heaven_chaos_positive
}
}
scope:negative_expansion_catalyst = {
if = {
limit = {
situation_top_has_catalyst = catalyst_movement_consulted_heaven_expansion_negative
}
trigger_situation_catalyst = catalyst_movement_consulted_heaven_expansion_negative
}
}
scope:positive_chaos_catalyst = {
if = {
limit = {
situation_top_has_catalyst = catalyst_movement_consulted_heaven_chaos_positive
}
trigger_situation_catalyst = catalyst_movement_consulted_heaven_chaos_positive
}
}
scope:negative_chaos_catalyst = {
if = {
limit = {
situation_top_has_catalyst = catalyst_movement_consulted_heaven_chaos_negative
}
trigger_situation_catalyst = catalyst_movement_consulted_heaven_chaos_negative
}
}
scope:positive_instability_catalyst = {
if = {
limit = {
situation_top_has_catalyst = catalyst_movement_consulted_heaven_instability_positive
}
trigger_situation_catalyst = catalyst_movement_consulted_heaven_instability_positive
}
}
scope:negative_instability_catalyst = {
if = {
limit = {
situation_top_has_catalyst = catalyst_movement_consulted_heaven_instability_negative
}
trigger_situation_catalyst = catalyst_movement_consulted_heaven_instability_negative
}
}
}
}
}
ai_potential = {
is_any_movement_leader = yes
}
ai_check_interval_by_tier = {
barony = 0
county = 120
duchy = 120
kingdom = 36
empire = 12
hegemony = 12
}
ai_will_do = {
base = 100
}
}
#House Heads' ability to trigger a catalyst towards or away from a phase according to their movement
### Consult Heaven ###
house_head_consults_heaven_decision = {
decision_group_type = dynastic_cycle
title = house_head_consults_heaven_decision
desc = house_head_consults_heaven_decision_desc
selection_tooltip = house_head_consults_heaven_decision_tooltip
picture = {
reference = "gfx/interface/illustrations/event_scenes/tgp_asia_estate.dds"
}
sort_order = 80
is_shown = {
has_tgp_dlc_trigger = yes
any_character_situation = {
situation_type = dynastic_cycle
NOT = { situation_current_phase = situation_dynastic_cycle_phase_chaos }
}
top_participant_group:dynastic_cycle ?= {
NOT = { participant_group_type = other_rulers }
}
}
is_valid_showing_failures_only = {
is_available_adult = yes
custom_tooltip = {
text = is_in_a_movement_with_leader_tt
OR = {
is_house_head = yes
top_participant_group:dynastic_cycle ?= {
var:movement_leader ?= root
}
has_title = title:e_minister_chancellor
}
}
}
cooldown = { years = 10 }
cost = {
influence = {
value = 2000
add = {
value = 0
every_close_or_extended_family_member = {
limit = {
is_governor = yes
}
add = 10
}
multiply = -1
}
add = {
value = 0
every_close_or_extended_family_member = {
limit = {
merit_level >= 4
}
add = 10
}
multiply = -1
}
if = {
limit = {
scope:discount_none ?= yes
}
multiply = 0.5
}
min = 100
}
piety = {
value = 0
if = {
limit = {
scope:discount_none ?= yes
}
add = 1000
}
}
}
widget = {
gui = "decision_view_widget_generic_multichoice_with_effects"
controller = decision_option_list_controller
decision_to_second_step_button = "SELECT_CONSULT_HEAVEN"
show_from_start = yes
item = {
value = discount_none
current_description = positive_advancement_catalyst_desc
localization = discount_none_name
icon = "gfx/interface/icons/modifiers/icon_piety_confucianism_04.dds"
is_valid = {
piety_level >= 4
}
ai_chance = {
value = 10
}
}
item = {
value = discount_powerful_family
current_description = negative_advancement_catalyst_desc
localization = discount_powerful_family_name
icon = "gfx/interface/icons/icon_game_concept_powerful_house.dds"
is_valid = {
custom_tooltip = {
text = HOUSE_VIEW_POWERLESS_FAMILY
house = {
OR = {
is_powerful_family = yes
title:h_china.holder.house ?= this
}
}
}
}
ai_chance = {
value = 50
}
}
item = {
value = discount_family_governors
current_description = positive_expansion_catalyst_desc
localization = discount_family_governors_name
icon = "gfx/interface/icons/message_feed/governor.dds"
is_valid = {
custom_tooltip = {
text = discount_family_governors_tt
any_close_or_extended_family_member = {
is_governor = yes
count >= 20
}
}
}
ai_chance = {
value = 200
}
}
item = {
value = discount_family_merit
current_description = negative_expansion_catalyst_desc
localization = discount_family_merit_name
icon = "gfx/interface/icons/icon_merit.dds"
is_valid = {
custom_tooltip = {
text = discount_family_merit_tt
any_close_or_extended_family_member = {
merit_level >= 6
count >= 10
}
}
}
ai_chance = {
value = 500
}
}
}
effect = {
top_participant_group:dynastic_cycle ?= {
if = {
limit = {
participant_group_type = hegemon_ruler
}
situation:dynastic_cycle.situation_participant_group:pro_hegemon_movement = {
save_scope_as = actors_movement
}
}
else = {
save_scope_as = actors_movement
}
}
show_as_tooltip = {
if = {
limit = {
NOR = {
scope:discount_none = yes
scope:discount_powerful_family = yes
scope:discount_family_governors = yes
scope:discount_family_merit = yes
}
}
scope:actors_movement = { tgp_catalyst_from_decision_effect = yes }
}
}
scope:actors_movement = {
switch = {
trigger = yes
scope:discount_none = {
tgp_catalyst_from_decision_effect = yes
}
scope:discount_powerful_family = {
tgp_catalyst_from_decision_effect = yes
}
scope:discount_family_governors = {
tgp_catalyst_from_decision_effect = yes
}
scope:discount_family_merit = {
tgp_catalyst_from_decision_effect = yes
}
}
}
}
ai_potential = {
government_allows = merit
OR = { # To make sure the cycle isn't nuked by landless families
highest_held_title_tier >= tier_duchy
house = {
is_powerful_family = yes
}
}
situation:dynastic_cycle ?= {
trigger_if = {
limit = {
OR = {
situation_current_phase = situation_dynastic_cycle_phase_stability_advancement
situation_current_phase = situation_dynastic_cycle_phase_stability_expansion
}
}
situation_top_sub_region = {
phase_takeover_points:situation_dynastic_cycle_phase_instability >= 100
}
}
trigger_else_if = {
limit = {
OR = {
situation_current_phase = situation_dynastic_cycle_phase_instability_conquest
situation_current_phase = situation_dynastic_cycle_phase_instability
}
}
situation_top_sub_region = {
phase_takeover_points:situation_dynastic_cycle_phase_chaos >= 100
}
}
trigger_else = {
always = yes
}
}
}
ai_check_interval_by_tier = {
barony = 0
county = 120
duchy = 120
kingdom = 36
empire = 12
hegemony = 12
}
ai_will_do = {
base = 100
modifier = {
situation:dynastic_cycle ?= {
trigger_if = {
limit = {
OR = {
situation_current_phase = situation_dynastic_cycle_phase_instability_conquest
situation_current_phase = situation_dynastic_cycle_phase_instability
}
}
situation_top_sub_region = {
phase_takeover_points:situation_dynastic_cycle_phase_chaos >= 100
}
}
trigger_else = {
situation_top_sub_region = {
phase_takeover_points:situation_dynastic_cycle_phase_instability >= 100
}
}
}
factor = 10
}
}
}