# AI Ship Designs for Generic Nations

destroyers = {
	category = naval
	
	available_for = {
	}
	
	roles = {
		naval_screen
	}
	
	priority = {
		factor = 2500
		modifier = {
			factor = 2
			is_major = no
		}
	}
	
	screen_default = {
	
		priority = {
			factor = 250
			modifier = {
				factor = 10
				is_major = no
			}
		}
		
		role_icon_index = 2
		
		target_variant = {
			match_value = 2000.0
			
			type = ship_hull_light
			modules = {
				fixed_ship_battery_slot = ship_light_battery
				fixed_ship_fire_control_system_slot = ship_fire_control_system
				fixed_ship_radar_slot = ship_sonar
				fixed_ship_engine_slot = light_ship_engine
				fixed_ship_torpedo_slot = ship_torpedo
				rear_1_custom_slot = ship_depth_charge
			}
		}
		
		allowed_modules = {
			ship_depth_charge
			ship_light_battery
			ship_torpedo
			ship_anti_air
			light_ship_engine
			ship_sonar
			ship_fire_control_system
			ship_radar
		}
	}

	screen_2 = {
	
		priority = {
			factor = 250
			modifier = {
				factor = 10
				is_major = no
			}
		}
		
		role_icon_index = 2
		
		target_variant = {
			match_value = 2500.0
			
			type = ship_hull_light
			modules = {
				fixed_ship_battery_slot = {
					module > ship_light_battery_1
					upgrade > current
				}
				fixed_ship_fire_control_system_slot > ship_fire_control_system_0
				fixed_ship_engine_slot = light_ship_engine
				fixed_ship_radar_slot = { 
					any_of = { ship_radar ship_sonar } 
				}
				fixed_ship_torpedo_slot = ship_torpedo
				fixed_ship_anti_air_slot = ship_anti_air_1
				rear_1_custom_slot = ship_depth_charge
			}
		}
		
		allowed_modules = {
			ship_light_battery
			ship_torpedo
			ship_anti_air
			ship_depth_charge
			light_ship_engine
			ship_fire_control_system
			ship_radar
			ship_sonar
		}
	}

	screen_3 = {
	
		priority = {
			factor = 250
			modifier = {
				factor = 10
				is_major = no
			}
		}
		
		role_icon_index = 2
		
		target_variant = {
			match_value = 3500.0
			
			type = ship_hull_light
			modules = {
				fixed_ship_battery_slot = {
					module = ship_light_battery
					upgrade > current
				}
				fixed_ship_fire_control_system_slot = {
					any_of = { ship_radar ship_fire_control_system_2 ship_fire_control_system_1 }
				}
				fixed_ship_engine_slot > light_ship_engine_1
				fixed_ship_radar_slot = {
					any_of = { 
						ship_radar
						ship_sonar
					}
				}
				fixed_ship_torpedo_slot = ship_torpedo
				fixed_ship_anti_air_slot = ship_anti_air
				rear_1_custom_slot = { 
					module = ship_depth_charge
					upgrade > current
				}
			}
		}
		
		allowed_modules = {
			ship_light_battery
			ship_medium_battery
			ship_torpedo
			ship_anti_air
			ship_depth_charge
			light_ship_engine
			ship_fire_control_system
			ship_radar
			ship_sonar
		}
	}
}

generic_escorts = {
	category = naval

	available_for = {
		
	}
	
	roles = {
		naval_escort
	}
	
	priority = {
		factor = 1000
	}
	
	escort_default = {
	
		priority = {
			factor = 100
		}

		role_icon_index = 2
		
		target_variant = {
			match_value = 1000.0
			
			type = ship_hull_light_1
			modules = {
				fixed_ship_battery_slot = ship_light_battery_1
				fixed_ship_anti_air_slot = empty
				fixed_ship_fire_control_system_slot = empty
				fixed_ship_radar_slot = ship_sonar
				fixed_ship_engine_slot = light_ship_engine_1
				fixed_ship_torpedo_slot = empty
				mid_1_custom_slot = empty
				rear_1_custom_slot = {
					any_of = { ship_depth_charge }
					upgrade > current
				}
			}
		}
		
		allowed_modules = {
			ship_depth_charge
			ship_anti_air
			ship_light_battery
			ship_sonar
			ship_fire_control_system
			ship_radar
		}
	}
	escort_upgrade = {
	
		priority = {
			factor = 120
		}
		enable = {
			AND = {
				has_tech = improved_depth_charges
				has_tech = cavity_magnatron
			}
		}
		role_icon_index = 2
		
		target_variant = {
			match_value = 2000.0
			
			type = ship_hull_light_1
			modules = {
				fixed_ship_battery_slot = ship_light_battery_1
				fixed_ship_anti_air_slot = ship_anti_air
				fixed_ship_fire_control_system_slot = ship_radar
				fixed_ship_radar_slot = ship_sonar
				fixed_ship_engine_slot = light_ship_engine_1
				fixed_ship_torpedo_slot = empty
				mid_1_custom_slot = ship_depth_charge
				rear_1_custom_slot = ship_depth_charge
			}
		}
		
		allowed_modules = {
			ship_anti_air
			ship_depth_charge
			ship_light_battery
			ship_sonar
			ship_fire_control_system
			ship_radar
		}
	}
}

naval_light_cruiser = {

	category = naval
	
	available_for = {
	}
	
	roles = {
		naval_cruiser_light
	}
	
	priority = {
		factor = 1000
		modifier = {
			factor = 10
			is_major = no
		}
	}
	cruiser_light_early = {
		
		priority = {
			factor = 100
			modifier = {
				factor = 10
				is_major = no
			}
		}

		role_icon_index = 2
		
		target_variant = {
			match_value = 1000.0
			
			type = ship_hull_cruiser
			modules = {
				fixed_ship_battery_slot = ship_light_medium_battery_1
				fixed_ship_fire_control_system_slot = ship_fire_control_system
				fixed_ship_radar_slot = empty
				fixed_ship_engine_slot = cruiser_ship_engine
				fixed_ship_armor_slot = ship_cruiser_armor
				fixed_ship_secondaries_slot = empty
				rear_1_custom_slot = ship_light_medium_battery_1
				mid_1_custom_slot = empty
				mid_2_custom_slot = {
					any_of = { ship_torpedo ship_anti_air ship_secondaries }
				}
			}
		}
		
		allowed_modules = {
			ship_light_medium_battery_1
			ship_light_battery
			ship_secondaries
			ship_torpedo
			ship_anti_air
			ship_depth_charge
			ship_fire_control_system
			cruiser_ship_engine
			ship_radar
			ship_sonar
			ship_airplane_launcher
		}
	}
	cruiser_light_basic = {
		
		priority = {
			factor = 100
			modifier = {
				factor = 10
				is_major = no
			}
		}

		role_icon_index = 2
		
		target_variant = {
			match_value = 1250.0
			
			type = ship_hull_cruiser_2
			modules = {
				fixed_ship_battery_slot = ship_light_medium_battery_1
				fixed_ship_anti_air_slot = ship_anti_air
				fixed_ship_engine_slot = cruiser_ship_engine_1
				fixed_ship_fire_control_system_slot = ship_fire_control_system
				fixed_ship_armor_slot = ship_armor_cruiser_1
				fixed_ship_secondaries_slot = empty
				front_1_custom_slot = { 
					any_of = {
						ship_anti_air
						ship_light_medium_battery_1
					}
				}
				rear_1_custom_slot = ship_light_medium_battery_1
				mid_1_custom_slot = {
					any_of = { ship_torpedo ship_anti_air }
				}
				mid_2_custom_slot = ship_airplane_launcher_1
			}
		}
		
		allowed_modules = {
			ship_anti_air
			ship_torpedo
			ship_secondaries
			ship_medium_battery
			ship_light_battery
			ship_depth_charge
			ship_fire_control_system
			cruiser_ship_engine
			ship_radar
			ship_sonar
			ship_airplane_launcher
			
		}
	}
	cruiser_light_improved = {
		
		priority = {
			factor = 100
			modifier = {
				factor = 10
				is_major = no
			}
		}
		
		role_icon_index = 2

		target_variant = {
			match_value = 1500.0
			
			type = ship_hull_cruiser
			modules = {
				fixed_ship_battery_slot = ship_light_medium_battery_2
				fixed_ship_anti_air_slot = ship_anti_air
				fixed_ship_engine_slot = cruiser_ship_engine
				fixed_ship_fire_control_system_slot = ship_fire_control_system
				fixed_ship_armor_slot > empty
				fixed_ship_secondaries_slot = empty
				front_1_custom_slot = { 
					any_of = {
						ship_light_medium_battery_2
						ship_anti_air
					}
					upgrade > current
				}
				rear_1_custom_slot = ship_light_medium_battery_2
				rear_2_custom_slot > empty
				mid_1_custom_slot = {
					any_of = { ship_torpedo ship_anti_air }
					upgrade > current
				}
				mid_2_custom_slot = ship_airplane_launcher
			}
		}
		
		allowed_modules = {
			ship_anti_air
			ship_torpedo
			ship_secondaries
			ship_medium_battery
			ship_light_battery
			ship_depth_charge
			ship_fire_control_system
			cruiser_ship_engine
			ship_radar
			ship_sonar
			ship_airplane_launcher
			
		}
	}
	cruiser_light_advanced = {
		
		priority = {
			factor = 100
			modifier = {
				factor = 10
				is_major = no
			}
		}

		role_icon_index = 2
		
		target_variant = {
			match_value = 1750.0
			
			type = ship_hull_cruiser
			modules = {
				fixed_ship_battery_slot > ship_light_medium_battery_2
				fixed_ship_anti_air_slot = ship_anti_air
				fixed_ship_engine_slot = cruiser_ship_engine
				fixed_ship_fire_control_system_slot = { 
					any_of = { ship_fire_control_system ship_radar } 
					upgrade > current
				}
				fixed_ship_armor_slot > ship_armor_cruiser_2
				fixed_ship_secondaries_slot > empty
				front_1_custom_slot = { 
					any_of = {
						ship_anti_air
						ship_light_medium_battery_2
					}
					upgrade > current
				}
				rear_1_custom_slot > ship_light_medium_battery_2
				rear_2_custom_slot > empty
				mid_1_custom_slot = {
					any_of = { ship_torpedo ship_anti_air }
					upgrade > current
				}
				mid_2_custom_slot = ship_airplane_launcher_1
			}
		}
		
		allowed_modules = {
			ship_anti_air
			ship_secondaries
			ship_torpedo
			ship_medium_battery
			ship_light_battery
			ship_depth_charge
			ship_fire_control_system
			cruiser_ship_engine
			ship_radar
			ship_sonar
			ship_airplane_launcher
			
		}
	}
}

naval_cruiser_heavy = {
	category = naval

	available_for = {
	}
	
	roles = {
		naval_cruiser_heavy
	}
	
	priority = {
		factor = 800
	}
	capital_cruiser_early = {
	
		priority = {
			factor = 100
		}

		role_icon_index = 1
		
		target_variant = {
			match_value = 1000.0
			
			type = ship_hull_cruiser
			modules = {
				fixed_ship_battery_slot = ship_medium_battery_1
				fixed_ship_fire_control_system_slot = ship_fire_control_system
				fixed_ship_engine_slot = cruiser_ship_engine
				fixed_ship_armor_slot = ship_cruiser_armor
				fixed_ship_secondaries_slot = ship_secondaries
				mid_1_custom_slot = {
					any_of = { ship_anti_air ship_torpedo ship_secondaries }
				}
				mid_2_custom_slot = {
					any_of = { ship_airplane_launcher ship_anti_air ship_torpedo }
				}
				rear_1_custom_slot = ship_medium_battery_1
			}
		}
		
		allowed_modules = {
			ship_anti_air
			ship_medium_battery
			ship_radar
			ship_torpedo
			ship_airplane_launcher
		}
	}
	capital_cruiser_basic = {
	
		priority = {
			factor = 100
			
		}

		role_icon_index = 1
		
		target_variant = {
			match_value = 1250.0
			
			type = ship_hull_cruiser_2
			modules = {
				fixed_ship_battery_slot = { any_of = { ship_medium_battery_2 ship_medium_battery_1 } }
				fixed_ship_fire_control_system_slot = ship_fire_control_system
				fixed_ship_engine_slot = cruiser_ship_engine
				fixed_ship_radar_slot = ship_radar
				fixed_ship_armor_slot = ship_cruiser_armor
				fixed_ship_secondaries_slot = ship_secondaries
				front_1_custom_slot = ship_anti_air
				mid_1_custom_slot = {
					any_of = { ship_torpedo ship_anti_air ship_secondaries }
				}
				mid_2_custom_slot = {
					any_of = { ship_airplane_launcher ship_anti_air ship_torpedo }
				}
				rear_1_custom_slot = { any_of = { ship_medium_battery_2 ship_medium_battery_1 } }
			}
		}
		
		allowed_modules = {
			ship_anti_air
			ship_medium_battery
			ship_radar
			ship_torpedo
			ship_airplane_launcher
		}
	}

	capital_cruiser_improved = {
	
		priority = {
			factor = 100

		}
		
		role_icon_index = 1

		target_variant = {
			match_value = 1500.0
			
			type = ship_hull_cruiser_3
			modules = {
				fixed_ship_battery_slot > ship_medium_battery_1
				fixed_ship_fire_control_system_slot > ship_fire_control_system_0
				fixed_ship_engine_slot > cruiser_ship_engine_1
				fixed_ship_radar_slot = ship_radar
				fixed_ship_armor_slot > ship_armor_cruiser_1
				fixed_ship_secondaries_slot = ship_secondaries
				front_1_custom_slot = ship_anti_air
				mid_1_custom_slot = {
					any_of = { ship_anti_air ship_secondaries }
					upgrade > current
				}
				mid_2_custom_slot = {
					any_of = { ship_airplane_launcher ship_anti_air ship_torpedo }
					upgrade > current
				}
				rear_1_custom_slot > ship_medium_battery_1
				rear_2_custom_slot = ship_anti_air
			}
		}
		
		allowed_modules = {
			ship_anti_air
			ship_medium_battery
			ship_radar
			ship_torpedo
			ship_airplane_launcher
			ship_fire_control_system
		}
	}
	capital_cruiser_advanced = {
	
		priority = {
			factor = 100
		}

		role_icon_index = 1
		
		target_variant = {
			match_value = 1750.0
			
			type = ship_hull_cruiser
			modules = {
				fixed_ship_battery_slot > ship_medium_battery_2
				fixed_ship_fire_control_system_slot = ship_fire_control_system
				fixed_ship_engine_slot > cruiser_ship_engine_2
				fixed_ship_radar_slot = ship_radar
				fixed_ship_armor_slot > ship_armor_cruiser_2
				fixed_ship_secondaries_slot = dp_ship_secondaries_1
				front_1_custom_slot = ship_anti_air
				mid_1_custom_slot = {
					any_of = { ship_anti_air dp_ship_secondaries_1 }
					upgrade > current
				}
				mid_2_custom_slot = {
					any_of = { ship_airplane_launcher ship_anti_air }
					upgrade > current
				
}				rear_1_custom_slot > ship_medium_battery_2
				rear_2_custom_slot = ship_anti_air
			}
		}
		
		allowed_modules = {
			ship_anti_air
			ship_medium_battery
			ship_radar
			ship_torpedo
			ship_airplane_launcher
			ship_fire_control_system
		}
	}
}

naval_capital_battleship = {
	category = naval
	
	available_for = {
	}
	
	roles = {
		naval_capital_bb
	}
	
	priority = {
		factor = 500
		modifier = {
			factor = 0
			num_of_naval_factories < 35
		}
	}
	
	capital_battleship_early = {
	
		priority = {
			factor = 100
			modifier = {
				has_tech = basic_ship_hull_heavy
				factor = 0
			}
		}

		role_icon_index = 1
		
		target_variant = {
			match_value = 1000.0
			
			type = ship_hull_heavy_1
			modules = {
				fixed_ship_battery_slot = ship_heavy_battery_1
				fixed_ship_fire_control_system_slot = ship_fire_control_system
				fixed_ship_engine_slot = heavy_ship_engine_1
				fixed_ship_armor_slot = ship_armor_bb_1
				fixed_ship_secondaries_slot = ship_secondaries
				front_1_custom_slot = empty
				mid_1_custom_slot = ship_secondaries
				mid_2_custom_slot = empty
				rear_1_custom_slot = ship_heavy_battery_1
			}
		}
		
		allowed_modules = {
			ship_anti_air
			ship_heavy_battery
			ship_radar
			ship_fire_control_system
			ship_heavy_armor
			ship_secondaries
			ship_airplane_launcher
		}
	}
	capital_battleship_early_aa_upgrade = {
	
		priority = {
			factor = 100
			modifier = {
				factor = 100
				has_war = yes
			}
		}

		role_icon_index = 1
		
		target_variant = {
			match_value = 1250.0
			
			type = ship_hull_heavy_1
			modules = {
				fixed_ship_battery_slot = ship_heavy_battery_1
				fixed_ship_fire_control_system_slot = ship_fire_control_system
				fixed_ship_engine_slot = heavy_ship_engine_1
				fixed_ship_armor_slot = ship_armor_bb_1
				fixed_ship_secondaries_slot = ship_secondaries
				front_1_custom_slot = ship_anti_air
				mid_1_custom_slot = { 
					any_of = { ship_secondaries ship_anti_air ship_airplane_launcher }
					upgrade > current
				}
				mid_2_custom_slot = ship_anti_air
				rear_1_custom_slot = ship_heavy_battery_1
			}
		}
		
		allowed_modules = {
			ship_anti_air
			ship_heavy_battery
			ship_radar
			ship_fire_control_system
			ship_heavy_armor
			ship_secondaries
			ship_airplane_launcher
		}
	}

	capital_battleship_basic = {
	
		priority = {
			factor = 100
			modifier = {
				factor = 0
				has_tech = improved_ship_hull_heavy
			}
		}

		role_icon_index = 1
		
		target_variant = {
			match_value = 1500.0
			
			type = ship_hull_heavy_2
			modules = {
				fixed_ship_battery_slot = ship_heavy_battery
				fixed_ship_fire_control_system_slot = ship_fire_control_system
				fixed_ship_engine_slot = heavy_ship_engine
				fixed_ship_armor_slot = ship_armor_bb_2
				fixed_ship_secondaries_slot = ship_secondaries
				front_1_custom_slot = empty
				mid_1_custom_slot = ship_secondaries
				mid_2_custom_slot = ship_anti_air
				rear_1_custom_slot = ship_heavy_battery
			}
		}
		
		allowed_modules = {
			ship_anti_air
			ship_heavy_battery
			ship_radar
			ship_fire_control_system
			ship_heavy_armor
			ship_secondaries
			ship_airplane_launcher
		}
	}

	capital_battleship_basic_aa_upgrade = {
	
		priority = {
			factor = 100
			modifier = {
				factor = 100
				has_war = yes
			}
		}
		
		role_icon_index = 1

		target_variant = {
			match_value = 1750.0
			
			type = ship_hull_heavy_2
			modules = {
				fixed_ship_battery_slot = ship_heavy_battery
				fixed_ship_fire_control_system_slot = ship_fire_control_system
				fixed_ship_engine_slot = heavy_ship_engine
				fixed_ship_armor_slot = ship_armor_bb_2
				fixed_ship_secondaries_slot = ship_secondaries
				front_1_custom_slot = ship_anti_air
				mid_1_custom_slot = ship_secondaries
				mid_2_custom_slot = ship_anti_air
				rear_1_custom_slot = ship_heavy_battery
			}
		}
		
		allowed_modules = {
			ship_anti_air
			ship_heavy_battery
			ship_radar
			ship_fire_control_system
			ship_heavy_armor
			ship_secondaries
			ship_airplane_launcher
		}
	}
	capital_battleship_improved = {
	
		priority = {
			factor = 100
			modifier = {
				factor = 0
				has_tech = advanced_ship_hull_heavy
			}
		}

		role_icon_index = 1
		
		target_variant = {
			match_value = 2000.0
			
			type = ship_hull_heavy_3
			modules = {
				fixed_ship_battery_slot = ship_heavy_battery
				fixed_ship_fire_control_system_slot = ship_fire_control_system
				fixed_ship_radar_slot = ship_radar
				fixed_ship_engine_slot = heavy_ship_engine
				fixed_ship_armor_slot = ship_armor_bb_3
				fixed_ship_secondaries_slot = ship_secondaries
				front_1_custom_slot = ship_anti_air
				mid_1_custom_slot = ship_secondaries
				mid_2_custom_slot = ship_anti_air
				mid_3_custom_slot > empty
				rear_1_custom_slot = ship_heavy_battery
			}
		}
		
		allowed_modules = {
			ship_anti_air
			ship_secondaries
			ship_airplane_launcher
			ship_heavy_battery
			ship_radar
			ship_fire_control_system
			ship_heavy_armor
		}
	}
	capital_battleship_advanced = {
	
		priority = {
			factor = 100
		}

		role_icon_index = 1
		
		target_variant = {
			match_value = 2250.0
			
			type = ship_hull_heavy_3
			modules = {
				fixed_ship_battery_slot > ship_heavy_battery_1
				fixed_ship_fire_control_system_slot = ship_fire_control_system
				fixed_ship_radar_slot = ship_radar
				fixed_ship_engine_slot = heavy_ship_engine
				fixed_ship_armor_slot > ship_armor_bb_2
				fixed_ship_secondaries_slot = ship_secondaries
				front_1_custom_slot = ship_anti_air
				mid_1_custom_slot = ship_secondaries
				mid_2_custom_slot = ship_anti_air
				mid_3_custom_slot > empty
				rear_1_custom_slot > ship_heavy_battery_1
			}
		}
		
		allowed_modules = {
			ship_anti_air
			ship_secondaries
			ship_airplane_launcher
			ship_heavy_battery
			ship_radar
			ship_fire_control_system
			ship_heavy_armor
		}
	}
}

naval_capital_bc = {
	category = naval

	available_for = {
	}
	
	roles = {
		naval_capital_bc
	}
	
	priority = {
		factor = 1
	}

	battlecruiser_early = {
	
		priority = {
			factor = 1
		}

		role_icon_index = 1
		
		target_variant = {
			match_value = 1000.0
			
			type = ship_hull_heavy_1
			modules = {
				fixed_ship_battery_slot = ship_heavy_battery_1
				fixed_ship_fire_control_system_slot = ship_fire_control_system
				fixed_ship_engine_slot = heavy_ship_engine_1
				fixed_ship_armor_slot = ship_armor_bc_1
				fixed_ship_secondaries_slot = ship_secondaries
				front_1_custom_slot = empty
				mid_1_custom_slot = ship_secondaries
				mid_2_custom_slot = empty
				rear_1_custom_slot = ship_heavy_battery_1
			}
		}
		
		allowed_modules = {
			ship_anti_air
			ship_secondaries
			ship_airplane_launcher
			ship_heavy_battery
			ship_radar
			ship_fire_control_system
			ship_heavy_armor
		}
	}
	battlecruiser_early_aa_upgrade = {
	
		priority = {
			factor = 1
			modifier = {
				factor = 100
				has_war = yes
				has_navy_size = {
					unit = battle_cruiser 
					size > 0 # at least one BC built
				}
			}
		}

		role_icon_index = 1
		
		target_variant = {
			match_value = 1250.0
			
			type = ship_hull_heavy_1
			modules = {
				fixed_ship_battery_slot = ship_heavy_battery_1
				fixed_ship_fire_control_system_slot = ship_fire_control_system
				fixed_ship_engine_slot = heavy_ship_engine_1
				fixed_ship_armor_slot = ship_armor_bc_1
				fixed_ship_secondaries_slot = ship_secondaries
				front_1_custom_slot = ship_anti_air
				mid_1_custom_slot = ship_secondaries
				mid_2_custom_slot = ship_anti_air
				rear_1_custom_slot = ship_heavy_battery_1
			}
		}
		
		allowed_modules = {
			ship_anti_air
			ship_secondaries
			ship_airplane_launcher
			ship_heavy_battery
			ship_radar
			ship_fire_control_system
			ship_heavy_armor
		}
	}
	battlecruiser_improved = {
	
		priority = {
			factor = 1
			modifier = {
				factor = 0
				is_major = yes #we don't deal with such nonsense
			}
		}

		role_icon_index = 1
		
		target_variant = {
			match_value = 1500.0
			
			type = ship_hull_heavy
			modules = {
				fixed_ship_battery_slot > ship_heavy_battery_1
				fixed_ship_fire_control_system_slot = ship_fire_control_system
				fixed_ship_engine_slot > heavy_ship_engine_1
				fixed_ship_armor_slot > ship_armor_bc_1
				fixed_ship_secondaries_slot = ship_secondaries
				front_1_custom_slot = ship_anti_air
				mid_1_custom_slot = ship_secondaries
				mid_2_custom_slot = ship_anti_air
				rear_1_custom_slot = ship_airplane_launcher
			}
		}
		
		allowed_modules = {
			ship_anti_air
			ship_secondaries
			ship_airplane_launcher
			ship_heavy_battery
			ship_radar
			ship_fire_control_system
			ship_heavy_armor
		}
	}
}

naval_carrier = {
	category = naval

	available_for = {
	}
	
	roles = {
		naval_carrier
	}
	
	priority = {
		factor = 10
		modifier = {
			factor = 50
			is_major = yes
		}
		modifier = {
			num_of_naval_factories > 50
			factor = 10
		}
	}

	carrier_early = {
	
		priority = {
			factor = 100
			 
		}

		role_icon_index = 7
		
		target_variant = {
			match_value = 1000.0
			
			type = ship_hull_carrier
			modules = {
				fixed_ship_deck_slot_1 = ship_deck_space
				fixed_ship_deck_slot_2 = ship_deck_space
				fixed_ship_anti_air_slot = ship_anti_air
				fixed_ship_engine_slot = carrier_ship_engine_1
				fixed_ship_secondaries_slot = empty
				front_1_custom_slot = empty
			}
		}
		
		allowed_modules = {
			ship_secondaries
			ship_anti_air
			ship_fire_control_system
			cruiser_ship_engine
			heavy_ship_engine
			carrier_ship_engine
			ship_radar
			ship_deck_space
			ship_carrier_armor
		}
	}

	carrier_basic = {
	
		priority = {
			factor = 1
			modifier = {
				factor = 50
				is_major = yes
			}
		}

		role_icon_index = 7
		
		target_variant = {
			match_value = 1250.0
			
			type = ship_hull_carrier_1
			modules = {
				fixed_ship_deck_slot_1 = ship_deck_space
				fixed_ship_deck_slot_2 = ship_deck_space
				fixed_ship_anti_air_slot = ship_anti_air
				fixed_ship_engine_slot = carrier_ship_engine_1
				fixed_ship_secondaries_slot = empty
				front_1_custom_slot = ship_deck_space
			}
		}
		
		allowed_modules = {
			ship_secondaries
			ship_anti_air
			ship_fire_control_system
			carrier_ship_engine
			ship_radar
			ship_deck_space
			ship_carrier_armor
		}
	}

	carrier_improved = {
	
		priority = {
			factor = 1
			modifier = {
				factor = 50
				is_major = yes
			}
		}

		role_icon_index = 7
		
		target_variant = {
			match_value = 1500.0
			
			type = ship_hull_carrier_2
			modules = {
				fixed_ship_deck_slot_1 = ship_deck_space
				fixed_ship_deck_slot_2 = ship_deck_space
				fixed_ship_anti_air_slot = ship_anti_air
				fixed_ship_engine_slot = carrier_ship_engine
				fixed_ship_secondaries_slot > empty
				front_1_custom_slot = ship_deck_space
				mid_1_custom_slot = ship_deck_space
			}
		}
		
		allowed_modules = {
			ship_secondaries
			ship_anti_air
			ship_fire_control_system
			carrier_ship_engine
			ship_radar
			ship_deck_space
			ship_carrier_armor
		}
	}
	carrier_advanced = {
	
		priority = {
			factor = 1
			modifier = {
				factor = 1
			}
		}

		role_icon_index = 7
		
		target_variant = {
			match_value = 1750.0
			
			type = ship_hull_carrier_3
			modules = {
				fixed_ship_deck_slot_1 = ship_deck_space
				fixed_ship_deck_slot_2 = ship_deck_space
				fixed_ship_anti_air_slot = ship_anti_air
				fixed_ship_engine_slot = carrier_ship_engine
				fixed_ship_secondaries_slot = ship_secondaries
				front_1_custom_slot = ship_deck_space
				mid_1_custom_slot = ship_deck_space
			}
		}
		
		allowed_modules = {
			ship_secondaries
			ship_anti_air
			ship_fire_control_system
			carrier_ship_engine
			ship_radar
			ship_deck_space
			ship_carrier_armor
		}
	}
}

naval_submarine = {
	category = naval

	available_for = {
	}
	
	roles = {
		naval_submarine
	}
	
	priority = {
		factor = 4
	}

	submarine_early = {
	
		priority = {
			factor = 1
			modifier = {
				factor = 1
			}
		}
		
		role_icon_index = 6

		target_variant = {
			match_value = 1000.0
			
			type = ship_hull_submarine
			modules = {
				fixed_ship_engine_slot = sub_ship_engine_1
				fixed_ship_torpedo_slot = ship_torpedo_sub_1
				rear_1_custom_slot = empty
			}
		}
		
		allowed_modules = {
			ship_torpedo_sub
			sub_ship_engine
			ship_mine_layer_sub
			ship_sub_snorkel
			ship_radar
		}
	}
	submarine_basic = {
	
		priority = {
			factor = 1
			modifier = {
				factor = 1
			}
		}

		role_icon_index = 6
		
		target_variant = {
			match_value = 1250.0
			
			type = ship_hull_submarine
			modules = {
				fixed_ship_engine_slot = sub_ship_engine_1
				fixed_ship_torpedo_slot = ship_torpedo_sub_1
				rear_1_custom_slot = ship_torpedo_sub_1
			}
		}
		
		allowed_modules = {
			ship_torpedo_sub
			sub_ship_engine
			ship_mine_layer_sub
			ship_sub_snorkel
			ship_radar
		}
	}
	submarine_improved = {
	
		priority = {
			factor = 1
			modifier = {
				factor = 1
			}
		}
		
		role_icon_index = 6

		target_variant = {
			match_value = 1500.0
			
			type = ship_hull_submarine
			modules = {
				fixed_ship_engine_slot = sub_ship_engine_1
				fixed_ship_torpedo_slot = ship_torpedo_sub
				front_1_custom_slot = empty
				mid_1_custom_slot = { any_of = { ship_radar ship_sub_snorkel } }
				rear_1_custom_slot = ship_torpedo_sub
			}
		}
		
		allowed_modules = {
			ship_sub_snorkel
			ship_torpedo_sub
			sub_ship_engine
			ship_mine_layer_sub
			ship_radar
		}
	}
	submarine_advanced = {
	
		priority = {
			factor = 1
			modifier = {
				factor = 1
			}
		}

		role_icon_index = 6
		
		target_variant = {
			match_value = 1750.0
			
			type = ship_hull_submarine
			modules = {
				fixed_ship_engine_slot = sub_ship_engine
				fixed_ship_torpedo_slot = ship_torpedo_sub
				front_1_custom_slot = ship_torpedo_sub
				mid_1_custom_slot = { any_of = { ship_sub_snorkel ship_radar } }
				rear_1_custom_slot = ship_torpedo_sub
			}
		}
		
		allowed_modules = {
			ship_torpedo_sub
			sub_ship_engine
			ship_mine_layer_sub
			ship_sub_snorkel
			ship_radar
		}
	}
}

naval_mine_sweeper = {
	category = naval

	available_for = {
	}
	
	roles = {
		naval_mine_sweeper
	}
	
	priority = {
		factor = 200
		modifier = {
			factor = 5
			has_war = yes
		}
	}
	
	mine_sweeper_light_early = { # base variant
	
		priority = {
			factor = 100
			modifier = {
				factor = 10
				is_major = no
			}
		}
		enable = { has_tech = basic_naval_mines }
		role_icon_index = 5
		
		target_variant = {
			match_value = 1000.0
			
			type = ship_hull_light_1
			modules = {
				rear_1_custom_slot = ship_mine_sweeper_1
				fixed_ship_battery_slot = ship_light_battery_1
				fixed_ship_engine_slot = light_ship_engine_1
				fixed_ship_torpedo_slot = empty
				fixed_ship_anti_air_slot = ship_anti_air
			}
		}
		requirements = {
			module = ship_mine_sweeper_1
		}
		allowed_modules = {
			ship_mine_warfare
			ship_light_battery
			ship_anti_air
			ship_depth_charge
			ship_fire_control_system
			light_ship_engine
			ship_radar
			ship_sonar
		}
	}
	mine_sweeper_light_late = { #improved variant for late war
	
		priority = {
			factor = 100
			modifier = {
				factor = 10
				is_major = no
			}
		}

		enable = {
			has_tech = basic_dp_light_battery
			has_tech = improved_naval_mines
		}
		
		role_icon_index = 5
		
		target_variant = {
			match_value = 1000.0
			
			type = ship_hull_light_1
			modules = {
				rear_1_custom_slot = ship_mine_sweeper_1
				mid_1_custom_slot = ship_mine_sweeper_1
				fixed_ship_battery_slot = {
					any_of = { dp_light_battery_1 ship_light_battery_1 }
					upgrade > current
				}
				fixed_ship_engine_slot = light_ship_engine_1
				fixed_ship_torpedo_slot = empty
				fixed_ship_anti_air_slot = ship_anti_air
			}
		}
		
		requirements = {
			module = ship_mine_sweeper_1
		}
		allowed_modules = {
			ship_mine_sweeper_1
			ship_mine_warfare
			ship_anti_air
			ship_light_battery
			ship_depth_charge
			ship_fire_control_system
			light_ship_engine
			ship_radar
			ship_sonar
		}
	}
}

naval_mine_layer = {
	category = naval

	available_for = {
	}
	
	roles = {
		naval_mine_layer
	}
	
	priority = {
		factor = 3
		modifier = {
			factor = 5
			has_war = yes
		}
		modifier = {
			is_major = no
			factor = 5
		}
	}
	
	mine_layer_light = {
	
		priority = {
			factor = 10
			modifier = {
				factor = 10
				num_of_naval_factories < 25 #not a major naval power
			}
		}
		
		role_icon_index = 4
		
		target_variant = {
			match_value = 1000.0
			 
			type = ship_hull_light
			modules = {
				rear_1_custom_slot = ship_mine_layer_1 
				fixed_ship_engine_slot = light_ship_engine_1
				fixed_ship_battery_slot = ship_light_battery_1
				fixed_ship_torpedo_slot = empty
				fixed_ship_fire_control_system_slot = ship_fire_control_system
				fixed_ship_radar_slot = {
					any_of = { ship_sonar ship_radar }
				}
				fixed_ship_anti_air_slot = ship_anti_air
			}
		}
		
		requirements = {
			module = ship_mine_layer_1
		}
		allowed_modules = {
			ship_mine_layer_1
			ship_anti_air
			ship_light_battery
			ship_fire_control_system
			light_ship_engine
			ship_torpedo
			ship_radar
			ship_sonar
			ship_depth_charge
		}
	}
	mine_layer_cruiser = {
	
		priority = {
			factor = 10
			modifier = {
				factor = 10
				num_of_naval_factories > 24 
			}
		}
		
		role_icon_index = 4
		
		target_variant = {
			match_value = 2000.0
			
			type = ship_hull_cruiser
			modules = {
				rear_1_custom_slot = ship_mine_layer_1 
				mid_2_custom_slot = ship_mine_layer_1 
				fixed_ship_engine_slot < cruiser_ship_engine_3
				fixed_ship_battery_slot = {
					any_of = { ship_light_battery }
					upgrade > current
				}
				fixed_ship_secondaries_slot = empty
				fixed_ship_armor_slot = empty
				fixed_ship_anti_air_slot = ship_anti_air
			}
		}
		
		requirements = {
			module = ship_mine_layer_1
		}
		allowed_modules = {
			ship_mine_layer_1
			ship_light_battery
			ship_anti_air
			ship_fire_control_system
			cruiser_ship_engine
			ship_radar
			ship_sonar
		}
	}
}
