# must-haves generic_coastal_defense = { required_taskforces = { CoastalPatrolGroup = 1 } optional_taskforces = { CoastalPatrolGroup = 3 CorvetteGroup = 2 } } generic_convoy_escort = { required_taskforces = { ASWEscortGroup = 1 } optional_taskforces = { ASWEscortGroup = 3 CorvetteGroup = 2 PatrolReconForce_1 = 1 } } generic_corvette_force = { required_taskforces = { CorvetteGroup = 1 } optional_taskforces = { CorvetteGroup = 3 ASWEscortGroup = 1 } } generic_submarine_raider = { required_taskforces = { SubmarineRaidingGroup = 1 } optional_taskforces = { SubmarineRaidingGroup = 3 MissileSubGroup = 2 SubmarineReconPatrol = 2 } } # advance fleets generic_surface_action = { required_taskforces = { SurfaceActionGroup = 1 } optional_taskforces = { PatrolReconForce_1 = 2 ASWEscortGroup = 1 CorvetteGroup = 1 SubmarineReconPatrol = 1 } } generic_strike_force = { required_taskforces = { StrikeForce_1 = 1 } optional_taskforces = { PatrolReconForce_1 = 2 SubmarineReconPatrol = 1 ASWEscortGroup = 1 CorvetteGroup = 1 } } USA_strike_force = { required_taskforces = { StrikeForce_2 = 1 } optional_taskforces = { PatrolReconForce_1 = 2 SubmarineReconPatrol = 1 ASWEscortGroup = 1 } } generic_stealth_patrol = { required_taskforces = { StealthPatrolGroup = 1 } optional_taskforces = { StealthPatrolGroup = 2 SubmarineReconPatrol = 1 } } # optional fleets naval_landing_force = { required_taskforces = { NavalLandingForce = 1 } optional_taskforces = { PatrolReconForce_1 = 1 SubmarineReconPatrol = 1 ASWEscortGroup = 1 } }