# AI plane design for testing

ZSL_fighter = {
	category = air

	available_for = { ZSL }

	roles = {
		air_fighter
	}

	priority = {
		factor = 1000
	}

	great_war_fighter_default = {
		priority = {
			factor = 1
			modifier = { 
				has_tech = basic_small_airframe
				factor = 0 #let's not waste XP here
			}
		}

		target_variant = {
			match_value = 1000
			type = small_plane_airframe_0
			modules = {
				fixed_main_weapon_slot = light_mg_2x
				fixed_auxiliary_weapon_slot_1 = empty
				engine_type_slot = engine_1_1x
				special_type_slot_1 = empty
				special_type_slot_2 = empty	
			}
		}

		allowed_modules = {
			engine_1_1x
			light_mg_2x
		}
	}

	basic_fighter_default = { #BF 109 E
		priority = {
			factor = 100
			modifier = { 
				has_tech = improved_small_airframe
				factor = 0 #let's not waste XP here
			}
		}

		target_variant = {
			match_value = 2000
			type = small_plane_airframe_1
			modules = {
				fixed_main_weapon_slot = light_mg_2x
				fixed_auxiliary_weapon_slot_1 = aircraft_cannon_1_2x
				engine_type_slot = engine_2_1x
				special_type_slot_1 = empty
				special_type_slot_2 = empty	
			}
		}

		allowed_modules = {
			light_mg_2x
			aircraft_cannon_1_2x
			engine_2_1x
			armor_plate_small
		}
	}

	improved_fighter_default = { #FW 190
		priority = {
			factor = 10
			modifier = { 
				has_tech = advanced_small_airframe 
				factor = 0 #let's not waste XP here
			}
		}

		target_variant = {
			match_value = 3000
			type = small_plane_airframe_2
			modules = {
				fixed_main_weapon_slot = light_mg_4x
				fixed_auxiliary_weapon_slot_1 = aircraft_cannon_1_2x
				engine_type_slot = engine_3_1x
				special_type_slot_1 = armor_plate_small
				special_type_slot_2 = drop_tanks	
			}
		}

		allowed_modules = {
			light_mg_4x
			aircraft_cannon_1_2x
			engine_3_1x
			armor_plate_small
			drop_tanks
		}
	}

	advanced_fighter_default = { #Ta 152
		priority = {
			factor = 10
		}

		target_variant = {
			match_value = 4000
			type = small_plane_airframe_3
			modules = {
				fixed_main_weapon_slot = aircraft_cannon_1_2x
				fixed_auxiliary_weapon_slot_1 = aircraft_cannon_2_1x
				engine_type_slot = engine_4_1x
				special_type_slot_1 = armor_plate_small
				special_type_slot_2 = empty	
			}
		}

		allowed_modules = { 
			aircraft_cannon_2_2x
			aircraft_cannon_2_1x
			engine_4_1x
			armor_plate_small
		}
	}
	jet_fighter_default = { #Me 262
		priority = {
			factor = 100
		}

		target_variant = {
			match_value = 4000
			type = small_plane_airframe_4
			modules = {
				fixed_main_weapon_slot = aircraft_cannon_2_2x
				fixed_auxiliary_weapon_slot_1 = aircraft_cannon_2_2x
				engine_type_slot = jet_engine_2x
				special_type_slot_1 = armor_plate_small
				special_type_slot_2 = empty	
			}
		}

		allowed_modules = { 
			aircraft_cannon_2_2x
			aircraft_cannon_2_2x
			jet_engine_2x
			armor_plate_small
		}
	}
}

ZSL_cas = {
	category = air

	available_for = {ZSL}

	roles = {
		air_cas
	}

	priority = {
		factor = 100
	}
	cas_0 = { #Hs 123
		priority = {
			factor = 10
			modifier = { 
				has_tech = basic_small_airframe
				factor = 0 #let's not waste XP here
			}
		}

		target_variant = {
			match_value = 500
			type = small_plane_cas_airframe_0
			modules = {
				fixed_main_weapon_slot = bomb_locks
				fixed_auxiliary_weapon_slot_1 = empty
				engine_type_slot = engine_1_1x
				special_type_slot_1 = empty
				special_type_slot_2 = empty
			}
			
		}

		allowed_modules = {
			bomb_locks
			engine_1_1x
			armor_plate_small
			fuel_tanks_small
		}
	}
	cas_1 = { #Ju 87
		priority = {
			factor = 100
			
		}


		target_variant = {
			match_value = 1000
			type = small_plane_cas_airframe_1
			modules = {
				fixed_main_weapon_slot = bomb_locks
				fixed_auxiliary_weapon_slot_1 = empty
				engine_type_slot = engine_2_1x
				special_type_slot_1 = lmg_defense_turret
				special_type_slot_2 = dive_brakes_small	
			}
			
		}

		allowed_modules = {
			bomb_locks
			engine_2_1x
			armor_plate_small
			fuel_tanks_small
			lmg_defense_turret
			dive_brakes_small
		}
	}
	cas_2 = { #Ju 87 G
		priority = {
			factor = 200
		}
		target_variant = {
			match_value = 1500
			type = small_plane_cas_airframe_2
			modules = {
				fixed_main_weapon_slot = bomb_locks
				fixed_auxiliary_weapon_slot_1 = tank_buster_1
				engine_type_slot = engine_3_1x
				special_type_slot_1 = lmg_defense_turret
				special_type_slot_2 = empty
			}
		}

		allowed_modules = {
			bomb_locks
			tank_buster_1
			engine_3_1x
		}
	}
	cas_3 = { #HS 129
		priority = {
			factor = 200
		}
		target_variant = {
			match_value = 2500
			type = small_plane_cas_airframe_3
			modules = {
				fixed_main_weapon_slot = bomb_locks
				fixed_auxiliary_weapon_slot_1 = tank_buster_2
				fixed_auxiliary_weapon_slot_2 = empty
				engine_type_slot = engine_2_2x
				special_type_slot_1 = empty
				special_type_slot_2 = empty	
			}
		}

		allowed_modules = {
			tank_buster_2
			bomb_locks
			engine_2_2x
		}
	}
}

ZSL_naval_bomber = {
	category = air

	available_for = { ZSL }

	roles = {
		air_naval_bomber
	}

	priority = {
		factor = 100
	}
	naval_bomber_1 = { #Do 22
		priority = {
			factor = 100
		}
		target_variant = {
			match_value = 1000
			type = small_plane_naval_bomber_airframe_1
			modules = {
				fixed_main_weapon_slot = torpedo_mounting
				fixed_auxiliary_weapon_slot_1 = empty
				engine_type_slot = engine_2_1x
				special_type_slot_1 = lmg_defense_turret
				special_type_slot_2 = floats	
			}
		}

		allowed_modules = {
			torpedo_mounting
			engine_2_1x
			lmg_defense_turret
			floats
		}
	}
	naval_bomber_2 = { #He 115
		priority = {
			factor = 200
		}
		target_variant = {
			match_value = 1500
			type = small_plane_naval_bomber_airframe_2
			modules = {
				fixed_main_weapon_slot = torpedo_mounting
				fixed_auxiliary_weapon_slot_1 = bomb_locks
				engine_type_slot = engine_2_2x
				special_type_slot_1 = floats
				special_type_slot_2 = lmg_defense_turret	
			}

		}

		allowed_modules = {
			torpedo_mounting
			bomb_locks
			engine_2_2x
			floats
			lmg_defense_turret
		}
	}

	naval_bomber_3 = {
		priority = {
			factor = 200
		}
		target_variant = {
			match_value = 2000
			type = small_plane_naval_bomber_airframe_3
			modules = {
				fixed_main_weapon_slot = torpedo_mounting
				fixed_auxiliary_weapon_slot_1 = bomb_locks
				fixed_auxiliary_weapon_slot_2 = bomb_locks
				engine_type_slot = engine_3_2x
				special_type_slot_1 = lmg_defense_turret_2x
				special_type_slot_2 = empty	
			}

		}

		allowed_modules = {
			torpedo_mounting
			bomb_locks
			engine_3_2x
			lmg_defense_turret_2x
		}
	}
}


ZSL_tactical_bomber = {
	category = air

	available_for = {ZSL}

	roles = {
		air_tactical_bomber
	}

	priority = {
		factor = 2000
		modifier = {
			num_of_factories < 100
			factor = 0.5
		}
		modifier = {
			num_of_factories < 50
			factor = 0
		}
	}

	gw_tac_bomber_default = { # Do 23
		priority = {
			factor = 100
			modifier = { 
				has_tech = basic_medium_airframe
				factor = 0 #let's not waste XP here
			}
		}
		target_variant = {
			match_value = 2000
			type = medium_plane_airframe_0
			modules = {
				fixed_main_weapon_slot = medium_bomb_bay
				fixed_auxiliary_weapon_slot_1 = empty
				engine_type_slot = engine_1_2x
				special_type_slot_1 = empty
				special_type_slot_2 = empty	
			}
		}

		allowed_modules = {
			medium_bomb_bay
			engine_1_2x
		}
	}

	tac_bomber_1_default = { #He 111
		priority = {
			factor = 100
		}
		target_variant = {
			match_value = 3000
			type = medium_plane_airframe_1
			modules = {
				fixed_main_weapon_slot = medium_bomb_bay
				fixed_auxiliary_weapon_slot_1 = medium_bomb_bay
				engine_type_slot = engine_2_2x
				special_type_slot_1 = lmg_defense_turret_2x
				special_type_slot_2 = lmg_defense_turret_2x	
			}
			
		}

		allowed_modules = {
			medium_bomb_bay
			engine_2_2x
			lmg_defense_turret_2x
		}
	}
	tac_bomber_2_default = { #Ju 88
		priority = {
			factor = 100
		}
		target_variant = {
			match_value = 3000
			type = medium_plane_airframe_2
			modules = {
				fixed_main_weapon_slot = medium_bomb_bay
				fixed_auxiliary_weapon_slot_1 = medium_bomb_bay
				fixed_auxiliary_weapon_slot_2 = torpedo_mounting
				engine_type_slot = engine_3_2x
				special_type_slot_1 = lmg_defense_turret_2x
				special_type_slot_2 = empty	
			}
			
		}

		allowed_modules = {
			medium_bomb_bay
			bomb_locks
			engine_3_2x
			lmg_defense_turret_2x
		}
	}

	tac_bomber_3_default = {
		priority = {
			factor = 100
		}

		target_variant = {
			match_value = 4000
			type = medium_plane_airframe_3
			modules = {
				fixed_main_weapon_slot = medium_bomb_bay
				fixed_auxiliary_weapon_slot_1 = medium_bomb_bay
				fixed_auxiliary_weapon_slot_2 = bomb_locks
				fixed_auxiliary_weapon_slot_3 = torpedo_mounting
				engine_type_slot = engine_4_2x
				special_type_slot_1 = lmg_defense_turret_2x
				special_type_slot_2 = empty	
			}
			
		}

		allowed_modules = {
			medium_bomb_bay
			bomb_locks
			torpedo_mounting
			engine_4_2x
			lmg_defense_turret_2x
		}
	}
	jet_tac_bomber_default = { #Ar 234
		priority = {
			factor = 100
		}

		target_variant = {
			match_value = 4000
			type = medium_plane_airframe_4
			modules = {
				fixed_main_weapon_slot = medium_bomb_bay
				fixed_auxiliary_weapon_slot_1 = medium_bomb_bay
				fixed_auxiliary_weapon_slot_2 = bomb_locks
				engine_type_slot = jet_engine_2x
				special_type_slot_1 = fuel_tanks_medium
				special_type_slot_2 = empty	
			}
			
		}

		allowed_modules = {
			medium_bomb_bay
			bomb_locks
			fuel_tanks_medium
			jet_engine_2x
		}
	}
}

ZSL_heavy_fighter = {
	category = air

	available_for = {ZSL}

	roles = {
		air_heavy_fighter
	}

	priority = {
		factor = 500
		modifier = {
			has_war_with = ZRI			
			factor = 2
		}
	}
	heavy_fighter_1 = {
		priority = {
			factor = 100	
		}
		target_variant = {
			match_value = 1000
			type = medium_plane_fighter_airframe_1
			modules = {
				fixed_main_weapon_slot = light_mg_4x
				fixed_auxiliary_weapon_slot_1 = aircraft_cannon_1_2x
				fixed_auxiliary_weapon_slot_2 = empty
				engine_type_slot = engine_2_2x
				special_type_slot_1 = lmg_defense_turret
				special_type_slot_2 = empty	
			}
			
		}

		allowed_modules = {
			light_mg_4x
			aircraft_cannon_1_2x
			engine_2_2x
		}
	}

	heavy_fighter_2 = {
		priority = {
			factor = 200
		}
		target_variant = {
			match_value = 1500
			type = medium_plane_fighter_airframe_2
			modules = {
				fixed_main_weapon_slot = heavy_mg_4x
				fixed_auxiliary_weapon_slot_1 = aircraft_cannon_1_2x
				fixed_auxiliary_weapon_slot_2 = empty
				engine_type_slot = engine_3_2x
				special_type_slot_1 = empty
				special_type_slot_2 = empty	
			}
			
		}

		allowed_modules = {
			heavy_mg_4x
			aircraft_cannon_1_2x
			engine_3_2x
		}
	}

	heavy_fighter_3 = {
		priority = {
			factor = 200
			
		}

		target_variant = {
			match_value = 2000
			type = medium_plane_fighter_airframe_3
			modules = {
				fixed_main_weapon_slot = heavy_mg_4x
				fixed_auxiliary_weapon_slot_1 = aircraft_cannon_2_2x
				fixed_auxiliary_weapon_slot_2 = bomb_locks
				engine_type_slot = engine_4_2x
				special_type_slot_1 = empty
				special_type_slot_2 = empty	
			}
			
		}

		allowed_modules = {
			bomb_locks
			heavy_mg_4x
			aircraft_cannon_2_2x
			engine_4_2x
		}
	}
}


ZSL_strategic_bomber = {
	category = air

	available_for = {ZSL}

	roles = {
		air_strategic_bomber
	}

	priority = {
		factor = 200
		modifier = {
			num_of_factories < 100
			factor = 0
		}
		modifier = { #beat the Soviets already
			has_War = yes
			ZKR = {
				OR = {
					exists = no
					is_subject_of = ZSL
				}
			}
			factor = 4
		}
	}

	strat_bomber_1_default = {
		priority = {
			factor = 10	
		}

		target_variant = {
			match_value = 1000
			type = large_plane_airframe_1
			modules = {
				fixed_main_weapon_slot = large_bomb_bay
				fixed_auxiliary_weapon_slot_1 = empty
				fixed_auxiliary_weapon_slot_2 = empty
				engine_type_slot = engine_2_4x
				special_type_slot_1 = lmg_defense_turret_2x
				special_type_slot_2 = lmg_defense_turret
			}
			
		}

		allowed_modules = {
			large_bomb_bay
			engine_2_4x
			hmg_defense_turret_2x
			lmg_defense_turret
		}
	}

	strat_bomber_2_default = {
		priority = {
			factor = 10
			
		}

		target_variant = {
			match_value = 2000
			type = large_plane_airframe_2
			modules = {
				fixed_main_weapon_slot = large_bomb_bay
				fixed_auxiliary_weapon_slot_1 = large_bomb_bay
				fixed_auxiliary_weapon_slot_2 = empty
				engine_type_slot = engine_3_4x
				special_type_slot_1 = hmg_defense_turret_2x
				special_type_slot_2 = lmg_defense_turret_2x
			}
			
		}

		allowed_modules = {
			large_bomb_bay
			engine_3_4x
			hmg_defense_turret_2x
			lmg_defense_turret_2x
		}
	}

	strat_bomber_3_default = {
		priority = {
			factor = 10
		}

		target_variant = {
			match_value = 4000
			type = large_plane_airframe_3
			modules = {
				fixed_main_weapon_slot = large_bomb_bay
				fixed_auxiliary_weapon_slot_1 = large_bomb_bay
				fixed_auxiliary_weapon_slot_2 = large_bomb_bay
				engine_type_slot = engine_4_4x
				special_type_slot_1 = cannon_defense_turret_2x
				special_type_slot_2 = hmg_defense_turret_2x
				special_type_slot_3 = empty
			}
			
		}

		allowed_modules = {
			large_bomb_bay
			engine_4_4x
			cannon_defense_turret_2x
			hmg_defense_turret_2x
		}
	}
	jet_strat_bomber_default = {
		priority = {
			factor = 10
		}

		target_variant = {
			match_value = 5000
			type = large_plane_airframe_4
			modules = {
				fixed_main_weapon_slot = large_bomb_bay
				fixed_auxiliary_weapon_slot_1 = large_bomb_bay
				fixed_auxiliary_weapon_slot_2 = empty
				engine_type_slot = jet_engine_6x
				special_type_slot_1 = cannon_defense_turret_2x
				special_type_slot_2 = hmg_defense_turret_2x
				special_type_slot_3 = fuel_tanks_large
				special_type_slot_4 = fuel_tanks_large #amerikabomber time
			}
			
		}

		allowed_modules = {
			large_bomb_bay
			jet_engine_6x
			fuel_tanks_large
			cannon_defense_turret_2x
			hmg_defense_turret_2x
		}
	}
}

ZSL_maritime_patrol = {
	category = air

	available_for = {ZSL}

	roles = {
		air_maritime_patrol
	}

	priority = {
		factor = 200
		modifier = {
			num_of_factories < 50
			factor = 0
		}
	}

	maritime_patrol_1_default = {
		priority = {
			factor = 10
		}

		target_variant = {
			match_value = 1000
			type = large_plane_maritime_patrol_plane_airframe_1
			modules = {
				fixed_main_weapon_slot = torpedo_mounting
				fixed_auxiliary_weapon_slot_1 = empty
				fixed_auxiliary_weapon_slot_2 = empty
				engine_type_slot = engine_1_4x
				special_type_slot_1 = lmg_defense_turret_2x
				special_type_slot_2 = fuel_tanks_large
				special_type_slot_3 = flying_boat_large
			}
			
		}

		allowed_modules = {
			torpedo_mounting
			engine_1_4x
			fuel_tanks_large
			flying_boat_large
			lmg_defense_turret
		}
	}

	maritime_patrol_2_default = {
		priority = {
			factor = 10
			
		}

		target_variant = {
			match_value = 2000
			type = large_plane_maritime_patrol_plane_airframe_2
			modules = {
				fixed_main_weapon_slot = torpedo_mounting
				fixed_auxiliary_weapon_slot_1 = torpedo_mounting
				fixed_auxiliary_weapon_slot_2 = empty
				engine_type_slot = engine_2_4x
				special_type_slot_1 = hmg_defense_turret_2x
				special_type_slot_2 = lmg_defense_turret_2x
				special_type_slot_3 = fuel_tanks_large
				special_type_slot_4 = flying_boat_large
			}
			
		}

		allowed_modules = {
			torpedo_mounting
			engine_2_4x
			hmg_defense_turret_2x
			lmg_defense_turret_2x
			fuel_tanks_large
			flying_boat_large
		}
	}

	maritime_patrol_3_default = {
		priority = {
			factor = 10
		}

		target_variant = {
			match_value = 4000
			type = large_plane_maritime_patrol_plane_airframe_3
			modules = {
				fixed_main_weapon_slot = torpedo_mounting
				fixed_auxiliary_weapon_slot_1 = torpedo_mounting
				fixed_auxiliary_weapon_slot_2 = torpedo_mounting
				engine_type_slot = engine_4_4x
				special_type_slot_1 = cannon_defense_turret_2x
				special_type_slot_2 = { 
					any_of = {
						air_ground_radar_2
						air_ground_radar_1
						recon_camera
						hmg_defense_turret_2x 
					}
				}
				special_type_slot_3 = fuel_tanks_large
				special_type_slot_4 = flying_boat_large
			}
			
		}

		allowed_modules = {
			torpedo_mounting
			engine_4_4x
			cannon_defense_turret_2x
			hmg_defense_turret_2x
			air_ground_radar_2
			air_ground_radar_1
			recon_camera
			fuel_tanks_large
			flying_boat_large
		}
	}
}

