From f47e6fa981076a0e4fb58dcd578256fa9a558fab Mon Sep 17 00:00:00 2001 From: "actions[bot]" Date: Sat, 3 Jan 2026 04:02:40 +0000 Subject: [PATCH] 2026-01-03 04:02:40 --- src/common/achievements/vnr_achievements.txt | 119 ++++++++ src/common/ai_equipment/vnr_battleships.txt | 2 +- .../taskforce/ENG_taskforce_templates.txt | 116 +++----- .../taskforce/FRA_taskforce_templates.txt | 93 +++--- .../taskforce/GER_taskforce_templates.txt | 2 +- .../taskforce/ITA_taskforce_templates.txt | 94 +++--- .../taskforce/JAP_taskforce_templates.txt | 160 ++++------- .../taskforce/SOV_taskforce_templates.txt | 3 - .../taskforce/USA_taskforce_templates.txt | 93 ++---- src/common/ai_strategy/naval_production.txt | 244 +++++----------- src/common/ai_strategy/vnr_naval_strategy.txt | 267 +++++++++++++----- src/common/decisions/naval_lore.txt | 22 +- .../sea/navy_capital_subdoctrines.txt | 35 ++- .../sea/navy_carrier_doctrines.txt | 43 ++- .../sea/navy_screen_doctrines.txt | 33 ++- .../sea/navy_submarine_doctrines.txt | 27 +- .../scripted_effects/_add_starting_tech.txt | 5 + .../_vnr_scripted_triggers.txt | 10 +- src/common/technologies/MTG_naval.txt | 92 +++++- src/common/technologies/MTG_naval_Support.txt | 8 +- src/events/MTG_naval_treaty_events.txt | 1 + 21 files changed, 793 insertions(+), 676 deletions(-) create mode 100755 src/common/achievements/vnr_achievements.txt diff --git a/src/common/achievements/vnr_achievements.txt b/src/common/achievements/vnr_achievements.txt new file mode 100755 index 0000000..1428bb0 --- /dev/null +++ b/src/common/achievements/vnr_achievements.txt @@ -0,0 +1,119 @@ +unique_id = vnr_achievements + +00_vnr_bathtub_war = { + possible = { + has_game_rule = { rule = allow_never_built option = FREE } + } + happened = { + custom_override_tooltip = { + tooltip = 00_vnr_bathtub_war_tt + has_tech = wunderwaffe_modules + } + } +} + +00_vnr_outbuild_the_yankees = { + possible = { + difficulty > 1 + game_rules_allow_achievements = yes + } + happened = { + custom_override_tooltip = { + tooltip = 00_vnr_outbuild_the_yankees_tt + has_navy_size = { archetype = ship_hull_carrier size > 100 } + has_navy_size = { archetype = ship_hull_heavy size > 20 } + has_navy_size = { archetype = ship_hull_cruiser size > 70 } + } + } +} + +00_vnr_the_yamato = { + possible = { + tag = CHY + difficulty > 1 + game_rules_allow_achievements = yes + } + happened = { + has_navy_size = { unit = SH_battleship size > 0 } + } +} + +00_vnr_topgun = { + possible = { + tag = BYG + difficulty > 1 + game_rules_allow_achievements = yes + } + happened = { + custom_override_tooltip = { + tooltip = 00_vnr_topgun_tt + has_tech = super_carriers + } + } +} + +00_vnr_seapower_theory = { + possible = { + difficulty > 1 + game_rules_allow_achievements = yes + } + happened = { + has_completed_track = capital_ships + has_completed_track = carriers + has_completed_track = screens + has_completed_track = submarines + } +} + +00_vnr_john_fisher_adherent = { + possible = { + difficulty > 1 + game_rules_allow_achievements = yes + } + happened = { + has_navy_size = { + unit = battle_cruiser + size > 99 + } + } +} + +00_vnr_carrier_liaoning = { + possible = { + custom_override_tooltip = { + tooltip = 00_vnr_carrier_liaoning_tt + has_global_flag = vnr_enabled + } + difficulty > 1 + game_rules_allow_achievements = yes + tag = DOH + } + happened = { + has_navy_size = { type = carrier size > 0 } + } +} + +00_vnr_i_love_destroyers = { + possible = { + difficulty > 1 + game_rules_allow_achievements = yes + } + happened = { + has_navy_size = { unit = destroyer size > 499 } + } +} + +00_vnr_nelson_reborn = { + possible = { + difficulty > 1 + game_rules_allow_achievements = yes + } + happened = { + custom_override_tooltip = { + tooltip = 00_vnr_nelson_reborn_tt + any_navy_leader = { + skill > 6 + } + } + } +} \ No newline at end of file diff --git a/src/common/ai_equipment/vnr_battleships.txt b/src/common/ai_equipment/vnr_battleships.txt index 3499143..f301a56 100755 --- a/src/common/ai_equipment/vnr_battleships.txt +++ b/src/common/ai_equipment/vnr_battleships.txt @@ -209,7 +209,7 @@ naval_capital_battleship = { priority = { base = 0 modifier = { add = 50 tag = CHY } - modifier = { factor = 0 has_navy_size = { unit = SH_battleship size > 2 } } + modifier = { factor = 0 has_navy_size = { unit = SH_battleship size > 1 } } modifier = { factor = 0 expert_ai_style = yes } } diff --git a/src/common/ai_navy/taskforce/ENG_taskforce_templates.txt b/src/common/ai_navy/taskforce/ENG_taskforce_templates.txt index 680c428..f295ee7 100755 --- a/src/common/ai_navy/taskforce/ENG_taskforce_templates.txt +++ b/src/common/ai_navy/taskforce/ENG_taskforce_templates.txt @@ -7,11 +7,8 @@ ENG_StrikeForce_1 = { } mission = { naval_strike } min_composition = { - battleship = { - amount = 4 - } - destroyer = { - amount = 12 + carrier = { + amount = 2 } } @@ -39,11 +36,11 @@ ENG_PatrolReconForce_1 = { factor = 5 } mission = { naval_patrol } - min_composition = { - destroyer = { - amount = 1 - } - } + # min_composition = { + # destroyer = { + # amount = 1 + # } + # } optimal_composition = { destroyer = { amount = 5 @@ -59,26 +56,23 @@ ENG_PatrolDominanceForce_1 = { factor = 5 } mission = { naval_patrol } - min_composition = { - light_cruiser = { - amount = 2 - } - destroyer = { - amount = 6 - } - } + # min_composition = { + # light_cruiser = { + # amount = 2 + # } + # destroyer = { + # amount = 6 + # } + # } optimal_composition = { - battleship = { + heavy_cruiser = { amount = 4 } - medium_cruiser = { - amount = 2 - } light_cruiser = { amount = 4 } destroyer = { - amount = 10 + amount = 8 } } } @@ -88,58 +82,26 @@ ENG_PatrolDominanceForce_2 = { original_tag = HUJ } ai_will_do = { - factor = 3 + factor = 1 } mission = { naval_patrol } - min_composition = { - light_cruiser = { - amount = 2 - } - destroyer = { - amount = 5 - } - } + # min_composition = { + # battle_cruiser = { + # amount = 3 + # } + # destroyer = { + # amount = 5 + # } + # } optimal_composition = { battle_cruiser = { amount = 3 } - medium_cruiser = { - amount = 2 - } - light_cruiser = { - amount = 2 - } - destroyer = { - amount = 8 - } - } -} - -ENG_PatrolDominanceForce_3 = { - allowed = { - original_tag = HUJ - } - ai_will_do = { - factor = 5 - } - mission = { naval_patrol } - min_composition = { - light_cruiser = { - amount = 2 - } - destroyer = { - amount = 5 - } - } - optimal_composition = { heavy_cruiser = { - amount = 4 - } - medium_cruiser = { amount = 2 } light_cruiser = { - amount = 3 + amount = 2 } destroyer = { amount = 8 @@ -155,11 +117,11 @@ ENG_ConvoyRaiding_1 = { factor = 5 } mission = { convoy_raiding } - min_composition = { - submarine = { - amount = 4 - } - } + # min_composition = { + # submarine = { + # amount = 4 + # } + # } optimal_composition = { submarine = { @@ -176,15 +138,15 @@ ENG_ConvoyEscort_1 = { factor = 5 } mission = { convoy_escort } - min_composition = { + # min_composition = { + # destroyer = { + # amount = 2 + # } + # } + + optimal_composition = { destroyer = { amount = 5 } } - - optimal_composition = { - destroyer = { - amount = 8 - } - } } diff --git a/src/common/ai_navy/taskforce/FRA_taskforce_templates.txt b/src/common/ai_navy/taskforce/FRA_taskforce_templates.txt index d8aacb6..618e6ea 100755 --- a/src/common/ai_navy/taskforce/FRA_taskforce_templates.txt +++ b/src/common/ai_navy/taskforce/FRA_taskforce_templates.txt @@ -6,14 +6,14 @@ FRA_StrikeForce_1 = { factor = 1 } mission = { naval_strike } - min_composition = { - light_cruiser = { - amount = 2 - } - destroyer = { - amount = 8 - } - } + # min_composition = { + # light_cruiser = { + # amount = 2 + # } + # destroyer = { + # amount = 8 + # } + # } optimal_composition = { carrier = { @@ -40,11 +40,11 @@ FRA_PatrolReconForce_1 = { factor = 5 } mission = { naval_patrol } - min_composition = { - destroyer = { - amount = 1 - } - } + # min_composition = { + # destroyer = { + # amount = 1 + # } + # } optimal_composition = { destroyer = { amount = 5 @@ -60,20 +60,20 @@ FRA_PatrolDominanceForce_1 = { factor = 5 } mission = { naval_patrol } - min_composition = { - light_cruiser = { - amount = 2 - } - destroyer = { - amount = 4 - } - } + # min_composition = { + # light_cruiser = { + # amount = 2 + # } + # destroyer = { + # amount = 4 + # } + # } optimal_composition = { battleship = { amount = 2 } - medium_cruiser = { + heavy_cruiser = { amount = 2 } light_cruiser = { @@ -93,22 +93,19 @@ FRA_PatrolDominanceForce_2 = { factor = 5 } mission = { naval_patrol } - min_composition = { - light_cruiser = { - amount = 2 - } - destroyer = { - amount = 4 - } - } + # min_composition = { + # light_cruiser = { + # amount = 2 + # } + # destroyer = { + # amount = 4 + # } + # } optimal_composition = { heavy_cruiser = { amount = 4 } - medium_cruiser = { - amount = 4 - } light_cruiser = { amount = 4 } @@ -126,11 +123,11 @@ FRA_ConvoyRaiding_1 = { factor = 1 } mission = { convoy_raiding } - min_composition = { - submarine = { - amount = 4 - } - } + # min_composition = { + # submarine = { + # amount = 4 + # } + # } optimal_composition = { submarine = { @@ -147,11 +144,11 @@ FRA_ConvoySurfaceRaiding_1 = { factor = 1 } mission = { convoy_raiding} - min_composition = { - battle_cruiser = { - amount = 1 - } - } + # min_composition = { + # battle_cruiser = { + # amount = 1 + # } + # } optimal_composition = { battle_cruiser = { @@ -168,11 +165,11 @@ FRA_ConvoyEscort_1 = { factor = 5 } mission = { convoy_escort } - min_composition = { - destroyer = { - amount = 5 - } - } + # min_composition = { + # destroyer = { + # amount = 5 + # } + # } optimal_composition = { destroyer = { diff --git a/src/common/ai_navy/taskforce/GER_taskforce_templates.txt b/src/common/ai_navy/taskforce/GER_taskforce_templates.txt index d850fd3..c8dae27 100755 --- a/src/common/ai_navy/taskforce/GER_taskforce_templates.txt +++ b/src/common/ai_navy/taskforce/GER_taskforce_templates.txt @@ -127,7 +127,7 @@ GER_ConvoyRaiding_1 = { optimal_composition = { submarine = { - amount = 12 + amount = 8 } } } diff --git a/src/common/ai_navy/taskforce/ITA_taskforce_templates.txt b/src/common/ai_navy/taskforce/ITA_taskforce_templates.txt index 8db6d5b..55fcd24 100755 --- a/src/common/ai_navy/taskforce/ITA_taskforce_templates.txt +++ b/src/common/ai_navy/taskforce/ITA_taskforce_templates.txt @@ -6,11 +6,11 @@ ITA_StrikeForce_1 = { factor = 1 } mission = { naval_strike } - min_composition = { - destroyer = { - amount = 8 - } - } + # min_composition = { + # destroyer = { + # amount = 8 + # } + # } optimal_composition = { battleship = { @@ -32,14 +32,21 @@ ITA_StrikeForceCarrier_1 = { original_tag = SAD } ai_will_do = { - factor = 1 + factor = 10 + modifier = { + factor = 0 + has_navy_size = { + type = carrier + size < 1 + } + } } mission = { naval_strike } - min_composition = { - destroyer = { - amount = 8 - } - } + # min_composition = { + # destroyer = { + # amount = 8 + # } + # } optimal_composition = { carrier = { @@ -48,6 +55,9 @@ ITA_StrikeForceCarrier_1 = { battleship = { amount = 4 } + heavy_cruiser = { + amount = 2 + } light_cruiser = { amount = 10 } @@ -65,11 +75,11 @@ ITA_PatrolReconForce_1 = { factor = 5 } mission = { naval_patrol } - min_composition = { - destroyer = { - amount = 1 - } - } + # min_composition = { + # destroyer = { + # amount = 1 + # } + # } optimal_composition = { destroyer = { amount = 5 @@ -85,22 +95,19 @@ ITA_PatrolDominanceForce_1 = { factor = 5 } mission = { naval_patrol } - min_composition = { - light_cruiser = { - amount = 2 - } - destroyer = { - amount = 4 - } - } + # min_composition = { + # light_cruiser = { + # amount = 2 + # } + # destroyer = { + # amount = 4 + # } + # } optimal_composition = { heavy_cruiser = { amount = 3 } - medium_cruiser = { - amount = 2 - } light_cruiser = { amount = 4 } @@ -118,11 +125,11 @@ ITA_ConvoyRaiding_1 = { factor = 1 } mission = { convoy_raiding } - min_composition = { - submarine = { - amount = 4 - } - } + # min_composition = { + # submarine = { + # amount = 4 + # } + # } optimal_composition = { submarine = { amount = 12 @@ -130,27 +137,6 @@ ITA_ConvoyRaiding_1 = { } } -ITA_ConvoySurfaceRaiding_1 = { - allowed = { - original_tag = SAD - } - ai_will_do = { - factor = 1 - } - mission = { convoy_raiding } - min_composition = { - battle_cruiser = { - amount = 1 - } - } - - optimal_composition = { - battle_cruiser = { - amount = 2 - } - } -} - ITA_ConvoyEscort_1 = { allowed = { original_tag = SAD @@ -167,7 +153,7 @@ ITA_ConvoyEscort_1 = { optimal_composition = { destroyer = { - amount = 6 + amount = 5 } } } diff --git a/src/common/ai_navy/taskforce/JAP_taskforce_templates.txt b/src/common/ai_navy/taskforce/JAP_taskforce_templates.txt index 6bf31cd..9e6ea5f 100755 --- a/src/common/ai_navy/taskforce/JAP_taskforce_templates.txt +++ b/src/common/ai_navy/taskforce/JAP_taskforce_templates.txt @@ -3,27 +3,24 @@ JAP_StrikeForce_1 = { original_tag = CHY } ai_will_do = { - factor = 15 + factor = 30 } mission = { naval_strike } min_composition = { - battleship = { - amount = 4 - } - destroyer = { - amount = 12 + carrier = { + amount = 2 } } optimal_composition = { carrier = { - amount = 4 + amount = 6 } battleship = { amount = 6 } light_cruiser = { - amount = 10 + amount = 12 } destroyer = { amount = 16 @@ -39,11 +36,11 @@ JAP_PatrolReconForce_1 = { factor = 10 } mission = { naval_patrol } - min_composition = { - destroyer = { - amount = 1 - } - } + # min_composition = { + # destroyer = { + # amount = 1 + # } + # } optimal_composition = { destroyer = { amount = 5 @@ -59,27 +56,24 @@ JAP_PatrolDominanceForce_1 = { factor = 10 } mission = { naval_patrol } - min_composition = { - light_cruiser = { - amount = 2 - } - destroyer = { - amount = 6 - } - } + # min_composition = { + # light_cruiser = { + # amount = 2 + # } + # destroyer = { + # amount = 6 + # } + # } optimal_composition = { - battleship = { + heavy_cruiser = { amount = 4 } - medium_cruiser = { - amount = 2 - } light_cruiser = { amount = 4 } destroyer = { - amount = 10 + amount = 8 } } } @@ -90,24 +84,25 @@ JAP_PatrolDominanceForce_2 = { } ai_will_do = { factor = 10 + modifier = { + factor = 0 + has_navy_size = { + unit = battle_cruiser + size < 1 + } + } } mission = { naval_patrol } - min_composition = { - light_cruiser = { - amount = 2 - } - destroyer = { - amount = 6 - } - } + # min_composition = { + # battle_cruiser = { + # amount = 2 + # } + # } optimal_composition = { battle_cruiser = { amount = 2 } - medium_cruiser = { - amount = 2 - } light_cruiser = { amount = 2 } @@ -122,23 +117,27 @@ JAP_PatrolDominanceForce_3 = { original_tag = CHY } ai_will_do = { - factor = 5 + factor = 10 + modifier = { + factor = 0 + has_navy_size = { + unit = SH_battleship + size < 1 + } + } } mission = { naval_patrol } - min_composition = { - light_cruiser = { - amount = 2 - } - destroyer = { - amount = 6 - } - } + # min_composition = { + # SH_battleship = { + # amount = 2 + # } + # } optimal_composition = { - heavy_cruiser = { - amount = 4 + SH_battleship = { + amount = 2 } - medium_cruiser = { + heavy_cruiser = { amount = 2 } light_cruiser = { @@ -150,46 +149,6 @@ JAP_PatrolDominanceForce_3 = { } } -JAP_PatrolDominanceForce_4 = { - allowed = { - original_tag = CHY - } - ai_will_do = { - factor = 0 - modifier = { - add = 3 - has_navy_size = { - unit = SH_battleship - size > 0 - } - } - } - mission = { naval_patrol } - min_composition = { - light_cruiser = { - amount = 2 - } - destroyer = { - amount = 6 - } - } - - optimal_composition = { - SH_battleship = { - amount = 2 - } - medium_cruiser = { - amount = 2 - } - light_cruiser = { - amount = 4 - } - destroyer = { - amount = 10 - } - } -} - JAP_ConvoyRaiding_1 = { allowed = { original_tag = CHY @@ -198,11 +157,11 @@ JAP_ConvoyRaiding_1 = { factor = 1 } mission = { convoy_raiding } - min_composition = { - submarine = { - amount = 4 - } - } + # min_composition = { + # submarine = { + # amount = 4 + # } + # } optimal_composition = { submarine = { @@ -219,15 +178,14 @@ JAP_ConvoyEscort_1 = { factor = 5 } mission = { convoy_escort } - min_composition = { - destroyer = { - amount = 4 - } - } - + # min_composition = { + # destroyer = { + # amount = 2 + # } + # } optimal_composition = { destroyer = { - amount = 8 + amount = 5 } } } \ No newline at end of file diff --git a/src/common/ai_navy/taskforce/SOV_taskforce_templates.txt b/src/common/ai_navy/taskforce/SOV_taskforce_templates.txt index 8b410c1..b336300 100755 --- a/src/common/ai_navy/taskforce/SOV_taskforce_templates.txt +++ b/src/common/ai_navy/taskforce/SOV_taskforce_templates.txt @@ -139,9 +139,6 @@ SOV_PatrolDominanceForce_2 = { heavy_cruiser = { amount = 4 } - medium_cruiser = { - amount = 2 - } light_cruiser = { amount = 3 } diff --git a/src/common/ai_navy/taskforce/USA_taskforce_templates.txt b/src/common/ai_navy/taskforce/USA_taskforce_templates.txt index bb1529c..0322fe5 100755 --- a/src/common/ai_navy/taskforce/USA_taskforce_templates.txt +++ b/src/common/ai_navy/taskforce/USA_taskforce_templates.txt @@ -7,11 +7,8 @@ USA_StrikeForce_1 = { } mission = { naval_strike } min_composition = { - battleship = { - amount = 4 - } - destroyer = { - amount = 12 + carrier = { + amount = 2 } } @@ -23,7 +20,7 @@ USA_StrikeForce_1 = { amount = 6 } light_cruiser = { - amount = 10 + amount = 14 } destroyer = { amount = 18 @@ -39,11 +36,11 @@ USA_PatrolReconForce_1 = { factor = 5 } mission = { naval_patrol } - min_composition = { - destroyer = { - amount = 1 - } - } + # min_composition = { + # destroyer = { + # amount = 1 + # } + # } optimal_composition = { destroyer = { amount = 5 @@ -59,55 +56,19 @@ USA_PatrolDominanceForce_1 = { factor = 5 } mission = { naval_patrol } - min_composition = { - light_cruiser = { - amount = 2 - } - destroyer = { - amount = 8 - } - } - - optimal_composition = { - battleship = { - amount = 4 - } - medium_cruiser = { - amount = 4 - } - light_cruiser = { - amount = 4 - } - destroyer = { - amount = 10 - } - } -} - -USA_PatrolDominanceForce_2 = { - allowed = { - original_tag = BYG - } - ai_will_do = { - factor = 3 - } - mission = { naval_patrol } - min_composition = { - light_cruiser = { - amount = 2 - } - destroyer = { - amount = 8 - } - } + # min_composition = { + # light_cruiser = { + # amount = 2 + # } + # destroyer = { + # amount = 4 + # } + # } optimal_composition = { heavy_cruiser = { amount = 4 } - medium_cruiser = { - amount = 4 - } light_cruiser = { amount = 4 } @@ -125,11 +86,11 @@ USA_ConvoyRaiding_1 = { factor = 5 } mission = { convoy_raiding } - min_composition = { - submarine = { - amount = 4 - } - } + # min_composition = { + # submarine = { + # amount = 4 + # } + # } optimal_composition = { submarine = { @@ -146,15 +107,15 @@ USA_ConvoyEscort_1 = { factor = 1 } mission = { convoy_escort } - min_composition = { - destroyer = { - amount = 4 - } - } + # min_composition = { + # destroyer = { + # amount = 2 + # } + # } optimal_composition = { destroyer = { - amount = 8 + amount = 5 } } } diff --git a/src/common/ai_strategy/naval_production.txt b/src/common/ai_strategy/naval_production.txt index 9419a26..eefcdcf 100755 --- a/src/common/ai_strategy/naval_production.txt +++ b/src/common/ai_strategy/naval_production.txt @@ -210,7 +210,7 @@ naval_unit_role_ratios_minors_defensive = { ai_strategy = { type = role_ratio - id = vnr_naval_cruiser_medium + id = vnr_naval_cruiser_heavy value = 20 } @@ -253,7 +253,7 @@ naval_unit_role_ratios_minors_offensive = { ai_strategy = { type = role_ratio - id = vnr_naval_cruiser_medium + id = vnr_naval_cruiser_heavy value = 20 } @@ -302,7 +302,7 @@ naval_unit_role_ratios_minors_global = { ai_strategy = { type = role_ratio - id = vnr_naval_cruiser_medium + id = vnr_naval_cruiser_heavy value = 20 } @@ -351,7 +351,7 @@ naval_unit_role_ratios_GER_prewar_early = { ai_strategy = { type = role_ratio - id = vnr_naval_cruiser_medium + id = vnr_naval_cruiser_heavy value = 20 } @@ -399,7 +399,7 @@ naval_unit_role_ratios_GER_prewar_late = { ai_strategy = { type = role_ratio - id = vnr_naval_cruiser_medium + id = vnr_naval_cruiser_heavy value = 20 } @@ -493,7 +493,7 @@ naval_unit_role_ratios_GER_atwar_many_shipyard = { ai_strategy = { type = role_ratio - id = vnr_naval_cruiser_medium + id = vnr_naval_cruiser_heavy value = 30 } @@ -542,7 +542,7 @@ naval_unit_role_ratios_GER_atwar_knock_USA = { ai_strategy = { type = role_ratio - id = vnr_naval_cruiser_medium + id = vnr_naval_cruiser_heavy value = 30 } @@ -597,7 +597,7 @@ naval_unit_role_ratios_GER_atwar_No_Naval_Competitor = { ai_strategy = { type = role_ratio - id = vnr_naval_cruiser_medium + id = vnr_naval_cruiser_heavy value = 30 } @@ -655,7 +655,7 @@ naval_unit_role_ratios_GER_late_peace = { ai_strategy = { type = role_ratio - id = vnr_naval_cruiser_medium + id = vnr_naval_cruiser_heavy value = 10 } @@ -715,7 +715,7 @@ naval_unit_role_ratios_ENG_prewar_early = { ai_strategy = { type = role_ratio - id = vnr_naval_cruiser_medium + id = vnr_naval_cruiser_heavy value = -30 } ai_strategy = { @@ -767,8 +767,8 @@ naval_unit_role_ratios_ENG_prewar_late = { ai_strategy = { type = role_ratio - id = vnr_naval_cruiser_medium - value = 50 + id = vnr_naval_cruiser_heavy + value = 30 } ai_strategy = { @@ -812,7 +812,7 @@ naval_unit_role_ratios_ENG_atwar = { ai_strategy = { type = role_ratio - id = vnr_naval_cruiser_medium + id = vnr_naval_cruiser_heavy value = 20 } @@ -897,7 +897,7 @@ naval_unit_role_ratios_FRA_prewar = { } ai_strategy = { type = role_ratio - id = vnr_naval_cruiser_medium + id = vnr_naval_cruiser_heavy value = 15 } ai_strategy = { @@ -938,7 +938,7 @@ naval_unit_role_ratios_FRA_atwar = { } ai_strategy = { type = role_ratio - id = vnr_naval_cruiser_medium + id = vnr_naval_cruiser_heavy value = 15 } ai_strategy = { @@ -1068,7 +1068,7 @@ naval_unit_role_ratios_SOV_need_to_watch_germany_peace = { } ai_strategy = { type = role_ratio - id = vnr_naval_cruiser_medium + id = vnr_naval_cruiser_heavy value = 10 } } @@ -1104,7 +1104,7 @@ naval_unit_role_ratios_SOV_no_need_to_watch_germany_peace = { } ai_strategy = { type = role_ratio - id = vnr_naval_cruiser_medium + id = vnr_naval_cruiser_heavy value = 20 } ai_strategy = { @@ -1149,7 +1149,7 @@ naval_unit_role_ratios_SOV_atwar_with_Germany = { } ai_strategy = { type = role_ratio - id = vnr_naval_cruiser_medium + id = vnr_naval_cruiser_heavy value = -100 } ai_strategy = { @@ -1191,7 +1191,7 @@ naval_unit_role_ratios_SOV_atwar_with_major = { } ai_strategy = { type = role_ratio - id = vnr_naval_cruiser_medium + id = vnr_naval_cruiser_heavy value = 20 } ai_strategy = { @@ -1284,7 +1284,7 @@ naval_unit_role_ratios_JAP_prewar_enough_carrier = { ai_strategy = { type = role_ratio id = vnr_naval_screen - value = 300 + value = 350 } ai_strategy = { type = role_ratio @@ -1293,7 +1293,7 @@ naval_unit_role_ratios_JAP_prewar_enough_carrier = { } ai_strategy = { type = role_ratio - id = vnr_naval_cruiser_medium + id = vnr_naval_cruiser_heavy value = 30 } ai_strategy = { @@ -1304,7 +1304,7 @@ naval_unit_role_ratios_JAP_prewar_enough_carrier = { ai_strategy = { type = role_ratio id = vnr_naval_carrier - value = 150 + value = 90 } ai_strategy = { type = dockyard_to_military_factory_ratio @@ -1333,11 +1333,11 @@ naval_unit_role_ratios_JAP_atwar = { ai_strategy = { type = role_ratio id = vnr_naval_screen - value = 350 + value = 400 } ai_strategy = { type = role_ratio - id = vnr_naval_cruiser_medium + id = vnr_naval_cruiser_heavy value = 30 } ai_strategy = { @@ -1385,22 +1385,17 @@ naval_unit_role_ratios_JAP_late_peace = { ai_strategy = { type = role_ratio id = vnr_naval_screen - value = 250 + value = 300 } ai_strategy = { type = role_ratio id = vnr_naval_cruiser_light value = 65 } - ai_strategy = { - type = role_ratio - id = vnr_naval_cruiser_medium - value = 30 - } ai_strategy = { type = role_ratio id = vnr_naval_cruiser_heavy - value = 10 + value = 30 } ai_strategy = { type = role_ratio @@ -1462,7 +1457,7 @@ naval_unit_role_ratios_USA_great_depression = { ai_strategy = { type = role_ratio - id = vnr_naval_cruiser_medium + id = vnr_naval_cruiser_heavy value = 30 } } @@ -1485,18 +1480,18 @@ naval_unit_role_ratios_USA_go_to_war = { ai_strategy = { type = role_ratio id = vnr_naval_screen - value = 300 + value = 450 } ai_strategy = { type = role_ratio id = vnr_naval_cruiser_light - value = 250 + value = 200 } ai_strategy = { type = role_ratio - id = vnr_naval_cruiser_medium + id = vnr_naval_cruiser_heavy value = 40 } @@ -1550,8 +1545,8 @@ naval_unit_role_ratios_USA_atwar = { } ai_strategy = { type = role_ratio - id = vnr_naval_cruiser_medium - value = 35 + id = vnr_naval_cruiser_heavy + value = 60 } ai_strategy = { @@ -1631,7 +1626,7 @@ naval_unit_role_ratios_ITA_prewar_build_battleships = { } ai_strategy = { type = role_ratio - id = vnr_naval_cruiser_medium + id = vnr_naval_cruiser_heavy value = 25 } @@ -1675,7 +1670,7 @@ naval_unit_role_ratios_ITA_prewar_enough_battleships = { } ai_strategy = { type = role_ratio - id = vnr_naval_cruiser_medium + id = vnr_naval_cruiser_heavy value = 30 } @@ -1774,7 +1769,7 @@ naval_unit_role_ratios_ITA_atwar_with_major = { } ai_strategy = { type = role_ratio - id = vnr_naval_cruiser_medium + id = vnr_naval_cruiser_heavy value = 30 } ai_strategy = { @@ -1825,7 +1820,7 @@ naval_unit_role_ratios_ITA_late_peace = { } ai_strategy = { type = role_ratio - id = vnr_naval_cruiser_medium + id = vnr_naval_cruiser_heavy value = 25 } @@ -2192,21 +2187,36 @@ we_need_screen_1 = { allowed = { OR = { tag = HUJ - tag = YUW tag = CHY - tag = TIX tag = BYG - tag = SAD - tag = BFL } } - enable = { has_navy_size = { size < 50 type = screen_ship archetype = ship_hull_light } } + enable = { has_navy_size = { size < 100 archetype = ship_hull_light } } abort_when_not_enabled = yes ai_strategy = { type = role_ratio id = vnr_naval_screen - value = 300 + value = 500 + } +} + +we_need_screen_2 = { + allowed = { + OR = { + tag = YUW + tag = TIX + tag = SAD + tag = BFL + } + } + enable = { has_navy_size = { size < 50 archetype = ship_hull_light } } + abort_when_not_enabled = yes + + ai_strategy = { + type = role_ratio + id = vnr_naval_screen + value = 200 } } @@ -2220,42 +2230,6 @@ we_need_cv_planes_1 = { } abort_when_not_enabled = yes - ai_strategy = { - type = unit_ratio - id = cv_fighter - value = 25 - } - - ai_strategy = { - type = unit_ratio - id = cv_naval_bomber - value = 20 - } - - ai_strategy = { - type = unit_ratio - id = cv_cas - value = 15 - } - - ai_strategy = { - type = equipment_production_factor - id = cv_fighter - value = 30 - } - - ai_strategy = { - type = equipment_production_factor - id = cv_naval_bomber - value = 50 - } - - ai_strategy = { - type = equipment_production_factor - id = cv_cas - value = 30 - } - ai_strategy = { type = equipment_production_min_factories id = cv_fighter @@ -2273,12 +2247,6 @@ we_need_cv_planes_1 = { id = cv_cas value = 3 } - - ai_strategy = { - type = equipment_variant_production_factor - id = cv_small_plane_airframe - value = 20 - } } we_need_cv_planes_2 = { @@ -2291,64 +2259,22 @@ we_need_cv_planes_2 = { } abort_when_not_enabled = yes - ai_strategy = { - type = unit_ratio - id = cv_fighter - value = 30 - } - - ai_strategy = { - type = unit_ratio - id = cv_naval_bomber - value = 45 - } - - ai_strategy = { - type = unit_ratio - id = cv_cas - value = 30 - } - - ai_strategy = { - type = equipment_production_factor - id = cv_fighter - value = 35 - } - - ai_strategy = { - type = equipment_production_factor - id = cv_naval_bomber - value = 50 - } - - ai_strategy = { - type = equipment_production_factor - id = cv_cas - value = 35 - } - ai_strategy = { type = equipment_production_min_factories id = cv_fighter - value = 4 + value = 5 } ai_strategy = { type = equipment_production_min_factories id = cv_naval_bomber - value = 4 + value = 5 } ai_strategy = { type = equipment_production_min_factories id = cv_cas - value = 4 - } - - ai_strategy = { - type = equipment_variant_production_factor - id = cv_small_plane_airframe - value = 40 + value = 5 } } @@ -2361,64 +2287,22 @@ we_need_cv_planes_3 = { } abort_when_not_enabled = yes - ai_strategy = { - type = unit_ratio - id = cv_fighter - value = 45 - } - - ai_strategy = { - type = unit_ratio - id = cv_naval_bomber - value = 60 - } - - ai_strategy = { - type = unit_ratio - id = cv_cas - value = 45 - } - - ai_strategy = { - type = equipment_production_factor - id = cv_fighter - value = 60 - } - - ai_strategy = { - type = equipment_production_factor - id = cv_naval_bomber - value = 100 - } - - ai_strategy = { - type = equipment_production_factor - id = cv_cas - value = 50 - } - ai_strategy = { type = equipment_production_min_factories id = cv_fighter - value = 5 + value = 7 } ai_strategy = { type = equipment_production_min_factories id = cv_naval_bomber - value = 5 + value = 8 } ai_strategy = { type = equipment_production_min_factories id = cv_cas - value = 5 - } - - ai_strategy = { - type = equipment_variant_production_factor - id = cv_small_plane_airframe - value = 50 + value = 8 } } @@ -2434,7 +2318,7 @@ build_more_missile_cruisers = { ai_strategy = { type = role_ratio - id = vnr_naval_cruiser_medium + id = vnr_naval_cruiser_heavy value = 120 } diff --git a/src/common/ai_strategy/vnr_naval_strategy.txt b/src/common/ai_strategy/vnr_naval_strategy.txt index 3681276..6701c6c 100755 --- a/src/common/ai_strategy/vnr_naval_strategy.txt +++ b/src/common/ai_strategy/vnr_naval_strategy.txt @@ -59,7 +59,7 @@ ENG_avoid_baltic = { ai_strategy = { type = naval_dominance id = vnr_ger_baltic - value = 0 + value = -100 } } @@ -220,6 +220,9 @@ JAP_destroy_china_navy_quick = { enable = { has_war_with = DOH NOT = { has_war_with = BYG } + CHI = { + has_navy_size = { size > 9 } + } enable_vnr_naval_ai = yes } abort_when_not_enabled = yes @@ -235,33 +238,72 @@ JAP_destroy_china_navy_quick = { } } +JAP_turuk_base = { + allowed = { + original_tag = CHY + } + enable = { + 684 = { is_controlled_by_ROOT_or_ally = yes } + } + abort_when_not_enabled = yes + + ai_strategy = { + type = strike_force_home_base + id = 84 + value = 100 + } +} + +JAP_pacific_war_naval_stage_zero = { + allowed = { + original_tag = CHY + } + enable = { + NOT = { has_war_with = BYG } + threat > 0.65 + } + abort_when_not_enabled = yes + + ai_strategy = { + type = naval_dominance + id = vnr_pacific_okinawa + value = 100 + } + ai_strategy = { + type = naval_dominance + id = vnr_pacific_iwo_jima + value = 100 + } +} + JAP_pacific_war_naval_stage_one = { allowed = { original_tag = CHY } enable = { has_war_with = BYG - naval_strength_ratio = { - tag = BYG - ratio < 0.5 - } + has_war_with = PHI + has_war_with = MAL + has_war_with = AST + PHI = { has_capitulated = no } + MAL = { has_capitulated = no } enable_vnr_naval_ai = yes } abort_when_not_enabled = yes ai_strategy = { type = naval_dominance - id = vnr_pacific_3 - value = 80 + id = vnr_pacific_philippines + value = 100 } ai_strategy = { type = naval_dominance - id = vnr_pacific_4 + id = vnr_pacific_solomons value = 100 } ai_strategy = { - type = invade - id = AST - value = 100 + type = naval_dominance + id = vnr_pacific_iwo_jima + value = 70 } ai_strategy = { type = invade @@ -273,6 +315,22 @@ JAP_pacific_war_naval_stage_one = { id = MAL value = 1000 } + ai_strategy = { + type = invade + id = USA + value = 500 + } + ai_strategy = { + type = invade + id = AST + value = 100 + } + ai_strategy = { + type = front_control + area = pacific + ordertype = invasion + execute_order = yes + } } JAP_pacific_war_naval_stage_two = { @@ -281,28 +339,28 @@ JAP_pacific_war_naval_stage_two = { } enable = { has_war_with = BYG - OR = { - naval_strength_ratio = { - tag = BYG - ratio > 0.5 - } - AND = { - PHI = { has_capitulated = yes } - MAL = { has_capitulated = yes } - } - } + has_war_with = PHI + has_war_with = MAL + has_war_with = AST + PHI = { has_capitulated = yes } + MAL = { has_capitulated = yes } enable_vnr_naval_ai = yes } abort_when_not_enabled = yes ai_strategy = { type = naval_dominance - id = vnr_pacific_2 + id = vnr_pacific_midway value = 100 } ai_strategy = { type = naval_dominance - id = vnr_pacific_1 - value = 85 + id = vnr_pacific_hawaii + value = 100 + } + ai_strategy = { + type = naval_dominance + id = vnr_pacific_solomons + value = 75 } ai_strategy = { type = invade @@ -317,7 +375,7 @@ JAP_pacific_war_naval_stage_two = { ai_strategy = { type = invade id = INS - value = 500 + value = 800 } ai_strategy = { type = front_control @@ -328,6 +386,28 @@ JAP_pacific_war_naval_stage_two = { } ### BYG ### +USA_pacific_fleet_command = { + allowed = { + original_tag = BYG + } + + enable = { + 629 = { is_controlled_by_ROOT_or_ally = yes } + } + abort_when_not_enabled = yes + + ai_strategy = { + type = strike_force_home_base + id = 105 + value = 1000 + } + ai_strategy = { + type = strike_force_home_base + id = 89 + value = -100 + } +} + USA_pacific_war_naval_avoid_first = { allowed = { original_tag = BYG @@ -385,11 +465,6 @@ USA_pacific_war_naval_avoid_first = { id = 80 value = 1000 } - ai_strategy = { - type = naval_avoid_region - id = 84 - value = 50 - } ai_strategy = { type = naval_avoid_region id = 90 @@ -408,18 +483,28 @@ USA_pacific_war_naval_avoid_first = { ai_strategy = { type = naval_dominance - id = vnr_pacific_1 + id = vnr_pacific_hawaii value = 100 } ai_strategy = { type = naval_dominance - id = vnr_pacific_3 - value = 0 + id = vnr_pacific_midway + value = 100 } ai_strategy = { type = naval_dominance - id = vnr_pacific_4 - value = 0 + id = vnr_pacific_philippines + value = -100 + } + ai_strategy = { + type = naval_dominance + id = vnr_pacific_iwo_jima + value = -100 + } + ai_strategy = { + type = naval_dominance + id = vnr_pacific_okinawa + value = -100 } } @@ -487,9 +572,9 @@ USA_pacific_war_naval_counterattack_1 = { ratio > 5 } } - NOT = { - controls_state = 633 - controls_state = 684 + OR = { + 633 = { is_controlled_by_ROOT_or_ally = no } + 684 = { is_controlled_by_ROOT_or_ally = no } } enable_vnr_naval_ai = yes } @@ -552,24 +637,30 @@ USA_pacific_war_naval_counterattack_1 = { ai_strategy = { type = naval_dominance - id = vnr_pacific_2 + id = vnr_pacific_solomons value = 100 } ai_strategy = { type = naval_dominance - id = vnr_pacific_1 - value = 80 + id = vnr_pacific_midway + value = 100 } ai_strategy = { type = naval_dominance - id = vnr_pacific_3 - value = 0 + id = vnr_pacific_iwo_jima + value = -100 } ai_strategy = { type = naval_dominance - id = vnr_pacific_4 - value = 0 + id = vnr_pacific_philippines + value = -100 } + ai_strategy = { + type = naval_dominance + id = vnr_pacific_okinawa + value = -100 + } + ai_strategy = { type = invade id = JAP @@ -602,6 +693,10 @@ USA_pacific_war_naval_counterattack_1 = { ordertype = invasion execute_order = yes } + ai_strategy = { + type = naval_invasion_dominance_weight + value = 60 + } } USA_pacific_war_naval_counterattack_2 = { @@ -617,11 +712,9 @@ USA_pacific_war_naval_counterattack_2 = { ratio > 5 } } - controls_state = 633 - controls_state = 684 - NOT = { - controls_state = 645 - } + 633 = { is_controlled_by_ROOT_or_ally = yes } + 684 = { is_controlled_by_ROOT_or_ally = yes } + 645 = { is_controlled_by_ROOT_or_ally = no } enable_vnr_naval_ai = yes } abort_when_not_enabled = yes @@ -663,18 +756,18 @@ USA_pacific_war_naval_counterattack_2 = { ai_strategy = { type = naval_dominance - id = vnr_pacific_3 + id = vnr_pacific_philippines value = 100 } ai_strategy = { type = naval_dominance - id = vnr_pacific_2 - value = 40 + id = vnr_pacific_iwo_jima + value = 100 } ai_strategy = { type = naval_dominance - id = vnr_pacific_1 - value = 10 + id = vnr_pacific_midway + value = 70 } ai_strategy = { type = invade @@ -711,6 +804,10 @@ USA_pacific_war_naval_counterattack_2 = { ordertype = invasion execute_order = yes } + ai_strategy = { + type = naval_invasion_dominance_weight + value = 60 + } } USA_pacific_war_naval_counterattack_3 = { @@ -726,9 +823,9 @@ USA_pacific_war_naval_counterattack_3 = { ratio > 5 } } - controls_state = 633 - controls_state = 684 - controls_state = 645 + 633 = { is_controlled_by_ROOT_or_ally = yes } + 684 = { is_controlled_by_ROOT_or_ally = yes } + 645 = { is_controlled_by_ROOT_or_ally = yes } enable_vnr_naval_ai = yes } abort_when_not_enabled = yes @@ -745,22 +842,22 @@ USA_pacific_war_naval_counterattack_3 = { ai_strategy = { type = naval_dominance - id = vnr_pacific_4 + id = vnr_pacific_okinawa value = 100 } ai_strategy = { type = naval_dominance - id = vnr_pacific_3 + id = vnr_pacific_iwo_jima + value = 100 + } + ai_strategy = { + type = naval_dominance + id = vnr_pacific_philippines value = 75 } ai_strategy = { type = naval_dominance - id = vnr_pacific_2 - value = 10 - } - ai_strategy = { - type = naval_dominance - id = vnr_pacific_1 + id = vnr_pacific_hawaii value = 0 } ai_strategy = { @@ -798,6 +895,36 @@ USA_pacific_war_naval_counterattack_3 = { ordertype = invasion execute_order = yes } + ai_strategy = { + type = naval_invasion_dominance_weight + value = 100 + } +} + +USA_atlantic_war = { + allowed = { + original_tag = BYG + } + enable = { + is_ally_with = HUJ + has_war_with = TIX + has_navy_size = { + type = carrier + size > 19 + } + } + abort_when_not_enabled = yes + + ai_strategy = { + type = strike_force_home_base + id = 43 + value = 100 + } + ai_strategy = { + type = naval_dominance + id = vnr_eng_atlantic_route + value = 90 + } } ### SAD ### @@ -868,10 +995,6 @@ GER_unrestricted_submarine_warfare = { } enable = { has_war_with = HUJ - naval_strength_ratio = { - tag = HUJ - ratio < 0.7 - } enable_vnr_naval_ai = yes } abort_when_not_enabled = yes @@ -911,12 +1034,12 @@ GER_avoid_mediterranean = { ai_strategy = { type = naval_dominance id = vnr_eng_med_zones - value = 0 + value = -100 } ai_strategy = { type = naval_dominance id = vnr_ita_med_zones - value = 0 + value = -100 } } diff --git a/src/common/decisions/naval_lore.txt b/src/common/decisions/naval_lore.txt index 11cdd06..2d1b8da 100755 --- a/src/common/decisions/naval_lore.txt +++ b/src/common/decisions/naval_lore.txt @@ -2,37 +2,37 @@ navy_rework_category = { eng_naval_history = { icon = GFX_vnr_eng_flag allowed = { tag = HUJ } - complete_effect = { set_global_flag = naval_lore_gui_show } + complete_effect = { set_country_flag = naval_lore_gui_show } } usa_naval_history = { icon = GFX_vnr_usa_flag allowed = { tag = BYG } - complete_effect = { set_global_flag = naval_lore_gui_show } + complete_effect = { set_country_flag = naval_lore_gui_show } } jap_naval_history = { icon = GFX_vnr_jap_flag allowed = { tag = CHY } - complete_effect = { set_global_flag = naval_lore_gui_show } + complete_effect = { set_country_flag = naval_lore_gui_show } } fra_naval_history = { icon = GFX_vnr_fra_flag allowed = { tag = YUW } - complete_effect = { set_global_flag = naval_lore_gui_show } + complete_effect = { set_country_flag = naval_lore_gui_show } } ita_naval_history = { icon = GFX_vnr_ita_flag allowed = { tag = SAD } - complete_effect = { set_global_flag = naval_lore_gui_show } + complete_effect = { set_country_flag = naval_lore_gui_show } } ger_naval_history = { icon = GFX_vnr_ger_flag allowed = { tag = TIX } - complete_effect = { set_global_flag = naval_lore_gui_show } + complete_effect = { set_country_flag = naval_lore_gui_show } } sov_naval_history = { icon = GFX_vnr_sov_flag allowed = { tag = BFL } - complete_effect = { set_global_flag = naval_lore_gui_show } + complete_effect = { set_country_flag = naval_lore_gui_show } } chi_naval_history = { icon = GFX_vnr_chi_flag @@ -42,20 +42,20 @@ navy_rework_category = { tag = DOH } } - complete_effect = { set_global_flag = naval_lore_gui_show } + complete_effect = { set_country_flag = naval_lore_gui_show } } ast_naval_history = { icon = GFX_vnr_ast_flag allowed = { tag = AST } - complete_effect = { set_global_flag = naval_lore_gui_show } + complete_effect = { set_country_flag = naval_lore_gui_show } } show_intro_panel = { visible = { - NOT = { has_global_flag = navy_rework_splash_show } + NOT = { has_country_flag = navy_rework_splash_show } } complete_effect = { - set_global_flag = navy_rework_splash_show + set_country_flag = navy_rework_splash_show set_variable = { navy_rework_welcome_splash_variable = 1 } } } diff --git a/src/common/doctrines/subdoctrines/sea/navy_capital_subdoctrines.txt b/src/common/doctrines/subdoctrines/sea/navy_capital_subdoctrines.txt index fdddf01..89c9220 100755 --- a/src/common/doctrines/subdoctrines/sea/navy_capital_subdoctrines.txt +++ b/src/common/doctrines/subdoctrines/sea/navy_capital_subdoctrines.txt @@ -8,7 +8,10 @@ fast_battleship_primacy = { xp_type = navy available = { - always = yes + has_navy_size = { + archetype = ship_hull_heavy + size > 3 + } } ai_will_do = { @@ -112,7 +115,14 @@ battlecruiser_supremacy = { xp_type = navy available = { - always = yes + has_navy_size = { + unit = battle_cruiser + size > 1 + } + has_navy_size = { + unit = battleship + size > 1 + } } ai_will_do = { @@ -225,7 +235,10 @@ armored_raiders = { xp_type = navy available = { - always = yes + has_navy_size = { + archetype = ship_hull_heavy + size > 0 + } } ai_will_do = { @@ -394,9 +407,6 @@ naval_gunfire_support = { xp_cost = 75 xp_type = navy - available = { - always = yes - } visible = { has_dlc = "No Compromise, No Surrender" } @@ -417,8 +427,11 @@ naval_gunfire_support = { } inshore_aa_screen = { - modifier = { - navy_anti_air_attack_factor = 0.1 + heavy_cruiser = { + anti_air_attack = 0.1 + } + medium_cruiser = { + anti_air_attack = 0.1 } } @@ -473,7 +486,11 @@ battleship_antiair_screen = { xp_type = navy available = { - always = yes + has_navy_size = { + archetype = ship_hull_heavy + size > 3 + } + has_tech = aviation_dawn } ai_will_do = { diff --git a/src/common/doctrines/subdoctrines/sea/navy_carrier_doctrines.txt b/src/common/doctrines/subdoctrines/sea/navy_carrier_doctrines.txt index 69b4107..860fbda 100755 --- a/src/common/doctrines/subdoctrines/sea/navy_carrier_doctrines.txt +++ b/src/common/doctrines/subdoctrines/sea/navy_carrier_doctrines.txt @@ -19,11 +19,7 @@ carrier_battlegroups = { has_tech = aviation_dawn has_navy_size = { unit = carrier - size > 4 - } - NOT = { - has_doctrine = coastal_defence_fleet - has_doctrine = naval_gunfire_support + size > 3 } } @@ -52,7 +48,6 @@ carrier_battlegroups = { carrier_sub_detection = 0.05 } modifier = { - navy_carrier_air_agility_factor = 0.1 naval_strike_agility_factor = 0.1 } } @@ -64,19 +59,18 @@ carrier_battlegroups = { sortie_efficiency = 0.1 } } - fleet_antiair = { + early_warning_system = { carrier = { max_organisation = 15 anti_air_attack = 0.15 } modifier = { - sortie_efficiency = 0.1 fighter_sortie_efficiency = 0.1 } } alpha_strike = { modifier = { - sortie_efficiency = 0.1 + sortie_efficiency = 0.2 naval_strike_targetting_factor = 0.15 carrier_capacity_penalty_reduction = -0.1 } @@ -97,11 +91,7 @@ floating_airfields = { has_tech = aviation_dawn has_navy_size = { unit = carrier - size > 4 - } - NOT = { - has_doctrine = coastal_defence_fleet - has_doctrine = naval_gunfire_support + size > 3 } } @@ -129,7 +119,7 @@ floating_airfields = { carrier_surface_detection = 0.05 carrier_sub_detection = 0.05 } - navy_anti_air_attack_factor = 0.10 + navy_carrier_air_attack_factor = 0.10 rewards = { enclosed_hangar = { @@ -149,10 +139,8 @@ floating_airfields = { } dogfight_training = { navy_carrier_air_agility_factor = 0.1 + navy_carrier_air_attack_factor = 0.05 sortie_efficiency = 0.05 - carrier = { - anti_air_attack = 0.05 - } } all_weather_combat = { sortie_efficiency = 0.1 @@ -246,10 +234,6 @@ carrier_concentration = { unit = carrier size > 5 } - NOT = { - has_doctrine = coastal_defence_fleet - has_doctrine = naval_gunfire_support - } } sortie_efficiency = 0.1 @@ -321,7 +305,9 @@ naval_airfoce = { } naval_retreat_speed_after_initial_combat = 0.1 - naval_strike_attack_factor = 0.05 + category_nav_bomber = { + naval_strike_attack = 0.1 + } rewards = { direct_fire_avoidance = { @@ -332,14 +318,16 @@ naval_airfoce = { land_based_support = { category_nav_bomber = { air_range = 0.25 + naval_strike_attack = 0.05 } } air_raiders = { category_nav_bomber = { air_defence = 0.1 + naval_strike_targetting = 0.1 } modifier = { - naval_strike_targetting_factor = 0.1 + air_weather_penalty = -0.1 } } evasive_engagements_focus = { @@ -349,8 +337,11 @@ naval_airfoce = { naval_enemy_fleet_size_ratio_penalty_factor = 0.1 } airpower = { - naval_strike_attack_factor = 0.1 - naval_strike_agility_factor = 0.1 + category_nav_bomber = { + naval_strike_attack = 0.1 + naval_strike_targetting = 0.1 + air_agility = 0.1 + } } } mastery = { diff --git a/src/common/doctrines/subdoctrines/sea/navy_screen_doctrines.txt b/src/common/doctrines/subdoctrines/sea/navy_screen_doctrines.txt index 126be19..f2b9d9b 100755 --- a/src/common/doctrines/subdoctrines/sea/navy_screen_doctrines.txt +++ b/src/common/doctrines/subdoctrines/sea/navy_screen_doctrines.txt @@ -8,7 +8,10 @@ convoy_escort = { xp_type = navy available = { - always = yes + has_navy_size = { + type = screen_ship + size > 9 + } } ai_will_do = { @@ -83,7 +86,14 @@ support_integrated_operations = { xp_type = navy available = { - always = yes + has_navy_size = { + unit = light_cruiser + size > 3 + } + has_navy_size = { + unit = destroyer + size > 9 + } } ai_will_do = { @@ -165,7 +175,11 @@ hunter_killers = { xp_type = navy available = { - + has_navy_size = { + type = screen_ship + size > 9 + } + has_tech = sonar } ai_will_do = { @@ -243,7 +257,11 @@ torpedo_primacy = { } } available = { - always = yes + has_navy_size = { + type = screen_ship + size > 9 + } + has_tech = basic_torpedo } naval_torpedo_hit_chance_factor = 0.1 naval_torpedo_cooldown_factor = -0.125 @@ -294,8 +312,11 @@ jeune_ecole = { xp_type = navy available = { - #TODO: special project - always = yes + has_navy_size = { + type = screen_ship + size > 9 + } + has_tech = basic_torpedo } ai_will_do = { factor = 1 diff --git a/src/common/doctrines/subdoctrines/sea/navy_submarine_doctrines.txt b/src/common/doctrines/subdoctrines/sea/navy_submarine_doctrines.txt index cc61da0..cc85775 100755 --- a/src/common/doctrines/subdoctrines/sea/navy_submarine_doctrines.txt +++ b/src/common/doctrines/subdoctrines/sea/navy_submarine_doctrines.txt @@ -8,7 +8,11 @@ wolfpacks = { xp_type = navy available = { - always = yes + has_navy_size = { + type = submarine + size > 9 + } + has_tech = basic_ship_hull_submarine } ai_will_do = { @@ -76,7 +80,10 @@ submarine_fleet_operations = { xp_type = navy available = { - always = yes + has_navy_size = { + type = submarine + size > 9 + } } ai_will_do = { @@ -155,7 +162,10 @@ capital_hunters = { } } available = { - always = yes + has_navy_size = { + type = submarine + size > 9 + } } naval_torpedo_reveal_chance_factor = -0.1 @@ -206,6 +216,10 @@ submarine_coastal_defense = { } available = { + has_navy_size = { + type = submarine + size > 0 + } has_tech = midget_submarines } @@ -273,6 +287,13 @@ submarine_area_denial = { description = SUBDOCTRINE_SUBMARINE_AREA_DENIAL_DESC icon = GFX_doctrine_submarine_area_denial_medium + available = { + has_navy_size = { + type = submarine + size > 9 + } + } + xp_cost = 100 xp_type = navy ai_will_do = { diff --git a/src/common/scripted_effects/_add_starting_tech.txt b/src/common/scripted_effects/_add_starting_tech.txt index 1137d98..35712f0 100755 --- a/src/common/scripted_effects/_add_starting_tech.txt +++ b/src/common/scripted_effects/_add_starting_tech.txt @@ -65,6 +65,7 @@ add_starting_techs = { sonar = 1 basic_super_heavy_battery = 1 + bb_conversion_carrier = 1 popup = no } } @@ -103,6 +104,7 @@ add_starting_techs = { basic_super_heavy_battery = 1 usa_8in_mk9 = 1 + bb_conversion_carrier = 1 popup = no } } @@ -142,6 +144,7 @@ add_starting_techs = { basic_super_heavy_battery = 1 eng_14in_mk7 = 1 + bb_conversion_carrier = 1 popup = no } } @@ -229,6 +232,7 @@ add_starting_techs = { cruiser_submarines = 1 midget_submarines = 1 fra_13in_1931 = 1 + bb_conversion_carrier = 1 popup = no } @@ -258,6 +262,7 @@ add_starting_techs = { cruiser_submarines = 1 improved_ship_torpedo_launcher = 1 ita_extra_armor = 1 + bb_conversion_carrier = 1 popup = no } diff --git a/src/common/scripted_triggers/_vnr_scripted_triggers.txt b/src/common/scripted_triggers/_vnr_scripted_triggers.txt index e1afdac..fd72ad7 100755 --- a/src/common/scripted_triggers/_vnr_scripted_triggers.txt +++ b/src/common/scripted_triggers/_vnr_scripted_triggers.txt @@ -55,7 +55,10 @@ is_ai_naval_major = { tag = BFL tag = BYG } - is_ai = yes + OR = { + is_ai = yes + is_debug = yes + } } allow_to_use_expert_navy = { @@ -73,6 +76,9 @@ allow_to_use_expert_navy = { has_game_rule = { rule = usa_start_expert_navy option = FREE } } } - is_ai = yes + OR = { + is_ai = yes + is_debug = yes + } has_game_rule = { rule = ai_ship_design_style option = EXPERT } } \ No newline at end of file diff --git a/src/common/technologies/MTG_naval.txt b/src/common/technologies/MTG_naval.txt index cfa10da..de2e0bd 100755 --- a/src/common/technologies/MTG_naval.txt +++ b/src/common/technologies/MTG_naval.txt @@ -930,7 +930,17 @@ technologies = { } on_research_complete = { - hidden_effect = { add_ideas = vnr_destroyer_cost_1 } + hidden_effect = { + add_equipment_bonus = { + name = vnr_destroyer_cost_1 + bonus = { + ship_hull_light = { + instant = yes + build_cost_ic = -0.1 + } + } + } + } } ai_will_do = { @@ -1532,10 +1542,20 @@ technologies = { position = { x = 4 y = @1948_module } } on_research_complete = { - hidden_effect = { add_ideas = vnr_cruiser_cost_2 } + hidden_effect = { + add_equipment_bonus = { + name = vnr_cruiser_cost_2 + bonus = { + ship_hull_cruiser = { + instant = yes + build_cost_ic = -0.1 + } + } + } + } } ai_will_do = { - factor = 0 + factor = 0.5 } special_project_specialization = { specialization_naval } @@ -2085,7 +2105,17 @@ technologies = { } on_research_complete = { - hidden_effect = { add_ideas = vnr_cruiser_cost_1 } + hidden_effect = { + add_equipment_bonus = { + name = vnr_cruiser_cost_1 + bonus = { + ship_hull_cruiser = { + instant = yes + build_cost_ic = -0.05 + } + } + } + } } ai_will_do = { @@ -4157,8 +4187,6 @@ technologies = { ship_deck_space_more carrier_spared_squad carrier_wooden_deck - carrier_bb_conversion - carrier_bc_conversion ship_hull_civilian_role_av ship_hull_carrier_role_cv ship_hull_carrier_role_cvl @@ -4199,7 +4227,6 @@ technologies = { } enable_equipments = { - vnr_ship_hull_carrier_conversion_bb vnr_ship_hull_carrier_conversion_ca } @@ -4293,7 +4320,7 @@ technologies = { arresting_gear = 1 } - research_cost = 1.5 + research_cost = 2 start_year = 1932 @@ -4778,7 +4805,18 @@ technologies = { } on_research_complete = { - hidden_effect = { add_ideas = vnr_carrier_cost_1 } + custom_effect_tooltip = cv_tech_6_tt + hidden_effect = { + add_equipment_bonus = { + name = vnr_carrier_cost_1 + bonus = { + ship_hull_carrier = { + instant = yes + build_cost_ic = -0.1 + } + } + } + } } ai_will_do = { @@ -5669,7 +5707,17 @@ technologies = { } on_research_complete = { - hidden_effect = { add_ideas = vnr_submarine_cost_1 } + hidden_effect = { + add_equipment_bonus = { + name = vnr_submarine_cost_1 + bonus = { + ship_hull_submarine = { + instant = yes + build_cost_ic = -0.15 + } + } + } + } } ai_will_do = { @@ -6137,10 +6185,15 @@ technologies = { } } converted_super_heavy_carrier = { + enable_equipments = { + vnr_ship_hull_carrier_conversion_bb + } enable_equipment_modules = { carrier_shbb_conversion ship_deck_space_converted ship_armor_carrier_shbb + carrier_bb_conversion + carrier_bc_conversion } research_cost = 1 @@ -6210,10 +6263,6 @@ technologies = { } research_cost = 0.4 start_year = 1940 - - ai_will_do = { - factor = 1 - } } super_carriers = { on_research_complete = { @@ -6276,6 +6325,21 @@ technologies = { } } + bb_conversion_carrier = { + allow = { + always = no + } + enable_equipments = { + vnr_ship_hull_carrier_conversion_bb + } + enable_equipment_modules = { + carrier_bb_conversion + carrier_bc_conversion + } + research_cost = 1 + start_year = 1918 + } + obsolete_vanilla_hulls = { enable_equipments = { ship_hull_light_1 diff --git a/src/common/technologies/MTG_naval_Support.txt b/src/common/technologies/MTG_naval_Support.txt index a9ac138..490c239 100755 --- a/src/common/technologies/MTG_naval_Support.txt +++ b/src/common/technologies/MTG_naval_Support.txt @@ -1596,7 +1596,9 @@ technologies = { } electric_torpedo = { - + allow = { + NOT = { has_tech = oxygen_torpedo } + } xp_research_type = navy xp_boost_cost = 20 xp_research_bonus = 1.50 @@ -1641,7 +1643,9 @@ technologies = { } oxygen_torpedo = { - + allow = { + NOT = { has_tech = electric_torpedo } + } xp_research_type = navy xp_boost_cost = 20 xp_research_bonus = 1.50 diff --git a/src/events/MTG_naval_treaty_events.txt b/src/events/MTG_naval_treaty_events.txt index 69afb5d..300d636 100755 --- a/src/events/MTG_naval_treaty_events.txt +++ b/src/events/MTG_naval_treaty_events.txt @@ -360,6 +360,7 @@ country_event = { #notification about 2nd London Naval Conference OR = { has_government = fascism has_government = communism + tag = CHY } } custom_effect_tooltip = fascism_renew_naval_treaty_tt