diff --git a/game/factions/faction.py b/game/factions/faction.py index 05fc024f1..6cb5f8ccf 100644 --- a/game/factions/faction.py +++ b/game/factions/faction.py @@ -300,8 +300,11 @@ def apply_mod_settings(self, mod_settings: ModSettings) -> None: self.remove_aircraft("Su-57") if not mod_settings.ov10a_bronco: self.remove_aircraft("Bronco-OV-10A") - if not mod_settings.superhornet: - self.remove_aircraft("Super-Hornet") + if not mod_settings.fa18efg: + self.remove_aircraft("FA_18E") + self.remove_aircraft("FA_18F") + self.remove_aircraft("EA_18G") + # frenchpack if not mod_settings.frenchpack: self.remove_vehicle("AMX10RCR") diff --git a/game/theater/start_generator.py b/game/theater/start_generator.py index 63aec2f0b..ef043717d 100644 --- a/game/theater/start_generator.py +++ b/game/theater/start_generator.py @@ -66,7 +66,7 @@ class ModSettings: frenchpack: bool = False high_digit_sams: bool = False ov10a_bronco: bool = False - superhornet: bool = False + fa18efg: bool = False def save_player_settings(self) -> None: """Saves the player's global settings to the user directory.""" diff --git a/pydcs_extensions/__init__.py b/pydcs_extensions/__init__.py index 54a495b4b..daceb4b46 100644 --- a/pydcs_extensions/__init__.py +++ b/pydcs_extensions/__init__.py @@ -9,6 +9,7 @@ from .ov10a import * from .su57 import * from .uh60l import * +from .fa18efg import * def load_mods() -> None: diff --git a/pydcs_extensions/fa18efg/__init__.py b/pydcs_extensions/fa18efg/__init__.py new file mode 100644 index 000000000..413f3c0f1 --- /dev/null +++ b/pydcs_extensions/fa18efg/__init__.py @@ -0,0 +1 @@ +from .fa18efg import * diff --git a/pydcs_extensions/fa18efg/fa18efg.py b/pydcs_extensions/fa18efg/fa18efg.py new file mode 100644 index 000000000..85039daec --- /dev/null +++ b/pydcs_extensions/fa18efg/fa18efg.py @@ -0,0 +1,2499 @@ +from typing import Dict, List, Set, Any + +from dcs import task +from dcs.planes import PlaneType +from dcs.weapons_data import Weapons +from dcs.unitpropertydescription import UnitPropertyDescription + + +from game.modsupport import planemod +from pydcs_extensions.weapon_injector import inject_weapons + + +class WeaponsFA18EFG: + AA42R_Buddy_Pod = {"clsid": "{AA42R}", "name": "AA42R Buddy Pod", "weight": 1520} + ALQ_99Center = {"clsid": "{ALQ-99Center}", "name": "ALQ-99Center", "weight": 0} + ALQ_99Wing = {"clsid": "{ALQ-99Wing}", "name": "ALQ-99Wing", "weight": 0} + FLIR = {"clsid": "{FLIR}", "name": "FLIR", "weight": 0} + FPU_12_Fuel_Tank_480_gallons = { + "clsid": "{FPU_12_FUEL_TANK}", + "name": "FPU-12 Fuel Tank 480 gallons", + "weight": 1550, + } + FPU_12_Fuel_Tank_480_gallons_High_Vis = { + "clsid": "{FPU_12_FUEL_TANKHighVis}", + "name": "FPU-12 Fuel Tank 480 gallons High Vis", + "weight": 1550, + } + TLAU_127 = {"clsid": "{TLAU_127}", "name": "TLAU_127", "weight": 0} + USAFlag = {"clsid": "{USAFlag}", "name": "USAFlag", "weight": 0} + AIM_120D_AMRAAM___Active_Rdr_AAM = { + "clsid": "{C8E06185-7CD6-4C90-959F-044679E90751}", + "name": "AIM-120D AMRAAM - Active Rdr AAM", + "weight": 162.4, + } + LAU_115_2_LAU_127_AIM_120B = { + "clsid": "LAU-115_2*LAU-127_AIM-120B", + "name": "LAU-115 with 2 x LAU-127 AIM-120D AMRAAM - Active Rdr AAM", + "weight": 469.8, + } + LAU_115_with_1_x_LAU_127_AIM_120D_AMRAAM___Active_Rdr_AAM = { + "clsid": "{LAU-115 - AIM-120B}", + "name": "LAU-115 with 1 x LAU-127 AIM-120D AMRAAM - Active Rdr AAM", + "weight": 307.4, + } + LAU_115_with_1_x_LAU_127_AIM_120D_AMRAAM___Active_Rdr_AAM_ = { + "clsid": "{LAU-115 - AIM-120B_R}", + "name": "LAU-115 with 1 x LAU-127 AIM-120D AMRAAM - Active Rdr AAM", + "weight": 307.4, + } + + +inject_weapons(WeaponsFA18EFG) + + +@planemod +class FA_18E(PlaneType): + id = "FA-18E" + flyable = True + height = 4.88 + width = 13.62456 + length = 18.31 + fuel_max = 4900 + max_speed = 2120.04 + chaff = 60 + flare = 60 + charge_total = 120 + chaff_charge_size = 1 + flare_charge_size = 1 + eplrs = True + category = "Interceptor" # {78EFB7A2-FD52-4b57-A6A6-3BF0E1D6555F} + radio_frequency = 305 + + panel_radio = { + 1: { + "channels": { + 1: 305, + 2: 264, + 4: 256, + 8: 257, + 16: 261, + 17: 267, + 9: 255, + 18: 251, + 5: 254, + 10: 262, + 20: 266, + 11: 259, + 3: 265, + 6: 250, + 12: 268, + 13: 269, + 7: 270, + 14: 260, + 19: 253, + 15: 263, + }, + }, + 2: { + "channels": { + 1: 305, + 2: 264, + 4: 256, + 8: 257, + 16: 261, + 17: 267, + 9: 255, + 18: 251, + 5: 254, + 10: 262, + 20: 266, + 11: 259, + 3: 265, + 6: 250, + 12: 268, + 13: 269, + 7: 270, + 14: 260, + 19: 253, + 15: 263, + }, + }, + } + + callnames: Dict[str, List[str]] = { + "USA": [ + "Hornet", + "Squid", + "Ragin", + "Roman", + "Sting", + "Jury", + "Joker", + "Ram", + "Hawk", + "Devil", + "Check", + "Snake", + ] + } + + property_defaults: Dict[str, Any] = { + "OuterBoard": 0, + "InnerBoard": 0, + "HelmetMountedDevice": 1, + "VoiceCallsignLabel": None, + "VoiceCallsignNumber": None, + "STN_L16": None, + } + + class Properties: + class OuterBoard: + id = "OuterBoard" + + class Values: + Single = 0 + Ripple = 1 + + class InnerBoard: + id = "InnerBoard" + + class Values: + Single = 0 + Ripple = 1 + + class HelmetMountedDevice: + id = "HelmetMountedDevice" + + class Values: + Not_installed = 0 + JHMCS = 1 + NVG = 2 + + class VoiceCallsignLabel: + id = "VoiceCallsignLabel" + + class VoiceCallsignNumber: + id = "VoiceCallsignNumber" + + class STN_L16: + id = "STN_L16" + + properties = { + "OuterBoard": UnitPropertyDescription( + identifier="OuterBoard", + control="comboList", + label="Outerboard rockets mode", + player_only=True, + default=0, + w_ctrl=150, + values={ + 0: "Single", + 1: "Ripple", + }, + ), + "InnerBoard": UnitPropertyDescription( + identifier="InnerBoard", + control="comboList", + label="Innerboard rockets mode", + player_only=True, + default=0, + w_ctrl=150, + values={ + 0: "Single", + 1: "Ripple", + }, + ), + "HelmetMountedDevice": UnitPropertyDescription( + identifier="HelmetMountedDevice", + control="comboList", + label="Helmet Mounted Device", + player_only=True, + default=1, + w_ctrl=150, + values={ + 0: "Not installed", + 1: "JHMCS", + 2: "NVG", + }, + ), + "datalink_Label": UnitPropertyDescription( + identifier="datalink_Label", + control="label", + label="DATALINK", + player_only=False, + x_lbl=150, + ), + "VoiceCallsignLabel": UnitPropertyDescription( + identifier="VoiceCallsignLabel", + control="editbox", + label="Voice Callsign Label", + player_only=False, + ), + "VoiceCallsignNumber": UnitPropertyDescription( + identifier="VoiceCallsignNumber", + control="editbox", + label="Voice Callsign Number", + player_only=False, + ), + "STN_L16": UnitPropertyDescription( + identifier="STN_L16", + control="editbox", + label="STN", + player_only=False, + ), + } + + livery_name = "FA-18E" # from type + + class Pylon1: + AIM_9M_Sidewinder_IR_AAM = (1, Weapons.AIM_9M_Sidewinder_IR_AAM) + CATM_9M = (1, Weapons.CATM_9M) + # ERRR {CATM-9M} + # ERRR {CATM-9X} + AIM_9X_Sidewinder_IR_AAM = (1, Weapons.AIM_9X_Sidewinder_IR_AAM) + AN_ASQ_T50_TCTS_Pod___ACMI_Pod = (1, Weapons.AN_ASQ_T50_TCTS_Pod___ACMI_Pod) + + class Pylon2: + TLAU_127 = (2, Weapons.TLAU_127) + AIM_120D_AMRAAM___Active_Rdr_AAM = (2, Weapons.AIM_120D_AMRAAM___Active_Rdr_AAM) + AIM_120C_AMRAAM___Active_Radar_AAM = ( + 2, + Weapons.AIM_120C_AMRAAM___Active_Radar_AAM, + ) + # ERRR {CATM-120C} + LAU_115C_with_AIM_7M_Sparrow_Semi_Active_Radar = ( + 2, + Weapons.LAU_115C_with_AIM_7M_Sparrow_Semi_Active_Radar, + ) + LAU_115C_with_AIM_7F_Sparrow_Semi_Active_Radar = ( + 2, + Weapons.LAU_115C_with_AIM_7F_Sparrow_Semi_Active_Radar, + ) + LAU_115C_with_AIM_7MH_Sparrow_Semi_Active_Radar = ( + 2, + Weapons.LAU_115C_with_AIM_7MH_Sparrow_Semi_Active_Radar, + ) + LAU_115C_with_AIM_7P_Sparrow_Semi_Active_Radar = ( + 2, + Weapons.LAU_115C_with_AIM_7P_Sparrow_Semi_Active_Radar, + ) + # ERRR LAU_117_TGM_65E + # ERRR LAU_117_TGM_65F + LAU_117_with_AGM_65E___Maverick_E__Laser_ASM___Lg_Whd_ = ( + 2, + Weapons.LAU_117_with_AGM_65E___Maverick_E__Laser_ASM___Lg_Whd_, + ) + LAU_117_AGM_65F = (2, Weapons.LAU_117_AGM_65F) + AGM_88C_HARM___High_Speed_Anti_Radiation_Missile_ = ( + 2, + Weapons.AGM_88C_HARM___High_Speed_Anti_Radiation_Missile_, + ) + Mk_82___500lb_GP_Bomb_LD = (2, Weapons.Mk_82___500lb_GP_Bomb_LD) + Mk_82_Snakeye___500lb_GP_Bomb_HD = (2, Weapons.Mk_82_Snakeye___500lb_GP_Bomb_HD) + Mk_82Y___500lb_GP_Chute_Retarded_HD = ( + 2, + Weapons.Mk_82Y___500lb_GP_Chute_Retarded_HD, + ) + Mk_83___1000lb_GP_Bomb_LD = (2, Weapons.Mk_83___1000lb_GP_Bomb_LD) + BDU_45___500lb_Practice_Bomb = (2, Weapons.BDU_45___500lb_Practice_Bomb) + BDU_45B___500lb_Practice_Bomb = (2, Weapons.BDU_45B___500lb_Practice_Bomb) + GBU_12___500lb_Laser_Guided_Bomb = (2, Weapons.GBU_12___500lb_Laser_Guided_Bomb) + GBU_16___1000lb_Laser_Guided_Bomb = ( + 2, + Weapons.GBU_16___1000lb_Laser_Guided_Bomb, + ) + CBU_99___490lbs__247_x_HEAT_Bomblets = ( + 2, + Weapons.CBU_99___490lbs__247_x_HEAT_Bomblets, + ) + Mk_20_Rockeye___490lbs_CBU__247_x_HEAT_Bomblets = ( + 2, + Weapons.Mk_20_Rockeye___490lbs_CBU__247_x_HEAT_Bomblets, + ) + # ERRR + GBU_32_V_2_B___JDAM__1000lb_GPS_Guided_Bomb = ( + 2, + Weapons.GBU_32_V_2_B___JDAM__1000lb_GPS_Guided_Bomb, + ) + GBU_38_V_1_B___JDAM__500lb_GPS_Guided_Bomb = ( + 2, + Weapons.GBU_38_V_1_B___JDAM__500lb_GPS_Guided_Bomb, + ) + GBU_54_V_1_B___LJDAM__500lb_Laser__GPS_Guided_Bomb_LD = ( + 2, + Weapons.GBU_54_V_1_B___LJDAM__500lb_Laser__GPS_Guided_Bomb_LD, + ) + BRU_42_with_2_x_ADM_141A_TALD = (2, Weapons.BRU_42_with_2_x_ADM_141A_TALD) + BRU_42_with_ADM_141A_TALD = (2, Weapons.BRU_42_with_ADM_141A_TALD) + + class Pylon3: + LAU_115_2_LAU_127_AIM_9M = (3, Weapons.LAU_115_2_LAU_127_AIM_9M) + LAU_115_2_LAU_127_CATM_9M = (3, Weapons.LAU_115_2_LAU_127_CATM_9M) + LAU_115_2_LAU_127_AIM_9L = (3, Weapons.LAU_115_2_LAU_127_AIM_9L) + LAU_115_2_LAU_127_AIM_9X = (3, Weapons.LAU_115_2_LAU_127_AIM_9X) + LAU_115_LAU_127_AIM_9X = (3, Weapons.LAU_115_LAU_127_AIM_9X) + LAU_115_LAU_127_CATM_9M = (3, Weapons.LAU_115_LAU_127_CATM_9M) + LAU_115_LAU_127_AIM_9L = (3, Weapons.LAU_115_LAU_127_AIM_9L) + LAU_115_LAU_127_AIM_9M = (3, Weapons.LAU_115_LAU_127_AIM_9M) + LAU_115C_with_AIM_7M_Sparrow_Semi_Active_Radar = ( + 3, + Weapons.LAU_115C_with_AIM_7M_Sparrow_Semi_Active_Radar, + ) + LAU_115C_with_AIM_7F_Sparrow_Semi_Active_Radar = ( + 3, + Weapons.LAU_115C_with_AIM_7F_Sparrow_Semi_Active_Radar, + ) + LAU_115C_with_AIM_7MH_Sparrow_Semi_Active_Radar = ( + 3, + Weapons.LAU_115C_with_AIM_7MH_Sparrow_Semi_Active_Radar, + ) + LAU_115C_with_AIM_7P_Sparrow_Semi_Active_Radar = ( + 3, + Weapons.LAU_115C_with_AIM_7P_Sparrow_Semi_Active_Radar, + ) + FPU_12_Fuel_Tank_480_gallons = (3, Weapons.FPU_12_Fuel_Tank_480_gallons) + FPU_12_Fuel_Tank_480_gallons_High_Vis = ( + 3, + Weapons.FPU_12_Fuel_Tank_480_gallons_High_Vis, + ) + AIM_120D_AMRAAM___Active_Rdr_AAM = (3, Weapons.AIM_120D_AMRAAM___Active_Rdr_AAM) + AIM_120C_AMRAAM___Active_Radar_AAM = ( + 3, + Weapons.AIM_120C_AMRAAM___Active_Radar_AAM, + ) + LAU_115_2_LAU_127_AIM_120B = (3, Weapons.LAU_115_2_LAU_127_AIM_120B) + LAU_115_2_LAU_127_AIM_120C = (3, Weapons.LAU_115_2_LAU_127_AIM_120C) + # ERRR LAU-115_2*LAU-127_CATM-120C + # ERRR LAU_117_TGM_65E + # ERRR LAU_117_TGM_65F + LAU_117_with_AGM_65E___Maverick_E__Laser_ASM___Lg_Whd_ = ( + 3, + Weapons.LAU_117_with_AGM_65E___Maverick_E__Laser_ASM___Lg_Whd_, + ) + LAU_117_CATM_65K = (3, Weapons.LAU_117_CATM_65K) + LAU_117_AGM_65F = (3, Weapons.LAU_117_AGM_65F) + AGM_88C_HARM___High_Speed_Anti_Radiation_Missile_ = ( + 3, + Weapons.AGM_88C_HARM___High_Speed_Anti_Radiation_Missile_, + ) + Mk_82___500lb_GP_Bomb_LD = (3, Weapons.Mk_82___500lb_GP_Bomb_LD) + Mk_82_Snakeye___500lb_GP_Bomb_HD = (3, Weapons.Mk_82_Snakeye___500lb_GP_Bomb_HD) + Mk_82Y___500lb_GP_Chute_Retarded_HD = ( + 3, + Weapons.Mk_82Y___500lb_GP_Chute_Retarded_HD, + ) + Mk_83___1000lb_GP_Bomb_LD = (3, Weapons.Mk_83___1000lb_GP_Bomb_LD) + Mk_84___2000lb_GP_Bomb_LD = (3, Weapons.Mk_84___2000lb_GP_Bomb_LD) + BDU_45___500lb_Practice_Bomb = (3, Weapons.BDU_45___500lb_Practice_Bomb) + BDU_45B___500lb_Practice_Bomb = (3, Weapons.BDU_45B___500lb_Practice_Bomb) + AGM_84E_Harpoon_SLAM__Stand_Off_Land_Attack_Missile_ = ( + 3, + Weapons.AGM_84E_Harpoon_SLAM__Stand_Off_Land_Attack_Missile_, + ) + AGM_84H_SLAM_ER__Expanded_Response_ = ( + 3, + Weapons.AGM_84H_SLAM_ER__Expanded_Response_, + ) + BRU_33_with_2_x_Mk_82___500lb_GP_Bomb_LD = ( + 3, + Weapons.BRU_33_with_2_x_Mk_82___500lb_GP_Bomb_LD, + ) + BRU_33_with_2_x_Mk_82_Snakeye___500lb_GP_Bomb_HD = ( + 3, + Weapons.BRU_33_with_2_x_Mk_82_Snakeye___500lb_GP_Bomb_HD, + ) + BRU_33_with_2_x_Mk_82Y___500lb_GP_Chute_Retarded_HD = ( + 3, + Weapons.BRU_33_with_2_x_Mk_82Y___500lb_GP_Chute_Retarded_HD, + ) + BRU_33_with_2_x_BDU_45___500lb_Practice_Bomb = ( + 3, + Weapons.BRU_33_with_2_x_BDU_45___500lb_Practice_Bomb, + ) + BRU_33_with_2_x_BDU_45B___500lb_Practice_Bomb = ( + 3, + Weapons.BRU_33_with_2_x_BDU_45B___500lb_Practice_Bomb, + ) + BRU_33_with_2_x_Mk_20_Rockeye___490lbs_CBU__247_x_HEAT_Bomblets = ( + 3, + Weapons.BRU_33_with_2_x_Mk_20_Rockeye___490lbs_CBU__247_x_HEAT_Bomblets, + ) + BRU_33_with_2_x_Mk_83___1000lb_GP_Bomb_LD = ( + 3, + Weapons.BRU_33_with_2_x_Mk_83___1000lb_GP_Bomb_LD, + ) + BRU_41A_with_6_x_BDU_33___25lb_Practice_Bomb_LD = ( + 3, + Weapons.BRU_41A_with_6_x_BDU_33___25lb_Practice_Bomb_LD, + ) + GBU_10___2000lb_Laser_Guided_Bomb = ( + 3, + Weapons.GBU_10___2000lb_Laser_Guided_Bomb, + ) + BRU_41A_with_6_x_BDU_33___25lb_Practice_Bomb_LD = ( + 3, + Weapons.BRU_41A_with_6_x_BDU_33___25lb_Practice_Bomb_LD, + ) + GBU_12___500lb_Laser_Guided_Bomb = (3, Weapons.GBU_12___500lb_Laser_Guided_Bomb) + GBU_24A_B_Paveway_III___2000lb_Laser_Guided_Bomb = ( + 3, + Weapons.GBU_24A_B_Paveway_III___2000lb_Laser_Guided_Bomb, + ) + GBU_16___1000lb_Laser_Guided_Bomb = ( + 3, + Weapons.GBU_16___1000lb_Laser_Guided_Bomb, + ) + CBU_99___490lbs__247_x_HEAT_Bomblets = ( + 3, + Weapons.CBU_99___490lbs__247_x_HEAT_Bomblets, + ) + Mk_20_Rockeye___490lbs_CBU__247_x_HEAT_Bomblets = ( + 3, + Weapons.Mk_20_Rockeye___490lbs_CBU__247_x_HEAT_Bomblets, + ) + BRU_33_with_2_x_CBU_99___490lbs__247_x_HEAT_Bomblets = ( + 3, + Weapons.BRU_33_with_2_x_CBU_99___490lbs__247_x_HEAT_Bomblets, + ) + BRU_33_with_2_x_GBU_12___500lb_Laser_Guided_Bomb = ( + 3, + Weapons.BRU_33_with_2_x_GBU_12___500lb_Laser_Guided_Bomb, + ) + # ERRR + AGM_154A___JSOW_CEB__CBU_type_ = (3, Weapons.AGM_154A___JSOW_CEB__CBU_type_) + BRU_55_with_2_x_AGM_154A___JSOW_CEB__CBU_type_ = ( + 3, + Weapons.BRU_55_with_2_x_AGM_154A___JSOW_CEB__CBU_type_, + ) + AGM_154C___JSOW_Unitary_BROACH = (3, Weapons.AGM_154C___JSOW_Unitary_BROACH) + BRU_55_with_2_x_AGM_154C___JSOW_Unitary_BROACH = ( + 3, + Weapons.BRU_55_with_2_x_AGM_154C___JSOW_Unitary_BROACH, + ) + GBU_31_V_2_B___JDAM__2000lb_GPS_Guided_Bomb = ( + 3, + Weapons.GBU_31_V_2_B___JDAM__2000lb_GPS_Guided_Bomb, + ) + GBU_31_V_4_B___JDAM__2000lb_GPS_Guided_Penetrator_Bomb = ( + 3, + Weapons.GBU_31_V_4_B___JDAM__2000lb_GPS_Guided_Penetrator_Bomb, + ) + GBU_32_V_2_B___JDAM__1000lb_GPS_Guided_Bomb = ( + 3, + Weapons.GBU_32_V_2_B___JDAM__1000lb_GPS_Guided_Bomb, + ) + GBU_38_V_1_B___JDAM__500lb_GPS_Guided_Bomb = ( + 3, + Weapons.GBU_38_V_1_B___JDAM__500lb_GPS_Guided_Bomb, + ) + BRU_55_with_2_x_GBU_38___JDAM__500lb_GPS_Guided_Bomb = ( + 3, + Weapons.BRU_55_with_2_x_GBU_38___JDAM__500lb_GPS_Guided_Bomb, + ) + AGM_84D_Harpoon_AShM = (3, Weapons.AGM_84D_Harpoon_AShM) + AWW_13_DATALINK_POD = (3, Weapons.AWW_13_DATALINK_POD) + GBU_54_V_1_B___LJDAM__500lb_Laser__GPS_Guided_Bomb_LD = ( + 3, + Weapons.GBU_54_V_1_B___LJDAM__500lb_Laser__GPS_Guided_Bomb_LD, + ) + BRU_42_with_3_x_ADM_141A_TALD = (3, Weapons.BRU_42_with_3_x_ADM_141A_TALD) + BRU_42_with_2_x_ADM_141A_TALD = (3, Weapons.BRU_42_with_2_x_ADM_141A_TALD) + BRU_42_with_ADM_141A_TALD = (3, Weapons.BRU_42_with_ADM_141A_TALD) + + class Pylon4: + AIM_120D_AMRAAM___Active_Rdr_AAM = (4, Weapons.AIM_120D_AMRAAM___Active_Rdr_AAM) + AIM_120C_AMRAAM___Active_Radar_AAM = ( + 4, + Weapons.AIM_120C_AMRAAM___Active_Radar_AAM, + ) + AN_ASQ_228_ATFLIR___Targeting_Pod = ( + 4, + Weapons.AN_ASQ_228_ATFLIR___Targeting_Pod, + ) + + class Pylon5: + LAU_115C_with_AIM_7M_Sparrow_Semi_Active_Radar = ( + 5, + Weapons.LAU_115C_with_AIM_7M_Sparrow_Semi_Active_Radar, + ) + LAU_115C_with_AIM_7F_Sparrow_Semi_Active_Radar = ( + 5, + Weapons.LAU_115C_with_AIM_7F_Sparrow_Semi_Active_Radar, + ) + LAU_115C_with_AIM_7MH_Sparrow_Semi_Active_Radar = ( + 5, + Weapons.LAU_115C_with_AIM_7MH_Sparrow_Semi_Active_Radar, + ) + FPU_12_Fuel_Tank_480_gallons = (5, Weapons.FPU_12_Fuel_Tank_480_gallons) + FPU_12_Fuel_Tank_480_gallons_High_Vis = ( + 5, + Weapons.FPU_12_Fuel_Tank_480_gallons_High_Vis, + ) + LAU_115_with_1_x_LAU_127_AIM_120D_AMRAAM___Active_Rdr_AAM = ( + 5, + Weapons.LAU_115_with_1_x_LAU_127_AIM_120D_AMRAAM___Active_Rdr_AAM, + ) + LAU_115_with_1_x_LAU_127_AIM_120C_AMRAAM___Active_Radar_AAM = ( + 5, + Weapons.LAU_115_with_1_x_LAU_127_AIM_120C_AMRAAM___Active_Radar_AAM, + ) + LAU_115_2_LAU_127_AIM_120B = (5, Weapons.LAU_115_2_LAU_127_AIM_120B) + LAU_115_2_LAU_127_AIM_120C = (5, Weapons.LAU_115_2_LAU_127_AIM_120C) + LAU_117_with_AGM_65E___Maverick_E__Laser_ASM___Lg_Whd_ = ( + 5, + Weapons.LAU_117_with_AGM_65E___Maverick_E__Laser_ASM___Lg_Whd_, + ) + LAU_117_CATM_65K = (5, Weapons.LAU_117_CATM_65K) + LAU_117_AGM_65F = (5, Weapons.LAU_117_AGM_65F) + AGM_88C_HARM___High_Speed_Anti_Radiation_Missile_ = ( + 5, + Weapons.AGM_88C_HARM___High_Speed_Anti_Radiation_Missile_, + ) + Mk_82___500lb_GP_Bomb_LD = (5, Weapons.Mk_82___500lb_GP_Bomb_LD) + Mk_82_Snakeye___500lb_GP_Bomb_HD = (5, Weapons.Mk_82_Snakeye___500lb_GP_Bomb_HD) + Mk_82Y___500lb_GP_Chute_Retarded_HD = ( + 5, + Weapons.Mk_82Y___500lb_GP_Chute_Retarded_HD, + ) + Mk_83___1000lb_GP_Bomb_LD = (5, Weapons.Mk_83___1000lb_GP_Bomb_LD) + Mk_84___2000lb_GP_Bomb_LD = (5, Weapons.Mk_84___2000lb_GP_Bomb_LD) + AGM_84E_Harpoon_SLAM__Stand_Off_Land_Attack_Missile_ = ( + 5, + Weapons.AGM_84E_Harpoon_SLAM__Stand_Off_Land_Attack_Missile_, + ) + AGM_84H_SLAM_ER__Expanded_Response_ = ( + 5, + Weapons.AGM_84H_SLAM_ER__Expanded_Response_, + ) + BRU_33_with_2_x_Mk_82___500lb_GP_Bomb_LD = ( + 5, + Weapons.BRU_33_with_2_x_Mk_82___500lb_GP_Bomb_LD, + ) + BRU_33_with_2_x_Mk_82_Snakeye___500lb_GP_Bomb_HD = ( + 5, + Weapons.BRU_33_with_2_x_Mk_82_Snakeye___500lb_GP_Bomb_HD, + ) + BRU_33_with_2_x_Mk_82Y___500lb_GP_Chute_Retarded_HD = ( + 5, + Weapons.BRU_33_with_2_x_Mk_82Y___500lb_GP_Chute_Retarded_HD, + ) + BRU_33_with_2_x_Mk_20_Rockeye___490lbs_CBU__247_x_HEAT_Bomblets = ( + 5, + Weapons.BRU_33_with_2_x_Mk_20_Rockeye___490lbs_CBU__247_x_HEAT_Bomblets, + ) + BRU_33_with_2_x_Mk_83___1000lb_GP_Bomb_LD = ( + 5, + Weapons.BRU_33_with_2_x_Mk_83___1000lb_GP_Bomb_LD, + ) + BRU_41A_with_6_x_BDU_33___25lb_Practice_Bomb_LD = ( + 5, + Weapons.BRU_41A_with_6_x_BDU_33___25lb_Practice_Bomb_LD, + ) + GBU_10___2000lb_Laser_Guided_Bomb = ( + 5, + Weapons.GBU_10___2000lb_Laser_Guided_Bomb, + ) + GBU_24A_B_Paveway_III___2000lb_Laser_Guided_Bomb = ( + 5, + Weapons.GBU_24A_B_Paveway_III___2000lb_Laser_Guided_Bomb, + ) + BRU_41A_with_6_x_BDU_33___25lb_Practice_Bomb_LD = ( + 5, + Weapons.BRU_41A_with_6_x_BDU_33___25lb_Practice_Bomb_LD, + ) + GBU_12___500lb_Laser_Guided_Bomb = (5, Weapons.GBU_12___500lb_Laser_Guided_Bomb) + GBU_16___1000lb_Laser_Guided_Bomb = ( + 5, + Weapons.GBU_16___1000lb_Laser_Guided_Bomb, + ) + CBU_99___490lbs__247_x_HEAT_Bomblets = ( + 5, + Weapons.CBU_99___490lbs__247_x_HEAT_Bomblets, + ) + Mk_20_Rockeye___490lbs_CBU__247_x_HEAT_Bomblets = ( + 5, + Weapons.Mk_20_Rockeye___490lbs_CBU__247_x_HEAT_Bomblets, + ) + BRU_33_with_2_x_CBU_99___490lbs__247_x_HEAT_Bomblets = ( + 5, + Weapons.BRU_33_with_2_x_CBU_99___490lbs__247_x_HEAT_Bomblets, + ) + BRU_33_with_2_x_GBU_12___500lb_Laser_Guided_Bomb = ( + 5, + Weapons.BRU_33_with_2_x_GBU_12___500lb_Laser_Guided_Bomb, + ) + # ERRR + AGM_154A___JSOW_CEB__CBU_type_ = (5, Weapons.AGM_154A___JSOW_CEB__CBU_type_) + BRU_55_with_2_x_AGM_154A___JSOW_CEB__CBU_type_ = ( + 5, + Weapons.BRU_55_with_2_x_AGM_154A___JSOW_CEB__CBU_type_, + ) + AGM_154C___JSOW_Unitary_BROACH = (5, Weapons.AGM_154C___JSOW_Unitary_BROACH) + BRU_55_with_2_x_AGM_154C___JSOW_Unitary_BROACH = ( + 5, + Weapons.BRU_55_with_2_x_AGM_154C___JSOW_Unitary_BROACH, + ) + GBU_31_V_2_B___JDAM__2000lb_GPS_Guided_Bomb = ( + 5, + Weapons.GBU_31_V_2_B___JDAM__2000lb_GPS_Guided_Bomb, + ) + GBU_31_V_4_B___JDAM__2000lb_GPS_Guided_Penetrator_Bomb = ( + 5, + Weapons.GBU_31_V_4_B___JDAM__2000lb_GPS_Guided_Penetrator_Bomb, + ) + GBU_32_V_2_B___JDAM__1000lb_GPS_Guided_Bomb = ( + 5, + Weapons.GBU_32_V_2_B___JDAM__1000lb_GPS_Guided_Bomb, + ) + GBU_38_V_1_B___JDAM__500lb_GPS_Guided_Bomb = ( + 5, + Weapons.GBU_38_V_1_B___JDAM__500lb_GPS_Guided_Bomb, + ) + BRU_55_with_2_x_GBU_38___JDAM__500lb_GPS_Guided_Bomb = ( + 5, + Weapons.BRU_55_with_2_x_GBU_38___JDAM__500lb_GPS_Guided_Bomb, + ) + AGM_84D_Harpoon_AShM = (5, Weapons.AGM_84D_Harpoon_AShM) + AWW_13_DATALINK_POD = (5, Weapons.AWW_13_DATALINK_POD) + GBU_54_V_1_B___LJDAM__500lb_Laser__GPS_Guided_Bomb_LD = ( + 5, + Weapons.GBU_54_V_1_B___LJDAM__500lb_Laser__GPS_Guided_Bomb_LD, + ) + + class Pylon6: + LAU_115C_with_AIM_7M_Sparrow_Semi_Active_Radar = ( + 6, + Weapons.LAU_115C_with_AIM_7M_Sparrow_Semi_Active_Radar, + ) + LAU_115C_with_AIM_7F_Sparrow_Semi_Active_Radar = ( + 6, + Weapons.LAU_115C_with_AIM_7F_Sparrow_Semi_Active_Radar, + ) + LAU_115C_with_AIM_7MH_Sparrow_Semi_Active_Radar = ( + 6, + Weapons.LAU_115C_with_AIM_7MH_Sparrow_Semi_Active_Radar, + ) + FPU_12_Fuel_Tank_480_gallons = (6, Weapons.FPU_12_Fuel_Tank_480_gallons) + FPU_12_Fuel_Tank_480_gallons_High_Vis = ( + 6, + Weapons.FPU_12_Fuel_Tank_480_gallons_High_Vis, + ) + LAU_115_with_1_x_LAU_127_AIM_120D_AMRAAM___Active_Rdr_AAM = ( + 6, + Weapons.LAU_115_with_1_x_LAU_127_AIM_120D_AMRAAM___Active_Rdr_AAM, + ) + LAU_115_with_1_x_LAU_127_AIM_120C_AMRAAM___Active_Radar_AAM = ( + 6, + Weapons.LAU_115_with_1_x_LAU_127_AIM_120C_AMRAAM___Active_Radar_AAM, + ) + LAU_115_2_LAU_127_AIM_120B = (6, Weapons.LAU_115_2_LAU_127_AIM_120B) + LAU_115_2_LAU_127_AIM_120C = (6, Weapons.LAU_115_2_LAU_127_AIM_120C) + LAU_117_with_AGM_65E___Maverick_E__Laser_ASM___Lg_Whd_ = ( + 6, + Weapons.LAU_117_with_AGM_65E___Maverick_E__Laser_ASM___Lg_Whd_, + ) + LAU_117_CATM_65K = (6, Weapons.LAU_117_CATM_65K) + LAU_117_AGM_65F = (6, Weapons.LAU_117_AGM_65F) + AGM_88C_HARM___High_Speed_Anti_Radiation_Missile_ = ( + 6, + Weapons.AGM_88C_HARM___High_Speed_Anti_Radiation_Missile_, + ) + Mk_82___500lb_GP_Bomb_LD = (6, Weapons.Mk_82___500lb_GP_Bomb_LD) + Mk_82_Snakeye___500lb_GP_Bomb_HD = (6, Weapons.Mk_82_Snakeye___500lb_GP_Bomb_HD) + Mk_82Y___500lb_GP_Chute_Retarded_HD = ( + 6, + Weapons.Mk_82Y___500lb_GP_Chute_Retarded_HD, + ) + Mk_83___1000lb_GP_Bomb_LD = (6, Weapons.Mk_83___1000lb_GP_Bomb_LD) + Mk_84___2000lb_GP_Bomb_LD = (6, Weapons.Mk_84___2000lb_GP_Bomb_LD) + BDU_45___500lb_Practice_Bomb = (6, Weapons.BDU_45___500lb_Practice_Bomb) + BDU_45B___500lb_Practice_Bomb = (6, Weapons.BDU_45B___500lb_Practice_Bomb) + AGM_84E_Harpoon_SLAM__Stand_Off_Land_Attack_Missile_ = ( + 6, + Weapons.AGM_84E_Harpoon_SLAM__Stand_Off_Land_Attack_Missile_, + ) + AGM_84H_SLAM_ER__Expanded_Response_ = ( + 6, + Weapons.AGM_84H_SLAM_ER__Expanded_Response_, + ) + BRU_33_with_2_x_Mk_82___500lb_GP_Bomb_LD = ( + 6, + Weapons.BRU_33_with_2_x_Mk_82___500lb_GP_Bomb_LD, + ) + BRU_33_with_2_x_Mk_82_Snakeye___500lb_GP_Bomb_HD = ( + 6, + Weapons.BRU_33_with_2_x_Mk_82_Snakeye___500lb_GP_Bomb_HD, + ) + BRU_33_with_2_x_Mk_82Y___500lb_GP_Chute_Retarded_HD = ( + 6, + Weapons.BRU_33_with_2_x_Mk_82Y___500lb_GP_Chute_Retarded_HD, + ) + BRU_33_with_2_x_BDU_45___500lb_Practice_Bomb = ( + 6, + Weapons.BRU_33_with_2_x_BDU_45___500lb_Practice_Bomb, + ) + BRU_33_with_2_x_BDU_45B___500lb_Practice_Bomb = ( + 6, + Weapons.BRU_33_with_2_x_BDU_45B___500lb_Practice_Bomb, + ) + BRU_33_with_2_x_Mk_20_Rockeye___490lbs_CBU__247_x_HEAT_Bomblets = ( + 6, + Weapons.BRU_33_with_2_x_Mk_20_Rockeye___490lbs_CBU__247_x_HEAT_Bomblets, + ) + BRU_33_with_2_x_Mk_83___1000lb_GP_Bomb_LD = ( + 6, + Weapons.BRU_33_with_2_x_Mk_83___1000lb_GP_Bomb_LD, + ) + BRU_41A_with_6_x_BDU_33___25lb_Practice_Bomb_LD = ( + 6, + Weapons.BRU_41A_with_6_x_BDU_33___25lb_Practice_Bomb_LD, + ) + GBU_10___2000lb_Laser_Guided_Bomb = ( + 6, + Weapons.GBU_10___2000lb_Laser_Guided_Bomb, + ) + GBU_24A_B_Paveway_III___2000lb_Laser_Guided_Bomb = ( + 6, + Weapons.GBU_24A_B_Paveway_III___2000lb_Laser_Guided_Bomb, + ) + BRU_41A_with_6_x_BDU_33___25lb_Practice_Bomb_LD = ( + 6, + Weapons.BRU_41A_with_6_x_BDU_33___25lb_Practice_Bomb_LD, + ) + GBU_12___500lb_Laser_Guided_Bomb = (6, Weapons.GBU_12___500lb_Laser_Guided_Bomb) + GBU_16___1000lb_Laser_Guided_Bomb = ( + 6, + Weapons.GBU_16___1000lb_Laser_Guided_Bomb, + ) + CBU_99___490lbs__247_x_HEAT_Bomblets = ( + 6, + Weapons.CBU_99___490lbs__247_x_HEAT_Bomblets, + ) + Mk_20_Rockeye___490lbs_CBU__247_x_HEAT_Bomblets = ( + 6, + Weapons.Mk_20_Rockeye___490lbs_CBU__247_x_HEAT_Bomblets, + ) + BRU_33_with_2_x_CBU_99___490lbs__247_x_HEAT_Bomblets = ( + 6, + Weapons.BRU_33_with_2_x_CBU_99___490lbs__247_x_HEAT_Bomblets, + ) + BRU_33_with_2_x_GBU_12___500lb_Laser_Guided_Bomb = ( + 6, + Weapons.BRU_33_with_2_x_GBU_12___500lb_Laser_Guided_Bomb, + ) + # ERRR + AGM_154A___JSOW_CEB__CBU_type_ = (6, Weapons.AGM_154A___JSOW_CEB__CBU_type_) + BRU_55_with_2_x_AGM_154A___JSOW_CEB__CBU_type_ = ( + 6, + Weapons.BRU_55_with_2_x_AGM_154A___JSOW_CEB__CBU_type_, + ) + AGM_154C___JSOW_Unitary_BROACH = (6, Weapons.AGM_154C___JSOW_Unitary_BROACH) + BRU_55_with_2_x_AGM_154C___JSOW_Unitary_BROACH = ( + 6, + Weapons.BRU_55_with_2_x_AGM_154C___JSOW_Unitary_BROACH, + ) + GBU_31_V_2_B___JDAM__2000lb_GPS_Guided_Bomb = ( + 6, + Weapons.GBU_31_V_2_B___JDAM__2000lb_GPS_Guided_Bomb, + ) + GBU_31_V_4_B___JDAM__2000lb_GPS_Guided_Penetrator_Bomb = ( + 6, + Weapons.GBU_31_V_4_B___JDAM__2000lb_GPS_Guided_Penetrator_Bomb, + ) + GBU_32_V_2_B___JDAM__1000lb_GPS_Guided_Bomb = ( + 6, + Weapons.GBU_32_V_2_B___JDAM__1000lb_GPS_Guided_Bomb, + ) + GBU_38_V_1_B___JDAM__500lb_GPS_Guided_Bomb = ( + 6, + Weapons.GBU_38_V_1_B___JDAM__500lb_GPS_Guided_Bomb, + ) + BRU_55_with_2_x_GBU_38___JDAM__500lb_GPS_Guided_Bomb = ( + 6, + Weapons.BRU_55_with_2_x_GBU_38___JDAM__500lb_GPS_Guided_Bomb, + ) + AGM_84D_Harpoon_AShM = (6, Weapons.AGM_84D_Harpoon_AShM) + AWW_13_DATALINK_POD = (6, Weapons.AWW_13_DATALINK_POD) + GBU_54_V_1_B___LJDAM__500lb_Laser__GPS_Guided_Bomb_LD = ( + 6, + Weapons.GBU_54_V_1_B___LJDAM__500lb_Laser__GPS_Guided_Bomb_LD, + ) + + class Pylon7: + LAU_115_2_LAU_127_AIM_9M = (7, Weapons.LAU_115_2_LAU_127_AIM_9M) + LAU_115_2_LAU_127_CATM_9M = (7, Weapons.LAU_115_2_LAU_127_CATM_9M) + LAU_115_2_LAU_127_AIM_9L = (7, Weapons.LAU_115_2_LAU_127_AIM_9L) + LAU_115_2_LAU_127_AIM_9X = (7, Weapons.LAU_115_2_LAU_127_AIM_9X) + LAU_115_LAU_127_AIM_9X = (7, Weapons.LAU_115_LAU_127_AIM_9X) + LAU_115_LAU_127_CATM_9M = (7, Weapons.LAU_115_LAU_127_CATM_9M) + LAU_115_LAU_127_AIM_9L = (7, Weapons.LAU_115_LAU_127_AIM_9L) + LAU_115_LAU_127_AIM_9M = (7, Weapons.LAU_115_LAU_127_AIM_9M) + LAU_115C_with_AIM_7M_Sparrow_Semi_Active_Radar = ( + 7, + Weapons.LAU_115C_with_AIM_7M_Sparrow_Semi_Active_Radar, + ) + LAU_115C_with_AIM_7F_Sparrow_Semi_Active_Radar = ( + 7, + Weapons.LAU_115C_with_AIM_7F_Sparrow_Semi_Active_Radar, + ) + LAU_115C_with_AIM_7MH_Sparrow_Semi_Active_Radar = ( + 7, + Weapons.LAU_115C_with_AIM_7MH_Sparrow_Semi_Active_Radar, + ) + LAU_115C_with_AIM_7P_Sparrow_Semi_Active_Radar = ( + 7, + Weapons.LAU_115C_with_AIM_7P_Sparrow_Semi_Active_Radar, + ) + FPU_12_Fuel_Tank_480_gallons = (7, Weapons.FPU_12_Fuel_Tank_480_gallons) + FPU_12_Fuel_Tank_480_gallons_High_Vis = ( + 7, + Weapons.FPU_12_Fuel_Tank_480_gallons_High_Vis, + ) + AIM_120D_AMRAAM___Active_Rdr_AAM = (7, Weapons.AIM_120D_AMRAAM___Active_Rdr_AAM) + AIM_120C_AMRAAM___Active_Radar_AAM = ( + 7, + Weapons.AIM_120C_AMRAAM___Active_Radar_AAM, + ) + LAU_115_2_LAU_127_AIM_120B = (7, Weapons.LAU_115_2_LAU_127_AIM_120B) + LAU_115_2_LAU_127_AIM_120C = (7, Weapons.LAU_115_2_LAU_127_AIM_120C) + # ERRR LAU-115_2*LAU-127_CATM-120C + # ERRR LAU_117_TGM_65E + # ERRR LAU_117_TGM_65F + LAU_117_with_AGM_65E___Maverick_E__Laser_ASM___Lg_Whd_ = ( + 7, + Weapons.LAU_117_with_AGM_65E___Maverick_E__Laser_ASM___Lg_Whd_, + ) + LAU_117_CATM_65K = (7, Weapons.LAU_117_CATM_65K) + LAU_117_AGM_65F = (7, Weapons.LAU_117_AGM_65F) + AGM_88C_HARM___High_Speed_Anti_Radiation_Missile_ = ( + 7, + Weapons.AGM_88C_HARM___High_Speed_Anti_Radiation_Missile_, + ) + Mk_82___500lb_GP_Bomb_LD = (7, Weapons.Mk_82___500lb_GP_Bomb_LD) + Mk_82_Snakeye___500lb_GP_Bomb_HD = (7, Weapons.Mk_82_Snakeye___500lb_GP_Bomb_HD) + Mk_82Y___500lb_GP_Chute_Retarded_HD = ( + 7, + Weapons.Mk_82Y___500lb_GP_Chute_Retarded_HD, + ) + Mk_83___1000lb_GP_Bomb_LD = (7, Weapons.Mk_83___1000lb_GP_Bomb_LD) + Mk_84___2000lb_GP_Bomb_LD = (7, Weapons.Mk_84___2000lb_GP_Bomb_LD) + BDU_45___500lb_Practice_Bomb = (7, Weapons.BDU_45___500lb_Practice_Bomb) + BDU_45B___500lb_Practice_Bomb = (7, Weapons.BDU_45B___500lb_Practice_Bomb) + AGM_84E_Harpoon_SLAM__Stand_Off_Land_Attack_Missile_ = ( + 7, + Weapons.AGM_84E_Harpoon_SLAM__Stand_Off_Land_Attack_Missile_, + ) + AGM_84H_SLAM_ER__Expanded_Response_ = ( + 7, + Weapons.AGM_84H_SLAM_ER__Expanded_Response_, + ) + BRU_33_with_2_x_Mk_82___500lb_GP_Bomb_LD = ( + 7, + Weapons.BRU_33_with_2_x_Mk_82___500lb_GP_Bomb_LD, + ) + BRU_33_with_2_x_Mk_82_Snakeye___500lb_GP_Bomb_HD = ( + 7, + Weapons.BRU_33_with_2_x_Mk_82_Snakeye___500lb_GP_Bomb_HD, + ) + BRU_33_with_2_x_Mk_82Y___500lb_GP_Chute_Retarded_HD = ( + 7, + Weapons.BRU_33_with_2_x_Mk_82Y___500lb_GP_Chute_Retarded_HD, + ) + BRU_33_with_2_x_BDU_45___500lb_Practice_Bomb = ( + 7, + Weapons.BRU_33_with_2_x_BDU_45___500lb_Practice_Bomb, + ) + BRU_33_with_2_x_BDU_45B___500lb_Practice_Bomb = ( + 7, + Weapons.BRU_33_with_2_x_BDU_45B___500lb_Practice_Bomb, + ) + BRU_33_with_2_x_Mk_20_Rockeye___490lbs_CBU__247_x_HEAT_Bomblets = ( + 7, + Weapons.BRU_33_with_2_x_Mk_20_Rockeye___490lbs_CBU__247_x_HEAT_Bomblets, + ) + BRU_33_with_2_x_Mk_83___1000lb_GP_Bomb_LD = ( + 7, + Weapons.BRU_33_with_2_x_Mk_83___1000lb_GP_Bomb_LD, + ) + BRU_41A_with_6_x_BDU_33___25lb_Practice_Bomb_LD = ( + 7, + Weapons.BRU_41A_with_6_x_BDU_33___25lb_Practice_Bomb_LD, + ) + GBU_10___2000lb_Laser_Guided_Bomb = ( + 7, + Weapons.GBU_10___2000lb_Laser_Guided_Bomb, + ) + BRU_41A_with_6_x_BDU_33___25lb_Practice_Bomb_LD = ( + 7, + Weapons.BRU_41A_with_6_x_BDU_33___25lb_Practice_Bomb_LD, + ) + GBU_12___500lb_Laser_Guided_Bomb = (7, Weapons.GBU_12___500lb_Laser_Guided_Bomb) + GBU_24A_B_Paveway_III___2000lb_Laser_Guided_Bomb = ( + 7, + Weapons.GBU_24A_B_Paveway_III___2000lb_Laser_Guided_Bomb, + ) + GBU_16___1000lb_Laser_Guided_Bomb = ( + 7, + Weapons.GBU_16___1000lb_Laser_Guided_Bomb, + ) + CBU_99___490lbs__247_x_HEAT_Bomblets = ( + 7, + Weapons.CBU_99___490lbs__247_x_HEAT_Bomblets, + ) + Mk_20_Rockeye___490lbs_CBU__247_x_HEAT_Bomblets = ( + 7, + Weapons.Mk_20_Rockeye___490lbs_CBU__247_x_HEAT_Bomblets, + ) + BRU_33_with_2_x_CBU_99___490lbs__247_x_HEAT_Bomblets = ( + 7, + Weapons.BRU_33_with_2_x_CBU_99___490lbs__247_x_HEAT_Bomblets, + ) + BRU_33_with_2_x_GBU_12___500lb_Laser_Guided_Bomb = ( + 7, + Weapons.BRU_33_with_2_x_GBU_12___500lb_Laser_Guided_Bomb, + ) + # ERRR + AGM_154A___JSOW_CEB__CBU_type_ = (7, Weapons.AGM_154A___JSOW_CEB__CBU_type_) + BRU_55_with_2_x_AGM_154A___JSOW_CEB__CBU_type_ = ( + 7, + Weapons.BRU_55_with_2_x_AGM_154A___JSOW_CEB__CBU_type_, + ) + AGM_154C___JSOW_Unitary_BROACH = (7, Weapons.AGM_154C___JSOW_Unitary_BROACH) + BRU_55_with_2_x_AGM_154C___JSOW_Unitary_BROACH = ( + 7, + Weapons.BRU_55_with_2_x_AGM_154C___JSOW_Unitary_BROACH, + ) + GBU_31_V_2_B___JDAM__2000lb_GPS_Guided_Bomb = ( + 7, + Weapons.GBU_31_V_2_B___JDAM__2000lb_GPS_Guided_Bomb, + ) + GBU_31_V_4_B___JDAM__2000lb_GPS_Guided_Penetrator_Bomb = ( + 7, + Weapons.GBU_31_V_4_B___JDAM__2000lb_GPS_Guided_Penetrator_Bomb, + ) + GBU_32_V_2_B___JDAM__1000lb_GPS_Guided_Bomb = ( + 7, + Weapons.GBU_32_V_2_B___JDAM__1000lb_GPS_Guided_Bomb, + ) + GBU_38_V_1_B___JDAM__500lb_GPS_Guided_Bomb = ( + 7, + Weapons.GBU_38_V_1_B___JDAM__500lb_GPS_Guided_Bomb, + ) + BRU_55_with_2_x_GBU_38___JDAM__500lb_GPS_Guided_Bomb = ( + 7, + Weapons.BRU_55_with_2_x_GBU_38___JDAM__500lb_GPS_Guided_Bomb, + ) + AGM_84D_Harpoon_AShM = (7, Weapons.AGM_84D_Harpoon_AShM) + AWW_13_DATALINK_POD = (7, Weapons.AWW_13_DATALINK_POD) + GBU_54_V_1_B___LJDAM__500lb_Laser__GPS_Guided_Bomb_LD = ( + 7, + Weapons.GBU_54_V_1_B___LJDAM__500lb_Laser__GPS_Guided_Bomb_LD, + ) + BRU_42_with_3_x_ADM_141A_TALD = (7, Weapons.BRU_42_with_3_x_ADM_141A_TALD) + BRU_42_with_2_x_ADM_141A_TALD = (7, Weapons.BRU_42_with_2_x_ADM_141A_TALD) + BRU_42_with_ADM_141A_TALD = (7, Weapons.BRU_42_with_ADM_141A_TALD) + + class Pylon8: + TLAU_127 = (8, Weapons.TLAU_127) + AIM_120D_AMRAAM___Active_Rdr_AAM = (8, Weapons.AIM_120D_AMRAAM___Active_Rdr_AAM) + AIM_120C_AMRAAM___Active_Radar_AAM = ( + 8, + Weapons.AIM_120C_AMRAAM___Active_Radar_AAM, + ) + # ERRR {CATM-120C} + LAU_115C_with_AIM_7M_Sparrow_Semi_Active_Radar = ( + 8, + Weapons.LAU_115C_with_AIM_7M_Sparrow_Semi_Active_Radar, + ) + LAU_115C_with_AIM_7F_Sparrow_Semi_Active_Radar = ( + 8, + Weapons.LAU_115C_with_AIM_7F_Sparrow_Semi_Active_Radar, + ) + LAU_115C_with_AIM_7MH_Sparrow_Semi_Active_Radar = ( + 8, + Weapons.LAU_115C_with_AIM_7MH_Sparrow_Semi_Active_Radar, + ) + LAU_115C_with_AIM_7P_Sparrow_Semi_Active_Radar = ( + 8, + Weapons.LAU_115C_with_AIM_7P_Sparrow_Semi_Active_Radar, + ) + # ERRR LAU_117_TGM_65E + # ERRR LAU_117_TGM_65F + LAU_117_with_AGM_65E___Maverick_E__Laser_ASM___Lg_Whd_ = ( + 8, + Weapons.LAU_117_with_AGM_65E___Maverick_E__Laser_ASM___Lg_Whd_, + ) + LAU_117_AGM_65F = (8, Weapons.LAU_117_AGM_65F) + AGM_88C_HARM___High_Speed_Anti_Radiation_Missile_ = ( + 8, + Weapons.AGM_88C_HARM___High_Speed_Anti_Radiation_Missile_, + ) + Mk_82___500lb_GP_Bomb_LD = (8, Weapons.Mk_82___500lb_GP_Bomb_LD) + Mk_82_Snakeye___500lb_GP_Bomb_HD = (8, Weapons.Mk_82_Snakeye___500lb_GP_Bomb_HD) + Mk_82Y___500lb_GP_Chute_Retarded_HD = ( + 8, + Weapons.Mk_82Y___500lb_GP_Chute_Retarded_HD, + ) + Mk_83___1000lb_GP_Bomb_LD = (8, Weapons.Mk_83___1000lb_GP_Bomb_LD) + BDU_45___500lb_Practice_Bomb = (8, Weapons.BDU_45___500lb_Practice_Bomb) + BDU_45B___500lb_Practice_Bomb = (8, Weapons.BDU_45B___500lb_Practice_Bomb) + GBU_12___500lb_Laser_Guided_Bomb = (8, Weapons.GBU_12___500lb_Laser_Guided_Bomb) + GBU_16___1000lb_Laser_Guided_Bomb = ( + 8, + Weapons.GBU_16___1000lb_Laser_Guided_Bomb, + ) + CBU_99___490lbs__247_x_HEAT_Bomblets = ( + 8, + Weapons.CBU_99___490lbs__247_x_HEAT_Bomblets, + ) + Mk_20_Rockeye___490lbs_CBU__247_x_HEAT_Bomblets = ( + 8, + Weapons.Mk_20_Rockeye___490lbs_CBU__247_x_HEAT_Bomblets, + ) + # ERRR + GBU_32_V_2_B___JDAM__1000lb_GPS_Guided_Bomb = ( + 8, + Weapons.GBU_32_V_2_B___JDAM__1000lb_GPS_Guided_Bomb, + ) + GBU_38_V_1_B___JDAM__500lb_GPS_Guided_Bomb = ( + 8, + Weapons.GBU_38_V_1_B___JDAM__500lb_GPS_Guided_Bomb, + ) + GBU_54_V_1_B___LJDAM__500lb_Laser__GPS_Guided_Bomb_LD = ( + 8, + Weapons.GBU_54_V_1_B___LJDAM__500lb_Laser__GPS_Guided_Bomb_LD, + ) + BRU_42_with_2_x_ADM_141A_TALD = (8, Weapons.BRU_42_with_2_x_ADM_141A_TALD) + BRU_42_with_ADM_141A_TALD = (8, Weapons.BRU_42_with_ADM_141A_TALD) + + class Pylon9: + AIM_9M_Sidewinder_IR_AAM = (9, Weapons.AIM_9M_Sidewinder_IR_AAM) + CATM_9M = (9, Weapons.CATM_9M) + # ERRR {CATM-9M} + # ERRR {CATM-9X} + AIM_9X_Sidewinder_IR_AAM = (9, Weapons.AIM_9X_Sidewinder_IR_AAM) + AN_ASQ_T50_TCTS_Pod___ACMI_Pod = (9, Weapons.AN_ASQ_T50_TCTS_Pod___ACMI_Pod) + + # ERRR + + class Pylon10: + AA42R_Buddy_Pod = (10, Weapons.AA42R_Buddy_Pod) + FPU_12_Fuel_Tank_480_gallons = (10, Weapons.FPU_12_Fuel_Tank_480_gallons) + FPU_12_Fuel_Tank_480_gallons_High_Vis = ( + 10, + Weapons.FPU_12_Fuel_Tank_480_gallons_High_Vis, + ) + USAFlag = (10, Weapons.USAFlag) + Smoke_Generator___red_ = (10, Weapons.Smoke_Generator___red_) + Smoke_Generator___green_ = (10, Weapons.Smoke_Generator___green_) + Smoke_Generator___blue_ = (10, Weapons.Smoke_Generator___blue_) + Smoke_Generator___white_ = (10, Weapons.Smoke_Generator___white_) + Smoke_Generator___yellow_ = (10, Weapons.Smoke_Generator___yellow_) + Smoke_Generator___orange_ = (10, Weapons.Smoke_Generator___orange_) + + pylons: Set[int] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} + + tasks = [ + task.CAP, + task.Escort, + task.FighterSweep, + task.Intercept, + task.PinpointStrike, + task.CAS, + task.GroundAttack, + task.RunwayAttack, + task.SEAD, + task.AFAC, + task.AntishipStrike, + task.Reconnaissance, + ] + task_default = task.CAP + + +from typing import Dict, List, Any + + +@planemod +class FA_18F(PlaneType): + id = "FA-18F" + flyable = True + height = 4.88 + width = 13.62456 + length = 18.31 + fuel_max = 4900 + max_speed = 2120.04 + chaff = 60 + flare = 60 + charge_total = 120 + chaff_charge_size = 1 + flare_charge_size = 1 + eplrs = True + category = "Interceptor" # {78EFB7A2-FD52-4b57-A6A6-3BF0E1D6555F} + radio_frequency = 305 + + panel_radio = { + 1: { + "channels": { + 1: 305, + 2: 264, + 4: 256, + 8: 257, + 16: 261, + 17: 267, + 9: 255, + 18: 251, + 5: 254, + 10: 262, + 20: 266, + 11: 259, + 3: 265, + 6: 250, + 12: 268, + 13: 269, + 7: 270, + 14: 260, + 19: 253, + 15: 263, + }, + }, + 2: { + "channels": { + 1: 305, + 2: 264, + 4: 256, + 8: 257, + 16: 261, + 17: 267, + 9: 255, + 18: 251, + 5: 254, + 10: 262, + 20: 266, + 11: 259, + 3: 265, + 6: 250, + 12: 268, + 13: 269, + 7: 270, + 14: 260, + 19: 253, + 15: 263, + }, + }, + } + + callnames: Dict[str, List[str]] = { + "USA": [ + "Hornet", + "Squid", + "Ragin", + "Roman", + "Sting", + "Jury", + "Joker", + "Ram", + "Hawk", + "Devil", + "Check", + "Snake", + ] + } + + property_defaults: Dict[str, Any] = { + "OuterBoard": 0, + "InnerBoard": 0, + "HelmetMountedDevice": 1, + "VoiceCallsignLabel": None, + "VoiceCallsignNumber": None, + "STN_L16": None, + } + + class Properties: + class OuterBoard: + id = "OuterBoard" + + class Values: + Single = 0 + Ripple = 1 + + class InnerBoard: + id = "InnerBoard" + + class Values: + Single = 0 + Ripple = 1 + + class HelmetMountedDevice: + id = "HelmetMountedDevice" + + class Values: + Not_installed = 0 + JHMCS = 1 + NVG = 2 + + class VoiceCallsignLabel: + id = "VoiceCallsignLabel" + + class VoiceCallsignNumber: + id = "VoiceCallsignNumber" + + class STN_L16: + id = "STN_L16" + + properties = { + "OuterBoard": UnitPropertyDescription( + identifier="OuterBoard", + control="comboList", + label="Outerboard rockets mode", + player_only=True, + default=0, + w_ctrl=150, + values={ + 0: "Single", + 1: "Ripple", + }, + ), + "InnerBoard": UnitPropertyDescription( + identifier="InnerBoard", + control="comboList", + label="Innerboard rockets mode", + player_only=True, + default=0, + w_ctrl=150, + values={ + 0: "Single", + 1: "Ripple", + }, + ), + "HelmetMountedDevice": UnitPropertyDescription( + identifier="HelmetMountedDevice", + control="comboList", + label="Helmet Mounted Device", + player_only=True, + default=1, + w_ctrl=150, + values={ + 0: "Not installed", + 1: "JHMCS", + 2: "NVG", + }, + ), + "datalink_Label": UnitPropertyDescription( + identifier="datalink_Label", + control="label", + label="DATALINK", + player_only=False, + x_lbl=150, + ), + "VoiceCallsignLabel": UnitPropertyDescription( + identifier="VoiceCallsignLabel", + control="editbox", + label="Voice Callsign Label", + player_only=False, + ), + "VoiceCallsignNumber": UnitPropertyDescription( + identifier="VoiceCallsignNumber", + control="editbox", + label="Voice Callsign Number", + player_only=False, + ), + "STN_L16": UnitPropertyDescription( + identifier="STN_L16", + control="editbox", + label="STN", + player_only=False, + ), + } + + livery_name = "FA-18F" # from type + + class Pylon1: + AIM_9M_Sidewinder_IR_AAM = (1, Weapons.AIM_9M_Sidewinder_IR_AAM) + CATM_9M = (1, Weapons.CATM_9M) + # ERRR {CATM-9M} + # ERRR {CATM-9X} + AIM_9X_Sidewinder_IR_AAM = (1, Weapons.AIM_9X_Sidewinder_IR_AAM) + AN_ASQ_T50_TCTS_Pod___ACMI_Pod = (1, Weapons.AN_ASQ_T50_TCTS_Pod___ACMI_Pod) + + class Pylon2: + TLAU_127 = (2, Weapons.TLAU_127) + AIM_120D_AMRAAM___Active_Rdr_AAM = (2, Weapons.AIM_120D_AMRAAM___Active_Rdr_AAM) + AIM_120C_AMRAAM___Active_Radar_AAM = ( + 2, + Weapons.AIM_120C_AMRAAM___Active_Radar_AAM, + ) + # ERRR {CATM-120C} + LAU_115C_with_AIM_7M_Sparrow_Semi_Active_Radar = ( + 2, + Weapons.LAU_115C_with_AIM_7M_Sparrow_Semi_Active_Radar, + ) + LAU_115C_with_AIM_7F_Sparrow_Semi_Active_Radar = ( + 2, + Weapons.LAU_115C_with_AIM_7F_Sparrow_Semi_Active_Radar, + ) + LAU_115C_with_AIM_7MH_Sparrow_Semi_Active_Radar = ( + 2, + Weapons.LAU_115C_with_AIM_7MH_Sparrow_Semi_Active_Radar, + ) + LAU_115C_with_AIM_7P_Sparrow_Semi_Active_Radar = ( + 2, + Weapons.LAU_115C_with_AIM_7P_Sparrow_Semi_Active_Radar, + ) + # ERRR LAU_117_TGM_65E + # ERRR LAU_117_TGM_65F + LAU_117_with_AGM_65E___Maverick_E__Laser_ASM___Lg_Whd_ = ( + 2, + Weapons.LAU_117_with_AGM_65E___Maverick_E__Laser_ASM___Lg_Whd_, + ) + LAU_117_AGM_65F = (2, Weapons.LAU_117_AGM_65F) + AGM_88C_HARM___High_Speed_Anti_Radiation_Missile_ = ( + 2, + Weapons.AGM_88C_HARM___High_Speed_Anti_Radiation_Missile_, + ) + Mk_82___500lb_GP_Bomb_LD = (2, Weapons.Mk_82___500lb_GP_Bomb_LD) + Mk_82_Snakeye___500lb_GP_Bomb_HD = (2, Weapons.Mk_82_Snakeye___500lb_GP_Bomb_HD) + Mk_82Y___500lb_GP_Chute_Retarded_HD = ( + 2, + Weapons.Mk_82Y___500lb_GP_Chute_Retarded_HD, + ) + Mk_83___1000lb_GP_Bomb_LD = (2, Weapons.Mk_83___1000lb_GP_Bomb_LD) + BDU_45___500lb_Practice_Bomb = (2, Weapons.BDU_45___500lb_Practice_Bomb) + BDU_45B___500lb_Practice_Bomb = (2, Weapons.BDU_45B___500lb_Practice_Bomb) + GBU_12___500lb_Laser_Guided_Bomb = (2, Weapons.GBU_12___500lb_Laser_Guided_Bomb) + GBU_16___1000lb_Laser_Guided_Bomb = ( + 2, + Weapons.GBU_16___1000lb_Laser_Guided_Bomb, + ) + CBU_99___490lbs__247_x_HEAT_Bomblets = ( + 2, + Weapons.CBU_99___490lbs__247_x_HEAT_Bomblets, + ) + Mk_20_Rockeye___490lbs_CBU__247_x_HEAT_Bomblets = ( + 2, + Weapons.Mk_20_Rockeye___490lbs_CBU__247_x_HEAT_Bomblets, + ) + # ERRR + GBU_32_V_2_B___JDAM__1000lb_GPS_Guided_Bomb = ( + 2, + Weapons.GBU_32_V_2_B___JDAM__1000lb_GPS_Guided_Bomb, + ) + GBU_38_V_1_B___JDAM__500lb_GPS_Guided_Bomb = ( + 2, + Weapons.GBU_38_V_1_B___JDAM__500lb_GPS_Guided_Bomb, + ) + GBU_54_V_1_B___LJDAM__500lb_Laser__GPS_Guided_Bomb_LD = ( + 2, + Weapons.GBU_54_V_1_B___LJDAM__500lb_Laser__GPS_Guided_Bomb_LD, + ) + BRU_42_with_2_x_ADM_141A_TALD = (2, Weapons.BRU_42_with_2_x_ADM_141A_TALD) + BRU_42_with_ADM_141A_TALD = (2, Weapons.BRU_42_with_ADM_141A_TALD) + + class Pylon3: + LAU_115_2_LAU_127_AIM_9M = (3, Weapons.LAU_115_2_LAU_127_AIM_9M) + LAU_115_2_LAU_127_CATM_9M = (3, Weapons.LAU_115_2_LAU_127_CATM_9M) + LAU_115_2_LAU_127_AIM_9L = (3, Weapons.LAU_115_2_LAU_127_AIM_9L) + LAU_115_2_LAU_127_AIM_9X = (3, Weapons.LAU_115_2_LAU_127_AIM_9X) + LAU_115_LAU_127_AIM_9X = (3, Weapons.LAU_115_LAU_127_AIM_9X) + LAU_115_LAU_127_CATM_9M = (3, Weapons.LAU_115_LAU_127_CATM_9M) + LAU_115_LAU_127_AIM_9L = (3, Weapons.LAU_115_LAU_127_AIM_9L) + LAU_115_LAU_127_AIM_9M = (3, Weapons.LAU_115_LAU_127_AIM_9M) + LAU_115C_with_AIM_7M_Sparrow_Semi_Active_Radar = ( + 3, + Weapons.LAU_115C_with_AIM_7M_Sparrow_Semi_Active_Radar, + ) + LAU_115C_with_AIM_7F_Sparrow_Semi_Active_Radar = ( + 3, + Weapons.LAU_115C_with_AIM_7F_Sparrow_Semi_Active_Radar, + ) + LAU_115C_with_AIM_7MH_Sparrow_Semi_Active_Radar = ( + 3, + Weapons.LAU_115C_with_AIM_7MH_Sparrow_Semi_Active_Radar, + ) + LAU_115C_with_AIM_7P_Sparrow_Semi_Active_Radar = ( + 3, + Weapons.LAU_115C_with_AIM_7P_Sparrow_Semi_Active_Radar, + ) + FPU_12_Fuel_Tank_480_gallons = (3, Weapons.FPU_12_Fuel_Tank_480_gallons) + FPU_12_Fuel_Tank_480_gallons_High_Vis = ( + 3, + Weapons.FPU_12_Fuel_Tank_480_gallons_High_Vis, + ) + AIM_120D_AMRAAM___Active_Rdr_AAM = (3, Weapons.AIM_120D_AMRAAM___Active_Rdr_AAM) + AIM_120C_AMRAAM___Active_Radar_AAM = ( + 3, + Weapons.AIM_120C_AMRAAM___Active_Radar_AAM, + ) + LAU_115_2_LAU_127_AIM_120B = (3, Weapons.LAU_115_2_LAU_127_AIM_120B) + LAU_115_2_LAU_127_AIM_120C = (3, Weapons.LAU_115_2_LAU_127_AIM_120C) + # ERRR LAU-115_2*LAU-127_CATM-120C + # ERRR LAU_117_TGM_65E + # ERRR LAU_117_TGM_65F + LAU_117_with_AGM_65E___Maverick_E__Laser_ASM___Lg_Whd_ = ( + 3, + Weapons.LAU_117_with_AGM_65E___Maverick_E__Laser_ASM___Lg_Whd_, + ) + LAU_117_CATM_65K = (3, Weapons.LAU_117_CATM_65K) + LAU_117_AGM_65F = (3, Weapons.LAU_117_AGM_65F) + AGM_88C_HARM___High_Speed_Anti_Radiation_Missile_ = ( + 3, + Weapons.AGM_88C_HARM___High_Speed_Anti_Radiation_Missile_, + ) + Mk_82___500lb_GP_Bomb_LD = (3, Weapons.Mk_82___500lb_GP_Bomb_LD) + Mk_82_Snakeye___500lb_GP_Bomb_HD = (3, Weapons.Mk_82_Snakeye___500lb_GP_Bomb_HD) + Mk_82Y___500lb_GP_Chute_Retarded_HD = ( + 3, + Weapons.Mk_82Y___500lb_GP_Chute_Retarded_HD, + ) + Mk_83___1000lb_GP_Bomb_LD = (3, Weapons.Mk_83___1000lb_GP_Bomb_LD) + Mk_84___2000lb_GP_Bomb_LD = (3, Weapons.Mk_84___2000lb_GP_Bomb_LD) + BDU_45___500lb_Practice_Bomb = (3, Weapons.BDU_45___500lb_Practice_Bomb) + BDU_45B___500lb_Practice_Bomb = (3, Weapons.BDU_45B___500lb_Practice_Bomb) + AGM_84E_Harpoon_SLAM__Stand_Off_Land_Attack_Missile_ = ( + 3, + Weapons.AGM_84E_Harpoon_SLAM__Stand_Off_Land_Attack_Missile_, + ) + AGM_84H_SLAM_ER__Expanded_Response_ = ( + 3, + Weapons.AGM_84H_SLAM_ER__Expanded_Response_, + ) + BRU_33_with_2_x_Mk_82___500lb_GP_Bomb_LD = ( + 3, + Weapons.BRU_33_with_2_x_Mk_82___500lb_GP_Bomb_LD, + ) + BRU_33_with_2_x_Mk_82_Snakeye___500lb_GP_Bomb_HD = ( + 3, + Weapons.BRU_33_with_2_x_Mk_82_Snakeye___500lb_GP_Bomb_HD, + ) + BRU_33_with_2_x_Mk_82Y___500lb_GP_Chute_Retarded_HD = ( + 3, + Weapons.BRU_33_with_2_x_Mk_82Y___500lb_GP_Chute_Retarded_HD, + ) + BRU_33_with_2_x_BDU_45___500lb_Practice_Bomb = ( + 3, + Weapons.BRU_33_with_2_x_BDU_45___500lb_Practice_Bomb, + ) + BRU_33_with_2_x_BDU_45B___500lb_Practice_Bomb = ( + 3, + Weapons.BRU_33_with_2_x_BDU_45B___500lb_Practice_Bomb, + ) + BRU_33_with_2_x_Mk_20_Rockeye___490lbs_CBU__247_x_HEAT_Bomblets = ( + 3, + Weapons.BRU_33_with_2_x_Mk_20_Rockeye___490lbs_CBU__247_x_HEAT_Bomblets, + ) + BRU_33_with_2_x_Mk_83___1000lb_GP_Bomb_LD = ( + 3, + Weapons.BRU_33_with_2_x_Mk_83___1000lb_GP_Bomb_LD, + ) + BRU_41A_with_6_x_BDU_33___25lb_Practice_Bomb_LD = ( + 3, + Weapons.BRU_41A_with_6_x_BDU_33___25lb_Practice_Bomb_LD, + ) + GBU_10___2000lb_Laser_Guided_Bomb = ( + 3, + Weapons.GBU_10___2000lb_Laser_Guided_Bomb, + ) + BRU_41A_with_6_x_BDU_33___25lb_Practice_Bomb_LD = ( + 3, + Weapons.BRU_41A_with_6_x_BDU_33___25lb_Practice_Bomb_LD, + ) + GBU_12___500lb_Laser_Guided_Bomb = (3, Weapons.GBU_12___500lb_Laser_Guided_Bomb) + GBU_24A_B_Paveway_III___2000lb_Laser_Guided_Bomb = ( + 3, + Weapons.GBU_24A_B_Paveway_III___2000lb_Laser_Guided_Bomb, + ) + GBU_16___1000lb_Laser_Guided_Bomb = ( + 3, + Weapons.GBU_16___1000lb_Laser_Guided_Bomb, + ) + CBU_99___490lbs__247_x_HEAT_Bomblets = ( + 3, + Weapons.CBU_99___490lbs__247_x_HEAT_Bomblets, + ) + Mk_20_Rockeye___490lbs_CBU__247_x_HEAT_Bomblets = ( + 3, + Weapons.Mk_20_Rockeye___490lbs_CBU__247_x_HEAT_Bomblets, + ) + BRU_33_with_2_x_CBU_99___490lbs__247_x_HEAT_Bomblets = ( + 3, + Weapons.BRU_33_with_2_x_CBU_99___490lbs__247_x_HEAT_Bomblets, + ) + BRU_33_with_2_x_GBU_12___500lb_Laser_Guided_Bomb = ( + 3, + Weapons.BRU_33_with_2_x_GBU_12___500lb_Laser_Guided_Bomb, + ) + # ERRR + AGM_154A___JSOW_CEB__CBU_type_ = (3, Weapons.AGM_154A___JSOW_CEB__CBU_type_) + BRU_55_with_2_x_AGM_154A___JSOW_CEB__CBU_type_ = ( + 3, + Weapons.BRU_55_with_2_x_AGM_154A___JSOW_CEB__CBU_type_, + ) + AGM_154C___JSOW_Unitary_BROACH = (3, Weapons.AGM_154C___JSOW_Unitary_BROACH) + BRU_55_with_2_x_AGM_154C___JSOW_Unitary_BROACH = ( + 3, + Weapons.BRU_55_with_2_x_AGM_154C___JSOW_Unitary_BROACH, + ) + GBU_31_V_2_B___JDAM__2000lb_GPS_Guided_Bomb = ( + 3, + Weapons.GBU_31_V_2_B___JDAM__2000lb_GPS_Guided_Bomb, + ) + GBU_31_V_4_B___JDAM__2000lb_GPS_Guided_Penetrator_Bomb = ( + 3, + Weapons.GBU_31_V_4_B___JDAM__2000lb_GPS_Guided_Penetrator_Bomb, + ) + GBU_32_V_2_B___JDAM__1000lb_GPS_Guided_Bomb = ( + 3, + Weapons.GBU_32_V_2_B___JDAM__1000lb_GPS_Guided_Bomb, + ) + GBU_38_V_1_B___JDAM__500lb_GPS_Guided_Bomb = ( + 3, + Weapons.GBU_38_V_1_B___JDAM__500lb_GPS_Guided_Bomb, + ) + BRU_55_with_2_x_GBU_38___JDAM__500lb_GPS_Guided_Bomb = ( + 3, + Weapons.BRU_55_with_2_x_GBU_38___JDAM__500lb_GPS_Guided_Bomb, + ) + AGM_84D_Harpoon_AShM = (3, Weapons.AGM_84D_Harpoon_AShM) + AWW_13_DATALINK_POD = (3, Weapons.AWW_13_DATALINK_POD) + GBU_54_V_1_B___LJDAM__500lb_Laser__GPS_Guided_Bomb_LD = ( + 3, + Weapons.GBU_54_V_1_B___LJDAM__500lb_Laser__GPS_Guided_Bomb_LD, + ) + BRU_42_with_3_x_ADM_141A_TALD = (3, Weapons.BRU_42_with_3_x_ADM_141A_TALD) + BRU_42_with_2_x_ADM_141A_TALD = (3, Weapons.BRU_42_with_2_x_ADM_141A_TALD) + BRU_42_with_ADM_141A_TALD = (3, Weapons.BRU_42_with_ADM_141A_TALD) + + class Pylon4: + AIM_120D_AMRAAM___Active_Rdr_AAM = (4, Weapons.AIM_120D_AMRAAM___Active_Rdr_AAM) + AIM_120C_AMRAAM___Active_Radar_AAM = ( + 4, + Weapons.AIM_120C_AMRAAM___Active_Radar_AAM, + ) + AN_ASQ_228_ATFLIR___Targeting_Pod = ( + 4, + Weapons.AN_ASQ_228_ATFLIR___Targeting_Pod, + ) + + class Pylon5: + LAU_115C_with_AIM_7M_Sparrow_Semi_Active_Radar = ( + 5, + Weapons.LAU_115C_with_AIM_7M_Sparrow_Semi_Active_Radar, + ) + LAU_115C_with_AIM_7F_Sparrow_Semi_Active_Radar = ( + 5, + Weapons.LAU_115C_with_AIM_7F_Sparrow_Semi_Active_Radar, + ) + LAU_115C_with_AIM_7MH_Sparrow_Semi_Active_Radar = ( + 5, + Weapons.LAU_115C_with_AIM_7MH_Sparrow_Semi_Active_Radar, + ) + FPU_12_Fuel_Tank_480_gallons = (5, Weapons.FPU_12_Fuel_Tank_480_gallons) + FPU_12_Fuel_Tank_480_gallons_High_Vis = ( + 5, + Weapons.FPU_12_Fuel_Tank_480_gallons_High_Vis, + ) + LAU_115_with_1_x_LAU_127_AIM_120D_AMRAAM___Active_Rdr_AAM = ( + 5, + Weapons.LAU_115_with_1_x_LAU_127_AIM_120D_AMRAAM___Active_Rdr_AAM, + ) + LAU_115_with_1_x_LAU_127_AIM_120C_AMRAAM___Active_Radar_AAM = ( + 5, + Weapons.LAU_115_with_1_x_LAU_127_AIM_120C_AMRAAM___Active_Radar_AAM, + ) + LAU_115_2_LAU_127_AIM_120B = (5, Weapons.LAU_115_2_LAU_127_AIM_120B) + LAU_115_2_LAU_127_AIM_120C = (5, Weapons.LAU_115_2_LAU_127_AIM_120C) + LAU_117_with_AGM_65E___Maverick_E__Laser_ASM___Lg_Whd_ = ( + 5, + Weapons.LAU_117_with_AGM_65E___Maverick_E__Laser_ASM___Lg_Whd_, + ) + LAU_117_CATM_65K = (5, Weapons.LAU_117_CATM_65K) + LAU_117_AGM_65F = (5, Weapons.LAU_117_AGM_65F) + AGM_88C_HARM___High_Speed_Anti_Radiation_Missile_ = ( + 5, + Weapons.AGM_88C_HARM___High_Speed_Anti_Radiation_Missile_, + ) + Mk_82___500lb_GP_Bomb_LD = (5, Weapons.Mk_82___500lb_GP_Bomb_LD) + Mk_82_Snakeye___500lb_GP_Bomb_HD = (5, Weapons.Mk_82_Snakeye___500lb_GP_Bomb_HD) + Mk_82Y___500lb_GP_Chute_Retarded_HD = ( + 5, + Weapons.Mk_82Y___500lb_GP_Chute_Retarded_HD, + ) + Mk_83___1000lb_GP_Bomb_LD = (5, Weapons.Mk_83___1000lb_GP_Bomb_LD) + Mk_84___2000lb_GP_Bomb_LD = (5, Weapons.Mk_84___2000lb_GP_Bomb_LD) + AGM_84E_Harpoon_SLAM__Stand_Off_Land_Attack_Missile_ = ( + 5, + Weapons.AGM_84E_Harpoon_SLAM__Stand_Off_Land_Attack_Missile_, + ) + AGM_84H_SLAM_ER__Expanded_Response_ = ( + 5, + Weapons.AGM_84H_SLAM_ER__Expanded_Response_, + ) + BRU_33_with_2_x_Mk_82___500lb_GP_Bomb_LD = ( + 5, + Weapons.BRU_33_with_2_x_Mk_82___500lb_GP_Bomb_LD, + ) + BRU_33_with_2_x_Mk_82_Snakeye___500lb_GP_Bomb_HD = ( + 5, + Weapons.BRU_33_with_2_x_Mk_82_Snakeye___500lb_GP_Bomb_HD, + ) + BRU_33_with_2_x_Mk_82Y___500lb_GP_Chute_Retarded_HD = ( + 5, + Weapons.BRU_33_with_2_x_Mk_82Y___500lb_GP_Chute_Retarded_HD, + ) + BRU_33_with_2_x_Mk_20_Rockeye___490lbs_CBU__247_x_HEAT_Bomblets = ( + 5, + Weapons.BRU_33_with_2_x_Mk_20_Rockeye___490lbs_CBU__247_x_HEAT_Bomblets, + ) + BRU_33_with_2_x_Mk_83___1000lb_GP_Bomb_LD = ( + 5, + Weapons.BRU_33_with_2_x_Mk_83___1000lb_GP_Bomb_LD, + ) + BRU_41A_with_6_x_BDU_33___25lb_Practice_Bomb_LD = ( + 5, + Weapons.BRU_41A_with_6_x_BDU_33___25lb_Practice_Bomb_LD, + ) + GBU_10___2000lb_Laser_Guided_Bomb = ( + 5, + Weapons.GBU_10___2000lb_Laser_Guided_Bomb, + ) + GBU_24A_B_Paveway_III___2000lb_Laser_Guided_Bomb = ( + 5, + Weapons.GBU_24A_B_Paveway_III___2000lb_Laser_Guided_Bomb, + ) + BRU_41A_with_6_x_BDU_33___25lb_Practice_Bomb_LD = ( + 5, + Weapons.BRU_41A_with_6_x_BDU_33___25lb_Practice_Bomb_LD, + ) + GBU_12___500lb_Laser_Guided_Bomb = (5, Weapons.GBU_12___500lb_Laser_Guided_Bomb) + GBU_16___1000lb_Laser_Guided_Bomb = ( + 5, + Weapons.GBU_16___1000lb_Laser_Guided_Bomb, + ) + CBU_99___490lbs__247_x_HEAT_Bomblets = ( + 5, + Weapons.CBU_99___490lbs__247_x_HEAT_Bomblets, + ) + Mk_20_Rockeye___490lbs_CBU__247_x_HEAT_Bomblets = ( + 5, + Weapons.Mk_20_Rockeye___490lbs_CBU__247_x_HEAT_Bomblets, + ) + BRU_33_with_2_x_CBU_99___490lbs__247_x_HEAT_Bomblets = ( + 5, + Weapons.BRU_33_with_2_x_CBU_99___490lbs__247_x_HEAT_Bomblets, + ) + BRU_33_with_2_x_GBU_12___500lb_Laser_Guided_Bomb = ( + 5, + Weapons.BRU_33_with_2_x_GBU_12___500lb_Laser_Guided_Bomb, + ) + # ERRR + AGM_154A___JSOW_CEB__CBU_type_ = (5, Weapons.AGM_154A___JSOW_CEB__CBU_type_) + BRU_55_with_2_x_AGM_154A___JSOW_CEB__CBU_type_ = ( + 5, + Weapons.BRU_55_with_2_x_AGM_154A___JSOW_CEB__CBU_type_, + ) + AGM_154C___JSOW_Unitary_BROACH = (5, Weapons.AGM_154C___JSOW_Unitary_BROACH) + BRU_55_with_2_x_AGM_154C___JSOW_Unitary_BROACH = ( + 5, + Weapons.BRU_55_with_2_x_AGM_154C___JSOW_Unitary_BROACH, + ) + GBU_31_V_2_B___JDAM__2000lb_GPS_Guided_Bomb = ( + 5, + Weapons.GBU_31_V_2_B___JDAM__2000lb_GPS_Guided_Bomb, + ) + GBU_31_V_4_B___JDAM__2000lb_GPS_Guided_Penetrator_Bomb = ( + 5, + Weapons.GBU_31_V_4_B___JDAM__2000lb_GPS_Guided_Penetrator_Bomb, + ) + GBU_32_V_2_B___JDAM__1000lb_GPS_Guided_Bomb = ( + 5, + Weapons.GBU_32_V_2_B___JDAM__1000lb_GPS_Guided_Bomb, + ) + GBU_38_V_1_B___JDAM__500lb_GPS_Guided_Bomb = ( + 5, + Weapons.GBU_38_V_1_B___JDAM__500lb_GPS_Guided_Bomb, + ) + BRU_55_with_2_x_GBU_38___JDAM__500lb_GPS_Guided_Bomb = ( + 5, + Weapons.BRU_55_with_2_x_GBU_38___JDAM__500lb_GPS_Guided_Bomb, + ) + AGM_84D_Harpoon_AShM = (5, Weapons.AGM_84D_Harpoon_AShM) + AWW_13_DATALINK_POD = (5, Weapons.AWW_13_DATALINK_POD) + GBU_54_V_1_B___LJDAM__500lb_Laser__GPS_Guided_Bomb_LD = ( + 5, + Weapons.GBU_54_V_1_B___LJDAM__500lb_Laser__GPS_Guided_Bomb_LD, + ) + + class Pylon6: + LAU_115C_with_AIM_7M_Sparrow_Semi_Active_Radar = ( + 6, + Weapons.LAU_115C_with_AIM_7M_Sparrow_Semi_Active_Radar, + ) + LAU_115C_with_AIM_7F_Sparrow_Semi_Active_Radar = ( + 6, + Weapons.LAU_115C_with_AIM_7F_Sparrow_Semi_Active_Radar, + ) + LAU_115C_with_AIM_7MH_Sparrow_Semi_Active_Radar = ( + 6, + Weapons.LAU_115C_with_AIM_7MH_Sparrow_Semi_Active_Radar, + ) + FPU_12_Fuel_Tank_480_gallons = (6, Weapons.FPU_12_Fuel_Tank_480_gallons) + FPU_12_Fuel_Tank_480_gallons_High_Vis = ( + 6, + Weapons.FPU_12_Fuel_Tank_480_gallons_High_Vis, + ) + LAU_115_with_1_x_LAU_127_AIM_120D_AMRAAM___Active_Rdr_AAM = ( + 6, + Weapons.LAU_115_with_1_x_LAU_127_AIM_120D_AMRAAM___Active_Rdr_AAM, + ) + LAU_115_with_1_x_LAU_127_AIM_120C_AMRAAM___Active_Radar_AAM = ( + 6, + Weapons.LAU_115_with_1_x_LAU_127_AIM_120C_AMRAAM___Active_Radar_AAM, + ) + LAU_115_2_LAU_127_AIM_120B = (6, Weapons.LAU_115_2_LAU_127_AIM_120B) + LAU_115_2_LAU_127_AIM_120C = (6, Weapons.LAU_115_2_LAU_127_AIM_120C) + LAU_117_with_AGM_65E___Maverick_E__Laser_ASM___Lg_Whd_ = ( + 6, + Weapons.LAU_117_with_AGM_65E___Maverick_E__Laser_ASM___Lg_Whd_, + ) + LAU_117_CATM_65K = (6, Weapons.LAU_117_CATM_65K) + LAU_117_AGM_65F = (6, Weapons.LAU_117_AGM_65F) + AGM_88C_HARM___High_Speed_Anti_Radiation_Missile_ = ( + 6, + Weapons.AGM_88C_HARM___High_Speed_Anti_Radiation_Missile_, + ) + Mk_82___500lb_GP_Bomb_LD = (6, Weapons.Mk_82___500lb_GP_Bomb_LD) + Mk_82_Snakeye___500lb_GP_Bomb_HD = (6, Weapons.Mk_82_Snakeye___500lb_GP_Bomb_HD) + Mk_82Y___500lb_GP_Chute_Retarded_HD = ( + 6, + Weapons.Mk_82Y___500lb_GP_Chute_Retarded_HD, + ) + Mk_83___1000lb_GP_Bomb_LD = (6, Weapons.Mk_83___1000lb_GP_Bomb_LD) + Mk_84___2000lb_GP_Bomb_LD = (6, Weapons.Mk_84___2000lb_GP_Bomb_LD) + BDU_45___500lb_Practice_Bomb = (6, Weapons.BDU_45___500lb_Practice_Bomb) + BDU_45B___500lb_Practice_Bomb = (6, Weapons.BDU_45B___500lb_Practice_Bomb) + AGM_84E_Harpoon_SLAM__Stand_Off_Land_Attack_Missile_ = ( + 6, + Weapons.AGM_84E_Harpoon_SLAM__Stand_Off_Land_Attack_Missile_, + ) + AGM_84H_SLAM_ER__Expanded_Response_ = ( + 6, + Weapons.AGM_84H_SLAM_ER__Expanded_Response_, + ) + BRU_33_with_2_x_Mk_82___500lb_GP_Bomb_LD = ( + 6, + Weapons.BRU_33_with_2_x_Mk_82___500lb_GP_Bomb_LD, + ) + BRU_33_with_2_x_Mk_82_Snakeye___500lb_GP_Bomb_HD = ( + 6, + Weapons.BRU_33_with_2_x_Mk_82_Snakeye___500lb_GP_Bomb_HD, + ) + BRU_33_with_2_x_Mk_82Y___500lb_GP_Chute_Retarded_HD = ( + 6, + Weapons.BRU_33_with_2_x_Mk_82Y___500lb_GP_Chute_Retarded_HD, + ) + BRU_33_with_2_x_BDU_45___500lb_Practice_Bomb = ( + 6, + Weapons.BRU_33_with_2_x_BDU_45___500lb_Practice_Bomb, + ) + BRU_33_with_2_x_BDU_45B___500lb_Practice_Bomb = ( + 6, + Weapons.BRU_33_with_2_x_BDU_45B___500lb_Practice_Bomb, + ) + BRU_33_with_2_x_Mk_20_Rockeye___490lbs_CBU__247_x_HEAT_Bomblets = ( + 6, + Weapons.BRU_33_with_2_x_Mk_20_Rockeye___490lbs_CBU__247_x_HEAT_Bomblets, + ) + BRU_33_with_2_x_Mk_83___1000lb_GP_Bomb_LD = ( + 6, + Weapons.BRU_33_with_2_x_Mk_83___1000lb_GP_Bomb_LD, + ) + BRU_41A_with_6_x_BDU_33___25lb_Practice_Bomb_LD = ( + 6, + Weapons.BRU_41A_with_6_x_BDU_33___25lb_Practice_Bomb_LD, + ) + GBU_10___2000lb_Laser_Guided_Bomb = ( + 6, + Weapons.GBU_10___2000lb_Laser_Guided_Bomb, + ) + GBU_24A_B_Paveway_III___2000lb_Laser_Guided_Bomb = ( + 6, + Weapons.GBU_24A_B_Paveway_III___2000lb_Laser_Guided_Bomb, + ) + BRU_41A_with_6_x_BDU_33___25lb_Practice_Bomb_LD = ( + 6, + Weapons.BRU_41A_with_6_x_BDU_33___25lb_Practice_Bomb_LD, + ) + GBU_12___500lb_Laser_Guided_Bomb = (6, Weapons.GBU_12___500lb_Laser_Guided_Bomb) + GBU_16___1000lb_Laser_Guided_Bomb = ( + 6, + Weapons.GBU_16___1000lb_Laser_Guided_Bomb, + ) + CBU_99___490lbs__247_x_HEAT_Bomblets = ( + 6, + Weapons.CBU_99___490lbs__247_x_HEAT_Bomblets, + ) + Mk_20_Rockeye___490lbs_CBU__247_x_HEAT_Bomblets = ( + 6, + Weapons.Mk_20_Rockeye___490lbs_CBU__247_x_HEAT_Bomblets, + ) + BRU_33_with_2_x_CBU_99___490lbs__247_x_HEAT_Bomblets = ( + 6, + Weapons.BRU_33_with_2_x_CBU_99___490lbs__247_x_HEAT_Bomblets, + ) + BRU_33_with_2_x_GBU_12___500lb_Laser_Guided_Bomb = ( + 6, + Weapons.BRU_33_with_2_x_GBU_12___500lb_Laser_Guided_Bomb, + ) + # ERRR + AGM_154A___JSOW_CEB__CBU_type_ = (6, Weapons.AGM_154A___JSOW_CEB__CBU_type_) + BRU_55_with_2_x_AGM_154A___JSOW_CEB__CBU_type_ = ( + 6, + Weapons.BRU_55_with_2_x_AGM_154A___JSOW_CEB__CBU_type_, + ) + AGM_154C___JSOW_Unitary_BROACH = (6, Weapons.AGM_154C___JSOW_Unitary_BROACH) + BRU_55_with_2_x_AGM_154C___JSOW_Unitary_BROACH = ( + 6, + Weapons.BRU_55_with_2_x_AGM_154C___JSOW_Unitary_BROACH, + ) + GBU_31_V_2_B___JDAM__2000lb_GPS_Guided_Bomb = ( + 6, + Weapons.GBU_31_V_2_B___JDAM__2000lb_GPS_Guided_Bomb, + ) + GBU_31_V_4_B___JDAM__2000lb_GPS_Guided_Penetrator_Bomb = ( + 6, + Weapons.GBU_31_V_4_B___JDAM__2000lb_GPS_Guided_Penetrator_Bomb, + ) + GBU_32_V_2_B___JDAM__1000lb_GPS_Guided_Bomb = ( + 6, + Weapons.GBU_32_V_2_B___JDAM__1000lb_GPS_Guided_Bomb, + ) + GBU_38_V_1_B___JDAM__500lb_GPS_Guided_Bomb = ( + 6, + Weapons.GBU_38_V_1_B___JDAM__500lb_GPS_Guided_Bomb, + ) + BRU_55_with_2_x_GBU_38___JDAM__500lb_GPS_Guided_Bomb = ( + 6, + Weapons.BRU_55_with_2_x_GBU_38___JDAM__500lb_GPS_Guided_Bomb, + ) + AGM_84D_Harpoon_AShM = (6, Weapons.AGM_84D_Harpoon_AShM) + AWW_13_DATALINK_POD = (6, Weapons.AWW_13_DATALINK_POD) + GBU_54_V_1_B___LJDAM__500lb_Laser__GPS_Guided_Bomb_LD = ( + 6, + Weapons.GBU_54_V_1_B___LJDAM__500lb_Laser__GPS_Guided_Bomb_LD, + ) + + class Pylon7: + LAU_115_2_LAU_127_AIM_9M = (7, Weapons.LAU_115_2_LAU_127_AIM_9M) + LAU_115_2_LAU_127_CATM_9M = (7, Weapons.LAU_115_2_LAU_127_CATM_9M) + LAU_115_2_LAU_127_AIM_9L = (7, Weapons.LAU_115_2_LAU_127_AIM_9L) + LAU_115_2_LAU_127_AIM_9X = (7, Weapons.LAU_115_2_LAU_127_AIM_9X) + LAU_115_LAU_127_AIM_9X = (7, Weapons.LAU_115_LAU_127_AIM_9X) + LAU_115_LAU_127_CATM_9M = (7, Weapons.LAU_115_LAU_127_CATM_9M) + LAU_115_LAU_127_AIM_9L = (7, Weapons.LAU_115_LAU_127_AIM_9L) + LAU_115_LAU_127_AIM_9M = (7, Weapons.LAU_115_LAU_127_AIM_9M) + LAU_115C_with_AIM_7M_Sparrow_Semi_Active_Radar = ( + 7, + Weapons.LAU_115C_with_AIM_7M_Sparrow_Semi_Active_Radar, + ) + LAU_115C_with_AIM_7F_Sparrow_Semi_Active_Radar = ( + 7, + Weapons.LAU_115C_with_AIM_7F_Sparrow_Semi_Active_Radar, + ) + LAU_115C_with_AIM_7MH_Sparrow_Semi_Active_Radar = ( + 7, + Weapons.LAU_115C_with_AIM_7MH_Sparrow_Semi_Active_Radar, + ) + LAU_115C_with_AIM_7P_Sparrow_Semi_Active_Radar = ( + 7, + Weapons.LAU_115C_with_AIM_7P_Sparrow_Semi_Active_Radar, + ) + FPU_12_Fuel_Tank_480_gallons = (7, Weapons.FPU_12_Fuel_Tank_480_gallons) + FPU_12_Fuel_Tank_480_gallons_High_Vis = ( + 7, + Weapons.FPU_12_Fuel_Tank_480_gallons_High_Vis, + ) + AIM_120D_AMRAAM___Active_Rdr_AAM = (7, Weapons.AIM_120D_AMRAAM___Active_Rdr_AAM) + AIM_120C_AMRAAM___Active_Radar_AAM = ( + 7, + Weapons.AIM_120C_AMRAAM___Active_Radar_AAM, + ) + LAU_115_2_LAU_127_AIM_120B = (7, Weapons.LAU_115_2_LAU_127_AIM_120B) + LAU_115_2_LAU_127_AIM_120C = (7, Weapons.LAU_115_2_LAU_127_AIM_120C) + # ERRR LAU-115_2*LAU-127_CATM-120C + # ERRR LAU_117_TGM_65E + # ERRR LAU_117_TGM_65F + LAU_117_with_AGM_65E___Maverick_E__Laser_ASM___Lg_Whd_ = ( + 7, + Weapons.LAU_117_with_AGM_65E___Maverick_E__Laser_ASM___Lg_Whd_, + ) + LAU_117_CATM_65K = (7, Weapons.LAU_117_CATM_65K) + LAU_117_AGM_65F = (7, Weapons.LAU_117_AGM_65F) + AGM_88C_HARM___High_Speed_Anti_Radiation_Missile_ = ( + 7, + Weapons.AGM_88C_HARM___High_Speed_Anti_Radiation_Missile_, + ) + Mk_82___500lb_GP_Bomb_LD = (7, Weapons.Mk_82___500lb_GP_Bomb_LD) + Mk_82_Snakeye___500lb_GP_Bomb_HD = (7, Weapons.Mk_82_Snakeye___500lb_GP_Bomb_HD) + Mk_82Y___500lb_GP_Chute_Retarded_HD = ( + 7, + Weapons.Mk_82Y___500lb_GP_Chute_Retarded_HD, + ) + Mk_83___1000lb_GP_Bomb_LD = (7, Weapons.Mk_83___1000lb_GP_Bomb_LD) + Mk_84___2000lb_GP_Bomb_LD = (7, Weapons.Mk_84___2000lb_GP_Bomb_LD) + BDU_45___500lb_Practice_Bomb = (7, Weapons.BDU_45___500lb_Practice_Bomb) + BDU_45B___500lb_Practice_Bomb = (7, Weapons.BDU_45B___500lb_Practice_Bomb) + AGM_84E_Harpoon_SLAM__Stand_Off_Land_Attack_Missile_ = ( + 7, + Weapons.AGM_84E_Harpoon_SLAM__Stand_Off_Land_Attack_Missile_, + ) + AGM_84H_SLAM_ER__Expanded_Response_ = ( + 7, + Weapons.AGM_84H_SLAM_ER__Expanded_Response_, + ) + BRU_33_with_2_x_Mk_82___500lb_GP_Bomb_LD = ( + 7, + Weapons.BRU_33_with_2_x_Mk_82___500lb_GP_Bomb_LD, + ) + BRU_33_with_2_x_Mk_82_Snakeye___500lb_GP_Bomb_HD = ( + 7, + Weapons.BRU_33_with_2_x_Mk_82_Snakeye___500lb_GP_Bomb_HD, + ) + BRU_33_with_2_x_Mk_82Y___500lb_GP_Chute_Retarded_HD = ( + 7, + Weapons.BRU_33_with_2_x_Mk_82Y___500lb_GP_Chute_Retarded_HD, + ) + BRU_33_with_2_x_BDU_45___500lb_Practice_Bomb = ( + 7, + Weapons.BRU_33_with_2_x_BDU_45___500lb_Practice_Bomb, + ) + BRU_33_with_2_x_BDU_45B___500lb_Practice_Bomb = ( + 7, + Weapons.BRU_33_with_2_x_BDU_45B___500lb_Practice_Bomb, + ) + BRU_33_with_2_x_Mk_20_Rockeye___490lbs_CBU__247_x_HEAT_Bomblets = ( + 7, + Weapons.BRU_33_with_2_x_Mk_20_Rockeye___490lbs_CBU__247_x_HEAT_Bomblets, + ) + BRU_33_with_2_x_Mk_83___1000lb_GP_Bomb_LD = ( + 7, + Weapons.BRU_33_with_2_x_Mk_83___1000lb_GP_Bomb_LD, + ) + BRU_41A_with_6_x_BDU_33___25lb_Practice_Bomb_LD = ( + 7, + Weapons.BRU_41A_with_6_x_BDU_33___25lb_Practice_Bomb_LD, + ) + GBU_10___2000lb_Laser_Guided_Bomb = ( + 7, + Weapons.GBU_10___2000lb_Laser_Guided_Bomb, + ) + BRU_41A_with_6_x_BDU_33___25lb_Practice_Bomb_LD = ( + 7, + Weapons.BRU_41A_with_6_x_BDU_33___25lb_Practice_Bomb_LD, + ) + GBU_12___500lb_Laser_Guided_Bomb = (7, Weapons.GBU_12___500lb_Laser_Guided_Bomb) + GBU_24A_B_Paveway_III___2000lb_Laser_Guided_Bomb = ( + 7, + Weapons.GBU_24A_B_Paveway_III___2000lb_Laser_Guided_Bomb, + ) + GBU_16___1000lb_Laser_Guided_Bomb = ( + 7, + Weapons.GBU_16___1000lb_Laser_Guided_Bomb, + ) + CBU_99___490lbs__247_x_HEAT_Bomblets = ( + 7, + Weapons.CBU_99___490lbs__247_x_HEAT_Bomblets, + ) + Mk_20_Rockeye___490lbs_CBU__247_x_HEAT_Bomblets = ( + 7, + Weapons.Mk_20_Rockeye___490lbs_CBU__247_x_HEAT_Bomblets, + ) + BRU_33_with_2_x_CBU_99___490lbs__247_x_HEAT_Bomblets = ( + 7, + Weapons.BRU_33_with_2_x_CBU_99___490lbs__247_x_HEAT_Bomblets, + ) + BRU_33_with_2_x_GBU_12___500lb_Laser_Guided_Bomb = ( + 7, + Weapons.BRU_33_with_2_x_GBU_12___500lb_Laser_Guided_Bomb, + ) + # ERRR + AGM_154A___JSOW_CEB__CBU_type_ = (7, Weapons.AGM_154A___JSOW_CEB__CBU_type_) + BRU_55_with_2_x_AGM_154A___JSOW_CEB__CBU_type_ = ( + 7, + Weapons.BRU_55_with_2_x_AGM_154A___JSOW_CEB__CBU_type_, + ) + AGM_154C___JSOW_Unitary_BROACH = (7, Weapons.AGM_154C___JSOW_Unitary_BROACH) + BRU_55_with_2_x_AGM_154C___JSOW_Unitary_BROACH = ( + 7, + Weapons.BRU_55_with_2_x_AGM_154C___JSOW_Unitary_BROACH, + ) + GBU_31_V_2_B___JDAM__2000lb_GPS_Guided_Bomb = ( + 7, + Weapons.GBU_31_V_2_B___JDAM__2000lb_GPS_Guided_Bomb, + ) + GBU_31_V_4_B___JDAM__2000lb_GPS_Guided_Penetrator_Bomb = ( + 7, + Weapons.GBU_31_V_4_B___JDAM__2000lb_GPS_Guided_Penetrator_Bomb, + ) + GBU_32_V_2_B___JDAM__1000lb_GPS_Guided_Bomb = ( + 7, + Weapons.GBU_32_V_2_B___JDAM__1000lb_GPS_Guided_Bomb, + ) + GBU_38_V_1_B___JDAM__500lb_GPS_Guided_Bomb = ( + 7, + Weapons.GBU_38_V_1_B___JDAM__500lb_GPS_Guided_Bomb, + ) + BRU_55_with_2_x_GBU_38___JDAM__500lb_GPS_Guided_Bomb = ( + 7, + Weapons.BRU_55_with_2_x_GBU_38___JDAM__500lb_GPS_Guided_Bomb, + ) + AGM_84D_Harpoon_AShM = (7, Weapons.AGM_84D_Harpoon_AShM) + AWW_13_DATALINK_POD = (7, Weapons.AWW_13_DATALINK_POD) + GBU_54_V_1_B___LJDAM__500lb_Laser__GPS_Guided_Bomb_LD = ( + 7, + Weapons.GBU_54_V_1_B___LJDAM__500lb_Laser__GPS_Guided_Bomb_LD, + ) + BRU_42_with_3_x_ADM_141A_TALD = (7, Weapons.BRU_42_with_3_x_ADM_141A_TALD) + BRU_42_with_2_x_ADM_141A_TALD = (7, Weapons.BRU_42_with_2_x_ADM_141A_TALD) + BRU_42_with_ADM_141A_TALD = (7, Weapons.BRU_42_with_ADM_141A_TALD) + + class Pylon8: + TLAU_127 = (8, Weapons.TLAU_127) + AIM_120D_AMRAAM___Active_Rdr_AAM = (8, Weapons.AIM_120D_AMRAAM___Active_Rdr_AAM) + AIM_120C_AMRAAM___Active_Radar_AAM = ( + 8, + Weapons.AIM_120C_AMRAAM___Active_Radar_AAM, + ) + # ERRR {CATM-120C} + LAU_115C_with_AIM_7M_Sparrow_Semi_Active_Radar = ( + 8, + Weapons.LAU_115C_with_AIM_7M_Sparrow_Semi_Active_Radar, + ) + LAU_115C_with_AIM_7F_Sparrow_Semi_Active_Radar = ( + 8, + Weapons.LAU_115C_with_AIM_7F_Sparrow_Semi_Active_Radar, + ) + LAU_115C_with_AIM_7MH_Sparrow_Semi_Active_Radar = ( + 8, + Weapons.LAU_115C_with_AIM_7MH_Sparrow_Semi_Active_Radar, + ) + LAU_115C_with_AIM_7P_Sparrow_Semi_Active_Radar = ( + 8, + Weapons.LAU_115C_with_AIM_7P_Sparrow_Semi_Active_Radar, + ) + # ERRR LAU_117_TGM_65E + # ERRR LAU_117_TGM_65F + LAU_117_with_AGM_65E___Maverick_E__Laser_ASM___Lg_Whd_ = ( + 8, + Weapons.LAU_117_with_AGM_65E___Maverick_E__Laser_ASM___Lg_Whd_, + ) + LAU_117_AGM_65F = (8, Weapons.LAU_117_AGM_65F) + AGM_88C_HARM___High_Speed_Anti_Radiation_Missile_ = ( + 8, + Weapons.AGM_88C_HARM___High_Speed_Anti_Radiation_Missile_, + ) + Mk_82___500lb_GP_Bomb_LD = (8, Weapons.Mk_82___500lb_GP_Bomb_LD) + Mk_82_Snakeye___500lb_GP_Bomb_HD = (8, Weapons.Mk_82_Snakeye___500lb_GP_Bomb_HD) + Mk_82Y___500lb_GP_Chute_Retarded_HD = ( + 8, + Weapons.Mk_82Y___500lb_GP_Chute_Retarded_HD, + ) + Mk_83___1000lb_GP_Bomb_LD = (8, Weapons.Mk_83___1000lb_GP_Bomb_LD) + BDU_45___500lb_Practice_Bomb = (8, Weapons.BDU_45___500lb_Practice_Bomb) + BDU_45B___500lb_Practice_Bomb = (8, Weapons.BDU_45B___500lb_Practice_Bomb) + GBU_12___500lb_Laser_Guided_Bomb = (8, Weapons.GBU_12___500lb_Laser_Guided_Bomb) + GBU_16___1000lb_Laser_Guided_Bomb = ( + 8, + Weapons.GBU_16___1000lb_Laser_Guided_Bomb, + ) + CBU_99___490lbs__247_x_HEAT_Bomblets = ( + 8, + Weapons.CBU_99___490lbs__247_x_HEAT_Bomblets, + ) + Mk_20_Rockeye___490lbs_CBU__247_x_HEAT_Bomblets = ( + 8, + Weapons.Mk_20_Rockeye___490lbs_CBU__247_x_HEAT_Bomblets, + ) + # ERRR + GBU_32_V_2_B___JDAM__1000lb_GPS_Guided_Bomb = ( + 8, + Weapons.GBU_32_V_2_B___JDAM__1000lb_GPS_Guided_Bomb, + ) + GBU_38_V_1_B___JDAM__500lb_GPS_Guided_Bomb = ( + 8, + Weapons.GBU_38_V_1_B___JDAM__500lb_GPS_Guided_Bomb, + ) + GBU_54_V_1_B___LJDAM__500lb_Laser__GPS_Guided_Bomb_LD = ( + 8, + Weapons.GBU_54_V_1_B___LJDAM__500lb_Laser__GPS_Guided_Bomb_LD, + ) + BRU_42_with_2_x_ADM_141A_TALD = (8, Weapons.BRU_42_with_2_x_ADM_141A_TALD) + BRU_42_with_ADM_141A_TALD = (8, Weapons.BRU_42_with_ADM_141A_TALD) + + class Pylon9: + AIM_9M_Sidewinder_IR_AAM = (9, Weapons.AIM_9M_Sidewinder_IR_AAM) + CATM_9M = (9, Weapons.CATM_9M) + # ERRR {CATM-9M} + # ERRR {CATM-9X} + AIM_9X_Sidewinder_IR_AAM = (9, Weapons.AIM_9X_Sidewinder_IR_AAM) + AN_ASQ_T50_TCTS_Pod___ACMI_Pod = (9, Weapons.AN_ASQ_T50_TCTS_Pod___ACMI_Pod) + + # ERRR + + class Pylon10: + AA42R_Buddy_Pod = (10, Weapons.AA42R_Buddy_Pod) + FPU_12_Fuel_Tank_480_gallons = (10, Weapons.FPU_12_Fuel_Tank_480_gallons) + FPU_12_Fuel_Tank_480_gallons_High_Vis = ( + 10, + Weapons.FPU_12_Fuel_Tank_480_gallons_High_Vis, + ) + USAFlag = (10, Weapons.USAFlag) + Smoke_Generator___red_ = (10, Weapons.Smoke_Generator___red_) + Smoke_Generator___green_ = (10, Weapons.Smoke_Generator___green_) + Smoke_Generator___blue_ = (10, Weapons.Smoke_Generator___blue_) + Smoke_Generator___white_ = (10, Weapons.Smoke_Generator___white_) + Smoke_Generator___yellow_ = (10, Weapons.Smoke_Generator___yellow_) + Smoke_Generator___orange_ = (10, Weapons.Smoke_Generator___orange_) + + pylons: Set[int] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} + + tasks = [ + task.CAP, + task.Escort, + task.FighterSweep, + task.Intercept, + task.PinpointStrike, + task.CAS, + task.GroundAttack, + task.RunwayAttack, + task.SEAD, + task.AFAC, + task.AntishipStrike, + task.Reconnaissance, + ] + task_default = task.CAP + + +@planemod +class EA_18G(PlaneType): + id = "EA-18G" + flyable = True + height = 4.88 + width = 13.62456 + length = 18.31 + fuel_max = 4900 + max_speed = 2120.04 + chaff = 60 + flare = 60 + charge_total = 120 + chaff_charge_size = 1 + flare_charge_size = 1 + eplrs = True + category = "Interceptor" # {78EFB7A2-FD52-4b57-A6A6-3BF0E1D6555F} + radio_frequency = 305 + + panel_radio = { + 1: { + "channels": { + 1: 305, + 2: 264, + 4: 256, + 8: 257, + 16: 261, + 17: 267, + 9: 255, + 18: 251, + 5: 254, + 10: 262, + 20: 266, + 11: 259, + 3: 265, + 6: 250, + 12: 268, + 13: 269, + 7: 270, + 14: 260, + 19: 253, + 15: 263, + }, + }, + 2: { + "channels": { + 1: 305, + 2: 264, + 4: 256, + 8: 257, + 16: 261, + 17: 267, + 9: 255, + 18: 251, + 5: 254, + 10: 262, + 20: 266, + 11: 259, + 3: 265, + 6: 250, + 12: 268, + 13: 269, + 7: 270, + 14: 260, + 19: 253, + 15: 263, + }, + }, + } + + callnames: Dict[str, List[str]] = { + "USA": [ + "Hornet", + "Squid", + "Ragin", + "Roman", + "Sting", + "Jury", + "Joker", + "Ram", + "Hawk", + "Devil", + "Check", + "Snake", + ] + } + + property_defaults: Dict[str, Any] = { + "OuterBoard": 0, + "InnerBoard": 0, + "HelmetMountedDevice": 1, + "VoiceCallsignLabel": None, + "VoiceCallsignNumber": None, + "STN_L16": None, + } + + class Properties: + class OuterBoard: + id = "OuterBoard" + + class Values: + Single = 0 + Ripple = 1 + + class InnerBoard: + id = "InnerBoard" + + class Values: + Single = 0 + Ripple = 1 + + class HelmetMountedDevice: + id = "HelmetMountedDevice" + + class Values: + Not_installed = 0 + JHMCS = 1 + NVG = 2 + + class VoiceCallsignLabel: + id = "VoiceCallsignLabel" + + class VoiceCallsignNumber: + id = "VoiceCallsignNumber" + + class STN_L16: + id = "STN_L16" + + properties = { + "OuterBoard": UnitPropertyDescription( + identifier="OuterBoard", + control="comboList", + label="Outerboard rockets mode", + player_only=True, + default=0, + w_ctrl=150, + values={ + 0: "Single", + 1: "Ripple", + }, + ), + "InnerBoard": UnitPropertyDescription( + identifier="InnerBoard", + control="comboList", + label="Innerboard rockets mode", + player_only=True, + default=0, + w_ctrl=150, + values={ + 0: "Single", + 1: "Ripple", + }, + ), + "HelmetMountedDevice": UnitPropertyDescription( + identifier="HelmetMountedDevice", + control="comboList", + label="Helmet Mounted Device", + player_only=True, + default=1, + w_ctrl=150, + values={ + 0: "Not installed", + 1: "JHMCS", + 2: "NVG", + }, + ), + "datalink_Label": UnitPropertyDescription( + identifier="datalink_Label", + control="label", + label="DATALINK", + player_only=False, + x_lbl=150, + ), + "VoiceCallsignLabel": UnitPropertyDescription( + identifier="VoiceCallsignLabel", + control="editbox", + label="Voice Callsign Label", + player_only=False, + ), + "VoiceCallsignNumber": UnitPropertyDescription( + identifier="VoiceCallsignNumber", + control="editbox", + label="Voice Callsign Number", + player_only=False, + ), + "STN_L16": UnitPropertyDescription( + identifier="STN_L16", + control="editbox", + label="STN", + player_only=False, + ), + } + + livery_name = "EA-18G" # from type + + class Pylon1: + FPU_12_Fuel_Tank_480_gallons = (1, Weapons.FPU_12_Fuel_Tank_480_gallons) + FPU_12_Fuel_Tank_480_gallons_High_Vis = ( + 1, + Weapons.FPU_12_Fuel_Tank_480_gallons_High_Vis, + ) + ALQ_99Wing = (1, Weapons.ALQ_99Wing) + + # ERRR + + class Pylon2: + FPU_12_Fuel_Tank_480_gallons = (2, Weapons.FPU_12_Fuel_Tank_480_gallons) + FPU_12_Fuel_Tank_480_gallons_High_Vis = ( + 2, + Weapons.FPU_12_Fuel_Tank_480_gallons_High_Vis, + ) + ALQ_99Wing = (2, Weapons.ALQ_99Wing) + AGM_154A___JSOW_CEB__CBU_type_ = (2, Weapons.AGM_154A___JSOW_CEB__CBU_type_) + BRU_55_with_2_x_AGM_154A___JSOW_CEB__CBU_type_ = ( + 2, + Weapons.BRU_55_with_2_x_AGM_154A___JSOW_CEB__CBU_type_, + ) + AGM_154C___JSOW_Unitary_BROACH = (2, Weapons.AGM_154C___JSOW_Unitary_BROACH) + BRU_55_with_2_x_AGM_154C___JSOW_Unitary_BROACH = ( + 2, + Weapons.BRU_55_with_2_x_AGM_154C___JSOW_Unitary_BROACH, + ) + AGM_88C_HARM___High_Speed_Anti_Radiation_Missile_ = ( + 2, + Weapons.AGM_88C_HARM___High_Speed_Anti_Radiation_Missile_, + ) + + # ERRR + + class Pylon3: + AN_ASQ_T50_TCTS_Pod___ACMI_Pod = (3, Weapons.AN_ASQ_T50_TCTS_Pod___ACMI_Pod) + AGM_88C_HARM___High_Speed_Anti_Radiation_Missile_ = ( + 3, + Weapons.AGM_88C_HARM___High_Speed_Anti_Radiation_Missile_, + ) + # ERRR + TLAU_127 = (3, Weapons.TLAU_127) + + class Pylon4: + AIM_120D_AMRAAM___Active_Rdr_AAM = (4, Weapons.AIM_120D_AMRAAM___Active_Rdr_AAM) + AIM_120C_AMRAAM___Active_Radar_AAM = ( + 4, + Weapons.AIM_120C_AMRAAM___Active_Radar_AAM, + ) + + class Pylon5: + FPU_12_Fuel_Tank_480_gallons = (5, Weapons.FPU_12_Fuel_Tank_480_gallons) + FPU_12_Fuel_Tank_480_gallons_High_Vis = ( + 5, + Weapons.FPU_12_Fuel_Tank_480_gallons_High_Vis, + ) + ALQ_99Center = (5, Weapons.ALQ_99Center) + + # ERRR + + class Pylon6: + AIM_120D_AMRAAM___Active_Rdr_AAM = (6, Weapons.AIM_120D_AMRAAM___Active_Rdr_AAM) + AIM_120C_AMRAAM___Active_Radar_AAM = ( + 6, + Weapons.AIM_120C_AMRAAM___Active_Radar_AAM, + ) + + class Pylon7: + AN_ASQ_T50_TCTS_Pod___ACMI_Pod = (7, Weapons.AN_ASQ_T50_TCTS_Pod___ACMI_Pod) + AGM_88C_HARM___High_Speed_Anti_Radiation_Missile_ = ( + 7, + Weapons.AGM_88C_HARM___High_Speed_Anti_Radiation_Missile_, + ) + # ERRR + TLAU_127 = (7, Weapons.TLAU_127) + + class Pylon8: + FPU_12_Fuel_Tank_480_gallons = (8, Weapons.FPU_12_Fuel_Tank_480_gallons) + FPU_12_Fuel_Tank_480_gallons_High_Vis = ( + 8, + Weapons.FPU_12_Fuel_Tank_480_gallons_High_Vis, + ) + ALQ_99Wing = (8, Weapons.ALQ_99Wing) + AGM_154A___JSOW_CEB__CBU_type_ = (8, Weapons.AGM_154A___JSOW_CEB__CBU_type_) + BRU_55_with_2_x_AGM_154A___JSOW_CEB__CBU_type_ = ( + 8, + Weapons.BRU_55_with_2_x_AGM_154A___JSOW_CEB__CBU_type_, + ) + AGM_154C___JSOW_Unitary_BROACH = (8, Weapons.AGM_154C___JSOW_Unitary_BROACH) + BRU_55_with_2_x_AGM_154C___JSOW_Unitary_BROACH = ( + 8, + Weapons.BRU_55_with_2_x_AGM_154C___JSOW_Unitary_BROACH, + ) + AGM_88C_HARM___High_Speed_Anti_Radiation_Missile_ = ( + 8, + Weapons.AGM_88C_HARM___High_Speed_Anti_Radiation_Missile_, + ) + + # ERRR + + class Pylon9: + FPU_12_Fuel_Tank_480_gallons = (9, Weapons.FPU_12_Fuel_Tank_480_gallons) + FPU_12_Fuel_Tank_480_gallons_High_Vis = ( + 9, + Weapons.FPU_12_Fuel_Tank_480_gallons_High_Vis, + ) + ALQ_99Wing = (9, Weapons.ALQ_99Wing) + + # ERRR + + class Pylon10: + USAFlag = (10, Weapons.USAFlag) + + pylons: Set[int] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} + + tasks = [ + task.CAP, + task.Escort, + task.FighterSweep, + task.Intercept, + task.PinpointStrike, + task.CAS, + task.GroundAttack, + task.RunwayAttack, + task.SEAD, + task.AFAC, + task.AntishipStrike, + task.Reconnaissance, + ] + task_default = task.CAP diff --git a/qt_ui/windows/newgame/QNewGameWizard.py b/qt_ui/windows/newgame/QNewGameWizard.py index 1a10111bc..2827eaf46 100644 --- a/qt_ui/windows/newgame/QNewGameWizard.py +++ b/qt_ui/windows/newgame/QNewGameWizard.py @@ -204,7 +204,7 @@ def accept(self): ov10a_bronco=self.field("ov10a_bronco"), frenchpack=self.field("frenchpack"), high_digit_sams=self.field("high_digit_sams"), - superhornet=self.field("superhornet"), + fa18efg=self.field("fa18efg"), ) mod_settings.save_player_settings() @@ -827,9 +827,9 @@ def __init__( high_digit_sams.setChecked(mod_settings.high_digit_sams) self.registerField("high_digit_sams", high_digit_sams) - superhornet = QtWidgets.QCheckBox() - superhornet.setChecked(mod_settings.superhornet) - self.registerField("superhornet", superhornet) + fa18efg = QtWidgets.QCheckBox() + fa18efg.setChecked(mod_settings.fa18efg) + self.registerField("fa18efg", fa18efg) modHelpText = QtWidgets.QLabel( "

Select the mods you have installed. If your chosen factions support them, you'll be able to use these mods in your campaign.

" @@ -883,8 +883,10 @@ def __init__( modLayout.addWidget(high_digit_sams, modLayout_row, 1) modSettingsGroup.setLayout(modLayout) modLayout_row += 1 - modLayout.addWidget(QtWidgets.QLabel("Super Hornet"), modLayout_row, 0) - modLayout.addWidget(superhornet, modLayout_row, 1) + modLayout.addWidget( + QtWidgets.QLabel("F/A-18EFG Super Hornet (version 2.2.5)"), modLayout_row, 0 + ) + modLayout.addWidget(fa18efg, modLayout_row, 1) modSettingsGroup.setLayout(modLayout) modLayout_row += 1 diff --git a/resources/factions/australia_2005.yaml b/resources/factions/australia_2005.yaml index 63b2ad8b2..294250396 100644 --- a/resources/factions/australia_2005.yaml +++ b/resources/factions/australia_2005.yaml @@ -1,19 +1,15 @@ ---- country: Australia name: Australia 2005 -authors: Khopa, SpaceEnthusiast -description: -

The Australian army in 2005.

Some units might not be accurate, - but were picked to represent at best this army.

+authors: 'Khopa, SpaceEnthusiast' +description: >- +

The Australian army in 2005.

Some units might not be accurate, but + were picked to represent at best this army.

aircrafts: - AH-1W SuperCobra - C-130J-30 Super Hercules - F/A-18C Hornet (Lot 20) - SH-60B Seahawk - UH-1H Iroquois - - F/A-18E Super Hornet - - F/A-18F Super Hornet - - EA-18G Growler awacs: - E-3A tankers: @@ -42,7 +38,7 @@ missiles: [] air_defense_units: - SAM Hawk SR (AN/MPQ-50) requirements: - C-130J-30 Super Hercules Mod by Anubis: https://forums.eagle.ru/topic/252075-dcs-super-hercules-mod-by-anubis/ + C-130J-30 Super Hercules Mod by Anubis: 'https://forums.eagle.ru/topic/252075-dcs-super-hercules-mod-by-anubis/' carrier_names: [] helicopter_carrier_names: - HMAS Canberra diff --git a/resources/factions/australia_2009.yaml b/resources/factions/australia_2009.yaml new file mode 100644 index 000000000..98c82963f --- /dev/null +++ b/resources/factions/australia_2009.yaml @@ -0,0 +1,54 @@ +country: Australia +name: Australia 2009 +authors: 'Khopa, SpaceEnthusiast, Chilli' +description: >- +

The Australian army in 2005.

Some units might not be accurate, but + were picked to represent at best this army.

+aircrafts: + - AH-1W SuperCobra + - C-130J-30 Super Hercules + - F/A-18C Hornet (Lot 20) + - F/A-18F Super Hornet + - EA-18G Growler + - SH-60B Seahawk + - UH-1H Iroquois +awacs: + - E-3A +tankers: + - KC-130 + - KC-135 Stratotanker +frontline_units: + - FV510 Warrior + - LAV-25 + - Leopard 1A3 + - M113 + - M1A2 Abrams +artillery_units: [] +logistics_units: + - Truck M818 6x6 +infantry_units: + - Infantry M249 + - Infantry M4 + - MANPADS Stinger +preset_groups: + - Hawk + - Rapier +naval_units: + - DDG Arleigh Burke IIa + - LHA-1 Tarawa +missiles: [] +air_defense_units: + - SAM Hawk SR (AN/MPQ-50) +requirements: + C-130J-30 Super Hercules Mod by Anubis: 'https://forums.eagle.ru/topic/252075-dcs-super-hercules-mod-by-anubis/' +carrier_names: [] +helicopter_carrier_names: + - HMAS Canberra + - HMAS Adelaide +has_jtac: true +jtac_unit: MQ-9 Reaper +liveries_overrides: + F/A-18C Hornet (Lot 20): + - Australian 75th Squadron + - Australian 77th Squadron +unrestricted_satnav: true diff --git a/resources/factions/usn_2005.yaml b/resources/factions/usn_2005.yaml index 3d97b723e..cb5dc2fa2 100644 --- a/resources/factions/usn_2005.yaml +++ b/resources/factions/usn_2005.yaml @@ -1,4 +1,3 @@ ---- country: USA name: US Navy 2005 authors: Fuzzle @@ -8,14 +7,13 @@ locales: aircrafts: - F-14B Tomcat - F/A-18C Hornet (Lot 20) + - F/A-18E Super Hornet + - F/A-18F Super Hornet - AV-8B Harrier II Night Attack - AH-1W SuperCobra - S-3B Viking - SH-60B Seahawk - UH-1H Iroquois - - F/A-18E Super Hornet - - F/A-18F Super Hornet - - EA-18G Growler awacs: - E-2C Hawkeye tankers: diff --git a/resources/factions/usn_2009.yaml b/resources/factions/usn_2009.yaml new file mode 100644 index 000000000..caa863c99 --- /dev/null +++ b/resources/factions/usn_2009.yaml @@ -0,0 +1,76 @@ +country: USA +name: US Navy 2009 +authors: Fuzzle, Chili +description:

A modern representation of the US Navy/Marine Corps.

+locales: + - en_US +aircrafts: + - F/A-18C Hornet (Lot 20) + - F/A-18E Super Hornet + - F/A-18F Super Hornet + - EA-18G Growler + - AV-8B Harrier II Night Attack + - AH-1W SuperCobra + - S-3B Viking + - SH-60B Seahawk + - UH-1H Iroquois +awacs: + - E-2C Hawkeye +tankers: + - S-3B Tanker +frontline_units: + - M113 + - M1043 HMMWV (M2 HMG) + - M1045 HMMWV (BGM-71 TOW) + - M1A2 Abrams + - LAV-25 + - M163 Vulcan Air Defense System +artillery_units: + - M270 Multiple Launch Rocket System +logistics_units: + - Truck M818 6x6 +infantry_units: + - Infantry M4 + - Infantry M249 + - MANPADS Stinger +preset_groups: + - Hawk + - Patriot +naval_units: + - FFG Oliver Hazard Perry + - DDG Arleigh Burke IIa + - CG Ticonderoga + - LHA-1 Tarawa + - CVN-74 John C. Stennis +missiles: [] +air_defense_units: + - SAM Hawk SR (AN/MPQ-50) + - M163 Vulcan Air Defense System + - M48 Chaparral +requirements: {} +carrier_names: + - CVN-71 Theodore Roosevelt + - CVN-72 Abraham Lincoln + - CVN-73 George Washington + - CVN-74 John C. Stennis + - CVN-75 Harry S. Truman +helicopter_carrier_names: + - LHA-1 Tarawa + - LHA-2 Saipan + - LHA-3 Belleau Wood + - LHA-4 Nassau + - LHA-5 Peleliu +has_jtac: true +jtac_unit: MQ-9 Reaper +doctrine: modern +liveries_overrides: + F-14B Tomcat: + - VF-142 Ghostriders + F/A-18C Hornet (Lot 20): + - VMFA-251 high visibility + AV-8B Harrier II Night Attack: + - VMAT-542 + AH-1W SuperCobra: + - Marines + UH-1H Iroquois: + - US NAVY diff --git a/resources/tools/dcs b/resources/tools/dcs deleted file mode 120000 index 49fd884be..000000000 --- a/resources/tools/dcs +++ /dev/null @@ -1 +0,0 @@ -../../submodules/dcs/dcs \ No newline at end of file diff --git a/resources/tools/dcs b/resources/tools/dcs new file mode 100644 index 000000000..49fd884be --- /dev/null +++ b/resources/tools/dcs @@ -0,0 +1 @@ +../../submodules/dcs/dcs \ No newline at end of file diff --git a/resources/ui/units/aircrafts/banners/EA-18G.jpg b/resources/ui/units/aircrafts/banners/EA-18G.jpg deleted file mode 100644 index 8c0499277..000000000 Binary files a/resources/ui/units/aircrafts/banners/EA-18G.jpg and /dev/null differ diff --git a/resources/ui/units/aircrafts/banners/EA_18G.jpg b/resources/ui/units/aircrafts/banners/EA_18G.jpg new file mode 100644 index 000000000..18e410979 Binary files /dev/null and b/resources/ui/units/aircrafts/banners/EA_18G.jpg differ diff --git a/resources/ui/units/aircrafts/banners/FA-18E.jpeg b/resources/ui/units/aircrafts/banners/FA-18E.jpeg deleted file mode 100644 index 1837267f9..000000000 Binary files a/resources/ui/units/aircrafts/banners/FA-18E.jpeg and /dev/null differ diff --git a/resources/ui/units/aircrafts/banners/FA-18F.jpeg b/resources/ui/units/aircrafts/banners/FA-18F.jpeg deleted file mode 100644 index fe2ffbb04..000000000 Binary files a/resources/ui/units/aircrafts/banners/FA-18F.jpeg and /dev/null differ diff --git a/resources/ui/units/aircrafts/banners/FA_18E.jpg b/resources/ui/units/aircrafts/banners/FA_18E.jpg new file mode 100644 index 000000000..67a9652ed Binary files /dev/null and b/resources/ui/units/aircrafts/banners/FA_18E.jpg differ diff --git a/resources/ui/units/aircrafts/banners/FA_18F.jpg b/resources/ui/units/aircrafts/banners/FA_18F.jpg new file mode 100644 index 000000000..8adb86660 Binary files /dev/null and b/resources/ui/units/aircrafts/banners/FA_18F.jpg differ diff --git a/resources/ui/units/aircrafts/icons/EA-18G_24.jpg b/resources/ui/units/aircrafts/icons/EA-18G_24.jpg new file mode 100644 index 000000000..d960bbaaa Binary files /dev/null and b/resources/ui/units/aircrafts/icons/EA-18G_24.jpg differ diff --git a/resources/ui/units/aircrafts/icons/EA-18G_24.png b/resources/ui/units/aircrafts/icons/EA-18G_24.png deleted file mode 100644 index d79c3469b..000000000 Binary files a/resources/ui/units/aircrafts/icons/EA-18G_24.png and /dev/null differ diff --git a/resources/ui/units/aircrafts/icons/FA-18E_24.jpg b/resources/ui/units/aircrafts/icons/FA-18E_24.jpg new file mode 100644 index 000000000..993bc9d8d Binary files /dev/null and b/resources/ui/units/aircrafts/icons/FA-18E_24.jpg differ diff --git a/resources/ui/units/aircrafts/icons/FA-18E_24.png b/resources/ui/units/aircrafts/icons/FA-18E_24.png deleted file mode 100644 index eab1b9f4c..000000000 Binary files a/resources/ui/units/aircrafts/icons/FA-18E_24.png and /dev/null differ diff --git a/resources/ui/units/aircrafts/icons/FA-18F_24.jpg b/resources/ui/units/aircrafts/icons/FA-18F_24.jpg new file mode 100644 index 000000000..218b1db18 Binary files /dev/null and b/resources/ui/units/aircrafts/icons/FA-18F_24.jpg differ diff --git a/resources/ui/units/aircrafts/icons/FA-18F_24.png b/resources/ui/units/aircrafts/icons/FA-18F_24.png deleted file mode 100644 index 3ec1c3097..000000000 Binary files a/resources/ui/units/aircrafts/icons/FA-18F_24.png and /dev/null differ diff --git a/resources/units/aircraft/EA-18G.yaml b/resources/units/aircraft/EA-18G.yaml new file mode 100644 index 000000000..c3be80d8c --- /dev/null +++ b/resources/units/aircraft/EA-18G.yaml @@ -0,0 +1,42 @@ +carrier_capable: true +description: + "The Boeing EA-18G Growler is an American carrier-based electronic warfare aircraft, + a specialized version of the two-seat F/A-18F Super Hornet. The EA-18G replaced the + Northrop Grumman EA-6B Prowlers in service with the United States Navy." +introduced: 1999 +manufacturer: McDonnell Douglas +origin: USA +price: 25 +role: Carrier-based Multirole Fighter +fuel: + # Parking A1 to RWY 32 at Akrotiri. + taxi: 170 + # AB takeoff to 350/0.85, reduce to MIL and maintain 350 to 25k ft. + climb_ppm: 44.25 + # 0.85 mach for 100NM. + cruise_ppm: 22.1 + # ~0.9 mach for 100NM. Occasional AB use. + combat_ppm: 27.5 + min_safe: 2000 +variants: + EA-18G Growler: {} +radios: + intra_flight: AN/ARC-210 + inter_flight: AN/ARC-210 + channels: + type: common + # DCS will clobber channel 1 of the first radio compatible with the flight's + # assigned frequency. Since the F/A-18's two radios are both AN/ARC-210s, + # radio 1 will be compatible regardless of which frequency is assigned, so + # we must use radio 1 for the intra-flight radio. + intra_flight_radio_index: 1 + inter_flight_radio_index: 2 +utc_kneeboard: true +# default_overrides: +# HelmetMountedDevice: 1 +# InnerBoard: 0 +# OuterBoard: 0 +tasks: + DEAD: 500 + SEAD: 600 +hit_points: 20 diff --git a/resources/units/aircraft/EA-18G_growler.yaml b/resources/units/aircraft/EA-18G_growler.yaml deleted file mode 100644 index 69ff996bf..000000000 --- a/resources/units/aircraft/EA-18G_growler.yaml +++ /dev/null @@ -1,47 +0,0 @@ -carrier_capable: true -description: - 'The EA-18G Growler is twin engine, supersonic Electronic Warfare Aircraft that is flown - by a pilot and a WSO (Weapon Systems Officer) in a "glass cockpit". It combines extreme maneuverability , a - deadly arsenal of weapons, and the ability to operate from an aircraft carrier. - Operated by several nations, this multi-role fighter has been instrumental in conflicts - from 2009 to today. - - The flight capabilities of the Growler closely mirror those of the F/A-18E/F. - This characteristic allows the Growler to excel in both escort jamming and the conventional standoff jamming mission, - which involves radar jamming and deception. Growlers can seamlessly accompany F/A-18s throughout - all stages of an attack mission. To enhance the Growler's stability during electronic warfare operations, - Boeing made modifications to the leading edge fairings and wing fold hinge fairings, incorporating wing fences and - aileron "tripper strips".' - -introduced: 1999 -manufacturer: Boeing Defense, Space & Security -origin: USA -price: 32 -role: Carrier-based Electronic Warfare Aircraft - -default_livery: "VAQ-139" -fuel: - -variants: - -radios: - intra_flight: AN/ARC-210 - inter_flight: AN/ARC-210 - channels: - type: common - # DCS will clobber channel 1 of the first radio compatible with the flight's - # assigned frequency. Since the EA-18's two radios are both AN/ARC-210s, - # radio 1 will be compatible regardless of which frequency is assigned, so - # we must use radio 1 for the intra-flight radio. - intra_flight_radio_index: 1 - inter_flight_radio_index: 2 -utc_kneeboard: true -# default_overrides: -# HelmetMountedDevice: 1 -# InnerBoard: 0 -# OuterBoard: 0 -tasks: - DEAD: 600 - SEAD: 500 - EA: 750 -hit_points: 20 diff --git a/resources/units/aircraft/FA-18E.yaml b/resources/units/aircraft/FA-18E.yaml new file mode 100644 index 000000000..a84060f18 --- /dev/null +++ b/resources/units/aircraft/FA-18E.yaml @@ -0,0 +1,78 @@ +carrier_capable: true +description: + "The F/A-18E Super Hornet is a single-seat, twin engine, carrier-capable, multirole + fighter aircraft. The Super Hornets are larger and more advanced derivatives of the + McDonnell Douglas F/A-18C and D Hornets, also known as legacy Hornets. + + + The Super Hornet is equipped with a large suite of sensors that includes a radar, targeting + pod, and a helmet mounted sight. In addition to its internal 20mm cannon, the Super Hornet + can be armed with a large assortment of unguided bombs and rockets, laser and GPS-guided + bombs, air-to-surface missiles of all sorts, and both radar and infrared-guided + air-to-air missiles. + + + The Super Hornet is also known for its extreme, slow-speed maneuverability in a dogfight. + Although incredibly deadly, the Super Hornet is also a very easy aircraft to fly." +introduced: 1999 +manufacturer: McDonnell Douglas +origin: USA +price: 25 +role: Carrier-based Multirole Fighter +fuel: + # Parking A1 to RWY 32 at Akrotiri. + taxi: 170 + # AB takeoff to 350/0.85, reduce to MIL and maintain 350 to 25k ft. + climb_ppm: 44.25 + # 0.85 mach for 100NM. + cruise_ppm: 22.1 + # ~0.9 mach for 100NM. Occasional AB use. + combat_ppm: 27.5 + min_safe: 2000 +variants: + F/A-18E Super Hornet: {} +radios: + intra_flight: AN/ARC-210 + inter_flight: AN/ARC-210 + channels: + type: common + # DCS will clobber channel 1 of the first radio compatible with the flight's + # assigned frequency. Since the F/A-18's two radios are both AN/ARC-210s, + # radio 1 will be compatible regardless of which frequency is assigned, so + # we must use radio 1 for the intra-flight radio. + intra_flight_radio_index: 1 + inter_flight_radio_index: 2 +utc_kneeboard: true +# default_overrides: +# HelmetMountedDevice: 1 +# InnerBoard: 0 +# OuterBoard: 0 +tasks: + Anti-ship: 150 + BAI: 740 + BARCAP: 450 + CAS: 740 + DEAD: 440 + Escort: 450 + Fighter sweep: 450 + Intercept: 450 + OCA/Aircraft: 740 + OCA/Runway: 600 + SEAD: 430 + SEAD Escort: 430 + Strike: 600 + TARCAP: 450 +weapon_injections: # AGM-154B only works for AI + 2: + - "{AGM-154B}" + - "{BRU57_2*AGM-154B}" + 3: + - "{AGM-154B}" + - "{BRU57_2*AGM-154B}" + 7: + - "{AGM-154B}" + - "{BRU57_2*AGM-154B}" + 8: + - "{AGM-154B}" + - "{BRU57_2*AGM-154B}" +hit_points: 20 diff --git a/resources/units/aircraft/FA-18E_super-hornet.yaml b/resources/units/aircraft/FA-18E_super-hornet.yaml deleted file mode 100644 index e69de29bb..000000000 diff --git a/resources/units/aircraft/FA-18F.yaml b/resources/units/aircraft/FA-18F.yaml new file mode 100644 index 000000000..b91d05b40 --- /dev/null +++ b/resources/units/aircraft/FA-18F.yaml @@ -0,0 +1,78 @@ +carrier_capable: true +description: + "The F/A-18F Super Hornet is a tandem-seat, twin engine, carrier-capable, multirole + fighter aircraft. The Super Hornets are larger and more advanced derivatives of the + McDonnell Douglas F/A-18C and D Hornets, also known as legacy Hornets. + + + The Super Hornet is equipped with a large suite of sensors that includes a radar, targeting + pod, and a helmet mounted sight. In addition to its internal 20mm cannon, the Super Hornet + can be armed with a large assortment of unguided bombs and rockets, laser and GPS-guided + bombs, air-to-surface missiles of all sorts, and both radar and infrared-guided + air-to-air missiles. + + + The Super Hornet is also known for its extreme, slow-speed maneuverability in a dogfight. + Although incredibly deadly, the Super Hornet is also a very easy aircraft to fly." +introduced: 2006 +manufacturer: Boeing +origin: USA +price: 25 +role: Carrier-based Multirole Fighter +fuel: + # Parking A1 to RWY 32 at Akrotiri. + taxi: 170 + # AB takeoff to 350/0.85, reduce to MIL and maintain 350 to 25k ft. + climb_ppm: 44.25 + # 0.85 mach for 100NM. + cruise_ppm: 22.1 + # ~0.9 mach for 100NM. Occasional AB use. + combat_ppm: 27.5 + min_safe: 2000 +variants: + F/A-18F Super Hornet: {} +radios: + intra_flight: AN/ARC-210 + inter_flight: AN/ARC-210 + channels: + type: common + # DCS will clobber channel 1 of the first radio compatible with the flight's + # assigned frequency. Since the F/A-18's two radios are both AN/ARC-210s, + # radio 1 will be compatible regardless of which frequency is assigned, so + # we must use radio 1 for the intra-flight radio. + intra_flight_radio_index: 1 + inter_flight_radio_index: 2 +utc_kneeboard: true +# default_overrides: +# HelmetMountedDevice: 1 +# InnerBoard: 0 +# OuterBoard: 0 +tasks: + Anti-ship: 150 + BAI: 740 + BARCAP: 450 + CAS: 740 + DEAD: 440 + Escort: 450 + Fighter sweep: 450 + Intercept: 450 + OCA/Aircraft: 740 + OCA/Runway: 600 + SEAD: 430 + SEAD Escort: 430 + Strike: 600 + TARCAP: 450 +weapon_injections: # AGM-154B only works for AI + 2: + - "{AGM-154B}" + - "{BRU57_2*AGM-154B}" + 3: + - "{AGM-154B}" + - "{BRU57_2*AGM-154B}" + 7: + - "{AGM-154B}" + - "{BRU57_2*AGM-154B}" + 8: + - "{AGM-154B}" + - "{BRU57_2*AGM-154B}" +hit_points: 20 diff --git a/resources/units/aircraft/FA-18F_super-hornet.yaml b/resources/units/aircraft/FA-18F_super-hornet.yaml deleted file mode 100644 index e69de29bb..000000000