scripted_gui = { open_energy_window = { window_name = "open_energy_gui" context_type = player_context parent_window_token = construction_tab dirty = global.energy_ui effects = { open_energy_window_click = { if = { limit = { NOT = { has_country_flag = open_energy_screen } } set_country_flag = open_energy_screen } else = { clr_country_flag = open_energy_screen } update_global_energy_ui = yes } } } energy_scripted_gui = { window_name = "energy_scripted_gui" context_type = player_context parent_window_token = construction_tab dirty = global.energy_ui visible = { ROOT = { OR = { is_ai = yes has_country_flag = open_energy_screen } } } properties = { heavy_power_restrictions_button = { image = "[heavy_power_restrictions_button]" } some_power_restrictions_button = { image = "[some_power_restrictions_button]" } no_power_rules_button = { image = "[no_power_rules_button]" } some_additional_consumption_button = { image = "[some_additional_consumption_button]" } heavy_additional_consumption_button = { image = "[heavy_additional_consumption_button_image]" } automation_energy_consumption_policy_checkbox = { image = "[automation_energy_consumption_policy_checkbox_icon]" } toggle_nuclear_power_plant_generation = { image = "[nuclear_power_plant_toggle]" } toggle_fossil_fuel_power_plant_generation = { image = "[fossil_fuel_power_planet_toggle]" } } triggers = { build_battery_park_button_click_enabled = { NOT = { has_active_mission = bankruptcy_incoming_collapse } NOT = { has_active_mission = energy_building_battery_parks } has_tech = utility_scale_battery_storage } build_battery_park_button_shift_click_enabled = { NOT = { has_active_mission = bankruptcy_incoming_collapse } NOT = { has_active_mission = energy_building_battery_parks } has_tech = utility_scale_battery_storage } buy_fuel_for_money_button_click_enabled = { NOT = { has_active_mission = bankruptcy_incoming_collapse } NOT = { has_active_mission = energy_automatic_fuel_purchase } if = { limit = { has_country_flag = recently_bought_fuel } custom_trigger_tooltip = { tooltip = recently_bought_fuel_tt NOT = { has_country_flag = recently_bought_fuel } } } } enable_nuclear_reactor_fuel_production_click_enabled = { has_tech = reactor1 has_enrichment_facilities = yes } } effects = { # Refresh Energy Screen refresh_energy_screen_bg_click = { ingame_update_setup = yes update_global_energy_ui = yes } close_energy_screen_button_click = { clr_country_flag = open_energy_screen update_global_energy_ui = yes } automation_energy_consumption_policy_checkbox_click = { if = { limit = { has_country_flag = automation_energy_consumption_policy } clr_country_flag = automation_energy_consumption_policy } else = { set_country_flag = automation_energy_consumption_policy if = { limit = { has_country_flag = energy_state_bases_initialized } calculate_energy_use = yes automation_energy_consumption_policy_weekly = yes } } update_global_energy_ui = yes } # Restrictions/Encouragement heavy_power_restrictions_button_click = { if = { limit = { is_debug = yes } log = "[GetDateText]: [ROOT.GetName]: DEBUG: Energy GUI heavy_power_restrictions_button_click" } clr_country_flag = automation_energy_consumption_policy if = { limit = { NOT = { has_idea = heavy_power_restrictions_spirit } } if = { limit = { has_idea = some_power_restrictions_spirit } swap_ideas = { add_idea = heavy_power_restrictions_spirit remove_idea = some_power_restrictions_spirit } } else_if = { limit = { has_idea = some_additional_consumption_spirit } swap_ideas = { add_idea = heavy_power_restrictions_spirit remove_idea = some_additional_consumption_spirit } } else_if = { limit = { has_idea = heavy_additional_consumption_spirit } swap_ideas = { add_idea = heavy_power_restrictions_spirit remove_idea = heavy_additional_consumption_spirit } } else = { add_ideas = heavy_power_restrictions_spirit } } if = { limit = { OR = { has_idea = some_power_restrictions_spirit has_idea = some_additional_consumption_spirit has_idea = heavy_additional_consumption_spirit } } remove_ideas = { some_power_restrictions_spirit some_additional_consumption_spirit heavy_additional_consumption_spirit } } update_energy_policy_change = yes } some_power_restrictions_button_click = { if = { limit = { is_debug = yes } log = "[GetDateText]: [ROOT.GetName]: DEBUG: Energy GUI some_power_restrictions_button_click" } clr_country_flag = automation_energy_consumption_policy if = { limit = { NOT = { has_idea = some_power_restrictions_spirit } } if = { limit = { has_idea = heavy_power_restrictions_spirit } swap_ideas = { add_idea = some_power_restrictions_spirit remove_idea = heavy_power_restrictions_spirit } } else_if = { limit = { has_idea = some_additional_consumption_spirit } swap_ideas = { add_idea = some_power_restrictions_spirit remove_idea = some_additional_consumption_spirit } } else_if = { limit = { has_idea = heavy_additional_consumption_spirit } swap_ideas = { add_idea = some_power_restrictions_spirit remove_idea = heavy_additional_consumption_spirit } } else = { add_ideas = some_power_restrictions_spirit } } if = { limit = { OR = { has_idea = heavy_power_restrictions_spirit has_idea = some_additional_consumption_spirit has_idea = heavy_additional_consumption_spirit } } remove_ideas = { heavy_power_restrictions_spirit some_additional_consumption_spirit heavy_additional_consumption_spirit } } update_energy_policy_change = yes } no_power_rules_button_click = { if = { limit = { is_debug = yes } log = "[GetDateText]: [ROOT.GetName]: DEBUG: Energy GUI no_power_rules_button_click" } clr_country_flag = automation_energy_consumption_policy if = { limit = { has_idea = heavy_power_restrictions_spirit } remove_ideas = heavy_power_restrictions_spirit } else_if = { limit = { has_idea = some_power_restrictions_spirit } remove_ideas = some_power_restrictions_spirit } else_if = { limit = { has_idea = some_additional_consumption_spirit } remove_ideas = some_additional_consumption_spirit } else_if = { limit = { has_idea = heavy_additional_consumption_spirit } remove_ideas = heavy_additional_consumption_spirit } if = { limit = { OR = { has_idea = heavy_power_restrictions_spirit has_idea = some_power_restrictions_spirit has_idea = some_additional_consumption_spirit has_idea = heavy_additional_consumption_spirit } } remove_ideas = { heavy_power_restrictions_spirit some_power_restrictions_spirit some_additional_consumption_spirit heavy_additional_consumption_spirit } } update_energy_policy_change = yes } some_additional_consumption_button_click = { if = { limit = { is_debug = yes } log = "[GetDateText]: [ROOT.GetName]: DEBUG: Energy GUI some_additional_consumption_button_click" } clr_country_flag = automation_energy_consumption_policy if = { limit = { NOT = { has_idea = some_additional_consumption_spirit } } if = { limit = { has_idea = heavy_power_restrictions_spirit } swap_ideas = { add_idea = some_additional_consumption_spirit remove_idea = heavy_power_restrictions_spirit } } else_if = { limit = { has_idea = some_power_restrictions_spirit } swap_ideas = { add_idea = some_additional_consumption_spirit remove_idea = some_power_restrictions_spirit } } else_if = { limit = { has_idea = heavy_additional_consumption_spirit } swap_ideas = { add_idea = some_additional_consumption_spirit remove_idea = heavy_additional_consumption_spirit } } else = { add_ideas = some_additional_consumption_spirit } } if = { limit = { OR = { has_idea = heavy_power_restrictions_spirit has_idea = some_power_restrictions_spirit has_idea = heavy_additional_consumption_spirit } } remove_ideas = { heavy_power_restrictions_spirit some_power_restrictions_spirit heavy_additional_consumption_spirit } } update_energy_policy_change = yes } heavy_additional_consumption_button_click = { if = { limit = { is_debug = yes } log = "[GetDateText]: [ROOT.GetName]: DEBUG: Energy GUI heavy_additional_consumption_button_click" } clr_country_flag = automation_energy_consumption_policy if = { limit = { NOT = { has_idea = heavy_additional_consumption_spirit } } if = { limit = { has_idea = heavy_power_restrictions_spirit } swap_ideas = { add_idea = heavy_additional_consumption_spirit remove_idea = heavy_power_restrictions_spirit } } else_if = { limit = { has_idea = some_power_restrictions_spirit } swap_ideas = { add_idea = heavy_additional_consumption_spirit remove_idea = some_power_restrictions_spirit } } else_if = { limit = { has_idea = some_additional_consumption_spirit } swap_ideas = { add_idea = heavy_additional_consumption_spirit remove_idea = some_additional_consumption_spirit } } else = { add_ideas = heavy_additional_consumption_spirit } } if = { limit = { OR = { has_idea = heavy_power_restrictions_spirit has_idea = some_power_restrictions_spirit has_idea = some_additional_consumption_spirit } } remove_ideas = { heavy_power_restrictions_spirit some_power_restrictions_spirit some_additional_consumption_spirit } } update_energy_policy_change = yes } build_battery_park_button_click = { if = { limit = { is_debug = yes } log = "[GetDateText]: [ROOT.GetName]: DEBUG: Energy GUI build_battery_park_button_click" } clr_country_flag = single_battery_park set_country_flag = single_battery_park set_variable = { battery_park_time = 75 } activate_mission = energy_building_battery_parks update_global_energy_ui = yes } build_battery_park_button_shift_click = { if = { limit = { is_debug = yes } log = "[GetDateText]: [ROOT.GetName]: DEBUG: Energy GUI build_battery_park_button_shift_click" } clr_country_flag = single_battery_park set_variable = { battery_park_time = 250 } activate_mission = energy_building_battery_parks update_global_energy_ui = yes } buy_fuel_for_money_button_click = { if = { limit = { is_debug = yes } log = "[GetDateText]: [ROOT.GetName]: DEBUG: Energy GUI buy_fuel_for_money_button_click" } buy_fuel_from_the_market_effect = yes set_country_flag = { flag = recently_bought_fuel value = 1 days = 28 } update_global_energy_ui = yes } buy_fuel_for_money_button_shift_click = { if = { limit = { is_debug = yes } log = "[GetDateText]: [ROOT.GetName]: DEBUG: Energy GUI buy_fuel_for_money_button_shift_click" } buy_fuel_from_the_market_effect = yes set_country_flag = { flag = recently_bought_fuel value = 1 days = 28 } activate_mission = energy_automatic_fuel_purchase update_global_energy_ui = yes } enable_nuclear_reactor_fuel_production_click = { if = { limit = { is_debug = yes } log = "[GetDateText]: [ROOT.GetName]: DEBUG: Energy GUI enable_nuclear_reactor_fuel_production_click" } if = { limit = { has_country_flag = enabled_nuclear_reactor_fuel_production } clr_country_flag = enabled_nuclear_reactor_fuel_production } else = { set_country_flag = enabled_nuclear_reactor_fuel_production } ingame_update_setup = yes update_global_energy_ui = yes } # Power Generation Toggles toggle_fossil_fuel_power_plant_generation_click = { if = { limit = { has_country_flag = disable_fossil_fuel_power_plant_flag } clr_country_flag = disable_fossil_fuel_power_plant_flag custom_effect_tooltip = toggle_fossil_fuel_power_plant_generation_one_tt } else = { set_country_flag = disable_fossil_fuel_power_plant_flag custom_effect_tooltip = toggle_fossil_fuel_power_plant_generation_two_tt } ingame_update_setup = yes update_global_energy_ui = yes } toggle_nuclear_power_plant_generation_click = { if = { limit = { has_country_flag = disable_nuclear_power_plant_flag } clr_country_flag = disable_nuclear_power_plant_flag custom_effect_tooltip = toggle_nuclear_power_plant_generation_one_tt } else = { set_country_flag = disable_nuclear_power_plant_flag custom_effect_tooltip = toggle_nuclear_power_plant_generation_two_tt } ingame_update_setup = yes update_global_energy_ui = yes } } # AI Section # Note: 20 days - 480 Hrs # Functional Notes: # ai_enabled - triggers that engage the AI for this GUI # ai_test_interval - time frame between AI checks # ai_check - trigger the AI looks for to determine if it needs to look at a button # ai_weights - modifiers to determine AI habits # ai_max_weight_taken_per_test - Determines the number of elements to check for the GUI # If you wish to see the values outputted from this. enable human_ai and view ai.log in the logs ai_enabled = { # INFO: This is functionally the same as = no but this is just here NOT = { MD_special_countries = yes } } ai_test_interval = 480 ai_max_weight_taken_per_test = 1 ai_check = { # The AI ignores _click_enabled, so mirror those guards here. OR = { AND = { has_fuel < 400000 NOT = { has_country_flag = recently_bought_fuel } NOT = { has_active_mission = energy_automatic_fuel_purchase } } check_variable = { energy_balance_value_display > 1.05 } check_variable = { energy_balance_value_display < 0.95 } } } ai_weights = { buy_fuel_for_money_button_click = { ai_will_do = { factor = 100 modifier = { factor = 0 has_fuel > 1000000 } modifier = { factor = 0 has_country_flag = recently_bought_fuel } modifier = { factor = 0 has_active_mission = energy_automatic_fuel_purchase } } } # Power Consumption heavy_power_restrictions_button_click = { ai_will_do = { base = 1 modifier = { add = 10 check_variable = { energy_balance_value_display < 0.75 } has_idea = some_additional_consumption_spirit NOT = { has_idea = heavy_additional_consumption_spirit } } # DO NOT GO TO HEAVY POWER RESTRICTION UNLESS NEED BE modifier = { factor = 0 check_variable = { energy_balance_value_display > 0.75 } } modifier = { factor = 0 has_idea = heavy_power_restrictions_spirit } } } some_power_restrictions_button_click = { ai_will_do = { base = 1 # Power has recovered, add up the restrictions modifier = { add = 10 check_variable = { energy_balance_value_display > 1.05 } has_idea = heavy_power_restrictions_spirit NOT = { OR = { has_idea = some_additional_consumption_spirit has_idea = heavy_additional_consumption_spirit } } } modifier = { add = 15 check_variable = { energy_balance_value_display < 0.85 } NOT = { OR = { has_idea = some_additional_consumption_spirit has_idea = heavy_additional_consumption_spirit } } } modifier = { factor = 0 check_variable = { energy_balance_value_display > 0.95 } } modifier = { factor = 0 has_idea = some_power_restrictions_spirit } modifier = { factor = 0 has_idea = heavy_power_restrictions_spirit } } } no_power_rules_button_click = { ai_will_do = { base = 100 modifier = { add = 100 check_variable = { energy_balance_value_display > 1.15 } OR = { has_idea = heavy_power_restrictions_spirit has_idea = some_power_restrictions_spirit } } modifier = { add = 100 check_variable = { energy_balance_value_display > 1.10 } has_idea = some_power_restrictions_spirit } modifier = { add = 100 check_variable = { energy_balance_value_display < 0.90 } has_idea = some_additional_consumption_spirit } modifier = { factor = 0 NOT = { OR = { has_idea = heavy_power_restrictions_spirit has_idea = some_power_restrictions_spirit has_idea = some_additional_consumption_spirit has_idea = heavy_additional_consumption_spirit } } } modifier = { factor = 0 OR = { has_idea = some_additional_consumption_spirit has_idea = heavy_additional_consumption_spirit } } modifier = { factor = 0 original_tag = USA } } } some_additional_consumption_button_click = { ai_will_do = { base = 1 modifier = { add = 5 check_variable = { energy_balance_value_display > 1.15 } NOT = { OR = { has_idea = heavy_power_restrictions_spirit has_idea = some_power_restrictions_spirit has_idea = heavy_additional_consumption_spirit } } } modifier = { add = 5 check_variable = { energy_balance_value_display < 0.90 } has_idea = heavy_additional_consumption_spirit NOT = { OR = { has_idea = heavy_power_restrictions_spirit has_idea = some_power_restrictions_spirit } } } modifier = { factor = 0 check_variable = { energy_balance_value_display > 1.15 } has_idea = heavy_additional_consumption_spirit NOT = { OR = { has_idea = heavy_power_restrictions_spirit has_idea = some_power_restrictions_spirit } } } modifier = { factor = 0 check_variable = { energy_balance_value_display > 0.95 } check_variable = { energy_balance_value_display < 1.15 } } modifier = { factor = 0 check_variable = { energy_balance_value_display < 0.95 } NOT = { OR = { has_idea = heavy_additional_consumption_spirit has_idea = heavy_power_restrictions_spirit has_idea = some_power_restrictions_spirit } } } modifier = { add = 100 original_tag = USA } modifier = { factor = 0 has_idea = some_additional_consumption_spirit } } } heavy_additional_consumption_button_click = { ai_will_do = { base = 1 modifier = { add = 5 check_variable = { energy_balance_value_display > 1.15 } has_idea = some_additional_consumption_spirit NOT = { OR = { has_idea = heavy_power_restrictions_spirit has_idea = some_power_restrictions_spirit } } } modifier = { factor = 0 check_variable = { energy_balance_value_display > 0.95 } check_variable = { energy_balance_value_display < 1.15 } } modifier = { factor = 0 check_variable = { energy_balance_value_display < 0.95 } } modifier = { add = 100 original_tag = USA } modifier = { factor = 0 has_idea = heavy_additional_consumption_spirit } } } } } economic_state_view = { context_type = selected_state_context window_name = "state_economic_ui_view" dirty = global.energy_ui parent_window_token = selected_state_view } }