# Written by Killerrabbit setup_coalition_idea_tokens = { clear_array = global.coalition_western_idea resize_array = { array = global.coalition_western_idea size = 1 } add_to_array = { global.coalition_western_idea = token:coalition_western_1 } add_to_array = { global.coalition_western_idea = token:coalition_western_2 } add_to_array = { global.coalition_western_idea = token:coalition_western_3 } add_to_array = { global.coalition_western_idea = token:coalition_western_4 } add_to_array = { global.coalition_western_idea = token:coalition_western_5 } add_to_array = { global.coalition_western_idea = token:coalition_western_6 } add_to_array = { global.coalition_western_idea = token:coalition_western_7 } add_to_array = { global.coalition_western_idea = token:coalition_western_8 } add_to_array = { global.coalition_western_idea = token:coalition_western_9 } clear_array = global.coalition_emerging_idea resize_array = { array = global.coalition_emerging_idea size = 1 } add_to_array = { global.coalition_emerging_idea = token:coalition_emerging_1 } add_to_array = { global.coalition_emerging_idea = token:coalition_emerging_2 } add_to_array = { global.coalition_emerging_idea = token:coalition_emerging_3 } add_to_array = { global.coalition_emerging_idea = token:coalition_emerging_4 } add_to_array = { global.coalition_emerging_idea = token:coalition_emerging_5 } add_to_array = { global.coalition_emerging_idea = token:coalition_emerging_6 } add_to_array = { global.coalition_emerging_idea = token:coalition_emerging_7 } add_to_array = { global.coalition_emerging_idea = token:coalition_emerging_8 } add_to_array = { global.coalition_emerging_idea = token:coalition_emerging_9 } clear_array = global.coalition_salafist_idea resize_array = { array = global.coalition_salafist_idea size = 1 } add_to_array = { global.coalition_salafist_idea = token:coalition_salafist_1 } add_to_array = { global.coalition_salafist_idea = token:coalition_salafist_2 } add_to_array = { global.coalition_salafist_idea = token:coalition_salafist_3 } add_to_array = { global.coalition_salafist_idea = token:coalition_salafist_4 } add_to_array = { global.coalition_salafist_idea = token:coalition_salafist_5 } add_to_array = { global.coalition_salafist_idea = token:coalition_salafist_6 } add_to_array = { global.coalition_salafist_idea = token:coalition_salafist_7 } add_to_array = { global.coalition_salafist_idea = token:coalition_salafist_8 } add_to_array = { global.coalition_salafist_idea = token:coalition_salafist_9 } clear_array = global.coalition_non_alligned_idea resize_array = { array = global.coalition_non_alligned_idea size = 1 } add_to_array = { global.coalition_non_alligned_idea = token:coalition_non_alligned_1 } add_to_array = { global.coalition_non_alligned_idea = token:coalition_non_alligned_2 } add_to_array = { global.coalition_non_alligned_idea = token:coalition_non_alligned_3 } add_to_array = { global.coalition_non_alligned_idea = token:coalition_non_alligned_4 } add_to_array = { global.coalition_non_alligned_idea = token:coalition_non_alligned_5 } add_to_array = { global.coalition_non_alligned_idea = token:coalition_non_alligned_6 } add_to_array = { global.coalition_non_alligned_idea = token:coalition_non_alligned_7 } add_to_array = { global.coalition_non_alligned_idea = token:coalition_non_alligned_8 } add_to_array = { global.coalition_non_alligned_idea = token:coalition_non_alligned_9 } clear_array = global.coalition_nationalist_idea resize_array = { array = global.coalition_nationalist_idea size = 1 } add_to_array = { global.coalition_nationalist_idea = token:coalition_nationalist_1 } add_to_array = { global.coalition_nationalist_idea = token:coalition_nationalist_2 } add_to_array = { global.coalition_nationalist_idea = token:coalition_nationalist_3 } add_to_array = { global.coalition_nationalist_idea = token:coalition_nationalist_4 } add_to_array = { global.coalition_nationalist_idea = token:coalition_nationalist_5 } add_to_array = { global.coalition_nationalist_idea = token:coalition_nationalist_6 } add_to_array = { global.coalition_nationalist_idea = token:coalition_nationalist_7 } add_to_array = { global.coalition_nationalist_idea = token:coalition_nationalist_8 } add_to_array = { global.coalition_nationalist_idea = token:coalition_nationalist_9 } } reset_coalition_ideas = { reset_democratic_coalition_ideas = yes reset_communism_coalition_ideas = yes reset_fascism_coalition_ideas = yes reset_neutrality_coalition_ideas = yes reset_nationalist_coalition_ideas = yes } reset_democratic_coalition_ideas = { set_temp_variable = { coalition_idea_share = coalition_democratic } set_coalition_idea_level = yes set_temp_variable = { coalition_idea_outlook_id = 0 } set_temp_variable = { coalition_idea_target_token = global.coalition_western_idea^coalition_idea_level } update_coalition_outlook_idea = yes } reset_communism_coalition_ideas = { set_temp_variable = { coalition_idea_share = coalition_communism } set_coalition_idea_level = yes set_temp_variable = { coalition_idea_outlook_id = 1 } set_temp_variable = { coalition_idea_target_token = global.coalition_emerging_idea^coalition_idea_level } update_coalition_outlook_idea = yes } reset_fascism_coalition_ideas = { set_temp_variable = { coalition_idea_share = coalition_fascism } set_coalition_idea_level = yes set_temp_variable = { coalition_idea_outlook_id = 2 } set_temp_variable = { coalition_idea_target_token = global.coalition_salafist_idea^coalition_idea_level } update_coalition_outlook_idea = yes } reset_neutrality_coalition_ideas = { set_temp_variable = { coalition_idea_share = coalition_neutrality } set_coalition_idea_level = yes set_temp_variable = { coalition_idea_outlook_id = 3 } set_temp_variable = { coalition_idea_target_token = global.coalition_non_alligned_idea^coalition_idea_level } update_coalition_outlook_idea = yes } reset_nationalist_coalition_ideas = { set_temp_variable = { coalition_idea_share = coalition_nationalist } set_coalition_idea_level = yes set_temp_variable = { coalition_idea_outlook_id = 4 } set_temp_variable = { coalition_idea_target_token = global.coalition_nationalist_idea^coalition_idea_level } update_coalition_outlook_idea = yes } # Parameters: # - coalition_idea_share: Coalition vote share as a fraction. # Output: coalition_idea_level, with 0 meaning no idea. set_coalition_idea_level = { set_temp_variable = { coalition_idea_level = { value = { value = coalition_idea_share greater_than = 0.01 } add = { value = coalition_idea_share greater_than = 0.07 } add = { value = coalition_idea_share greater_than = 0.11 } add = { value = coalition_idea_share greater_than = 0.15 } add = { value = coalition_idea_share greater_than = 0.20 } add = { value = coalition_idea_share greater_than = 0.25 } add = { value = coalition_idea_share greater_than = 0.30 } add = { value = coalition_idea_share greater_than = 0.35 } add = { value = coalition_idea_share greater_than = 0.40 } } } } # Parameters: # - coalition_idea_outlook_id: Numeric outlook ID (0..4). # - coalition_idea_target_token: Desired idea token, or 0 to remove it. update_coalition_outlook_idea = { if = { limit = { NOT = { check_variable = { coalition_applied_tokens^coalition_idea_outlook_id = 0 } } NOT = { check_variable = { coalition_applied_tokens^coalition_idea_outlook_id = coalition_idea_target_token } } } remove_ideas = var:coalition_applied_tokens^coalition_idea_outlook_id } if = { limit = { NOT = { check_variable = { coalition_idea_target_token = 0 } } NOT = { has_idea = var:coalition_idea_target_token } } add_ideas = var:coalition_idea_target_token } set_variable = { coalition_applied_tokens^coalition_idea_outlook_id = coalition_idea_target_token } } clear_coalition_count_ideas = { for_each_loop = { array = coalition_applied_tokens value = coalition_clear_token if = { limit = { NOT = { check_variable = { coalition_clear_token = 0 } } } remove_ideas = var:coalition_clear_token } } clear_array = coalition_applied_tokens } setup_ruling_party_idea_tokens = { clear_array = global.ruling_party_idea add_to_array = { global.ruling_party_idea = token:ruling_party_western } add_to_array = { global.ruling_party_idea = token:ruling_party_emerging } add_to_array = { global.ruling_party_idea = token:ruling_party_salafist } add_to_array = { global.ruling_party_idea = token:ruling_party_non_alligned } add_to_array = { global.ruling_party_idea = token:ruling_party_nationalist } clear_array = global.major_ruling_party_idea add_to_array = { global.major_ruling_party_idea = token:major_ruling_party_western } add_to_array = { global.major_ruling_party_idea = token:major_ruling_party_emerging } add_to_array = { global.major_ruling_party_idea = token:major_ruling_party_salafist } add_to_array = { global.major_ruling_party_idea = token:major_ruling_party_non_alligned } add_to_array = { global.major_ruling_party_idea = token:major_ruling_party_nationalist } } clear_own_ideology_drift = { if = { limit = { has_variable = ruling_party_drift_applied_token } remove_ideas = var:ruling_party_drift_applied_token clear_variable = ruling_party_drift_applied_token } } add_own_ideology_drift = { set_current_outlook_id = yes if = { limit = { check_variable = { current_outlook_id > -1 } } if = { limit = { is_major = yes } set_temp_variable = { ruling_party_drift_target_token = global.major_ruling_party_idea^current_outlook_id } } else = { set_temp_variable = { ruling_party_drift_target_token = global.ruling_party_idea^current_outlook_id } } if = { limit = { has_variable = ruling_party_drift_applied_token NOT = { check_variable = { ruling_party_drift_applied_token = ruling_party_drift_target_token } } } clear_own_ideology_drift = yes } if = { limit = { NOT = { has_idea = var:ruling_party_drift_target_token } } add_ideas = var:ruling_party_drift_target_token } set_variable = { ruling_party_drift_applied_token = ruling_party_drift_target_token } } else = { clear_own_ideology_drift = yes } if = { limit = { has_government = fascism is_major = no NOT = { original_tag = NIG } NOT = { has_idea = sunni } } add_ideas = sunni } } economic_cycle_drift_popularity = { hidden_effect = { set_temp_variable = { economic_cycle_drift_cycle_id = -1 } set_temp_variable = { economic_cycle_drift_outlook_id = -1 } if = { limit = { has_idea = economic_boom } set_temp_variable = { economic_cycle_drift_cycle_id = 4 } } else_if = { limit = { has_idea = fast_growth } set_temp_variable = { economic_cycle_drift_cycle_id = 3 } } else_if = { limit = { has_idea = stagnation } set_temp_variable = { economic_cycle_drift_cycle_id = 2 } } else_if = { limit = { has_idea = recession } set_temp_variable = { economic_cycle_drift_cycle_id = 1 } } else_if = { limit = { has_idea = depression } set_temp_variable = { economic_cycle_drift_cycle_id = 0 } } if = { limit = { has_government = democratic } set_temp_variable = { economic_cycle_drift_outlook_id = 0 } } else_if = { limit = { has_government = nationalist } set_temp_variable = { economic_cycle_drift_outlook_id = 1 } } else_if = { limit = { has_government = communism } set_temp_variable = { economic_cycle_drift_outlook_id = 2 } } else_if = { limit = { has_government = neutrality } set_temp_variable = { economic_cycle_drift_outlook_id = 3 } } else_if = { limit = { has_government = fascism } set_temp_variable = { economic_cycle_drift_outlook_id = 4 } } if = { limit = { check_variable = { economic_cycle_drift_cycle_id > -1 } check_variable = { economic_cycle_drift_outlook_id > -1 } } set_temp_variable = { economic_cycle_drift_index = economic_cycle_drift_cycle_id } multiply_temp_variable = { economic_cycle_drift_index = 5 } add_to_temp_variable = { economic_cycle_drift_index = economic_cycle_drift_outlook_id } set_temp_variable = { economic_cycle_drift_target_token = global.economic_cycle_drift_tokens^economic_cycle_drift_index } } if = { limit = { has_variable = economic_cycle_drift_applied_token } if = { limit = { OR = { check_variable = { economic_cycle_drift_cycle_id = -1 } check_variable = { economic_cycle_drift_outlook_id = -1 } } } remove_ideas = var:economic_cycle_drift_applied_token clear_variable = economic_cycle_drift_applied_token } else_if = { limit = { NOT = { check_variable = { economic_cycle_drift_applied_token = economic_cycle_drift_target_token } } } remove_ideas = var:economic_cycle_drift_applied_token clear_variable = economic_cycle_drift_applied_token } } if = { limit = { check_variable = { economic_cycle_drift_cycle_id > -1 } check_variable = { economic_cycle_drift_outlook_id > -1 } NOT = { has_variable = economic_cycle_drift_applied_token } } add_ideas = var:economic_cycle_drift_target_token set_variable = { economic_cycle_drift_applied_token = economic_cycle_drift_target_token } } } }