From 64fc1f52cf948bc1c15043b20537e3fbb2aae7a6 Mon Sep 17 00:00:00 2001 From: "actions[bot]" Date: Fri, 28 Nov 2025 04:00:57 +0000 Subject: [PATCH] 2025-11-28 04:00:57 --- .../ai_navy/fleet/ENG_fleet_templates.txt | 30 ++ .../ai_navy/fleet/FRA_fleet_templates.txt | 30 ++ .../ai_navy/fleet/GER_fleet_templates.txt | 31 ++ .../ai_navy/fleet/ITA_fleet_templates.txt | 30 ++ .../ai_navy/fleet/JAP_fleet_templates.txt | 30 ++ .../ai_navy/fleet/SOV_fleet_templates.txt | 29 ++ .../ai_navy/fleet/USA_fleet_templates.txt | 29 ++ .../ai_navy/fleet/generic_fleet_templates.txt | 11 +- src/common/ai_navy/goals/goals_ENG.txt | 98 +++++ src/common/ai_navy/goals/goals_FRA.txt | 98 +++++ src/common/ai_navy/goals/goals_GER.txt | 98 +++++ src/common/ai_navy/goals/goals_ITA.txt | 98 +++++ src/common/ai_navy/goals/goals_JAP.txt | 109 ++++++ src/common/ai_navy/goals/goals_SOV.txt | 98 +++++ src/common/ai_navy/goals/goals_USA.txt | 98 +++++ src/common/ai_navy/goals/goals_generic.txt | 54 ++- .../taskforce/ENG_taskforce_templates.txt | 190 +++++++++ .../taskforce/FRA_taskforce_templates.txt | 182 +++++++++ .../taskforce/GER_taskforce_templates.txt | 175 +++++++++ .../taskforce/ITA_taskforce_templates.txt | 173 ++++++++ .../taskforce/JAP_taskforce_templates.txt | 193 +++++++++ .../taskforce/SOV_taskforce_templates.txt | 158 ++++++++ .../taskforce/USA_taskforce_templates.txt | 160 ++++++++ .../taskforce/generic_taskforce_templates.txt | 209 ++++++++-- src/common/ai_strategy/naval_production.txt | 6 +- src/common/ai_strategy/vnr_naval_strategy.txt | 108 ++++- src/common/defines/VNR_naval_defines.lua | 370 +++++++++--------- .../grand_doctrines/sea_grand_doctrines.txt | 2 +- .../sea/navy_carrier_doctrines.txt | 2 + .../sea/navy_screen_doctrines.txt | 4 + .../sea/navy_submarine_doctrines.txt | 12 - .../doctrines/tracks/sea_doctrine_tracks.txt | 8 +- src/common/ideas/navy_spirits.txt | 2 +- .../scripted_effects/_add_never_built.txt | 1 - src/common/technologies/MTG_naval.txt | 18 +- src/common/technologies/MTG_naval_Support.txt | 368 +++-------------- src/events/MTG_naval_treaty_events.txt | 5 + src/events/ai_ships.txt | 7 +- .../vnr_navy_spirits/disciplined_crewmen.png | Bin 3314 -> 0 bytes src/interface/countrytechtreeview.gui | 2 +- .../replace/vnr_naval_develop_l_english.yml | 2 - .../replace/vnr_naval_develop_l_english.yml | 2 - .../vnr_naval_develop_l_simp_chinese.yml | 2 - 43 files changed, 2744 insertions(+), 588 deletions(-) create mode 100755 src/common/ai_navy/fleet/ENG_fleet_templates.txt create mode 100755 src/common/ai_navy/fleet/FRA_fleet_templates.txt create mode 100755 src/common/ai_navy/fleet/GER_fleet_templates.txt create mode 100755 src/common/ai_navy/fleet/ITA_fleet_templates.txt create mode 100755 src/common/ai_navy/fleet/JAP_fleet_templates.txt create mode 100755 src/common/ai_navy/fleet/SOV_fleet_templates.txt create mode 100755 src/common/ai_navy/fleet/USA_fleet_templates.txt create mode 100755 src/common/ai_navy/goals/goals_ENG.txt create mode 100755 src/common/ai_navy/goals/goals_FRA.txt create mode 100755 src/common/ai_navy/goals/goals_GER.txt create mode 100755 src/common/ai_navy/goals/goals_ITA.txt create mode 100755 src/common/ai_navy/goals/goals_JAP.txt create mode 100755 src/common/ai_navy/goals/goals_SOV.txt create mode 100755 src/common/ai_navy/goals/goals_USA.txt create mode 100755 src/common/ai_navy/taskforce/ENG_taskforce_templates.txt create mode 100755 src/common/ai_navy/taskforce/FRA_taskforce_templates.txt create mode 100755 src/common/ai_navy/taskforce/GER_taskforce_templates.txt create mode 100755 src/common/ai_navy/taskforce/ITA_taskforce_templates.txt create mode 100755 src/common/ai_navy/taskforce/JAP_taskforce_templates.txt create mode 100755 src/common/ai_navy/taskforce/SOV_taskforce_templates.txt create mode 100755 src/common/ai_navy/taskforce/USA_taskforce_templates.txt delete mode 100755 src/gfx/interface/ideas/vnr_navy_spirits/disciplined_crewmen.png diff --git a/src/common/ai_navy/fleet/ENG_fleet_templates.txt b/src/common/ai_navy/fleet/ENG_fleet_templates.txt new file mode 100755 index 0000000..0d867da --- /dev/null +++ b/src/common/ai_navy/fleet/ENG_fleet_templates.txt @@ -0,0 +1,30 @@ +ENG_dominance_fleet_1 = { + required_taskforces = { + ENG_StrikeForce_1 = 1 + ENG_PatrolDominanceForce_1 = 1 + ENG_PatrolReconForce_1 = 3 + } + optional_taskforces = { + ENG_PatrolReconForce_1 = 1 + ENG_PatrolDominanceForce_2 = 1 + ENG_PatrolDominanceForce_3 = 1 + } +} + +ENG_raiding_fleet_2 = { + required_taskforces = { + ENG_ConvoyRaiding_1 = 2 + } + optional_taskforces = { + ENG_ConvoyRaiding_1 = 2 + } +} + +ENG_escort_fleet_3 = { + required_taskforces = { + ENG_ConvoyEscort_1 = 2 + } + optional_taskforces = { + ENG_ConvoyEscort_1 = 2 + } +} diff --git a/src/common/ai_navy/fleet/FRA_fleet_templates.txt b/src/common/ai_navy/fleet/FRA_fleet_templates.txt new file mode 100755 index 0000000..ddad650 --- /dev/null +++ b/src/common/ai_navy/fleet/FRA_fleet_templates.txt @@ -0,0 +1,30 @@ +FRA_dominance_fleet_1 = { + required_taskforces = { + FRA_StrikeForce_1 = 1 + FRA_PatrolDominanceForce_1 = 1 + FRA_PatrolReconForce_1 = 3 + } + optional_taskforces = { + FRA_PatrolReconForce_1 = 1 + FRA_PatrolDominanceForce_2 = 1 + } +} + +FRA_raiding_fleet_2 = { + required_taskforces = { + FRA_ConvoyRaiding_1 = 2 + } + optional_taskforces = { + FRA_ConvoyRaiding_1 = 2 + } +} + +FRA_escort_fleet_3 = { + required_taskforces = { + FRA_ConvoyEscort_1 = 2 + } + optional_taskforces = { + FRA_ConvoyEscort_1 = 2 + FRA_ConvoySurfaceRaiding_1 = 1 + } +} diff --git a/src/common/ai_navy/fleet/GER_fleet_templates.txt b/src/common/ai_navy/fleet/GER_fleet_templates.txt new file mode 100755 index 0000000..e8b0edb --- /dev/null +++ b/src/common/ai_navy/fleet/GER_fleet_templates.txt @@ -0,0 +1,31 @@ +GER_dominance_fleet_1 = { + required_taskforces = { + GER_StrikeForce_1 = 1 + GER_PatrolDominanceForce_1 = 1 + GER_PatrolReconForce_1 = 3 + } + optional_taskforces = { + GER_StrikeForceCarrier_1 = 1 + GER_PatrolReconForce_1 = 1 + GER_PatrolDominanceForce_1 = 1 + } +} + +GER_raiding_fleet_2 = { + required_taskforces = { + GER_ConvoyRaiding_1 = 4 + } + optional_taskforces = { + GER_ConvoyRaiding_1 = 2 + GER_ConvoySurfaceRaiding_1 = 1 + } +} + +GER_escort_fleet_3 = { + required_taskforces = { + GER_ConvoyEscort_1 = 1 + } + optional_taskforces = { + GER_ConvoyEscort_1 = 1 + } +} diff --git a/src/common/ai_navy/fleet/ITA_fleet_templates.txt b/src/common/ai_navy/fleet/ITA_fleet_templates.txt new file mode 100755 index 0000000..afe0506 --- /dev/null +++ b/src/common/ai_navy/fleet/ITA_fleet_templates.txt @@ -0,0 +1,30 @@ +ITA_dominance_fleet_1 = { + required_taskforces = { + ITA_StrikeForce_1 = 1 + ITA_PatrolDominanceForce_1 = 1 + ITA_PatrolReconForce_1 = 3 + } + optional_taskforces = { + ITA_StrikeForceCarrier_1 = 1 + ITA_PatrolReconForce_1 = 1 + ITA_PatrolDominanceForce_1 = 1 + } +} + +ITA_raiding_fleet_2 = { + required_taskforces = { + ITA_ConvoyRaiding_1 = 2 + } + optional_taskforces = { + ITA_ConvoyRaiding_1 = 2 + } +} + +ITA_escort_fleet_3 = { + required_taskforces = { + ITA_ConvoyEscort_1 = 1 + } + optional_taskforces = { + ITA_ConvoyEscort_1 = 1 + } +} diff --git a/src/common/ai_navy/fleet/JAP_fleet_templates.txt b/src/common/ai_navy/fleet/JAP_fleet_templates.txt new file mode 100755 index 0000000..f56733a --- /dev/null +++ b/src/common/ai_navy/fleet/JAP_fleet_templates.txt @@ -0,0 +1,30 @@ +JAP_dominance_fleet_1 = { + required_taskforces = { + JAP_StrikeForce_1 = 1 + JAP_PatrolDominanceForce_1 = 1 + JAP_PatrolReconForce_1 = 3 + } + optional_taskforces = { + JAP_PatrolReconForce_1 = 1 + JAP_PatrolDominanceForce_2 = 1 + JAP_PatrolDominanceForce_3 = 1 + } +} + +JAP_raiding_fleet_2 = { + required_taskforces = { + JAP_ConvoyRaiding_1 = 2 + } + optional_taskforces = { + JAP_ConvoyRaiding_1 = 2 + } +} + +JAP_escort_fleet_3 = { + required_taskforces = { + JAP_ConvoyEscort_1 = 2 + } + optional_taskforces = { + JAP_ConvoyEscort_1 = 2 + } +} diff --git a/src/common/ai_navy/fleet/SOV_fleet_templates.txt b/src/common/ai_navy/fleet/SOV_fleet_templates.txt new file mode 100755 index 0000000..4f826be --- /dev/null +++ b/src/common/ai_navy/fleet/SOV_fleet_templates.txt @@ -0,0 +1,29 @@ +SOV_dominance_fleet_1 = { + required_taskforces = { + SOV_StrikeForce_1 = 1 + SOV_PatrolDominanceForce_1 = 1 + SOV_PatrolReconForce_1 = 3 + } + optional_taskforces = { + SOV_PatrolDominanceForce_2 = 1 + SOV_PatrolReconForce_1 = 1 + } +} + +SOV_raiding_fleet_2 = { + required_taskforces = { + SOV_ConvoyRaiding_1 = 2 + } + optional_taskforces = { + SOV_ConvoyRaiding_1 = 2 + } +} + +SOV_escort_fleet_3 = { + required_taskforces = { + SOV_ConvoyEscort_1 = 2 + } + optional_taskforces = { + SOV_ConvoyEscort_1 = 2 + } +} diff --git a/src/common/ai_navy/fleet/USA_fleet_templates.txt b/src/common/ai_navy/fleet/USA_fleet_templates.txt new file mode 100755 index 0000000..88116cf --- /dev/null +++ b/src/common/ai_navy/fleet/USA_fleet_templates.txt @@ -0,0 +1,29 @@ +USA_dominance_fleet_1 = { + required_taskforces = { + USA_StrikeForce_1 = 1 + USA_PatrolDominanceForce_1 = 1 + USA_PatrolReconForce_1 = 3 + } + optional_taskforces = { + USA_PatrolDominanceForce_2 = 2 + USA_PatrolReconForce_1 = 1 + } +} + +USA_raiding_fleet_1 = { + required_taskforces = { + USA_ConvoyRaiding_1 = 2 + } + optional_taskforces = { + USA_ConvoyRaiding_1 = 2 + } +} + +USA_escort_fleet_1 = { + required_taskforces = { + USA_ConvoyEscort_1 = 2 + } + optional_taskforces = { + USA_ConvoyEscort_1 = 2 + } +} diff --git a/src/common/ai_navy/fleet/generic_fleet_templates.txt b/src/common/ai_navy/fleet/generic_fleet_templates.txt index b91fc32..88595c6 100755 --- a/src/common/ai_navy/fleet/generic_fleet_templates.txt +++ b/src/common/ai_navy/fleet/generic_fleet_templates.txt @@ -1,13 +1,14 @@ generic_dominance_fleet_1 = { required_taskforces = { StrikeForce_1 = 1 - PatrolDominanceForce_1 = 2 + PatrolDominanceForce_CA_1 = 2 + PatrolDominanceForce_BC_1 = 1 PatrolReconForce_1 = 2 } optional_taskforces = { StrikeForce_1 = 1 PatrolReconForce_1 = 1 - PatrolDominanceForce_1 = 1 + PatrolDominanceForce_CA_1 = 1 } } @@ -28,3 +29,9 @@ generic_escort_fleet_3 = { ConvoyEscort_1 = 1 } } + +generic_minelaying_fleet_4 = { + required_taskforces = { + MineLaying_1 = 1 + } +} \ No newline at end of file diff --git a/src/common/ai_navy/goals/goals_ENG.txt b/src/common/ai_navy/goals/goals_ENG.txt new file mode 100755 index 0000000..d483531 --- /dev/null +++ b/src/common/ai_navy/goals/goals_ENG.txt @@ -0,0 +1,98 @@ +ENG_naval_invasion_support = { + objective_type = naval_invasion_support + + available_for = { + ENG + } + + min_priority = 4 + max_priority = 14 +} + +ENG_mine_sweeping = { + objective_type = mines_sweeping + + available_for = { + ENG + } + + min_priority = 0 + max_priority = 1 +} + +ENG_invasion_defense = { + objective_type = naval_invasion_defense + + available_for = { + ENG + } + + min_priority = 5 + max_priority = 15 +} + +ENG_coast_defense = { + objective_type = coast_defense + + available_for = { + ENG + } + + min_priority = 5 + max_priority = 16 +} + +ENG_convoy_protection = { + objective_type = convoy_protection + + available_for = { + ENG + } + + min_priority = 1 + max_priority = 5 +} + +ENG_convoy_raiding = { + objective_type = convoy_raiding + + available_for = { + ENG + } + + min_priority = 3 + max_priority = 10 +} + +ENG_naval_dominance = { + objective_type = naval_dominance + + available_for = { + ENG + } + + min_priority = 12 + max_priority = 20 +} + +ENG_mine_laying = { + objective_type = mines_planting + + available_for = { + ENG + } + + min_priority = 0 + max_priority = 1 +} + +ENG_training = { + objective_type = training + + available_for = { + ENG + } + + min_priority = 10 + max_priority = 20 +} \ No newline at end of file diff --git a/src/common/ai_navy/goals/goals_FRA.txt b/src/common/ai_navy/goals/goals_FRA.txt new file mode 100755 index 0000000..118e613 --- /dev/null +++ b/src/common/ai_navy/goals/goals_FRA.txt @@ -0,0 +1,98 @@ +FRA_naval_invasion_support = { + objective_type = naval_invasion_support + + available_for = { + FRA + } + + min_priority = 4 + max_priority = 14 +} + +FRA_mine_sweeping = { + objective_type = mines_sweeping + + available_for = { + FRA + } + + min_priority = 0 + max_priority = 1 +} + +FRA_invasion_defense = { + objective_type = naval_invasion_defense + + available_for = { + FRA + } + + min_priority = 5 + max_priority = 15 +} + +FRA_coast_defense = { + objective_type = coast_defense + + available_for = { + FRA + } + + min_priority = 5 + max_priority = 16 +} + +FRA_convoy_protection = { + objective_type = convoy_protection + + available_for = { + FRA + } + + min_priority = 1 + max_priority = 5 +} + +FRA_convoy_raiding = { + objective_type = convoy_raiding + + available_for = { + FRA + } + + min_priority = 3 + max_priority = 15 +} + +FRA_naval_dominance = { + objective_type = naval_dominance + + available_for = { + FRA + } + + min_priority = 12 + max_priority = 20 +} + +FRA_mine_laying = { + objective_type = mines_planting + + available_for = { + FRA + } + + min_priority = 0 + max_priority = 1 +} + +FRA_training = { + objective_type = training + + available_for = { + FRA + } + + min_priority = 10 + max_priority = 20 +} \ No newline at end of file diff --git a/src/common/ai_navy/goals/goals_GER.txt b/src/common/ai_navy/goals/goals_GER.txt new file mode 100755 index 0000000..c30b9bf --- /dev/null +++ b/src/common/ai_navy/goals/goals_GER.txt @@ -0,0 +1,98 @@ +GER_naval_invasion_support = { + objective_type = naval_invasion_support + + available_for = { + GER + } + + min_priority = 5 + max_priority = 17 +} + +GER_mine_sweeping = { + objective_type = mines_sweeping + + available_for = { + GER + } + + min_priority = 0 + max_priority = 2 +} + +GER_invasion_defense = { + objective_type = naval_invasion_defense + + available_for = { + GER + } + + min_priority = 5 + max_priority = 15 +} + +GER_coast_defense = { + objective_type = coast_defense + + available_for = { + GER + } + + min_priority = 10 + max_priority = 15 +} + +GER_convoy_protection = { + objective_type = convoy_protection + + available_for = { + GER + } + + min_priority = 1 + max_priority = 5 +} + +GER_convoy_raiding = { + objective_type = convoy_raiding + + available_for = { + GER + } + + min_priority = 10 + max_priority = 20 +} + +GER_naval_dominance = { + objective_type = naval_dominance + + available_for = { + GER + } + + min_priority = 1 + max_priority = 13 +} + +GER_mine_laying = { + objective_type = mines_planting + + available_for = { + GER + } + + min_priority = 0 + max_priority = 1 +} + +GER_training = { + objective_type = training + + available_for = { + GER + } + + min_priority = 10 + max_priority = 20 +} \ No newline at end of file diff --git a/src/common/ai_navy/goals/goals_ITA.txt b/src/common/ai_navy/goals/goals_ITA.txt new file mode 100755 index 0000000..884ffa6 --- /dev/null +++ b/src/common/ai_navy/goals/goals_ITA.txt @@ -0,0 +1,98 @@ +ITA_naval_invasion_support = { + objective_type = naval_invasion_support + + available_for = { + ITA + } + + min_priority = 5 + max_priority = 10 +} + +ITA_mine_sweeping = { + objective_type = mines_sweeping + + available_for = { + ITA + } + + min_priority = 0 + max_priority = 2 +} + +ITA_invasion_defense = { + objective_type = naval_invasion_defense + + available_for = { + ITA + } + + min_priority = 5 + max_priority = 20 +} + +ITA_coast_defense = { + objective_type = coast_defense + + available_for = { + ITA + } + + min_priority = 10 + max_priority = 13 +} + +ITA_convoy_protection = { + objective_type = convoy_protection + + available_for = { + ITA + } + + min_priority = 3 + max_priority = 10 +} + +ITA_convoy_raiding = { + objective_type = convoy_raiding + + available_for = { + ITA + } + + min_priority = 10 + max_priority = 16 +} + +ITA_naval_dominance = { + objective_type = naval_dominance + + available_for = { + ITA + } + + min_priority = 1 + max_priority = 8 +} + +ITA_mine_laying = { + objective_type = mines_planting + + available_for = { + ITA + } + + min_priority = 0 + max_priority = 1 +} + +ITA_training = { + objective_type = training + + available_for = { + ITA + } + + min_priority = 10 + max_priority = 20 +} \ No newline at end of file diff --git a/src/common/ai_navy/goals/goals_JAP.txt b/src/common/ai_navy/goals/goals_JAP.txt new file mode 100755 index 0000000..cba3e91 --- /dev/null +++ b/src/common/ai_navy/goals/goals_JAP.txt @@ -0,0 +1,109 @@ +JAP_naval_invasion_support = { + objective_type = naval_invasion_support + + available_for = { + JAP + } + + min_priority = 5 + max_priority = 20 +} + +JAP_mine_sweeping = { + objective_type = mines_sweeping + + available_for = { + JAP + } + + min_priority = 0 + max_priority = 0 +} + +JAP_invasion_defense = { + objective_type = naval_invasion_defense + + available_for = { + JAP + } + + min_priority = 5 + max_priority = 14 +} + +JAP_coast_defense = { + objective_type = coast_defense + + available_for = { + JAP + } + + min_priority = 1 + max_priority = 12 +} + +JAP_convoy_protection = { + objective_type = convoy_protection + + available_for = { + JAP + } + + min_priority = 1 + max_priority = 5 +} + +JAP_convoy_raiding = { + objective_type = convoy_raiding + + available_for = { + JAP + } + + min_priority = 3 + max_priority = 10 +} + +JAP_naval_dominance = { + objective_type = naval_dominance + + available_for = { + JAP + } + + min_priority = 12 + max_priority = 20 +} + +JAP_mine_laying = { + objective_type = mines_planting + + available_for = { + JAP + } + + min_priority = 0 + max_priority = 0 +} + +JAP_training = { + objective_type = training + + available_for = { + JAP + } + + min_priority = 10 + max_priority = 20 +} + +JAP_naval_blockade = { + objective_type = naval_blockade + + available_for = { + JAP + } + + min_priority = 10 + max_priority = 20 +} \ No newline at end of file diff --git a/src/common/ai_navy/goals/goals_SOV.txt b/src/common/ai_navy/goals/goals_SOV.txt new file mode 100755 index 0000000..0966d2b --- /dev/null +++ b/src/common/ai_navy/goals/goals_SOV.txt @@ -0,0 +1,98 @@ +SOV_naval_invasion_support = { + objective_type = naval_invasion_support + + available_for = { + SOV + } + + min_priority = 5 + max_priority = 13 +} + +SOV_mine_sweeping = { + objective_type = mines_sweeping + + available_for = { + SOV + } + + min_priority = 0 + max_priority = 1 +} + +SOV_invasion_defense = { + objective_type = naval_invasion_defense + + available_for = { + SOV + } + + min_priority = 10 + max_priority = 15 +} + +SOV_coast_defense = { + objective_type = coast_defense + + available_for = { + SOV + } + + min_priority = 10 + max_priority = 20 +} + +SOV_convoy_protection = { + objective_type = convoy_protection + + available_for = { + SOV + } + + min_priority = 1 + max_priority = 5 +} + +SOV_convoy_raiding = { + objective_type = convoy_raiding + + available_for = { + SOV + } + + min_priority = 3 + max_priority = 7 +} + +SOV_naval_dominance = { + objective_type = naval_dominance + + available_for = { + SOV + } + + min_priority = 1 + max_priority = 8 +} + +SOV_mine_laying = { + objective_type = mines_planting + + available_for = { + SOV + } + + min_priority = 0 + max_priority = 1 +} + +SOV_training = { + objective_type = training + + available_for = { + SOV + } + + min_priority = 10 + max_priority = 20 +} \ No newline at end of file diff --git a/src/common/ai_navy/goals/goals_USA.txt b/src/common/ai_navy/goals/goals_USA.txt new file mode 100755 index 0000000..e302dc8 --- /dev/null +++ b/src/common/ai_navy/goals/goals_USA.txt @@ -0,0 +1,98 @@ +USA_naval_invasion_support = { + objective_type = naval_invasion_support + + available_for = { + USA + } + + min_priority = 10 + max_priority = 20 +} + +USA_mine_sweeping = { + objective_type = mines_sweeping + + available_for = { + USA + } + + min_priority = 0 + max_priority = 0 +} + +USA_invasion_defense = { + objective_type = naval_invasion_defense + + available_for = { + USA + } + + min_priority = 10 + max_priority = 18 +} + +USA_coast_defense = { + objective_type = coast_defense + + available_for = { + USA + } + + min_priority = 1 + max_priority = 6 +} + +USA_convoy_protection = { + objective_type = convoy_protection + + available_for = { + USA + } + + min_priority = 1 + max_priority = 7 +} + +USA_convoy_raiding = { + objective_type = convoy_raiding + + available_for = { + USA + } + + min_priority = 3 + max_priority = 12 +} + +USA_naval_dominance = { + objective_type = naval_dominance + + available_for = { + USA + } + + min_priority = 15 + max_priority = 20 +} + +USA_mine_laying = { + objective_type = mines_planting + + available_for = { + USA + } + + min_priority = 0 + max_priority = 0 +} + +USA_training = { + objective_type = training + + available_for = { + USA + } + + min_priority = 10 + max_priority = 20 +} \ No newline at end of file diff --git a/src/common/ai_navy/goals/goals_generic.txt b/src/common/ai_navy/goals/goals_generic.txt index aad42fc..0bcb6a3 100755 --- a/src/common/ai_navy/goals/goals_generic.txt +++ b/src/common/ai_navy/goals/goals_generic.txt @@ -1,6 +1,10 @@ generic_naval_invasion_support = { objective_type = naval_invasion_support + blocked_for = { + ENG FRA GER ITA JAP SOV USA + } + min_priority = 4 max_priority = 14 } @@ -8,13 +12,21 @@ generic_naval_invasion_support = { generic_mine_sweeping = { objective_type = mines_sweeping - min_priority = 1 - max_priority = 2 + blocked_for = { + ENG FRA GER ITA JAP SOV USA + } + + min_priority = 2 + max_priority = 8 } generic_invasion_defense = { objective_type = naval_invasion_defense + blocked_for = { + ENG FRA GER ITA JAP SOV USA + } + min_priority = 5 max_priority = 15 } @@ -22,13 +34,21 @@ generic_invasion_defense = { generic_coast_defense = { objective_type = coast_defense + blocked_for = { + ENG FRA GER ITA JAP SOV USA + } + min_priority = 1 - max_priority = 8 + max_priority = 16 } generic_convoy_protection = { objective_type = convoy_protection + blocked_for = { + ENG FRA GER ITA JAP SOV USA + } + min_priority = 1 max_priority = 5 } @@ -36,6 +56,10 @@ generic_convoy_protection = { generic_convoy_raiding = { objective_type = convoy_raiding + blocked_for = { + ENG FRA GER ITA JAP SOV USA + } + min_priority = 3 max_priority = 7 } @@ -43,20 +67,32 @@ generic_convoy_raiding = { generic_naval_dominance = { objective_type = naval_dominance - min_priority = 8 - max_priority = 20 + blocked_for = { + ENG FRA GER ITA JAP SOV USA + } + + min_priority = 1 + max_priority = 13 } generic_mine_laying = { objective_type = mines_planting - min_priority = 0 - max_priority = 0 + blocked_for = { + ENG FRA GER ITA JAP SOV USA + } + + min_priority = 2 + max_priority = 8 } generic_training = { objective_type = training + blocked_for = { + ENG FRA GER ITA JAP SOV USA + } + min_priority = 10 max_priority = 20 } @@ -64,6 +100,10 @@ generic_training = { generic_naval_blockade = { objective_type = naval_blockade + blocked_for = { + ENG FRA GER ITA JAP SOV USA + } + min_priority = 10 max_priority = 20 } \ No newline at end of file diff --git a/src/common/ai_navy/taskforce/ENG_taskforce_templates.txt b/src/common/ai_navy/taskforce/ENG_taskforce_templates.txt new file mode 100755 index 0000000..86a9472 --- /dev/null +++ b/src/common/ai_navy/taskforce/ENG_taskforce_templates.txt @@ -0,0 +1,190 @@ +ENG_StrikeForce_1 = { + allowed = { + original_tag = ENG + } + ai_will_do = { + factor = 1 + } + mission = { naval_strike } + min_composition = { + battleship = { + amount = 4 + } + destroyer = { + amount = 12 + } + } + + optimal_composition = { + carrier = { + amount = 6 + } + battleship = { + amount = 8 + } + light_cruiser = { + amount = 14 + } + destroyer = { + amount = 24 + } + } +} + +ENG_PatrolReconForce_1 = { + allowed = { + original_tag = ENG + } + ai_will_do = { + factor = 5 + } + mission = { naval_patrol } + min_composition = { + destroyer = { + amount = 1 + } + } + optimal_composition = { + destroyer = { + amount = 5 + } + } +} + +ENG_PatrolDominanceForce_1 = { + allowed = { + original_tag = ENG + } + ai_will_do = { + factor = 5 + } + mission = { naval_patrol } + min_composition = { + light_cruiser = { + amount = 2 + } + destroyer = { + amount = 6 + } + } + optimal_composition = { + battleship = { + amount = 4 + } + medium_cruiser = { + amount = 2 + } + light_cruiser = { + amount = 4 + } + destroyer = { + amount = 10 + } + } +} + +ENG_PatrolDominanceForce_2 = { + allowed = { + original_tag = ENG + } + ai_will_do = { + factor = 5 + } + mission = { naval_patrol } + min_composition = { + light_cruiser = { + amount = 2 + } + destroyer = { + amount = 5 + } + } + optimal_composition = { + battle_cruiser = { + amount = 3 + } + medium_cruiser = { + amount = 2 + } + light_cruiser = { + amount = 3 + } + destroyer = { + amount = 10 + } + } +} + +ENG_PatrolDominanceForce_3 = { + allowed = { + original_tag = ENG + } + 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 + } + destroyer = { + amount = 10 + } + } +} + +ENG_ConvoyRaiding_1 = { + allowed = { + original_tag = ENG + } + ai_will_do = { + factor = 1 + } + mission = { convoy_raiding } + min_composition = { + submarine = { + amount = 4 + } + } + + optimal_composition = { + submarine = { + amount = 12 + } + } +} + +ENG_ConvoyEscort_1 = { + allowed = { + original_tag = ENG + } + ai_will_do = { + factor = 5 + } + mission = { convoy_escort } + min_composition = { + destroyer = { + amount = 5 + } + } + + optimal_composition = { + destroyer = { + amount = 10 + } + } +} diff --git a/src/common/ai_navy/taskforce/FRA_taskforce_templates.txt b/src/common/ai_navy/taskforce/FRA_taskforce_templates.txt new file mode 100755 index 0000000..5fdbcbf --- /dev/null +++ b/src/common/ai_navy/taskforce/FRA_taskforce_templates.txt @@ -0,0 +1,182 @@ +FRA_StrikeForce_1 = { + allowed = { + original_tag = FRA + } + ai_will_do = { + factor = 1 + } + mission = { naval_strike } + min_composition = { + light_cruiser = { + amount = 2 + } + destroyer = { + amount = 8 + } + } + + optimal_composition = { + carrier = { + amount = 2 + } + battleship = { + amount = 4 + } + light_cruiser = { + amount = 10 + } + destroyer = { + amount = 22 + + } + } +} + +FRA_PatrolReconForce_1 = { + allowed = { + original_tag = FRA + } + ai_will_do = { + factor = 5 + } + mission = { naval_patrol } + min_composition = { + destroyer = { + amount = 1 + } + } + optimal_composition = { + destroyer = { + amount = 5 + } + } +} + +FRA_PatrolDominanceForce_1 = { + allowed = { + original_tag = FRA + } + ai_will_do = { + factor = 5 + } + mission = { naval_patrol } + min_composition = { + light_cruiser = { + amount = 2 + } + destroyer = { + amount = 4 + } + } + + optimal_composition = { + battleship = { + amount = 2 + } + medium_cruiser = { + amount = 2 + } + light_cruiser = { + amount = 4 + } + destroyer = { + amount = 12 + } + } +} + +FRA_PatrolDominanceForce_2 = { + allowed = { + original_tag = FRA + } + ai_will_do = { + factor = 5 + } + mission = { naval_patrol } + min_composition = { + light_cruiser = { + amount = 2 + } + destroyer = { + amount = 4 + } + } + + optimal_composition = { + heavy_cruiser = { + amount = 4 + } + medium_cruiser = { + amount = 4 + } + light_cruiser = { + amount = 4 + } + destroyer = { + amount = 12 + } + } +} + +FRA_ConvoyRaiding_1 = { + allowed = { + original_tag = FRA + } + ai_will_do = { + factor = 1 + } + mission = { convoy_raiding } + min_composition = { + submarine = { + amount = 4 + } + } + + optimal_composition = { + submarine = { + amount = 12 + } + } +} + +FRA_ConvoySurfaceRaiding_1 = { + allowed = { + original_tag = FRA + } + ai_will_do = { + factor = 1 + } + mission = { convoy_raiding} + min_composition = { + battle_cruiser = { + amount = 1 + } + } + + optimal_composition = { + battle_cruiser = { + amount = 2 + } + } +} + +FRA_ConvoyEscort_1 = { + allowed = { + original_tag = FRA + } + ai_will_do = { + factor = 5 + } + mission = { convoy_escort } + min_composition = { + destroyer = { + amount = 5 + } + } + + optimal_composition = { + destroyer = { + amount = 10 + } + } +} diff --git a/src/common/ai_navy/taskforce/GER_taskforce_templates.txt b/src/common/ai_navy/taskforce/GER_taskforce_templates.txt new file mode 100755 index 0000000..7dba716 --- /dev/null +++ b/src/common/ai_navy/taskforce/GER_taskforce_templates.txt @@ -0,0 +1,175 @@ +GER_StrikeForce_1 = { + allowed = { + original_tag = GER + } + ai_will_do = { + factor = 1 + } + mission = { naval_strike } + min_composition = { + light_cruiser = { + amount = 2 + } + destroyer = { + amount = 8 + } + } + + optimal_composition = { + battleship = { + amount = 4 + } + heavy_cruiser = { + amount = 4 + } + light_cruiser = { + amount = 4 + } + destroyer = { + amount = 22 + } + } +} + +GER_StrikeForceCarrier_1 = { + allowed = { + original_tag = GER + } + ai_will_do = { + factor = 1 + } + mission = { naval_strike } + min_composition = { + destroyer = { + amount = 8 + } + } + + optimal_composition = { + carrier = { + amount = 2 + } + battleship = { + amount = 4 + } + light_cruiser = { + amount = 10 + } + destroyer = { + amount = 20 + } + } +} + +GER_PatrolReconForce_1 = { + allowed = { + original_tag = GER + } + ai_will_do = { + factor = 10 + } + mission = { naval_patrol } + min_composition = { + destroyer = { + amount = 1 + } + } + optimal_composition = { + destroyer = { + amount = 5 + } + } +} + +GER_PatrolDominanceForce_1 = { + allowed = { + original_tag = GER + } + ai_will_do = { + factor = 10 + } + mission = { naval_patrol } + min_composition = { + light_cruiser = { + amount = 2 + } + destroyer = { + amount = 4 + } + } + + optimal_composition = { + heavy_cruiser = { + amount = 3 + } + light_cruiser = { + amount = 4 + } + destroyer = { + amount = 12 + } + } +} + +GER_ConvoyRaiding_1 = { + allowed = { + original_tag = GER + } + ai_will_do = { + factor = 1 + } + mission = { convoy_raiding } + min_composition = { + submarine = { + amount = 4 + } + } + + optimal_composition = { + submarine = { + amount = 12 + } + } +} + +GER_ConvoySurfaceRaiding_1 = { + allowed = { + original_tag = GER + } + ai_will_do = { + factor = 1 + } + mission = { convoy_raiding} + min_composition = { + battle_cruiser = { + amount = 1 + } + } + + optimal_composition = { + battle_cruiser = { + amount = 2 + } + } +} + +GER_ConvoyEscort_1 = { + allowed = { + original_tag = GER + } + ai_will_do = { + factor = 5 + } + mission = { convoy_escort } + min_composition = { + destroyer = { + amount = 3 + } + } + + optimal_composition = { + destroyer = { + amount = 10 + } + } +} diff --git a/src/common/ai_navy/taskforce/ITA_taskforce_templates.txt b/src/common/ai_navy/taskforce/ITA_taskforce_templates.txt new file mode 100755 index 0000000..d24a3fe --- /dev/null +++ b/src/common/ai_navy/taskforce/ITA_taskforce_templates.txt @@ -0,0 +1,173 @@ +ITA_StrikeForce_1 = { + allowed = { + original_tag = ITA + } + ai_will_do = { + factor = 1 + } + mission = { naval_strike } + min_composition = { + destroyer = { + amount = 8 + } + } + + optimal_composition = { + battleship = { + amount = 4 + } + heavy_cruiser = { + amount = 4 + } + light_cruiser = { + amount = 4 + } + destroyer = { + amount = 28 + } + } +} +ITA_StrikeForceCarrier_1 = { + allowed = { + original_tag = ITA + } + ai_will_do = { + factor = 1 + } + mission = { naval_strike } + min_composition = { + destroyer = { + amount = 8 + } + } + + optimal_composition = { + carrier = { + amount = 2 + } + battleship = { + amount = 4 + } + light_cruiser = { + amount = 10 + } + destroyer = { + amount = 20 + } + } +} + +ITA_PatrolReconForce_1 = { + allowed = { + original_tag = ITA + } + ai_will_do = { + factor = 5 + } + mission = { naval_patrol } + min_composition = { + destroyer = { + amount = 1 + } + } + optimal_composition = { + destroyer = { + amount = 5 + } + } +} + +ITA_PatrolDominanceForce_1 = { + allowed = { + original_tag = ITA + } + ai_will_do = { + factor = 5 + } + mission = { naval_patrol } + min_composition = { + light_cruiser = { + amount = 2 + } + destroyer = { + amount = 4 + } + } + + optimal_composition = { + heavy_cruiser = { + amount = 3 + } + medium_cruiser = { + amount = 2 + } + light_cruiser = { + amount = 4 + } + destroyer = { + amount = 12 + } + } +} + +ITA_ConvoyRaiding_1 = { + allowed = { + original_tag = ITA + } + ai_will_do = { + factor = 1 + } + mission = { convoy_raiding } + min_composition = { + submarine = { + amount = 4 + } + } + optimal_composition = { + submarine = { + amount = 12 + } + } +} + +ITA_ConvoySurfaceRaiding_1 = { + allowed = { + original_tag = ITA + } + 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 = ITA + } + ai_will_do = { + factor = 5 + } + mission = { convoy_escort } + min_composition = { + destroyer = { + amount = 3 + } + } + + optimal_composition = { + destroyer = { + amount = 10 + } + } +} diff --git a/src/common/ai_navy/taskforce/JAP_taskforce_templates.txt b/src/common/ai_navy/taskforce/JAP_taskforce_templates.txt new file mode 100755 index 0000000..3cc1fae --- /dev/null +++ b/src/common/ai_navy/taskforce/JAP_taskforce_templates.txt @@ -0,0 +1,193 @@ +JAP_StrikeForce_1 = { + allowed = { + original_tag = JAP + } + ai_will_do = { + factor = 15 + } + mission = { naval_strike } + min_composition = { + battleship = { + amount = 4 + } + destroyer = { + amount = 12 + } + } + + optimal_composition = { + carrier = { + amount = 6 + } + battleship = { + amount = 8 + } + light_cruiser = { + amount = 14 + } + destroyer = { + amount = 25 + } + } +} + +JAP_PatrolReconForce_1 = { + allowed = { + original_tag = JAP + } + ai_will_do = { + factor = 10 + } + mission = { naval_patrol } + min_composition = { + destroyer = { + amount = 1 + } + } + optimal_composition = { + destroyer = { + amount = 5 + } + } +} + +JAP_PatrolDominanceForce_1 = { + allowed = { + original_tag = JAP + } + ai_will_do = { + factor = 10 + } + mission = { naval_patrol } + min_composition = { + light_cruiser = { + amount = 2 + } + destroyer = { + amount = 6 + } + } + + optimal_composition = { + battleship = { + amount = 4 + } + medium_cruiser = { + amount = 2 + } + light_cruiser = { + amount = 4 + } + destroyer = { + amount = 10 + } + } +} + +JAP_PatrolDominanceForce_2 = { + allowed = { + original_tag = JAP + } + ai_will_do = { + factor = 10 + } + mission = { naval_patrol } + min_composition = { + light_cruiser = { + amount = 2 + } + destroyer = { + amount = 6 + } + } + + optimal_composition = { + battle_cruiser = { + amount = 2 + } + medium_cruiser = { + amount = 2 + } + light_cruiser = { + amount = 2 + } + destroyer = { + amount = 10 + } + } +} + +JAP_PatrolDominanceForce_3 = { + allowed = { + original_tag = JAP + } + ai_will_do = { + factor = 5 + } + mission = { naval_patrol } + min_composition = { + light_cruiser = { + amount = 2 + } + destroyer = { + amount = 6 + } + } + + optimal_composition = { + heavy_cruiser = { + amount = 4 + } + medium_cruiser = { + amount = 2 + } + light_cruiser = { + amount = 4 + } + destroyer = { + amount = 10 + } + } +} + +JAP_ConvoyRaiding_1 = { + allowed = { + original_tag = JAP + } + ai_will_do = { + factor = 1 + } + mission = { convoy_raiding } + min_composition = { + submarine = { + amount = 4 + } + } + + optimal_composition = { + submarine = { + amount = 12 + } + } +} + +JAP_ConvoyEscort_1 = { + allowed = { + original_tag = JAP + } + ai_will_do = { + factor = 5 + } + mission = { convoy_escort } + min_composition = { + destroyer = { + amount = 4 + } + } + + optimal_composition = { + destroyer = { + amount = 10 + } + } +} \ 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 new file mode 100755 index 0000000..05a5ce9 --- /dev/null +++ b/src/common/ai_navy/taskforce/SOV_taskforce_templates.txt @@ -0,0 +1,158 @@ +SOV_StrikeForce_1 = { + allowed = { + original_tag = SOV + } + ai_will_do = { + factor = 1 + } + mission = { naval_strike } + min_composition = { + battleship = { + amount = 2 + } + destroyer = { + amount = 8 + } + } + + optimal_composition = { + carrier = { + amount = 4 + } + battleship = { + amount = 4 + } + light_cruiser = { + amount = 10 + } + destroyer = { + amount = 25 + + } + } +} + +SOV_PatrolReconForce_1 = { + allowed = { + original_tag = SOV + } + ai_will_do = { + factor = 5 + } + mission = { naval_patrol } + min_composition = { + destroyer = { + amount = 1 + } + } + optimal_composition = { + destroyer = { + amount = 5 + } + } +} + +SOV_PatrolDominanceForce_1 = { + allowed = { + original_tag = SOV + } + ai_will_do = { + factor = 5 + } + mission = { naval_patrol } + min_composition = { + light_cruiser = { + amount = 2 + } + destroyer = { + amount = 4 + } + } + + optimal_composition = { + battleship = { + amount = 3 + } + light_cruiser = { + amount = 4 + } + destroyer = { + amount = 10 + } + } +} + +SOV_PatrolDominanceForce_2 = { + allowed = { + original_tag = SOV + } + ai_will_do = { + factor = 3 + } + mission = { naval_patrol } + min_composition = { + light_cruiser = { + amount = 2 + } + destroyer = { + amount = 4 + } + } + + optimal_composition = { + heavy_cruiser = { + amount = 4 + } + medium_cruiser = { + amount = 2 + } + light_cruiser = { + amount = 3 + } + destroyer = { + amount = 10 + } + } +} + +SOV_ConvoyRaiding_1 = { + allowed = { + original_tag = SOV + } + ai_will_do = { + factor = 1 + } + mission = { convoy_raiding } + min_composition = { + submarine = { + amount = 4 + } + } + + optimal_composition = { + submarine = { + amount = 12 + } + } +} + +SOV_ConvoyEscort_1 = { + allowed = { + original_tag = SOV + } + ai_will_do = { + factor = 5 + } + mission = { convoy_escort } + min_composition = { + destroyer = { + amount = 3 + } + } + + optimal_composition = { + destroyer = { + amount = 10 + } + } +} \ No newline at end of file diff --git a/src/common/ai_navy/taskforce/USA_taskforce_templates.txt b/src/common/ai_navy/taskforce/USA_taskforce_templates.txt new file mode 100755 index 0000000..d177669 --- /dev/null +++ b/src/common/ai_navy/taskforce/USA_taskforce_templates.txt @@ -0,0 +1,160 @@ +USA_StrikeForce_1 = { + allowed = { + original_tag = USA + } + ai_will_do = { + factor = 30 + } + mission = { naval_strike } + min_composition = { + battleship = { + amount = 4 + } + destroyer = { + amount = 12 + } + } + + optimal_composition = { + carrier = { + amount = 6 + } + battleship = { + amount = 8 + } + light_cruiser = { + amount = 14 + } + destroyer = { + amount = 20 + } + } +} + +USA_PatrolReconForce_1 = { + allowed = { + original_tag = USA + } + ai_will_do = { + factor = 5 + } + mission = { naval_patrol } + min_composition = { + destroyer = { + amount = 1 + } + } + optimal_composition = { + destroyer = { + amount = 5 + } + } +} + +USA_PatrolDominanceForce_1 = { + allowed = { + original_tag = USA + } + ai_will_do = { + 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 = USA + } + ai_will_do = { + factor = 3 + } + mission = { naval_patrol } + min_composition = { + light_cruiser = { + amount = 2 + } + destroyer = { + amount = 8 + } + } + + optimal_composition = { + heavy_cruiser = { + amount = 4 + } + medium_cruiser = { + amount = 4 + } + light_cruiser = { + amount = 4 + } + destroyer = { + amount = 10 + } + } +} + +USA_ConvoyRaiding_1 = { + allowed = { + original_tag = USA + } + ai_will_do = { + factor = 5 + } + mission = { convoy_raiding } + min_composition = { + submarine = { + amount = 4 + } + } + + optimal_composition = { + submarine = { + amount = 12 + } + } +} + +USA_ConvoyEscort_1 = { + allowed = { + original_tag = USA + } + ai_will_do = { + factor = 1 + } + mission = { convoy_escort } + min_composition = { + destroyer = { + amount = 4 + } + } + + optimal_composition = { + destroyer = { + amount = 8 + } + } +} diff --git a/src/common/ai_navy/taskforce/generic_taskforce_templates.txt b/src/common/ai_navy/taskforce/generic_taskforce_templates.txt index e676914..1966ed7 100755 --- a/src/common/ai_navy/taskforce/generic_taskforce_templates.txt +++ b/src/common/ai_navy/taskforce/generic_taskforce_templates.txt @@ -1,45 +1,55 @@ StrikeForce_1 = { allowed = { - + NOT = { + original_tag = JAP + original_tag = ENG + original_tag = SOV + original_tag = USA + original_tag = ITA + original_tag = GER + original_tag = FRA + } } ai_will_do = { - factor = 100 + factor = 1 } mission = { naval_strike } min_composition = { - heavy_cruiser = { - amount = 4 - } destroyer = { - amount = 20 + amount = 8 } } optimal_composition = { carrier = { - amount = 6 + amount = 2 } battleship = { - amount = 8 + amount = 4 } heavy_cruiser = { amount = 4 } - medium_cruiser = { + light_cruiser = { amount = 4 } - light_cruiser = { - amount = 15 - } destroyer = { - amount = 25 + amount = 28 } } } PatrolReconForce_1 = { allowed = { - + NOT = { + original_tag = JAP + original_tag = ENG + original_tag = SOV + original_tag = USA + original_tag = ITA + original_tag = GER + original_tag = FRA + } } ai_will_do = { factor = 5 @@ -57,60 +67,66 @@ PatrolReconForce_1 = { } } -PatrolDominanceForce_1 = { +PatrolDominanceForce_CA_1 = { allowed = { - + NOT = { + original_tag = JAP + original_tag = ENG + original_tag = SOV + original_tag = USA + original_tag = ITA + original_tag = GER + original_tag = FRA + } } ai_will_do = { factor = 5 } mission = { naval_patrol } min_composition = { - light_cruiser = { - amount = 4 - } destroyer = { - amount = 10 + amount = 4 } } + optimal_composition = { - battleship = { - amount = 4 - } - light_cruiser = { - amount = 10 + heavy_cruiser = { + amount = 3 } destroyer = { - amount = 20 + amount = 12 } } } -PatrolDominanceForce_2 = { +PatrolDominanceForce_BC_1 = { allowed = { - + NOT = { + original_tag = JAP + original_tag = ENG + original_tag = SOV + original_tag = USA + original_tag = ITA + original_tag = GER + original_tag = FRA + } } ai_will_do = { - factor = 1 + factor = 5 } mission = { naval_patrol } min_composition = { - light_cruiser = { - amount = 4 - } destroyer = { - amount = 10 + amount = 4 } } + optimal_composition = { battle_cruiser = { - amount = 4 - } - light_cruiser = { - amount = 10 + amount = 3 } destroyer = { - amount = 20 + amount = 12 } } } @@ -144,6 +160,35 @@ ConvoyRaiding_1 = { } } +ConvoySurfaceRaiding_1 = { + allowed = { + NOT = { + original_tag = JAP + original_tag = ENG + original_tag = SOV + original_tag = USA + original_tag = ITA + original_tag = GER + original_tag = FRA + } + } + ai_will_do = { + factor = 1 + } + mission = { convoy_raiding } + min_composition = { + battle_cruiser = { + amount = 1 + } + } + + optimal_composition = { + battle_cruiser = { + amount = 2 + } + } +} + ConvoyEscort_1 = { allowed = { NOT = { @@ -162,7 +207,7 @@ ConvoyEscort_1 = { mission = { convoy_escort } min_composition = { destroyer = { - amount = 5 + amount = 4 } } @@ -172,3 +217,89 @@ ConvoyEscort_1 = { } } } + +MineLaying_1 = { + allowed = { + NOT = { + original_tag = JAP + original_tag = ENG + original_tag = SOV + original_tag = USA + original_tag = ITA + original_tag = GER + original_tag = FRA + } + } + ai_will_do = { + factor = 1 + } + mission = { mines_planting } + min_composition = { + destroyer = { + amount = 1 + role = 4 + } + } + + optimal_composition = { + destroyer = { + amount = 4 + role = 4 + } + + light_cruiser = { + amount = 2 + role = 4 + } + } +} + +#NavalInvasionSupport_1 = { #Commented out for now as it throws the error, for some reason +# allowed = { +# NOT = { +# original_tag = JAP +# original_tag = ENG +# original_tag = SOV +# original_tag = USA +# original_tag = ITA +# original_tag = GER +# original_tag = FRA +# } +# } +# ai_will_do = { +# factor = 1 +# } + +# mission = { naval_invasion_support } + + +# min_composition = { +# heavy_cruiser = { +# amount = 2 +# } +# battleship = { +# amount = 2 +# } +# } + +# optimal_composition = { +# carrier = { +# amount = 2 +# } +# battleship = { +# amount = 2 +# } +# heavy_cruiser = { +# amount = 5 +# } +# destroyer = { +# amount = 12 +# } +# battle_cruiser = { +# amount = 4 +# } +# light_cruiser = { +# amount = 4 +# } +# } +#} diff --git a/src/common/ai_strategy/naval_production.txt b/src/common/ai_strategy/naval_production.txt index cbc548b..36e2ebb 100755 --- a/src/common/ai_strategy/naval_production.txt +++ b/src/common/ai_strategy/naval_production.txt @@ -1455,7 +1455,7 @@ naval_unit_role_ratios_USA_great_depression = { tag = USA } enable = { - date < 1938.1.1 + date < 1937.2.1 has_war_with_major = no } abort_when_not_enabled = yes @@ -1503,7 +1503,7 @@ naval_unit_role_ratios_USA_go_to_war = { tag = USA } enable = { - date > 1937.3.1 + date > 1937.1.31 has_war_with_major = no } abort_when_not_enabled = yes @@ -1551,7 +1551,7 @@ naval_unit_role_ratios_USA_go_to_war = { ai_strategy = { type = building_target id = arms_factory - value = 80 + value = 35 } } diff --git a/src/common/ai_strategy/vnr_naval_strategy.txt b/src/common/ai_strategy/vnr_naval_strategy.txt index 8258594..8b706d0 100755 --- a/src/common/ai_strategy/vnr_naval_strategy.txt +++ b/src/common/ai_strategy/vnr_naval_strategy.txt @@ -228,6 +228,24 @@ JAP_destroy_china_navy_quick = { id = 77 value = 100 } + ai_strategy = { + type = naval_blockade + target_country = CHI + id = 75 + value = 100 + } + ai_strategy = { + type = naval_blockade + target_country = CHI + id = 76 + value = 100 + } + ai_strategy = { + type = naval_blockade + target_country = CHI + id = 77 + value = 100 + } ai_strategy = { type = convoy_raiding_target @@ -269,6 +287,11 @@ JAP_pacific_war_naval_stage_one = { id = 84 value = 100 } + ai_strategy = { + type = naval_mission_threshold + id = MISSION_STRIKE_FORCE + value = -500 + } } JAP_pacific_war_naval_stage_two = { @@ -330,6 +353,11 @@ JAP_pacific_war_naval_stage_two = { id = 83 value = 85 } + ai_strategy = { + type = naval_mission_threshold + id = MISSION_STRIKE_FORCE + value = -500 + } } ### USA ### @@ -414,7 +442,7 @@ USA_pacific_war_naval_avoid_first = { ai_strategy = { type = naval_dominance id = 95 - value = 60 + value = 100 } ai_strategy = { type = naval_dominance @@ -550,6 +578,11 @@ USA_pacific_war_naval_counterattack_1 = { value = 1000 } + ai_strategy = { + type = naval_dominance + id = 83 + value = 100 + } ai_strategy = { type = naval_dominance id = 84 @@ -558,12 +591,12 @@ USA_pacific_war_naval_counterattack_1 = { ai_strategy = { type = naval_dominance id = 95 - value = 80 + value = 100 } ai_strategy = { type = naval_dominance id = 97 - value = 80 + value = 100 } ai_strategy = { type = naval_dominance @@ -573,7 +606,7 @@ USA_pacific_war_naval_counterattack_1 = { ai_strategy = { type = naval_dominance id = 180 - value = 100 + value = 80 } ai_strategy = { type = invade @@ -608,6 +641,12 @@ USA_pacific_war_naval_counterattack_1 = { ordertype = invasion execute_order = yes } + + ai_strategy = { + type = naval_mission_threshold + id = MISSION_STRIKE_FORCE + value = -500 + } } USA_pacific_war_naval_counterattack_2 = { @@ -680,7 +719,7 @@ USA_pacific_war_naval_counterattack_2 = { ai_strategy = { type = naval_dominance id = 97 - value = 100 + value = 70 } ai_strategy = { type = naval_dominance @@ -727,6 +766,12 @@ USA_pacific_war_naval_counterattack_2 = { ordertype = invasion execute_order = yes } + + ai_strategy = { + type = naval_mission_threshold + id = MISSION_STRIKE_FORCE + value = -500 + } } USA_pacific_war_naval_counterattack_3 = { @@ -819,6 +864,12 @@ USA_pacific_war_naval_counterattack_3 = { ordertype = invasion execute_order = yes } + + ai_strategy = { + type = naval_mission_threshold + id = MISSION_STRIKE_FORCE + value = -500 + } } ### ITA ### @@ -1054,4 +1105,51 @@ GER_invade_norway = { id = 207 value = 100 } +} + +major_train_fleet_strategy = { + allowed = { + OR = { + original_tag = JAP + original_tag = USA + original_tag = ENG + original_tag = ITA + original_tag = FRA + original_tag = GER + } + } + enable = { + has_war = no + date < 1939.1.1 + } + abort_when_not_enabled = yes + + ai_strategy = { + type = naval_mission_threshold + id = MISSION_TRAINING + value = -500 + } +} + +major_dont_hold_fleet = { + allowed = { + OR = { + original_tag = JAP + original_tag = USA + original_tag = ENG + original_tag = ITA + original_tag = FRA + original_tag = GER + } + } + enable = { + has_war = yes + } + abort_when_not_enabled = yes + + ai_strategy = { + type = naval_mission_threshold + id = MISSION_HOLD + value = 1000 + } } \ No newline at end of file diff --git a/src/common/defines/VNR_naval_defines.lua b/src/common/defines/VNR_naval_defines.lua index 20a1752..c94db31 100755 --- a/src/common/defines/VNR_naval_defines.lua +++ b/src/common/defines/VNR_naval_defines.lua @@ -1,199 +1,207 @@ -NDefines.NAI.SHIPS_PRODUCTION_BASE_COST = 25000; -NDefines.NAI.NAVY_PREFERED_MAX_SIZE = 65; -NDefines.NAI.NAVAL_DOCKYARDS_SHIP_FACTOR = 2.5; -NDefines.NAI.PRODUCTION_MAX_PROGRESS_TO_SWITCH_NAVAL = 0; -NDefines.NAI.PRODUCTION_WAIT_TO_FINISH_IF_EXPENSIVE = 0.02; -NDefines.NAI.CARRIER_TASKFORCE_MAX_CARRIER_COUNT = 6; -NDefines.NAI.CAPITAL_TASKFORCE_MAX_CAPITAL_COUNT = 6; -NDefines.NAI.SCREEN_TASKFORCE_MAX_SHIP_COUNT = 5; -NDefines.NAI.SCREENS_TO_CAPITAL_RATIO = 3; -NDefines.NAI.MIN_CAPITALS_FOR_CARRIER_TASKFORCE = 8; -NDefines.NAI.REPAIR_TASKFORCE_SIZE = 5; -NDefines.NAI.WANTED_CARRIER_PLANES_PER_CARRIER_CAPACITY_FACTOR = 2; -NDefines.NAI.WANTED_CARRIER_PLANES_PER_CARRIER_CAPACITY_IN_PRODUCTION_FACTOR = 1.5; -NDefines.NAI.AI_WANTED_CARRIER_BASED_PLANES_FACTOR = 1.5; -NDefines.NAI.CONVOY_ESCORT_SCORE_FROM_CONVOYS = 25; -NDefines.NAI.MAIN_SHIP_RATIO_TO_SPLIT = 1.6; -NDefines.NAI.MIN_MAIN_SHIP_RATIO = 0.6; -NDefines.NAI.DESIRE_USE_XP_TO_UNLOCK_NAVAL_DOCTRINE = 1.25; -NDefines.NAI.DESIRE_USE_XP_TO_UPGRADE_NAVAL_EQUIPMENT = 1; -NDefines.NAI.DEFAULT_MODULE_VARIANT_CREATION_XP_CUTOFF_NAVY = 30; -NDefines.NAI.VARIANT_CREATION_XP_RESERVE_NAVY = 30; -NDefines.NAI.DEFAULT_MODULE_VARIANT_CREATION_XP_CUTOFF_AIR = 15; -NDefines.NAI.VARIANT_CREATION_XP_RESERVE_AIR = 30; -NDefines.NAI.MAX_SCREEN_TASKFORCES_FOR_CONVOY_DEFENSE_MIN = 0.00; -NDefines.NAI.MAX_SCREEN_TASKFORCES_FOR_CONVOY_DEFENSE_MAX = 0.25; -NDefines.NAI.MAX_SCREEN_TASKFORCES_FOR_MINE_LAYING = 0.0; -NDefines.NAI.MAX_SCREEN_TASKFORCES_FOR_MINE_SWEEPING_PRIO = 0.20; -NDefines.NAI.MAX_SCREEN_TASKFORCES_FOR_MINE_SWEEPING_PRIO_MIN_MINES = 250; -NDefines.NAI.MAX_SCREEN_FORCES_FOR_INVASION_SUPPORT = 0.1; -NDefines.NAI.NAVAL_BASE_RATIO_ALLOCATED_FOR_REPAIRS = 0.1; -NDefines.NAI.NAVAL_BASE_RATIO_ALLOCATED_FOR_REPAIRS_IN_WAR_TIME = 0.5; -NDefines.NAI.SHIP_STR_RATIO_PUT_ON_REPAIRS = 0.6; -NDefines.NAI.MAX_ALLOWED_NAVAL_DANGER = 500; -NDefines.NAI.REGION_CONVOY_DANGER_DAILY_DECAY = 10; - -NDefines.NNavy.HIT_PROFILE_SPEED_FACTOR = 0.3; -NDefines.NNavy.COMBAT_BASE_HIT_CHANCE = 0.08; -NDefines.NNavy.COMBAT_BASE_CRITICAL_CHANCE = 0.3; -NDefines.NNavy.CHANCE_TO_DAMAGE_PART_ON_CRITICAL_HIT = 0.9; -NDefines.NNavy.CHANCE_TO_DAMAGE_PART_ON_CRITICAL_HIT_FROM_AIR = 1; -NDefines.NNavy.MIN_SHIPS_FOR_HIGHER_SHIP_RATIO_PENALTY = 66; -NDefines.NNavy.BEST_CAPITALS_TO_SCREENS_RATIO = 0.5; -NDefines.NNavy.SCREEN_RATIO_FOR_FULL_SCREENING_FOR_CAPITALS = 2.0; -NDefines.NNavy.ESCAPE_SPEED_PER_COMBAT_DAY = 0.15; -NDefines.NNavy.MAX_ESCAPE_SPEED_FROM_COMBAT_DURATION = 0.60; -NDefines.NNavy.CONVOY_ATTACK_BASE_FACTOR = 0.3; -NDefines.NNavy.UNIT_TRANSFER_SPOTTING_SPEED_MULT = 15; -NDefines.NNavy.NAVAL_INVASION_SPOTTING_SPEED_MULT = 30; -NDefines.NNavy.SPOTTING_SPEED_EFFECT_FOR_INITIAL_UNIT_TRANSFER_SPOTTING = 0.5; -NDefines.NNavy.SPOTTING_SPEED_EFFECT_FOR_INITIAL_NAVAL_INVASION_SPOTTING = 0.5; -NDefines.NNavy.CONVOY_EFFICIENCY_MIN_VALUE = 0; -NDefines.NNavy.CONVOY_HIT_PROFILE = 95; +NDefines.NNavy.HIT_PROFILE_SPEED_FACTOR = 0.3 +NDefines.NNavy.COMBAT_BASE_HIT_CHANCE = 0.08 +NDefines.NNavy.COMBAT_BASE_CRITICAL_CHANCE = 0.3 +NDefines.NNavy.CHANCE_TO_DAMAGE_PART_ON_CRITICAL_HIT = 0.9 +NDefines.NNavy.CHANCE_TO_DAMAGE_PART_ON_CRITICAL_HIT_FROM_AIR = 1 +NDefines.NNavy.MIN_SHIPS_FOR_HIGHER_SHIP_RATIO_PENALTY = 66 +NDefines.NNavy.BEST_CAPITALS_TO_SCREENS_RATIO = 0.5 +NDefines.NNavy.SCREEN_RATIO_FOR_FULL_SCREENING_FOR_CAPITALS = 2.0 +NDefines.NNavy.ESCAPE_SPEED_PER_COMBAT_DAY = 0.15 +NDefines.NNavy.MAX_ESCAPE_SPEED_FROM_COMBAT_DURATION = 0.60 +NDefines.NNavy.CONVOY_ATTACK_BASE_FACTOR = 0.3 +NDefines.NNavy.UNIT_TRANSFER_SPOTTING_SPEED_MULT = 15 +NDefines.NNavy.NAVAL_INVASION_SPOTTING_SPEED_MULT = 30 +NDefines.NNavy.SPOTTING_SPEED_EFFECT_FOR_INITIAL_UNIT_TRANSFER_SPOTTING = 0.5 +NDefines.NNavy.SPOTTING_SPEED_EFFECT_FOR_INITIAL_NAVAL_INVASION_SPOTTING = 0.5 +NDefines.NNavy.CONVOY_EFFICIENCY_MIN_VALUE = 0 +NDefines.NNavy.CONVOY_HIT_PROFILE = 95 NDefines.NNavy.NAVY_PIERCING_THRESHOLDS = { 2.0, 1.0, 0.85, 0.75, 0.7, 0.65, 0.6, 0.55, 0.5, 0.3, 0.0 } NDefines.NNavy.NAVY_PIERCING_THRESHOLD_CRITICAL_VALUES = { 3.0, 1.25, 1.0, 0.65, 0.55, 0.3, 0.15, 0.1, 0.05, 0.01, 0.0 } NDefines.NNavy.NAVY_PIERCING_THRESHOLD_DAMAGE_VALUES = { 2.0, 1.0, 0.7, 0.6, 0.45, 0.35, 0.2, 0.1, 0.05, 0.02, 0.01 } -NDefines.NNavy.CONVOY_DEFENSE_MAX_REGION_TO_TASKFORCE_RATIO = 2; -NDefines.NNavy.COMBAT_TORPEDO_CRITICAL_CHANCE = 0.4; -NDefines.NNavy.COMBAT_MIN_DURATION = 20; -NDefines.NNavy.CAPITAL_ONLY_COMBAT_ACTIVATE_TIME = 22; -NDefines.NNavy.ALL_SHIPS_ACTIVATE_TIME = 30; -NDefines.NNavy.COMBAT_CHASE_RESIGNATION_HOURS = 1; -NDefines.NNavy.SPEED_TO_ESCAPE_SPEED = 2; -NDefines.NNavy.SHIP_TO_FLEET_ANTI_AIR_RATIO = 1.0; -NDefines.NNavy.MAX_ANTI_AIR_REDUCTION_EFFECT_ON_INCOMING_AIR_DAMAGE = 0.66; -NDefines.NNavy.NAVAL_COMBAT_AIR_LOW_AA_TARGET_SCORE = 1; -NDefines.NNavy.ANTI_AIR_MULT_ON_INCOMING_AIR_DAMAGE = 0.15; -NDefines.NNavy.ANTI_AIR_TARGETTING_TO_CHANCE = 0.25; -NDefines.NNavy.TRAINING_MAX_DAILY_COUNTRY_EXP = 2; -NDefines.NNavy.SUBMARINE_REVEAL_BASE_CHANCE = 15; -NDefines.NNavy.SUBMARINE_BASE_TORPEDO_REVEAL_CHANCE = 0.1; -NDefines.NNavy.WAR_SCORE_GAIN_FOR_SUNK_SHIP_MANPOWER_FACTOR = 0.01; -NDefines.NNavy.WAR_SCORE_GAIN_FOR_SUNK_SHIP_PRODUCTION_COST_FACTOR = 0.04; -NDefines.NNavy.SHORE_BOMBARDMENT_CAP = 0.5; -NDefines.NNavy.BASE_POSITIONING = 0.5; -NDefines.NNavy.RELATIVE_SURFACE_DETECTION_TO_POSITIONING_FACTOR = 0.05; -NDefines.NNavy.MAX_POSITIONING_BONUS_FROM_SURFACE_DETECTION = 0.2; -NDefines.NNavy.POSITIONING_PENALTY_FOR_SHIPS_JOINED_COMBAT_AFTER_IT_STARTS = 0.02; -NDefines.NNavy.MAX_POSITIONING_PENALTY_FOR_NEWLY_JOINED_SHIPS = 0.2; -NDefines.NNavy.HIGHER_SHIP_RATIO_POSITIONING_PENALTY_FACTOR = 0.5; -NDefines.NNavy.MAX_POSITIONING_PENALTY_FROM_HIGHER_SHIP_RATIO = 3; -NDefines.NNavy.MAX_CARRIER_RATIO_POSITIONING_PENALTY_FACTOR = 0.2; -NDefines.NNavy.DAMAGE_PENALTY_ON_MINIMUM_POSITIONING = 0.9; -NDefines.NNavy.SCREENING_EFFICIENCY_PENALTY_ON_MINIMUM_POSITIONING = 1.25; -NDefines.NNavy.AA_EFFICIENCY_PENALTY_ON_MINIMUM_POSITIONING = 0.75; -NDefines.NNavy.MANPOWER_LOSS_RATIO_ON_STR_LOSS = 0.1; -NDefines.NNavy.MANPOWER_LOSS_RATIO_ON_SUNK = 0.25; -NDefines.NNavy.BASE_GUN_COOLDOWNS = { 1.0, 8.0, 1.0 }; -NDefines.NNavy.COMBAT_CRITICAL_DAMAGE_MULT = 8; -NDefines.NNavy.PRIDE_OF_THE_FLEET_UNASSIGN_COST = 25; -NDefines.NNavy.CONVOY_ATTACK_BASE_FACTOR = 0.3; -NDefines.NNavy.EXPERIENCE_FACTOR_CONVOY_ATTACK = 0.1; -NDefines.NNavy.TRAINING_DAILY_COUNTRY_EXP_FACTOR = 0.005; -NDefines.NNavy.TRAINING_MAX_DAILY_COUNTRY_EXP = 1.5; -NDefines.NNavy.NAVAL_TRANSFER_BASE_SPEED = 4; -NDefines.NNavy.AMPHIBIOUS_INVADE_SPEED_BASE = 0.25; -NDefines.NNavy.SUPREMACY_PER_SHIP_PER_MANPOWER = 0.001; -NDefines.NNavy.SUPREMACY_PER_SHIP_PER_IC = 0.05; -NDefines.NNavy.NAVAL_COMBAT_AIR_CARRIER_TARGET_SCALE = 1000; -NDefines.NNavy.UNIT_EXPERIENCE_PER_COMBAT_HOUR = 3; -NDefines.NNavy.UNIT_EXPERIENCE_SCALE = 0.8; -NDefines.NNavy.BASE_CARRIER_SORTIE_EFFICIENCY = 0.4; +NDefines.NNavy.CONVOY_DEFENSE_MAX_REGION_TO_TASKFORCE_RATIO = 2 +NDefines.NNavy.COMBAT_TORPEDO_CRITICAL_CHANCE = 0.4 +NDefines.NNavy.COMBAT_MIN_DURATION = 20 +NDefines.NNavy.CAPITAL_ONLY_COMBAT_ACTIVATE_TIME = 22 +NDefines.NNavy.ALL_SHIPS_ACTIVATE_TIME = 30 +NDefines.NNavy.COMBAT_CHASE_RESIGNATION_HOURS = 1 +NDefines.NNavy.SPEED_TO_ESCAPE_SPEED = 2 +NDefines.NNavy.SHIP_TO_FLEET_ANTI_AIR_RATIO = 1.0 +NDefines.NNavy.MAX_ANTI_AIR_REDUCTION_EFFECT_ON_INCOMING_AIR_DAMAGE = 0.66 +NDefines.NNavy.NAVAL_COMBAT_AIR_LOW_AA_TARGET_SCORE = 1 +NDefines.NNavy.ANTI_AIR_MULT_ON_INCOMING_AIR_DAMAGE = 0.15 +NDefines.NNavy.ANTI_AIR_TARGETTING_TO_CHANCE = 0.25 +NDefines.NNavy.TRAINING_MAX_DAILY_COUNTRY_EXP = 2 +NDefines.NNavy.SUBMARINE_REVEAL_BASE_CHANCE = 15 +NDefines.NNavy.SUBMARINE_BASE_TORPEDO_REVEAL_CHANCE = 0.1 +NDefines.NNavy.WAR_SCORE_GAIN_FOR_SUNK_SHIP_MANPOWER_FACTOR = 0.01 +NDefines.NNavy.WAR_SCORE_GAIN_FOR_SUNK_SHIP_PRODUCTION_COST_FACTOR = 0.04 +NDefines.NNavy.SHORE_BOMBARDMENT_CAP = 0.5 +NDefines.NNavy.BASE_POSITIONING = 0.5 +NDefines.NNavy.RELATIVE_SURFACE_DETECTION_TO_POSITIONING_FACTOR = 0.05 +NDefines.NNavy.MAX_POSITIONING_BONUS_FROM_SURFACE_DETECTION = 0.2 +NDefines.NNavy.POSITIONING_PENALTY_FOR_SHIPS_JOINED_COMBAT_AFTER_IT_STARTS = 0.02 +NDefines.NNavy.MAX_POSITIONING_PENALTY_FOR_NEWLY_JOINED_SHIPS = 0.2 +NDefines.NNavy.HIGHER_SHIP_RATIO_POSITIONING_PENALTY_FACTOR = 0.5 +NDefines.NNavy.MAX_POSITIONING_PENALTY_FROM_HIGHER_SHIP_RATIO = 3 +NDefines.NNavy.MAX_CARRIER_RATIO_POSITIONING_PENALTY_FACTOR = 0.2 +NDefines.NNavy.DAMAGE_PENALTY_ON_MINIMUM_POSITIONING = 0.9 +NDefines.NNavy.SCREENING_EFFICIENCY_PENALTY_ON_MINIMUM_POSITIONING = 1.25 +NDefines.NNavy.AA_EFFICIENCY_PENALTY_ON_MINIMUM_POSITIONING = 0.75 +NDefines.NNavy.MANPOWER_LOSS_RATIO_ON_STR_LOSS = 0.1 +NDefines.NNavy.MANPOWER_LOSS_RATIO_ON_SUNK = 0.25 +NDefines.NNavy.BASE_GUN_COOLDOWNS = { 1.0, 8.0, 1.0 } +NDefines.NNavy.COMBAT_CRITICAL_DAMAGE_MULT = 8 +NDefines.NNavy.PRIDE_OF_THE_FLEET_UNASSIGN_COST = 25 +NDefines.NNavy.CONVOY_ATTACK_BASE_FACTOR = 0.3 +NDefines.NNavy.EXPERIENCE_FACTOR_CONVOY_ATTACK = 0.1 +NDefines.NNavy.TRAINING_DAILY_COUNTRY_EXP_FACTOR = 0.005 +NDefines.NNavy.TRAINING_MAX_DAILY_COUNTRY_EXP = 1.5 +NDefines.NNavy.NAVAL_TRANSFER_BASE_SPEED = 4 +NDefines.NNavy.AMPHIBIOUS_INVADE_SPEED_BASE = 0.25 +NDefines.NNavy.SUPREMACY_PER_SHIP_PER_MANPOWER = 0.001 +NDefines.NNavy.SUPREMACY_PER_SHIP_PER_IC = 0.05 +NDefines.NNavy.NAVAL_COMBAT_AIR_CARRIER_TARGET_SCALE = 1000 +NDefines.NNavy.UNIT_EXPERIENCE_PER_COMBAT_HOUR = 3 +NDefines.NNavy.UNIT_EXPERIENCE_SCALE = 0.8 +NDefines.NNavy.BASE_CARRIER_SORTIE_EFFICIENCY = 0.4 NDefines.NNavy.CARRIER_OFFENSIVE_STANCE_SORTIE_RATIO = {0.25, 0.37, 0.50, 0.62, 0.75} -NDefines.NNavy.SHIP_SUPPORT_NEED_FACTOR = 0.25; -NDefines.NNavy.NAVAL_DOMINANCE_STRIKE_FORCE_MULTIREGION_DECAY = 0.1; -NDefines.NNavy.NAVAL_DOMINANCE_MINES_PLANTING_BONUS = 0.1; -NDefines.NNavy.NAVAL_DOMINANCE_MINES_SWEEPING_BONUS = 0.1; -NDefines.NNavy.NAVAL_DOMINANCE_SHIP_RECOVERY_CHANCE = 0.05; -NDefines.NNavy.NAVAL_COMBAT_PLANE_MIN_STACKING_PENALTY = 150; -NDefines.NNavy.NAVAL_COMBAT_PLANE_STACKING_PENALTY_EFFECT = 0.01; +NDefines.NNavy.SHIP_SUPPORT_NEED_FACTOR = 0.25 +NDefines.NNavy.NAVAL_DOMINANCE_STRIKE_FORCE_MULTIREGION_DECAY = 0.1 +NDefines.NNavy.NAVAL_DOMINANCE_MINES_PLANTING_BONUS = 0.1 +NDefines.NNavy.NAVAL_DOMINANCE_MINES_SWEEPING_BONUS = 0.1 +NDefines.NNavy.NAVAL_DOMINANCE_SHIP_RECOVERY_CHANCE = 0.05 +NDefines.NNavy.NAVAL_COMBAT_PLANE_MIN_STACKING_PENALTY = 150 +NDefines.NNavy.NAVAL_COMBAT_PLANE_STACKING_PENALTY_EFFECT = 0.01 NDefines.NNavy.NAVAL_COMBAT_PLANE_STACKING_PENALTY_EFFECT = 0.005 -NDefines.NNavy.SHIP_SILHOUETTE_VALUE_PLANES_CARRIER = 500; -NDefines.NNavy.COMBAT_DAMAGE_RANDOMNESS = 0.3; -NDefines.NNavy.NAVY_VISIBILITY_BONUS_ON_RETURN_FOR_REPAIR = 0.6; -NDefines.NNavy.SCREEN_RATIO_FOR_FULL_SCREENING_FOR_CONVOYS = 0.25; -NDefines.NNavy.CAPITAL_RATIO_FOR_FULL_SCREENING_FOR_CONVOYS = 0.1; +NDefines.NNavy.SHIP_SILHOUETTE_VALUE_PLANES_CARRIER = 500 +NDefines.NNavy.COMBAT_DAMAGE_RANDOMNESS = 0.3 +NDefines.NNavy.NAVY_VISIBILITY_BONUS_ON_RETURN_FOR_REPAIR = 0.6 +NDefines.NNavy.SCREEN_RATIO_FOR_FULL_SCREENING_FOR_CONVOYS = 0.25 +NDefines.NNavy.CAPITAL_RATIO_FOR_FULL_SCREENING_FOR_CONVOYS = 0.1 +NDefines.NNavy.STRIKE_FORCE_ON_BASE_FUEL_COST_FACTOR = 0.0 +NDefines.NNavy.AGGRESION_MULTIPLIER_FOR_COMBAT = 4 +NDefines.NNavy.NAVAL_RANGE_TO_INGAME_DISTANCE = 0.18 +NDefines.NNavy.NAVAL_ACCESS_SCORE_PENALTY_PER_EXISTING_ACCESS_AT_WAR = 1000 NDefines.NNavy.AGGRESSION_SETTINGS_VALUES = { - 0, -- do not engage - 1.0, -- low - 1.4, -- medium - 2.2, -- high - 10000, -- I am death incarnate! -}; + 0, -- do not engage + 1.0, -- low + 1.4, -- medium + 2.2, -- high + 10000, -- I am death incarnate! +} NDefines.NNavy.GUN_HIT_PROFILES = { -- hit profiles for guns, if target ih profile is lower the gun will have lower accuracy - 75.0, -- big guns - 105.0, -- torpedoes - 55.0, -- small guns -}; + 75.0, -- big guns + 105.0, -- torpedoes + 55.0, -- small guns +} NDefines.NNavy.MISSION_DOMINANCE_RATIOS = { - 0.0, -- HOLD - 0.6, -- PATROL - 1.0, -- STRIKE FORCE - 0.15, -- CONVOY RAIDING - 0.25, -- CONVOY ESCORT - 0.2, -- MINES PLANTING - 0.1, -- MINES SWEEPING - 0.0, -- TRAIN - 0.0, -- RESERVE_FLEET - 0.85, -- NAVAL_INVASION_SUPPORT + 0.0, -- HOLD + 1.0, -- PATROL + 1.0, -- STRIKE FORCE + 0.15, -- CONVOY RAIDING + 0.25, -- CONVOY ESCORT + 0.2, -- MINES PLANTING + 0.1, -- MINES SWEEPING + 0.0, -- TRAIN + 0.0, -- RESERVE_FLEET + 0.85, -- NAVAL_INVASION_SUPPORT } + + +NDefines.NAir.COMBAT_DAMAGE_SCALE_CARRIER = 40 +NDefines.NAir.NAVAL_STRIKE_CARRIER_MULTIPLIER = 12 +NDefines.NAir.CARRIER_HOURS_DELAY_AFTER_EACH_COMBAT = 3 +NDefines.NAir.DISRUPTION_FACTOR_CARRIER = 25.0 +NDefines.NAir.NAVAL_STRIKE_DAMAGE_TO_ORG = 0.25 +NDefines.NAir.AIR_AGILITY_TO_NAVAL_STRIKE_AGILITY = 0.06 +NDefines.NAir.CAPACITY_PENALTY = 3 + +NDefines.NAI.SHIPS_PRODUCTION_BASE_COST = 25000 +NDefines.NAI.NAVY_PREFERED_MAX_SIZE = 65 +NDefines.NAI.NAVAL_DOCKYARDS_SHIP_FACTOR = 2.5 +NDefines.NAI.PRODUCTION_MAX_PROGRESS_TO_SWITCH_NAVAL = 0 +NDefines.NAI.PRODUCTION_WAIT_TO_FINISH_IF_EXPENSIVE = 0.02 +NDefines.NAI.CARRIER_TASKFORCE_MAX_CARRIER_COUNT = 6 +NDefines.NAI.CAPITAL_TASKFORCE_MAX_CAPITAL_COUNT = 6 +NDefines.NAI.SCREEN_TASKFORCE_MAX_SHIP_COUNT = 5 +NDefines.NAI.SCREENS_TO_CAPITAL_RATIO = 3 +NDefines.NAI.MIN_CAPITALS_FOR_CARRIER_TASKFORCE = 8 +NDefines.NAI.REPAIR_TASKFORCE_SIZE = 5 +NDefines.NAI.WANTED_CARRIER_PLANES_PER_CARRIER_CAPACITY_FACTOR = 2 +NDefines.NAI.WANTED_CARRIER_PLANES_PER_CARRIER_CAPACITY_IN_PRODUCTION_FACTOR = 1.5 +NDefines.NAI.AI_WANTED_CARRIER_BASED_PLANES_FACTOR = 1.5 +NDefines.NAI.CONVOY_ESCORT_SCORE_FROM_CONVOYS = 25 +NDefines.NAI.MAIN_SHIP_RATIO_TO_SPLIT = 1.6 +NDefines.NAI.MIN_MAIN_SHIP_RATIO = 0.6 +NDefines.NAI.DESIRE_USE_XP_TO_UNLOCK_NAVAL_DOCTRINE = 1.25 +NDefines.NAI.DESIRE_USE_XP_TO_UPGRADE_NAVAL_EQUIPMENT = 1 +NDefines.NAI.DEFAULT_MODULE_VARIANT_CREATION_XP_CUTOFF_NAVY = 30 +NDefines.NAI.VARIANT_CREATION_XP_RESERVE_NAVY = 30 +NDefines.NAI.DEFAULT_MODULE_VARIANT_CREATION_XP_CUTOFF_AIR = 15 +NDefines.NAI.VARIANT_CREATION_XP_RESERVE_AIR = 30 +NDefines.NAI.MAX_SCREEN_TASKFORCES_FOR_CONVOY_DEFENSE_MIN = 0.00 +NDefines.NAI.MAX_SCREEN_TASKFORCES_FOR_CONVOY_DEFENSE_MAX = 0.25 +NDefines.NAI.MAX_SCREEN_TASKFORCES_FOR_MINE_LAYING = 0.0 +NDefines.NAI.MAX_SCREEN_TASKFORCES_FOR_MINE_SWEEPING_PRIO = 0.20 +NDefines.NAI.MAX_SCREEN_TASKFORCES_FOR_MINE_SWEEPING_PRIO_MIN_MINES = 250 +NDefines.NAI.MAX_SCREEN_FORCES_FOR_INVASION_SUPPORT = 0.1 +NDefines.NAI.NAVAL_BASE_RATIO_ALLOCATED_FOR_REPAIRS = 0.1 +NDefines.NAI.NAVAL_BASE_RATIO_ALLOCATED_FOR_REPAIRS_IN_WAR_TIME = 0.5 +NDefines.NAI.SHIP_STR_RATIO_PUT_ON_REPAIRS = 0.6 +NDefines.NAI.MAX_ALLOWED_NAVAL_DANGER = 500 +NDefines.NAI.REGION_CONVOY_DANGER_DAILY_DECAY = 10 NDefines.NAI.MIN_NAVAL_MISSION_PRIO_TO_ASSIGN = { - 0, -- HOLD (consumes fuel HOLD_MISSION_MOVEMENT_COST fuel while moving) - 200, -- PATROL - 200, -- STRIKE FORCE - 100, -- CONVOY RAIDING - 100, -- CONVOY ESCORT - 100, -- MINES PLANTING - 100, -- MINES SWEEPING - 0, -- TRAIN - 0, -- RESERVE_FLEET - 100, -- NAVAL INVASION SUPPORT -}; - + 0, -- HOLD (consumes fuel HOLD_MISSION_MOVEMENT_COST fuel while moving) + 200, -- PATROL + 200, -- STRIKE FORCE + 100, -- CONVOY RAIDING + 100, -- CONVOY ESCORT + 100, -- MINES PLANTING + 100, -- MINES SWEEPING + 0, -- TRAIN + 0, -- RESERVE_FLEET + 100, -- NAVAL INVASION SUPPORT +} NDefines.NAI.HIGH_PRIO_NAVAL_MISSION_SCORES = { - 0, -- HOLD (consumes fuel HOLD_MISSION_MOVEMENT_COST fuel while moving) - 10000, -- PATROL - 8000, -- STRIKE FORCE - 4000, -- CONVOY RAIDING - 1500, -- CONVOY ESCORT - -1, -- MINES PLANTING - 300, -- MINES SWEEPING - 0, -- TRAIN - 0, -- RESERVE_FLEET - 3000, -- NAVAL INVASION SUPPORT -}; + 0, -- HOLD (consumes fuel HOLD_MISSION_MOVEMENT_COST fuel while moving) + 10000, -- PATROL + 8000, -- STRIKE FORCE + 4000, -- CONVOY RAIDING + 1500, -- CONVOY ESCORT + -1, -- MINES PLANTING + 300, -- MINES SWEEPING + 0, -- TRAIN + 0, -- RESERVE_FLEET + 3000, -- NAVAL INVASION SUPPORT +} NDefines.NAI.MAX_MISSION_PER_TASKFORCE = { - 0, -- HOLD (consumes fuel HOLD_MISSION_MOVEMENT_COST fuel while moving) - 2, -- PATROL - 4, -- STRIKE FORCE - 3, -- CONVOY RAIDING - 4, -- CONVOY ESCORT - 2, -- MINES PLANTING - 2, -- MINES SWEEPING - 0, -- TRAIN - 0, -- RESERVE_FLEET - 6, -- NAVAL INVASION SUPPORT + 0, -- HOLD (consumes fuel HOLD_MISSION_MOVEMENT_COST fuel while moving) + 3, -- PATROL + 4, -- STRIKE FORCE + 2, -- CONVOY RAIDING + 3, -- CONVOY ESCORT + 2, -- MINES PLANTING + 2, -- MINES SWEEPING + 0, -- TRAIN + 0, -- RESERVE_FLEET + 6, -- NAVAL INVASION SUPPORT } -NDefines.NAir.COMBAT_DAMAGE_SCALE_CARRIER = 40; -NDefines.NAir.NAVAL_STRIKE_CARRIER_MULTIPLIER = 12; -NDefines.NAir.CARRIER_HOURS_DELAY_AFTER_EACH_COMBAT = 3; -NDefines.NAir.DISRUPTION_FACTOR_CARRIER = 25.0; -NDefines.NAir.NAVAL_STRIKE_DAMAGE_TO_ORG = 0.25; -NDefines.NAir.AIR_AGILITY_TO_NAVAL_STRIKE_AGILITY = 0.06; ---NDefines.NAir.CAPACITY_PENALTY = 3; -NDefines.NProduction.EQUIPMENT_MODULE_ADD_XP_COST = 2; -NDefines.NProduction.EQUIPMENT_MODULE_REPLACE_XP_COST = 3; -NDefines.NProduction.EQUIPMENT_MODULE_CONVERT_XP_COST = 1; -NDefines.NProduction.EQUIPMENT_MODULE_REMOVE_XP_COST = 1; +NDefines.NProduction.EQUIPMENT_MODULE_ADD_XP_COST = 2 +NDefines.NProduction.EQUIPMENT_MODULE_REPLACE_XP_COST = 3 +NDefines.NProduction.EQUIPMENT_MODULE_CONVERT_XP_COST = 1 +NDefines.NProduction.EQUIPMENT_MODULE_REMOVE_XP_COST = 1 NDefines.NProduction.BASE_NAVAL_EQUIPMENT_CONVERSION_IC_COST_FACTOR = 0.1 NDefines.NProduction.MIN_NAVAL_EQUIPMENT_CONVERSION_RESOURCE_COST_FACTOR = 0.1 -NDefines.NIntel.NAVY_SHIP_COUNT_INTEL_MIN = 0; -NDefines.NIntel.NAVY_SHIP_COUNT_INTEL_MAX = 0.4; -NDefines.NIntel.NAVY_MIN_INTEL_TO_SHOW_EXISTING_CATEGORY_TYPES = 0.01; -NDefines.NIntel.NAVY_SHIP_TYPE_COUNT_INTEL_MIN = 0.01; -NDefines.NIntel.NAVY_SHIP_TYPE_COUNT_INTEL_MAX = 0.3; -NDefines.NIntel.NAVY_MIN_INTEL_TO_SHOW_SHIP_CLASSES = 0.15; -NDefines.NIntel.NAVY_MIN_INTEL_TO_SHOW_SHIP_DESIGN_DETAILS = 0.5; +NDefines.NIntel.NAVY_SHIP_COUNT_INTEL_MIN = 0 +NDefines.NIntel.NAVY_SHIP_COUNT_INTEL_MAX = 0.4 +NDefines.NIntel.NAVY_MIN_INTEL_TO_SHOW_EXISTING_CATEGORY_TYPES = 0.01 +NDefines.NIntel.NAVY_SHIP_TYPE_COUNT_INTEL_MIN = 0.01 +NDefines.NIntel.NAVY_SHIP_TYPE_COUNT_INTEL_MAX = 0.3 +NDefines.NIntel.NAVY_MIN_INTEL_TO_SHOW_SHIP_CLASSES = 0.15 +NDefines.NIntel.NAVY_MIN_INTEL_TO_SHOW_SHIP_DESIGN_DETAILS = 0.5 + +NDefines.NCountry.NAVY_USE_HOME_BASE_FOR_RANGE = false + diff --git a/src/common/doctrines/grand_doctrines/sea_grand_doctrines.txt b/src/common/doctrines/grand_doctrines/sea_grand_doctrines.txt index d4e6960..4d54daa 100755 --- a/src/common/doctrines/grand_doctrines/sea_grand_doctrines.txt +++ b/src/common/doctrines/grand_doctrines/sea_grand_doctrines.txt @@ -55,7 +55,7 @@ new_fleet_in_being = { } { #Screens - navy_anti_air_attack_factor = 0.10 + convoy_escort_efficiency = 0.10 screening_efficiency = 0.05 effect = { if = { diff --git a/src/common/doctrines/subdoctrines/sea/navy_carrier_doctrines.txt b/src/common/doctrines/subdoctrines/sea/navy_carrier_doctrines.txt index 06de0fc..76b0e72 100755 --- a/src/common/doctrines/subdoctrines/sea/navy_carrier_doctrines.txt +++ b/src/common/doctrines/subdoctrines/sea/navy_carrier_doctrines.txt @@ -49,6 +49,7 @@ carrier_battlegroups = { } modifier = { sortie_efficiency = 0.1 + carrier_capacity_penalty_reduction = -0.1 } } fleet_antiair = { @@ -58,6 +59,7 @@ carrier_battlegroups = { } modifier = { sortie_efficiency = 0.1 + fighter_sortie_efficiency = 0.1 } } alpha_strike = { diff --git a/src/common/doctrines/subdoctrines/sea/navy_screen_doctrines.txt b/src/common/doctrines/subdoctrines/sea/navy_screen_doctrines.txt index 37a3f0f..c8c800d 100755 --- a/src/common/doctrines/subdoctrines/sea/navy_screen_doctrines.txt +++ b/src/common/doctrines/subdoctrines/sea/navy_screen_doctrines.txt @@ -262,6 +262,9 @@ torpedo_primacy = { heavy_cruiser = { torpedo_attack = 0.1 } + medium_cruiser = { + torpedo_attack = 0.1 + } } } } @@ -314,6 +317,7 @@ jeune_ecole = { coastal_patrol = { modifier = { mines_planting_by_fleets_factor = 0.2 + naval_enemy_fleet_size_ratio_penalty_factor = 0.1 } } } diff --git a/src/common/doctrines/subdoctrines/sea/navy_submarine_doctrines.txt b/src/common/doctrines/subdoctrines/sea/navy_submarine_doctrines.txt index d97f388..dcbe453 100755 --- a/src/common/doctrines/subdoctrines/sea/navy_submarine_doctrines.txt +++ b/src/common/doctrines/subdoctrines/sea/navy_submarine_doctrines.txt @@ -63,9 +63,6 @@ wolfpacks = { } } } - mastery = { - multiplier = 2 - } } submarine_fleet_operations = { @@ -133,9 +130,6 @@ submarine_fleet_operations = { } } } - mastery = { - multiplier = 2 - } } capital_hunters = { @@ -184,9 +178,6 @@ capital_hunters = { } } } - mastery = { - multiplier = 2 - } } submarine_coastal_defense = { @@ -239,7 +230,4 @@ submarine_coastal_defense = { } } } - mastery = { - multiplier = 2 - } } diff --git a/src/common/doctrines/tracks/sea_doctrine_tracks.txt b/src/common/doctrines/tracks/sea_doctrine_tracks.txt index 4736acb..4e46548 100755 --- a/src/common/doctrines/tracks/sea_doctrine_tracks.txt +++ b/src/common/doctrines/tracks/sea_doctrine_tracks.txt @@ -4,7 +4,7 @@ capital_ships = { icon = "GFX_doctrine_milestone_ships_naval" icon_frame = "GFX_doctrine_decor_naval" mastery = { - multiplier = 2.0 # TODO - balance this number + multiplier = 3.0 # TODO - balance this number equipment = { capital_ship } @@ -17,7 +17,7 @@ carriers = { icon = "GFX_doctrine_milestone_carriers_naval" icon_frame = "GFX_doctrine_decor_naval" mastery = { - multiplier = 5.0 # TODO - balance this number + multiplier = 4.5 # TODO - balance this number equipment = { carrier } @@ -30,7 +30,7 @@ screens = { icon = "GFX_doctrine_milestone_screens_naval" icon_frame = "GFX_doctrine_decor_naval" mastery = { - multiplier = 1.0 # TODO - balance this number + multiplier = 2.0 # TODO - balance this number equipment = { screen_ship } @@ -43,7 +43,7 @@ submarines = { icon = "GFX_doctrine_milestone_submarine_naval" icon_frame = "GFX_doctrine_decor_naval" mastery = { - multiplier = 3.0 # TODO - balance this number + multiplier = 4.5 # TODO - balance this number equipment = { submarine } diff --git a/src/common/ideas/navy_spirits.txt b/src/common/ideas/navy_spirits.txt index a437046..20c9f6b 100755 --- a/src/common/ideas/navy_spirits.txt +++ b/src/common/ideas/navy_spirits.txt @@ -521,7 +521,7 @@ ideas = { } } } - disciplined_crewmen = { + fleet_interoperability_navy_spirit = { ledger = navy modifier = { navy_org_factor = 0.05 diff --git a/src/common/scripted_effects/_add_never_built.txt b/src/common/scripted_effects/_add_never_built.txt index fd0b6b3..a3604ad 100755 --- a/src/common/scripted_effects/_add_never_built.txt +++ b/src/common/scripted_effects/_add_never_built.txt @@ -472,7 +472,6 @@ KuK_never_built_blueprints = { basic_battery = 1 multi_mounted_battery = 1 basic_light_battery = 1 - basic_medium_battery = 1 basic_heavy_battery = 1 } create_equipment_variant = { diff --git a/src/common/technologies/MTG_naval.txt b/src/common/technologies/MTG_naval.txt index 6b8a216..52e62c2 100755 --- a/src/common/technologies/MTG_naval.txt +++ b/src/common/technologies/MTG_naval.txt @@ -223,7 +223,7 @@ technologies = { research_cost = 1.5 - start_year = 1940 + start_year = 1939 folder = { name = mtgnavalfolder @@ -1331,7 +1331,7 @@ technologies = { research_cost = 1.5 - start_year = 1940 + start_year = 1939 folder = { name = mtgnavalfolder @@ -2162,12 +2162,10 @@ technologies = { research_cost = 0.75 heavy_cruiser = { - lg_attack = 0.075 - lg_armor_piercing = 0.05 + lg_attack = 0.05 } medium_cruiser = { - lg_attack = 0.075 - lg_armor_piercing = 0.05 + lg_attack = 0.05 } light_cruiser = { lg_attack = 0.05 @@ -3094,7 +3092,7 @@ technologies = { research_cost = 1.5 - start_year = 1940 + start_year = 1939 folder = { name = mtgnavalfolder @@ -4377,7 +4375,7 @@ technologies = { research_cost = 1.75 - start_year = 1940 + start_year = 1939 folder = { name = mtgnavalfolder @@ -4584,7 +4582,7 @@ technologies = { experience_gain_carrier_training_factor = 0.1 experience_gain_carrier_combat_factor = 0.1 - cat_base_strike_cost_factor = -0.1 + carriers_track_mastery_gain_factor = 0.1 ship_hull_carrier_design_cost_factor = -0.1 path = { @@ -5284,7 +5282,7 @@ technologies = { research_cost = 2.0 - start_year = 1940 + start_year = 1939 folder = { name = mtgnavalfolder diff --git a/src/common/technologies/MTG_naval_Support.txt b/src/common/technologies/MTG_naval_Support.txt index 98b1d9d..f6bbde4 100755 --- a/src/common/technologies/MTG_naval_Support.txt +++ b/src/common/technologies/MTG_naval_Support.txt @@ -95,11 +95,6 @@ technologies = { custom_effect_tooltip = secondary_battery_advice_tt } - path = { - leads_to_tech = basic_medium_battery - research_cost_coeff = 1 - } - path = { leads_to_tech = basic_heavy_battery research_cost_coeff = 1 @@ -182,6 +177,11 @@ technologies = { dp_ship_secondaries_1_bb ship_secondaries_2_light ship_anti_air_2_h + + ship_light_medium_battery_2 + ship_light_medium_battery_2_double + ship_light_medium_battery_2_single + ship_secondaries_2 } @@ -228,12 +228,15 @@ technologies = { } light_cruiser = { lg_attack = 0.05 + lg_armor_piercing = 0.05 } heavy_cruiser = { lg_attack = 0.05 + lg_armor_piercing = 0.05 } medium_cruiser = { lg_attack = 0.05 + lg_armor_piercing = 0.05 } ##! armored_cruiser = { ##! lg_attack = 0.05 @@ -302,6 +305,12 @@ technologies = { ship_light_battery_3 ship_light_battery_3_double ship_anti_air_3_h + + ship_light_medium_battery_3 + ship_light_medium_battery_3_double + ship_light_medium_battery_3_single + + ship_secondaries_3 } folder = { @@ -344,12 +353,15 @@ technologies = { } light_cruiser = { lg_attack = 0.05 + lg_armor_piercing = 0.05 } heavy_cruiser = { lg_attack = 0.05 + lg_armor_piercing = 0.05 } medium_cruiser = { lg_attack = 0.05 + lg_armor_piercing = 0.05 } ##! armored_cruiser = { ##! lg_attack = 0.05 @@ -412,6 +424,11 @@ technologies = { ship_light_battery_4 ship_light_battery_4_double ship_anti_air_4_h + ship_light_medium_battery_4 + ship_light_medium_battery_4_double + ship_light_medium_battery_4_single + + ship_secondaries_4 } on_research_complete = { @@ -447,260 +464,6 @@ technologies = { } } - basic_medium_battery = { - - research_cost = 0.5 - - start_year = 1936 - - - on_research_complete = { - custom_effect_tooltip = ca_tech_6_tt - custom_effect_tooltip = medium_battery_advice_tt - custom_effect_tooltip = secondary_battery_advice_tt - } - - path = { - leads_to_tech = basic_medium_shell - research_cost_coeff = 1 - } - - enable_equipment_modules = { - ship_medium_battery_2 - ship_medium_battery_2_double - ship_medium_battery_2_single - ship_light_medium_battery_2 - ship_light_medium_battery_2_double - ship_light_medium_battery_2_single - ship_medium_heavy_battery_1 - ship_medium_heavy_battery_1_double - ship_secondaries_2 - - sub_battery_1 - } - - - - folder = { - name = mtgnavalsupportfolder - position = { x = 0 y = 7 } - } - - ai_will_do = { - factor = 1 - modifier = { - has_tech = interwar_ship_hull_cruiser - factor = 10 - } - } - - special_project_specialization = { specialization_naval } - categories = { - naval_equipment - ship_modules_tech - cat_ship_medium_battery - mio_cat_tech_all_cruiser_and_modules - } - } - - basic_medium_shell = { - - research_cost = 0.5 - - start_year = 1936 - - path = { - leads_to_tech = improved_medium_battery - research_cost_coeff = 1 - } - - - light_cruiser = { - lg_armor_piercing = 0.05 - } - heavy_cruiser = { - lg_armor_piercing = 0.05 - } - medium_cruiser = { - lg_armor_piercing = 0.05 - } - - folder = { - name = mtgnavalsupportfolder - position = { x =0 y = 10 } - } - - ai_will_do = { - factor = 1 - modifier = { - has_tech = interwar_ship_hull_cruiser - has_navy_size = { - archetype = ship_hull_cruiser - size > 5 - } - factor = 7 - } - } - - special_project_specialization = { specialization_naval } - categories = { - naval_equipment - mio_cat_tech_all_cruiser_and_modules - } - } - - improved_medium_battery = { - - research_cost = 0.5 - - start_year = 1939 - - path = { - leads_to_tech = improved_medium_shell - research_cost_coeff = 1 - } - - - on_research_complete = { - custom_effect_tooltip = ca_tech_6_tt - custom_effect_tooltip = medium_battery_advice_tt - } - enable_equipment_modules = { - ship_medium_battery_3 - ship_medium_battery_3_double - ship_medium_battery_3_single - ship_light_medium_battery_3 - ship_light_medium_battery_3_double - ship_light_medium_battery_3_single - - ship_secondaries_3 - - } - - - - folder = { - name = mtgnavalsupportfolder - position = { x = 0 y = 13 } - } - - ai_will_do = { - factor = 1 - modifier = { - has_tech = improved_ship_hull_cruiser - factor = 20 - } - } - - special_project_specialization = { specialization_naval } - categories = { - naval_equipment - ship_modules_tech - cat_ship_medium_battery - mio_cat_tech_all_cruiser_and_modules - } - } - - improved_medium_shell = { - - research_cost = 0.5 - - start_year = 1942 - - path = { - leads_to_tech = advanced_medium_battery - research_cost_coeff = 1 - } - - path = { - leads_to_tech = basic_dp_medium_battery - research_cost_coeff = 1 - } - - light_cruiser = { - lg_armor_piercing = 0.05 - } - heavy_cruiser = { - lg_armor_piercing = 0.05 - } - medium_cruiser = { - lg_armor_piercing = 0.05 - } - - - folder = { - name = mtgnavalsupportfolder - position = { x = 0 y = 16 } - } - - ai_will_do = { - factor = 1 - modifier = { - has_tech = improved_ship_hull_cruiser - factor = 3 - } - modifier = { - has_war = yes - factor = 3 - } - } - - special_project_specialization = { specialization_naval } - categories = { - naval_equipment - mio_cat_tech_all_cruiser_and_modules - } - } - - advanced_medium_battery = { - - research_cost = 0.5 - - start_year = 1944 - - enable_equipment_modules = { - ship_medium_battery_4 - ship_medium_battery_4_double - ship_medium_battery_4_single - ship_light_medium_battery_4 - ship_light_medium_battery_4_double - ship_light_medium_battery_4_single - ship_medium_heavy_battery_2 - ship_medium_heavy_battery_2_double - ship_secondaries_4 - } - on_research_complete = { - custom_effect_tooltip = ca_tech_12_tt - custom_effect_tooltip = medium_battery_advice_tt - } - - path = { - leads_to_tech = unmanned_gun_turret - research_cost_coeff = 1 - } - - folder = { - name = mtgnavalsupportfolder - position = { x = 0 y = 19 } - } - - ai_will_do = { - factor = 1 - modifier = { - has_tech = advanced_ship_hull_cruiser - factor = 7 - } - } - - special_project_specialization = { specialization_naval } - categories = { - naval_equipment - ship_modules_tech - cat_ship_medium_battery - mio_cat_tech_all_cruiser_and_modules - } - } - basic_heavy_battery = { research_cost = 0.75 @@ -720,6 +483,13 @@ technologies = { ship_heavy_battery_2 ship_heavy_battery_2_triple ship_heavy_battery_2_quad + ship_medium_battery_2 + ship_medium_battery_2_double + ship_medium_battery_2_single + ship_medium_heavy_battery_1 + ship_medium_heavy_battery_1_double + + sub_battery_1 } on_research_complete = { @@ -729,7 +499,7 @@ technologies = { folder = { name = mtgnavalsupportfolder - position = { x = 6 y = 7 } + position = { x = 4 y = 7 } } ai_will_do = { @@ -770,6 +540,9 @@ technologies = { ship_heavy_battery_3 ship_heavy_battery_3_triple ship_heavy_battery_3_quad + ship_medium_battery_3 + ship_medium_battery_3_double + ship_medium_battery_3_single } on_research_complete = { @@ -779,7 +552,7 @@ technologies = { folder = { name = mtgnavalsupportfolder - position = { x = 6 y = 13 } + position = { x = 4 y = 13 } } ai_will_do = { @@ -815,6 +588,11 @@ technologies = { ship_heavy_battery_4 ship_heavy_battery_4_triple ship_heavy_battery_4_quad + ship_medium_battery_4 + ship_medium_battery_4_double + ship_medium_battery_4_single + ship_medium_heavy_battery_2 + ship_medium_heavy_battery_2_double } on_research_complete = { @@ -825,7 +603,7 @@ technologies = { folder = { name = mtgnavalsupportfolder - position = { x = 6 y = 19 } + position = { x = 4 y = 19 } } ai_will_do = { @@ -885,6 +663,12 @@ technologies = { ##! hg_attack = 0.05 ##! hg_armor_piercing = 0.05 ##! } + heavy_cruiser = { + hg_armor_piercing = 0.05 + } + medium_cruiser = { + hg_armor_piercing = 0.05 + } enable_equipment_modules = { ship_high_velocity_shell @@ -892,7 +676,7 @@ technologies = { folder = { name = mtgnavalsupportfolder - position = { x = 6 y = 10 } + position = { x = 4 y = 10 } } ai_will_do = { @@ -941,6 +725,12 @@ technologies = { ##! hg_attack = 0.05 ##! hg_armor_piercing = 0.05 ##! } + heavy_cruiser = { + hg_armor_piercing = 0.05 + } + medium_cruiser = { + hg_armor_piercing = 0.05 + } enable_equipment_modules = { ship_super_heavy_weight_shell @@ -948,7 +738,7 @@ technologies = { folder = { name = mtgnavalsupportfolder - position = { x = 6 y = 16 } + position = { x = 4 y = 16 } } ai_will_do = { @@ -1072,6 +862,7 @@ technologies = { start_year = 1944 enable_equipment_modules = { + dp_ship_medium_1 dp_light_battery_4 dp_light_battery_4_single dp_ship_secondaries_4 @@ -1114,47 +905,6 @@ technologies = { } } - basic_dp_medium_battery = { - - research_cost = 0.5 - - start_year = 1944 - - enable_equipment_modules = { - dp_ship_medium_1 - } - - on_research_complete = { - custom_effect_tooltip = ca_tech_12_tt - custom_effect_tooltip = secondary_battery_advice_tt - } - - folder = { - name = mtgnavalsupportfolder - position = { x = 3 y = 19 } - } - - ai_will_do = { - factor = 2 - modifier = { - OR = { - tag = ENG - tag = USA - tag = JAP - } - factor = 20 - } - } - - special_project_specialization = { specialization_naval } - categories = { - naval_equipment - ship_modules_tech - mio_cat_tech_all_screen_ship_and_modules - mio_cat_tech_all_cruiser_and_modules - } - } - basic_super_heavy_battery = { research_cost = 1.25 @@ -1191,7 +941,7 @@ technologies = { folder = { name = mtgnavalsupportfolder - position = { x = 9 y = 7 } + position = { x = 7 y = 7 } } ai_will_do = { @@ -1237,7 +987,7 @@ technologies = { folder = { name = mtgnavalsupportfolder - position = { x = 11 y = 10 } + position = { x = 9 y = 10 } } ai_will_do = { @@ -1275,7 +1025,7 @@ technologies = { folder = { name = mtgnavalsupportfolder - position = { x = 9 y = 14 } + position = { x = 7 y = 15 } } ai_will_do = { @@ -1315,7 +1065,7 @@ technologies = { folder = { name = mtgnavalsupportfolder - position = { x = 3 y = 15 } + position = { x = 0 y = 16 } } ai_will_do = { diff --git a/src/events/MTG_naval_treaty_events.txt b/src/events/MTG_naval_treaty_events.txt index 26cd921..1425f23 100755 --- a/src/events/MTG_naval_treaty_events.txt +++ b/src/events/MTG_naval_treaty_events.txt @@ -377,6 +377,7 @@ country_event = { #notification about 2nd London Naval Conference OR = { has_government = fascism has_government = communism + tag = JAP } factor = 0 } @@ -395,6 +396,10 @@ country_event = { #notification about 2nd London Naval Conference } factor = 0 } + modifier = { + tag = JAP + add = 100 + } } } } \ No newline at end of file diff --git a/src/events/ai_ships.txt b/src/events/ai_ships.txt index 6f73d82..d6238da 100755 --- a/src/events/ai_ships.txt +++ b/src/events/ai_ships.txt @@ -287,7 +287,7 @@ country_event = { fire_only_once = yes trigger = { OR = { - date > 1939.1.1 + date > 1938.1.1 OR = { AND = { expert_ai_style = no @@ -340,8 +340,6 @@ country_event = { basic_dp_light_battery = 1 improved_heavy_battery = 1 improved_super_heavy_battery = 1 - improved_medium_battery = 1 - improved_medium_heavy_battery = 1 improved_light_battery = 1 advanced_ship_torpedo_launcher = 1 improved_ship_hull_carrier = 1 @@ -362,7 +360,6 @@ country_event = { krupp_cemented_steel = 1 basic_light_shell = 1 - basic_medium_shell = 1 basic_heavy_shell = 1 magnetic_detonator = 1 oxygen_torpedo = 1 @@ -444,7 +441,6 @@ country_event = { monopulse_radar = 1 advanced_dp_light_battery = 1 advanced_heavy_battery = 1 - advanced_medium_battery = 1 advanced_light_battery = 1 advanced_heavy_armor = 1 advanced_cruiser_armor = 1 @@ -795,7 +791,6 @@ country_event = { escort_carriers_ship = 1 improved_light_shell = 1 - improved_medium_shell = 1 improved_heavy_shell = 1 improved_dp_light_battery = 1 homing_torpedo = 1 diff --git a/src/gfx/interface/ideas/vnr_navy_spirits/disciplined_crewmen.png b/src/gfx/interface/ideas/vnr_navy_spirits/disciplined_crewmen.png deleted file mode 100755 index fe3aaf9ea0ba773201d75bcd997371f406a8526a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3314 zcmV zMRGXYX63AJx%c+N3~Rx0EH+}$T;O5`^WHn>Kj)rv?*IND{BnjE%wL-Ey|!l!rU2An z>b-Pg?V+t5z!_U`#1>*gK?ub3f&WSl2?W6Hw|Um%e>OAzEN}+M53cR0qrDme2rR(^ z#{&1U`wICpu9WxF2fddox~HIRpx_ElPTAzAGa2jjX!c=X3h?*R*IpTt^np#??mMR? z;QKDWbNJvHONe`UE82Tf_Hn!;DbNlu zKIzH_EKFuS(n#0G^?g2m|bC+BXVXFet#llE1d!wr*-D1H#ZVhGwTn+Oc`$J(KqV_W;9#`)>&NjV_m@ zALSGGWSl=8wiqkLhA!Y_^CXUgqZKoroqD$15cOVo7O2qQaQ@#wJHTjQ%MafhxF4y- z+AeGO=wJT{YjMcs#WfshF=-2w#l9Ce>vI@$1?X}ETl|rrh|#Ra!@quvtBoe5Fk(^)&J^-zfLrOOls&K`b}@e@Qr6(pA4K4Kg<{d~0y*F= z2_FrOn8@6I8=rdLX|7zjz>80>vba*BR&UWJVJp_?p$zZcH$3qli)*KVs{?-_eKKXP z37)xTUds~y_q#m+Fb3QL;sBU{ciz3kAi7!lU0_TIap=V4*zpfM_Cay#ej)6~4ip~yL8+SVXuSY5fi{rv7E2TZkln$xCeQ+^ zz&6mffo#FC{^0Jw{lnAy3p4vi3o@O}3)>QS7-ZPP^tyD~9g4kB&UYfYrjb*}?hv8W z^3cuGr0kF{e&JtOTd#5I?%!f)D1#lvtmIO>^6DaI?mB_vIRq-=Z;wnK`s4j0pVf{V zw~_JHPOlY9EAcETv##UnL=kDF>xu5IhjFdmY*x10oyKMuFJ0v9?lV)+qk`@BV`KKX@NM`tfu8!x#UF2_s0i z+DKz~=DG8{|Nh(Y9LeS7E%xPx2-0aft0k;<8_)Nd@?1*_+d>Ne_)w6=vXPdJlmaOw z(zfY#I@D^l_q>sGSO^769sNwG%-437JPX{MwdJROGwXipkV7U`3dgqDpYjPt#~>Z> zW;fNQp?HI}!kT&Qoe7RIb4hD(Wlv7MNI1bzZk zteyOcv?$|T}THYd? zAEN8J>_2)0f`H%u-A6HTlNVl{W3n*BL+`zV^UGT-hKiL&o3_&UnJk5DfaiE5-7dw= z4PLo8&(oI|Stys8Z}%w0h7ApuBK>SfnJ)o91!_QS4~n1(T#U8(+PCXrucFLn?)9xg z+Om+o#ZounA;VdZLf&I6@8HUax%0EU zasCqB_BIR4W#UAU_B}2vtkP&SA?Y%`KhLGLD(7YwsWcjNl_D{Mn&|^pMz9=d&URIG zIZ}@+!{fl&LFb5eTI03b_)afu0i|taHp@cZ>`5`=Xv5jL72cRHQSZfAmSAJ6&e}$m z+4*HIUM`Z)rD=6S^0|O!yGs}=?z{64vzONy9nKKP3Zo5v+U4w(byT8pWxuP|H8ixL z7#q%o$?R6FzYKf>m;)MvfbR72pWz-m5pM(QU8NV+W0MweFl~&bT0J(m8kEZ0td=UQ zZPwYWwP|%jhI0YF>#(rA$;4=m>B&)Ecx{1Jr$?*PBZ?KSYvbA$SBe!{oshON#KsUC zC??um43lSCiTM)nB(OZdp|1t}PM~*ytHA?ni7|6EW$Km`2gYrg&qzqR5veF7h$6yv zh!dp9=hLK8F6-q6)kcS>(vY2+GPtOObja z)aIWD9bz5m@pDL({Z2m)ZVu@uf7d{{6saZPv-hN(;|~p`xur0SbY0GO6JFnLBMhvU zw-HE+8#Rs`9LJUxE9*50QXxg!%WsA5Ht8Zvy{uMX})ag@K^K-CW zmztV^fi|$+RK~w!-^i)Yow&uGnH7X;`iqH8(Sf+034RVtmBN~1;Ea{$BgT8+(0lf~6C)q0Cw z1YrzUi)Fg45E*tE@;zp9nOo>{Y-bl(b`4t4r>tXRDd+UTLP3xn0?VSA8=+XMu>tIx z7~{E@FH&!HiDE?@CtP0M<|w{TsX!1rjhy2OcMIG1KPm&SD+Jl98B z0?)P>&t=HDE~mzZh3{K;^VXqv&p-!4irem-D2%5)58HKdb2;kkYb>^V6bgANBSqoJ$cT`( zjc{C4uglYK&f?{B=p?4yZWAeuV@q;@M<(rqhD0f(5ahC1gp_o;5rI);To2vrF=8|a zY{#cB<~Vx^+R3}FyDyu;PNnc2n`fSXo@Xje_DzhlRjyKRc4;)b2q6#yztWQQB89Xq zGJ#JL_UQB?TFn-tM&WrLDG7Jv(nG)jb}3ZuHa(nd%J;{{#_=qR;_P|8b7=|fx*WQB zhH|+~wb4dvgAf8`G{zXBIKdc05+@XkD=ZgR>4q`uVZu-5<_Ii_?fD$frSpy@W`GoX z5b2$B;mE!qHJJ}mBx|cY@$zfbjlh$VYGo7GhLK!AHt$MZaH%4Hd{tUSAv&2|Gi1x!CYGkvSmsPo!|^UQZ5JRxvY!pkqb zPHD5QjQ}A8aiWM~g;E9~AWjrv7-NjV_Z*}U1eUb)_3sWiEEB?LZ6bSkwzKMx(T$*$GLMB8n8+ zXi}bw<5)CXy3;k9gPxtP#1>zkyUG_vh8Rt!{P||r-A$z54fM{DK7aRU{-nLJW}jaw zqAiQHNGEUf)Jtux{~g$J9p{muT;^D*-6l%Dxone8Uu#F*~^7lBl#(=DuT zRHnMU1Z@mGZ3ab&t&Pc8LXU=t3Zgh!R7yVyJYR~`w=1!JblS5&{NI)4^ntXyqdeVE zdI$i|mf5^eBd^4!`b1m3wAzWkPXCa(N}v7ty)gRE(q{Bu@8B>4OaqexUnSrYumFUi zF-wB5Wv(wwzFYnXz)RWkuKg+JHx`=V9Iyne(C556lGe4#(A%GP z>2r!5!7-%I7P~w42Y+nLwnQF7G0|q7>(JBdfwt&3{GF-}2Xj{x@)|okes(mvYp?C- wiPyg2eb<+z*Q?aGtCnwfx|ic!i|^X;KZ)AJ6%;6^fdBvi07*qoM6N<$g3bSJ1^@s6 diff --git a/src/interface/countrytechtreeview.gui b/src/interface/countrytechtreeview.gui index 25730dc..4ef7808 100755 --- a/src/interface/countrytechtreeview.gui +++ b/src/interface/countrytechtreeview.gui @@ -1876,7 +1876,7 @@ guiTypes = { textureFile = "" font = "hoi_36header" borderSize = {x = 0 y = 4} - text = "1940" + text = "1939" maxWidth = 170 maxHeight = 32 format = left diff --git a/src/localisation/english/replace/vnr_naval_develop_l_english.yml b/src/localisation/english/replace/vnr_naval_develop_l_english.yml index 432c144..bdff95c 100755 --- a/src/localisation/english/replace/vnr_naval_develop_l_english.yml +++ b/src/localisation/english/replace/vnr_naval_develop_l_english.yml @@ -31,8 +31,6 @@ advancing_base_desc: "在我方舰队向敌人腹地挺进的路线上,我们的前进基地会一直在可到达范围内提供支持。" advanced_supply_fleet: "成熟的补给船队" advanced_supply_fleet_desc: "一支由舰队油船和辅助船组成的成熟的补给船队可以保证舰队满状态运转。" - disciplined_crewmen: "纪律至上" - disciplined_crewmen_desc: "遵守纪律的士兵永远可以不计代价地完成任务。" underwater_death: "潜艇战" underwater_death_desc: "尽管仍未被广泛接受,潜艇确实具备在战时瘫痪一个国家的贸易和经济的潜力。" efficient_escort: "高效护航编队" diff --git a/src/localisation/replace/vnr_naval_develop_l_english.yml b/src/localisation/replace/vnr_naval_develop_l_english.yml index 432c144..bdff95c 100755 --- a/src/localisation/replace/vnr_naval_develop_l_english.yml +++ b/src/localisation/replace/vnr_naval_develop_l_english.yml @@ -31,8 +31,6 @@ advancing_base_desc: "在我方舰队向敌人腹地挺进的路线上,我们的前进基地会一直在可到达范围内提供支持。" advanced_supply_fleet: "成熟的补给船队" advanced_supply_fleet_desc: "一支由舰队油船和辅助船组成的成熟的补给船队可以保证舰队满状态运转。" - disciplined_crewmen: "纪律至上" - disciplined_crewmen_desc: "遵守纪律的士兵永远可以不计代价地完成任务。" underwater_death: "潜艇战" underwater_death_desc: "尽管仍未被广泛接受,潜艇确实具备在战时瘫痪一个国家的贸易和经济的潜力。" efficient_escort: "高效护航编队" diff --git a/src/localisation/simp_chinese/replace/vnr_naval_develop_l_simp_chinese.yml b/src/localisation/simp_chinese/replace/vnr_naval_develop_l_simp_chinese.yml index 30c2041..87906fe 100755 --- a/src/localisation/simp_chinese/replace/vnr_naval_develop_l_simp_chinese.yml +++ b/src/localisation/simp_chinese/replace/vnr_naval_develop_l_simp_chinese.yml @@ -31,8 +31,6 @@ advancing_base_desc: "在我方舰队向敌人腹地挺进的路线上,我们的前进基地会一直在可到达范围内提供支持。" advanced_supply_fleet: "成熟的补给船队" advanced_supply_fleet_desc: "一支由舰队油船和辅助船组成的成熟的补给船队可以保证舰队满状态运转。" - disciplined_crewmen: "纪律至上" - disciplined_crewmen_desc: "遵守纪律的士兵永远可以不计代价地完成任务。" underwater_death: "潜艇战" underwater_death_desc: "尽管仍未被广泛接受,潜艇确实具备在战时瘫痪一个国家的贸易和经济的潜力。" efficient_escort: "高效护航编队"