diff --git a/Config/arrays.cwt b/Config/arrays.cwt index 8e5cc414..eb5d4393 100644 --- a/Config/arrays.cwt +++ b/Config/arrays.cwt @@ -4,6 +4,15 @@ values = { ### Array of major powers. majors + ### Array of players. + players + + ### Array with country list scores + country_list_scores + + ### Sorted country array + sorted_country_list + # Country dynamic variables ### Array of allies (faction members). allies diff --git a/Config/common/autonomous_states.cwt b/Config/common/autonomous_states.cwt index 44365aa0..0402d6f0 100644 --- a/Config/common/autonomous_states.cwt +++ b/Config/common/autonomous_states.cwt @@ -8,10 +8,12 @@ types = { ## replace_scope = { this = country root = country } autonomy = { id = localisation - + + ### If true, the game will attempt to make the 'puppet' option in peace deals as well as the 'puppet' effect use this autonomy state among other default autonomy states. By default, set to no ## cardinality = 0..1 default = bool + ### Decides whether the subject is a puppet or not, making is_puppet and is_puppet_of triggers true in that case. By default, set to no. ## cardinality = 0..1 is_puppet = bool @@ -23,8 +25,10 @@ autonomy = { ## cardinality = 0..1 peace_conference_initial_freedom = float[0..1] + ### Decides how large of a portion of the subject's manpower the overlord can use in colonial divisions. manpower_influence = float[0..1] + ### Sets the game rules for the subject to either yes or no. rule = { ## cardinality = 0..1 desc = localisation @@ -32,35 +36,42 @@ autonomy = { enum[game_rules] = bool } + ### Sets the modifier for the subject. All country modifiers can apply. modifier = { ## cardinality = ~1..inf alias_name[modifier] = alias_match_left[modifier] } + ### Decides whether or not the AI subject focuses on gaining a higher autonomy. If set to 0, AI will never gain an autonomy level through the autonomy system. ai_subject_wants_higher = { factor = float } + ### Decides whether or not the AI overlord focuses on gaining a lower autonomy for the subject. If set to 0, AI will never decrease the autonomy level through the autonomy system. ai_overlord_wants_lower = { factor = float } + ### Decides the triggers when the AI overlord garrisons the subject's territory as if it was their own land. ## cardinality = 0..1 ai_overlord_wants_garrison = { alias_name[trigger] = alias_match_left[trigger] } + ### The necessary triggers the subject must meet for the autonomy state to apply. The OVERLORD scope can be used to scope into the overlord. ## cardinality = 0..1 allowed = { alias_name[trigger] = alias_match_left[trigger] } + ### Decides which autonomy levels a country with this autonomous state can change to, alongside autonomy_free. If not specified, all levels will be allowed. ## cardinality = 0..1 allowed_levels_filter = { ## cardinality = 1..inf } + ### Decides the chance for a potential overlord to puppet the country in the peace deal, where ROOT is the subject and FROM is the overlord. ## replace_scope = { ROOT = country FROM = country} ## cardinality = 0..1 use_for_peace_conference_weight = { @@ -69,11 +80,13 @@ autonomy = { alias_name[modifier_rule] = alias_match_left[modifier_rule] } + ### Sets the necessary triggers the subject must meet to be able to gain a level through the autonomy system. ## cardinality = 0..1 can_take_level = { alias_name[trigger] = alias_match_left[trigger] } + ### Sets the necessary triggers the subject must meet for the overlord to be able to decrease the autonomy level through the autonomy system. ## cardinality = 0..1 can_lose_level = { alias_name[trigger] = alias_match_left[trigger] diff --git a/Config/common/characters.cwt b/Config/common/characters.cwt index 0ff77f12..6af35410 100644 --- a/Config/common/characters.cwt +++ b/Config/common/characters.cwt @@ -95,7 +95,7 @@ character = { ### Should have at least one portrait defined portraits = { ### Portrait(s), army and/or civilian - ## cardinality = ~1..2 + ## cardinality = ~1..3 enum[character_portrait_types] = { ### Portrait(s), large (leader) and/or small (advisor) ## cardinality = ~1..2 @@ -331,7 +331,7 @@ character = { ### Should have at least one portrait defined portraits = { ### Portrait(s), army and/or civilian - ## cardinality = ~1..2 + ## cardinality = ~1..3 enum[character_portrait_types] = { ### Portrait(s), large and/or small ## cardinality = ~1..2 diff --git a/Config/common/equipment.cwt b/Config/common/equipment.cwt index 234cbf9b..bb61d213 100644 --- a/Config/common/equipment.cwt +++ b/Config/common/equipment.cwt @@ -386,6 +386,15 @@ upgrade = { cost_by_level_for_licensed_equipment = int } + ## cardinality = 0..1 + level_requirements = { + ## cardinality = ~1..inf + int = { + ## cardinality = ~1..inf + alias_name[trigger] = alias_match_left[trigger] + } + } + ## cardinality = 0..1 ### Resource values defined here will increase the resource cost construction resource_cost_thresholds = { diff --git a/Config/common/ideas.cwt b/Config/common/ideas.cwt index 952d692e..fa5d975c 100644 --- a/Config/common/ideas.cwt +++ b/Config/common/ideas.cwt @@ -1,4 +1,8 @@ types = { + type[idea_categories] = { + path = "game/common/ideas" + skip_root_key = ideas + } type[idea] = { path = "game/common/ideas" } diff --git a/Config/common/military_industrial_organizations.cwt b/Config/common/military_industrial_organizations.cwt index e3499193..c1339ddd 100644 --- a/Config/common/military_industrial_organizations.cwt +++ b/Config/common/military_industrial_organizations.cwt @@ -239,8 +239,8 @@ military_industrial_organization = { ### Defines where the trait will be positioned in the tree grid. x=0 y=0 is the top left position. ### Do not reuse the same position twice. position = { - x = int[-9..9] - y = int[-inf..inf] + x = float[-9..9] + y = float } ### By default position is the absolute coordinate in the tree grid. ### If relative_position_id is provided, it becomes a delta applied to the input trait position @@ -388,8 +388,8 @@ military_industrial_organization = { ### Defines where the trait will be positioned in the tree grid. x=0 y=0 is the top left position. ### Do not reuse the same position twice. position = { - x = int[-9..9] - y = int[-inf..inf] + x = float[-9..9] + y = float } ### By default position is the absolute coordinate in the tree grid. ### If relative_position_id is provided, it becomes a delta applied to the input trait position @@ -504,8 +504,8 @@ military_industrial_organization = { ### Do not reuse the same position twice. ## cardinality = 0..1 position = { - x = int[-9..9] - y = int[-inf..inf] + x = float[-9..9] + y = float } ### By default position is the absolute coordinate in the tree grid. ### If relative_position_id is provided, it becomes a delta applied to the input trait position diff --git a/Config/common/national_focus.cwt b/Config/common/national_focus.cwt index 8537edaa..27b11ca8 100644 --- a/Config/common/national_focus.cwt +++ b/Config/common/national_focus.cwt @@ -4,7 +4,6 @@ types = { type[focus_style] = { path = "game/common/national_focus" name_field = "name" - unique = yes } ## unique = yes @@ -12,7 +11,6 @@ types = { type[focus_tree] = { path = "game/common/national_focus" name_field = "id" - unique = yes } ## unique = yes @@ -20,7 +18,6 @@ types = { type[continous_focus_tree] = { path = "game/common/continuous_focus" name_field = "id" - unique = yes } ## unique = yes @@ -29,7 +26,6 @@ types = { path = "game/common/national_focus" skip_root_key = focus_tree name_field = "id" - unique = yes } ## unique = yes @@ -38,7 +34,6 @@ types = { path = "game/common/continuous_focus" skip_root_key = continuous_focus_palette name_field = "id" - unique = yes } ## unique = yes @@ -46,7 +41,6 @@ types = { type[shared_focus] = { path = "game/common/national_focus" name_field = "id" - unique = yes ## only_if_not = { joint_focus } ## type_key_filter = shared_focus @@ -59,6 +53,11 @@ types = { } } + + ## type_key_filter = search_filter_prios + type[search_filter_prios] = { + path = "game/common/national_focus" + } } focus_tree = { @@ -138,6 +137,7 @@ focus_tree = { value = } + ### A cost of 1 represents a week by default. Decimals within cost are supported, and it will get rounded down to a whole day in the game. ## severity = warning cost = float @@ -339,6 +339,7 @@ shared_focus = { ## cardinality = 0..1 text_icon = + ### A cost of 1 represents a week by default. Decimals within cost are supported, and it will get rounded down to a whole day in the game. cost = float x = int y = int @@ -653,4 +654,9 @@ style = { available = ## cardinality = 1..1 current = +} + +search_filter_prios = { + ## cardinality = 0..inf + value[focus_filter] = int } \ No newline at end of file diff --git a/Config/common/peace_conference.cwt b/Config/common/peace_conference.cwt new file mode 100644 index 00000000..90cf3145 --- /dev/null +++ b/Config/common/peace_conference.cwt @@ -0,0 +1,154 @@ +types = { + type[peace_action_categories] = { + path = "game/common/peace_conference/categories" + skip_root_key = peace_action_categories + subtype[default] = { + default = yes + } + } + type[peace_ai_desires] = { + path = "game/common/peace_conference/ai_peace" + skip_root_key = peace_ai_desires + } + type[peace_action_modifiers] = { + path = "game/common/peace_conference/cost_modifiers" + skip_root_key = peace_action_modifiers + } +} + +peace_action_categories = { + subtype[default] = { + default = yes + } + name = localisation +} + +peace_ai_desires = { + peace_action_type = enum[peace_action] + peace_action_type = { + ## cardinality 1..4 + enum[peace_action] + } + ### ROOT - Negotiator country (who is doing the negotiation) + ### FROM - Taker country (who will be the owner after the conference) + ### FROM.FROM - Giver country (who was the owner before the conference) + ### FROM.FROM.FROM - State (iff peace action refers to a state) + ### You might have to use e.g. ROOT.FROM to access the variable from inside another scope + # ROOT.FROM.FROM.FROM = state + # ROOT.FROM = country + # ROOT.FROM.FROM = country + # FROM = country FROMFROM = country FROMFROMFROM = country + ## replace_scope = { ROOT = country THIS = country FROM = any } + enable = { + ## cardinality 0..inf + alias_name[trigger] = alias_match_left[trigger] + ## cardinality 0..inf + alias_name[pc_trigger] = alias_match_left[pc_trigger] + } + ai_desire = int +} + +peace_action_modifiers = { + category = + peace_action_type = enum[peace_action] + peace_action_type = { + ## cardinality 1..4 + enum[peace_action] + } + ### ROOT - Negotiator country (who is doing the negotiation) + ### FROM - Taker country (who will be the owner after the conference) + ### FROM.FROM - Giver country (who was the owner before the conference) + ### FROM.FROM.FROM - State (iff peace action refers to a state) + ### You might have to use e.g. ROOT.FROM to access the variable from inside another scope + # ROOT.FROM.FROM.FROM = state + # ROOT.FROM = country + # ROOT.FROM.FROM = country + # FROM = country FROMFROM = country FROMFROMFROM = country + ## replace_scope = { ROOT = country THIS = country FROM = any } + enable = { + ## cardinality 0..inf + alias_name[trigger] = alias_match_left[trigger] + ## cardinality 0..inf + alias_name[pc_trigger] = alias_match_left[pc_trigger] + } + cost_multiplier = float[0..inf] +} + +enums = { + enum[peace_action] = { + take_states + puppet + force_government + liberate + } +} + +#during peace conference triggers country + +### Checks if country is a winner in peace conference +## scope = country +alias[pc_trigger:pc_is_winner] = bool + +### Checks if the current scope is on the winning side within the peace conference. +## scope = country +alias[pc_trigger:pc_is_on_winning_side] = bool + +### Checks if country is a loser in peace conference +## scope = country +alias[pc_trigger:pc_is_loser] = bool + +### Checks if the current scope is an untouched loser within the peace conference. +## scope = country +alias[pc_trigger:c_is_untouched_loser] = bool + +### Checks if the current scope is on the same side of the peace conference as the specified country. +## scope = country +alias[pc_trigger:pc_is_on_same_side_as] = enum[country_tags] +### Checks if the current scope is on the same side of the peace conference as the specified country. +## scope = country +alias[pc_trigger:pc_is_on_same_side_as] = scope[country] + +### Checks if the current scope has been liberated within the peace conference. +## scope = country +alias[pc_trigger:pc_is_liberated] = bool + +### Checks if the current scope has been liberated within the peace conference by the specified country. +## scope = country +alias[pc_trigger:pc_is_liberated_by] = enum[country_tags] +### Checks if the current scope has been liberated within the peace conference by the specified country. +## scope = country +alias[pc_trigger:pc_is_liberated_by] = scope[country] + +### Checks if the current scope has been puppeted within the peace conference. +## scope = country +alias[pc_trigger:pc_is_puppeted] = bool + +### Checks if the current scope has been puppeted within the peace conference by the specified country. +## scope = country +alias[pc_trigger:pc_is_puppeted_by] = enum[country_tags] +### Checks if the current scope has been puppeted within the peace conference by the specified country. +## scope = country +alias[pc_trigger:pc_is_puppeted_by] = scope[country] + +### Checks if the current scope has had an enforced government change within the peace conference. +## scope = country +alias[pc_trigger:pc_is_forced_government] = bool + +### Checks if the current scope has had an enforced government change within the peace conference demanded by the specified country. +## scope = country +alias[pc_trigger:pc_is_forced_government_by] = enum[country_tags] +### Checks if the current scope has had an enforced government change within the peace conference demanded by the specified country. +## scope = country +alias[pc_trigger:pc_is_forced_government_by] = scope[country] + +### Checks if the current scope has had an enforced government change to the specified ideology group. +## scope = country +alias[pc_trigger:pc_is_forced_government_to] = + +### Checks if the current scope has the specified amount in total score within the peace conference. Can only be used for the winning countries. 1.12 +## scope = country +alias[pc_trigger:pc_total_score] = int + +### Checks if the current scope has the specified amount in current score within the peace conference. +## scope = country +alias[pc_trigger:pc_current_score] = int \ No newline at end of file diff --git a/Config/common/scripted_effects_locs_and_triggers.cwt b/Config/common/scripted_effects_locs_and_triggers.cwt index fe71765d..ec944980 100644 --- a/Config/common/scripted_effects_locs_and_triggers.cwt +++ b/Config/common/scripted_effects_locs_and_triggers.cwt @@ -1,16 +1,16 @@ types = { + ## unique = yes type[scripted_trigger] = { path = "game/common/scripted_triggers" - unique = yes } + ## unique = yes type[scripted_effect] = { path = "game/common/scripted_effects" - unique = yes } + ## unique = yes type[scripted_loc] = { name_field = "name" - unique = yes path = "game/common/scripted_loc" } } diff --git a/Config/common/units.cwt b/Config/common/units.cwt index db8e4fd8..8af78d3b 100644 --- a/Config/common/units.cwt +++ b/Config/common/units.cwt @@ -58,7 +58,7 @@ unit = { need = { ## cardinality = ~1..inf = int - ## cardinality = 0..1 + ## cardinality = 0..inf value[nsb_armor_variants] = int } @@ -98,7 +98,7 @@ unit = { need = { ## cardinality = ~1..inf = int - ## cardinality = 0..1 + ## cardinality = 0..inf value[nsb_armor_variants] = int } @@ -138,7 +138,7 @@ unit = { need = { ## cardinality = ~1..inf = int - ## cardinality = 0..1 + ## cardinality = 0..inf value[nsb_armor_variants] = int } @@ -178,7 +178,7 @@ unit = { need = { ## cardinality = ~1..inf = int - ## cardinality = 0..1 + ## cardinality = 0..inf value[nsb_armor_variants] = int } @@ -218,7 +218,7 @@ unit = { need = { ## cardinality = ~1..inf = int - ## cardinality = 0..1 + ## cardinality = 0..inf value[nsb_armor_variants] = int } @@ -258,7 +258,7 @@ unit = { need = { ## cardinality = ~1..inf = int - ## cardinality = 0..1 + ## cardinality = 0..inf value[nsb_armor_variants] = int } diff --git a/Config/dlc/dlc_path.cwt b/Config/dlc/dlc_path.cwt deleted file mode 100644 index eb2bc258..00000000 --- a/Config/dlc/dlc_path.cwt +++ /dev/null @@ -1,313 +0,0 @@ -# file = "path" -## severity = hint -alias[dlc_path_file:file] = filepath -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc001_german_historical_portraits/] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc002_polish_content_pack/] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc003_rocket_launcher_unit_pack/] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc004_famous_battleships_unit_pack/] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc005_heavy_cruisers_unit_pack/] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc006_soviet_tanks_unit_pack/] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc007_german_tanks_unit_pack/] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc008_french_tanks_unit_pack/] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc009_british_tanks_unit_pack/] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc010_us_tanks_unit_pack/] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc011_german_march_order_music_pack/] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc012_allied_radio_music_pack/] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc013_sabaton/] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc014_wallpaper/] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc016_artbook/] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc017_original_soundtrack/] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc018_together_for_victory/] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc019_sabaton_vol2/] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc020_death_or_dishonor/] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc021_anniversary_pack/] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc022_waking_the_tiger/] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc023_man_the_guns/] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc024_man_the_guns_wallpaper/] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc025_axis_armor_pack/] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc026_radio_pack/] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc027_la_resistance_preorder_bonus/] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc028_la_resistance/] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc029_allied_armor_pack/] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc030_allied_speeches_pack/] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc031_battle_for_the_bosporus/] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc032_eastern_front_planes_pack/] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc033_songs_of_the_eastern_front/] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc034_no_step_back/] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc035_no_step_back_preorder_bonus/] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc036_by_blood_alone/] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc037_by_blood_alone_preorder_bonus/] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc038_arms_against_tyranny/] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc039_arms_against_tyranny_preorder_bonus/] - -# file = "/path" -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc001_german_historical_portraits] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc002_polish_content_pack] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc003_rocket_launcher_unit_pack] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc004_famous_battleships_unit_pack] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc005_heavy_cruisers_unit_pack] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc006_soviet_tanks_unit_pack] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc007_german_tanks_unit_pack] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc008_french_tanks_unit_pack] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc009_british_tanks_unit_pack] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc010_us_tanks_unit_pack] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc011_german_march_order_music_pack] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc012_allied_radio_music_pack] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc013_sabaton] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc014_wallpaper] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc016_artbook] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc017_original_soundtrack] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc018_together_for_victory] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc019_sabaton_vol2] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc020_death_or_dishonor] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc021_anniversary_pack] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc022_waking_the_tiger] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc023_man_the_guns] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc024_man_the_guns_wallpaper] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc025_axis_armor_pack] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc026_radio_pack] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc027_la_resistance_preorder_bonus] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc028_la_resistance] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc029_allied_armor_pack] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc030_allied_speeches_pack] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc031_battle_for_the_bosporus] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc032_eastern_front_planes_pack] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc033_songs_of_the_eastern_front] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc034_no_step_back] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc035_no_step_back_preorder_bonus] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc036_by_blood_alone] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc037_by_blood_alone_preorder_bonus] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc038_arms_against_tyranny] -## severity = hint -alias[dlc_path_file:file] = filepath[dlc/dlc039_arms_against_tyranny_preorder_bonus] - -# textureFile = "path" -alias[dlc_path_textureFile:textureFile] = filepath -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc001_german_historical_portraits/] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc002_polish_content_pack/] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc003_rocket_launcher_unit_pack/] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc004_famous_battleships_unit_pack/] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc005_heavy_cruisers_unit_pack/] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc006_soviet_tanks_unit_pack/] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc007_german_tanks_unit_pack/] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc008_french_tanks_unit_pack/] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc009_british_tanks_unit_pack/] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc010_us_tanks_unit_pack/] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc011_german_march_order_music_pack/] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc012_allied_radio_music_pack/] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc013_sabaton/] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc014_wallpaper/] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc016_artbook/] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc017_original_soundtrack/] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc018_together_for_victory/] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc019_sabaton_vol2/] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc020_death_or_dishonor/] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc021_anniversary_pack/] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc022_waking_the_tiger/] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc023_man_the_guns/] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc024_man_the_guns_wallpaper/] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc025_axis_armor_pack/] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc026_radio_pack/] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc027_la_resistance_preorder_bonus/] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc028_la_resistance/] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc029_allied_armor_pack/] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc030_allied_speeches_pack/] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc031_battle_for_the_bosporus/] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc032_eastern_front_planes_pack/] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc033_songs_of_the_eastern_front/] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc034_no_step_back/] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc035_no_step_back_preorder_bonus/] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc036_by_blood_alone/] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc037_by_blood_alone_preorder_bonus/] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc038_arms_against_tyranny/] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc039_arms_against_tyranny_preorder_bonus/] -# textureFile = "/path" -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc001_german_historical_portraits] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc002_polish_content_pack] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc003_rocket_launcher_unit_pack] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc004_famous_battleships_unit_pack] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc005_heavy_cruisers_unit_pack] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc006_soviet_tanks_unit_pack] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc007_german_tanks_unit_pack] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc008_french_tanks_unit_pack] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc009_british_tanks_unit_pack] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc010_us_tanks_unit_pack] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc011_german_march_order_music_pack] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc012_allied_radio_music_pack] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc013_sabaton] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc014_wallpaper] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc016_artbook] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc017_original_soundtrack] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc018_together_for_victory] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc019_sabaton_vol2] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc020_death_or_dishonor] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc021_anniversary_pack] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc022_waking_the_tiger] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc023_man_the_guns] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc024_man_the_guns_wallpaper] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc025_axis_armor_pack] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc026_radio_pack] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc027_la_resistance_preorder_bonus] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc028_la_resistance] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc029_allied_armor_pack] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc030_allied_speeches_pack] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc031_battle_for_the_bosporus] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc032_eastern_front_planes_pack] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc033_songs_of_the_eastern_front] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc034_no_step_back] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc035_no_step_back_preorder_bonus] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc036_by_blood_alone] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc037_by_blood_alone_preorder_bonus] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc038_arms_against_tyranny] -## severity = hint -alias[dlc_path_textureFile:textureFile] = filepath[dlc/dlc039_arms_against_tyranny_preorder_bonus] \ No newline at end of file diff --git a/Config/effects.cwt b/Config/effects.cwt index aabf7dc8..8f796677 100644 --- a/Config/effects.cwt +++ b/Config/effects.cwt @@ -724,6 +724,8 @@ alias[effect:add_ideas] = { enum[idea_name] ## cardinality = 0..inf value[advisor_token] + ## cardinality = 0..inf + value[variable] } ### Remove idea(s) from country. @@ -736,6 +738,8 @@ alias[effect:remove_ideas] = { enum[idea_name] ## cardinality = 0..inf value[advisor_token] + ## cardinality = 0..inf + value[variable] } ### Add political power to country. @@ -1563,6 +1567,7 @@ alias[effect:remove_unit_leader] = value[unit_leader_ids] ## scope = country alias[effect:add_timed_idea] = { idea = enum[idea_name] + idea = value[variable] ## cardinality = 0..1 days = int_variable_field ## cardinality = 0..1 @@ -2244,7 +2249,7 @@ alias[effect:random_unit_leader] = { ### Executes children effects on unit leaders that fulfills the "limit" trigger. ## scope = country -## push_scope = unit_leader +## push_scope = unit_leader alias[effect:every_unit_leader] = { ### Apply the effect to this number of randomly selected entities ## cardinality = 0..1 @@ -3356,6 +3361,7 @@ alias[effect:for_each_scope_loop] = { ### Runs the effect for a random element in array. ## scope = any +## push_scope = any alias[effect:random_scope_in_array] = { array = value[array] array = variable_field_32 diff --git a/Config/effects_bba.cwt b/Config/effects_bba.cwt index 8281f8bd..47cf86b5 100644 --- a/Config/effects_bba.cwt +++ b/Config/effects_bba.cwt @@ -82,7 +82,7 @@ alias[effect:add_random_valid_trait_from_unit] = { character = value[global_event_target] character = scope[character] } -## scope = { country character } +## scope = { country character unit_leader } alias[effect:set_can_be_fired_in_advisor_role] = { ## cardinality = 0..1 character = diff --git a/Config/effects_new.cwt b/Config/effects_new.cwt index b57bd4be..40f137ac 100644 --- a/Config/effects_new.cwt +++ b/Config/effects_new.cwt @@ -514,10 +514,11 @@ alias[effect:random_country_with_original_tag] = { alias_name[effect] = alias_match_left[effect] } -random_country_division - Executes children effects on a random division that fulfill the "limit" trigger. tooltip=key can be added to override tooltip title -Supported scopes: country -###Executes children effects on a random division that full the "limit" trigger. tooltip=key can be added to override to override tooltip title +### random_country_division - Executes children effects on a random division that fulfill the "limit" trigger. tooltip=key can be added to override tooltip title +### Supported scopes: country +### Executes children effects on a random division that full the "limit" trigger. tooltip=key can be added to override to override tooltip title ## scopes = { COUNTRY } +## push_scope = unit alias[effect:random_country_division] = { ## cardinality = 0..1 limit = { diff --git a/Config/effects_nsb.cwt b/Config/effects_nsb.cwt index 24dcbc1e..f4d960a6 100644 --- a/Config/effects_nsb.cwt +++ b/Config/effects_nsb.cwt @@ -108,7 +108,7 @@ alias[effect:random_character] = { alias_name[effect] = alias_match_left[effect] } -## scope = { character country } +## scope = { character country unit_leader } alias[effect:add_corps_commander_role] = { ### required in country scope, optional in character scope ## cardinality = 0..1 @@ -196,7 +196,7 @@ alias[effect:remove_unit_leader_role] = { character = scope[character] } -## scope = { character country } +## scope = { character country unit_leader } alias[effect:add_field_marshal_role] = { ### required in country scope, optional in character scope ## cardinality = 0..1 @@ -237,7 +237,7 @@ alias[effect:add_field_marshal_role] = { } } -## scope = { character country } +## scope = { character country unit_leader } alias[effect:add_naval_commander_role] = { ### required in country scope, optional in character scope ## cardinality = 0..1 @@ -316,7 +316,7 @@ alias[effect:add_country_leader_role] = { } } -## scope = { character country } +## scope = { character country unit_leader } alias[effect:remove_country_leader_role] = { ### required in country scope, optional in character scope ## cardinality = 0..1 @@ -341,7 +341,7 @@ alias[effect:remove_country_leader_role] = { ideology = enum[sub_ideology] } -## scope = { character country } +## scope = { character country unit_leader } alias[effect:add_advisor_role] = { ### required in country scope, optional in character scope ## cardinality = 0..1 @@ -441,7 +441,7 @@ alias[effect:add_advisor_role] = { } } -## scope = { character country } +## scope = { character country unit_leader } alias[effect:remove_advisor_role] = { ### required in country scope, optional in character scope ## cardinality = 0..1 @@ -491,7 +491,7 @@ alias[effect:retire_character] = scope[character] ## scope = { character unit_leader } alias[effect:set_character_name] = localisation ### renames character -## scope = { country character } +## scope = { country character unit_leader } alias[effect:set_character_name] = { ## cardinality = 0..1 character = @@ -528,19 +528,19 @@ alias[effect:promote_character] = { ## scope = { character unit_leader } alias[effect:promote_character] = bool ### makes character head of their ideology party -## scope = { character } +## scope = { character unit_leader } alias[effect:promote_character] = enum[sub_ideology] ### makes character head of their ideology party -## scope = { character } +## scope = { character unit_leader } alias[effect:promote_character] = ### makes character head of their ideology party -## scope = { character } +## scope = { character unit_leader } alias[effect:promote_character] = { ideology = enum[sub_ideology] ideology = } -## scope = { character } +## scope = { character unit_leader } alias[effect:swap_country_leader_traits] = { remove = add = @@ -566,7 +566,7 @@ alias[effect:modify_character_flag] = { flag = value[character_flag] value = int_variable_field } -## scope = { character } +## scope = { character unit_leader } alias[effect:clr_character_flag] = value[character_flag] ### Hires advisor (adds advisor idea) @@ -619,7 +619,7 @@ alias[effect:add_trait] = { ## cardinality = 0..1 slot = value[character_advisor_slot] } -## scope = { country character } +## scope = { country character unit_leader } alias[effect:remove_trait] = { ## cardinality = 0..1 character = @@ -657,18 +657,18 @@ alias[effect:set_nationality] = { } ### Transfers scoped character from PREV country to target -## scope = { character } +## scope = { character unit_leader operative } alias[effect:set_nationality] = scope[country] ### Transfers scoped character from PREV country to target -## scope = { character } +## scope = { character unit_leader operative } alias[effect:set_nationality] = { target_country = scope[country] target_country = enum[country_tags] } ### Transfers scoped character from PREV country to target -## scope = { character } +## scope = { character unit_leader operative } alias[effect:set_nationality] = enum[country_tags] ### Executes children effects on every subject country that fulfills the "limit" trigger. tooltip=key can be defined to override tooltip title @@ -730,7 +730,7 @@ alias[effect:character_list_tooltip] = { } ### set portraits for the target character. Syntax is similar to character files. -## scope = { character country } +## scope = { character country unit_leader } alias[effect:set_portraits] = { ## cardinality = 0..1 character = @@ -745,11 +745,11 @@ alias[effect:set_portraits] = { ## cardinality = 0..1 character = scope[character] ### Portrait(s), army and/or civilian - ## cardinality = ~1..2 + ## cardinality = ~1..3 enum[character_portrait_types] = { ### Portrait(s), large and/or small ## cardinality = ~1..2 - enum[character_portrait_sizes] = scalar + alias_name[portraitset] = alias_match_left[portraitset] } } @@ -924,11 +924,96 @@ alias[effect:generate_character] = { ### Should have at least one portrait defined portraits = { ### Portrait(s), army and/or civilian - ## cardinality = ~1..2 + ## cardinality = ~1..3 enum[character_portrait_types] = { ### Portrait(s), large (leader) and/or small (advisor) ## cardinality = ~1..2 enum[character_portrait_sizes] = scalar } } +} + +### Creates an enitity +### Uses the the same coordinate system that the map uses. A positive change in rotation results in counter-clockwise rotation, a full 360 degrees rotation is approximately 6.28 radians. +### For comparison, default minimum zoom level (closest to the map) is 50 units, while default maximum zoom level is 3000 units. +## scope = any +alias[effect:create_entity] = { + entity = + ## cardinality 0..1 + id = value_set[entity_id] + ## cardinality 0..1 + var = value_set[variable] + x = float + y = float + ## cardinality 0..1 + z = float + province = enum[provinces] + state = + rotation = float + scale = float + min_zoom = float + ## cardinality 0..1 + visible = +} + +### Deletes an entity +### IDs are set by the create_entity effect. +## scope = any +alias[effect:set_entity_movement] = value[entity_id] + +### Sets the position and rotation of an entity using two coordinates. +### IDs are set by the create_entity effect. Uses the the same coordinate system that the map uses. +### A positive change in rotation results in counter-clockwise rotation, a full 360 degrees rotation is approximately 6.28 radians. +## scope = any +alias[effect:set_entity_movement] = { + id = value[entity_id] + start = { + x = float + y = float + ## cardinality 0..1 + z = float + } + target = { + province = enum[provinces] + } + ratio = float + rotation = float +} + +### Sets the position of an existing entity. +### IDs are set by the create_entity effect. Uses the the same coordinate system that the map uses. +## scope = any +alias[effect:set_entity_position ] = { + id = value[entity_id] + x = float + y = float + ## cardinality 0..1 + z = float + province = enum + state = +} + +### Sets the currently-facing angle of an existing entity. +### IDs are set by the create_entity effect. +### A positive change results in counter-clockwise rotation, a full 360 degrees rotation is approximately 6.28 radians. +## scope = any +alias[effect:set_entity_rotation] = { + id = value[entity_id] + rotation = float +} + +### Sets the size of an existing entity. +### IDs are set by the create_entity effect. +## scope = any +alias[effect:set_entity_scale] = { + id = value[entity_id] + scale = float +} + +### Sets the animation of a specified entity +### IDs are set by the create_entity effect. Animations are defined within the /Hearts of Iron IV/gfx/models/**/*.asset files. +## scope = any +alias[effect:set_entity_animation] = { + id = value[entity_id] + animation = } \ No newline at end of file diff --git a/Config/effects_toa.cwt b/Config/effects_toa.cwt new file mode 100644 index 00000000..adbe14a0 --- /dev/null +++ b/Config/effects_toa.cwt @@ -0,0 +1,17 @@ +### Adds an override rule to the country's relation to other countries. If there are multiple applicable overrides for a rule, then they are combined using AND logic for positive rules (e.g. can_access_market) and OR logic for negative rules (e.g. can_not_declare_war).\n +### The description of the effect is based on the trigger or the target country.The description when using the rule override is based: on the target country; the trigger at the time of effect evaluation; or the provided usage_desc.\n +### The following rules are currently supported: can_send_volunteers, can_access_market +### Alternative 1:\nadd_relation_rule_override = { \n target = GER # [Required] Target country usage_desc = REASON_DESCRIPTION # [Optional] usage description can_not_declare_war = yes # [Required] \n}\n +### Alternative 2:\nadd_relation_rule_override = { \n trigger = is_democratic_country # [Required] Named trigger usage_desc = DEMOCRATIC_COUNTRY # [Optional] usage description can_not_declare_war = yes # [Required] \n}\n" +## scope = country +alias[effect:add_relation_rule_override] = { + enum[game_rules] = bool + ## cardinality = 0..1 + target = scope[country] + ## cardinality = 0..1 + target = enum[country_tags] + ## cardinality = 0..1 + trigger = scalar + ## cardinality = 0..1 + usage_desc = localisation +} diff --git a/Config/gfx/model_entities.cwt b/Config/gfx/model_entities.cwt index 029ceab9..1830a7c2 100644 --- a/Config/gfx/model_entities.cwt +++ b/Config/gfx/model_entities.cwt @@ -138,7 +138,7 @@ types = { pdxmesh = { name = scalar - alias_name[dlc_path_file] = alias_match_left[dlc_path_file] + file = filepath ## cardinality = 0..1 scale = float diff --git a/Config/interface/gfx.cwt b/Config/interface/gfx.cwt index c3cc3ff1..86250511 100644 --- a/Config/interface/gfx.cwt +++ b/Config/interface/gfx.cwt @@ -116,13 +116,13 @@ spriteType = { ## cardinality = 0..1 generate_mip_maps = bool subtype[spriteType] = { - alias_name[dlc_path_textureFile] = alias_match_left[dlc_path_textureFile] + textureFile = filepath } subtype[frameAnimatedSpriteType] = { - alias_name[dlc_path_textureFile] = alias_match_left[dlc_path_textureFile] + textureFile = filepath } subtype[corneredTileSpriteType] = { - alias_name[dlc_path_textureFile] = alias_match_left[dlc_path_textureFile] + textureFile = filepath borderSize = { x = int y = int } ## cardinality = 0..1 tilingCenter = bool @@ -135,7 +135,7 @@ spriteType = { textureFile2 = scalar } subtype[textSpriteType] = { - alias_name[dlc_path_textureFile] = alias_match_left[dlc_path_textureFile] + textureFile = filepath ## cardinality = 0..1 clicksound = click } diff --git a/Config/interface/gui.cwt b/Config/interface/gui.cwt index 1b96281f..ee435540 100644 --- a/Config/interface/gui.cwt +++ b/Config/interface/gui.cwt @@ -42,6 +42,8 @@ containerWindowType = { ## cardinality = 0..1 horizontalScrollbar = enum[horizontal_scrollbar_types] ## cardinality = 0..1 + autohide_scrollbars = bool + ## cardinality = 0..1 drag_scroll = { ## cardinality = 0..inf enum[dragScrollType] @@ -90,6 +92,8 @@ alias[gui:containerWindowType] = { ## cardinality = 0..1 horizontalScrollbar = enum[horizontal_scrollbar_types] ## cardinality = 0..1 + autohide_scrollbars = bool + ## cardinality = 0..1 drag_scroll = { ## cardinality = 0..inf enum[dragScrollType] @@ -141,6 +145,8 @@ alias[gui:dropDownBoxType] = { ## cardinality = 0..1 horizontalScrollbar = enum[horizontal_scrollbar_types] ## cardinality = 0..1 + autohide_scrollbars = bool + ## cardinality = 0..1 drag_scroll = { ## cardinality = 0..inf enum[dragScrollType] @@ -220,6 +226,8 @@ alias[gui:dropDownBoxType] = { ## cardinality = 0..1 horizontalScrollbar = enum[horizontal_scrollbar_types] ## cardinality = 0..1 + autohide_scrollbars = bool + ## cardinality = 0..1 drag_scroll = { ## cardinality = 0..inf enum[dragScrollType] diff --git a/Config/links.cwt b/Config/links.cwt index f72616a5..ce521657 100644 --- a/Config/links.cwt +++ b/Config/links.cwt @@ -34,7 +34,7 @@ links = { capital = { output_scope = state - input_scopes = country + input_scopes = { country state } } global = { diff --git a/Config/on_actions.csv b/Config/on_actions.csv index adc3a4a3..ce774224 100644 --- a/Config/on_actions.csv +++ b/Config/on_actions.csv @@ -20,6 +20,7 @@ on_capitulation,THIS = country ROOT = country FROM = country,country_event, on_uncapitulation,THIS = country ROOT = country,country_event, on_government_change,THIS = country ROOT = country,country_event, on_ruling_party_change,THIS = country ROOT = country,country_event, +on_ruling_party_change_immediate,THIS = country ROOT = country,country_event, on_coup_succeeded,THIS = country ROOT = country,country_event, on_civil_war_end,THIS = country ROOT = country FROM = country,country_event, on_puppet,THIS = country ROOT = country FROM = country,country_event, @@ -40,6 +41,7 @@ on_lend_lease,THIS = country ROOT = country FROM = country,country_event, on_incoming_lend_lease,THIS = country ROOT = country FROM = country,country_event, on_incoming_lend_lease,THIS = country ROOT = country FROM = country,country_event, on_send_volunteers,THIS = country ROOT = country FROM = country,country_event, +on_recall_volunteers,THIS = country ROOT = country FROM = country,country_event, on_send_expeditionary_force,THIS = country ROOT = country FROM = country,country_event, on_return_expeditionary_forces,THIS = country ROOT = country FROM = country,country_event, on_request_expeditionary_forces,THIS = country ROOT = country FROM = country,country_event, diff --git a/Config/on_actions.cwt b/Config/on_actions.cwt index cb556fe8..f6cbebc0 100644 --- a/Config/on_actions.cwt +++ b/Config/on_actions.cwt @@ -62,6 +62,11 @@ types = { path = "game/common/on_actions" skip_root_key = on_actions } + ## type_key_filter = on_ruling_party_change_immediate + type[on_ruling_party_change_immediate] = { + path = "game/common/on_actions" + skip_root_key = on_actions + } ## type_key_filter = on_new_term_election type[on_new_term_election] = { path = "game/common/on_actions" @@ -84,6 +89,11 @@ types = { path = "game/common/on_actions" skip_root_key = on_actions } + ## type_key_filter = on_recall_volunteers + type[on_recall_volunteers] = { + path = "game/common/on_actions" + skip_root_key = on_actions + } ## type_key_filter = on_border_war_lost type[on_border_war_lost] = { path = "game/common/on_actions" @@ -531,7 +541,7 @@ on_action = { ## cardinality = 0..inf int = } - ## cardinality = 0..1 + ## cardinality = 0..inf effect = { alias_name[effect] = alias_match_left[effect] } @@ -590,11 +600,19 @@ on_action = { on_government_change = single_alias_right[country_event_effect] ### Trigger the following commands whenever a country switches its ideology. + ### Happens only after all effects in the block that triggered it have been processed. ### old_ideology_token is a temporary variable that stores the old ideology as a token. Alongside what triggers on_government_change, also includes being puppeted or changing the ideology via a console command. ## cardinality = 0..inf ## replace_scope = { THIS = country ROOT = country } on_ruling_party_change = single_alias_right[country_event_effect] + ### Trigger the following commands whenever a country switches its ideology. + ### Happens immediately after the effect that has triggered it. + ### old_ideology_token is a temporary variable that stores the old ideology as a token. Alongside what triggers on_government_change, also includes being puppeted or changing the ideology via a console command. + ## cardinality = 0..inf + ## replace_scope = { THIS = country ROOT = country } + on_ruling_party_change_immediate = single_alias_right[country_event_effect] + ### Trigger the following commands whenever an election happens or is called by the hold_election command. ## cardinality = 0..inf ## replace_scope = { THIS = country ROOT = country } @@ -618,6 +636,11 @@ on_action = { ## replace_scope = { THIS = country ROOT = country FROM = country } on_send_volunteers = single_alias_right[country_event_effect] + ### Trigger the following commands whenever a country recalls volunteers. FROM is country losing volunteers, ROOT is country recalling volunteers + ## cardinality = 0..inf + ## replace_scope = { THIS = country ROOT = country FROM = country } + on_recall_volunteers = single_alias_right[country_event_effect] + ### Trigger the following commands whenever a country loses a border war. "Border war" refers to the state-based border wars enabled with set_border_war, represented with orange stripes over the state, rather than border wars that simulate combat between countries. The default scope is the state that lost the border war. ## cardinality = 0..inf ## replace_scope = { THIS = state ROOT = country } @@ -828,12 +851,12 @@ on_action = { ### Trigger the following commands whenever a country that is hosting a government in exile has capitulated. ### ROOT is the government in exile, FROM is the new country hosting the government in exile, FROM.FROM is the old country that was hosting the government in exile. ## cardinality = 0..inf - ## replace_scope = { THIS = country ROOT = country FROM = country FROMFROM = country } + ## replace_scope = { THIS = country ROOT = country FROM = any } on_host_changed_from_capitulation = single_alias_right[country_event_effect] ### Trigger the following commands whenever a country has returned from governing in exile. ROOT is the government in exile, FROM is the country that was hosting the government in exile. ## cardinality = 0..inf - ## replace_scope = { THIS = country ROOT = country FROM = country FROMFROM = country } + ## replace_scope = { THIS = country ROOT = country FROM = any } on_exile_government_reinstated = single_alias_right[country_event_effect] @@ -841,7 +864,7 @@ on_action = { ### Trigger the following commands when a state's controller changes. ROOT is new controller, FROM is old controller, FROM.FROM is state ID. ## cardinality = 0..inf - ## replace_scope = { ROOT = country THIS = country FROM = country FROMFROM = state } + ## replace_scope = { ROOT = country THIS = country FROM = any } on_state_control_changed = single_alias_right[country_event_effect] @@ -1088,7 +1111,7 @@ single_alias[country_event_effect] = { ## cardinality = 0..inf int = } - ## cardinality = 0..1 + ## cardinality = 0..inf effect = { alias_name[effect] = alias_match_left[effect] } @@ -1101,7 +1124,7 @@ single_alias[unit_leader_event_effect] = { ## cardinality = 0..inf int = } - ## cardinality = 0..1 + ## cardinality = 0..inf effect = { alias_name[effect] = alias_match_left[effect] } @@ -1114,13 +1137,13 @@ single_alias[operative_event_effect] = { ## cardinality = 0..inf int = } - ## cardinality = 0..1 + ## cardinality = 0..inf effect = { alias_name[effect] = alias_match_left[effect] } } single_alias[on_action_effect] = { - ## cardinality = 0..1 + ## cardinality = 0..inf effect = { alias_name[effect] = alias_match_left[effect] } diff --git a/Config/portraits.cwt b/Config/portraits.cwt index 308e0bb9..bf02872a 100644 --- a/Config/portraits.cwt +++ b/Config/portraits.cwt @@ -56,80 +56,4 @@ single_alias[genderportrait] = { ## cardinality = 0..inf filepath - ## cardinality = 0..inf - filepath[dlc/dlc001_german_historical_portraits/] - ## cardinality = 0..inf - filepath[dlc/dlc002_polish_content_pack/] - ## cardinality = 0..inf - filepath[dlc/dlc003_rocket_launcher_unit_pack/] - ## cardinality = 0..inf - filepath[dlc/dlc004_famous_battleships_unit_pack/] - ## cardinality = 0..inf - filepath[dlc/dlc005_heavy_cruisers_unit_pack/] - ## cardinality = 0..inf - filepath[dlc/dlc006_soviet_tanks_unit_pack/] - ## cardinality = 0..inf - filepath[dlc/dlc007_german_tanks_unit_pack/] - ## cardinality = 0..inf - filepath[dlc/dlc008_french_tanks_unit_pack/] - ## cardinality = 0..inf - filepath[dlc/dlc009_british_tanks_unit_pack/] - ## cardinality = 0..inf - filepath[dlc/dlc010_us_tanks_unit_pack/] - ## cardinality = 0..inf - filepath[dlc/dlc011_german_march_order_music_pack/] - ## cardinality = 0..inf - filepath[dlc/dlc012_allied_radio_music_pack/] - ## cardinality = 0..inf - filepath[dlc/dlc013_sabaton/] - ## cardinality = 0..inf - filepath[dlc/dlc014_wallpaper/] - ## cardinality = 0..inf - filepath[dlc/dlc016_artbook/] - ## cardinality = 0..inf - filepath[dlc/dlc017_original_soundtrack/] - ## cardinality = 0..inf - filepath[dlc/dlc018_together_for_victory/] - ## cardinality = 0..inf - filepath[dlc/dlc019_sabaton_vol2/] - ## cardinality = 0..inf - filepath[dlc/dlc020_death_or_dishonor/] - ## cardinality = 0..inf - filepath[dlc/dlc021_anniversary_pack/] - ## cardinality = 0..inf - filepath[dlc/dlc022_waking_the_tiger/] - ## cardinality = 0..inf - filepath[dlc/dlc023_man_the_guns/] - ## cardinality = 0..inf - filepath[dlc/dlc024_man_the_guns_wallpaper/] - ## cardinality = 0..inf - filepath[dlc/dlc025_axis_armor_pack/] - ## cardinality = 0..inf - filepath[dlc/dlc026_radio_pack/] - ## cardinality = 0..inf - filepath[dlc/dlc027_la_resistance_preorder_bonus/] - ## cardinality = 0..inf - filepath[dlc/dlc028_la_resistance/] - ## cardinality = 0..inf - filepath[dlc/dlc029_allied_armor_pack/] - ## cardinality = 0..inf - filepath[dlc/dlc030_allied_speeches_pack/] - ## cardinality = 0..inf - filepath[dlc/dlc031_battle_for_the_bosporus/] - ## cardinality = 0..inf - filepath[dlc/dlc032_eastern_front_planes_pack/] - ## cardinality = 0..inf - filepath[dlc/dlc033_songs_of_the_eastern_front/] - ## cardinality = 0..inf - filepath[dlc/dlc034_no_step_back/] - ## cardinality = 0..inf - filepath[dlc/dlc035_no_step_back_preorder_bonus/] - ## cardinality = 0..inf - filepath[dlc/dlc036_by_blood_alone/] - ## cardinality = 0..inf - filepath[dlc/dlc037_by_blood_alone_preorder_bonus/] - ## cardinality = 0..inf - filepath[dlc/dlc038_arms_against_tyranny/] - ## cardinality = 0..inf - filepath[dlc/dlc039_arms_against_tyranny_preorder_bonus/] } \ No newline at end of file diff --git a/Config/shared_enums.cwt b/Config/shared_enums.cwt index 10914242..c078f09e 100644 --- a/Config/shared_enums.cwt +++ b/Config/shared_enums.cwt @@ -30,7 +30,9 @@ enums = { guarantee puppet military_access + offer_military_access docking_rights + offer_docking_rights declare_war join_allies call_allies @@ -38,6 +40,10 @@ enums = { befriend market_access_rights embargo + create_faction + offer_join_faction + join_faction + request_access_to_licence_production } enum[add_factor] = { diff --git a/Config/temp_modifiers.cwt b/Config/temp_modifiers.cwt index 1c8931df..72121db4 100644 --- a/Config/temp_modifiers.cwt +++ b/Config/temp_modifiers.cwt @@ -8,7 +8,7 @@ alias[targeted_modifier_rule:targeted_modifier] = { } alias[modifier_rule:modifier] = { - ## cardinality = ~1..inf + ## cardinality = ~1..1 enum[add_factor] = variable_field ## cardinality = ~1..inf alias_name[trigger] = alias_match_left[trigger] @@ -140,13 +140,19 @@ alias[air_stat:air_ground_attack] = float alias[air_stat:air_range] = float alias[air_stat:air_superiority] = float alias[air_stat:air_mission_efficiency] = float +alias[air_stat:air_cas_efficiency] = float +alias[air_stat:air_nav_efficiency] = float alias[air_stat:carrier_size] = float alias[air_stat:default_carrier_composition_weight] = float +alias[air_stat:ground_attack_factor] = float alias[air_stat:naval_strike_attack] = float +alias[air_stat:naval_strike_attack_factor] = float alias[air_stat:naval_strike_targetting] = float +alias[air_stat:naval_strike_targetting_factor] = float alias[air_stat:thrust] = float alias[air_stat:night_penalty] = float + #for terrain modifiers alias[unit_stat:] = { alias_name[unit_stat] = alias_match_left[unit_stat] } alias[unit_stat:enum[region_weather]] = { alias_name[unit_stat] = alias_match_left[unit_stat] } diff --git a/Config/triggers.cwt b/Config/triggers.cwt index 0dd2aa84..9fd0c186 100644 --- a/Config/triggers.cwt +++ b/Config/triggers.cwt @@ -663,8 +663,11 @@ alias[trigger:has_idea_with_trait] = ### Checks for amount of aircrafts, additionally of a specified type. ## scope = country alias[trigger:has_deployed_air_force_size] = { + ## cardinality = 0..1 size = float ## cardinality = 0..1 + size = int_variable_field + ## cardinality = 0..1 type = enum[air_units] } @@ -764,7 +767,7 @@ alias[trigger:is_ai] = bool alias[trigger:has_trait] = ### Check if sides leader has trait. -## scope = { character } +## scope = { character unit_leader } alias[trigger:has_trait] = ### Check if side has reserves waiting. diff --git a/Config/triggers_bba.cwt b/Config/triggers_bba.cwt index 96c918fc..ced6785d 100644 --- a/Config/triggers_bba.cwt +++ b/Config/triggers_bba.cwt @@ -132,14 +132,6 @@ alias[trigger:has_railway_connection] = { target_province = enum[provinces] } -### Checks if country is a loser in peace conference -## scope = country -alias[trigger:pc_is_loser] = bool - -### Checks if country is a winner in peace conference -## scope = country -alias[trigger:pc_is_winner] = bool - ### Checks if country has war with wargoal against target ## scope = country alias[trigger:has_war_with_wargoal_against] = { @@ -156,11 +148,45 @@ alias[trigger:has_war_with_wargoal_against] = scope[country] ## scope = country alias[trigger:has_war_with_wargoal_against] = enum[country_tags] -## scope = character +## scope = { character unit_leader } alias[trigger:is_hired_as_advisor] = bool ## scope = country alias[trigger:has_completed_custom_achievement] = { mod = enum[mod_achievement_id] achievement = -} \ No newline at end of file +} + +#post or during peace conference triggers state + +### Checks if the current scope was demilitarised during a current or previously-ended peace conference. +## scope = state +alias[trigger:pc_does_state_stack_demilitarized] = bool + +### Checks if the current scope was dismantled during a current or previously-ended peace conference. +## scope = state +alias[trigger:pc_does_state_stack_dismantled] = bool + +#during peace conference triggers state + +### Checks if the current scope was claimed by any country during the peace conference. +## scope = state +alias[trigger:pc_is_state_claimed] = bool + +### Checks if the current scope was claimed by the specified country during the peace conference. +## scope = state +alias[trigger:pc_is_state_claimed_by] = scope[country] +### Checks if the current scope was claimed by the specified country during the peace conference. +## scope = state +alias[trigger:pc_is_state_outside_influence_for_winner] = enum[country_tags] + +### Checks if the current state is outside of the influence of the specified winner country. +## scope = state +alias[trigger:pc_is_state_outside_influence_for_winner] = scope[country] +### Checks if the current state is outside of the influence of the specified winner country. +## scope = state +alias[trigger:pc_is_state_outside_influence_for_winner] = enum[country_tags] + +### Compares the amount of turns that have passed during the peace conference with a number. +## scope = any +alias[trigger:pc_turn] = int \ No newline at end of file diff --git a/Config/triggers_new.cwt b/Config/triggers_new.cwt index 08f25e2a..68516084 100644 --- a/Config/triggers_new.cwt +++ b/Config/triggers_new.cwt @@ -469,6 +469,7 @@ alias[trigger:has_allowed_idea_with_traits] = { ## cardinality = 1..inf } + ## cardinality = 0..1 limit = int ## cardinality = 0..1 ### # if specified, these ideas will be ignored. diff --git a/Config/triggers_nsb.cwt b/Config/triggers_nsb.cwt index a42c8241..5cb81a60 100644 --- a/Config/triggers_nsb.cwt +++ b/Config/triggers_nsb.cwt @@ -212,43 +212,43 @@ alias[trigger:can_be_country_leader] = value[global_event_target] alias[trigger:can_be_country_leader] = scope[character] ###Can the character be a country leader. -## scope = character +## scope = { character unit_leader } alias[trigger:can_be_country_leader] = bool ###Checks if the current character is an army chief. -## scope = character +## scope = { character unit_leader } alias[trigger:is_army_chief] = bool ###Checks if the current character is an advisor. -## scope = character +## scope = { character unit_leader } alias[trigger:is_advisor] = bool ###Checks if the current character is a political advisor. -## scope = character +## scope = { character unit_leader } alias[trigger:is_political_advisor] = bool ###Checks if the current character is a theorist. -## scope = character +## scope = { character unit_leader } alias[trigger:is_theorist] = bool ###Checks if the current character is a navy chief. -## scope = character +## scope = { character unit_leader } alias[trigger:is_navy_chief] = bool ###Checks if the current character is an air chief. -## scope = character +## scope = { character unit_leader } alias[trigger:is_air_chief] = bool ###Checks if the current character is in high command. -## scope = character +## scope = { character unit_leader } alias[trigger:is_high_command] = bool ###Checks if the current character is a country leader. -## scope = character +## scope = { character unit_leader } alias[trigger:is_country_leader] = bool ###Checks if the current character is a unit leader. -## scope = character +## scope = { character unit_leader } alias[trigger:is_unit_leader] = bool ###Checks if the current character is an army leader. @@ -268,27 +268,27 @@ alias[trigger:is_navy_leader] = bool alias[trigger:is_operative] = bool ###Checks if the current character has an army ledger. -## scope = character +## scope = { character unit_leader } alias[trigger:has_army_ledger] = bool ###Checks if the current character has a navy ledger. -## scope = character +## scope = { character unit_leader } alias[trigger:has_navy_ledger] = bool ###Checks if the current character has an air ledger. -## scope = character +## scope = { character unit_leader } alias[trigger:has_air_ledger] = bool ###Checks if the current character is in the character slot. -## scope = character +## scope = { character unit_leader } alias[trigger:is_character_slot] = value[character_advisor_slot] ###Checks if the current character is not hired, with the exception of the specified slot. -## scope = character +## scope = { character unit_leader } alias[trigger:not_already_hired_except_as] = value[character_advisor_slot] ###Has character flag been set. Check flag val date set and days since set. -## scope = character +## scope = { character unit_leader } ## severity = warning alias[trigger:character_flag] = { flag = value[country_flag] @@ -305,11 +305,11 @@ alias[trigger:character_flag] = { alias[trigger:has_idea] = value[advisor_token] ###Checks if the current character has a country leader role matching the sub-ideology. -## scope = character +## scope = { character unit_leader } alias[trigger:has_ideology] = enum[sub_ideology] ###Checks if the current character has a country leader role matching the ideology group. -## scope = character +## scope = { character unit_leader } alias[trigger:has_ideology_group] = ###Check the number of factories in controlled states excluding any gained or lost through trade, relations, modifiers etc. @@ -387,5 +387,5 @@ alias[trigger:any_country_with_core] = { } ### Check if character has specific advisor role -## scope = character +## scope = { character unit_leader } alias[trigger:has_advisor_role] = enum[allowed_advisor_role] diff --git a/Config/variables.cwt b/Config/variables.cwt index 698384d3..8c97597a 100644 --- a/Config/variables.cwt +++ b/Config/variables.cwt @@ -982,6 +982,9 @@ values = { ### (Trigger) Compare leader skill levels. skill + ### Power balance value. + power_balance_value + # ======================== # DATABASE DYNAMIC VARIABLES # ======================== @@ -1087,6 +1090,12 @@ values = { subject_states@scope[country] subject_states@enum[country_tags] + ### Array with country list scores + country_list_scores + + ### Sorted country array + sorted_country_list + #State dynamic variables ### Array of countries with cores on the scope state. core_countries @@ -1112,12 +1121,8 @@ values = { ### KR-specifc variables is_in_coalition_with_@token: - token:zhili - token:manchu_qing - token:fengtian - token:federalists - token:left_kuomintang - token:right_kuomintang + preparing_for_war_with_scope[country] + preparing_for_war_with_enum[country_tags] # ======================== # MIO VARIABLES