diff --git a/pydcs_extensions/su30/su30.py b/pydcs_extensions/su30/su30.py index 2d2a128d..244ce987 100644 --- a/pydcs_extensions/su30/su30.py +++ b/pydcs_extensions/su30/su30.py @@ -2,6 +2,7 @@ from typing import Dict, Any, Set from dcs import task from dcs.planes import PlaneType +from dcs.unitpropertydescription import UnitPropertyDescription from dcs.weapons_data import Weapons from game.modsupport import planemod @@ -18,6 +19,7 @@ class WeaponsSu30: APK_9_POD = {"clsid": "{SU30_APK-9}", "name": "APK-9 POD", "weight": 295} BRAHMOS_A_Ship = {"clsid": "{BRAHMOS_S}", "name": "BRAHMOS A-Ship", "weight": 2500} + BRAHMOS_SEAD = {"clsid": "{BRAHMOS_SEAD}", "name": "BRAHMOS SEAD", "weight": 2500} DAMOCLES___Targeting_Pod = { "clsid": "{DAMOCLES}", @@ -27,36 +29,6 @@ class WeaponsSu30: EL_M_2060 = {"clsid": "{SU30_ELM2060}", "name": "EL/M-2060", "weight": 295} - FAB_500_M54___474kg = { - "clsid": "{Su30_FAB500M54}", - "name": "FAB-500 M54 - 474kg", - "weight": 506, - } - - FAB_500_M62___474kg = { - "clsid": "{Su30_FAB500M62}", - "name": "FAB-500 M62 - 474kg", - "weight": 506, - } - - FAB_250_M62___227kg = { - "clsid": "{Su30_FAB250M62}", - "name": "FAB-250 M62 - 227kg", - "weight": 506, - } - - FAB_500_M62_UMPK = { - "clsid": "{Su30_UMPKFAB500M62}", - "name": "FAB-500 M62 UMPK", - "weight": 570, - } - - FAB_500_M62_NV___500kg = { - "clsid": "{Su30_FAB500M62NV}", - "name": "FAB-500 M62 NV - 500kg", - "weight": 277, - } - GBU_38___JDAM__500lb_GPS_Guided_Bomb = { "clsid": "{SU30_GBU_38}", "name": "GBU-38 - JDAM, 500lb GPS Guided Bomb", @@ -69,18 +41,6 @@ class WeaponsSu30: "weight": 118, } - Kh_31P = {"clsid": "{SU30_KH31P}", "name": "Kh-31P", "weight": 690} - - KH_31PD__AA_ = {"clsid": "{SU30_KH31PDAA}", "name": "KH-31PD (AA)", "weight": 893} - - Kh_36_Grom_1 = {"clsid": "{SU30_KH36}", "name": "Kh-36 Grom-1", "weight": 690} - - KH_38MTE = {"clsid": "{SU30_KH38MTE}", "name": "KH-38MTE", "weight": 1240} - - KH_38MLE = {"clsid": "{SU30_KH38MLE}", "name": "KH-38MLE", "weight": 520} - - KH_38MAE = {"clsid": "{SU30_KH38MAE}", "name": "KH-38MAE", "weight": 520} - KH_29L__AS_14_Kedge___Semi_Act_Laser = { "clsid": "{SU30_KH29L}", "name": "KH-29L (AS-14 Kedge), Semi-Act Laser", @@ -93,23 +53,106 @@ class WeaponsSu30: "weight": 1240, } - Kh_59M = {"clsid": "{SU30_KH59M}", "name": "Kh-59M", "weight": 930} - - Kh_59MK = {"clsid": "{SU30_KH59MK}", "name": "Kh-59MK", "weight": 770} - - Kh_59MK2_ = {"clsid": "{SU30_KH59MK2}", "name": "Kh-59MK2", "weight": 770} - - Kh_31A = {"clsid": "{SU30_KH_31A}", "name": "Kh-31A", "weight": 690} - - Kh_31P_AA = {"clsid": "{SU30_KH31PAA}", "name": "Kh-31P AA", "weight": 786} - - KH_35A = {"clsid": "{SU30_KH_35}", "name": "KH-35A", "weight": 540} - - KH_35UE = {"clsid": "{SU30_KH_35UE}", "name": "KH-35UE", "weight": 540} - - KH_31AD = {"clsid": "{SU30_KH31AD}", "name": "KH-31AD", "weight": 690} - - KH_31PD = {"clsid": "{SU30_KH31PD}", "name": "KH-31PD", "weight": 690} + Kh_31P__AS_17_Krypton____600kg = { + "clsid": "{SU30_KH31P}", + "name": "Kh-31P (AS-17 Krypton) - 600kg", + "weight": 600, + } + Kh_36__AS_23____600kg_Grom_E1 = { + "clsid": "{SU30_KH36}", + "name": "Kh-36 (AS-23) - 600kg Grom-E1", + "weight": 600, + } + KH_38MTE__AS_23__IR_Guided = { + "clsid": "{SU30_KH38MTE}", + "name": "KH-38MTE (AS-23),IR Guided", + "weight": 505, + } + KH_38MLE__AS_23___Semi_Act_Laser = { + "clsid": "{SU30_KH38MLE}", + "name": "KH-38MLE (AS-23), Semi-Act Laser", + "weight": 520, + } + Kh_38MAE__AS_23____500kg = { + "clsid": "{SU30_KH38MAE}", + "name": "Kh-38MAE (AS-23) - 500kg", + "weight": 505, + } + Kh_59M__AS_18_Kazoo___930kg = { + "clsid": "{SU30_KH59M}", + "name": "Kh-59M (AS-18 Kazoo), 930kg", + "weight": 930, + } + Kh_59MK__AS_18_Kazoo____930kg = { + "clsid": "{SU30_KH59MK}", + "name": "Kh-59MK (AS-18 Kazoo) - 930kg", + "weight": 770, + } + Kh_31A__AS_17_Krypton____610kg = { + "clsid": "{SU30_KH_31A}", + "name": "Kh-31A (AS-17 Krypton) - 610kg", + "weight": 600, + } + Kh_35__AS_20_Kayak____520kg = { + "clsid": "{Su30_KH_35A}", + "name": "Kh-35 (AS-20 Kayak) - 520kg", + "weight": 711, + } + Kh_35UE__AS_20_Kayak____520kg = { + "clsid": "{Su30_KH_35UE}", + "name": "Kh-35UE (AS-20 Kayak) - 520kg", + "weight": 711, + } + Kh_31AD__AS_17_Krypton____610kg = { + "clsid": "{SU30_KH31AD}", + "name": "Kh-31AD (AS-17 Krypton) - 610kg", + "weight": 715, + } + Kh_31PD__AS_17_Krypton____600kg = { + "clsid": "{SU30_KH31PD}", + "name": "Kh-31PD (AS-17 Krypton) - 600kg", + "weight": 707, + } + Kh_59MK2__AS_22_Kazoo____700kg = { + "clsid": "{SU30_KH59MK2}", + "name": "Kh-59MK2 (AS-22 Kazoo) - 700kg", + "weight": 700, + } + KAB_500S___500kg__GPS_Guided = { + "clsid": "{SU30_KAB_500S_LOADOUT}", + "name": "KAB-500S - 500kg, GPS Guided", + "weight": 500, + } + FAB_500_M54___474kg__freefall = { + "clsid": "{Su30_FAB500M54}", + "name": "FAB-500 M54 - 474kg, freefall", + "weight": 474, + } + FAB_500_M62___474kg__freefall = { + "clsid": "{Su30_FAB500M62}", + "name": "FAB-500 M62 - 474kg, freefall", + "weight": 241, + } + FAB_500M62_UMPK__500kg_Glide_Bomb = { + "clsid": "{Su30_UMPKFAB500M62}", + "name": "FAB-500M62 UMPK, 500kg Glide Bomb", + "weight": 570, + } + FAB_250_M62___227kg__freefall = { + "clsid": "{Su30_FAB250M62}", + "name": "FAB-250 M62 - 227kg, freefall", + "weight": 241, + } + FAB_500M62_NV__500kg_Parachute = { + "clsid": "{Su30_FAB500M62NV}", + "name": "FAB-500M62 NV, 500kg Parachute", + "weight": 277, + } + RN_244___260kg__Tactic_Nuclear_bomb = { + "clsid": "{SU30_244N}", + "name": "RN-244 - 260kg, Tactic Nuclear bomb", + "weight": 260, + } KAB_500S___500kg = { "clsid": "{SU30_KAB_500S_LOADOUT}", @@ -189,6 +232,12 @@ class WeaponsSu30: "weight": 253, } + R_37M__AA_13_Axehead____Active_Rdr = { + "clsid": "{SU30-R37M-AA}", + "name": "R-37M (AA-13 Axehead) - Active Rdr", + "weight": 510, + } + R_73L__AA_11_Archer_L____Infra_Red = { "clsid": "{Su30-R-73L-AA}", "name": "R-73L (AA-11 Archer L) - Infra Red", @@ -219,6 +268,12 @@ class WeaponsSu30: "weight": 190, } + R_77PD__AA_12_Adder____Active_Rdr_Ramjet = { + "clsid": "{SU30_R77PD}", + "name": "R-77PD (AA-12 Adder) - Active Rdr Ramjet", + "weight": 225, + } + RVV_AE__AA_12_Adder____Active_Rdr = { "clsid": "{SU30_RVVAE}", "name": "RVV-AE (AA-12 Adder) - Active Rdr", @@ -259,26 +314,32 @@ class WeaponsSu30: SAAW_POD = {"clsid": "{SU30_SAAW}", "name": "SAAW POD", "weight": 570} + Smoke_Generator___Black = { + "clsid": "{SMOKE-POD-BLACK}", + "name": "Smoke Generator - Black", + "weight": 220, + } + inject_weapons(WeaponsSu30) @planemod -class Su_30MKI(PlaneType): - id = "Su-30MKI" +class Su_30SM(PlaneType): + id = "Su-30SM" flyable = True height = 5.932 width = 14.7 length = 21.935 - fuel_max = 9400 + fuel_max = 9500 max_speed = 2499.984 chaff = 96 flare = 96 charge_total = 192 chaff_charge_size = 1 flare_charge_size = 1 + eplrs = True category = "Interceptor" # {78EFB7A2-FD52-4b57-A6A6-3BF0E1D6555F} - radio_frequency = 124 panel_radio = { 1: { @@ -307,34 +368,38 @@ class Su_30MKI(PlaneType): }, 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, + 1: 117, + 2: 135, + 4: 127, + 8: 128, + 16: 132, + 17: 138, + 9: 126, + 18: 122, + 5: 125, + 10: 133, + 20: 137, + 11: 130, + 3: 136, + 6: 121, + 12: 139, + 13: 140, + 7: 141, + 14: 131, + 19: 124, + 15: 134, }, }, } property_defaults: Dict[str, Any] = { "SoloFlight": False, - "NetCrewControlPriority": 1, - "MOUNTSURA": False, + "NetCrewControlPriority": 0, + "HumanOrchestra": False, + "HelmetMountedDevice": 1, + "ShowLadders": True, + "su30Chaff": 96, + "su30Flare": 96, } class Properties: @@ -346,14 +411,102 @@ class Su_30MKI(PlaneType): class Values: Pilot = 0 - Co_Pilot = 1 + WSO = 1 Ask_Always = -1 Equally_Responsible = -2 - class MOUNTSURA: - id = "MOUNTSURA" + class HumanOrchestra: + id = "HumanOrchestra" - livery_name = "SU-30MKI" # from type + class HelmetMountedDevice: + id = "HelmetMountedDevice" + + class Values: + Not_installed = 0 + SURA_Visor = 1 + NVG = 2 + + class ShowLadders: + id = "ShowLadders" + + class su30Chaff: + id = "su30Chaff" + + class su30Flare: + id = "su30Flare" + + properties = { + "SoloFlight": UnitPropertyDescription( + identifier="SoloFlight", + control="checkbox", + label="Solo Flight", + player_only=True, + default=False, + weight_when_on=-80, + ), + "NetCrewControlPriority": UnitPropertyDescription( + identifier="NetCrewControlPriority", + control="comboList", + label="Aircraft Control Priority", + player_only=True, + default=0, + w_ctrl=150, + values={ + 0: "Pilot", + 1: "WSO", + -1: "Ask Always", + -2: "Equally Responsible", + }, + ), + "HumanOrchestra": UnitPropertyDescription( + identifier="HumanOrchestra", + control="checkbox", + label="Disable Multicrew", + player_only=True, + default=False, + ), + "HelmetMountedDevice": UnitPropertyDescription( + identifier="HelmetMountedDevice", + control="comboList", + label="Helmet Mounted Device", + player_only=True, + default=1, + w_ctrl=150, + values={ + 0: "Not installed", + 1: "SURA Visor", + 2: "NVG", + }, + ), + "ShowLadders": UnitPropertyDescription( + identifier="ShowLadders", + control="checkbox", + label="Show Ladders", + default=True, + ), + "su30Chaff": UnitPropertyDescription( + identifier="su30Chaff", + control="spinbox", + label="Chaff", + player_only=True, + minimum=0, + maximum=192, + default=96, + dimension=" ", + ), + "su30Flare": UnitPropertyDescription( + identifier="su30Flare", + control="spinbox", + label="Flare", + player_only=True, + minimum=0, + maximum=192, + default=96, + dimension=" ", + ), + } + + livery_name = "SU-30SM" # from type class Pylon1: R_73__AA_11_Archer____Infra_Red = (1, Weapons.R_73__AA_11_Archer____Infra_Red) @@ -377,6 +530,7 @@ class Su_30MKI(PlaneType): Smoke_Generator___white = (1, Weapons.Smoke_Generator___white) Smoke_Generator___yellow = (1, Weapons.Smoke_Generator___yellow) Smoke_Generator___orange = (1, Weapons.Smoke_Generator___orange) + Smoke_Generator___Black = (1, WeaponsSu30.Smoke_Generator___Black) class Pylon2: R_73__AA_11_Archer____Infra_Red = (2, Weapons.R_73__AA_11_Archer____Infra_Red) @@ -392,15 +546,17 @@ class Su_30MKI(PlaneType): 2, WeaponsSu30.RVV_MD2__AA_11_Archer_M2____Infra_Red, ) - ASTRA_Mk_1___Active_Rdr_AAM = (2, WeaponsSu30.ASTRA_Mk_1___Active_Rdr_AAM) - I_Derby_ER___Active_Rdr_AAM = (2, WeaponsSu30.I_Derby_ER___Active_Rdr_AAM) - RVV_AE__AA_12_Adder____Active_Rdr = ( + R_77__AA_12_Adder_Early____Active_Rdr = ( 2, - WeaponsSu30.RVV_AE__AA_12_Adder____Active_Rdr, + WeaponsSu30.R_77__AA_12_Adder_Early____Active_Rdr, ) - RVV_SD__AA_12_Adder_B____Active_Rdr = ( + R_77_1__AA_12_Adder_B____Active_Rdr = ( 2, - WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, + WeaponsSu30.R_77_1__AA_12_Adder_B____Active_Rdr, + ) + R_77M__AA_12_Adder_C____Active_Rdr = ( + 2, + WeaponsSu30.R_77M__AA_12_Adder_C____Active_Rdr, ) Smoke_Generator___red = (2, Weapons.Smoke_Generator___red) Smoke_Generator___green = (2, Weapons.Smoke_Generator___green) @@ -408,6 +564,9 @@ class Su_30MKI(PlaneType): Smoke_Generator___white = (2, Weapons.Smoke_Generator___white) Smoke_Generator___yellow = (2, Weapons.Smoke_Generator___yellow) Smoke_Generator___orange = (2, Weapons.Smoke_Generator___orange) + Smoke_Generator___Black = (2, WeaponsSu30.Smoke_Generator___Black) + + # ERRR class Pylon3: R_73__AA_11_Archer____Infra_Red = (3, Weapons.R_73__AA_11_Archer____Infra_Red) @@ -431,6 +590,10 @@ class Su_30MKI(PlaneType): 3, WeaponsSu30.R_27T1__AA_10_Alamo_B____Infra_Red, ) + R_27EA__AA_10_Alamo____Active_Rdr_Extended_Range = ( + 3, + WeaponsSu30.R_27EA__AA_10_Alamo____Active_Rdr_Extended_Range, + ) R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range = ( 3, WeaponsSu30.R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range, @@ -439,37 +602,71 @@ class Su_30MKI(PlaneType): 3, WeaponsSu30.R_27ET1__AA_10_Alamo_D____IR_Extended_Range, ) - ASTRA_Mk_1___Active_Rdr_AAM = (3, WeaponsSu30.ASTRA_Mk_1___Active_Rdr_AAM) - I_Derby_ER___Active_Rdr_AAM = (3, WeaponsSu30.I_Derby_ER___Active_Rdr_AAM) - RVV_AE__AA_12_Adder____Active_Rdr = ( + R_27EP1__AA_10_Alamo_F____Passive_Rdr_Extended_Range = ( 3, - WeaponsSu30.RVV_AE__AA_12_Adder____Active_Rdr, + WeaponsSu30.R_27EP1__AA_10_Alamo_F____Passive_Rdr_Extended_Range, ) - RVV_SD__AA_12_Adder_B____Active_Rdr = ( + R_27P1__AA_10_Alamo_E____Passive_Rdr = ( 3, - WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, + WeaponsSu30.R_27P1__AA_10_Alamo_E____Passive_Rdr, + ) + R_77__AA_12_Adder_Early____Active_Rdr = ( + 3, + WeaponsSu30.R_77__AA_12_Adder_Early____Active_Rdr, + ) + R_77_1__AA_12_Adder_B____Active_Rdr = ( + 3, + WeaponsSu30.R_77_1__AA_12_Adder_B____Active_Rdr, + ) + R_77M__AA_12_Adder_C____Active_Rdr = ( + 3, + WeaponsSu30.R_77M__AA_12_Adder_C____Active_Rdr, + ) + R_77PD__AA_12_Adder____Active_Rdr_Ramjet = ( + 3, + WeaponsSu30.R_77PD__AA_12_Adder____Active_Rdr_Ramjet, + ) + R_37M__AA_13_Axehead____Active_Rdr = ( + 3, + WeaponsSu30.R_37M__AA_13_Axehead____Active_Rdr, + ) + Kh_31P__AS_17_Krypton____600kg = (3, WeaponsSu30.Kh_31P__AS_17_Krypton____600kg) + Kh_36__AS_23____600kg_Grom_E1 = (3, WeaponsSu30.Kh_36__AS_23____600kg_Grom_E1) + KH_38MTE__AS_23__IR_Guided = (3, WeaponsSu30.KH_38MTE__AS_23__IR_Guided) + KH_38MLE__AS_23___Semi_Act_Laser = ( + 3, + WeaponsSu30.KH_38MLE__AS_23___Semi_Act_Laser, + ) + Kh_38MAE__AS_23____500kg = (3, WeaponsSu30.Kh_38MAE__AS_23____500kg) + Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__ = ( + 3, + Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__, ) KH_29L__AS_14_Kedge___Semi_Act_Laser = ( 3, WeaponsSu30.KH_29L__AS_14_Kedge___Semi_Act_Laser, ) - Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided_ = ( - 3, - Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided_, - ) KH_29TE__AS_14_Kedge___TV_Guided = ( 3, WeaponsSu30.KH_29TE__AS_14_Kedge___TV_Guided, ) - Kh_59M = (3, WeaponsSu30.Kh_59M) - Kh_59MK = (3, WeaponsSu30.Kh_59MK) - Kh_31A = (3, WeaponsSu30.Kh_31A) - Kh_31P_AA = (3, WeaponsSu30.Kh_31P_AA) - KH_35A = (3, WeaponsSu30.KH_35A) - Rudra_M1 = (3, WeaponsSu30.Rudra_M1) - SAAW_POD = (3, WeaponsSu30.SAAW_POD) + # ERRR {JAS39_AGM_65K} + Kh_59M__AS_18_Kazoo___930kg = (3, WeaponsSu30.Kh_59M__AS_18_Kazoo___930kg) + Kh_59MK__AS_18_Kazoo____930kg = (3, WeaponsSu30.Kh_59MK__AS_18_Kazoo____930kg) + Kh_31A__AS_17_Krypton____610kg = (3, WeaponsSu30.Kh_31A__AS_17_Krypton____610kg) + Kh_35__AS_20_Kayak____520kg = (3, WeaponsSu30.Kh_35__AS_20_Kayak____520kg) + Kh_35UE__AS_20_Kayak____520kg = (3, WeaponsSu30.Kh_35UE__AS_20_Kayak____520kg) + Kh_31AD__AS_17_Krypton____610kg = ( + 3, + WeaponsSu30.Kh_31AD__AS_17_Krypton____610kg, + ) + Kh_31PD__AS_17_Krypton____600kg = ( + 3, + WeaponsSu30.Kh_31PD__AS_17_Krypton____600kg, + ) + Kh_59MK2__AS_22_Kazoo____700kg = (3, WeaponsSu30.Kh_59MK2__AS_22_Kazoo____700kg) KAB_500Kr___500kg_TV_Guided_Bomb = (3, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb) - KAB_500S___500kg = (3, WeaponsSu30.KAB_500S___500kg) + KAB_500S___500kg__GPS_Guided = (3, WeaponsSu30.KAB_500S___500kg__GPS_Guided) KAB_500LG___500kg_Laser_Guided_Bomb = ( 3, Weapons.KAB_500LG___500kg_Laser_Guided_Bomb, @@ -499,13 +696,14 @@ class Su_30MKI(PlaneType): 3, Weapons.RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP, ) - RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP = ( + FAB_500_M54___474kg__freefall = (3, WeaponsSu30.FAB_500_M54___474kg__freefall) + FAB_500_M62___474kg__freefall = (3, WeaponsSu30.FAB_500_M62___474kg__freefall) + FAB_500M62_UMPK__500kg_Glide_Bomb = ( 3, - Weapons.RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP, + WeaponsSu30.FAB_500M62_UMPK__500kg_Glide_Bomb, ) - FAB_500_M54___474kg = (3, WeaponsSu30.FAB_500_M54___474kg) - FAB_500_M62___474kg = (3, WeaponsSu30.FAB_500_M62___474kg) - FAB_250_M62___227kg = (3, WeaponsSu30.FAB_250_M62___227kg) + FAB_250_M62___227kg__freefall = (3, WeaponsSu30.FAB_250_M62___227kg__freefall) + FAB_500M62_NV__500kg_Parachute = (3, WeaponsSu30.FAB_500M62_NV__500kg_Parachute) MBD3_U6_68_with_6_x_FAB_250___250kg = ( 3, WeaponsSu30.MBD3_U6_68_with_6_x_FAB_250___250kg, @@ -514,6 +712,10 @@ class Su_30MKI(PlaneType): 3, WeaponsSu30.MBD3_U6_68_with_6_x_FAB_100___100kg, ) + RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP = ( + 3, + Weapons.RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP, + ) _2_x_B_13L_pods___10_x_S_13_OF__122mm_UnGd_Rkts__Blast_Frag = ( 3, Weapons._2_x_B_13L_pods___10_x_S_13_OF__122mm_UnGd_Rkts__Blast_Frag, @@ -532,45 +734,77 @@ class Su_30MKI(PlaneType): ) _2_x_S_25 = (3, Weapons._2_x_S_25) + # ERRR + class Pylon4: R_27R1__AA_10_Alamo_A____Semi_Act_Rdr = ( 4, WeaponsSu30.R_27R1__AA_10_Alamo_A____Semi_Act_Rdr, ) + R_27EA__AA_10_Alamo____Active_Rdr_Extended_Range = ( + 4, + WeaponsSu30.R_27EA__AA_10_Alamo____Active_Rdr_Extended_Range, + ) R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range = ( 4, WeaponsSu30.R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range, ) - I_Derby_ER___Active_Rdr_AAM = (4, WeaponsSu30.I_Derby_ER___Active_Rdr_AAM) - RVV_AE__AA_12_Adder____Active_Rdr = ( + R_77__AA_12_Adder_Early____Active_Rdr = ( 4, - WeaponsSu30.RVV_AE__AA_12_Adder____Active_Rdr, + WeaponsSu30.R_77__AA_12_Adder_Early____Active_Rdr, ) - RVV_SD__AA_12_Adder_B____Active_Rdr = ( + R_77_1__AA_12_Adder_B____Active_Rdr = ( 4, - WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, + WeaponsSu30.R_77_1__AA_12_Adder_B____Active_Rdr, + ) + R_77M__AA_12_Adder_C____Active_Rdr = ( + 4, + WeaponsSu30.R_77M__AA_12_Adder_C____Active_Rdr, + ) + R_77PD__AA_12_Adder____Active_Rdr_Ramjet = ( + 4, + WeaponsSu30.R_77PD__AA_12_Adder____Active_Rdr_Ramjet, + ) + R_37M__AA_13_Axehead____Active_Rdr = ( + 4, + WeaponsSu30.R_37M__AA_13_Axehead____Active_Rdr, + ) + Kh_31P__AS_17_Krypton____600kg = (4, WeaponsSu30.Kh_31P__AS_17_Krypton____600kg) + Kh_36__AS_23____600kg_Grom_E1 = (4, WeaponsSu30.Kh_36__AS_23____600kg_Grom_E1) + KH_38MTE__AS_23__IR_Guided = (4, WeaponsSu30.KH_38MTE__AS_23__IR_Guided) + KH_38MLE__AS_23___Semi_Act_Laser = ( + 4, + WeaponsSu30.KH_38MLE__AS_23___Semi_Act_Laser, + ) + Kh_38MAE__AS_23____500kg = (4, WeaponsSu30.Kh_38MAE__AS_23____500kg) + Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__ = ( + 4, + Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__, ) KH_29L__AS_14_Kedge___Semi_Act_Laser = ( 4, WeaponsSu30.KH_29L__AS_14_Kedge___Semi_Act_Laser, ) - Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided_ = ( - 4, - Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided_, - ) KH_29TE__AS_14_Kedge___TV_Guided = ( 4, WeaponsSu30.KH_29TE__AS_14_Kedge___TV_Guided, ) - Kh_59M = (4, WeaponsSu30.Kh_59M) - Kh_59MK = (4, WeaponsSu30.Kh_59MK) - Kh_31A = (4, WeaponsSu30.Kh_31A) - Kh_31P_AA = (4, WeaponsSu30.Kh_31P_AA) - KH_35A = (4, WeaponsSu30.KH_35A) - Rudra_M1 = (4, WeaponsSu30.Rudra_M1) - SAAW_POD = (4, WeaponsSu30.SAAW_POD) + Kh_59M__AS_18_Kazoo___930kg = (4, WeaponsSu30.Kh_59M__AS_18_Kazoo___930kg) + Kh_59MK__AS_18_Kazoo____930kg = (4, WeaponsSu30.Kh_59MK__AS_18_Kazoo____930kg) + Kh_31A__AS_17_Krypton____610kg = (4, WeaponsSu30.Kh_31A__AS_17_Krypton____610kg) + Kh_35__AS_20_Kayak____520kg = (4, WeaponsSu30.Kh_35__AS_20_Kayak____520kg) + Kh_35UE__AS_20_Kayak____520kg = (4, WeaponsSu30.Kh_35UE__AS_20_Kayak____520kg) + Kh_31AD__AS_17_Krypton____610kg = ( + 4, + WeaponsSu30.Kh_31AD__AS_17_Krypton____610kg, + ) + Kh_31PD__AS_17_Krypton____600kg = ( + 4, + WeaponsSu30.Kh_31PD__AS_17_Krypton____600kg, + ) + Kh_59MK2__AS_22_Kazoo____700kg = (4, WeaponsSu30.Kh_59MK2__AS_22_Kazoo____700kg) KAB_500Kr___500kg_TV_Guided_Bomb = (4, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb) - KAB_500S___500kg = (4, WeaponsSu30.KAB_500S___500kg) + KAB_500S___500kg__GPS_Guided = (4, WeaponsSu30.KAB_500S___500kg__GPS_Guided) KAB_1500Kr___1500kg = (4, WeaponsSu30.KAB_1500Kr___1500kg) KAB_1500LG_PR___1500kg = (4, WeaponsSu30.KAB_1500LG_PR___1500kg) KAB_1500L___1500kg_Laser_Guided_Bomb = ( @@ -606,57 +840,101 @@ class Su_30MKI(PlaneType): 4, Weapons.RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP, ) + FAB_500_M54___474kg__freefall = (4, WeaponsSu30.FAB_500_M54___474kg__freefall) + FAB_500_M62___474kg__freefall = (4, WeaponsSu30.FAB_500_M62___474kg__freefall) + FAB_500M62_UMPK__500kg_Glide_Bomb = ( + 4, + WeaponsSu30.FAB_500M62_UMPK__500kg_Glide_Bomb, + ) + FAB_250_M62___227kg__freefall = (4, WeaponsSu30.FAB_250_M62___227kg__freefall) + FAB_500M62_NV__500kg_Parachute = (4, WeaponsSu30.FAB_500M62_NV__500kg_Parachute) RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP = ( 4, Weapons.RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP, ) - FAB_500_M54___474kg = (4, WeaponsSu30.FAB_500_M54___474kg) - FAB_500_M62___474kg = (4, WeaponsSu30.FAB_500_M62___474kg) - FAB_250_M62___227kg = (4, WeaponsSu30.FAB_250_M62___227kg) + MBD3_U6_68_with_6_x_FAB_250___250kg_GP_Bombs_LD = ( + 4, + Weapons.MBD3_U6_68_with_6_x_FAB_250___250kg_GP_Bombs_LD, + ) MBD3_U6_68_with_6_x_FAB_250___250kg = ( 4, WeaponsSu30.MBD3_U6_68_with_6_x_FAB_250___250kg, ) + MBD3_U6_68_with_6_x_FAB_100___100kg_GP_Bombs_LD = ( + 4, + Weapons.MBD3_U6_68_with_6_x_FAB_100___100kg_GP_Bombs_LD, + ) MBD3_U6_68_with_6_x_FAB_100___100kg = ( 4, WeaponsSu30.MBD3_U6_68_with_6_x_FAB_100___100kg, ) + # ERRR + class Pylon5: R_27R1__AA_10_Alamo_A____Semi_Act_Rdr = ( 5, WeaponsSu30.R_27R1__AA_10_Alamo_A____Semi_Act_Rdr, ) + R_27EA__AA_10_Alamo____Active_Rdr_Extended_Range = ( + 5, + WeaponsSu30.R_27EA__AA_10_Alamo____Active_Rdr_Extended_Range, + ) R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range = ( 5, WeaponsSu30.R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range, ) - I_Derby_ER___Active_Rdr_AAM = (5, WeaponsSu30.I_Derby_ER___Active_Rdr_AAM) - RVV_AE__AA_12_Adder____Active_Rdr = ( + R_77__AA_12_Adder_Early____Active_Rdr = ( 5, - WeaponsSu30.RVV_AE__AA_12_Adder____Active_Rdr, + WeaponsSu30.R_77__AA_12_Adder_Early____Active_Rdr, ) - RVV_SD__AA_12_Adder_B____Active_Rdr = ( + R_77_1__AA_12_Adder_B____Active_Rdr = ( 5, - WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, + WeaponsSu30.R_77_1__AA_12_Adder_B____Active_Rdr, ) - Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided_ = ( + R_77M__AA_12_Adder_C____Active_Rdr = ( 5, - Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided_, + WeaponsSu30.R_77M__AA_12_Adder_C____Active_Rdr, ) - KH_29TE__AS_14_Kedge___TV_Guided = ( + R_77PD__AA_12_Adder____Active_Rdr_Ramjet = ( 5, - WeaponsSu30.KH_29TE__AS_14_Kedge___TV_Guided, + WeaponsSu30.R_77PD__AA_12_Adder____Active_Rdr_Ramjet, + ) + R_37M__AA_13_Axehead____Active_Rdr = ( + 5, + WeaponsSu30.R_37M__AA_13_Axehead____Active_Rdr, + ) + Kh_31P__AS_17_Krypton____600kg = (5, WeaponsSu30.Kh_31P__AS_17_Krypton____600kg) + Kh_36__AS_23____600kg_Grom_E1 = (5, WeaponsSu30.Kh_36__AS_23____600kg_Grom_E1) + KH_38MTE__AS_23__IR_Guided = (5, WeaponsSu30.KH_38MTE__AS_23__IR_Guided) + KH_38MLE__AS_23___Semi_Act_Laser = ( + 5, + WeaponsSu30.KH_38MLE__AS_23___Semi_Act_Laser, + ) + Kh_38MAE__AS_23____500kg = (5, WeaponsSu30.Kh_38MAE__AS_23____500kg) + Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__ = ( + 5, + Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__, ) KH_29L__AS_14_Kedge___Semi_Act_Laser = ( 5, WeaponsSu30.KH_29L__AS_14_Kedge___Semi_Act_Laser, ) - Kh_31A = (5, WeaponsSu30.Kh_31A) - Kh_31P_AA = (5, WeaponsSu30.Kh_31P_AA) - Rudra_M1 = (5, WeaponsSu30.Rudra_M1) + KH_29TE__AS_14_Kedge___TV_Guided = ( + 5, + WeaponsSu30.KH_29TE__AS_14_Kedge___TV_Guided, + ) + Kh_31A__AS_17_Krypton____610kg = (5, WeaponsSu30.Kh_31A__AS_17_Krypton____610kg) + Kh_31AD__AS_17_Krypton____610kg = ( + 5, + WeaponsSu30.Kh_31AD__AS_17_Krypton____610kg, + ) + Kh_31PD__AS_17_Krypton____600kg = ( + 5, + WeaponsSu30.Kh_31PD__AS_17_Krypton____600kg, + ) KAB_500Kr___500kg_TV_Guided_Bomb = (5, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb) - KAB_500S___500kg = (5, WeaponsSu30.KAB_500S___500kg) + KAB_500S___500kg__GPS_Guided = (5, WeaponsSu30.KAB_500S___500kg__GPS_Guided) KAB_500LG___500kg_Laser_Guided_Bomb = ( 5, Weapons.KAB_500LG___500kg_Laser_Guided_Bomb, @@ -678,13 +956,22 @@ class Su_30MKI(PlaneType): 5, Weapons.RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP, ) + FAB_500_M54___474kg__freefall = (5, WeaponsSu30.FAB_500_M54___474kg__freefall) + FAB_500_M62___474kg__freefall = (5, WeaponsSu30.FAB_500_M62___474kg__freefall) + FAB_500M62_UMPK__500kg_Glide_Bomb = ( + 5, + WeaponsSu30.FAB_500M62_UMPK__500kg_Glide_Bomb, + ) + FAB_250_M62___227kg__freefall = (5, WeaponsSu30.FAB_250_M62___227kg__freefall) + FAB_500M62_NV__500kg_Parachute = (5, WeaponsSu30.FAB_500M62_NV__500kg_Parachute) RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP = ( 5, Weapons.RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP, ) - FAB_500_M54___474kg = (5, WeaponsSu30.FAB_500_M54___474kg) - FAB_500_M62___474kg = (5, WeaponsSu30.FAB_500_M62___474kg) - FAB_250_M62___227kg = (5, WeaponsSu30.FAB_250_M62___227kg) + MBD3_U6_68_with_6_x_FAB_250___250kg_GP_Bombs_LD = ( + 5, + Weapons.MBD3_U6_68_with_6_x_FAB_250___250kg_GP_Bombs_LD, + ) MBD3_U6_68_with_6_x_FAB_250___250kg = ( 5, WeaponsSu30.MBD3_U6_68_with_6_x_FAB_250___250kg, @@ -694,42 +981,51 @@ class Su_30MKI(PlaneType): WeaponsSu30.MBD3_U6_68_with_6_x_FAB_100___100kg, ) APK_9_POD = (5, WeaponsSu30.APK_9_POD) + L_081_Fantasmagoria_ELINT_pod = (5, Weapons.L_081_Fantasmagoria_ELINT_pod) + + # ERRR class Pylon6: R_27R1__AA_10_Alamo_A____Semi_Act_Rdr = ( 6, WeaponsSu30.R_27R1__AA_10_Alamo_A____Semi_Act_Rdr, ) + R_27EA__AA_10_Alamo____Active_Rdr_Extended_Range = ( + 6, + WeaponsSu30.R_27EA__AA_10_Alamo____Active_Rdr_Extended_Range, + ) R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range = ( 6, WeaponsSu30.R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range, ) - RVV_AE__AA_12_Adder____Active_Rdr = ( + R_77__AA_12_Adder_Early____Active_Rdr = ( 6, - WeaponsSu30.RVV_AE__AA_12_Adder____Active_Rdr, + WeaponsSu30.R_77__AA_12_Adder_Early____Active_Rdr, ) - RVV_SD__AA_12_Adder_B____Active_Rdr = ( + R_77_1__AA_12_Adder_B____Active_Rdr = ( 6, - WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, + WeaponsSu30.R_77_1__AA_12_Adder_B____Active_Rdr, + ) + R_77M__AA_12_Adder_C____Active_Rdr = ( + 6, + WeaponsSu30.R_77M__AA_12_Adder_C____Active_Rdr, + ) + R_77PD__AA_12_Adder____Active_Rdr_Ramjet = ( + 6, + WeaponsSu30.R_77PD__AA_12_Adder____Active_Rdr_Ramjet, + ) + R_37M__AA_13_Axehead____Active_Rdr = ( + 6, + WeaponsSu30.R_37M__AA_13_Axehead____Active_Rdr, ) - I_Derby_ER___Active_Rdr_AAM = (6, WeaponsSu30.I_Derby_ER___Active_Rdr_AAM) - BRAHMOS_A_Ship = (6, WeaponsSu30.BRAHMOS_A_Ship) KAB_500Kr___500kg_TV_Guided_Bomb = (6, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb) - KAB_500S___500kg = (6, WeaponsSu30.KAB_500S___500kg) + KAB_500S___500kg__GPS_Guided = (6, WeaponsSu30.KAB_500S___500kg__GPS_Guided) KAB_1500Kr___1500kg = (6, WeaponsSu30.KAB_1500Kr___1500kg) KAB_1500LG_PR___1500kg = (6, WeaponsSu30.KAB_1500LG_PR___1500kg) KAB_1500L___1500kg_Laser_Guided_Bomb = ( 6, Weapons.KAB_1500L___1500kg_Laser_Guided_Bomb, ) - KAB_500LG___500kg_Laser_Guided_Bomb = ( - 6, - Weapons.KAB_500LG___500kg_Laser_Guided_Bomb, - ) - SAB_100MN___100_kg_Illumination_Bomb = ( - 6, - Weapons.SAB_100MN___100_kg_Illumination_Bomb, - ) KMGU_2___96_x_PTAB_2_5KO_Dispenser__CBU__HEAT_AP = ( 6, Weapons.KMGU_2___96_x_PTAB_2_5KO_Dispenser__CBU__HEAT_AP, @@ -738,6 +1034,14 @@ class Su_30MKI(PlaneType): 6, Weapons.KMGU_2___96_x_AO_2_5RT_Dispenser__CBU__HE_Frag, ) + KAB_500LG___500kg_Laser_Guided_Bomb = ( + 6, + Weapons.KAB_500LG___500kg_Laser_Guided_Bomb, + ) + SAB_100MN___100_kg_Illumination_Bomb = ( + 6, + Weapons.SAB_100MN___100_kg_Illumination_Bomb, + ) P_50T___50kg_Practice_Bomb_LD = (6, Weapons.P_50T___50kg_Practice_Bomb_LD) BetAB_500___500kg_Concrete_Piercing_Bomb_LD = ( 6, @@ -751,13 +1055,26 @@ class Su_30MKI(PlaneType): 6, Weapons.RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP, ) + FAB_500_M54___474kg__freefall = (6, WeaponsSu30.FAB_500_M54___474kg__freefall) + FAB_500_M62___474kg__freefall = (6, WeaponsSu30.FAB_500_M62___474kg__freefall) + FAB_500M62_UMPK__500kg_Glide_Bomb = ( + 6, + WeaponsSu30.FAB_500M62_UMPK__500kg_Glide_Bomb, + ) + FAB_250_M62___227kg__freefall = (6, WeaponsSu30.FAB_250_M62___227kg__freefall) + FAB_500M62_NV__500kg_Parachute = (6, WeaponsSu30.FAB_500M62_NV__500kg_Parachute) + RN_244___260kg__Tactic_Nuclear_bomb = ( + 6, + WeaponsSu30.RN_244___260kg__Tactic_Nuclear_bomb, + ) RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP = ( 6, Weapons.RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP, ) - FAB_500_M54___474kg = (6, WeaponsSu30.FAB_500_M54___474kg) - FAB_500_M62___474kg = (6, WeaponsSu30.FAB_500_M62___474kg) - FAB_250_M62___227kg = (6, WeaponsSu30.FAB_250_M62___227kg) + MBD3_U6_68_with_6_x_FAB_250___250kg_GP_Bombs_LD = ( + 6, + Weapons.MBD3_U6_68_with_6_x_FAB_250___250kg_GP_Bombs_LD, + ) MBD3_U6_68_with_6_x_FAB_250___250kg = ( 6, WeaponsSu30.MBD3_U6_68_with_6_x_FAB_250___250kg, @@ -774,36 +1091,44 @@ class Su_30MKI(PlaneType): 6, Weapons.RBK_500___268_x_PTAB_1M__500kg_CBU_Light_HEAT_AP, ) - EL_M_2060 = (6, WeaponsSu30.EL_M_2060) + + # ERRR class Pylon7: R_27R1__AA_10_Alamo_A____Semi_Act_Rdr = ( 7, WeaponsSu30.R_27R1__AA_10_Alamo_A____Semi_Act_Rdr, ) + R_27EA__AA_10_Alamo____Active_Rdr_Extended_Range = ( + 7, + WeaponsSu30.R_27EA__AA_10_Alamo____Active_Rdr_Extended_Range, + ) R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range = ( 7, WeaponsSu30.R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range, ) - RVV_AE__AA_12_Adder____Active_Rdr = ( + R_77__AA_12_Adder_Early____Active_Rdr = ( 7, - WeaponsSu30.RVV_AE__AA_12_Adder____Active_Rdr, + WeaponsSu30.R_77__AA_12_Adder_Early____Active_Rdr, ) - RVV_SD__AA_12_Adder_B____Active_Rdr = ( + R_77_1__AA_12_Adder_B____Active_Rdr = ( 7, - WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, + WeaponsSu30.R_77_1__AA_12_Adder_B____Active_Rdr, + ) + R_77M__AA_12_Adder_C____Active_Rdr = ( + 7, + WeaponsSu30.R_77M__AA_12_Adder_C____Active_Rdr, + ) + R_77PD__AA_12_Adder____Active_Rdr_Ramjet = ( + 7, + WeaponsSu30.R_77PD__AA_12_Adder____Active_Rdr_Ramjet, + ) + R_37M__AA_13_Axehead____Active_Rdr = ( + 7, + WeaponsSu30.R_37M__AA_13_Axehead____Active_Rdr, ) - I_Derby_ER___Active_Rdr_AAM = (7, WeaponsSu30.I_Derby_ER___Active_Rdr_AAM) KAB_500Kr___500kg_TV_Guided_Bomb = (7, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb) - KAB_500S___500kg = (7, WeaponsSu30.KAB_500S___500kg) - KAB_500LG___500kg_Laser_Guided_Bomb = ( - 7, - Weapons.KAB_500LG___500kg_Laser_Guided_Bomb, - ) - SAB_100MN___100_kg_Illumination_Bomb = ( - 7, - Weapons.SAB_100MN___100_kg_Illumination_Bomb, - ) + KAB_500S___500kg__GPS_Guided = (7, WeaponsSu30.KAB_500S___500kg__GPS_Guided) KMGU_2___96_x_PTAB_2_5KO_Dispenser__CBU__HEAT_AP = ( 7, Weapons.KMGU_2___96_x_PTAB_2_5KO_Dispenser__CBU__HEAT_AP, @@ -825,13 +1150,30 @@ class Su_30MKI(PlaneType): 7, Weapons.RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP, ) + FAB_500_M54___474kg__freefall = (7, WeaponsSu30.FAB_500_M54___474kg__freefall) + FAB_500_M62___474kg__freefall = (7, WeaponsSu30.FAB_500_M62___474kg__freefall) + FAB_500M62_UMPK__500kg_Glide_Bomb = ( + 7, + WeaponsSu30.FAB_500M62_UMPK__500kg_Glide_Bomb, + ) + FAB_250_M62___227kg__freefall = (7, WeaponsSu30.FAB_250_M62___227kg__freefall) + FAB_500M62_NV__500kg_Parachute = (7, WeaponsSu30.FAB_500M62_NV__500kg_Parachute) RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP = ( 7, Weapons.RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP, ) - FAB_500_M54___474kg = (7, WeaponsSu30.FAB_500_M54___474kg) - FAB_500_M62___474kg = (7, WeaponsSu30.FAB_500_M62___474kg) - FAB_250_M62___227kg = (7, WeaponsSu30.FAB_250_M62___227kg) + KAB_500LG___500kg_Laser_Guided_Bomb = ( + 7, + Weapons.KAB_500LG___500kg_Laser_Guided_Bomb, + ) + SAB_100MN___100_kg_Illumination_Bomb = ( + 7, + Weapons.SAB_100MN___100_kg_Illumination_Bomb, + ) + MBD3_U6_68_with_6_x_FAB_250___250kg_GP_Bombs_LD = ( + 7, + Weapons.MBD3_U6_68_with_6_x_FAB_250___250kg_GP_Bombs_LD, + ) MBD3_U6_68_with_6_x_FAB_250___250kg = ( 7, WeaponsSu30.MBD3_U6_68_with_6_x_FAB_250___250kg, @@ -846,6 +1188,7 @@ class Su_30MKI(PlaneType): Smoke_Generator___white = (7, Weapons.Smoke_Generator___white) Smoke_Generator___yellow = (7, Weapons.Smoke_Generator___yellow) Smoke_Generator___orange = (7, Weapons.Smoke_Generator___orange) + Smoke_Generator___Black = (7, WeaponsSu30.Smoke_Generator___Black) RBK_500U___126_x_OAB_2_5RT__500kg_CBU_HE_Frag = ( 7, Weapons.RBK_500U___126_x_OAB_2_5RT__500kg_CBU_HE_Frag, @@ -855,41 +1198,72 @@ class Su_30MKI(PlaneType): Weapons.RBK_500___268_x_PTAB_1M__500kg_CBU_Light_HEAT_AP, ) + # ERRR + class Pylon8: R_27R1__AA_10_Alamo_A____Semi_Act_Rdr = ( 8, WeaponsSu30.R_27R1__AA_10_Alamo_A____Semi_Act_Rdr, ) + R_27EA__AA_10_Alamo____Active_Rdr_Extended_Range = ( + 8, + WeaponsSu30.R_27EA__AA_10_Alamo____Active_Rdr_Extended_Range, + ) R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range = ( 8, WeaponsSu30.R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range, ) - RVV_AE__AA_12_Adder____Active_Rdr = ( + R_77__AA_12_Adder_Early____Active_Rdr = ( 8, - WeaponsSu30.RVV_AE__AA_12_Adder____Active_Rdr, + WeaponsSu30.R_77__AA_12_Adder_Early____Active_Rdr, ) - RVV_SD__AA_12_Adder_B____Active_Rdr = ( + R_77_1__AA_12_Adder_B____Active_Rdr = ( 8, - WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, + WeaponsSu30.R_77_1__AA_12_Adder_B____Active_Rdr, + ) + R_77M__AA_12_Adder_C____Active_Rdr = ( + 8, + WeaponsSu30.R_77M__AA_12_Adder_C____Active_Rdr, + ) + R_77PD__AA_12_Adder____Active_Rdr_Ramjet = ( + 8, + WeaponsSu30.R_77PD__AA_12_Adder____Active_Rdr_Ramjet, + ) + R_37M__AA_13_Axehead____Active_Rdr = ( + 8, + WeaponsSu30.R_37M__AA_13_Axehead____Active_Rdr, + ) + Kh_31P__AS_17_Krypton____600kg = (8, WeaponsSu30.Kh_31P__AS_17_Krypton____600kg) + Kh_36__AS_23____600kg_Grom_E1 = (8, WeaponsSu30.Kh_36__AS_23____600kg_Grom_E1) + KH_38MTE__AS_23__IR_Guided = (8, WeaponsSu30.KH_38MTE__AS_23__IR_Guided) + KH_38MLE__AS_23___Semi_Act_Laser = ( + 8, + WeaponsSu30.KH_38MLE__AS_23___Semi_Act_Laser, + ) + Kh_38MAE__AS_23____500kg = (8, WeaponsSu30.Kh_38MAE__AS_23____500kg) + Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__ = ( + 8, + Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__, ) - I_Derby_ER___Active_Rdr_AAM = (8, WeaponsSu30.I_Derby_ER___Active_Rdr_AAM) KH_29L__AS_14_Kedge___Semi_Act_Laser = ( 8, WeaponsSu30.KH_29L__AS_14_Kedge___Semi_Act_Laser, ) - Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided_ = ( - 8, - Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided_, - ) KH_29TE__AS_14_Kedge___TV_Guided = ( 8, WeaponsSu30.KH_29TE__AS_14_Kedge___TV_Guided, ) - Kh_31A = (8, WeaponsSu30.Kh_31A) - Kh_31P_AA = (8, WeaponsSu30.Kh_31P_AA) - Rudra_M1 = (8, WeaponsSu30.Rudra_M1) + Kh_31A__AS_17_Krypton____610kg = (8, WeaponsSu30.Kh_31A__AS_17_Krypton____610kg) + Kh_31AD__AS_17_Krypton____610kg = ( + 8, + WeaponsSu30.Kh_31AD__AS_17_Krypton____610kg, + ) + Kh_31PD__AS_17_Krypton____600kg = ( + 8, + WeaponsSu30.Kh_31PD__AS_17_Krypton____600kg, + ) KAB_500Kr___500kg_TV_Guided_Bomb = (8, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb) - KAB_500S___500kg = (8, WeaponsSu30.KAB_500S___500kg) + KAB_500S___500kg__GPS_Guided = (8, WeaponsSu30.KAB_500S___500kg__GPS_Guided) KAB_500LG___500kg_Laser_Guided_Bomb = ( 8, Weapons.KAB_500LG___500kg_Laser_Guided_Bomb, @@ -911,13 +1285,22 @@ class Su_30MKI(PlaneType): 8, Weapons.RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP, ) + FAB_500_M54___474kg__freefall = (8, WeaponsSu30.FAB_500_M54___474kg__freefall) + FAB_500_M62___474kg__freefall = (8, WeaponsSu30.FAB_500_M62___474kg__freefall) + FAB_500M62_UMPK__500kg_Glide_Bomb = ( + 8, + WeaponsSu30.FAB_500M62_UMPK__500kg_Glide_Bomb, + ) + FAB_250_M62___227kg__freefall = (8, WeaponsSu30.FAB_250_M62___227kg__freefall) + FAB_500M62_NV__500kg_Parachute = (8, WeaponsSu30.FAB_500M62_NV__500kg_Parachute) RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP = ( 8, Weapons.RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP, ) - FAB_500_M54___474kg = (8, WeaponsSu30.FAB_500_M54___474kg) - FAB_500_M62___474kg = (8, WeaponsSu30.FAB_500_M62___474kg) - FAB_250_M62___227kg = (8, WeaponsSu30.FAB_250_M62___227kg) + MBD3_U6_68_with_6_x_FAB_250___250kg_GP_Bombs_LD = ( + 8, + Weapons.MBD3_U6_68_with_6_x_FAB_250___250kg_GP_Bombs_LD, + ) MBD3_U6_68_with_6_x_FAB_250___250kg = ( 8, WeaponsSu30.MBD3_U6_68_with_6_x_FAB_250___250kg, @@ -926,44 +1309,84 @@ class Su_30MKI(PlaneType): 8, WeaponsSu30.MBD3_U6_68_with_6_x_FAB_100___100kg, ) - DAMOCLES___Targeting_Pod = (8, WeaponsSu30.DAMOCLES___Targeting_Pod) - LITENING___Targeting_Pod = (8, WeaponsSu30.LITENING___Targeting_Pod) + + # ERRR class Pylon9: R_27R1__AA_10_Alamo_A____Semi_Act_Rdr = ( 9, WeaponsSu30.R_27R1__AA_10_Alamo_A____Semi_Act_Rdr, ) + R_27EA__AA_10_Alamo____Active_Rdr_Extended_Range = ( + 9, + WeaponsSu30.R_27EA__AA_10_Alamo____Active_Rdr_Extended_Range, + ) R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range = ( 9, WeaponsSu30.R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range, ) - RVV_AE__AA_12_Adder____Active_Rdr = ( + R_77__AA_12_Adder_Early____Active_Rdr = ( 9, - WeaponsSu30.RVV_AE__AA_12_Adder____Active_Rdr, + WeaponsSu30.R_77__AA_12_Adder_Early____Active_Rdr, ) - RVV_SD__AA_12_Adder_B____Active_Rdr = ( + R_77_1__AA_12_Adder_B____Active_Rdr = ( 9, - WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, + WeaponsSu30.R_77_1__AA_12_Adder_B____Active_Rdr, + ) + R_77M__AA_12_Adder_C____Active_Rdr = ( + 9, + WeaponsSu30.R_77M__AA_12_Adder_C____Active_Rdr, + ) + R_77PD__AA_12_Adder____Active_Rdr_Ramjet = ( + 9, + WeaponsSu30.R_77PD__AA_12_Adder____Active_Rdr_Ramjet, + ) + R_37M__AA_13_Axehead____Active_Rdr = ( + 9, + WeaponsSu30.R_37M__AA_13_Axehead____Active_Rdr, + ) + Kh_31P__AS_17_Krypton____600kg = (9, WeaponsSu30.Kh_31P__AS_17_Krypton____600kg) + Kh_36__AS_23____600kg_Grom_E1 = (9, WeaponsSu30.Kh_36__AS_23____600kg_Grom_E1) + KH_38MTE__AS_23__IR_Guided = (9, WeaponsSu30.KH_38MTE__AS_23__IR_Guided) + KH_38MLE__AS_23___Semi_Act_Laser = ( + 9, + WeaponsSu30.KH_38MLE__AS_23___Semi_Act_Laser, + ) + Kh_38MAE__AS_23____500kg = (9, WeaponsSu30.Kh_38MAE__AS_23____500kg) + Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__ = ( + 9, + Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__, ) - I_Derby_ER___Active_Rdr_AAM = (9, WeaponsSu30.I_Derby_ER___Active_Rdr_AAM) KH_29L__AS_14_Kedge___Semi_Act_Laser = ( 9, WeaponsSu30.KH_29L__AS_14_Kedge___Semi_Act_Laser, ) - Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided_ = ( - 9, - Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided_, - ) KH_29TE__AS_14_Kedge___TV_Guided = ( 9, WeaponsSu30.KH_29TE__AS_14_Kedge___TV_Guided, ) - Kh_59M = (9, WeaponsSu30.Kh_59M) - Kh_59MK = (9, WeaponsSu30.Kh_59MK) - Kh_31A = (9, WeaponsSu30.Kh_31A) - Kh_31P_AA = (9, WeaponsSu30.Kh_31P_AA) - KH_35A = (9, WeaponsSu30.KH_35A) + Kh_59M__AS_18_Kazoo___930kg = (9, WeaponsSu30.Kh_59M__AS_18_Kazoo___930kg) + Kh_59MK__AS_18_Kazoo____930kg = (9, WeaponsSu30.Kh_59MK__AS_18_Kazoo____930kg) + Kh_31A__AS_17_Krypton____610kg = (9, WeaponsSu30.Kh_31A__AS_17_Krypton____610kg) + Kh_35__AS_20_Kayak____520kg = (9, WeaponsSu30.Kh_35__AS_20_Kayak____520kg) + Kh_35UE__AS_20_Kayak____520kg = (9, WeaponsSu30.Kh_35UE__AS_20_Kayak____520kg) + Kh_31AD__AS_17_Krypton____610kg = ( + 9, + WeaponsSu30.Kh_31AD__AS_17_Krypton____610kg, + ) + Kh_31PD__AS_17_Krypton____600kg = ( + 9, + WeaponsSu30.Kh_31PD__AS_17_Krypton____600kg, + ) + Kh_59MK2__AS_22_Kazoo____700kg = (9, WeaponsSu30.Kh_59MK2__AS_22_Kazoo____700kg) + KAB_500Kr___500kg_TV_Guided_Bomb = (9, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb) + KAB_500S___500kg__GPS_Guided = (9, WeaponsSu30.KAB_500S___500kg__GPS_Guided) + KAB_1500Kr___1500kg = (9, WeaponsSu30.KAB_1500Kr___1500kg) + KAB_1500LG_PR___1500kg = (9, WeaponsSu30.KAB_1500LG_PR___1500kg) + KAB_1500L___1500kg_Laser_Guided_Bomb = ( + 9, + Weapons.KAB_1500L___1500kg_Laser_Guided_Bomb, + ) KAB_500LG___500kg_Laser_Guided_Bomb = ( 9, Weapons.KAB_500LG___500kg_Laser_Guided_Bomb, @@ -972,16 +1395,6 @@ class Su_30MKI(PlaneType): 9, Weapons.SAB_100MN___100_kg_Illumination_Bomb, ) - Rudra_M1 = (9, WeaponsSu30.Rudra_M1) - SAAW_POD = (9, WeaponsSu30.SAAW_POD) - KAB_500Kr___500kg_TV_Guided_Bomb = (9, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb) - KAB_500S___500kg = (9, WeaponsSu30.KAB_500S___500kg) - KAB_1500Kr___1500kg = (9, WeaponsSu30.KAB_1500Kr___1500kg) - KAB_1500LG_PR___1500kg = (9, WeaponsSu30.KAB_1500LG_PR___1500kg) - KAB_1500L___1500kg_Laser_Guided_Bomb = ( - 9, - Weapons.KAB_1500L___1500kg_Laser_Guided_Bomb, - ) KMGU_2___96_x_PTAB_2_5KO_Dispenser__CBU__HEAT_AP = ( 9, Weapons.KMGU_2___96_x_PTAB_2_5KO_Dispenser__CBU__HEAT_AP, @@ -1003,22 +1416,38 @@ class Su_30MKI(PlaneType): 9, Weapons.RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP, ) + FAB_500_M54___474kg__freefall = (9, WeaponsSu30.FAB_500_M54___474kg__freefall) + FAB_500_M62___474kg__freefall = (9, WeaponsSu30.FAB_500_M62___474kg__freefall) + FAB_500M62_UMPK__500kg_Glide_Bomb = ( + 9, + WeaponsSu30.FAB_500M62_UMPK__500kg_Glide_Bomb, + ) + # ERRR {DIS_UMPK_FAB_5002} + FAB_250_M62___227kg__freefall = (9, WeaponsSu30.FAB_250_M62___227kg__freefall) + FAB_500M62_NV__500kg_Parachute = (9, WeaponsSu30.FAB_500M62_NV__500kg_Parachute) RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP = ( 9, Weapons.RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP, ) - FAB_500_M54___474kg = (9, WeaponsSu30.FAB_500_M54___474kg) - FAB_500_M62___474kg = (9, WeaponsSu30.FAB_500_M62___474kg) - FAB_250_M62___227kg = (9, WeaponsSu30.FAB_250_M62___227kg) + MBD3_U6_68_with_6_x_FAB_250___250kg_GP_Bombs_LD = ( + 9, + Weapons.MBD3_U6_68_with_6_x_FAB_250___250kg_GP_Bombs_LD, + ) MBD3_U6_68_with_6_x_FAB_250___250kg = ( 9, WeaponsSu30.MBD3_U6_68_with_6_x_FAB_250___250kg, ) + MBD3_U6_68_with_6_x_FAB_100___100kg_GP_Bombs_LD = ( + 9, + Weapons.MBD3_U6_68_with_6_x_FAB_100___100kg_GP_Bombs_LD, + ) MBD3_U6_68_with_6_x_FAB_100___100kg = ( 9, WeaponsSu30.MBD3_U6_68_with_6_x_FAB_100___100kg, ) + # ERRR + class Pylon10: R_73__AA_11_Archer____Infra_Red = (10, Weapons.R_73__AA_11_Archer____Infra_Red) R_73L__AA_11_Archer_L____Infra_Red = ( @@ -1041,6 +1470,10 @@ class Su_30MKI(PlaneType): 10, WeaponsSu30.R_27T1__AA_10_Alamo_B____Infra_Red, ) + R_27EA__AA_10_Alamo____Active_Rdr_Extended_Range = ( + 10, + WeaponsSu30.R_27EA__AA_10_Alamo____Active_Rdr_Extended_Range, + ) R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range = ( 10, WeaponsSu30.R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range, @@ -1049,40 +1482,83 @@ class Su_30MKI(PlaneType): 10, WeaponsSu30.R_27ET1__AA_10_Alamo_D____IR_Extended_Range, ) - ASTRA_Mk_1___Active_Rdr_AAM = (10, WeaponsSu30.ASTRA_Mk_1___Active_Rdr_AAM) - I_Derby_ER___Active_Rdr_AAM = (10, WeaponsSu30.I_Derby_ER___Active_Rdr_AAM) - RVV_AE__AA_12_Adder____Active_Rdr = ( + R_27EP1__AA_10_Alamo_F____Passive_Rdr_Extended_Range = ( 10, - WeaponsSu30.RVV_AE__AA_12_Adder____Active_Rdr, + WeaponsSu30.R_27EP1__AA_10_Alamo_F____Passive_Rdr_Extended_Range, ) - RVV_SD__AA_12_Adder_B____Active_Rdr = ( + R_27P1__AA_10_Alamo_E____Passive_Rdr = ( 10, - WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, + WeaponsSu30.R_27P1__AA_10_Alamo_E____Passive_Rdr, + ) + R_77__AA_12_Adder_Early____Active_Rdr = ( + 10, + WeaponsSu30.R_77__AA_12_Adder_Early____Active_Rdr, + ) + R_77_1__AA_12_Adder_B____Active_Rdr = ( + 10, + WeaponsSu30.R_77_1__AA_12_Adder_B____Active_Rdr, + ) + R_77M__AA_12_Adder_C____Active_Rdr = ( + 10, + WeaponsSu30.R_77M__AA_12_Adder_C____Active_Rdr, + ) + R_77PD__AA_12_Adder____Active_Rdr_Ramjet = ( + 10, + WeaponsSu30.R_77PD__AA_12_Adder____Active_Rdr_Ramjet, + ) + R_37M__AA_13_Axehead____Active_Rdr = ( + 10, + WeaponsSu30.R_37M__AA_13_Axehead____Active_Rdr, + ) + Kh_31P__AS_17_Krypton____600kg = ( + 10, + WeaponsSu30.Kh_31P__AS_17_Krypton____600kg, + ) + Kh_36__AS_23____600kg_Grom_E1 = (10, WeaponsSu30.Kh_36__AS_23____600kg_Grom_E1) + KH_38MTE__AS_23__IR_Guided = (10, WeaponsSu30.KH_38MTE__AS_23__IR_Guided) + KH_38MLE__AS_23___Semi_Act_Laser = ( + 10, + WeaponsSu30.KH_38MLE__AS_23___Semi_Act_Laser, + ) + Kh_38MAE__AS_23____500kg = (10, WeaponsSu30.Kh_38MAE__AS_23____500kg) + Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__ = ( + 10, + Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__, ) KH_29L__AS_14_Kedge___Semi_Act_Laser = ( 10, WeaponsSu30.KH_29L__AS_14_Kedge___Semi_Act_Laser, ) - Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided_ = ( - 10, - Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided_, - ) KH_29TE__AS_14_Kedge___TV_Guided = ( 10, WeaponsSu30.KH_29TE__AS_14_Kedge___TV_Guided, ) - Kh_59M = (10, WeaponsSu30.Kh_59M) - Kh_59MK = (10, WeaponsSu30.Kh_59MK) - Kh_31A = (10, WeaponsSu30.Kh_31A) - Kh_31P_AA = (10, WeaponsSu30.Kh_31P_AA) - KH_35A = (10, WeaponsSu30.KH_35A) - Rudra_M1 = (10, WeaponsSu30.Rudra_M1) - SAAW_POD = (10, WeaponsSu30.SAAW_POD) + # ERRR {JAS39_AGM_65H} + Kh_59M__AS_18_Kazoo___930kg = (10, WeaponsSu30.Kh_59M__AS_18_Kazoo___930kg) + Kh_59MK__AS_18_Kazoo____930kg = (10, WeaponsSu30.Kh_59MK__AS_18_Kazoo____930kg) + Kh_31A__AS_17_Krypton____610kg = ( + 10, + WeaponsSu30.Kh_31A__AS_17_Krypton____610kg, + ) + Kh_35__AS_20_Kayak____520kg = (10, WeaponsSu30.Kh_35__AS_20_Kayak____520kg) + Kh_35UE__AS_20_Kayak____520kg = (10, WeaponsSu30.Kh_35UE__AS_20_Kayak____520kg) + Kh_31AD__AS_17_Krypton____610kg = ( + 10, + WeaponsSu30.Kh_31AD__AS_17_Krypton____610kg, + ) + Kh_31PD__AS_17_Krypton____600kg = ( + 10, + WeaponsSu30.Kh_31PD__AS_17_Krypton____600kg, + ) + Kh_59MK2__AS_22_Kazoo____700kg = ( + 10, + WeaponsSu30.Kh_59MK2__AS_22_Kazoo____700kg, + ) KAB_500Kr___500kg_TV_Guided_Bomb = ( 10, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb, ) - KAB_500S___500kg = (10, WeaponsSu30.KAB_500S___500kg) + KAB_500S___500kg__GPS_Guided = (10, WeaponsSu30.KAB_500S___500kg__GPS_Guided) KAB_500LG___500kg_Laser_Guided_Bomb = ( 10, Weapons.KAB_500LG___500kg_Laser_Guided_Bomb, @@ -1112,17 +1588,33 @@ class Su_30MKI(PlaneType): 10, Weapons.RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP, ) + FAB_500_M54___474kg__freefall = (10, WeaponsSu30.FAB_500_M54___474kg__freefall) + FAB_500_M62___474kg__freefall = (10, WeaponsSu30.FAB_500_M62___474kg__freefall) + FAB_500M62_UMPK__500kg_Glide_Bomb = ( + 10, + WeaponsSu30.FAB_500M62_UMPK__500kg_Glide_Bomb, + ) + FAB_250_M62___227kg__freefall = (10, WeaponsSu30.FAB_250_M62___227kg__freefall) + FAB_500M62_NV__500kg_Parachute = ( + 10, + WeaponsSu30.FAB_500M62_NV__500kg_Parachute, + ) RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP = ( 10, Weapons.RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP, ) - FAB_500_M54___474kg = (10, WeaponsSu30.FAB_500_M54___474kg) - FAB_500_M62___474kg = (10, WeaponsSu30.FAB_500_M62___474kg) - FAB_250_M62___227kg = (10, WeaponsSu30.FAB_250_M62___227kg) + MBD3_U6_68_with_6_x_FAB_250___250kg_GP_Bombs_LD = ( + 10, + Weapons.MBD3_U6_68_with_6_x_FAB_250___250kg_GP_Bombs_LD, + ) MBD3_U6_68_with_6_x_FAB_250___250kg = ( 10, WeaponsSu30.MBD3_U6_68_with_6_x_FAB_250___250kg, ) + MBD3_U6_68_with_6_x_FAB_100___100kg_GP_Bombs_LD = ( + 10, + Weapons.MBD3_U6_68_with_6_x_FAB_100___100kg_GP_Bombs_LD, + ) MBD3_U6_68_with_6_x_FAB_100___100kg = ( 10, WeaponsSu30.MBD3_U6_68_with_6_x_FAB_100___100kg, @@ -1145,6 +1637,8 @@ class Su_30MKI(PlaneType): ) _2_x_S_25 = (10, Weapons._2_x_S_25) + # ERRR + class Pylon11: R_73__AA_11_Archer____Infra_Red = (11, Weapons.R_73__AA_11_Archer____Infra_Red) R_73L__AA_11_Archer_L____Infra_Red = ( @@ -1159,15 +1653,17 @@ class Su_30MKI(PlaneType): 11, WeaponsSu30.RVV_MD2__AA_11_Archer_M2____Infra_Red, ) - ASTRA_Mk_1___Active_Rdr_AAM = (11, WeaponsSu30.ASTRA_Mk_1___Active_Rdr_AAM) - I_Derby_ER___Active_Rdr_AAM = (11, WeaponsSu30.I_Derby_ER___Active_Rdr_AAM) - RVV_AE__AA_12_Adder____Active_Rdr = ( + R_77__AA_12_Adder_Early____Active_Rdr = ( 11, - WeaponsSu30.RVV_AE__AA_12_Adder____Active_Rdr, + WeaponsSu30.R_77__AA_12_Adder_Early____Active_Rdr, ) - RVV_SD__AA_12_Adder_B____Active_Rdr = ( + R_77_1__AA_12_Adder_B____Active_Rdr = ( 11, - WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, + WeaponsSu30.R_77_1__AA_12_Adder_B____Active_Rdr, + ) + R_77M__AA_12_Adder_C____Active_Rdr = ( + 11, + WeaponsSu30.R_77M__AA_12_Adder_C____Active_Rdr, ) Smoke_Generator___red = (11, Weapons.Smoke_Generator___red) Smoke_Generator___green = (11, Weapons.Smoke_Generator___green) @@ -1175,6 +1671,9 @@ class Su_30MKI(PlaneType): Smoke_Generator___white = (11, Weapons.Smoke_Generator___white) Smoke_Generator___yellow = (11, Weapons.Smoke_Generator___yellow) Smoke_Generator___orange = (11, Weapons.Smoke_Generator___orange) + Smoke_Generator___Black = (11, WeaponsSu30.Smoke_Generator___Black) + + # ERRR class Pylon12: R_73__AA_11_Archer____Infra_Red = (12, Weapons.R_73__AA_11_Archer____Infra_Red) @@ -1198,6 +1697,7 @@ class Su_30MKI(PlaneType): Smoke_Generator___white = (12, Weapons.Smoke_Generator___white) Smoke_Generator___yellow = (12, Weapons.Smoke_Generator___yellow) Smoke_Generator___orange = (12, Weapons.Smoke_Generator___orange) + Smoke_Generator___Black = (12, WeaponsSu30.Smoke_Generator___Black) pylons: Set[int] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12} @@ -1233,7 +1733,6 @@ class Su_30MKA(PlaneType): flare_charge_size = 1 eplrs = True category = "Interceptor" # {78EFB7A2-FD52-4b57-A6A6-3BF0E1D6555F} - radio_frequency = 124 panel_radio = { 1: { @@ -1262,34 +1761,38 @@ class Su_30MKA(PlaneType): }, 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, + 1: 117, + 2: 135, + 4: 127, + 8: 128, + 16: 132, + 17: 138, + 9: 126, + 18: 122, + 5: 125, + 10: 133, + 20: 137, + 11: 130, + 3: 136, + 6: 121, + 12: 139, + 13: 140, + 7: 141, + 14: 131, + 19: 124, + 15: 134, }, }, } property_defaults: Dict[str, Any] = { "SoloFlight": False, - "NetCrewControlPriority": 1, - "MOUNTSURA": False, + "NetCrewControlPriority": 0, + "HumanOrchestra": False, + "HelmetMountedDevice": 1, + "ShowLadders": True, + "su30Chaff": 96, + "su30Flare": 96, } class Properties: @@ -1301,12 +1804,100 @@ class Su_30MKA(PlaneType): class Values: Pilot = 0 - Co_Pilot = 1 + WSO = 1 Ask_Always = -1 Equally_Responsible = -2 - class MOUNTSURA: - id = "MOUNTSURA" + class HumanOrchestra: + id = "HumanOrchestra" + + class HelmetMountedDevice: + id = "HelmetMountedDevice" + + class Values: + Not_installed = 0 + SURA_Visor = 1 + NVG = 2 + + class ShowLadders: + id = "ShowLadders" + + class su30Chaff: + id = "su30Chaff" + + class su30Flare: + id = "su30Flare" + + properties = { + "SoloFlight": UnitPropertyDescription( + identifier="SoloFlight", + control="checkbox", + label="Solo Flight", + player_only=True, + default=False, + weight_when_on=-80, + ), + "NetCrewControlPriority": UnitPropertyDescription( + identifier="NetCrewControlPriority", + control="comboList", + label="Aircraft Control Priority", + player_only=True, + default=0, + w_ctrl=150, + values={ + 0: "Pilot", + 1: "WSO", + -1: "Ask Always", + -2: "Equally Responsible", + }, + ), + "HumanOrchestra": UnitPropertyDescription( + identifier="HumanOrchestra", + control="checkbox", + label="Disable Multicrew", + player_only=True, + default=False, + ), + "HelmetMountedDevice": UnitPropertyDescription( + identifier="HelmetMountedDevice", + control="comboList", + label="Helmet Mounted Device", + player_only=True, + default=1, + w_ctrl=150, + values={ + 0: "Not installed", + 1: "SURA Visor", + 2: "NVG", + }, + ), + "ShowLadders": UnitPropertyDescription( + identifier="ShowLadders", + control="checkbox", + label="Show Ladders", + default=True, + ), + "su30Chaff": UnitPropertyDescription( + identifier="su30Chaff", + control="spinbox", + label="Chaff", + player_only=True, + minimum=0, + maximum=192, + default=96, + dimension=" ", + ), + "su30Flare": UnitPropertyDescription( + identifier="su30Flare", + control="spinbox", + label="Flare", + player_only=True, + minimum=0, + maximum=192, + default=96, + dimension=" ", + ), + } livery_name = "SU-30MKA" # from type @@ -1362,6 +1953,8 @@ class Su_30MKA(PlaneType): Smoke_Generator___yellow = (2, Weapons.Smoke_Generator___yellow) Smoke_Generator___orange = (2, Weapons.Smoke_Generator___orange) + # ERRR + class Pylon3: R_73__AA_11_Archer____Infra_Red = (3, Weapons.R_73__AA_11_Archer____Infra_Red) R_73L__AA_11_Archer_L____Infra_Red = ( @@ -1400,14 +1993,18 @@ class Su_30MKA(PlaneType): 3, WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, ) - Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided_ = ( + Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__ = ( 3, - Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided_, + Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__, ) - Kh_31P_AA = (3, WeaponsSu30.Kh_31P_AA) - Kh_36_Grom_1 = (3, WeaponsSu30.Kh_36_Grom_1) - KH_38MTE = (3, WeaponsSu30.KH_38MTE) - KH_38MLE = (3, WeaponsSu30.KH_38MLE) + Kh_31P__AS_17_Krypton____600kg = (3, WeaponsSu30.Kh_31P__AS_17_Krypton____600kg) + Kh_36__AS_23____600kg_Grom_E1 = (3, WeaponsSu30.Kh_36__AS_23____600kg_Grom_E1) + KH_38MTE__AS_23__IR_Guided = (3, WeaponsSu30.KH_38MTE__AS_23__IR_Guided) + KH_38MLE__AS_23___Semi_Act_Laser = ( + 3, + WeaponsSu30.KH_38MLE__AS_23___Semi_Act_Laser, + ) + Kh_38MAE__AS_23____500kg = (3, WeaponsSu30.Kh_38MAE__AS_23____500kg) KH_29L__AS_14_Kedge___Semi_Act_Laser = ( 3, WeaponsSu30.KH_29L__AS_14_Kedge___Semi_Act_Laser, @@ -1416,15 +2013,21 @@ class Su_30MKA(PlaneType): 3, WeaponsSu30.KH_29TE__AS_14_Kedge___TV_Guided, ) - Kh_59M = (3, WeaponsSu30.Kh_59M) - Kh_59MK = (3, WeaponsSu30.Kh_59MK) - Kh_31A = (3, WeaponsSu30.Kh_31A) - KH_35A = (3, WeaponsSu30.KH_35A) - KH_35UE = (3, WeaponsSu30.KH_35UE) - KH_31AD = (3, WeaponsSu30.KH_31AD) - KH_31PD__AA_ = (3, WeaponsSu30.KH_31PD__AA_) + Kh_59M__AS_18_Kazoo___930kg = (3, WeaponsSu30.Kh_59M__AS_18_Kazoo___930kg) + Kh_59MK__AS_18_Kazoo____930kg = (3, WeaponsSu30.Kh_59MK__AS_18_Kazoo____930kg) + Kh_31A__AS_17_Krypton____610kg = (3, WeaponsSu30.Kh_31A__AS_17_Krypton____610kg) + Kh_35__AS_20_Kayak____520kg = (3, WeaponsSu30.Kh_35__AS_20_Kayak____520kg) + Kh_35UE__AS_20_Kayak____520kg = (3, WeaponsSu30.Kh_35UE__AS_20_Kayak____520kg) + Kh_31AD__AS_17_Krypton____610kg = ( + 3, + WeaponsSu30.Kh_31AD__AS_17_Krypton____610kg, + ) + Kh_31PD__AS_17_Krypton____600kg = ( + 3, + WeaponsSu30.Kh_31PD__AS_17_Krypton____600kg, + ) KAB_500Kr___500kg_TV_Guided_Bomb = (3, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb) - KAB_500S___500kg = (3, WeaponsSu30.KAB_500S___500kg) + KAB_500S___500kg__GPS_Guided = (3, WeaponsSu30.KAB_500S___500kg__GPS_Guided) KAB_500LG___500kg_Laser_Guided_Bomb = ( 3, Weapons.KAB_500LG___500kg_Laser_Guided_Bomb, @@ -1458,9 +2061,9 @@ class Su_30MKA(PlaneType): 3, Weapons.RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP, ) - FAB_500_M54___474kg = (3, WeaponsSu30.FAB_500_M54___474kg) - FAB_500_M62___474kg = (3, WeaponsSu30.FAB_500_M62___474kg) - FAB_250_M62___227kg = (3, WeaponsSu30.FAB_250_M62___227kg) + FAB_500_M54___474kg__freefall = (3, WeaponsSu30.FAB_500_M54___474kg__freefall) + FAB_500_M62___474kg__freefall = (3, WeaponsSu30.FAB_500_M62___474kg__freefall) + FAB_250_M62___227kg__freefall = (3, WeaponsSu30.FAB_250_M62___227kg__freefall) MBD3_U6_68_with_6_x_FAB_250___250kg = ( 3, WeaponsSu30.MBD3_U6_68_with_6_x_FAB_250___250kg, @@ -1487,6 +2090,8 @@ class Su_30MKA(PlaneType): ) _2_x_S_25 = (3, Weapons._2_x_S_25) + # ERRR + class Pylon4: R_27R1__AA_10_Alamo_A____Semi_Act_Rdr = ( 4, @@ -1504,13 +2109,17 @@ class Su_30MKA(PlaneType): 4, WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, ) - Kh_31P_AA = (4, WeaponsSu30.Kh_31P_AA) - Kh_36_Grom_1 = (4, WeaponsSu30.Kh_36_Grom_1) - KH_38MTE = (4, WeaponsSu30.KH_38MTE) - KH_38MLE = (4, WeaponsSu30.KH_38MLE) - Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided_ = ( + Kh_31P__AS_17_Krypton____600kg = (4, WeaponsSu30.Kh_31P__AS_17_Krypton____600kg) + Kh_36__AS_23____600kg_Grom_E1 = (4, WeaponsSu30.Kh_36__AS_23____600kg_Grom_E1) + KH_38MTE__AS_23__IR_Guided = (4, WeaponsSu30.KH_38MTE__AS_23__IR_Guided) + KH_38MLE__AS_23___Semi_Act_Laser = ( 4, - Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided_, + WeaponsSu30.KH_38MLE__AS_23___Semi_Act_Laser, + ) + Kh_38MAE__AS_23____500kg = (4, WeaponsSu30.Kh_38MAE__AS_23____500kg) + Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__ = ( + 4, + Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__, ) KH_29L__AS_14_Kedge___Semi_Act_Laser = ( 4, @@ -1520,15 +2129,21 @@ class Su_30MKA(PlaneType): 4, WeaponsSu30.KH_29TE__AS_14_Kedge___TV_Guided, ) - Kh_59M = (4, WeaponsSu30.Kh_59M) - Kh_59MK = (4, WeaponsSu30.Kh_59MK) - Kh_31A = (4, WeaponsSu30.Kh_31A) - KH_35A = (4, WeaponsSu30.KH_35A) - KH_35UE = (4, WeaponsSu30.KH_35UE) - KH_31AD = (4, WeaponsSu30.KH_31AD) - KH_31PD__AA_ = (4, WeaponsSu30.KH_31PD__AA_) + Kh_59M__AS_18_Kazoo___930kg = (4, WeaponsSu30.Kh_59M__AS_18_Kazoo___930kg) + Kh_59MK__AS_18_Kazoo____930kg = (4, WeaponsSu30.Kh_59MK__AS_18_Kazoo____930kg) + Kh_31A__AS_17_Krypton____610kg = (4, WeaponsSu30.Kh_31A__AS_17_Krypton____610kg) + Kh_35__AS_20_Kayak____520kg = (4, WeaponsSu30.Kh_35__AS_20_Kayak____520kg) + Kh_35UE__AS_20_Kayak____520kg = (4, WeaponsSu30.Kh_35UE__AS_20_Kayak____520kg) + Kh_31AD__AS_17_Krypton____610kg = ( + 4, + WeaponsSu30.Kh_31AD__AS_17_Krypton____610kg, + ) + Kh_31PD__AS_17_Krypton____600kg = ( + 4, + WeaponsSu30.Kh_31PD__AS_17_Krypton____600kg, + ) KAB_500Kr___500kg_TV_Guided_Bomb = (4, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb) - KAB_500S___500kg = (4, WeaponsSu30.KAB_500S___500kg) + KAB_500S___500kg__GPS_Guided = (4, WeaponsSu30.KAB_500S___500kg__GPS_Guided) KAB_1500Kr___1500kg = (4, WeaponsSu30.KAB_1500Kr___1500kg) KAB_1500LG_PR___1500kg = (4, WeaponsSu30.KAB_1500LG_PR___1500kg) KAB_1500L___1500kg_Laser_Guided_Bomb = ( @@ -1568,9 +2183,9 @@ class Su_30MKA(PlaneType): 4, Weapons.RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP, ) - FAB_500_M54___474kg = (4, WeaponsSu30.FAB_500_M54___474kg) - FAB_500_M62___474kg = (4, WeaponsSu30.FAB_500_M62___474kg) - FAB_250_M62___227kg = (4, WeaponsSu30.FAB_250_M62___227kg) + FAB_500_M54___474kg__freefall = (4, WeaponsSu30.FAB_500_M54___474kg__freefall) + FAB_500_M62___474kg__freefall = (4, WeaponsSu30.FAB_500_M62___474kg__freefall) + FAB_250_M62___227kg__freefall = (4, WeaponsSu30.FAB_250_M62___227kg__freefall) MBD3_U6_68_with_6_x_FAB_250___250kg = ( 4, WeaponsSu30.MBD3_U6_68_with_6_x_FAB_250___250kg, @@ -1580,6 +2195,8 @@ class Su_30MKA(PlaneType): WeaponsSu30.MBD3_U6_68_with_6_x_FAB_100___100kg, ) + # ERRR + class Pylon5: R_27R1__AA_10_Alamo_A____Semi_Act_Rdr = ( 5, @@ -1597,13 +2214,17 @@ class Su_30MKA(PlaneType): 5, WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, ) - Kh_31P_AA = (5, WeaponsSu30.Kh_31P_AA) - Kh_36_Grom_1 = (5, WeaponsSu30.Kh_36_Grom_1) - KH_38MTE = (5, WeaponsSu30.KH_38MTE) - KH_38MLE = (5, WeaponsSu30.KH_38MLE) - Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided_ = ( + Kh_31P__AS_17_Krypton____600kg = (5, WeaponsSu30.Kh_31P__AS_17_Krypton____600kg) + Kh_36__AS_23____600kg_Grom_E1 = (5, WeaponsSu30.Kh_36__AS_23____600kg_Grom_E1) + KH_38MTE__AS_23__IR_Guided = (5, WeaponsSu30.KH_38MTE__AS_23__IR_Guided) + KH_38MLE__AS_23___Semi_Act_Laser = ( 5, - Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided_, + WeaponsSu30.KH_38MLE__AS_23___Semi_Act_Laser, + ) + Kh_38MAE__AS_23____500kg = (5, WeaponsSu30.Kh_38MAE__AS_23____500kg) + Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__ = ( + 5, + Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__, ) KH_29L__AS_14_Kedge___Semi_Act_Laser = ( 5, @@ -1613,11 +2234,17 @@ class Su_30MKA(PlaneType): 5, WeaponsSu30.KH_29TE__AS_14_Kedge___TV_Guided, ) - Kh_31A = (5, WeaponsSu30.Kh_31A) - KH_31AD = (5, WeaponsSu30.KH_31AD) - KH_31PD__AA_ = (5, WeaponsSu30.KH_31PD__AA_) + Kh_31A__AS_17_Krypton____610kg = (5, WeaponsSu30.Kh_31A__AS_17_Krypton____610kg) + Kh_31AD__AS_17_Krypton____610kg = ( + 5, + WeaponsSu30.Kh_31AD__AS_17_Krypton____610kg, + ) + Kh_31PD__AS_17_Krypton____600kg = ( + 5, + WeaponsSu30.Kh_31PD__AS_17_Krypton____600kg, + ) KAB_500Kr___500kg_TV_Guided_Bomb = (5, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb) - KAB_500S___500kg = (5, WeaponsSu30.KAB_500S___500kg) + KAB_500S___500kg__GPS_Guided = (5, WeaponsSu30.KAB_500S___500kg__GPS_Guided) KAB_500LG___500kg_Laser_Guided_Bomb = ( 5, Weapons.KAB_500LG___500kg_Laser_Guided_Bomb, @@ -1643,9 +2270,9 @@ class Su_30MKA(PlaneType): 5, Weapons.RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP, ) - FAB_500_M54___474kg = (5, WeaponsSu30.FAB_500_M54___474kg) - FAB_500_M62___474kg = (5, WeaponsSu30.FAB_500_M62___474kg) - FAB_250_M62___227kg = (5, WeaponsSu30.FAB_250_M62___227kg) + FAB_500_M54___474kg__freefall = (5, WeaponsSu30.FAB_500_M54___474kg__freefall) + FAB_500_M62___474kg__freefall = (5, WeaponsSu30.FAB_500_M62___474kg__freefall) + FAB_250_M62___227kg__freefall = (5, WeaponsSu30.FAB_250_M62___227kg__freefall) MBD3_U6_68_with_6_x_FAB_250___250kg = ( 5, WeaponsSu30.MBD3_U6_68_with_6_x_FAB_250___250kg, @@ -1655,6 +2282,9 @@ class Su_30MKA(PlaneType): WeaponsSu30.MBD3_U6_68_with_6_x_FAB_100___100kg, ) APK_9_POD = (5, WeaponsSu30.APK_9_POD) + L_081_Fantasmagoria_ELINT_pod = (5, Weapons.L_081_Fantasmagoria_ELINT_pod) + + # ERRR class Pylon6: R_27R1__AA_10_Alamo_A____Semi_Act_Rdr = ( @@ -1674,7 +2304,7 @@ class Su_30MKA(PlaneType): WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, ) KAB_500Kr___500kg_TV_Guided_Bomb = (6, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb) - KAB_500S___500kg = (6, WeaponsSu30.KAB_500S___500kg) + KAB_500S___500kg__GPS_Guided = (6, WeaponsSu30.KAB_500S___500kg__GPS_Guided) KAB_1500Kr___1500kg = (6, WeaponsSu30.KAB_1500Kr___1500kg) KAB_1500LG_PR___1500kg = (6, WeaponsSu30.KAB_1500LG_PR___1500kg) KAB_1500L___1500kg_Laser_Guided_Bomb = ( @@ -1714,9 +2344,9 @@ class Su_30MKA(PlaneType): 6, Weapons.RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP, ) - FAB_500_M54___474kg = (6, WeaponsSu30.FAB_500_M54___474kg) - FAB_500_M62___474kg = (6, WeaponsSu30.FAB_500_M62___474kg) - FAB_250_M62___227kg = (6, WeaponsSu30.FAB_250_M62___227kg) + FAB_500_M54___474kg__freefall = (6, WeaponsSu30.FAB_500_M54___474kg__freefall) + FAB_500_M62___474kg__freefall = (6, WeaponsSu30.FAB_500_M62___474kg__freefall) + FAB_250_M62___227kg__freefall = (6, WeaponsSu30.FAB_250_M62___227kg__freefall) MBD3_U6_68_with_6_x_FAB_250___250kg = ( 6, WeaponsSu30.MBD3_U6_68_with_6_x_FAB_250___250kg, @@ -1734,6 +2364,8 @@ class Su_30MKA(PlaneType): Weapons.RBK_500___268_x_PTAB_1M__500kg_CBU_Light_HEAT_AP, ) + # ERRR + class Pylon7: R_27R1__AA_10_Alamo_A____Semi_Act_Rdr = ( 7, @@ -1752,7 +2384,7 @@ class Su_30MKA(PlaneType): WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, ) KAB_500Kr___500kg_TV_Guided_Bomb = (7, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb) - KAB_500S___500kg = (7, WeaponsSu30.KAB_500S___500kg) + KAB_500S___500kg__GPS_Guided = (7, WeaponsSu30.KAB_500S___500kg__GPS_Guided) KAB_500LG___500kg_Laser_Guided_Bomb = ( 7, Weapons.KAB_500LG___500kg_Laser_Guided_Bomb, @@ -1786,9 +2418,9 @@ class Su_30MKA(PlaneType): 7, Weapons.RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP, ) - FAB_500_M54___474kg = (7, WeaponsSu30.FAB_500_M54___474kg) - FAB_500_M62___474kg = (7, WeaponsSu30.FAB_500_M62___474kg) - FAB_250_M62___227kg = (7, WeaponsSu30.FAB_250_M62___227kg) + FAB_500_M54___474kg__freefall = (7, WeaponsSu30.FAB_500_M54___474kg__freefall) + FAB_500_M62___474kg__freefall = (7, WeaponsSu30.FAB_500_M62___474kg__freefall) + FAB_250_M62___227kg__freefall = (7, WeaponsSu30.FAB_250_M62___227kg__freefall) MBD3_U6_68_with_6_x_FAB_250___250kg = ( 7, WeaponsSu30.MBD3_U6_68_with_6_x_FAB_250___250kg, @@ -1812,6 +2444,8 @@ class Su_30MKA(PlaneType): Weapons.RBK_500___268_x_PTAB_1M__500kg_CBU_Light_HEAT_AP, ) + # ERRR + class Pylon8: R_27R1__AA_10_Alamo_A____Semi_Act_Rdr = ( 8, @@ -1829,13 +2463,17 @@ class Su_30MKA(PlaneType): 8, WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, ) - Kh_31P_AA = (8, WeaponsSu30.Kh_31P_AA) - Kh_36_Grom_1 = (8, WeaponsSu30.Kh_36_Grom_1) - KH_38MTE = (8, WeaponsSu30.KH_38MTE) - KH_38MLE = (8, WeaponsSu30.KH_38MLE) - Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided_ = ( + Kh_31P__AS_17_Krypton____600kg = (8, WeaponsSu30.Kh_31P__AS_17_Krypton____600kg) + Kh_36__AS_23____600kg_Grom_E1 = (8, WeaponsSu30.Kh_36__AS_23____600kg_Grom_E1) + KH_38MTE__AS_23__IR_Guided = (8, WeaponsSu30.KH_38MTE__AS_23__IR_Guided) + KH_38MLE__AS_23___Semi_Act_Laser = ( 8, - Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided_, + WeaponsSu30.KH_38MLE__AS_23___Semi_Act_Laser, + ) + Kh_38MAE__AS_23____500kg = (8, WeaponsSu30.Kh_38MAE__AS_23____500kg) + Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__ = ( + 8, + Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__, ) KH_29L__AS_14_Kedge___Semi_Act_Laser = ( 8, @@ -1845,11 +2483,17 @@ class Su_30MKA(PlaneType): 8, WeaponsSu30.KH_29TE__AS_14_Kedge___TV_Guided, ) - Kh_31A = (8, WeaponsSu30.Kh_31A) - KH_31AD = (8, WeaponsSu30.KH_31AD) - KH_31PD__AA_ = (8, WeaponsSu30.KH_31PD__AA_) + Kh_31A__AS_17_Krypton____610kg = (8, WeaponsSu30.Kh_31A__AS_17_Krypton____610kg) + Kh_31AD__AS_17_Krypton____610kg = ( + 8, + WeaponsSu30.Kh_31AD__AS_17_Krypton____610kg, + ) + Kh_31PD__AS_17_Krypton____600kg = ( + 8, + WeaponsSu30.Kh_31PD__AS_17_Krypton____600kg, + ) KAB_500Kr___500kg_TV_Guided_Bomb = (8, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb) - KAB_500S___500kg = (8, WeaponsSu30.KAB_500S___500kg) + KAB_500S___500kg__GPS_Guided = (8, WeaponsSu30.KAB_500S___500kg__GPS_Guided) KAB_500LG___500kg_Laser_Guided_Bomb = ( 8, Weapons.KAB_500LG___500kg_Laser_Guided_Bomb, @@ -1875,9 +2519,9 @@ class Su_30MKA(PlaneType): 8, Weapons.RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP, ) - FAB_500_M54___474kg = (8, WeaponsSu30.FAB_500_M54___474kg) - FAB_500_M62___474kg = (8, WeaponsSu30.FAB_500_M62___474kg) - FAB_250_M62___227kg = (8, WeaponsSu30.FAB_250_M62___227kg) + FAB_500_M54___474kg__freefall = (8, WeaponsSu30.FAB_500_M54___474kg__freefall) + FAB_500_M62___474kg__freefall = (8, WeaponsSu30.FAB_500_M62___474kg__freefall) + FAB_250_M62___227kg__freefall = (8, WeaponsSu30.FAB_250_M62___227kg__freefall) MBD3_U6_68_with_6_x_FAB_250___250kg = ( 8, WeaponsSu30.MBD3_U6_68_with_6_x_FAB_250___250kg, @@ -1887,7 +2531,7 @@ class Su_30MKA(PlaneType): WeaponsSu30.MBD3_U6_68_with_6_x_FAB_100___100kg, ) - # ERRR {DAMOCLES} + # ERRR class Pylon9: R_27R1__AA_10_Alamo_A____Semi_Act_Rdr = ( @@ -1906,13 +2550,17 @@ class Su_30MKA(PlaneType): 9, WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, ) - Kh_31P_AA = (9, WeaponsSu30.Kh_31P_AA) - Kh_36_Grom_1 = (9, WeaponsSu30.Kh_36_Grom_1) - KH_38MTE = (9, WeaponsSu30.KH_38MTE) - KH_38MLE = (9, WeaponsSu30.KH_38MLE) - Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided_ = ( + Kh_31P__AS_17_Krypton____600kg = (9, WeaponsSu30.Kh_31P__AS_17_Krypton____600kg) + Kh_36__AS_23____600kg_Grom_E1 = (9, WeaponsSu30.Kh_36__AS_23____600kg_Grom_E1) + KH_38MTE__AS_23__IR_Guided = (9, WeaponsSu30.KH_38MTE__AS_23__IR_Guided) + KH_38MLE__AS_23___Semi_Act_Laser = ( 9, - Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided_, + WeaponsSu30.KH_38MLE__AS_23___Semi_Act_Laser, + ) + Kh_38MAE__AS_23____500kg = (9, WeaponsSu30.Kh_38MAE__AS_23____500kg) + Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__ = ( + 9, + Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__, ) KH_29L__AS_14_Kedge___Semi_Act_Laser = ( 9, @@ -1922,15 +2570,21 @@ class Su_30MKA(PlaneType): 9, WeaponsSu30.KH_29TE__AS_14_Kedge___TV_Guided, ) - Kh_59M = (9, WeaponsSu30.Kh_59M) - Kh_59MK = (9, WeaponsSu30.Kh_59MK) - Kh_31A = (9, WeaponsSu30.Kh_31A) - KH_35A = (9, WeaponsSu30.KH_35A) - KH_35UE = (9, WeaponsSu30.KH_35UE) - KH_31AD = (9, WeaponsSu30.KH_31AD) - KH_31PD__AA_ = (9, WeaponsSu30.KH_31PD__AA_) + Kh_59M__AS_18_Kazoo___930kg = (9, WeaponsSu30.Kh_59M__AS_18_Kazoo___930kg) + Kh_59MK__AS_18_Kazoo____930kg = (9, WeaponsSu30.Kh_59MK__AS_18_Kazoo____930kg) + Kh_31A__AS_17_Krypton____610kg = (9, WeaponsSu30.Kh_31A__AS_17_Krypton____610kg) + Kh_35__AS_20_Kayak____520kg = (9, WeaponsSu30.Kh_35__AS_20_Kayak____520kg) + Kh_35UE__AS_20_Kayak____520kg = (9, WeaponsSu30.Kh_35UE__AS_20_Kayak____520kg) + Kh_31AD__AS_17_Krypton____610kg = ( + 9, + WeaponsSu30.Kh_31AD__AS_17_Krypton____610kg, + ) + Kh_31PD__AS_17_Krypton____600kg = ( + 9, + WeaponsSu30.Kh_31PD__AS_17_Krypton____600kg, + ) KAB_500Kr___500kg_TV_Guided_Bomb = (9, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb) - KAB_500S___500kg = (9, WeaponsSu30.KAB_500S___500kg) + KAB_500S___500kg__GPS_Guided = (9, WeaponsSu30.KAB_500S___500kg__GPS_Guided) KAB_1500Kr___1500kg = (9, WeaponsSu30.KAB_1500Kr___1500kg) KAB_1500LG_PR___1500kg = (9, WeaponsSu30.KAB_1500LG_PR___1500kg) KAB_1500L___1500kg_Laser_Guided_Bomb = ( @@ -1970,9 +2624,9 @@ class Su_30MKA(PlaneType): 9, Weapons.RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP, ) - FAB_500_M54___474kg = (9, WeaponsSu30.FAB_500_M54___474kg) - FAB_500_M62___474kg = (9, WeaponsSu30.FAB_500_M62___474kg) - FAB_250_M62___227kg = (9, WeaponsSu30.FAB_250_M62___227kg) + FAB_500_M54___474kg__freefall = (9, WeaponsSu30.FAB_500_M54___474kg__freefall) + FAB_500_M62___474kg__freefall = (9, WeaponsSu30.FAB_500_M62___474kg__freefall) + FAB_250_M62___227kg__freefall = (9, WeaponsSu30.FAB_250_M62___227kg__freefall) MBD3_U6_68_with_6_x_FAB_250___250kg = ( 9, WeaponsSu30.MBD3_U6_68_with_6_x_FAB_250___250kg, @@ -1982,6 +2636,8 @@ class Su_30MKA(PlaneType): WeaponsSu30.MBD3_U6_68_with_6_x_FAB_100___100kg, ) + # ERRR + class Pylon10: R_73__AA_11_Archer____Infra_Red = (10, Weapons.R_73__AA_11_Archer____Infra_Red) R_73L__AA_11_Archer_L____Infra_Red = ( @@ -2020,13 +2676,20 @@ class Su_30MKA(PlaneType): 10, WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, ) - Kh_31P_AA = (10, WeaponsSu30.Kh_31P_AA) - Kh_36_Grom_1 = (10, WeaponsSu30.Kh_36_Grom_1) - KH_38MTE = (10, WeaponsSu30.KH_38MTE) - KH_38MLE = (10, WeaponsSu30.KH_38MLE) - Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided_ = ( + Kh_31P__AS_17_Krypton____600kg = ( 10, - Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided_, + WeaponsSu30.Kh_31P__AS_17_Krypton____600kg, + ) + Kh_36__AS_23____600kg_Grom_E1 = (10, WeaponsSu30.Kh_36__AS_23____600kg_Grom_E1) + KH_38MTE__AS_23__IR_Guided = (10, WeaponsSu30.KH_38MTE__AS_23__IR_Guided) + KH_38MLE__AS_23___Semi_Act_Laser = ( + 10, + WeaponsSu30.KH_38MLE__AS_23___Semi_Act_Laser, + ) + Kh_38MAE__AS_23____500kg = (10, WeaponsSu30.Kh_38MAE__AS_23____500kg) + Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__ = ( + 10, + Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__, ) KH_29L__AS_14_Kedge___Semi_Act_Laser = ( 10, @@ -2036,18 +2699,27 @@ class Su_30MKA(PlaneType): 10, WeaponsSu30.KH_29TE__AS_14_Kedge___TV_Guided, ) - Kh_59M = (10, WeaponsSu30.Kh_59M) - Kh_59MK = (10, WeaponsSu30.Kh_59MK) - Kh_31A = (10, WeaponsSu30.Kh_31A) - KH_35A = (10, WeaponsSu30.KH_35A) - KH_35UE = (10, WeaponsSu30.KH_35UE) - KH_31AD = (10, WeaponsSu30.KH_31AD) - KH_31PD__AA_ = (10, WeaponsSu30.KH_31PD__AA_) + Kh_59M__AS_18_Kazoo___930kg = (10, WeaponsSu30.Kh_59M__AS_18_Kazoo___930kg) + Kh_59MK__AS_18_Kazoo____930kg = (10, WeaponsSu30.Kh_59MK__AS_18_Kazoo____930kg) + Kh_31A__AS_17_Krypton____610kg = ( + 10, + WeaponsSu30.Kh_31A__AS_17_Krypton____610kg, + ) + Kh_35__AS_20_Kayak____520kg = (10, WeaponsSu30.Kh_35__AS_20_Kayak____520kg) + Kh_35UE__AS_20_Kayak____520kg = (10, WeaponsSu30.Kh_35UE__AS_20_Kayak____520kg) + Kh_31AD__AS_17_Krypton____610kg = ( + 10, + WeaponsSu30.Kh_31AD__AS_17_Krypton____610kg, + ) + Kh_31PD__AS_17_Krypton____600kg = ( + 10, + WeaponsSu30.Kh_31PD__AS_17_Krypton____600kg, + ) KAB_500Kr___500kg_TV_Guided_Bomb = ( 10, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb, ) - KAB_500S___500kg = (10, WeaponsSu30.KAB_500S___500kg) + KAB_500S___500kg__GPS_Guided = (10, WeaponsSu30.KAB_500S___500kg__GPS_Guided) KAB_500LG___500kg_Laser_Guided_Bomb = ( 10, Weapons.KAB_500LG___500kg_Laser_Guided_Bomb, @@ -2081,9 +2753,9 @@ class Su_30MKA(PlaneType): 10, Weapons.RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP, ) - FAB_500_M54___474kg = (10, WeaponsSu30.FAB_500_M54___474kg) - FAB_500_M62___474kg = (10, WeaponsSu30.FAB_500_M62___474kg) - FAB_250_M62___227kg = (10, WeaponsSu30.FAB_250_M62___227kg) + FAB_500_M54___474kg__freefall = (10, WeaponsSu30.FAB_500_M54___474kg__freefall) + FAB_500_M62___474kg__freefall = (10, WeaponsSu30.FAB_500_M62___474kg__freefall) + FAB_250_M62___227kg__freefall = (10, WeaponsSu30.FAB_250_M62___227kg__freefall) MBD3_U6_68_with_6_x_FAB_250___250kg = ( 10, WeaponsSu30.MBD3_U6_68_with_6_x_FAB_250___250kg, @@ -2110,6 +2782,8 @@ class Su_30MKA(PlaneType): ) _2_x_S_25 = (10, Weapons._2_x_S_25) + # ERRR + class Pylon11: R_73__AA_11_Archer____Infra_Red = (11, Weapons.R_73__AA_11_Archer____Infra_Red) R_73L__AA_11_Archer_L____Infra_Red = ( @@ -2139,6 +2813,8 @@ class Su_30MKA(PlaneType): Smoke_Generator___yellow = (11, Weapons.Smoke_Generator___yellow) Smoke_Generator___orange = (11, Weapons.Smoke_Generator___orange) + # ERRR + class Pylon12: R_73__AA_11_Archer____Infra_Red = (12, Weapons.R_73__AA_11_Archer____Infra_Red) R_73L__AA_11_Archer_L____Infra_Red = ( @@ -2187,15 +2863,15 @@ class Su_30MKM(PlaneType): height = 5.932 width = 14.7 length = 21.935 - fuel_max = 9400 + fuel_max = 9500 max_speed = 2499.984 chaff = 96 flare = 96 charge_total = 192 chaff_charge_size = 1 flare_charge_size = 1 + eplrs = True category = "Interceptor" # {78EFB7A2-FD52-4b57-A6A6-3BF0E1D6555F} - radio_frequency = 124 panel_radio = { 1: { @@ -2224,33 +2900,38 @@ class Su_30MKM(PlaneType): }, 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, + 1: 117, + 2: 135, + 4: 127, + 8: 128, + 16: 132, + 17: 138, + 9: 126, + 18: 122, + 5: 125, + 10: 133, + 20: 137, + 11: 130, + 3: 136, + 6: 121, + 12: 139, + 13: 140, + 7: 141, + 14: 131, + 19: 124, + 15: 134, }, }, } property_defaults: Dict[str, Any] = { "SoloFlight": False, - "NetCrewControlPriority": 1, + "NetCrewControlPriority": 0, + "HumanOrchestra": False, + "HelmetMountedDevice": 1, + "ShowLadders": True, + "su30Chaff": 96, + "su30Flare": 96, } class Properties: @@ -2262,10 +2943,101 @@ class Su_30MKM(PlaneType): class Values: Pilot = 0 - Co_Pilot = 1 + WSO = 1 Ask_Always = -1 Equally_Responsible = -2 + class HumanOrchestra: + id = "HumanOrchestra" + + class HelmetMountedDevice: + id = "HelmetMountedDevice" + + class Values: + Not_installed = 0 + SURA_Visor = 1 + NVG = 2 + + class ShowLadders: + id = "ShowLadders" + + class su30Chaff: + id = "su30Chaff" + + class su30Flare: + id = "su30Flare" + + properties = { + "SoloFlight": UnitPropertyDescription( + identifier="SoloFlight", + control="checkbox", + label="Solo Flight", + player_only=True, + default=False, + weight_when_on=-80, + ), + "NetCrewControlPriority": UnitPropertyDescription( + identifier="NetCrewControlPriority", + control="comboList", + label="Aircraft Control Priority", + player_only=True, + default=0, + w_ctrl=150, + values={ + 0: "Pilot", + 1: "WSO", + -1: "Ask Always", + -2: "Equally Responsible", + }, + ), + "HumanOrchestra": UnitPropertyDescription( + identifier="HumanOrchestra", + control="checkbox", + label="Disable Multicrew", + player_only=True, + default=False, + ), + "HelmetMountedDevice": UnitPropertyDescription( + identifier="HelmetMountedDevice", + control="comboList", + label="Helmet Mounted Device", + player_only=True, + default=1, + w_ctrl=150, + values={ + 0: "Not installed", + 1: "SURA Visor", + 2: "NVG", + }, + ), + "ShowLadders": UnitPropertyDescription( + identifier="ShowLadders", + control="checkbox", + label="Show Ladders", + default=True, + ), + "su30Chaff": UnitPropertyDescription( + identifier="su30Chaff", + control="spinbox", + label="Chaff", + player_only=True, + minimum=0, + maximum=192, + default=96, + dimension=" ", + ), + "su30Flare": UnitPropertyDescription( + identifier="su30Flare", + control="spinbox", + label="Flare", + player_only=True, + minimum=0, + maximum=192, + default=96, + dimension=" ", + ), + } + livery_name = "SU-30MKM" # from type class Pylon1: @@ -2320,6 +3092,8 @@ class Su_30MKM(PlaneType): Smoke_Generator___yellow = (2, Weapons.Smoke_Generator___yellow) Smoke_Generator___orange = (2, Weapons.Smoke_Generator___orange) + # ERRR + class Pylon3: R_73__AA_11_Archer____Infra_Red = (3, Weapons.R_73__AA_11_Archer____Infra_Red) R_73L__AA_11_Archer_L____Infra_Red = ( @@ -2358,10 +3132,10 @@ class Su_30MKM(PlaneType): 3, WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, ) - Kh_31P_AA = (3, WeaponsSu30.Kh_31P_AA) - Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided_ = ( + Kh_31P__AS_17_Krypton____600kg = (3, WeaponsSu30.Kh_31P__AS_17_Krypton____600kg) + Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__ = ( 3, - Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided_, + Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__, ) KH_29L__AS_14_Kedge___Semi_Act_Laser = ( 3, @@ -2371,12 +3145,12 @@ class Su_30MKM(PlaneType): 3, WeaponsSu30.KH_29TE__AS_14_Kedge___TV_Guided, ) - Kh_59M = (3, WeaponsSu30.Kh_59M) - Kh_59MK = (3, WeaponsSu30.Kh_59MK) - Kh_31A = (3, WeaponsSu30.Kh_31A) - KH_35A = (3, WeaponsSu30.KH_35A) + Kh_59M__AS_18_Kazoo___930kg = (3, WeaponsSu30.Kh_59M__AS_18_Kazoo___930kg) + Kh_59MK__AS_18_Kazoo____930kg = (3, WeaponsSu30.Kh_59MK__AS_18_Kazoo____930kg) + Kh_31A__AS_17_Krypton____610kg = (3, WeaponsSu30.Kh_31A__AS_17_Krypton____610kg) + Kh_35__AS_20_Kayak____520kg = (3, WeaponsSu30.Kh_35__AS_20_Kayak____520kg) KAB_500Kr___500kg_TV_Guided_Bomb = (3, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb) - KAB_500S___500kg = (3, WeaponsSu30.KAB_500S___500kg) + KAB_500S___500kg__GPS_Guided = (3, WeaponsSu30.KAB_500S___500kg__GPS_Guided) KAB_500LG___500kg_Laser_Guided_Bomb = ( 3, Weapons.KAB_500LG___500kg_Laser_Guided_Bomb, @@ -2444,6 +3218,8 @@ class Su_30MKM(PlaneType): ) GBU_12___500lb_Laser_Guided_Bomb = (3, Weapons.GBU_12___500lb_Laser_Guided_Bomb) + # ERRR + class Pylon4: R_27R1__AA_10_Alamo_A____Semi_Act_Rdr = ( 4, @@ -2461,10 +3237,10 @@ class Su_30MKM(PlaneType): 4, WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, ) - Kh_31P_AA = (4, WeaponsSu30.Kh_31P_AA) - Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided_ = ( + Kh_31P__AS_17_Krypton____600kg = (4, WeaponsSu30.Kh_31P__AS_17_Krypton____600kg) + Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__ = ( 4, - Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided_, + Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__, ) KH_29L__AS_14_Kedge___Semi_Act_Laser = ( 4, @@ -2474,12 +3250,12 @@ class Su_30MKM(PlaneType): 4, WeaponsSu30.KH_29TE__AS_14_Kedge___TV_Guided, ) - Kh_59M = (4, WeaponsSu30.Kh_59M) - Kh_59MK = (4, WeaponsSu30.Kh_59MK) - Kh_31A = (4, WeaponsSu30.Kh_31A) - KH_35A = (4, WeaponsSu30.KH_35A) + Kh_59M__AS_18_Kazoo___930kg = (4, WeaponsSu30.Kh_59M__AS_18_Kazoo___930kg) + Kh_59MK__AS_18_Kazoo____930kg = (4, WeaponsSu30.Kh_59MK__AS_18_Kazoo____930kg) + Kh_31A__AS_17_Krypton____610kg = (4, WeaponsSu30.Kh_31A__AS_17_Krypton____610kg) + Kh_35__AS_20_Kayak____520kg = (4, WeaponsSu30.Kh_35__AS_20_Kayak____520kg) KAB_500Kr___500kg_TV_Guided_Bomb = (4, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb) - KAB_500S___500kg = (4, WeaponsSu30.KAB_500S___500kg) + KAB_500S___500kg__GPS_Guided = (4, WeaponsSu30.KAB_500S___500kg__GPS_Guided) KAB_1500Kr___1500kg = (4, WeaponsSu30.KAB_1500Kr___1500kg) KAB_1500LG_PR___1500kg = (4, WeaponsSu30.KAB_1500LG_PR___1500kg) KAB_1500L___1500kg_Laser_Guided_Bomb = ( @@ -2529,6 +3305,7 @@ class Su_30MKM(PlaneType): 4, Weapons.MBD3_U6_68_with_6_x_FAB_100___100kg_GP_Bombs_LD, ) + # ERRR Mk_82___500lb_GP_Bomb_LD = (4, Weapons.Mk_82___500lb_GP_Bomb_LD) GBU_38___JDAM__500lb_GPS_Guided_Bomb = ( 4, @@ -2553,22 +3330,22 @@ class Su_30MKM(PlaneType): 5, WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, ) - Kh_31P_AA = (5, WeaponsSu30.Kh_31P_AA) + Kh_31P__AS_17_Krypton____600kg = (5, WeaponsSu30.Kh_31P__AS_17_Krypton____600kg) KH_29L__AS_14_Kedge___Semi_Act_Laser = ( 5, WeaponsSu30.KH_29L__AS_14_Kedge___Semi_Act_Laser, ) - Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided_ = ( + Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__ = ( 5, - Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided_, + Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__, ) KH_29TE__AS_14_Kedge___TV_Guided = ( 5, WeaponsSu30.KH_29TE__AS_14_Kedge___TV_Guided, ) - Kh_31A = (5, WeaponsSu30.Kh_31A) + Kh_31A__AS_17_Krypton____610kg = (5, WeaponsSu30.Kh_31A__AS_17_Krypton____610kg) KAB_500Kr___500kg_TV_Guided_Bomb = (5, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb) - KAB_500S___500kg = (5, WeaponsSu30.KAB_500S___500kg) + KAB_500S___500kg__GPS_Guided = (5, WeaponsSu30.KAB_500S___500kg__GPS_Guided) KAB_500LG___500kg_Laser_Guided_Bomb = ( 5, Weapons.KAB_500LG___500kg_Laser_Guided_Bomb, @@ -2601,7 +3378,7 @@ class Su_30MKM(PlaneType): Weapons.MBD3_U6_68_with_6_x_FAB_250___250kg_GP_Bombs_LD, ) APK_9_POD = (5, WeaponsSu30.APK_9_POD) - + # ERRR Mk_82___500lb_GP_Bomb_LD = (5, Weapons.Mk_82___500lb_GP_Bomb_LD) GBU_38___JDAM__500lb_GPS_Guided_Bomb = ( 5, @@ -2627,7 +3404,7 @@ class Su_30MKM(PlaneType): WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, ) KAB_500Kr___500kg_TV_Guided_Bomb = (6, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb) - KAB_500S___500kg = (6, WeaponsSu30.KAB_500S___500kg) + KAB_500S___500kg__GPS_Guided = (6, WeaponsSu30.KAB_500S___500kg__GPS_Guided) KAB_1500Kr___1500kg = (6, WeaponsSu30.KAB_1500Kr___1500kg) KAB_1500LG_PR___1500kg = (6, WeaponsSu30.KAB_1500LG_PR___1500kg) KAB_1500L___1500kg_Laser_Guided_Bomb = ( @@ -2681,7 +3458,7 @@ class Su_30MKM(PlaneType): 6, Weapons.RBK_500___268_x_PTAB_1M__500kg_CBU_Light_HEAT_AP, ) - + # ERRR Mk_82___500lb_GP_Bomb_LD = (6, Weapons.Mk_82___500lb_GP_Bomb_LD) GBU_38___JDAM__500lb_GPS_Guided_Bomb = ( 6, @@ -2707,7 +3484,7 @@ class Su_30MKM(PlaneType): WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, ) KAB_500Kr___500kg_TV_Guided_Bomb = (7, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb) - KAB_500S___500kg = (7, WeaponsSu30.KAB_500S___500kg) + KAB_500S___500kg__GPS_Guided = (7, WeaponsSu30.KAB_500S___500kg__GPS_Guided) KAB_500LG___500kg_Laser_Guided_Bomb = ( 7, Weapons.KAB_500LG___500kg_Laser_Guided_Bomb, @@ -2755,6 +3532,7 @@ class Su_30MKM(PlaneType): 7, Weapons.RBK_500___268_x_PTAB_1M__500kg_CBU_Light_HEAT_AP, ) + # ERRR Smoke_Generator___red = (7, Weapons.Smoke_Generator___red) Smoke_Generator___green = (7, Weapons.Smoke_Generator___green) Smoke_Generator___blue = (7, Weapons.Smoke_Generator___blue) @@ -2785,10 +3563,10 @@ class Su_30MKM(PlaneType): 8, WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, ) - Kh_31P_AA = (8, WeaponsSu30.Kh_31P_AA) - Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided_ = ( + Kh_31P__AS_17_Krypton____600kg = (8, WeaponsSu30.Kh_31P__AS_17_Krypton____600kg) + Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__ = ( 8, - Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided_, + Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__, ) KH_29L__AS_14_Kedge___Semi_Act_Laser = ( 8, @@ -2798,9 +3576,9 @@ class Su_30MKM(PlaneType): 8, WeaponsSu30.KH_29TE__AS_14_Kedge___TV_Guided, ) - Kh_31A = (8, WeaponsSu30.Kh_31A) + Kh_31A__AS_17_Krypton____610kg = (8, WeaponsSu30.Kh_31A__AS_17_Krypton____610kg) KAB_500Kr___500kg_TV_Guided_Bomb = (8, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb) - KAB_500S___500kg = (8, WeaponsSu30.KAB_500S___500kg) + KAB_500S___500kg__GPS_Guided = (8, WeaponsSu30.KAB_500S___500kg__GPS_Guided) KAB_500LG___500kg_Laser_Guided_Bomb = ( 8, Weapons.KAB_500LG___500kg_Laser_Guided_Bomb, @@ -2833,7 +3611,7 @@ class Su_30MKM(PlaneType): Weapons.MBD3_U6_68_with_6_x_FAB_250___250kg_GP_Bombs_LD, ) # ERRR {DAMOCLES} - + # ERRR Mk_82___500lb_GP_Bomb_LD = (8, Weapons.Mk_82___500lb_GP_Bomb_LD) GBU_38___JDAM__500lb_GPS_Guided_Bomb = ( 8, @@ -2858,10 +3636,10 @@ class Su_30MKM(PlaneType): 9, WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, ) - Kh_31P_AA = (9, WeaponsSu30.Kh_31P_AA) - Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided_ = ( + Kh_31P__AS_17_Krypton____600kg = (9, WeaponsSu30.Kh_31P__AS_17_Krypton____600kg) + Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__ = ( 9, - Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided_, + Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__, ) KH_29L__AS_14_Kedge___Semi_Act_Laser = ( 9, @@ -2871,12 +3649,12 @@ class Su_30MKM(PlaneType): 9, WeaponsSu30.KH_29TE__AS_14_Kedge___TV_Guided, ) - Kh_59M = (9, WeaponsSu30.Kh_59M) - Kh_59MK = (9, WeaponsSu30.Kh_59MK) - Kh_31A = (9, WeaponsSu30.Kh_31A) - KH_35A = (9, WeaponsSu30.KH_35A) + Kh_59M__AS_18_Kazoo___930kg = (9, WeaponsSu30.Kh_59M__AS_18_Kazoo___930kg) + Kh_59MK__AS_18_Kazoo____930kg = (9, WeaponsSu30.Kh_59MK__AS_18_Kazoo____930kg) + Kh_31A__AS_17_Krypton____610kg = (9, WeaponsSu30.Kh_31A__AS_17_Krypton____610kg) + Kh_35__AS_20_Kayak____520kg = (9, WeaponsSu30.Kh_35__AS_20_Kayak____520kg) KAB_500Kr___500kg_TV_Guided_Bomb = (9, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb) - KAB_500S___500kg = (9, WeaponsSu30.KAB_500S___500kg) + KAB_500S___500kg__GPS_Guided = (9, WeaponsSu30.KAB_500S___500kg__GPS_Guided) KAB_1500Kr___1500kg = (9, WeaponsSu30.KAB_1500Kr___1500kg) KAB_1500LG_PR___1500kg = (9, WeaponsSu30.KAB_1500LG_PR___1500kg) KAB_1500L___1500kg_Laser_Guided_Bomb = ( @@ -2926,7 +3704,7 @@ class Su_30MKM(PlaneType): 9, Weapons.MBD3_U6_68_with_6_x_FAB_100___100kg_GP_Bombs_LD, ) - + # ERRR Mk_82___500lb_GP_Bomb_LD = (9, Weapons.Mk_82___500lb_GP_Bomb_LD) GBU_38___JDAM__500lb_GPS_Guided_Bomb = ( 9, @@ -2972,10 +3750,13 @@ class Su_30MKM(PlaneType): 10, WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, ) - Kh_31P_AA = (10, WeaponsSu30.Kh_31P_AA) - Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided_ = ( + Kh_31P__AS_17_Krypton____600kg = ( 10, - Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided_, + WeaponsSu30.Kh_31P__AS_17_Krypton____600kg, + ) + Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__ = ( + 10, + Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__, ) KH_29L__AS_14_Kedge___Semi_Act_Laser = ( 10, @@ -2985,15 +3766,18 @@ class Su_30MKM(PlaneType): 10, WeaponsSu30.KH_29TE__AS_14_Kedge___TV_Guided, ) - Kh_59M = (10, WeaponsSu30.Kh_59M) - Kh_59MK = (10, WeaponsSu30.Kh_59MK) - Kh_31A = (10, WeaponsSu30.Kh_31A) - KH_35A = (10, WeaponsSu30.KH_35A) + Kh_59M__AS_18_Kazoo___930kg = (10, WeaponsSu30.Kh_59M__AS_18_Kazoo___930kg) + Kh_59MK__AS_18_Kazoo____930kg = (10, WeaponsSu30.Kh_59MK__AS_18_Kazoo____930kg) + Kh_31A__AS_17_Krypton____610kg = ( + 10, + WeaponsSu30.Kh_31A__AS_17_Krypton____610kg, + ) + Kh_35__AS_20_Kayak____520kg = (10, WeaponsSu30.Kh_35__AS_20_Kayak____520kg) KAB_500Kr___500kg_TV_Guided_Bomb = ( 10, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb, ) - KAB_500S___500kg = (10, WeaponsSu30.KAB_500S___500kg) + KAB_500S___500kg__GPS_Guided = (10, WeaponsSu30.KAB_500S___500kg__GPS_Guided) KAB_500LG___500kg_Laser_Guided_Bomb = ( 10, Weapons.KAB_500LG___500kg_Laser_Guided_Bomb, @@ -3054,7 +3838,7 @@ class Su_30MKM(PlaneType): Weapons._2_x_B_8M1___40_x_UnGd_Rkts__80_mm_S_8OFP2_MPP, ) _2_x_S_25 = (10, Weapons._2_x_S_25) - + # ERRR Mk_82___500lb_GP_Bomb_LD = (10, Weapons.Mk_82___500lb_GP_Bomb_LD) GBU_38___JDAM__500lb_GPS_Guided_Bomb = ( 10, @@ -3094,6 +3878,8 @@ class Su_30MKM(PlaneType): Smoke_Generator___yellow = (11, Weapons.Smoke_Generator___yellow) Smoke_Generator___orange = (11, Weapons.Smoke_Generator___orange) + # ERRR + class Pylon12: R_73__AA_11_Archer____Infra_Red = (12, Weapons.R_73__AA_11_Archer____Infra_Red) R_73L__AA_11_Archer_L____Infra_Red = ( @@ -3136,8 +3922,8 @@ class Su_30MKM(PlaneType): @planemod -class Su_30SM(PlaneType): - id = "Su-30SM" +class Su_30MKM_AG(PlaneType): + id = "Su-30MKM-AG" flyable = True height = 5.932 width = 14.7 @@ -3151,7 +3937,6 @@ class Su_30SM(PlaneType): flare_charge_size = 1 eplrs = True category = "Interceptor" # {78EFB7A2-FD52-4b57-A6A6-3BF0E1D6555F} - radio_frequency = 124 panel_radio = { 1: { @@ -3180,34 +3965,38 @@ class Su_30SM(PlaneType): }, 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, + 1: 117, + 2: 135, + 4: 127, + 8: 128, + 16: 132, + 17: 138, + 9: 126, + 18: 122, + 5: 125, + 10: 133, + 20: 137, + 11: 130, + 3: 136, + 6: 121, + 12: 139, + 13: 140, + 7: 141, + 14: 131, + 19: 124, + 15: 134, }, }, } property_defaults: Dict[str, Any] = { "SoloFlight": False, - "NetCrewControlPriority": 1, - "MOUNTSURA": False, + "NetCrewControlPriority": 0, + "HumanOrchestra": False, + "HelmetMountedDevice": 1, + "ShowLadders": True, + "su30Chaff": 96, + "su30Flare": 96, } class Properties: @@ -3219,14 +4008,102 @@ class Su_30SM(PlaneType): class Values: Pilot = 0 - Flight_officer = 1 + WSO = 1 Ask_Always = -1 Equally_Responsible = -2 - class MOUNTSURA: - id = "MOUNTSURA" + class HumanOrchestra: + id = "HumanOrchestra" - livery_name = "SU-30SM" # from type + class HelmetMountedDevice: + id = "HelmetMountedDevice" + + class Values: + Not_installed = 0 + SURA_Visor = 1 + NVG = 2 + + class ShowLadders: + id = "ShowLadders" + + class su30Chaff: + id = "su30Chaff" + + class su30Flare: + id = "su30Flare" + + properties = { + "SoloFlight": UnitPropertyDescription( + identifier="SoloFlight", + control="checkbox", + label="Solo Flight", + player_only=True, + default=False, + weight_when_on=-80, + ), + "NetCrewControlPriority": UnitPropertyDescription( + identifier="NetCrewControlPriority", + control="comboList", + label="Aircraft Control Priority", + player_only=True, + default=0, + w_ctrl=150, + values={ + 0: "Pilot", + 1: "WSO", + -1: "Ask Always", + -2: "Equally Responsible", + }, + ), + "HumanOrchestra": UnitPropertyDescription( + identifier="HumanOrchestra", + control="checkbox", + label="Disable Multicrew", + player_only=True, + default=False, + ), + "HelmetMountedDevice": UnitPropertyDescription( + identifier="HelmetMountedDevice", + control="comboList", + label="Helmet Mounted Device", + player_only=True, + default=1, + w_ctrl=150, + values={ + 0: "Not installed", + 1: "SURA Visor", + 2: "NVG", + }, + ), + "ShowLadders": UnitPropertyDescription( + identifier="ShowLadders", + control="checkbox", + label="Show Ladders", + default=True, + ), + "su30Chaff": UnitPropertyDescription( + identifier="su30Chaff", + control="spinbox", + label="Chaff", + player_only=True, + minimum=0, + maximum=192, + default=96, + dimension=" ", + ), + "su30Flare": UnitPropertyDescription( + identifier="su30Flare", + control="spinbox", + label="Flare", + player_only=True, + minimum=0, + maximum=192, + default=96, + dimension=" ", + ), + } + + livery_name = "SU-30MKM-AG" # from type class Pylon1: R_73__AA_11_Archer____Infra_Red = (1, Weapons.R_73__AA_11_Archer____Infra_Red) @@ -3251,6 +4128,3284 @@ class Su_30SM(PlaneType): Smoke_Generator___yellow = (1, Weapons.Smoke_Generator___yellow) Smoke_Generator___orange = (1, Weapons.Smoke_Generator___orange) + class Pylon2: + R_73__AA_11_Archer____Infra_Red = (2, Weapons.R_73__AA_11_Archer____Infra_Red) + R_73L__AA_11_Archer_L____Infra_Red = ( + 2, + WeaponsSu30.R_73L__AA_11_Archer_L____Infra_Red, + ) + R_73M__AA_11_Archer_M____Infra_Red = ( + 2, + WeaponsSu30.R_73M__AA_11_Archer_M____Infra_Red, + ) + RVV_MD2__AA_11_Archer_M2____Infra_Red = ( + 2, + WeaponsSu30.RVV_MD2__AA_11_Archer_M2____Infra_Red, + ) + RVV_AE__AA_12_Adder____Active_Rdr = ( + 2, + WeaponsSu30.RVV_AE__AA_12_Adder____Active_Rdr, + ) + RVV_SD__AA_12_Adder_B____Active_Rdr = ( + 2, + WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, + ) + Smoke_Generator___red = (2, Weapons.Smoke_Generator___red) + Smoke_Generator___green = (2, Weapons.Smoke_Generator___green) + Smoke_Generator___blue = (2, Weapons.Smoke_Generator___blue) + Smoke_Generator___white = (2, Weapons.Smoke_Generator___white) + Smoke_Generator___yellow = (2, Weapons.Smoke_Generator___yellow) + Smoke_Generator___orange = (2, Weapons.Smoke_Generator___orange) + + # ERRR + + class Pylon3: + R_73__AA_11_Archer____Infra_Red = (3, Weapons.R_73__AA_11_Archer____Infra_Red) + R_73L__AA_11_Archer_L____Infra_Red = ( + 3, + WeaponsSu30.R_73L__AA_11_Archer_L____Infra_Red, + ) + R_73M__AA_11_Archer_M____Infra_Red = ( + 3, + WeaponsSu30.R_73M__AA_11_Archer_M____Infra_Red, + ) + RVV_MD2__AA_11_Archer_M2____Infra_Red = ( + 3, + WeaponsSu30.RVV_MD2__AA_11_Archer_M2____Infra_Red, + ) + R_27R1__AA_10_Alamo_A____Semi_Act_Rdr = ( + 3, + WeaponsSu30.R_27R1__AA_10_Alamo_A____Semi_Act_Rdr, + ) + R_27T1__AA_10_Alamo_B____Infra_Red = ( + 3, + WeaponsSu30.R_27T1__AA_10_Alamo_B____Infra_Red, + ) + R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range = ( + 3, + WeaponsSu30.R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range, + ) + R_27ET1__AA_10_Alamo_D____IR_Extended_Range = ( + 3, + WeaponsSu30.R_27ET1__AA_10_Alamo_D____IR_Extended_Range, + ) + RVV_AE__AA_12_Adder____Active_Rdr = ( + 3, + WeaponsSu30.RVV_AE__AA_12_Adder____Active_Rdr, + ) + RVV_SD__AA_12_Adder_B____Active_Rdr = ( + 3, + WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, + ) + Kh_31P__AS_17_Krypton____600kg = (3, WeaponsSu30.Kh_31P__AS_17_Krypton____600kg) + Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__ = ( + 3, + Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__, + ) + KH_29L__AS_14_Kedge___Semi_Act_Laser = ( + 3, + WeaponsSu30.KH_29L__AS_14_Kedge___Semi_Act_Laser, + ) + KH_29TE__AS_14_Kedge___TV_Guided = ( + 3, + WeaponsSu30.KH_29TE__AS_14_Kedge___TV_Guided, + ) + Kh_59M__AS_18_Kazoo___930kg = (3, WeaponsSu30.Kh_59M__AS_18_Kazoo___930kg) + Kh_59MK__AS_18_Kazoo____930kg = (3, WeaponsSu30.Kh_59MK__AS_18_Kazoo____930kg) + Kh_31A__AS_17_Krypton____610kg = (3, WeaponsSu30.Kh_31A__AS_17_Krypton____610kg) + Kh_35__AS_20_Kayak____520kg = (3, WeaponsSu30.Kh_35__AS_20_Kayak____520kg) + KAB_500Kr___500kg_TV_Guided_Bomb = (3, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb) + KAB_500S___500kg__GPS_Guided = (3, WeaponsSu30.KAB_500S___500kg__GPS_Guided) + KAB_500LG___500kg_Laser_Guided_Bomb = ( + 3, + Weapons.KAB_500LG___500kg_Laser_Guided_Bomb, + ) + SAB_100MN___100_kg_Illumination_Bomb = ( + 3, + Weapons.SAB_100MN___100_kg_Illumination_Bomb, + ) + KMGU_2___96_x_PTAB_2_5KO_Dispenser__CBU__HEAT_AP = ( + 3, + Weapons.KMGU_2___96_x_PTAB_2_5KO_Dispenser__CBU__HEAT_AP, + ) + KMGU_2___96_x_AO_2_5RT_Dispenser__CBU__HE_Frag = ( + 3, + Weapons.KMGU_2___96_x_AO_2_5RT_Dispenser__CBU__HE_Frag, + ) + P_50T___50kg_Practice_Bomb_LD = (3, Weapons.P_50T___50kg_Practice_Bomb_LD) + BetAB_500___500kg_Concrete_Piercing_Bomb_LD = ( + 3, + Weapons.BetAB_500___500kg_Concrete_Piercing_Bomb_LD, + ) + BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb = ( + 3, + Weapons.BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb, + ) + FAB_250___250kg_GP_Bomb_LD = (3, Weapons.FAB_250___250kg_GP_Bomb_LD) + RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP = ( + 3, + Weapons.RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP, + ) + FAB_500_M_62___500kg_GP_Bomb_LD = (3, Weapons.FAB_500_M_62___500kg_GP_Bomb_LD) + RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP = ( + 3, + Weapons.RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP, + ) + MBD3_U6_68_with_6_x_FAB_250___250kg_GP_Bombs_LD = ( + 3, + Weapons.MBD3_U6_68_with_6_x_FAB_250___250kg_GP_Bombs_LD, + ) + MBD3_U6_68_with_6_x_FAB_100___100kg_GP_Bombs_LD = ( + 3, + Weapons.MBD3_U6_68_with_6_x_FAB_100___100kg_GP_Bombs_LD, + ) + _2_x_B_13L_pods___10_x_S_13_OF__122mm_UnGd_Rkts__Blast_Frag = ( + 3, + Weapons._2_x_B_13L_pods___10_x_S_13_OF__122mm_UnGd_Rkts__Blast_Frag, + ) + _2_x_B_8M1___40_x_UnGd_Rkts__80_mm_S_8KOM_HEAT_Frag = ( + 3, + Weapons._2_x_B_8M1___40_x_UnGd_Rkts__80_mm_S_8KOM_HEAT_Frag, + ) + _2_x_B_8M1___40_x_UnGd_Rkts__80_mm_S_8TsM_SM_Orange = ( + 3, + Weapons._2_x_B_8M1___40_x_UnGd_Rkts__80_mm_S_8TsM_SM_Orange, + ) + _2_x_B_8M1___40_x_UnGd_Rkts__80_mm_S_8OFP2_MPP = ( + 3, + Weapons._2_x_B_8M1___40_x_UnGd_Rkts__80_mm_S_8OFP2_MPP, + ) + _2_x_S_25 = (3, Weapons._2_x_S_25) + Mk_82___500lb_GP_Bomb_LD = (3, Weapons.Mk_82___500lb_GP_Bomb_LD) + GBU_38___JDAM__500lb_GPS_Guided_Bomb = ( + 3, + WeaponsSu30.GBU_38___JDAM__500lb_GPS_Guided_Bomb, + ) + GBU_12___500lb_Laser_Guided_Bomb = (3, Weapons.GBU_12___500lb_Laser_Guided_Bomb) + + # ERRR + + class Pylon4: + R_27R1__AA_10_Alamo_A____Semi_Act_Rdr = ( + 4, + WeaponsSu30.R_27R1__AA_10_Alamo_A____Semi_Act_Rdr, + ) + R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range = ( + 4, + WeaponsSu30.R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range, + ) + RVV_AE__AA_12_Adder____Active_Rdr = ( + 4, + WeaponsSu30.RVV_AE__AA_12_Adder____Active_Rdr, + ) + RVV_SD__AA_12_Adder_B____Active_Rdr = ( + 4, + WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, + ) + Kh_31P__AS_17_Krypton____600kg = (4, WeaponsSu30.Kh_31P__AS_17_Krypton____600kg) + Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__ = ( + 4, + Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__, + ) + KH_29L__AS_14_Kedge___Semi_Act_Laser = ( + 4, + WeaponsSu30.KH_29L__AS_14_Kedge___Semi_Act_Laser, + ) + KH_29TE__AS_14_Kedge___TV_Guided = ( + 4, + WeaponsSu30.KH_29TE__AS_14_Kedge___TV_Guided, + ) + Kh_59M__AS_18_Kazoo___930kg = (4, WeaponsSu30.Kh_59M__AS_18_Kazoo___930kg) + Kh_59MK__AS_18_Kazoo____930kg = (4, WeaponsSu30.Kh_59MK__AS_18_Kazoo____930kg) + Kh_31A__AS_17_Krypton____610kg = (4, WeaponsSu30.Kh_31A__AS_17_Krypton____610kg) + Kh_35__AS_20_Kayak____520kg = (4, WeaponsSu30.Kh_35__AS_20_Kayak____520kg) + KAB_500Kr___500kg_TV_Guided_Bomb = (4, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb) + KAB_500S___500kg__GPS_Guided = (4, WeaponsSu30.KAB_500S___500kg__GPS_Guided) + KAB_1500Kr___1500kg = (4, WeaponsSu30.KAB_1500Kr___1500kg) + KAB_1500LG_PR___1500kg = (4, WeaponsSu30.KAB_1500LG_PR___1500kg) + KAB_1500L___1500kg_Laser_Guided_Bomb = ( + 4, + Weapons.KAB_1500L___1500kg_Laser_Guided_Bomb, + ) + KAB_500LG___500kg_Laser_Guided_Bomb = ( + 4, + Weapons.KAB_500LG___500kg_Laser_Guided_Bomb, + ) + SAB_100MN___100_kg_Illumination_Bomb = ( + 4, + Weapons.SAB_100MN___100_kg_Illumination_Bomb, + ) + KMGU_2___96_x_PTAB_2_5KO_Dispenser__CBU__HEAT_AP = ( + 4, + Weapons.KMGU_2___96_x_PTAB_2_5KO_Dispenser__CBU__HEAT_AP, + ) + KMGU_2___96_x_AO_2_5RT_Dispenser__CBU__HE_Frag = ( + 4, + Weapons.KMGU_2___96_x_AO_2_5RT_Dispenser__CBU__HE_Frag, + ) + P_50T___50kg_Practice_Bomb_LD = (4, Weapons.P_50T___50kg_Practice_Bomb_LD) + BetAB_500___500kg_Concrete_Piercing_Bomb_LD = ( + 4, + Weapons.BetAB_500___500kg_Concrete_Piercing_Bomb_LD, + ) + BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb = ( + 4, + Weapons.BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb, + ) + FAB_250___250kg_GP_Bomb_LD = (4, Weapons.FAB_250___250kg_GP_Bomb_LD) + RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP = ( + 4, + Weapons.RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP, + ) + FAB_500_M_62___500kg_GP_Bomb_LD = (4, Weapons.FAB_500_M_62___500kg_GP_Bomb_LD) + RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP = ( + 4, + Weapons.RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP, + ) + MBD3_U6_68_with_6_x_FAB_250___250kg_GP_Bombs_LD = ( + 4, + Weapons.MBD3_U6_68_with_6_x_FAB_250___250kg_GP_Bombs_LD, + ) + MBD3_U6_68_with_6_x_FAB_100___100kg_GP_Bombs_LD = ( + 4, + Weapons.MBD3_U6_68_with_6_x_FAB_100___100kg_GP_Bombs_LD, + ) + # ERRR + Mk_82___500lb_GP_Bomb_LD = (4, Weapons.Mk_82___500lb_GP_Bomb_LD) + GBU_38___JDAM__500lb_GPS_Guided_Bomb = ( + 4, + WeaponsSu30.GBU_38___JDAM__500lb_GPS_Guided_Bomb, + ) + GBU_12___500lb_Laser_Guided_Bomb = (4, Weapons.GBU_12___500lb_Laser_Guided_Bomb) + + class Pylon5: + R_27R1__AA_10_Alamo_A____Semi_Act_Rdr = ( + 5, + WeaponsSu30.R_27R1__AA_10_Alamo_A____Semi_Act_Rdr, + ) + R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range = ( + 5, + WeaponsSu30.R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range, + ) + RVV_AE__AA_12_Adder____Active_Rdr = ( + 5, + WeaponsSu30.RVV_AE__AA_12_Adder____Active_Rdr, + ) + RVV_SD__AA_12_Adder_B____Active_Rdr = ( + 5, + WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, + ) + Kh_31P__AS_17_Krypton____600kg = (5, WeaponsSu30.Kh_31P__AS_17_Krypton____600kg) + KH_29L__AS_14_Kedge___Semi_Act_Laser = ( + 5, + WeaponsSu30.KH_29L__AS_14_Kedge___Semi_Act_Laser, + ) + Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__ = ( + 5, + Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__, + ) + KH_29TE__AS_14_Kedge___TV_Guided = ( + 5, + WeaponsSu30.KH_29TE__AS_14_Kedge___TV_Guided, + ) + Kh_31A__AS_17_Krypton____610kg = (5, WeaponsSu30.Kh_31A__AS_17_Krypton____610kg) + KAB_500Kr___500kg_TV_Guided_Bomb = (5, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb) + KAB_500S___500kg__GPS_Guided = (5, WeaponsSu30.KAB_500S___500kg__GPS_Guided) + KAB_500LG___500kg_Laser_Guided_Bomb = ( + 5, + Weapons.KAB_500LG___500kg_Laser_Guided_Bomb, + ) + SAB_100MN___100_kg_Illumination_Bomb = ( + 5, + Weapons.SAB_100MN___100_kg_Illumination_Bomb, + ) + P_50T___50kg_Practice_Bomb_LD = (5, Weapons.P_50T___50kg_Practice_Bomb_LD) + BetAB_500___500kg_Concrete_Piercing_Bomb_LD = ( + 5, + Weapons.BetAB_500___500kg_Concrete_Piercing_Bomb_LD, + ) + BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb = ( + 5, + Weapons.BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb, + ) + FAB_250___250kg_GP_Bomb_LD = (5, Weapons.FAB_250___250kg_GP_Bomb_LD) + RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP = ( + 5, + Weapons.RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP, + ) + FAB_500_M_62___500kg_GP_Bomb_LD = (5, Weapons.FAB_500_M_62___500kg_GP_Bomb_LD) + RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP = ( + 5, + Weapons.RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP, + ) + MBD3_U6_68_with_6_x_FAB_250___250kg_GP_Bombs_LD = ( + 5, + Weapons.MBD3_U6_68_with_6_x_FAB_250___250kg_GP_Bombs_LD, + ) + APK_9_POD = (5, WeaponsSu30.APK_9_POD) + # ERRR + Mk_82___500lb_GP_Bomb_LD = (5, Weapons.Mk_82___500lb_GP_Bomb_LD) + GBU_38___JDAM__500lb_GPS_Guided_Bomb = ( + 5, + WeaponsSu30.GBU_38___JDAM__500lb_GPS_Guided_Bomb, + ) + GBU_12___500lb_Laser_Guided_Bomb = (5, Weapons.GBU_12___500lb_Laser_Guided_Bomb) + + class Pylon6: + R_27R1__AA_10_Alamo_A____Semi_Act_Rdr = ( + 6, + WeaponsSu30.R_27R1__AA_10_Alamo_A____Semi_Act_Rdr, + ) + R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range = ( + 6, + WeaponsSu30.R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range, + ) + RVV_AE__AA_12_Adder____Active_Rdr = ( + 6, + WeaponsSu30.RVV_AE__AA_12_Adder____Active_Rdr, + ) + RVV_SD__AA_12_Adder_B____Active_Rdr = ( + 6, + WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, + ) + KAB_500Kr___500kg_TV_Guided_Bomb = (6, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb) + KAB_500S___500kg__GPS_Guided = (6, WeaponsSu30.KAB_500S___500kg__GPS_Guided) + KAB_1500Kr___1500kg = (6, WeaponsSu30.KAB_1500Kr___1500kg) + KAB_1500LG_PR___1500kg = (6, WeaponsSu30.KAB_1500LG_PR___1500kg) + KAB_1500L___1500kg_Laser_Guided_Bomb = ( + 6, + Weapons.KAB_1500L___1500kg_Laser_Guided_Bomb, + ) + KAB_500LG___500kg_Laser_Guided_Bomb = ( + 6, + Weapons.KAB_500LG___500kg_Laser_Guided_Bomb, + ) + SAB_100MN___100_kg_Illumination_Bomb = ( + 6, + Weapons.SAB_100MN___100_kg_Illumination_Bomb, + ) + KMGU_2___96_x_PTAB_2_5KO_Dispenser__CBU__HEAT_AP = ( + 6, + Weapons.KMGU_2___96_x_PTAB_2_5KO_Dispenser__CBU__HEAT_AP, + ) + KMGU_2___96_x_AO_2_5RT_Dispenser__CBU__HE_Frag = ( + 6, + Weapons.KMGU_2___96_x_AO_2_5RT_Dispenser__CBU__HE_Frag, + ) + P_50T___50kg_Practice_Bomb_LD = (6, Weapons.P_50T___50kg_Practice_Bomb_LD) + BetAB_500___500kg_Concrete_Piercing_Bomb_LD = ( + 6, + Weapons.BetAB_500___500kg_Concrete_Piercing_Bomb_LD, + ) + BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb = ( + 6, + Weapons.BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb, + ) + FAB_250___250kg_GP_Bomb_LD = (6, Weapons.FAB_250___250kg_GP_Bomb_LD) + RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP = ( + 6, + Weapons.RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP, + ) + FAB_500_M_62___500kg_GP_Bomb_LD = (6, Weapons.FAB_500_M_62___500kg_GP_Bomb_LD) + RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP = ( + 6, + Weapons.RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP, + ) + MBD3_U6_68_with_6_x_FAB_250___250kg_GP_Bombs_LD = ( + 6, + Weapons.MBD3_U6_68_with_6_x_FAB_250___250kg_GP_Bombs_LD, + ) + RBK_500U___126_x_OAB_2_5RT__500kg_CBU_HE_Frag = ( + 6, + Weapons.RBK_500U___126_x_OAB_2_5RT__500kg_CBU_HE_Frag, + ) + RBK_500___268_x_PTAB_1M__500kg_CBU_Light_HEAT_AP = ( + 6, + Weapons.RBK_500___268_x_PTAB_1M__500kg_CBU_Light_HEAT_AP, + ) + # ERRR + Mk_82___500lb_GP_Bomb_LD = (6, Weapons.Mk_82___500lb_GP_Bomb_LD) + GBU_38___JDAM__500lb_GPS_Guided_Bomb = ( + 6, + WeaponsSu30.GBU_38___JDAM__500lb_GPS_Guided_Bomb, + ) + GBU_12___500lb_Laser_Guided_Bomb = (6, Weapons.GBU_12___500lb_Laser_Guided_Bomb) + + class Pylon7: + R_27R1__AA_10_Alamo_A____Semi_Act_Rdr = ( + 7, + WeaponsSu30.R_27R1__AA_10_Alamo_A____Semi_Act_Rdr, + ) + R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range = ( + 7, + WeaponsSu30.R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range, + ) + RVV_AE__AA_12_Adder____Active_Rdr = ( + 7, + WeaponsSu30.RVV_AE__AA_12_Adder____Active_Rdr, + ) + RVV_SD__AA_12_Adder_B____Active_Rdr = ( + 7, + WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, + ) + KAB_500Kr___500kg_TV_Guided_Bomb = (7, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb) + KAB_500S___500kg__GPS_Guided = (7, WeaponsSu30.KAB_500S___500kg__GPS_Guided) + KAB_500LG___500kg_Laser_Guided_Bomb = ( + 7, + Weapons.KAB_500LG___500kg_Laser_Guided_Bomb, + ) + SAB_100MN___100_kg_Illumination_Bomb = ( + 7, + Weapons.SAB_100MN___100_kg_Illumination_Bomb, + ) + KMGU_2___96_x_PTAB_2_5KO_Dispenser__CBU__HEAT_AP = ( + 7, + Weapons.KMGU_2___96_x_PTAB_2_5KO_Dispenser__CBU__HEAT_AP, + ) + KMGU_2___96_x_AO_2_5RT_Dispenser__CBU__HE_Frag = ( + 7, + Weapons.KMGU_2___96_x_AO_2_5RT_Dispenser__CBU__HE_Frag, + ) + P_50T___50kg_Practice_Bomb_LD = (7, Weapons.P_50T___50kg_Practice_Bomb_LD) + BetAB_500___500kg_Concrete_Piercing_Bomb_LD = ( + 7, + Weapons.BetAB_500___500kg_Concrete_Piercing_Bomb_LD, + ) + BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb = ( + 7, + Weapons.BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb, + ) + FAB_250___250kg_GP_Bomb_LD = (7, Weapons.FAB_250___250kg_GP_Bomb_LD) + RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP = ( + 7, + Weapons.RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP, + ) + FAB_500_M_62___500kg_GP_Bomb_LD = (7, Weapons.FAB_500_M_62___500kg_GP_Bomb_LD) + RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP = ( + 7, + Weapons.RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP, + ) + MBD3_U6_68_with_6_x_FAB_250___250kg_GP_Bombs_LD = ( + 7, + Weapons.MBD3_U6_68_with_6_x_FAB_250___250kg_GP_Bombs_LD, + ) + RBK_500U___126_x_OAB_2_5RT__500kg_CBU_HE_Frag = ( + 7, + Weapons.RBK_500U___126_x_OAB_2_5RT__500kg_CBU_HE_Frag, + ) + RBK_500___268_x_PTAB_1M__500kg_CBU_Light_HEAT_AP = ( + 7, + Weapons.RBK_500___268_x_PTAB_1M__500kg_CBU_Light_HEAT_AP, + ) + # ERRR + Smoke_Generator___red = (7, Weapons.Smoke_Generator___red) + Smoke_Generator___green = (7, Weapons.Smoke_Generator___green) + Smoke_Generator___blue = (7, Weapons.Smoke_Generator___blue) + Smoke_Generator___white = (7, Weapons.Smoke_Generator___white) + Smoke_Generator___yellow = (7, Weapons.Smoke_Generator___yellow) + Smoke_Generator___orange = (7, Weapons.Smoke_Generator___orange) + Mk_82___500lb_GP_Bomb_LD = (7, Weapons.Mk_82___500lb_GP_Bomb_LD) + GBU_38___JDAM__500lb_GPS_Guided_Bomb = ( + 7, + WeaponsSu30.GBU_38___JDAM__500lb_GPS_Guided_Bomb, + ) + GBU_12___500lb_Laser_Guided_Bomb = (7, Weapons.GBU_12___500lb_Laser_Guided_Bomb) + + class Pylon8: + R_27R1__AA_10_Alamo_A____Semi_Act_Rdr = ( + 8, + WeaponsSu30.R_27R1__AA_10_Alamo_A____Semi_Act_Rdr, + ) + R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range = ( + 8, + WeaponsSu30.R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range, + ) + RVV_AE__AA_12_Adder____Active_Rdr = ( + 8, + WeaponsSu30.RVV_AE__AA_12_Adder____Active_Rdr, + ) + RVV_SD__AA_12_Adder_B____Active_Rdr = ( + 8, + WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, + ) + Kh_31P__AS_17_Krypton____600kg = (8, WeaponsSu30.Kh_31P__AS_17_Krypton____600kg) + Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__ = ( + 8, + Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__, + ) + KH_29L__AS_14_Kedge___Semi_Act_Laser = ( + 8, + WeaponsSu30.KH_29L__AS_14_Kedge___Semi_Act_Laser, + ) + KH_29TE__AS_14_Kedge___TV_Guided = ( + 8, + WeaponsSu30.KH_29TE__AS_14_Kedge___TV_Guided, + ) + Kh_31A__AS_17_Krypton____610kg = (8, WeaponsSu30.Kh_31A__AS_17_Krypton____610kg) + KAB_500Kr___500kg_TV_Guided_Bomb = (8, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb) + KAB_500S___500kg__GPS_Guided = (8, WeaponsSu30.KAB_500S___500kg__GPS_Guided) + KAB_500LG___500kg_Laser_Guided_Bomb = ( + 8, + Weapons.KAB_500LG___500kg_Laser_Guided_Bomb, + ) + SAB_100MN___100_kg_Illumination_Bomb = ( + 8, + Weapons.SAB_100MN___100_kg_Illumination_Bomb, + ) + P_50T___50kg_Practice_Bomb_LD = (8, Weapons.P_50T___50kg_Practice_Bomb_LD) + BetAB_500___500kg_Concrete_Piercing_Bomb_LD = ( + 8, + Weapons.BetAB_500___500kg_Concrete_Piercing_Bomb_LD, + ) + BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb = ( + 8, + Weapons.BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb, + ) + FAB_250___250kg_GP_Bomb_LD = (8, Weapons.FAB_250___250kg_GP_Bomb_LD) + RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP = ( + 8, + Weapons.RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP, + ) + FAB_500_M_62___500kg_GP_Bomb_LD = (8, Weapons.FAB_500_M_62___500kg_GP_Bomb_LD) + RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP = ( + 8, + Weapons.RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP, + ) + MBD3_U6_68_with_6_x_FAB_250___250kg_GP_Bombs_LD = ( + 8, + Weapons.MBD3_U6_68_with_6_x_FAB_250___250kg_GP_Bombs_LD, + ) + # ERRR {DAMOCLES} + # ERRR + Mk_82___500lb_GP_Bomb_LD = (8, Weapons.Mk_82___500lb_GP_Bomb_LD) + GBU_38___JDAM__500lb_GPS_Guided_Bomb = ( + 8, + WeaponsSu30.GBU_38___JDAM__500lb_GPS_Guided_Bomb, + ) + GBU_12___500lb_Laser_Guided_Bomb = (8, Weapons.GBU_12___500lb_Laser_Guided_Bomb) + + class Pylon9: + R_27R1__AA_10_Alamo_A____Semi_Act_Rdr = ( + 9, + WeaponsSu30.R_27R1__AA_10_Alamo_A____Semi_Act_Rdr, + ) + R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range = ( + 9, + WeaponsSu30.R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range, + ) + RVV_AE__AA_12_Adder____Active_Rdr = ( + 9, + WeaponsSu30.RVV_AE__AA_12_Adder____Active_Rdr, + ) + RVV_SD__AA_12_Adder_B____Active_Rdr = ( + 9, + WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, + ) + Kh_31P__AS_17_Krypton____600kg = (9, WeaponsSu30.Kh_31P__AS_17_Krypton____600kg) + Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__ = ( + 9, + Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__, + ) + KH_29L__AS_14_Kedge___Semi_Act_Laser = ( + 9, + WeaponsSu30.KH_29L__AS_14_Kedge___Semi_Act_Laser, + ) + KH_29TE__AS_14_Kedge___TV_Guided = ( + 9, + WeaponsSu30.KH_29TE__AS_14_Kedge___TV_Guided, + ) + Kh_59M__AS_18_Kazoo___930kg = (9, WeaponsSu30.Kh_59M__AS_18_Kazoo___930kg) + Kh_59MK__AS_18_Kazoo____930kg = (9, WeaponsSu30.Kh_59MK__AS_18_Kazoo____930kg) + Kh_31A__AS_17_Krypton____610kg = (9, WeaponsSu30.Kh_31A__AS_17_Krypton____610kg) + Kh_35__AS_20_Kayak____520kg = (9, WeaponsSu30.Kh_35__AS_20_Kayak____520kg) + KAB_500Kr___500kg_TV_Guided_Bomb = (9, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb) + KAB_500S___500kg__GPS_Guided = (9, WeaponsSu30.KAB_500S___500kg__GPS_Guided) + KAB_1500Kr___1500kg = (9, WeaponsSu30.KAB_1500Kr___1500kg) + KAB_1500LG_PR___1500kg = (9, WeaponsSu30.KAB_1500LG_PR___1500kg) + KAB_1500L___1500kg_Laser_Guided_Bomb = ( + 9, + Weapons.KAB_1500L___1500kg_Laser_Guided_Bomb, + ) + KAB_500LG___500kg_Laser_Guided_Bomb = ( + 9, + Weapons.KAB_500LG___500kg_Laser_Guided_Bomb, + ) + SAB_100MN___100_kg_Illumination_Bomb = ( + 9, + Weapons.SAB_100MN___100_kg_Illumination_Bomb, + ) + KMGU_2___96_x_PTAB_2_5KO_Dispenser__CBU__HEAT_AP = ( + 9, + Weapons.KMGU_2___96_x_PTAB_2_5KO_Dispenser__CBU__HEAT_AP, + ) + KMGU_2___96_x_AO_2_5RT_Dispenser__CBU__HE_Frag = ( + 9, + Weapons.KMGU_2___96_x_AO_2_5RT_Dispenser__CBU__HE_Frag, + ) + P_50T___50kg_Practice_Bomb_LD = (9, Weapons.P_50T___50kg_Practice_Bomb_LD) + BetAB_500___500kg_Concrete_Piercing_Bomb_LD = ( + 9, + Weapons.BetAB_500___500kg_Concrete_Piercing_Bomb_LD, + ) + BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb = ( + 9, + Weapons.BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb, + ) + FAB_250___250kg_GP_Bomb_LD = (9, Weapons.FAB_250___250kg_GP_Bomb_LD) + RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP = ( + 9, + Weapons.RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP, + ) + FAB_500_M_62___500kg_GP_Bomb_LD = (9, Weapons.FAB_500_M_62___500kg_GP_Bomb_LD) + RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP = ( + 9, + Weapons.RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP, + ) + MBD3_U6_68_with_6_x_FAB_250___250kg_GP_Bombs_LD = ( + 9, + Weapons.MBD3_U6_68_with_6_x_FAB_250___250kg_GP_Bombs_LD, + ) + MBD3_U6_68_with_6_x_FAB_100___100kg_GP_Bombs_LD = ( + 9, + Weapons.MBD3_U6_68_with_6_x_FAB_100___100kg_GP_Bombs_LD, + ) + # ERRR + Mk_82___500lb_GP_Bomb_LD = (9, Weapons.Mk_82___500lb_GP_Bomb_LD) + GBU_38___JDAM__500lb_GPS_Guided_Bomb = ( + 9, + WeaponsSu30.GBU_38___JDAM__500lb_GPS_Guided_Bomb, + ) + GBU_12___500lb_Laser_Guided_Bomb = (9, Weapons.GBU_12___500lb_Laser_Guided_Bomb) + + class Pylon10: + R_73__AA_11_Archer____Infra_Red = (10, Weapons.R_73__AA_11_Archer____Infra_Red) + R_73L__AA_11_Archer_L____Infra_Red = ( + 10, + WeaponsSu30.R_73L__AA_11_Archer_L____Infra_Red, + ) + R_73M__AA_11_Archer_M____Infra_Red = ( + 10, + WeaponsSu30.R_73M__AA_11_Archer_M____Infra_Red, + ) + RVV_MD2__AA_11_Archer_M2____Infra_Red = ( + 10, + WeaponsSu30.RVV_MD2__AA_11_Archer_M2____Infra_Red, + ) + R_27R1__AA_10_Alamo_A____Semi_Act_Rdr = ( + 10, + WeaponsSu30.R_27R1__AA_10_Alamo_A____Semi_Act_Rdr, + ) + R_27T1__AA_10_Alamo_B____Infra_Red = ( + 10, + WeaponsSu30.R_27T1__AA_10_Alamo_B____Infra_Red, + ) + R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range = ( + 10, + WeaponsSu30.R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range, + ) + R_27ET1__AA_10_Alamo_D____IR_Extended_Range = ( + 10, + WeaponsSu30.R_27ET1__AA_10_Alamo_D____IR_Extended_Range, + ) + RVV_AE__AA_12_Adder____Active_Rdr = ( + 10, + WeaponsSu30.RVV_AE__AA_12_Adder____Active_Rdr, + ) + RVV_SD__AA_12_Adder_B____Active_Rdr = ( + 10, + WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, + ) + Kh_31P__AS_17_Krypton____600kg = ( + 10, + WeaponsSu30.Kh_31P__AS_17_Krypton____600kg, + ) + Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__ = ( + 10, + Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__, + ) + KH_29L__AS_14_Kedge___Semi_Act_Laser = ( + 10, + WeaponsSu30.KH_29L__AS_14_Kedge___Semi_Act_Laser, + ) + KH_29TE__AS_14_Kedge___TV_Guided = ( + 10, + WeaponsSu30.KH_29TE__AS_14_Kedge___TV_Guided, + ) + Kh_59M__AS_18_Kazoo___930kg = (10, WeaponsSu30.Kh_59M__AS_18_Kazoo___930kg) + Kh_59MK__AS_18_Kazoo____930kg = (10, WeaponsSu30.Kh_59MK__AS_18_Kazoo____930kg) + Kh_31A__AS_17_Krypton____610kg = ( + 10, + WeaponsSu30.Kh_31A__AS_17_Krypton____610kg, + ) + Kh_35__AS_20_Kayak____520kg = (10, WeaponsSu30.Kh_35__AS_20_Kayak____520kg) + KAB_500Kr___500kg_TV_Guided_Bomb = ( + 10, + Weapons.KAB_500Kr___500kg_TV_Guided_Bomb, + ) + KAB_500S___500kg__GPS_Guided = (10, WeaponsSu30.KAB_500S___500kg__GPS_Guided) + KAB_500LG___500kg_Laser_Guided_Bomb = ( + 10, + Weapons.KAB_500LG___500kg_Laser_Guided_Bomb, + ) + SAB_100MN___100_kg_Illumination_Bomb = ( + 10, + Weapons.SAB_100MN___100_kg_Illumination_Bomb, + ) + KMGU_2___96_x_PTAB_2_5KO_Dispenser__CBU__HEAT_AP = ( + 10, + Weapons.KMGU_2___96_x_PTAB_2_5KO_Dispenser__CBU__HEAT_AP, + ) + KMGU_2___96_x_AO_2_5RT_Dispenser__CBU__HE_Frag = ( + 10, + Weapons.KMGU_2___96_x_AO_2_5RT_Dispenser__CBU__HE_Frag, + ) + P_50T___50kg_Practice_Bomb_LD = (10, Weapons.P_50T___50kg_Practice_Bomb_LD) + BetAB_500___500kg_Concrete_Piercing_Bomb_LD = ( + 10, + Weapons.BetAB_500___500kg_Concrete_Piercing_Bomb_LD, + ) + BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb = ( + 10, + Weapons.BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb, + ) + FAB_250___250kg_GP_Bomb_LD = (10, Weapons.FAB_250___250kg_GP_Bomb_LD) + RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP = ( + 10, + Weapons.RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP, + ) + FAB_500_M_62___500kg_GP_Bomb_LD = (10, Weapons.FAB_500_M_62___500kg_GP_Bomb_LD) + RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP = ( + 10, + Weapons.RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP, + ) + MBD3_U6_68_with_6_x_FAB_250___250kg_GP_Bombs_LD = ( + 10, + Weapons.MBD3_U6_68_with_6_x_FAB_250___250kg_GP_Bombs_LD, + ) + MBD3_U6_68_with_6_x_FAB_100___100kg_GP_Bombs_LD = ( + 10, + Weapons.MBD3_U6_68_with_6_x_FAB_100___100kg_GP_Bombs_LD, + ) + _2_x_B_13L_pods___10_x_S_13_OF__122mm_UnGd_Rkts__Blast_Frag = ( + 10, + Weapons._2_x_B_13L_pods___10_x_S_13_OF__122mm_UnGd_Rkts__Blast_Frag, + ) + _2_x_B_8M1___40_x_UnGd_Rkts__80_mm_S_8KOM_HEAT_Frag = ( + 10, + Weapons._2_x_B_8M1___40_x_UnGd_Rkts__80_mm_S_8KOM_HEAT_Frag, + ) + _2_x_B_8M1___40_x_UnGd_Rkts__80_mm_S_8TsM_SM_Orange = ( + 10, + Weapons._2_x_B_8M1___40_x_UnGd_Rkts__80_mm_S_8TsM_SM_Orange, + ) + _2_x_B_8M1___40_x_UnGd_Rkts__80_mm_S_8OFP2_MPP = ( + 10, + Weapons._2_x_B_8M1___40_x_UnGd_Rkts__80_mm_S_8OFP2_MPP, + ) + _2_x_S_25 = (10, Weapons._2_x_S_25) + # ERRR + Mk_82___500lb_GP_Bomb_LD = (10, Weapons.Mk_82___500lb_GP_Bomb_LD) + GBU_38___JDAM__500lb_GPS_Guided_Bomb = ( + 10, + WeaponsSu30.GBU_38___JDAM__500lb_GPS_Guided_Bomb, + ) + GBU_12___500lb_Laser_Guided_Bomb = ( + 10, + Weapons.GBU_12___500lb_Laser_Guided_Bomb, + ) + + class Pylon11: + R_73__AA_11_Archer____Infra_Red = (11, Weapons.R_73__AA_11_Archer____Infra_Red) + R_73L__AA_11_Archer_L____Infra_Red = ( + 11, + WeaponsSu30.R_73L__AA_11_Archer_L____Infra_Red, + ) + R_73M__AA_11_Archer_M____Infra_Red = ( + 11, + WeaponsSu30.R_73M__AA_11_Archer_M____Infra_Red, + ) + RVV_MD2__AA_11_Archer_M2____Infra_Red = ( + 11, + WeaponsSu30.RVV_MD2__AA_11_Archer_M2____Infra_Red, + ) + RVV_AE__AA_12_Adder____Active_Rdr = ( + 11, + WeaponsSu30.RVV_AE__AA_12_Adder____Active_Rdr, + ) + RVV_SD__AA_12_Adder_B____Active_Rdr = ( + 11, + WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, + ) + Smoke_Generator___red = (11, Weapons.Smoke_Generator___red) + Smoke_Generator___green = (11, Weapons.Smoke_Generator___green) + Smoke_Generator___blue = (11, Weapons.Smoke_Generator___blue) + Smoke_Generator___white = (11, Weapons.Smoke_Generator___white) + Smoke_Generator___yellow = (11, Weapons.Smoke_Generator___yellow) + Smoke_Generator___orange = (11, Weapons.Smoke_Generator___orange) + + # ERRR + + class Pylon12: + R_73__AA_11_Archer____Infra_Red = (12, Weapons.R_73__AA_11_Archer____Infra_Red) + R_73L__AA_11_Archer_L____Infra_Red = ( + 12, + WeaponsSu30.R_73L__AA_11_Archer_L____Infra_Red, + ) + R_73M__AA_11_Archer_M____Infra_Red = ( + 12, + WeaponsSu30.R_73M__AA_11_Archer_M____Infra_Red, + ) + RVV_MD2__AA_11_Archer_M2____Infra_Red = ( + 12, + WeaponsSu30.RVV_MD2__AA_11_Archer_M2____Infra_Red, + ) + L005_Sorbtsiya_ECM_pod__right_ = (12, Weapons.L005_Sorbtsiya_ECM_pod__right_) + SAP_518_ECM_Pod__Right_ = (12, WeaponsSu30.SAP_518_ECM_Pod__Right_) + Smoke_Generator___red = (12, Weapons.Smoke_Generator___red) + Smoke_Generator___green = (12, Weapons.Smoke_Generator___green) + Smoke_Generator___blue = (12, Weapons.Smoke_Generator___blue) + Smoke_Generator___white = (12, Weapons.Smoke_Generator___white) + Smoke_Generator___yellow = (12, Weapons.Smoke_Generator___yellow) + Smoke_Generator___orange = (12, Weapons.Smoke_Generator___orange) + + pylons: Set[int] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12} + + tasks = [ + task.CAP, + task.Escort, + task.FighterSweep, + task.Intercept, + task.AFAC, + task.SEAD, + task.AntishipStrike, + task.CAS, + task.PinpointStrike, + task.GroundAttack, + task.RunwayAttack, + ] + task_default = task.CAP + + +@planemod +class Su_30MKI(PlaneType): + id = "Su-30MKI" + flyable = True + height = 5.932 + width = 14.7 + length = 21.935 + fuel_max = 9500 + max_speed = 2499.984 + chaff = 96 + flare = 96 + charge_total = 192 + chaff_charge_size = 1 + flare_charge_size = 1 + eplrs = True + category = "Interceptor" # {78EFB7A2-FD52-4b57-A6A6-3BF0E1D6555F} + + 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: 117, + 2: 135, + 4: 127, + 8: 128, + 16: 132, + 17: 138, + 9: 126, + 18: 122, + 5: 125, + 10: 133, + 20: 137, + 11: 130, + 3: 136, + 6: 121, + 12: 139, + 13: 140, + 7: 141, + 14: 131, + 19: 124, + 15: 134, + }, + }, + } + + property_defaults: Dict[str, Any] = { + "SoloFlight": False, + "NetCrewControlPriority": 0, + "HumanOrchestra": False, + "HelmetMountedDevice": 1, + "ShowLadders": True, + "su30Chaff": 96, + "su30Flare": 96, + } + + class Properties: + class SoloFlight: + id = "SoloFlight" + + class NetCrewControlPriority: + id = "NetCrewControlPriority" + + class Values: + Pilot = 0 + WSO = 1 + Ask_Always = -1 + Equally_Responsible = -2 + + class HumanOrchestra: + id = "HumanOrchestra" + + class HelmetMountedDevice: + id = "HelmetMountedDevice" + + class Values: + Not_installed = 0 + SURA_Visor = 1 + NVG = 2 + + class ShowLadders: + id = "ShowLadders" + + class su30Chaff: + id = "su30Chaff" + + class su30Flare: + id = "su30Flare" + + properties = { + "SoloFlight": UnitPropertyDescription( + identifier="SoloFlight", + control="checkbox", + label="Solo Flight", + player_only=True, + default=False, + weight_when_on=-80, + ), + "NetCrewControlPriority": UnitPropertyDescription( + identifier="NetCrewControlPriority", + control="comboList", + label="Aircraft Control Priority", + player_only=True, + default=0, + w_ctrl=150, + values={ + 0: "Pilot", + 1: "WSO", + -1: "Ask Always", + -2: "Equally Responsible", + }, + ), + "HumanOrchestra": UnitPropertyDescription( + identifier="HumanOrchestra", + control="checkbox", + label="Disable Multicrew", + player_only=True, + default=False, + ), + "HelmetMountedDevice": UnitPropertyDescription( + identifier="HelmetMountedDevice", + control="comboList", + label="Helmet Mounted Device", + player_only=True, + default=1, + w_ctrl=150, + values={ + 0: "Not installed", + 1: "SURA Visor", + 2: "NVG", + }, + ), + "ShowLadders": UnitPropertyDescription( + identifier="ShowLadders", + control="checkbox", + label="Show Ladders", + default=True, + ), + "su30Chaff": UnitPropertyDescription( + identifier="su30Chaff", + control="spinbox", + label="Chaff", + player_only=True, + minimum=0, + maximum=192, + default=96, + dimension=" ", + ), + "su30Flare": UnitPropertyDescription( + identifier="su30Flare", + control="spinbox", + label="Flare", + player_only=True, + minimum=0, + maximum=192, + default=96, + dimension=" ", + ), + } + + livery_name = "SU-30MKI" # from type + + class Pylon1: + R_73__AA_11_Archer____Infra_Red = (1, Weapons.R_73__AA_11_Archer____Infra_Red) + R_73L__AA_11_Archer_L____Infra_Red = ( + 1, + WeaponsSu30.R_73L__AA_11_Archer_L____Infra_Red, + ) + R_73M__AA_11_Archer_M____Infra_Red = ( + 1, + WeaponsSu30.R_73M__AA_11_Archer_M____Infra_Red, + ) + RVV_MD2__AA_11_Archer_M2____Infra_Red = ( + 1, + WeaponsSu30.RVV_MD2__AA_11_Archer_M2____Infra_Red, + ) + L005_Sorbtsiya_ECM_pod__left_ = (1, Weapons.L005_Sorbtsiya_ECM_pod__left_) + SAP_518_ECM_Pod__Left_ = (1, WeaponsSu30.SAP_518_ECM_Pod__Left_) + Smoke_Generator___red = (1, Weapons.Smoke_Generator___red) + Smoke_Generator___green = (1, Weapons.Smoke_Generator___green) + Smoke_Generator___blue = (1, Weapons.Smoke_Generator___blue) + Smoke_Generator___white = (1, Weapons.Smoke_Generator___white) + Smoke_Generator___yellow = (1, Weapons.Smoke_Generator___yellow) + Smoke_Generator___orange = (1, Weapons.Smoke_Generator___orange) + + class Pylon2: + R_73__AA_11_Archer____Infra_Red = (2, Weapons.R_73__AA_11_Archer____Infra_Red) + R_73L__AA_11_Archer_L____Infra_Red = ( + 2, + WeaponsSu30.R_73L__AA_11_Archer_L____Infra_Red, + ) + R_73M__AA_11_Archer_M____Infra_Red = ( + 2, + WeaponsSu30.R_73M__AA_11_Archer_M____Infra_Red, + ) + RVV_MD2__AA_11_Archer_M2____Infra_Red = ( + 2, + WeaponsSu30.RVV_MD2__AA_11_Archer_M2____Infra_Red, + ) + ASTRA_Mk_1___Active_Rdr_AAM = (2, WeaponsSu30.ASTRA_Mk_1___Active_Rdr_AAM) + I_Derby_ER___Active_Rdr_AAM = (2, WeaponsSu30.I_Derby_ER___Active_Rdr_AAM) + RVV_AE__AA_12_Adder____Active_Rdr = ( + 2, + WeaponsSu30.RVV_AE__AA_12_Adder____Active_Rdr, + ) + RVV_SD__AA_12_Adder_B____Active_Rdr = ( + 2, + WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, + ) + Smoke_Generator___red = (2, Weapons.Smoke_Generator___red) + Smoke_Generator___green = (2, Weapons.Smoke_Generator___green) + Smoke_Generator___blue = (2, Weapons.Smoke_Generator___blue) + Smoke_Generator___white = (2, Weapons.Smoke_Generator___white) + Smoke_Generator___yellow = (2, Weapons.Smoke_Generator___yellow) + Smoke_Generator___orange = (2, Weapons.Smoke_Generator___orange) + + # ERRR + + class Pylon3: + R_73__AA_11_Archer____Infra_Red = (3, Weapons.R_73__AA_11_Archer____Infra_Red) + R_73L__AA_11_Archer_L____Infra_Red = ( + 3, + WeaponsSu30.R_73L__AA_11_Archer_L____Infra_Red, + ) + R_73M__AA_11_Archer_M____Infra_Red = ( + 3, + WeaponsSu30.R_73M__AA_11_Archer_M____Infra_Red, + ) + RVV_MD2__AA_11_Archer_M2____Infra_Red = ( + 3, + WeaponsSu30.RVV_MD2__AA_11_Archer_M2____Infra_Red, + ) + R_27R1__AA_10_Alamo_A____Semi_Act_Rdr = ( + 3, + WeaponsSu30.R_27R1__AA_10_Alamo_A____Semi_Act_Rdr, + ) + R_27T1__AA_10_Alamo_B____Infra_Red = ( + 3, + WeaponsSu30.R_27T1__AA_10_Alamo_B____Infra_Red, + ) + R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range = ( + 3, + WeaponsSu30.R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range, + ) + R_27ET1__AA_10_Alamo_D____IR_Extended_Range = ( + 3, + WeaponsSu30.R_27ET1__AA_10_Alamo_D____IR_Extended_Range, + ) + ASTRA_Mk_1___Active_Rdr_AAM = (3, WeaponsSu30.ASTRA_Mk_1___Active_Rdr_AAM) + I_Derby_ER___Active_Rdr_AAM = (3, WeaponsSu30.I_Derby_ER___Active_Rdr_AAM) + RVV_AE__AA_12_Adder____Active_Rdr = ( + 3, + WeaponsSu30.RVV_AE__AA_12_Adder____Active_Rdr, + ) + RVV_SD__AA_12_Adder_B____Active_Rdr = ( + 3, + WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, + ) + KH_29L__AS_14_Kedge___Semi_Act_Laser = ( + 3, + WeaponsSu30.KH_29L__AS_14_Kedge___Semi_Act_Laser, + ) + Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__ = ( + 3, + Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__, + ) + KH_29TE__AS_14_Kedge___TV_Guided = ( + 3, + WeaponsSu30.KH_29TE__AS_14_Kedge___TV_Guided, + ) + Kh_59M__AS_18_Kazoo___930kg = (3, WeaponsSu30.Kh_59M__AS_18_Kazoo___930kg) + Kh_59MK__AS_18_Kazoo____930kg = (3, WeaponsSu30.Kh_59MK__AS_18_Kazoo____930kg) + Kh_31A__AS_17_Krypton____610kg = (3, WeaponsSu30.Kh_31A__AS_17_Krypton____610kg) + Kh_31P__AS_17_Krypton____600kg = (3, WeaponsSu30.Kh_31P__AS_17_Krypton____600kg) + Kh_35__AS_20_Kayak____520kg = (3, WeaponsSu30.Kh_35__AS_20_Kayak____520kg) + Rudra_M1 = (3, WeaponsSu30.Rudra_M1) + SAAW_POD = (3, WeaponsSu30.SAAW_POD) + KAB_500Kr___500kg_TV_Guided_Bomb = (3, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb) + KAB_500S___500kg__GPS_Guided = (3, WeaponsSu30.KAB_500S___500kg__GPS_Guided) + KAB_500LG___500kg_Laser_Guided_Bomb = ( + 3, + Weapons.KAB_500LG___500kg_Laser_Guided_Bomb, + ) + SAB_100MN___100_kg_Illumination_Bomb = ( + 3, + Weapons.SAB_100MN___100_kg_Illumination_Bomb, + ) + KMGU_2___96_x_PTAB_2_5KO_Dispenser__CBU__HEAT_AP = ( + 3, + Weapons.KMGU_2___96_x_PTAB_2_5KO_Dispenser__CBU__HEAT_AP, + ) + KMGU_2___96_x_AO_2_5RT_Dispenser__CBU__HE_Frag = ( + 3, + Weapons.KMGU_2___96_x_AO_2_5RT_Dispenser__CBU__HE_Frag, + ) + P_50T___50kg_Practice_Bomb_LD = (3, Weapons.P_50T___50kg_Practice_Bomb_LD) + BetAB_500___500kg_Concrete_Piercing_Bomb_LD = ( + 3, + Weapons.BetAB_500___500kg_Concrete_Piercing_Bomb_LD, + ) + BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb = ( + 3, + Weapons.BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb, + ) + RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP = ( + 3, + Weapons.RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP, + ) + RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP = ( + 3, + Weapons.RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP, + ) + FAB_500_M54___474kg__freefall = (3, WeaponsSu30.FAB_500_M54___474kg__freefall) + FAB_500_M62___474kg__freefall = (3, WeaponsSu30.FAB_500_M62___474kg__freefall) + FAB_250_M62___227kg__freefall = (3, WeaponsSu30.FAB_250_M62___227kg__freefall) + MBD3_U6_68_with_6_x_FAB_250___250kg = ( + 3, + WeaponsSu30.MBD3_U6_68_with_6_x_FAB_250___250kg, + ) + MBD3_U6_68_with_6_x_FAB_100___100kg = ( + 3, + WeaponsSu30.MBD3_U6_68_with_6_x_FAB_100___100kg, + ) + _2_x_B_13L_pods___10_x_S_13_OF__122mm_UnGd_Rkts__Blast_Frag = ( + 3, + Weapons._2_x_B_13L_pods___10_x_S_13_OF__122mm_UnGd_Rkts__Blast_Frag, + ) + _2_x_B_8M1___40_x_UnGd_Rkts__80_mm_S_8KOM_HEAT_Frag = ( + 3, + Weapons._2_x_B_8M1___40_x_UnGd_Rkts__80_mm_S_8KOM_HEAT_Frag, + ) + _2_x_B_8M1___40_x_UnGd_Rkts__80_mm_S_8TsM_SM_Orange = ( + 3, + Weapons._2_x_B_8M1___40_x_UnGd_Rkts__80_mm_S_8TsM_SM_Orange, + ) + _2_x_B_8M1___40_x_UnGd_Rkts__80_mm_S_8OFP2_MPP = ( + 3, + Weapons._2_x_B_8M1___40_x_UnGd_Rkts__80_mm_S_8OFP2_MPP, + ) + _2_x_S_25 = (3, Weapons._2_x_S_25) + + # ERRR + + class Pylon4: + R_27R1__AA_10_Alamo_A____Semi_Act_Rdr = ( + 4, + WeaponsSu30.R_27R1__AA_10_Alamo_A____Semi_Act_Rdr, + ) + R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range = ( + 4, + WeaponsSu30.R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range, + ) + I_Derby_ER___Active_Rdr_AAM = (4, WeaponsSu30.I_Derby_ER___Active_Rdr_AAM) + RVV_AE__AA_12_Adder____Active_Rdr = ( + 4, + WeaponsSu30.RVV_AE__AA_12_Adder____Active_Rdr, + ) + RVV_SD__AA_12_Adder_B____Active_Rdr = ( + 4, + WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, + ) + KH_29L__AS_14_Kedge___Semi_Act_Laser = ( + 4, + WeaponsSu30.KH_29L__AS_14_Kedge___Semi_Act_Laser, + ) + Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__ = ( + 4, + Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__, + ) + KH_29TE__AS_14_Kedge___TV_Guided = ( + 4, + WeaponsSu30.KH_29TE__AS_14_Kedge___TV_Guided, + ) + Kh_59M__AS_18_Kazoo___930kg = (4, WeaponsSu30.Kh_59M__AS_18_Kazoo___930kg) + Kh_59MK__AS_18_Kazoo____930kg = (4, WeaponsSu30.Kh_59MK__AS_18_Kazoo____930kg) + Kh_31A__AS_17_Krypton____610kg = (4, WeaponsSu30.Kh_31A__AS_17_Krypton____610kg) + Kh_31P__AS_17_Krypton____600kg = (4, WeaponsSu30.Kh_31P__AS_17_Krypton____600kg) + Kh_35__AS_20_Kayak____520kg = (4, WeaponsSu30.Kh_35__AS_20_Kayak____520kg) + Rudra_M1 = (4, WeaponsSu30.Rudra_M1) + SAAW_POD = (4, WeaponsSu30.SAAW_POD) + KAB_500Kr___500kg_TV_Guided_Bomb = (4, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb) + KAB_500S___500kg__GPS_Guided = (4, WeaponsSu30.KAB_500S___500kg__GPS_Guided) + KAB_1500Kr___1500kg = (4, WeaponsSu30.KAB_1500Kr___1500kg) + KAB_1500LG_PR___1500kg = (4, WeaponsSu30.KAB_1500LG_PR___1500kg) + KAB_1500L___1500kg_Laser_Guided_Bomb = ( + 4, + Weapons.KAB_1500L___1500kg_Laser_Guided_Bomb, + ) + KAB_500LG___500kg_Laser_Guided_Bomb = ( + 4, + Weapons.KAB_500LG___500kg_Laser_Guided_Bomb, + ) + SAB_100MN___100_kg_Illumination_Bomb = ( + 4, + Weapons.SAB_100MN___100_kg_Illumination_Bomb, + ) + KMGU_2___96_x_PTAB_2_5KO_Dispenser__CBU__HEAT_AP = ( + 4, + Weapons.KMGU_2___96_x_PTAB_2_5KO_Dispenser__CBU__HEAT_AP, + ) + KMGU_2___96_x_AO_2_5RT_Dispenser__CBU__HE_Frag = ( + 4, + Weapons.KMGU_2___96_x_AO_2_5RT_Dispenser__CBU__HE_Frag, + ) + P_50T___50kg_Practice_Bomb_LD = (4, Weapons.P_50T___50kg_Practice_Bomb_LD) + BetAB_500___500kg_Concrete_Piercing_Bomb_LD = ( + 4, + Weapons.BetAB_500___500kg_Concrete_Piercing_Bomb_LD, + ) + BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb = ( + 4, + Weapons.BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb, + ) + RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP = ( + 4, + Weapons.RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP, + ) + RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP = ( + 4, + Weapons.RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP, + ) + FAB_500_M54___474kg__freefall = (4, WeaponsSu30.FAB_500_M54___474kg__freefall) + FAB_500_M62___474kg__freefall = (4, WeaponsSu30.FAB_500_M62___474kg__freefall) + FAB_250_M62___227kg__freefall = (4, WeaponsSu30.FAB_250_M62___227kg__freefall) + MBD3_U6_68_with_6_x_FAB_250___250kg = ( + 4, + WeaponsSu30.MBD3_U6_68_with_6_x_FAB_250___250kg, + ) + MBD3_U6_68_with_6_x_FAB_100___100kg = ( + 4, + WeaponsSu30.MBD3_U6_68_with_6_x_FAB_100___100kg, + ) + + # ERRR + + class Pylon5: + R_27R1__AA_10_Alamo_A____Semi_Act_Rdr = ( + 5, + WeaponsSu30.R_27R1__AA_10_Alamo_A____Semi_Act_Rdr, + ) + R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range = ( + 5, + WeaponsSu30.R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range, + ) + I_Derby_ER___Active_Rdr_AAM = (5, WeaponsSu30.I_Derby_ER___Active_Rdr_AAM) + RVV_AE__AA_12_Adder____Active_Rdr = ( + 5, + WeaponsSu30.RVV_AE__AA_12_Adder____Active_Rdr, + ) + RVV_SD__AA_12_Adder_B____Active_Rdr = ( + 5, + WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, + ) + Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__ = ( + 5, + Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__, + ) + KH_29TE__AS_14_Kedge___TV_Guided = ( + 5, + WeaponsSu30.KH_29TE__AS_14_Kedge___TV_Guided, + ) + KH_29L__AS_14_Kedge___Semi_Act_Laser = ( + 5, + WeaponsSu30.KH_29L__AS_14_Kedge___Semi_Act_Laser, + ) + Kh_31A__AS_17_Krypton____610kg = (5, WeaponsSu30.Kh_31A__AS_17_Krypton____610kg) + Kh_31P__AS_17_Krypton____600kg = (5, WeaponsSu30.Kh_31P__AS_17_Krypton____600kg) + Rudra_M1 = (5, WeaponsSu30.Rudra_M1) + KAB_500Kr___500kg_TV_Guided_Bomb = (5, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb) + KAB_500S___500kg__GPS_Guided = (5, WeaponsSu30.KAB_500S___500kg__GPS_Guided) + KAB_500LG___500kg_Laser_Guided_Bomb = ( + 5, + Weapons.KAB_500LG___500kg_Laser_Guided_Bomb, + ) + SAB_100MN___100_kg_Illumination_Bomb = ( + 5, + Weapons.SAB_100MN___100_kg_Illumination_Bomb, + ) + P_50T___50kg_Practice_Bomb_LD = (5, Weapons.P_50T___50kg_Practice_Bomb_LD) + BetAB_500___500kg_Concrete_Piercing_Bomb_LD = ( + 5, + Weapons.BetAB_500___500kg_Concrete_Piercing_Bomb_LD, + ) + BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb = ( + 5, + Weapons.BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb, + ) + RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP = ( + 5, + Weapons.RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP, + ) + RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP = ( + 5, + Weapons.RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP, + ) + FAB_500_M54___474kg__freefall = (5, WeaponsSu30.FAB_500_M54___474kg__freefall) + FAB_500_M62___474kg__freefall = (5, WeaponsSu30.FAB_500_M62___474kg__freefall) + FAB_250_M62___227kg__freefall = (5, WeaponsSu30.FAB_250_M62___227kg__freefall) + MBD3_U6_68_with_6_x_FAB_250___250kg = ( + 5, + WeaponsSu30.MBD3_U6_68_with_6_x_FAB_250___250kg, + ) + MBD3_U6_68_with_6_x_FAB_100___100kg = ( + 5, + WeaponsSu30.MBD3_U6_68_with_6_x_FAB_100___100kg, + ) + APK_9_POD = (5, WeaponsSu30.APK_9_POD) + L_081_Fantasmagoria_ELINT_pod = (5, Weapons.L_081_Fantasmagoria_ELINT_pod) + + # ERRR + + class Pylon6: + R_27R1__AA_10_Alamo_A____Semi_Act_Rdr = ( + 6, + WeaponsSu30.R_27R1__AA_10_Alamo_A____Semi_Act_Rdr, + ) + R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range = ( + 6, + WeaponsSu30.R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range, + ) + RVV_AE__AA_12_Adder____Active_Rdr = ( + 6, + WeaponsSu30.RVV_AE__AA_12_Adder____Active_Rdr, + ) + RVV_SD__AA_12_Adder_B____Active_Rdr = ( + 6, + WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, + ) + I_Derby_ER___Active_Rdr_AAM = (6, WeaponsSu30.I_Derby_ER___Active_Rdr_AAM) + # ERRR {BRAHMOS_AG} + BRAHMOS_A_Ship = (6, WeaponsSu30.BRAHMOS_A_Ship) + BRAHMOS_SEAD = (6, WeaponsSu30.BRAHMOS_SEAD) + KAB_500Kr___500kg_TV_Guided_Bomb = (6, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb) + KAB_500S___500kg__GPS_Guided = (6, WeaponsSu30.KAB_500S___500kg__GPS_Guided) + KAB_1500Kr___1500kg = (6, WeaponsSu30.KAB_1500Kr___1500kg) + KAB_1500LG_PR___1500kg = (6, WeaponsSu30.KAB_1500LG_PR___1500kg) + KAB_1500L___1500kg_Laser_Guided_Bomb = ( + 6, + Weapons.KAB_1500L___1500kg_Laser_Guided_Bomb, + ) + KAB_500LG___500kg_Laser_Guided_Bomb = ( + 6, + Weapons.KAB_500LG___500kg_Laser_Guided_Bomb, + ) + SAB_100MN___100_kg_Illumination_Bomb = ( + 6, + Weapons.SAB_100MN___100_kg_Illumination_Bomb, + ) + KMGU_2___96_x_PTAB_2_5KO_Dispenser__CBU__HEAT_AP = ( + 6, + Weapons.KMGU_2___96_x_PTAB_2_5KO_Dispenser__CBU__HEAT_AP, + ) + KMGU_2___96_x_AO_2_5RT_Dispenser__CBU__HE_Frag = ( + 6, + Weapons.KMGU_2___96_x_AO_2_5RT_Dispenser__CBU__HE_Frag, + ) + P_50T___50kg_Practice_Bomb_LD = (6, Weapons.P_50T___50kg_Practice_Bomb_LD) + BetAB_500___500kg_Concrete_Piercing_Bomb_LD = ( + 6, + Weapons.BetAB_500___500kg_Concrete_Piercing_Bomb_LD, + ) + BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb = ( + 6, + Weapons.BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb, + ) + RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP = ( + 6, + Weapons.RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP, + ) + RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP = ( + 6, + Weapons.RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP, + ) + FAB_500_M54___474kg__freefall = (6, WeaponsSu30.FAB_500_M54___474kg__freefall) + FAB_500_M62___474kg__freefall = (6, WeaponsSu30.FAB_500_M62___474kg__freefall) + FAB_250_M62___227kg__freefall = (6, WeaponsSu30.FAB_250_M62___227kg__freefall) + MBD3_U6_68_with_6_x_FAB_250___250kg = ( + 6, + WeaponsSu30.MBD3_U6_68_with_6_x_FAB_250___250kg, + ) + MBD3_U6_68_with_6_x_FAB_100___100kg = ( + 6, + WeaponsSu30.MBD3_U6_68_with_6_x_FAB_100___100kg, + ) + RBK_500U___126_x_OAB_2_5RT__500kg_CBU_HE_Frag = ( + 6, + Weapons.RBK_500U___126_x_OAB_2_5RT__500kg_CBU_HE_Frag, + ) + RBK_500___268_x_PTAB_1M__500kg_CBU_Light_HEAT_AP = ( + 6, + Weapons.RBK_500___268_x_PTAB_1M__500kg_CBU_Light_HEAT_AP, + ) + EL_M_2060 = (6, WeaponsSu30.EL_M_2060) + + # ERRR + + class Pylon7: + R_27R1__AA_10_Alamo_A____Semi_Act_Rdr = ( + 7, + WeaponsSu30.R_27R1__AA_10_Alamo_A____Semi_Act_Rdr, + ) + R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range = ( + 7, + WeaponsSu30.R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range, + ) + RVV_AE__AA_12_Adder____Active_Rdr = ( + 7, + WeaponsSu30.RVV_AE__AA_12_Adder____Active_Rdr, + ) + RVV_SD__AA_12_Adder_B____Active_Rdr = ( + 7, + WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, + ) + I_Derby_ER___Active_Rdr_AAM = (7, WeaponsSu30.I_Derby_ER___Active_Rdr_AAM) + KAB_500Kr___500kg_TV_Guided_Bomb = (7, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb) + KAB_500S___500kg__GPS_Guided = (7, WeaponsSu30.KAB_500S___500kg__GPS_Guided) + KAB_500LG___500kg_Laser_Guided_Bomb = ( + 7, + Weapons.KAB_500LG___500kg_Laser_Guided_Bomb, + ) + SAB_100MN___100_kg_Illumination_Bomb = ( + 7, + Weapons.SAB_100MN___100_kg_Illumination_Bomb, + ) + KMGU_2___96_x_PTAB_2_5KO_Dispenser__CBU__HEAT_AP = ( + 7, + Weapons.KMGU_2___96_x_PTAB_2_5KO_Dispenser__CBU__HEAT_AP, + ) + KMGU_2___96_x_AO_2_5RT_Dispenser__CBU__HE_Frag = ( + 7, + Weapons.KMGU_2___96_x_AO_2_5RT_Dispenser__CBU__HE_Frag, + ) + P_50T___50kg_Practice_Bomb_LD = (7, Weapons.P_50T___50kg_Practice_Bomb_LD) + BetAB_500___500kg_Concrete_Piercing_Bomb_LD = ( + 7, + Weapons.BetAB_500___500kg_Concrete_Piercing_Bomb_LD, + ) + BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb = ( + 7, + Weapons.BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb, + ) + RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP = ( + 7, + Weapons.RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP, + ) + RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP = ( + 7, + Weapons.RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP, + ) + FAB_500_M54___474kg__freefall = (7, WeaponsSu30.FAB_500_M54___474kg__freefall) + FAB_500_M62___474kg__freefall = (7, WeaponsSu30.FAB_500_M62___474kg__freefall) + FAB_250_M62___227kg__freefall = (7, WeaponsSu30.FAB_250_M62___227kg__freefall) + MBD3_U6_68_with_6_x_FAB_250___250kg = ( + 7, + WeaponsSu30.MBD3_U6_68_with_6_x_FAB_250___250kg, + ) + MBD3_U6_68_with_6_x_FAB_100___100kg = ( + 7, + WeaponsSu30.MBD3_U6_68_with_6_x_FAB_100___100kg, + ) + Smoke_Generator___red = (7, Weapons.Smoke_Generator___red) + Smoke_Generator___green = (7, Weapons.Smoke_Generator___green) + Smoke_Generator___blue = (7, Weapons.Smoke_Generator___blue) + Smoke_Generator___white = (7, Weapons.Smoke_Generator___white) + Smoke_Generator___yellow = (7, Weapons.Smoke_Generator___yellow) + Smoke_Generator___orange = (7, Weapons.Smoke_Generator___orange) + # ERRR + RBK_500U___126_x_OAB_2_5RT__500kg_CBU_HE_Frag = ( + 7, + Weapons.RBK_500U___126_x_OAB_2_5RT__500kg_CBU_HE_Frag, + ) + RBK_500___268_x_PTAB_1M__500kg_CBU_Light_HEAT_AP = ( + 7, + Weapons.RBK_500___268_x_PTAB_1M__500kg_CBU_Light_HEAT_AP, + ) + + class Pylon8: + R_27R1__AA_10_Alamo_A____Semi_Act_Rdr = ( + 8, + WeaponsSu30.R_27R1__AA_10_Alamo_A____Semi_Act_Rdr, + ) + R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range = ( + 8, + WeaponsSu30.R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range, + ) + RVV_AE__AA_12_Adder____Active_Rdr = ( + 8, + WeaponsSu30.RVV_AE__AA_12_Adder____Active_Rdr, + ) + RVV_SD__AA_12_Adder_B____Active_Rdr = ( + 8, + WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, + ) + I_Derby_ER___Active_Rdr_AAM = (8, WeaponsSu30.I_Derby_ER___Active_Rdr_AAM) + KH_29L__AS_14_Kedge___Semi_Act_Laser = ( + 8, + WeaponsSu30.KH_29L__AS_14_Kedge___Semi_Act_Laser, + ) + Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__ = ( + 8, + Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__, + ) + KH_29TE__AS_14_Kedge___TV_Guided = ( + 8, + WeaponsSu30.KH_29TE__AS_14_Kedge___TV_Guided, + ) + Kh_31A__AS_17_Krypton____610kg = (8, WeaponsSu30.Kh_31A__AS_17_Krypton____610kg) + Kh_31P__AS_17_Krypton____600kg = (8, WeaponsSu30.Kh_31P__AS_17_Krypton____600kg) + Rudra_M1 = (8, WeaponsSu30.Rudra_M1) + KAB_500Kr___500kg_TV_Guided_Bomb = (8, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb) + KAB_500S___500kg__GPS_Guided = (8, WeaponsSu30.KAB_500S___500kg__GPS_Guided) + KAB_500LG___500kg_Laser_Guided_Bomb = ( + 8, + Weapons.KAB_500LG___500kg_Laser_Guided_Bomb, + ) + SAB_100MN___100_kg_Illumination_Bomb = ( + 8, + Weapons.SAB_100MN___100_kg_Illumination_Bomb, + ) + P_50T___50kg_Practice_Bomb_LD = (8, Weapons.P_50T___50kg_Practice_Bomb_LD) + BetAB_500___500kg_Concrete_Piercing_Bomb_LD = ( + 8, + Weapons.BetAB_500___500kg_Concrete_Piercing_Bomb_LD, + ) + BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb = ( + 8, + Weapons.BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb, + ) + RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP = ( + 8, + Weapons.RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP, + ) + RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP = ( + 8, + Weapons.RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP, + ) + FAB_500_M54___474kg__freefall = (8, WeaponsSu30.FAB_500_M54___474kg__freefall) + FAB_500_M62___474kg__freefall = (8, WeaponsSu30.FAB_500_M62___474kg__freefall) + FAB_250_M62___227kg__freefall = (8, WeaponsSu30.FAB_250_M62___227kg__freefall) + MBD3_U6_68_with_6_x_FAB_250___250kg = ( + 8, + WeaponsSu30.MBD3_U6_68_with_6_x_FAB_250___250kg, + ) + MBD3_U6_68_with_6_x_FAB_100___100kg = ( + 8, + WeaponsSu30.MBD3_U6_68_with_6_x_FAB_100___100kg, + ) + LITENING___Targeting_Pod = (8, WeaponsSu30.LITENING___Targeting_Pod) + + # ERRR + + class Pylon9: + R_27R1__AA_10_Alamo_A____Semi_Act_Rdr = ( + 9, + WeaponsSu30.R_27R1__AA_10_Alamo_A____Semi_Act_Rdr, + ) + R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range = ( + 9, + WeaponsSu30.R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range, + ) + RVV_AE__AA_12_Adder____Active_Rdr = ( + 9, + WeaponsSu30.RVV_AE__AA_12_Adder____Active_Rdr, + ) + RVV_SD__AA_12_Adder_B____Active_Rdr = ( + 9, + WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, + ) + I_Derby_ER___Active_Rdr_AAM = (9, WeaponsSu30.I_Derby_ER___Active_Rdr_AAM) + KH_29L__AS_14_Kedge___Semi_Act_Laser = ( + 9, + WeaponsSu30.KH_29L__AS_14_Kedge___Semi_Act_Laser, + ) + Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__ = ( + 9, + Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__, + ) + KH_29TE__AS_14_Kedge___TV_Guided = ( + 9, + WeaponsSu30.KH_29TE__AS_14_Kedge___TV_Guided, + ) + Kh_59M__AS_18_Kazoo___930kg = (9, WeaponsSu30.Kh_59M__AS_18_Kazoo___930kg) + Kh_59MK__AS_18_Kazoo____930kg = (9, WeaponsSu30.Kh_59MK__AS_18_Kazoo____930kg) + Kh_31A__AS_17_Krypton____610kg = (9, WeaponsSu30.Kh_31A__AS_17_Krypton____610kg) + Kh_31P__AS_17_Krypton____600kg = (9, WeaponsSu30.Kh_31P__AS_17_Krypton____600kg) + Kh_35__AS_20_Kayak____520kg = (9, WeaponsSu30.Kh_35__AS_20_Kayak____520kg) + KAB_500LG___500kg_Laser_Guided_Bomb = ( + 9, + Weapons.KAB_500LG___500kg_Laser_Guided_Bomb, + ) + SAB_100MN___100_kg_Illumination_Bomb = ( + 9, + Weapons.SAB_100MN___100_kg_Illumination_Bomb, + ) + Rudra_M1 = (9, WeaponsSu30.Rudra_M1) + SAAW_POD = (9, WeaponsSu30.SAAW_POD) + KAB_500Kr___500kg_TV_Guided_Bomb = (9, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb) + KAB_500S___500kg__GPS_Guided = (9, WeaponsSu30.KAB_500S___500kg__GPS_Guided) + KAB_1500Kr___1500kg = (9, WeaponsSu30.KAB_1500Kr___1500kg) + KAB_1500LG_PR___1500kg = (9, WeaponsSu30.KAB_1500LG_PR___1500kg) + KAB_1500L___1500kg_Laser_Guided_Bomb = ( + 9, + Weapons.KAB_1500L___1500kg_Laser_Guided_Bomb, + ) + KMGU_2___96_x_PTAB_2_5KO_Dispenser__CBU__HEAT_AP = ( + 9, + Weapons.KMGU_2___96_x_PTAB_2_5KO_Dispenser__CBU__HEAT_AP, + ) + KMGU_2___96_x_AO_2_5RT_Dispenser__CBU__HE_Frag = ( + 9, + Weapons.KMGU_2___96_x_AO_2_5RT_Dispenser__CBU__HE_Frag, + ) + P_50T___50kg_Practice_Bomb_LD = (9, Weapons.P_50T___50kg_Practice_Bomb_LD) + BetAB_500___500kg_Concrete_Piercing_Bomb_LD = ( + 9, + Weapons.BetAB_500___500kg_Concrete_Piercing_Bomb_LD, + ) + BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb = ( + 9, + Weapons.BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb, + ) + RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP = ( + 9, + Weapons.RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP, + ) + RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP = ( + 9, + Weapons.RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP, + ) + FAB_500_M54___474kg__freefall = (9, WeaponsSu30.FAB_500_M54___474kg__freefall) + FAB_500_M62___474kg__freefall = (9, WeaponsSu30.FAB_500_M62___474kg__freefall) + FAB_250_M62___227kg__freefall = (9, WeaponsSu30.FAB_250_M62___227kg__freefall) + MBD3_U6_68_with_6_x_FAB_250___250kg = ( + 9, + WeaponsSu30.MBD3_U6_68_with_6_x_FAB_250___250kg, + ) + MBD3_U6_68_with_6_x_FAB_100___100kg = ( + 9, + WeaponsSu30.MBD3_U6_68_with_6_x_FAB_100___100kg, + ) + + # ERRR + + class Pylon10: + R_73__AA_11_Archer____Infra_Red = (10, Weapons.R_73__AA_11_Archer____Infra_Red) + R_73L__AA_11_Archer_L____Infra_Red = ( + 10, + WeaponsSu30.R_73L__AA_11_Archer_L____Infra_Red, + ) + R_73M__AA_11_Archer_M____Infra_Red = ( + 10, + WeaponsSu30.R_73M__AA_11_Archer_M____Infra_Red, + ) + RVV_MD2__AA_11_Archer_M2____Infra_Red = ( + 10, + WeaponsSu30.RVV_MD2__AA_11_Archer_M2____Infra_Red, + ) + R_27R1__AA_10_Alamo_A____Semi_Act_Rdr = ( + 10, + WeaponsSu30.R_27R1__AA_10_Alamo_A____Semi_Act_Rdr, + ) + R_27T1__AA_10_Alamo_B____Infra_Red = ( + 10, + WeaponsSu30.R_27T1__AA_10_Alamo_B____Infra_Red, + ) + R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range = ( + 10, + WeaponsSu30.R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range, + ) + R_27ET1__AA_10_Alamo_D____IR_Extended_Range = ( + 10, + WeaponsSu30.R_27ET1__AA_10_Alamo_D____IR_Extended_Range, + ) + ASTRA_Mk_1___Active_Rdr_AAM = (10, WeaponsSu30.ASTRA_Mk_1___Active_Rdr_AAM) + I_Derby_ER___Active_Rdr_AAM = (10, WeaponsSu30.I_Derby_ER___Active_Rdr_AAM) + RVV_AE__AA_12_Adder____Active_Rdr = ( + 10, + WeaponsSu30.RVV_AE__AA_12_Adder____Active_Rdr, + ) + RVV_SD__AA_12_Adder_B____Active_Rdr = ( + 10, + WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, + ) + KH_29L__AS_14_Kedge___Semi_Act_Laser = ( + 10, + WeaponsSu30.KH_29L__AS_14_Kedge___Semi_Act_Laser, + ) + Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__ = ( + 10, + Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__, + ) + KH_29TE__AS_14_Kedge___TV_Guided = ( + 10, + WeaponsSu30.KH_29TE__AS_14_Kedge___TV_Guided, + ) + Kh_59M__AS_18_Kazoo___930kg = (10, WeaponsSu30.Kh_59M__AS_18_Kazoo___930kg) + Kh_59MK__AS_18_Kazoo____930kg = (10, WeaponsSu30.Kh_59MK__AS_18_Kazoo____930kg) + Kh_31A__AS_17_Krypton____610kg = ( + 10, + WeaponsSu30.Kh_31A__AS_17_Krypton____610kg, + ) + Kh_31P__AS_17_Krypton____600kg = ( + 10, + WeaponsSu30.Kh_31P__AS_17_Krypton____600kg, + ) + Kh_35__AS_20_Kayak____520kg = (10, WeaponsSu30.Kh_35__AS_20_Kayak____520kg) + Rudra_M1 = (10, WeaponsSu30.Rudra_M1) + SAAW_POD = (10, WeaponsSu30.SAAW_POD) + KAB_500Kr___500kg_TV_Guided_Bomb = ( + 10, + Weapons.KAB_500Kr___500kg_TV_Guided_Bomb, + ) + KAB_500S___500kg__GPS_Guided = (10, WeaponsSu30.KAB_500S___500kg__GPS_Guided) + KAB_500LG___500kg_Laser_Guided_Bomb = ( + 10, + Weapons.KAB_500LG___500kg_Laser_Guided_Bomb, + ) + SAB_100MN___100_kg_Illumination_Bomb = ( + 10, + Weapons.SAB_100MN___100_kg_Illumination_Bomb, + ) + KMGU_2___96_x_PTAB_2_5KO_Dispenser__CBU__HEAT_AP = ( + 10, + Weapons.KMGU_2___96_x_PTAB_2_5KO_Dispenser__CBU__HEAT_AP, + ) + KMGU_2___96_x_AO_2_5RT_Dispenser__CBU__HE_Frag = ( + 10, + Weapons.KMGU_2___96_x_AO_2_5RT_Dispenser__CBU__HE_Frag, + ) + P_50T___50kg_Practice_Bomb_LD = (10, Weapons.P_50T___50kg_Practice_Bomb_LD) + BetAB_500___500kg_Concrete_Piercing_Bomb_LD = ( + 10, + Weapons.BetAB_500___500kg_Concrete_Piercing_Bomb_LD, + ) + BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb = ( + 10, + Weapons.BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb, + ) + RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP = ( + 10, + Weapons.RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP, + ) + RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP = ( + 10, + Weapons.RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP, + ) + FAB_500_M54___474kg__freefall = (10, WeaponsSu30.FAB_500_M54___474kg__freefall) + FAB_500_M62___474kg__freefall = (10, WeaponsSu30.FAB_500_M62___474kg__freefall) + FAB_250_M62___227kg__freefall = (10, WeaponsSu30.FAB_250_M62___227kg__freefall) + MBD3_U6_68_with_6_x_FAB_250___250kg = ( + 10, + WeaponsSu30.MBD3_U6_68_with_6_x_FAB_250___250kg, + ) + MBD3_U6_68_with_6_x_FAB_100___100kg = ( + 10, + WeaponsSu30.MBD3_U6_68_with_6_x_FAB_100___100kg, + ) + _2_x_B_13L_pods___10_x_S_13_OF__122mm_UnGd_Rkts__Blast_Frag = ( + 10, + Weapons._2_x_B_13L_pods___10_x_S_13_OF__122mm_UnGd_Rkts__Blast_Frag, + ) + _2_x_B_8M1___40_x_UnGd_Rkts__80_mm_S_8KOM_HEAT_Frag = ( + 10, + Weapons._2_x_B_8M1___40_x_UnGd_Rkts__80_mm_S_8KOM_HEAT_Frag, + ) + _2_x_B_8M1___40_x_UnGd_Rkts__80_mm_S_8TsM_SM_Orange = ( + 10, + Weapons._2_x_B_8M1___40_x_UnGd_Rkts__80_mm_S_8TsM_SM_Orange, + ) + _2_x_B_8M1___40_x_UnGd_Rkts__80_mm_S_8OFP2_MPP = ( + 10, + Weapons._2_x_B_8M1___40_x_UnGd_Rkts__80_mm_S_8OFP2_MPP, + ) + _2_x_S_25 = (10, Weapons._2_x_S_25) + + # ERRR + + class Pylon11: + R_73__AA_11_Archer____Infra_Red = (11, Weapons.R_73__AA_11_Archer____Infra_Red) + R_73L__AA_11_Archer_L____Infra_Red = ( + 11, + WeaponsSu30.R_73L__AA_11_Archer_L____Infra_Red, + ) + R_73M__AA_11_Archer_M____Infra_Red = ( + 11, + WeaponsSu30.R_73M__AA_11_Archer_M____Infra_Red, + ) + RVV_MD2__AA_11_Archer_M2____Infra_Red = ( + 11, + WeaponsSu30.RVV_MD2__AA_11_Archer_M2____Infra_Red, + ) + ASTRA_Mk_1___Active_Rdr_AAM = (11, WeaponsSu30.ASTRA_Mk_1___Active_Rdr_AAM) + I_Derby_ER___Active_Rdr_AAM = (11, WeaponsSu30.I_Derby_ER___Active_Rdr_AAM) + RVV_AE__AA_12_Adder____Active_Rdr = ( + 11, + WeaponsSu30.RVV_AE__AA_12_Adder____Active_Rdr, + ) + RVV_SD__AA_12_Adder_B____Active_Rdr = ( + 11, + WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, + ) + Smoke_Generator___red = (11, Weapons.Smoke_Generator___red) + Smoke_Generator___green = (11, Weapons.Smoke_Generator___green) + Smoke_Generator___blue = (11, Weapons.Smoke_Generator___blue) + Smoke_Generator___white = (11, Weapons.Smoke_Generator___white) + Smoke_Generator___yellow = (11, Weapons.Smoke_Generator___yellow) + Smoke_Generator___orange = (11, Weapons.Smoke_Generator___orange) + + # ERRR + + class Pylon12: + R_73__AA_11_Archer____Infra_Red = (12, Weapons.R_73__AA_11_Archer____Infra_Red) + R_73L__AA_11_Archer_L____Infra_Red = ( + 12, + WeaponsSu30.R_73L__AA_11_Archer_L____Infra_Red, + ) + R_73M__AA_11_Archer_M____Infra_Red = ( + 12, + WeaponsSu30.R_73M__AA_11_Archer_M____Infra_Red, + ) + RVV_MD2__AA_11_Archer_M2____Infra_Red = ( + 12, + WeaponsSu30.RVV_MD2__AA_11_Archer_M2____Infra_Red, + ) + L005_Sorbtsiya_ECM_pod__right_ = (12, Weapons.L005_Sorbtsiya_ECM_pod__right_) + SAP_518_ECM_Pod__Right_ = (12, WeaponsSu30.SAP_518_ECM_Pod__Right_) + Smoke_Generator___red = (12, Weapons.Smoke_Generator___red) + Smoke_Generator___green = (12, Weapons.Smoke_Generator___green) + Smoke_Generator___blue = (12, Weapons.Smoke_Generator___blue) + Smoke_Generator___white = (12, Weapons.Smoke_Generator___white) + Smoke_Generator___yellow = (12, Weapons.Smoke_Generator___yellow) + Smoke_Generator___orange = (12, Weapons.Smoke_Generator___orange) + + pylons: Set[int] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12} + + tasks = [ + task.CAP, + task.Escort, + task.FighterSweep, + task.Intercept, + task.AFAC, + task.SEAD, + task.AntishipStrike, + task.CAS, + task.PinpointStrike, + task.GroundAttack, + task.RunwayAttack, + ] + task_default = task.CAP + + +@planemod +class Su_30MKA_AG(PlaneType): + id = "Su-30MKA-AG" + flyable = True + height = 5.932 + width = 14.7 + length = 21.935 + fuel_max = 9500 + max_speed = 2499.984 + chaff = 96 + flare = 96 + charge_total = 192 + chaff_charge_size = 1 + flare_charge_size = 1 + eplrs = True + category = "Interceptor" # {78EFB7A2-FD52-4b57-A6A6-3BF0E1D6555F} + + 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: 117, + 2: 135, + 4: 127, + 8: 128, + 16: 132, + 17: 138, + 9: 126, + 18: 122, + 5: 125, + 10: 133, + 20: 137, + 11: 130, + 3: 136, + 6: 121, + 12: 139, + 13: 140, + 7: 141, + 14: 131, + 19: 124, + 15: 134, + }, + }, + } + + property_defaults: Dict[str, Any] = { + "SoloFlight": False, + "NetCrewControlPriority": 0, + "HumanOrchestra": False, + "HelmetMountedDevice": 1, + "ShowLadders": True, + "su30Chaff": 96, + "su30Flare": 96, + } + + class Properties: + class SoloFlight: + id = "SoloFlight" + + class NetCrewControlPriority: + id = "NetCrewControlPriority" + + class Values: + Pilot = 0 + WSO = 1 + Ask_Always = -1 + Equally_Responsible = -2 + + class HumanOrchestra: + id = "HumanOrchestra" + + class HelmetMountedDevice: + id = "HelmetMountedDevice" + + class Values: + Not_installed = 0 + SURA_Visor = 1 + NVG = 2 + + class ShowLadders: + id = "ShowLadders" + + class su30Chaff: + id = "su30Chaff" + + class su30Flare: + id = "su30Flare" + + properties = { + "SoloFlight": UnitPropertyDescription( + identifier="SoloFlight", + control="checkbox", + label="Solo Flight", + player_only=True, + default=False, + weight_when_on=-80, + ), + "NetCrewControlPriority": UnitPropertyDescription( + identifier="NetCrewControlPriority", + control="comboList", + label="Aircraft Control Priority", + player_only=True, + default=0, + w_ctrl=150, + values={ + 0: "Pilot", + 1: "WSO", + -1: "Ask Always", + -2: "Equally Responsible", + }, + ), + "HumanOrchestra": UnitPropertyDescription( + identifier="HumanOrchestra", + control="checkbox", + label="Disable Multicrew", + player_only=True, + default=False, + ), + "HelmetMountedDevice": UnitPropertyDescription( + identifier="HelmetMountedDevice", + control="comboList", + label="Helmet Mounted Device", + player_only=True, + default=1, + w_ctrl=150, + values={ + 0: "Not installed", + 1: "SURA Visor", + 2: "NVG", + }, + ), + "ShowLadders": UnitPropertyDescription( + identifier="ShowLadders", + control="checkbox", + label="Show Ladders", + default=True, + ), + "su30Chaff": UnitPropertyDescription( + identifier="su30Chaff", + control="spinbox", + label="Chaff", + player_only=True, + minimum=0, + maximum=192, + default=96, + dimension=" ", + ), + "su30Flare": UnitPropertyDescription( + identifier="su30Flare", + control="spinbox", + label="Flare", + player_only=True, + minimum=0, + maximum=192, + default=96, + dimension=" ", + ), + } + + livery_name = "SU-30MKA-AG" # from type + + class Pylon1: + R_73__AA_11_Archer____Infra_Red = (1, Weapons.R_73__AA_11_Archer____Infra_Red) + R_73L__AA_11_Archer_L____Infra_Red = ( + 1, + WeaponsSu30.R_73L__AA_11_Archer_L____Infra_Red, + ) + R_73M__AA_11_Archer_M____Infra_Red = ( + 1, + WeaponsSu30.R_73M__AA_11_Archer_M____Infra_Red, + ) + RVV_MD2__AA_11_Archer_M2____Infra_Red = ( + 1, + WeaponsSu30.RVV_MD2__AA_11_Archer_M2____Infra_Red, + ) + L005_Sorbtsiya_ECM_pod__left_ = (1, Weapons.L005_Sorbtsiya_ECM_pod__left_) + SAP_518_ECM_Pod__Left_ = (1, WeaponsSu30.SAP_518_ECM_Pod__Left_) + Smoke_Generator___red = (1, Weapons.Smoke_Generator___red) + Smoke_Generator___green = (1, Weapons.Smoke_Generator___green) + Smoke_Generator___blue = (1, Weapons.Smoke_Generator___blue) + Smoke_Generator___white = (1, Weapons.Smoke_Generator___white) + Smoke_Generator___yellow = (1, Weapons.Smoke_Generator___yellow) + Smoke_Generator___orange = (1, Weapons.Smoke_Generator___orange) + + class Pylon2: + R_73__AA_11_Archer____Infra_Red = (2, Weapons.R_73__AA_11_Archer____Infra_Red) + R_73L__AA_11_Archer_L____Infra_Red = ( + 2, + WeaponsSu30.R_73L__AA_11_Archer_L____Infra_Red, + ) + R_73M__AA_11_Archer_M____Infra_Red = ( + 2, + WeaponsSu30.R_73M__AA_11_Archer_M____Infra_Red, + ) + RVV_MD2__AA_11_Archer_M2____Infra_Red = ( + 2, + WeaponsSu30.RVV_MD2__AA_11_Archer_M2____Infra_Red, + ) + RVV_AE__AA_12_Adder____Active_Rdr = ( + 2, + WeaponsSu30.RVV_AE__AA_12_Adder____Active_Rdr, + ) + RVV_SD__AA_12_Adder_B____Active_Rdr = ( + 2, + WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, + ) + Smoke_Generator___red = (2, Weapons.Smoke_Generator___red) + Smoke_Generator___green = (2, Weapons.Smoke_Generator___green) + Smoke_Generator___blue = (2, Weapons.Smoke_Generator___blue) + Smoke_Generator___white = (2, Weapons.Smoke_Generator___white) + Smoke_Generator___yellow = (2, Weapons.Smoke_Generator___yellow) + Smoke_Generator___orange = (2, Weapons.Smoke_Generator___orange) + + # ERRR + + class Pylon3: + R_73__AA_11_Archer____Infra_Red = (3, Weapons.R_73__AA_11_Archer____Infra_Red) + R_73L__AA_11_Archer_L____Infra_Red = ( + 3, + WeaponsSu30.R_73L__AA_11_Archer_L____Infra_Red, + ) + R_73M__AA_11_Archer_M____Infra_Red = ( + 3, + WeaponsSu30.R_73M__AA_11_Archer_M____Infra_Red, + ) + RVV_MD2__AA_11_Archer_M2____Infra_Red = ( + 3, + WeaponsSu30.RVV_MD2__AA_11_Archer_M2____Infra_Red, + ) + R_27R1__AA_10_Alamo_A____Semi_Act_Rdr = ( + 3, + WeaponsSu30.R_27R1__AA_10_Alamo_A____Semi_Act_Rdr, + ) + R_27T1__AA_10_Alamo_B____Infra_Red = ( + 3, + WeaponsSu30.R_27T1__AA_10_Alamo_B____Infra_Red, + ) + R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range = ( + 3, + WeaponsSu30.R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range, + ) + R_27ET1__AA_10_Alamo_D____IR_Extended_Range = ( + 3, + WeaponsSu30.R_27ET1__AA_10_Alamo_D____IR_Extended_Range, + ) + RVV_AE__AA_12_Adder____Active_Rdr = ( + 3, + WeaponsSu30.RVV_AE__AA_12_Adder____Active_Rdr, + ) + RVV_SD__AA_12_Adder_B____Active_Rdr = ( + 3, + WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, + ) + Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__ = ( + 3, + Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__, + ) + Kh_31P__AS_17_Krypton____600kg = (3, WeaponsSu30.Kh_31P__AS_17_Krypton____600kg) + Kh_36__AS_23____600kg_Grom_E1 = (3, WeaponsSu30.Kh_36__AS_23____600kg_Grom_E1) + KH_38MTE__AS_23__IR_Guided = (3, WeaponsSu30.KH_38MTE__AS_23__IR_Guided) + KH_38MLE__AS_23___Semi_Act_Laser = ( + 3, + WeaponsSu30.KH_38MLE__AS_23___Semi_Act_Laser, + ) + Kh_38MAE__AS_23____500kg = (3, WeaponsSu30.Kh_38MAE__AS_23____500kg) + KH_29L__AS_14_Kedge___Semi_Act_Laser = ( + 3, + WeaponsSu30.KH_29L__AS_14_Kedge___Semi_Act_Laser, + ) + KH_29TE__AS_14_Kedge___TV_Guided = ( + 3, + WeaponsSu30.KH_29TE__AS_14_Kedge___TV_Guided, + ) + Kh_59M__AS_18_Kazoo___930kg = (3, WeaponsSu30.Kh_59M__AS_18_Kazoo___930kg) + Kh_59MK__AS_18_Kazoo____930kg = (3, WeaponsSu30.Kh_59MK__AS_18_Kazoo____930kg) + Kh_31A__AS_17_Krypton____610kg = (3, WeaponsSu30.Kh_31A__AS_17_Krypton____610kg) + Kh_35__AS_20_Kayak____520kg = (3, WeaponsSu30.Kh_35__AS_20_Kayak____520kg) + Kh_35UE__AS_20_Kayak____520kg = (3, WeaponsSu30.Kh_35UE__AS_20_Kayak____520kg) + Kh_31AD__AS_17_Krypton____610kg = ( + 3, + WeaponsSu30.Kh_31AD__AS_17_Krypton____610kg, + ) + Kh_31PD__AS_17_Krypton____600kg = ( + 3, + WeaponsSu30.Kh_31PD__AS_17_Krypton____600kg, + ) + KAB_500Kr___500kg_TV_Guided_Bomb = (3, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb) + KAB_500S___500kg__GPS_Guided = (3, WeaponsSu30.KAB_500S___500kg__GPS_Guided) + KAB_500LG___500kg_Laser_Guided_Bomb = ( + 3, + Weapons.KAB_500LG___500kg_Laser_Guided_Bomb, + ) + SAB_100MN___100_kg_Illumination_Bomb = ( + 3, + Weapons.SAB_100MN___100_kg_Illumination_Bomb, + ) + KMGU_2___96_x_PTAB_2_5KO_Dispenser__CBU__HEAT_AP = ( + 3, + Weapons.KMGU_2___96_x_PTAB_2_5KO_Dispenser__CBU__HEAT_AP, + ) + KMGU_2___96_x_AO_2_5RT_Dispenser__CBU__HE_Frag = ( + 3, + Weapons.KMGU_2___96_x_AO_2_5RT_Dispenser__CBU__HE_Frag, + ) + P_50T___50kg_Practice_Bomb_LD = (3, Weapons.P_50T___50kg_Practice_Bomb_LD) + BetAB_500___500kg_Concrete_Piercing_Bomb_LD = ( + 3, + Weapons.BetAB_500___500kg_Concrete_Piercing_Bomb_LD, + ) + BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb = ( + 3, + Weapons.BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb, + ) + RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP = ( + 3, + Weapons.RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP, + ) + RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP = ( + 3, + Weapons.RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP, + ) + FAB_500_M54___474kg__freefall = (3, WeaponsSu30.FAB_500_M54___474kg__freefall) + FAB_500_M62___474kg__freefall = (3, WeaponsSu30.FAB_500_M62___474kg__freefall) + FAB_250_M62___227kg__freefall = (3, WeaponsSu30.FAB_250_M62___227kg__freefall) + MBD3_U6_68_with_6_x_FAB_250___250kg = ( + 3, + WeaponsSu30.MBD3_U6_68_with_6_x_FAB_250___250kg, + ) + MBD3_U6_68_with_6_x_FAB_100___100kg = ( + 3, + WeaponsSu30.MBD3_U6_68_with_6_x_FAB_100___100kg, + ) + _2_x_B_13L_pods___10_x_S_13_OF__122mm_UnGd_Rkts__Blast_Frag = ( + 3, + Weapons._2_x_B_13L_pods___10_x_S_13_OF__122mm_UnGd_Rkts__Blast_Frag, + ) + _2_x_B_8M1___40_x_UnGd_Rkts__80_mm_S_8KOM_HEAT_Frag = ( + 3, + Weapons._2_x_B_8M1___40_x_UnGd_Rkts__80_mm_S_8KOM_HEAT_Frag, + ) + _2_x_B_8M1___40_x_UnGd_Rkts__80_mm_S_8TsM_SM_Orange = ( + 3, + Weapons._2_x_B_8M1___40_x_UnGd_Rkts__80_mm_S_8TsM_SM_Orange, + ) + _2_x_B_8M1___40_x_UnGd_Rkts__80_mm_S_8OFP2_MPP = ( + 3, + Weapons._2_x_B_8M1___40_x_UnGd_Rkts__80_mm_S_8OFP2_MPP, + ) + _2_x_S_25 = (3, Weapons._2_x_S_25) + + # ERRR + + class Pylon4: + R_27R1__AA_10_Alamo_A____Semi_Act_Rdr = ( + 4, + WeaponsSu30.R_27R1__AA_10_Alamo_A____Semi_Act_Rdr, + ) + R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range = ( + 4, + WeaponsSu30.R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range, + ) + RVV_AE__AA_12_Adder____Active_Rdr = ( + 4, + WeaponsSu30.RVV_AE__AA_12_Adder____Active_Rdr, + ) + RVV_SD__AA_12_Adder_B____Active_Rdr = ( + 4, + WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, + ) + Kh_31P__AS_17_Krypton____600kg = (4, WeaponsSu30.Kh_31P__AS_17_Krypton____600kg) + Kh_36__AS_23____600kg_Grom_E1 = (4, WeaponsSu30.Kh_36__AS_23____600kg_Grom_E1) + KH_38MTE__AS_23__IR_Guided = (4, WeaponsSu30.KH_38MTE__AS_23__IR_Guided) + KH_38MLE__AS_23___Semi_Act_Laser = ( + 4, + WeaponsSu30.KH_38MLE__AS_23___Semi_Act_Laser, + ) + Kh_38MAE__AS_23____500kg = (4, WeaponsSu30.Kh_38MAE__AS_23____500kg) + Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__ = ( + 4, + Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__, + ) + KH_29L__AS_14_Kedge___Semi_Act_Laser = ( + 4, + WeaponsSu30.KH_29L__AS_14_Kedge___Semi_Act_Laser, + ) + KH_29TE__AS_14_Kedge___TV_Guided = ( + 4, + WeaponsSu30.KH_29TE__AS_14_Kedge___TV_Guided, + ) + Kh_59M__AS_18_Kazoo___930kg = (4, WeaponsSu30.Kh_59M__AS_18_Kazoo___930kg) + Kh_59MK__AS_18_Kazoo____930kg = (4, WeaponsSu30.Kh_59MK__AS_18_Kazoo____930kg) + Kh_31A__AS_17_Krypton____610kg = (4, WeaponsSu30.Kh_31A__AS_17_Krypton____610kg) + Kh_35__AS_20_Kayak____520kg = (4, WeaponsSu30.Kh_35__AS_20_Kayak____520kg) + Kh_35UE__AS_20_Kayak____520kg = (4, WeaponsSu30.Kh_35UE__AS_20_Kayak____520kg) + Kh_31AD__AS_17_Krypton____610kg = ( + 4, + WeaponsSu30.Kh_31AD__AS_17_Krypton____610kg, + ) + Kh_31PD__AS_17_Krypton____600kg = ( + 4, + WeaponsSu30.Kh_31PD__AS_17_Krypton____600kg, + ) + KAB_500Kr___500kg_TV_Guided_Bomb = (4, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb) + KAB_500S___500kg__GPS_Guided = (4, WeaponsSu30.KAB_500S___500kg__GPS_Guided) + KAB_1500Kr___1500kg = (4, WeaponsSu30.KAB_1500Kr___1500kg) + KAB_1500LG_PR___1500kg = (4, WeaponsSu30.KAB_1500LG_PR___1500kg) + KAB_1500L___1500kg_Laser_Guided_Bomb = ( + 4, + Weapons.KAB_1500L___1500kg_Laser_Guided_Bomb, + ) + KAB_500LG___500kg_Laser_Guided_Bomb = ( + 4, + Weapons.KAB_500LG___500kg_Laser_Guided_Bomb, + ) + SAB_100MN___100_kg_Illumination_Bomb = ( + 4, + Weapons.SAB_100MN___100_kg_Illumination_Bomb, + ) + KMGU_2___96_x_PTAB_2_5KO_Dispenser__CBU__HEAT_AP = ( + 4, + Weapons.KMGU_2___96_x_PTAB_2_5KO_Dispenser__CBU__HEAT_AP, + ) + KMGU_2___96_x_AO_2_5RT_Dispenser__CBU__HE_Frag = ( + 4, + Weapons.KMGU_2___96_x_AO_2_5RT_Dispenser__CBU__HE_Frag, + ) + P_50T___50kg_Practice_Bomb_LD = (4, Weapons.P_50T___50kg_Practice_Bomb_LD) + BetAB_500___500kg_Concrete_Piercing_Bomb_LD = ( + 4, + Weapons.BetAB_500___500kg_Concrete_Piercing_Bomb_LD, + ) + BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb = ( + 4, + Weapons.BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb, + ) + RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP = ( + 4, + Weapons.RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP, + ) + RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP = ( + 4, + Weapons.RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP, + ) + FAB_500_M54___474kg__freefall = (4, WeaponsSu30.FAB_500_M54___474kg__freefall) + FAB_500_M62___474kg__freefall = (4, WeaponsSu30.FAB_500_M62___474kg__freefall) + FAB_250_M62___227kg__freefall = (4, WeaponsSu30.FAB_250_M62___227kg__freefall) + MBD3_U6_68_with_6_x_FAB_250___250kg = ( + 4, + WeaponsSu30.MBD3_U6_68_with_6_x_FAB_250___250kg, + ) + MBD3_U6_68_with_6_x_FAB_100___100kg = ( + 4, + WeaponsSu30.MBD3_U6_68_with_6_x_FAB_100___100kg, + ) + + # ERRR + + class Pylon5: + R_27R1__AA_10_Alamo_A____Semi_Act_Rdr = ( + 5, + WeaponsSu30.R_27R1__AA_10_Alamo_A____Semi_Act_Rdr, + ) + R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range = ( + 5, + WeaponsSu30.R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range, + ) + RVV_AE__AA_12_Adder____Active_Rdr = ( + 5, + WeaponsSu30.RVV_AE__AA_12_Adder____Active_Rdr, + ) + RVV_SD__AA_12_Adder_B____Active_Rdr = ( + 5, + WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, + ) + Kh_31P__AS_17_Krypton____600kg = (5, WeaponsSu30.Kh_31P__AS_17_Krypton____600kg) + Kh_36__AS_23____600kg_Grom_E1 = (5, WeaponsSu30.Kh_36__AS_23____600kg_Grom_E1) + KH_38MTE__AS_23__IR_Guided = (5, WeaponsSu30.KH_38MTE__AS_23__IR_Guided) + KH_38MLE__AS_23___Semi_Act_Laser = ( + 5, + WeaponsSu30.KH_38MLE__AS_23___Semi_Act_Laser, + ) + Kh_38MAE__AS_23____500kg = (5, WeaponsSu30.Kh_38MAE__AS_23____500kg) + Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__ = ( + 5, + Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__, + ) + KH_29L__AS_14_Kedge___Semi_Act_Laser = ( + 5, + WeaponsSu30.KH_29L__AS_14_Kedge___Semi_Act_Laser, + ) + KH_29TE__AS_14_Kedge___TV_Guided = ( + 5, + WeaponsSu30.KH_29TE__AS_14_Kedge___TV_Guided, + ) + Kh_31A__AS_17_Krypton____610kg = (5, WeaponsSu30.Kh_31A__AS_17_Krypton____610kg) + Kh_31AD__AS_17_Krypton____610kg = ( + 5, + WeaponsSu30.Kh_31AD__AS_17_Krypton____610kg, + ) + Kh_31PD__AS_17_Krypton____600kg = ( + 5, + WeaponsSu30.Kh_31PD__AS_17_Krypton____600kg, + ) + KAB_500Kr___500kg_TV_Guided_Bomb = (5, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb) + KAB_500S___500kg__GPS_Guided = (5, WeaponsSu30.KAB_500S___500kg__GPS_Guided) + KAB_500LG___500kg_Laser_Guided_Bomb = ( + 5, + Weapons.KAB_500LG___500kg_Laser_Guided_Bomb, + ) + SAB_100MN___100_kg_Illumination_Bomb = ( + 5, + Weapons.SAB_100MN___100_kg_Illumination_Bomb, + ) + P_50T___50kg_Practice_Bomb_LD = (5, Weapons.P_50T___50kg_Practice_Bomb_LD) + BetAB_500___500kg_Concrete_Piercing_Bomb_LD = ( + 5, + Weapons.BetAB_500___500kg_Concrete_Piercing_Bomb_LD, + ) + BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb = ( + 5, + Weapons.BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb, + ) + RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP = ( + 5, + Weapons.RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP, + ) + RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP = ( + 5, + Weapons.RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP, + ) + FAB_500_M54___474kg__freefall = (5, WeaponsSu30.FAB_500_M54___474kg__freefall) + FAB_500_M62___474kg__freefall = (5, WeaponsSu30.FAB_500_M62___474kg__freefall) + FAB_250_M62___227kg__freefall = (5, WeaponsSu30.FAB_250_M62___227kg__freefall) + MBD3_U6_68_with_6_x_FAB_250___250kg = ( + 5, + WeaponsSu30.MBD3_U6_68_with_6_x_FAB_250___250kg, + ) + MBD3_U6_68_with_6_x_FAB_100___100kg = ( + 5, + WeaponsSu30.MBD3_U6_68_with_6_x_FAB_100___100kg, + ) + APK_9_POD = (5, WeaponsSu30.APK_9_POD) + L_081_Fantasmagoria_ELINT_pod = (5, Weapons.L_081_Fantasmagoria_ELINT_pod) + + # ERRR + + class Pylon6: + R_27R1__AA_10_Alamo_A____Semi_Act_Rdr = ( + 6, + WeaponsSu30.R_27R1__AA_10_Alamo_A____Semi_Act_Rdr, + ) + R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range = ( + 6, + WeaponsSu30.R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range, + ) + RVV_AE__AA_12_Adder____Active_Rdr = ( + 6, + WeaponsSu30.RVV_AE__AA_12_Adder____Active_Rdr, + ) + RVV_SD__AA_12_Adder_B____Active_Rdr = ( + 6, + WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, + ) + KAB_500Kr___500kg_TV_Guided_Bomb = (6, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb) + KAB_500S___500kg__GPS_Guided = (6, WeaponsSu30.KAB_500S___500kg__GPS_Guided) + KAB_1500Kr___1500kg = (6, WeaponsSu30.KAB_1500Kr___1500kg) + KAB_1500LG_PR___1500kg = (6, WeaponsSu30.KAB_1500LG_PR___1500kg) + KAB_1500L___1500kg_Laser_Guided_Bomb = ( + 6, + Weapons.KAB_1500L___1500kg_Laser_Guided_Bomb, + ) + KMGU_2___96_x_PTAB_2_5KO_Dispenser__CBU__HEAT_AP = ( + 6, + Weapons.KMGU_2___96_x_PTAB_2_5KO_Dispenser__CBU__HEAT_AP, + ) + KMGU_2___96_x_AO_2_5RT_Dispenser__CBU__HE_Frag = ( + 6, + Weapons.KMGU_2___96_x_AO_2_5RT_Dispenser__CBU__HE_Frag, + ) + KAB_500LG___500kg_Laser_Guided_Bomb = ( + 6, + Weapons.KAB_500LG___500kg_Laser_Guided_Bomb, + ) + SAB_100MN___100_kg_Illumination_Bomb = ( + 6, + Weapons.SAB_100MN___100_kg_Illumination_Bomb, + ) + P_50T___50kg_Practice_Bomb_LD = (6, Weapons.P_50T___50kg_Practice_Bomb_LD) + BetAB_500___500kg_Concrete_Piercing_Bomb_LD = ( + 6, + Weapons.BetAB_500___500kg_Concrete_Piercing_Bomb_LD, + ) + BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb = ( + 6, + Weapons.BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb, + ) + RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP = ( + 6, + Weapons.RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP, + ) + RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP = ( + 6, + Weapons.RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP, + ) + FAB_500_M54___474kg__freefall = (6, WeaponsSu30.FAB_500_M54___474kg__freefall) + FAB_500_M62___474kg__freefall = (6, WeaponsSu30.FAB_500_M62___474kg__freefall) + FAB_250_M62___227kg__freefall = (6, WeaponsSu30.FAB_250_M62___227kg__freefall) + MBD3_U6_68_with_6_x_FAB_250___250kg = ( + 6, + WeaponsSu30.MBD3_U6_68_with_6_x_FAB_250___250kg, + ) + MBD3_U6_68_with_6_x_FAB_100___100kg = ( + 6, + WeaponsSu30.MBD3_U6_68_with_6_x_FAB_100___100kg, + ) + RBK_500U___126_x_OAB_2_5RT__500kg_CBU_HE_Frag = ( + 6, + Weapons.RBK_500U___126_x_OAB_2_5RT__500kg_CBU_HE_Frag, + ) + RBK_500___268_x_PTAB_1M__500kg_CBU_Light_HEAT_AP = ( + 6, + Weapons.RBK_500___268_x_PTAB_1M__500kg_CBU_Light_HEAT_AP, + ) + + # ERRR + + class Pylon7: + R_27R1__AA_10_Alamo_A____Semi_Act_Rdr = ( + 7, + WeaponsSu30.R_27R1__AA_10_Alamo_A____Semi_Act_Rdr, + ) + R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range = ( + 7, + WeaponsSu30.R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range, + ) + RVV_AE__AA_12_Adder____Active_Rdr = ( + 7, + WeaponsSu30.RVV_AE__AA_12_Adder____Active_Rdr, + ) + RVV_SD__AA_12_Adder_B____Active_Rdr = ( + 7, + WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, + ) + KAB_500Kr___500kg_TV_Guided_Bomb = (7, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb) + KAB_500S___500kg__GPS_Guided = (7, WeaponsSu30.KAB_500S___500kg__GPS_Guided) + KAB_500LG___500kg_Laser_Guided_Bomb = ( + 7, + Weapons.KAB_500LG___500kg_Laser_Guided_Bomb, + ) + SAB_100MN___100_kg_Illumination_Bomb = ( + 7, + Weapons.SAB_100MN___100_kg_Illumination_Bomb, + ) + KMGU_2___96_x_PTAB_2_5KO_Dispenser__CBU__HEAT_AP = ( + 7, + Weapons.KMGU_2___96_x_PTAB_2_5KO_Dispenser__CBU__HEAT_AP, + ) + KMGU_2___96_x_AO_2_5RT_Dispenser__CBU__HE_Frag = ( + 7, + Weapons.KMGU_2___96_x_AO_2_5RT_Dispenser__CBU__HE_Frag, + ) + P_50T___50kg_Practice_Bomb_LD = (7, Weapons.P_50T___50kg_Practice_Bomb_LD) + BetAB_500___500kg_Concrete_Piercing_Bomb_LD = ( + 7, + Weapons.BetAB_500___500kg_Concrete_Piercing_Bomb_LD, + ) + BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb = ( + 7, + Weapons.BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb, + ) + RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP = ( + 7, + Weapons.RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP, + ) + RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP = ( + 7, + Weapons.RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP, + ) + FAB_500_M54___474kg__freefall = (7, WeaponsSu30.FAB_500_M54___474kg__freefall) + FAB_500_M62___474kg__freefall = (7, WeaponsSu30.FAB_500_M62___474kg__freefall) + FAB_250_M62___227kg__freefall = (7, WeaponsSu30.FAB_250_M62___227kg__freefall) + MBD3_U6_68_with_6_x_FAB_250___250kg = ( + 7, + WeaponsSu30.MBD3_U6_68_with_6_x_FAB_250___250kg, + ) + MBD3_U6_68_with_6_x_FAB_100___100kg = ( + 7, + WeaponsSu30.MBD3_U6_68_with_6_x_FAB_100___100kg, + ) + Smoke_Generator___red = (7, Weapons.Smoke_Generator___red) + Smoke_Generator___green = (7, Weapons.Smoke_Generator___green) + Smoke_Generator___blue = (7, Weapons.Smoke_Generator___blue) + Smoke_Generator___white = (7, Weapons.Smoke_Generator___white) + Smoke_Generator___yellow = (7, Weapons.Smoke_Generator___yellow) + Smoke_Generator___orange = (7, Weapons.Smoke_Generator___orange) + RBK_500U___126_x_OAB_2_5RT__500kg_CBU_HE_Frag = ( + 7, + Weapons.RBK_500U___126_x_OAB_2_5RT__500kg_CBU_HE_Frag, + ) + RBK_500___268_x_PTAB_1M__500kg_CBU_Light_HEAT_AP = ( + 7, + Weapons.RBK_500___268_x_PTAB_1M__500kg_CBU_Light_HEAT_AP, + ) + + # ERRR + + class Pylon8: + R_27R1__AA_10_Alamo_A____Semi_Act_Rdr = ( + 8, + WeaponsSu30.R_27R1__AA_10_Alamo_A____Semi_Act_Rdr, + ) + R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range = ( + 8, + WeaponsSu30.R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range, + ) + RVV_AE__AA_12_Adder____Active_Rdr = ( + 8, + WeaponsSu30.RVV_AE__AA_12_Adder____Active_Rdr, + ) + RVV_SD__AA_12_Adder_B____Active_Rdr = ( + 8, + WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, + ) + Kh_31P__AS_17_Krypton____600kg = (8, WeaponsSu30.Kh_31P__AS_17_Krypton____600kg) + Kh_36__AS_23____600kg_Grom_E1 = (8, WeaponsSu30.Kh_36__AS_23____600kg_Grom_E1) + KH_38MTE__AS_23__IR_Guided = (8, WeaponsSu30.KH_38MTE__AS_23__IR_Guided) + KH_38MLE__AS_23___Semi_Act_Laser = ( + 8, + WeaponsSu30.KH_38MLE__AS_23___Semi_Act_Laser, + ) + Kh_38MAE__AS_23____500kg = (8, WeaponsSu30.Kh_38MAE__AS_23____500kg) + Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__ = ( + 8, + Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__, + ) + KH_29L__AS_14_Kedge___Semi_Act_Laser = ( + 8, + WeaponsSu30.KH_29L__AS_14_Kedge___Semi_Act_Laser, + ) + KH_29TE__AS_14_Kedge___TV_Guided = ( + 8, + WeaponsSu30.KH_29TE__AS_14_Kedge___TV_Guided, + ) + Kh_31A__AS_17_Krypton____610kg = (8, WeaponsSu30.Kh_31A__AS_17_Krypton____610kg) + Kh_31AD__AS_17_Krypton____610kg = ( + 8, + WeaponsSu30.Kh_31AD__AS_17_Krypton____610kg, + ) + Kh_31PD__AS_17_Krypton____600kg = ( + 8, + WeaponsSu30.Kh_31PD__AS_17_Krypton____600kg, + ) + KAB_500Kr___500kg_TV_Guided_Bomb = (8, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb) + KAB_500S___500kg__GPS_Guided = (8, WeaponsSu30.KAB_500S___500kg__GPS_Guided) + KAB_500LG___500kg_Laser_Guided_Bomb = ( + 8, + Weapons.KAB_500LG___500kg_Laser_Guided_Bomb, + ) + SAB_100MN___100_kg_Illumination_Bomb = ( + 8, + Weapons.SAB_100MN___100_kg_Illumination_Bomb, + ) + P_50T___50kg_Practice_Bomb_LD = (8, Weapons.P_50T___50kg_Practice_Bomb_LD) + BetAB_500___500kg_Concrete_Piercing_Bomb_LD = ( + 8, + Weapons.BetAB_500___500kg_Concrete_Piercing_Bomb_LD, + ) + BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb = ( + 8, + Weapons.BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb, + ) + RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP = ( + 8, + Weapons.RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP, + ) + RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP = ( + 8, + Weapons.RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP, + ) + FAB_500_M54___474kg__freefall = (8, WeaponsSu30.FAB_500_M54___474kg__freefall) + FAB_500_M62___474kg__freefall = (8, WeaponsSu30.FAB_500_M62___474kg__freefall) + FAB_250_M62___227kg__freefall = (8, WeaponsSu30.FAB_250_M62___227kg__freefall) + MBD3_U6_68_with_6_x_FAB_250___250kg = ( + 8, + WeaponsSu30.MBD3_U6_68_with_6_x_FAB_250___250kg, + ) + MBD3_U6_68_with_6_x_FAB_100___100kg = ( + 8, + WeaponsSu30.MBD3_U6_68_with_6_x_FAB_100___100kg, + ) + + # ERRR + + class Pylon9: + R_27R1__AA_10_Alamo_A____Semi_Act_Rdr = ( + 9, + WeaponsSu30.R_27R1__AA_10_Alamo_A____Semi_Act_Rdr, + ) + R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range = ( + 9, + WeaponsSu30.R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range, + ) + RVV_AE__AA_12_Adder____Active_Rdr = ( + 9, + WeaponsSu30.RVV_AE__AA_12_Adder____Active_Rdr, + ) + RVV_SD__AA_12_Adder_B____Active_Rdr = ( + 9, + WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, + ) + Kh_31P__AS_17_Krypton____600kg = (9, WeaponsSu30.Kh_31P__AS_17_Krypton____600kg) + Kh_36__AS_23____600kg_Grom_E1 = (9, WeaponsSu30.Kh_36__AS_23____600kg_Grom_E1) + KH_38MTE__AS_23__IR_Guided = (9, WeaponsSu30.KH_38MTE__AS_23__IR_Guided) + KH_38MLE__AS_23___Semi_Act_Laser = ( + 9, + WeaponsSu30.KH_38MLE__AS_23___Semi_Act_Laser, + ) + Kh_38MAE__AS_23____500kg = (9, WeaponsSu30.Kh_38MAE__AS_23____500kg) + Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__ = ( + 9, + Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__, + ) + KH_29L__AS_14_Kedge___Semi_Act_Laser = ( + 9, + WeaponsSu30.KH_29L__AS_14_Kedge___Semi_Act_Laser, + ) + KH_29TE__AS_14_Kedge___TV_Guided = ( + 9, + WeaponsSu30.KH_29TE__AS_14_Kedge___TV_Guided, + ) + Kh_59M__AS_18_Kazoo___930kg = (9, WeaponsSu30.Kh_59M__AS_18_Kazoo___930kg) + Kh_59MK__AS_18_Kazoo____930kg = (9, WeaponsSu30.Kh_59MK__AS_18_Kazoo____930kg) + Kh_31A__AS_17_Krypton____610kg = (9, WeaponsSu30.Kh_31A__AS_17_Krypton____610kg) + Kh_35__AS_20_Kayak____520kg = (9, WeaponsSu30.Kh_35__AS_20_Kayak____520kg) + Kh_35UE__AS_20_Kayak____520kg = (9, WeaponsSu30.Kh_35UE__AS_20_Kayak____520kg) + Kh_31AD__AS_17_Krypton____610kg = ( + 9, + WeaponsSu30.Kh_31AD__AS_17_Krypton____610kg, + ) + Kh_31PD__AS_17_Krypton____600kg = ( + 9, + WeaponsSu30.Kh_31PD__AS_17_Krypton____600kg, + ) + KAB_500Kr___500kg_TV_Guided_Bomb = (9, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb) + KAB_500S___500kg__GPS_Guided = (9, WeaponsSu30.KAB_500S___500kg__GPS_Guided) + KAB_1500Kr___1500kg = (9, WeaponsSu30.KAB_1500Kr___1500kg) + KAB_1500LG_PR___1500kg = (9, WeaponsSu30.KAB_1500LG_PR___1500kg) + KAB_1500L___1500kg_Laser_Guided_Bomb = ( + 9, + Weapons.KAB_1500L___1500kg_Laser_Guided_Bomb, + ) + KAB_500LG___500kg_Laser_Guided_Bomb = ( + 9, + Weapons.KAB_500LG___500kg_Laser_Guided_Bomb, + ) + SAB_100MN___100_kg_Illumination_Bomb = ( + 9, + Weapons.SAB_100MN___100_kg_Illumination_Bomb, + ) + KMGU_2___96_x_PTAB_2_5KO_Dispenser__CBU__HEAT_AP = ( + 9, + Weapons.KMGU_2___96_x_PTAB_2_5KO_Dispenser__CBU__HEAT_AP, + ) + KMGU_2___96_x_AO_2_5RT_Dispenser__CBU__HE_Frag = ( + 9, + Weapons.KMGU_2___96_x_AO_2_5RT_Dispenser__CBU__HE_Frag, + ) + P_50T___50kg_Practice_Bomb_LD = (9, Weapons.P_50T___50kg_Practice_Bomb_LD) + BetAB_500___500kg_Concrete_Piercing_Bomb_LD = ( + 9, + Weapons.BetAB_500___500kg_Concrete_Piercing_Bomb_LD, + ) + BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb = ( + 9, + Weapons.BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb, + ) + RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP = ( + 9, + Weapons.RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP, + ) + RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP = ( + 9, + Weapons.RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP, + ) + FAB_500_M54___474kg__freefall = (9, WeaponsSu30.FAB_500_M54___474kg__freefall) + FAB_500_M62___474kg__freefall = (9, WeaponsSu30.FAB_500_M62___474kg__freefall) + FAB_250_M62___227kg__freefall = (9, WeaponsSu30.FAB_250_M62___227kg__freefall) + MBD3_U6_68_with_6_x_FAB_250___250kg = ( + 9, + WeaponsSu30.MBD3_U6_68_with_6_x_FAB_250___250kg, + ) + MBD3_U6_68_with_6_x_FAB_100___100kg = ( + 9, + WeaponsSu30.MBD3_U6_68_with_6_x_FAB_100___100kg, + ) + + # ERRR + + class Pylon10: + R_73__AA_11_Archer____Infra_Red = (10, Weapons.R_73__AA_11_Archer____Infra_Red) + R_73L__AA_11_Archer_L____Infra_Red = ( + 10, + WeaponsSu30.R_73L__AA_11_Archer_L____Infra_Red, + ) + R_73M__AA_11_Archer_M____Infra_Red = ( + 10, + WeaponsSu30.R_73M__AA_11_Archer_M____Infra_Red, + ) + RVV_MD2__AA_11_Archer_M2____Infra_Red = ( + 10, + WeaponsSu30.RVV_MD2__AA_11_Archer_M2____Infra_Red, + ) + R_27R1__AA_10_Alamo_A____Semi_Act_Rdr = ( + 10, + WeaponsSu30.R_27R1__AA_10_Alamo_A____Semi_Act_Rdr, + ) + R_27T1__AA_10_Alamo_B____Infra_Red = ( + 10, + WeaponsSu30.R_27T1__AA_10_Alamo_B____Infra_Red, + ) + R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range = ( + 10, + WeaponsSu30.R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range, + ) + R_27ET1__AA_10_Alamo_D____IR_Extended_Range = ( + 10, + WeaponsSu30.R_27ET1__AA_10_Alamo_D____IR_Extended_Range, + ) + RVV_AE__AA_12_Adder____Active_Rdr = ( + 10, + WeaponsSu30.RVV_AE__AA_12_Adder____Active_Rdr, + ) + RVV_SD__AA_12_Adder_B____Active_Rdr = ( + 10, + WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, + ) + Kh_31P__AS_17_Krypton____600kg = ( + 10, + WeaponsSu30.Kh_31P__AS_17_Krypton____600kg, + ) + Kh_36__AS_23____600kg_Grom_E1 = (10, WeaponsSu30.Kh_36__AS_23____600kg_Grom_E1) + KH_38MTE__AS_23__IR_Guided = (10, WeaponsSu30.KH_38MTE__AS_23__IR_Guided) + KH_38MLE__AS_23___Semi_Act_Laser = ( + 10, + WeaponsSu30.KH_38MLE__AS_23___Semi_Act_Laser, + ) + Kh_38MAE__AS_23____500kg = (10, WeaponsSu30.Kh_38MAE__AS_23____500kg) + Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__ = ( + 10, + Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__, + ) + KH_29L__AS_14_Kedge___Semi_Act_Laser = ( + 10, + WeaponsSu30.KH_29L__AS_14_Kedge___Semi_Act_Laser, + ) + KH_29TE__AS_14_Kedge___TV_Guided = ( + 10, + WeaponsSu30.KH_29TE__AS_14_Kedge___TV_Guided, + ) + Kh_59M__AS_18_Kazoo___930kg = (10, WeaponsSu30.Kh_59M__AS_18_Kazoo___930kg) + Kh_59MK__AS_18_Kazoo____930kg = (10, WeaponsSu30.Kh_59MK__AS_18_Kazoo____930kg) + Kh_31A__AS_17_Krypton____610kg = ( + 10, + WeaponsSu30.Kh_31A__AS_17_Krypton____610kg, + ) + Kh_35__AS_20_Kayak____520kg = (10, WeaponsSu30.Kh_35__AS_20_Kayak____520kg) + Kh_35UE__AS_20_Kayak____520kg = (10, WeaponsSu30.Kh_35UE__AS_20_Kayak____520kg) + Kh_31AD__AS_17_Krypton____610kg = ( + 10, + WeaponsSu30.Kh_31AD__AS_17_Krypton____610kg, + ) + Kh_31PD__AS_17_Krypton____600kg = ( + 10, + WeaponsSu30.Kh_31PD__AS_17_Krypton____600kg, + ) + KAB_500Kr___500kg_TV_Guided_Bomb = ( + 10, + Weapons.KAB_500Kr___500kg_TV_Guided_Bomb, + ) + KAB_500S___500kg__GPS_Guided = (10, WeaponsSu30.KAB_500S___500kg__GPS_Guided) + KAB_500LG___500kg_Laser_Guided_Bomb = ( + 10, + Weapons.KAB_500LG___500kg_Laser_Guided_Bomb, + ) + SAB_100MN___100_kg_Illumination_Bomb = ( + 10, + Weapons.SAB_100MN___100_kg_Illumination_Bomb, + ) + KMGU_2___96_x_PTAB_2_5KO_Dispenser__CBU__HEAT_AP = ( + 10, + Weapons.KMGU_2___96_x_PTAB_2_5KO_Dispenser__CBU__HEAT_AP, + ) + KMGU_2___96_x_AO_2_5RT_Dispenser__CBU__HE_Frag = ( + 10, + Weapons.KMGU_2___96_x_AO_2_5RT_Dispenser__CBU__HE_Frag, + ) + P_50T___50kg_Practice_Bomb_LD = (10, Weapons.P_50T___50kg_Practice_Bomb_LD) + BetAB_500___500kg_Concrete_Piercing_Bomb_LD = ( + 10, + Weapons.BetAB_500___500kg_Concrete_Piercing_Bomb_LD, + ) + BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb = ( + 10, + Weapons.BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb, + ) + RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP = ( + 10, + Weapons.RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP, + ) + RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP = ( + 10, + Weapons.RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP, + ) + FAB_500_M54___474kg__freefall = (10, WeaponsSu30.FAB_500_M54___474kg__freefall) + FAB_500_M62___474kg__freefall = (10, WeaponsSu30.FAB_500_M62___474kg__freefall) + FAB_250_M62___227kg__freefall = (10, WeaponsSu30.FAB_250_M62___227kg__freefall) + MBD3_U6_68_with_6_x_FAB_250___250kg = ( + 10, + WeaponsSu30.MBD3_U6_68_with_6_x_FAB_250___250kg, + ) + MBD3_U6_68_with_6_x_FAB_100___100kg = ( + 10, + WeaponsSu30.MBD3_U6_68_with_6_x_FAB_100___100kg, + ) + _2_x_B_13L_pods___10_x_S_13_OF__122mm_UnGd_Rkts__Blast_Frag = ( + 10, + Weapons._2_x_B_13L_pods___10_x_S_13_OF__122mm_UnGd_Rkts__Blast_Frag, + ) + _2_x_B_8M1___40_x_UnGd_Rkts__80_mm_S_8KOM_HEAT_Frag = ( + 10, + Weapons._2_x_B_8M1___40_x_UnGd_Rkts__80_mm_S_8KOM_HEAT_Frag, + ) + _2_x_B_8M1___40_x_UnGd_Rkts__80_mm_S_8TsM_SM_Orange = ( + 10, + Weapons._2_x_B_8M1___40_x_UnGd_Rkts__80_mm_S_8TsM_SM_Orange, + ) + _2_x_B_8M1___40_x_UnGd_Rkts__80_mm_S_8OFP2_MPP = ( + 10, + Weapons._2_x_B_8M1___40_x_UnGd_Rkts__80_mm_S_8OFP2_MPP, + ) + _2_x_S_25 = (10, Weapons._2_x_S_25) + + # ERRR + + class Pylon11: + R_73__AA_11_Archer____Infra_Red = (11, Weapons.R_73__AA_11_Archer____Infra_Red) + R_73L__AA_11_Archer_L____Infra_Red = ( + 11, + WeaponsSu30.R_73L__AA_11_Archer_L____Infra_Red, + ) + R_73M__AA_11_Archer_M____Infra_Red = ( + 11, + WeaponsSu30.R_73M__AA_11_Archer_M____Infra_Red, + ) + RVV_MD2__AA_11_Archer_M2____Infra_Red = ( + 11, + WeaponsSu30.RVV_MD2__AA_11_Archer_M2____Infra_Red, + ) + RVV_AE__AA_12_Adder____Active_Rdr = ( + 11, + WeaponsSu30.RVV_AE__AA_12_Adder____Active_Rdr, + ) + RVV_SD__AA_12_Adder_B____Active_Rdr = ( + 11, + WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, + ) + Smoke_Generator___red = (11, Weapons.Smoke_Generator___red) + Smoke_Generator___green = (11, Weapons.Smoke_Generator___green) + Smoke_Generator___blue = (11, Weapons.Smoke_Generator___blue) + Smoke_Generator___white = (11, Weapons.Smoke_Generator___white) + Smoke_Generator___yellow = (11, Weapons.Smoke_Generator___yellow) + Smoke_Generator___orange = (11, Weapons.Smoke_Generator___orange) + + # ERRR + + class Pylon12: + R_73__AA_11_Archer____Infra_Red = (12, Weapons.R_73__AA_11_Archer____Infra_Red) + R_73L__AA_11_Archer_L____Infra_Red = ( + 12, + WeaponsSu30.R_73L__AA_11_Archer_L____Infra_Red, + ) + R_73M__AA_11_Archer_M____Infra_Red = ( + 12, + WeaponsSu30.R_73M__AA_11_Archer_M____Infra_Red, + ) + RVV_MD2__AA_11_Archer_M2____Infra_Red = ( + 12, + WeaponsSu30.RVV_MD2__AA_11_Archer_M2____Infra_Red, + ) + L005_Sorbtsiya_ECM_pod__right_ = (12, Weapons.L005_Sorbtsiya_ECM_pod__right_) + SAP_518_ECM_Pod__Right_ = (12, WeaponsSu30.SAP_518_ECM_Pod__Right_) + Smoke_Generator___red = (12, Weapons.Smoke_Generator___red) + Smoke_Generator___green = (12, Weapons.Smoke_Generator___green) + Smoke_Generator___blue = (12, Weapons.Smoke_Generator___blue) + Smoke_Generator___white = (12, Weapons.Smoke_Generator___white) + Smoke_Generator___yellow = (12, Weapons.Smoke_Generator___yellow) + Smoke_Generator___orange = (12, Weapons.Smoke_Generator___orange) + + pylons: Set[int] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12} + + tasks = [ + task.CAP, + task.Escort, + task.FighterSweep, + task.Intercept, + task.AFAC, + task.SEAD, + task.AntishipStrike, + task.CAS, + task.PinpointStrike, + task.GroundAttack, + task.RunwayAttack, + ] + task_default = task.CAP + + +@planemod +class Su_30SM_AG(PlaneType): + id = "Su-30SM-AG" + flyable = True + height = 5.932 + width = 14.7 + length = 21.935 + fuel_max = 9500 + max_speed = 2499.984 + chaff = 96 + flare = 96 + charge_total = 192 + chaff_charge_size = 1 + flare_charge_size = 1 + eplrs = True + category = "Interceptor" # {78EFB7A2-FD52-4b57-A6A6-3BF0E1D6555F} + + 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: 117, + 2: 135, + 4: 127, + 8: 128, + 16: 132, + 17: 138, + 9: 126, + 18: 122, + 5: 125, + 10: 133, + 20: 137, + 11: 130, + 3: 136, + 6: 121, + 12: 139, + 13: 140, + 7: 141, + 14: 131, + 19: 124, + 15: 134, + }, + }, + } + + property_defaults: Dict[str, Any] = { + "SoloFlight": False, + "NetCrewControlPriority": 0, + "HumanOrchestra": False, + "HelmetMountedDevice": 1, + "ShowLadders": True, + "su30Chaff": 96, + "su30Flare": 96, + } + + class Properties: + class SoloFlight: + id = "SoloFlight" + + class NetCrewControlPriority: + id = "NetCrewControlPriority" + + class Values: + Pilot = 0 + WSO = 1 + Ask_Always = -1 + Equally_Responsible = -2 + + class HumanOrchestra: + id = "HumanOrchestra" + + class HelmetMountedDevice: + id = "HelmetMountedDevice" + + class Values: + Not_installed = 0 + SURA_Visor = 1 + NVG = 2 + + class ShowLadders: + id = "ShowLadders" + + class su30Chaff: + id = "su30Chaff" + + class su30Flare: + id = "su30Flare" + + properties = { + "SoloFlight": UnitPropertyDescription( + identifier="SoloFlight", + control="checkbox", + label="Solo Flight", + player_only=True, + default=False, + weight_when_on=-80, + ), + "NetCrewControlPriority": UnitPropertyDescription( + identifier="NetCrewControlPriority", + control="comboList", + label="Aircraft Control Priority", + player_only=True, + default=0, + w_ctrl=150, + values={ + 0: "Pilot", + 1: "WSO", + -1: "Ask Always", + -2: "Equally Responsible", + }, + ), + "HumanOrchestra": UnitPropertyDescription( + identifier="HumanOrchestra", + control="checkbox", + label="Disable Multicrew", + player_only=True, + default=False, + ), + "HelmetMountedDevice": UnitPropertyDescription( + identifier="HelmetMountedDevice", + control="comboList", + label="Helmet Mounted Device", + player_only=True, + default=1, + w_ctrl=150, + values={ + 0: "Not installed", + 1: "SURA Visor", + 2: "NVG", + }, + ), + "ShowLadders": UnitPropertyDescription( + identifier="ShowLadders", + control="checkbox", + label="Show Ladders", + default=True, + ), + "su30Chaff": UnitPropertyDescription( + identifier="su30Chaff", + control="spinbox", + label="Chaff", + player_only=True, + minimum=0, + maximum=192, + default=96, + dimension=" ", + ), + "su30Flare": UnitPropertyDescription( + identifier="su30Flare", + control="spinbox", + label="Flare", + player_only=True, + minimum=0, + maximum=192, + default=96, + dimension=" ", + ), + } + + livery_name = "SU-30SM-AG" # from type + + class Pylon1: + R_73__AA_11_Archer____Infra_Red = (1, Weapons.R_73__AA_11_Archer____Infra_Red) + R_73L__AA_11_Archer_L____Infra_Red = ( + 1, + WeaponsSu30.R_73L__AA_11_Archer_L____Infra_Red, + ) + R_73M__AA_11_Archer_M____Infra_Red = ( + 1, + WeaponsSu30.R_73M__AA_11_Archer_M____Infra_Red, + ) + RVV_MD2__AA_11_Archer_M2____Infra_Red = ( + 1, + WeaponsSu30.RVV_MD2__AA_11_Archer_M2____Infra_Red, + ) + L005_Sorbtsiya_ECM_pod__left_ = (1, Weapons.L005_Sorbtsiya_ECM_pod__left_) + SAP_518_ECM_Pod__Left_ = (1, WeaponsSu30.SAP_518_ECM_Pod__Left_) + Smoke_Generator___red = (1, Weapons.Smoke_Generator___red) + Smoke_Generator___green = (1, Weapons.Smoke_Generator___green) + Smoke_Generator___blue = (1, Weapons.Smoke_Generator___blue) + Smoke_Generator___white = (1, Weapons.Smoke_Generator___white) + Smoke_Generator___yellow = (1, Weapons.Smoke_Generator___yellow) + Smoke_Generator___orange = (1, Weapons.Smoke_Generator___orange) + Smoke_Generator___Black = (1, WeaponsSu30.Smoke_Generator___Black) + class Pylon2: R_73__AA_11_Archer____Infra_Red = (2, Weapons.R_73__AA_11_Archer____Infra_Red) R_73L__AA_11_Archer_L____Infra_Red = ( @@ -3283,6 +7438,9 @@ class Su_30SM(PlaneType): Smoke_Generator___white = (2, Weapons.Smoke_Generator___white) Smoke_Generator___yellow = (2, Weapons.Smoke_Generator___yellow) Smoke_Generator___orange = (2, Weapons.Smoke_Generator___orange) + Smoke_Generator___Black = (2, WeaponsSu30.Smoke_Generator___Black) + + # ERRR class Pylon3: R_73__AA_11_Archer____Infra_Red = (3, Weapons.R_73__AA_11_Archer____Infra_Red) @@ -3338,13 +7496,25 @@ class Su_30SM(PlaneType): 3, WeaponsSu30.R_77M__AA_12_Adder_C____Active_Rdr, ) - Kh_31P_AA = (3, WeaponsSu30.Kh_31P_AA) - Kh_36_Grom_1 = (3, WeaponsSu30.Kh_36_Grom_1) - KH_38MTE = (3, WeaponsSu30.KH_38MTE) - KH_38MLE = (3, WeaponsSu30.KH_38MLE) - Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided_ = ( + R_77PD__AA_12_Adder____Active_Rdr_Ramjet = ( 3, - Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided_, + WeaponsSu30.R_77PD__AA_12_Adder____Active_Rdr_Ramjet, + ) + R_37M__AA_13_Axehead____Active_Rdr = ( + 3, + WeaponsSu30.R_37M__AA_13_Axehead____Active_Rdr, + ) + Kh_31P__AS_17_Krypton____600kg = (3, WeaponsSu30.Kh_31P__AS_17_Krypton____600kg) + Kh_36__AS_23____600kg_Grom_E1 = (3, WeaponsSu30.Kh_36__AS_23____600kg_Grom_E1) + KH_38MTE__AS_23__IR_Guided = (3, WeaponsSu30.KH_38MTE__AS_23__IR_Guided) + KH_38MLE__AS_23___Semi_Act_Laser = ( + 3, + WeaponsSu30.KH_38MLE__AS_23___Semi_Act_Laser, + ) + Kh_38MAE__AS_23____500kg = (3, WeaponsSu30.Kh_38MAE__AS_23____500kg) + Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__ = ( + 3, + Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__, ) KH_29L__AS_14_Kedge___Semi_Act_Laser = ( 3, @@ -3354,16 +7524,23 @@ class Su_30SM(PlaneType): 3, WeaponsSu30.KH_29TE__AS_14_Kedge___TV_Guided, ) - Kh_59M = (3, WeaponsSu30.Kh_59M) - Kh_59MK = (3, WeaponsSu30.Kh_59MK) - Kh_31A = (3, WeaponsSu30.Kh_31A) - KH_35A = (3, WeaponsSu30.KH_35A) - KH_35UE = (3, WeaponsSu30.KH_35UE) - KH_31AD = (3, WeaponsSu30.KH_31AD) - KH_31PD__AA_ = (3, WeaponsSu30.KH_31PD__AA_) - Kh_59MK2_ = (3, WeaponsSu30.Kh_59MK2_) + # ERRR {JAS39_AGM_65K} + Kh_59M__AS_18_Kazoo___930kg = (3, WeaponsSu30.Kh_59M__AS_18_Kazoo___930kg) + Kh_59MK__AS_18_Kazoo____930kg = (3, WeaponsSu30.Kh_59MK__AS_18_Kazoo____930kg) + Kh_31A__AS_17_Krypton____610kg = (3, WeaponsSu30.Kh_31A__AS_17_Krypton____610kg) + Kh_35__AS_20_Kayak____520kg = (3, WeaponsSu30.Kh_35__AS_20_Kayak____520kg) + Kh_35UE__AS_20_Kayak____520kg = (3, WeaponsSu30.Kh_35UE__AS_20_Kayak____520kg) + Kh_31AD__AS_17_Krypton____610kg = ( + 3, + WeaponsSu30.Kh_31AD__AS_17_Krypton____610kg, + ) + Kh_31PD__AS_17_Krypton____600kg = ( + 3, + WeaponsSu30.Kh_31PD__AS_17_Krypton____600kg, + ) + Kh_59MK2__AS_22_Kazoo____700kg = (3, WeaponsSu30.Kh_59MK2__AS_22_Kazoo____700kg) KAB_500Kr___500kg_TV_Guided_Bomb = (3, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb) - KAB_500S___500kg = (3, WeaponsSu30.KAB_500S___500kg) + KAB_500S___500kg__GPS_Guided = (3, WeaponsSu30.KAB_500S___500kg__GPS_Guided) KAB_500LG___500kg_Laser_Guided_Bomb = ( 3, Weapons.KAB_500LG___500kg_Laser_Guided_Bomb, @@ -3393,11 +7570,14 @@ class Su_30SM(PlaneType): 3, Weapons.RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP, ) - FAB_500_M54___474kg = (3, WeaponsSu30.FAB_500_M54___474kg) - FAB_500_M62___474kg = (3, WeaponsSu30.FAB_500_M62___474kg) - FAB_500_M62_UMPK = (3, WeaponsSu30.FAB_500_M62_UMPK) - FAB_250_M62___227kg = (3, WeaponsSu30.FAB_250_M62___227kg) - FAB_500_M62_NV___500kg = (3, WeaponsSu30.FAB_500_M62_NV___500kg) + FAB_500_M54___474kg__freefall = (3, WeaponsSu30.FAB_500_M54___474kg__freefall) + FAB_500_M62___474kg__freefall = (3, WeaponsSu30.FAB_500_M62___474kg__freefall) + FAB_500M62_UMPK__500kg_Glide_Bomb = ( + 3, + WeaponsSu30.FAB_500M62_UMPK__500kg_Glide_Bomb, + ) + FAB_250_M62___227kg__freefall = (3, WeaponsSu30.FAB_250_M62___227kg__freefall) + FAB_500M62_NV__500kg_Parachute = (3, WeaponsSu30.FAB_500M62_NV__500kg_Parachute) MBD3_U6_68_with_6_x_FAB_250___250kg = ( 3, WeaponsSu30.MBD3_U6_68_with_6_x_FAB_250___250kg, @@ -3428,6 +7608,8 @@ class Su_30SM(PlaneType): ) _2_x_S_25 = (3, Weapons._2_x_S_25) + # ERRR + class Pylon4: R_27R1__AA_10_Alamo_A____Semi_Act_Rdr = ( 4, @@ -3441,14 +7623,6 @@ class Su_30SM(PlaneType): 4, WeaponsSu30.R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range, ) - R_27EP1__AA_10_Alamo_F____Passive_Rdr_Extended_Range = ( - 4, - WeaponsSu30.R_27EP1__AA_10_Alamo_F____Passive_Rdr_Extended_Range, - ) - R_27P1__AA_10_Alamo_E____Passive_Rdr = ( - 4, - WeaponsSu30.R_27P1__AA_10_Alamo_E____Passive_Rdr, - ) R_77__AA_12_Adder_Early____Active_Rdr = ( 4, WeaponsSu30.R_77__AA_12_Adder_Early____Active_Rdr, @@ -3461,13 +7635,25 @@ class Su_30SM(PlaneType): 4, WeaponsSu30.R_77M__AA_12_Adder_C____Active_Rdr, ) - Kh_31P_AA = (4, WeaponsSu30.Kh_31P_AA) - Kh_36_Grom_1 = (4, WeaponsSu30.Kh_36_Grom_1) - KH_38MTE = (4, WeaponsSu30.KH_38MTE) - KH_38MLE = (4, WeaponsSu30.KH_38MLE) - Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided_ = ( + R_77PD__AA_12_Adder____Active_Rdr_Ramjet = ( 4, - Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided_, + WeaponsSu30.R_77PD__AA_12_Adder____Active_Rdr_Ramjet, + ) + R_37M__AA_13_Axehead____Active_Rdr = ( + 4, + WeaponsSu30.R_37M__AA_13_Axehead____Active_Rdr, + ) + Kh_31P__AS_17_Krypton____600kg = (4, WeaponsSu30.Kh_31P__AS_17_Krypton____600kg) + Kh_36__AS_23____600kg_Grom_E1 = (4, WeaponsSu30.Kh_36__AS_23____600kg_Grom_E1) + KH_38MTE__AS_23__IR_Guided = (4, WeaponsSu30.KH_38MTE__AS_23__IR_Guided) + KH_38MLE__AS_23___Semi_Act_Laser = ( + 4, + WeaponsSu30.KH_38MLE__AS_23___Semi_Act_Laser, + ) + Kh_38MAE__AS_23____500kg = (4, WeaponsSu30.Kh_38MAE__AS_23____500kg) + Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__ = ( + 4, + Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__, ) KH_29L__AS_14_Kedge___Semi_Act_Laser = ( 4, @@ -3477,16 +7663,22 @@ class Su_30SM(PlaneType): 4, WeaponsSu30.KH_29TE__AS_14_Kedge___TV_Guided, ) - Kh_59M = (4, WeaponsSu30.Kh_59M) - Kh_59MK = (4, WeaponsSu30.Kh_59MK) - Kh_31A = (4, WeaponsSu30.Kh_31A) - KH_35A = (4, WeaponsSu30.KH_35A) - KH_35UE = (4, WeaponsSu30.KH_35UE) - KH_31AD = (4, WeaponsSu30.KH_31AD) - KH_31PD__AA_ = (4, WeaponsSu30.KH_31PD__AA_) - Kh_59MK2_ = (4, WeaponsSu30.Kh_59MK2_) + Kh_59M__AS_18_Kazoo___930kg = (4, WeaponsSu30.Kh_59M__AS_18_Kazoo___930kg) + Kh_59MK__AS_18_Kazoo____930kg = (4, WeaponsSu30.Kh_59MK__AS_18_Kazoo____930kg) + Kh_31A__AS_17_Krypton____610kg = (4, WeaponsSu30.Kh_31A__AS_17_Krypton____610kg) + Kh_35__AS_20_Kayak____520kg = (4, WeaponsSu30.Kh_35__AS_20_Kayak____520kg) + Kh_35UE__AS_20_Kayak____520kg = (4, WeaponsSu30.Kh_35UE__AS_20_Kayak____520kg) + Kh_31AD__AS_17_Krypton____610kg = ( + 4, + WeaponsSu30.Kh_31AD__AS_17_Krypton____610kg, + ) + Kh_31PD__AS_17_Krypton____600kg = ( + 4, + WeaponsSu30.Kh_31PD__AS_17_Krypton____600kg, + ) + Kh_59MK2__AS_22_Kazoo____700kg = (4, WeaponsSu30.Kh_59MK2__AS_22_Kazoo____700kg) KAB_500Kr___500kg_TV_Guided_Bomb = (4, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb) - KAB_500S___500kg = (4, WeaponsSu30.KAB_500S___500kg) + KAB_500S___500kg__GPS_Guided = (4, WeaponsSu30.KAB_500S___500kg__GPS_Guided) KAB_1500Kr___1500kg = (4, WeaponsSu30.KAB_1500Kr___1500kg) KAB_1500LG_PR___1500kg = (4, WeaponsSu30.KAB_1500LG_PR___1500kg) KAB_1500L___1500kg_Laser_Guided_Bomb = ( @@ -3522,11 +7714,14 @@ class Su_30SM(PlaneType): 4, Weapons.RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP, ) - FAB_500_M54___474kg = (4, WeaponsSu30.FAB_500_M54___474kg) - FAB_500_M62___474kg = (4, WeaponsSu30.FAB_500_M62___474kg) - FAB_500_M62_UMPK = (4, WeaponsSu30.FAB_500_M62_UMPK) - FAB_250_M62___227kg = (4, WeaponsSu30.FAB_250_M62___227kg) - FAB_500_M62_NV___500kg = (4, WeaponsSu30.FAB_500_M62_NV___500kg) + FAB_500_M54___474kg__freefall = (4, WeaponsSu30.FAB_500_M54___474kg__freefall) + FAB_500_M62___474kg__freefall = (4, WeaponsSu30.FAB_500_M62___474kg__freefall) + FAB_500M62_UMPK__500kg_Glide_Bomb = ( + 4, + WeaponsSu30.FAB_500M62_UMPK__500kg_Glide_Bomb, + ) + FAB_250_M62___227kg__freefall = (4, WeaponsSu30.FAB_250_M62___227kg__freefall) + FAB_500M62_NV__500kg_Parachute = (4, WeaponsSu30.FAB_500M62_NV__500kg_Parachute) RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP = ( 4, Weapons.RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP, @@ -3548,6 +7743,8 @@ class Su_30SM(PlaneType): WeaponsSu30.MBD3_U6_68_with_6_x_FAB_100___100kg, ) + # ERRR + class Pylon5: R_27R1__AA_10_Alamo_A____Semi_Act_Rdr = ( 5, @@ -3561,14 +7758,6 @@ class Su_30SM(PlaneType): 5, WeaponsSu30.R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range, ) - R_27EP1__AA_10_Alamo_F____Passive_Rdr_Extended_Range = ( - 5, - WeaponsSu30.R_27EP1__AA_10_Alamo_F____Passive_Rdr_Extended_Range, - ) - R_27P1__AA_10_Alamo_E____Passive_Rdr = ( - 5, - WeaponsSu30.R_27P1__AA_10_Alamo_E____Passive_Rdr, - ) R_77__AA_12_Adder_Early____Active_Rdr = ( 5, WeaponsSu30.R_77__AA_12_Adder_Early____Active_Rdr, @@ -3581,13 +7770,25 @@ class Su_30SM(PlaneType): 5, WeaponsSu30.R_77M__AA_12_Adder_C____Active_Rdr, ) - Kh_31P_AA = (5, WeaponsSu30.Kh_31P_AA) - Kh_36_Grom_1 = (5, WeaponsSu30.Kh_36_Grom_1) - KH_38MTE = (5, WeaponsSu30.KH_38MTE) - KH_38MLE = (5, WeaponsSu30.KH_38MLE) - Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided_ = ( + R_77PD__AA_12_Adder____Active_Rdr_Ramjet = ( 5, - Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided_, + WeaponsSu30.R_77PD__AA_12_Adder____Active_Rdr_Ramjet, + ) + R_37M__AA_13_Axehead____Active_Rdr = ( + 5, + WeaponsSu30.R_37M__AA_13_Axehead____Active_Rdr, + ) + Kh_31P__AS_17_Krypton____600kg = (5, WeaponsSu30.Kh_31P__AS_17_Krypton____600kg) + Kh_36__AS_23____600kg_Grom_E1 = (5, WeaponsSu30.Kh_36__AS_23____600kg_Grom_E1) + KH_38MTE__AS_23__IR_Guided = (5, WeaponsSu30.KH_38MTE__AS_23__IR_Guided) + KH_38MLE__AS_23___Semi_Act_Laser = ( + 5, + WeaponsSu30.KH_38MLE__AS_23___Semi_Act_Laser, + ) + Kh_38MAE__AS_23____500kg = (5, WeaponsSu30.Kh_38MAE__AS_23____500kg) + Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__ = ( + 5, + Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__, ) KH_29L__AS_14_Kedge___Semi_Act_Laser = ( 5, @@ -3597,11 +7798,17 @@ class Su_30SM(PlaneType): 5, WeaponsSu30.KH_29TE__AS_14_Kedge___TV_Guided, ) - Kh_31A = (5, WeaponsSu30.Kh_31A) - KH_31AD = (5, WeaponsSu30.KH_31AD) - KH_31PD__AA_ = (5, WeaponsSu30.KH_31PD__AA_) + Kh_31A__AS_17_Krypton____610kg = (5, WeaponsSu30.Kh_31A__AS_17_Krypton____610kg) + Kh_31AD__AS_17_Krypton____610kg = ( + 5, + WeaponsSu30.Kh_31AD__AS_17_Krypton____610kg, + ) + Kh_31PD__AS_17_Krypton____600kg = ( + 5, + WeaponsSu30.Kh_31PD__AS_17_Krypton____600kg, + ) KAB_500Kr___500kg_TV_Guided_Bomb = (5, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb) - KAB_500S___500kg = (5, WeaponsSu30.KAB_500S___500kg) + KAB_500S___500kg__GPS_Guided = (5, WeaponsSu30.KAB_500S___500kg__GPS_Guided) KAB_500LG___500kg_Laser_Guided_Bomb = ( 5, Weapons.KAB_500LG___500kg_Laser_Guided_Bomb, @@ -3623,11 +7830,14 @@ class Su_30SM(PlaneType): 5, Weapons.RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP, ) - FAB_500_M54___474kg = (5, WeaponsSu30.FAB_500_M54___474kg) - FAB_500_M62___474kg = (5, WeaponsSu30.FAB_500_M62___474kg) - FAB_500_M62_UMPK = (5, WeaponsSu30.FAB_500_M62_UMPK) - FAB_250_M62___227kg = (5, WeaponsSu30.FAB_250_M62___227kg) - FAB_500_M62_NV___500kg = (5, WeaponsSu30.FAB_500_M62_NV___500kg) + FAB_500_M54___474kg__freefall = (5, WeaponsSu30.FAB_500_M54___474kg__freefall) + FAB_500_M62___474kg__freefall = (5, WeaponsSu30.FAB_500_M62___474kg__freefall) + FAB_500M62_UMPK__500kg_Glide_Bomb = ( + 5, + WeaponsSu30.FAB_500M62_UMPK__500kg_Glide_Bomb, + ) + FAB_250_M62___227kg__freefall = (5, WeaponsSu30.FAB_250_M62___227kg__freefall) + FAB_500M62_NV__500kg_Parachute = (5, WeaponsSu30.FAB_500M62_NV__500kg_Parachute) RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP = ( 5, Weapons.RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP, @@ -3645,6 +7855,9 @@ class Su_30SM(PlaneType): WeaponsSu30.MBD3_U6_68_with_6_x_FAB_100___100kg, ) APK_9_POD = (5, WeaponsSu30.APK_9_POD) + L_081_Fantasmagoria_ELINT_pod = (5, Weapons.L_081_Fantasmagoria_ELINT_pod) + + # ERRR class Pylon6: R_27R1__AA_10_Alamo_A____Semi_Act_Rdr = ( @@ -3659,14 +7872,6 @@ class Su_30SM(PlaneType): 6, WeaponsSu30.R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range, ) - R_27EP1__AA_10_Alamo_F____Passive_Rdr_Extended_Range = ( - 6, - WeaponsSu30.R_27EP1__AA_10_Alamo_F____Passive_Rdr_Extended_Range, - ) - R_27P1__AA_10_Alamo_E____Passive_Rdr = ( - 6, - WeaponsSu30.R_27P1__AA_10_Alamo_E____Passive_Rdr, - ) R_77__AA_12_Adder_Early____Active_Rdr = ( 6, WeaponsSu30.R_77__AA_12_Adder_Early____Active_Rdr, @@ -3679,8 +7884,16 @@ class Su_30SM(PlaneType): 6, WeaponsSu30.R_77M__AA_12_Adder_C____Active_Rdr, ) + R_77PD__AA_12_Adder____Active_Rdr_Ramjet = ( + 6, + WeaponsSu30.R_77PD__AA_12_Adder____Active_Rdr_Ramjet, + ) + R_37M__AA_13_Axehead____Active_Rdr = ( + 6, + WeaponsSu30.R_37M__AA_13_Axehead____Active_Rdr, + ) KAB_500Kr___500kg_TV_Guided_Bomb = (6, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb) - KAB_500S___500kg = (6, WeaponsSu30.KAB_500S___500kg) + KAB_500S___500kg__GPS_Guided = (6, WeaponsSu30.KAB_500S___500kg__GPS_Guided) KAB_1500Kr___1500kg = (6, WeaponsSu30.KAB_1500Kr___1500kg) KAB_1500LG_PR___1500kg = (6, WeaponsSu30.KAB_1500LG_PR___1500kg) KAB_1500L___1500kg_Laser_Guided_Bomb = ( @@ -3716,12 +7929,18 @@ class Su_30SM(PlaneType): 6, Weapons.RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP, ) - FAB_500_M54___474kg = (6, WeaponsSu30.FAB_500_M54___474kg) - FAB_500_M62___474kg = (6, WeaponsSu30.FAB_500_M62___474kg) - FAB_500_M62_UMPK = (6, WeaponsSu30.FAB_500_M62_UMPK) - FAB_250_M62___227kg = (6, WeaponsSu30.FAB_250_M62___227kg) - FAB_500_M62_NV___500kg = (6, WeaponsSu30.FAB_500_M62_NV___500kg) - RN_244___260kg__nuclear_bomb = (6, WeaponsSu30.RN_244___260kg__nuclear_bomb) + FAB_500_M54___474kg__freefall = (6, WeaponsSu30.FAB_500_M54___474kg__freefall) + FAB_500_M62___474kg__freefall = (6, WeaponsSu30.FAB_500_M62___474kg__freefall) + FAB_500M62_UMPK__500kg_Glide_Bomb = ( + 6, + WeaponsSu30.FAB_500M62_UMPK__500kg_Glide_Bomb, + ) + FAB_250_M62___227kg__freefall = (6, WeaponsSu30.FAB_250_M62___227kg__freefall) + FAB_500M62_NV__500kg_Parachute = (6, WeaponsSu30.FAB_500M62_NV__500kg_Parachute) + RN_244___260kg__Tactic_Nuclear_bomb = ( + 6, + WeaponsSu30.RN_244___260kg__Tactic_Nuclear_bomb, + ) RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP = ( 6, Weapons.RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP, @@ -3747,6 +7966,8 @@ class Su_30SM(PlaneType): Weapons.RBK_500___268_x_PTAB_1M__500kg_CBU_Light_HEAT_AP, ) + # ERRR + class Pylon7: R_27R1__AA_10_Alamo_A____Semi_Act_Rdr = ( 7, @@ -3760,14 +7981,6 @@ class Su_30SM(PlaneType): 7, WeaponsSu30.R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range, ) - R_27EP1__AA_10_Alamo_F____Passive_Rdr_Extended_Range = ( - 7, - WeaponsSu30.R_27EP1__AA_10_Alamo_F____Passive_Rdr_Extended_Range, - ) - R_27P1__AA_10_Alamo_E____Passive_Rdr = ( - 7, - WeaponsSu30.R_27P1__AA_10_Alamo_E____Passive_Rdr, - ) R_77__AA_12_Adder_Early____Active_Rdr = ( 7, WeaponsSu30.R_77__AA_12_Adder_Early____Active_Rdr, @@ -3780,8 +7993,16 @@ class Su_30SM(PlaneType): 7, WeaponsSu30.R_77M__AA_12_Adder_C____Active_Rdr, ) + R_77PD__AA_12_Adder____Active_Rdr_Ramjet = ( + 7, + WeaponsSu30.R_77PD__AA_12_Adder____Active_Rdr_Ramjet, + ) + R_37M__AA_13_Axehead____Active_Rdr = ( + 7, + WeaponsSu30.R_37M__AA_13_Axehead____Active_Rdr, + ) KAB_500Kr___500kg_TV_Guided_Bomb = (7, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb) - KAB_500S___500kg = (7, WeaponsSu30.KAB_500S___500kg) + KAB_500S___500kg__GPS_Guided = (7, WeaponsSu30.KAB_500S___500kg__GPS_Guided) KMGU_2___96_x_PTAB_2_5KO_Dispenser__CBU__HEAT_AP = ( 7, Weapons.KMGU_2___96_x_PTAB_2_5KO_Dispenser__CBU__HEAT_AP, @@ -3803,11 +8024,14 @@ class Su_30SM(PlaneType): 7, Weapons.RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP, ) - FAB_500_M54___474kg = (7, WeaponsSu30.FAB_500_M54___474kg) - FAB_500_M62___474kg = (7, WeaponsSu30.FAB_500_M62___474kg) - FAB_500_M62_UMPK = (7, WeaponsSu30.FAB_500_M62_UMPK) - FAB_250_M62___227kg = (7, WeaponsSu30.FAB_250_M62___227kg) - FAB_500_M62_NV___500kg = (7, WeaponsSu30.FAB_500_M62_NV___500kg) + FAB_500_M54___474kg__freefall = (7, WeaponsSu30.FAB_500_M54___474kg__freefall) + FAB_500_M62___474kg__freefall = (7, WeaponsSu30.FAB_500_M62___474kg__freefall) + FAB_500M62_UMPK__500kg_Glide_Bomb = ( + 7, + WeaponsSu30.FAB_500M62_UMPK__500kg_Glide_Bomb, + ) + FAB_250_M62___227kg__freefall = (7, WeaponsSu30.FAB_250_M62___227kg__freefall) + FAB_500M62_NV__500kg_Parachute = (7, WeaponsSu30.FAB_500M62_NV__500kg_Parachute) RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP = ( 7, Weapons.RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP, @@ -3838,6 +8062,7 @@ class Su_30SM(PlaneType): Smoke_Generator___white = (7, Weapons.Smoke_Generator___white) Smoke_Generator___yellow = (7, Weapons.Smoke_Generator___yellow) Smoke_Generator___orange = (7, Weapons.Smoke_Generator___orange) + Smoke_Generator___Black = (7, WeaponsSu30.Smoke_Generator___Black) RBK_500U___126_x_OAB_2_5RT__500kg_CBU_HE_Frag = ( 7, Weapons.RBK_500U___126_x_OAB_2_5RT__500kg_CBU_HE_Frag, @@ -3847,6 +8072,8 @@ class Su_30SM(PlaneType): Weapons.RBK_500___268_x_PTAB_1M__500kg_CBU_Light_HEAT_AP, ) + # ERRR + class Pylon8: R_27R1__AA_10_Alamo_A____Semi_Act_Rdr = ( 8, @@ -3860,14 +8087,6 @@ class Su_30SM(PlaneType): 8, WeaponsSu30.R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range, ) - R_27EP1__AA_10_Alamo_F____Passive_Rdr_Extended_Range = ( - 8, - WeaponsSu30.R_27EP1__AA_10_Alamo_F____Passive_Rdr_Extended_Range, - ) - R_27P1__AA_10_Alamo_E____Passive_Rdr = ( - 8, - WeaponsSu30.R_27P1__AA_10_Alamo_E____Passive_Rdr, - ) R_77__AA_12_Adder_Early____Active_Rdr = ( 8, WeaponsSu30.R_77__AA_12_Adder_Early____Active_Rdr, @@ -3880,13 +8099,25 @@ class Su_30SM(PlaneType): 8, WeaponsSu30.R_77M__AA_12_Adder_C____Active_Rdr, ) - Kh_31P_AA = (8, WeaponsSu30.Kh_31P_AA) - Kh_36_Grom_1 = (8, WeaponsSu30.Kh_36_Grom_1) - KH_38MTE = (8, WeaponsSu30.KH_38MTE) - KH_38MLE = (8, WeaponsSu30.KH_38MLE) - Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided_ = ( + R_77PD__AA_12_Adder____Active_Rdr_Ramjet = ( 8, - Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided_, + WeaponsSu30.R_77PD__AA_12_Adder____Active_Rdr_Ramjet, + ) + R_37M__AA_13_Axehead____Active_Rdr = ( + 8, + WeaponsSu30.R_37M__AA_13_Axehead____Active_Rdr, + ) + Kh_31P__AS_17_Krypton____600kg = (8, WeaponsSu30.Kh_31P__AS_17_Krypton____600kg) + Kh_36__AS_23____600kg_Grom_E1 = (8, WeaponsSu30.Kh_36__AS_23____600kg_Grom_E1) + KH_38MTE__AS_23__IR_Guided = (8, WeaponsSu30.KH_38MTE__AS_23__IR_Guided) + KH_38MLE__AS_23___Semi_Act_Laser = ( + 8, + WeaponsSu30.KH_38MLE__AS_23___Semi_Act_Laser, + ) + Kh_38MAE__AS_23____500kg = (8, WeaponsSu30.Kh_38MAE__AS_23____500kg) + Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__ = ( + 8, + Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__, ) KH_29L__AS_14_Kedge___Semi_Act_Laser = ( 8, @@ -3896,11 +8127,17 @@ class Su_30SM(PlaneType): 8, WeaponsSu30.KH_29TE__AS_14_Kedge___TV_Guided, ) - Kh_31A = (8, WeaponsSu30.Kh_31A) - KH_31AD = (8, WeaponsSu30.KH_31AD) - KH_31PD__AA_ = (8, WeaponsSu30.KH_31PD__AA_) + Kh_31A__AS_17_Krypton____610kg = (8, WeaponsSu30.Kh_31A__AS_17_Krypton____610kg) + Kh_31AD__AS_17_Krypton____610kg = ( + 8, + WeaponsSu30.Kh_31AD__AS_17_Krypton____610kg, + ) + Kh_31PD__AS_17_Krypton____600kg = ( + 8, + WeaponsSu30.Kh_31PD__AS_17_Krypton____600kg, + ) KAB_500Kr___500kg_TV_Guided_Bomb = (8, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb) - KAB_500S___500kg = (8, WeaponsSu30.KAB_500S___500kg) + KAB_500S___500kg__GPS_Guided = (8, WeaponsSu30.KAB_500S___500kg__GPS_Guided) KAB_500LG___500kg_Laser_Guided_Bomb = ( 8, Weapons.KAB_500LG___500kg_Laser_Guided_Bomb, @@ -3922,11 +8159,14 @@ class Su_30SM(PlaneType): 8, Weapons.RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP, ) - FAB_500_M54___474kg = (8, WeaponsSu30.FAB_500_M54___474kg) - FAB_500_M62___474kg = (8, WeaponsSu30.FAB_500_M62___474kg) - FAB_500_M62_UMPK = (8, WeaponsSu30.FAB_500_M62_UMPK) - FAB_250_M62___227kg = (8, WeaponsSu30.FAB_250_M62___227kg) - FAB_500_M62_NV___500kg = (8, WeaponsSu30.FAB_500_M62_NV___500kg) + FAB_500_M54___474kg__freefall = (8, WeaponsSu30.FAB_500_M54___474kg__freefall) + FAB_500_M62___474kg__freefall = (8, WeaponsSu30.FAB_500_M62___474kg__freefall) + FAB_500M62_UMPK__500kg_Glide_Bomb = ( + 8, + WeaponsSu30.FAB_500M62_UMPK__500kg_Glide_Bomb, + ) + FAB_250_M62___227kg__freefall = (8, WeaponsSu30.FAB_250_M62___227kg__freefall) + FAB_500M62_NV__500kg_Parachute = (8, WeaponsSu30.FAB_500M62_NV__500kg_Parachute) RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP = ( 8, Weapons.RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP, @@ -3944,6 +8184,8 @@ class Su_30SM(PlaneType): WeaponsSu30.MBD3_U6_68_with_6_x_FAB_100___100kg, ) + # ERRR + class Pylon9: R_27R1__AA_10_Alamo_A____Semi_Act_Rdr = ( 9, @@ -3957,14 +8199,6 @@ class Su_30SM(PlaneType): 9, WeaponsSu30.R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range, ) - R_27EP1__AA_10_Alamo_F____Passive_Rdr_Extended_Range = ( - 9, - WeaponsSu30.R_27EP1__AA_10_Alamo_F____Passive_Rdr_Extended_Range, - ) - R_27P1__AA_10_Alamo_E____Passive_Rdr = ( - 9, - WeaponsSu30.R_27P1__AA_10_Alamo_E____Passive_Rdr, - ) R_77__AA_12_Adder_Early____Active_Rdr = ( 9, WeaponsSu30.R_77__AA_12_Adder_Early____Active_Rdr, @@ -3977,13 +8211,25 @@ class Su_30SM(PlaneType): 9, WeaponsSu30.R_77M__AA_12_Adder_C____Active_Rdr, ) - Kh_31P_AA = (9, WeaponsSu30.Kh_31P_AA) - Kh_36_Grom_1 = (9, WeaponsSu30.Kh_36_Grom_1) - KH_38MTE = (9, WeaponsSu30.KH_38MTE) - KH_38MLE = (9, WeaponsSu30.KH_38MLE) - Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided_ = ( + R_77PD__AA_12_Adder____Active_Rdr_Ramjet = ( 9, - Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided_, + WeaponsSu30.R_77PD__AA_12_Adder____Active_Rdr_Ramjet, + ) + R_37M__AA_13_Axehead____Active_Rdr = ( + 9, + WeaponsSu30.R_37M__AA_13_Axehead____Active_Rdr, + ) + Kh_31P__AS_17_Krypton____600kg = (9, WeaponsSu30.Kh_31P__AS_17_Krypton____600kg) + Kh_36__AS_23____600kg_Grom_E1 = (9, WeaponsSu30.Kh_36__AS_23____600kg_Grom_E1) + KH_38MTE__AS_23__IR_Guided = (9, WeaponsSu30.KH_38MTE__AS_23__IR_Guided) + KH_38MLE__AS_23___Semi_Act_Laser = ( + 9, + WeaponsSu30.KH_38MLE__AS_23___Semi_Act_Laser, + ) + Kh_38MAE__AS_23____500kg = (9, WeaponsSu30.Kh_38MAE__AS_23____500kg) + Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__ = ( + 9, + Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__, ) KH_29L__AS_14_Kedge___Semi_Act_Laser = ( 9, @@ -3993,16 +8239,22 @@ class Su_30SM(PlaneType): 9, WeaponsSu30.KH_29TE__AS_14_Kedge___TV_Guided, ) - Kh_59M = (9, WeaponsSu30.Kh_59M) - Kh_59MK = (9, WeaponsSu30.Kh_59MK) - Kh_31A = (9, WeaponsSu30.Kh_31A) - KH_35A = (9, WeaponsSu30.KH_35A) - KH_35UE = (9, WeaponsSu30.KH_35UE) - KH_31AD = (9, WeaponsSu30.KH_31AD) - KH_31PD__AA_ = (9, WeaponsSu30.KH_31PD__AA_) - Kh_59MK2_ = (9, WeaponsSu30.Kh_59MK2_) + Kh_59M__AS_18_Kazoo___930kg = (9, WeaponsSu30.Kh_59M__AS_18_Kazoo___930kg) + Kh_59MK__AS_18_Kazoo____930kg = (9, WeaponsSu30.Kh_59MK__AS_18_Kazoo____930kg) + Kh_31A__AS_17_Krypton____610kg = (9, WeaponsSu30.Kh_31A__AS_17_Krypton____610kg) + Kh_35__AS_20_Kayak____520kg = (9, WeaponsSu30.Kh_35__AS_20_Kayak____520kg) + Kh_35UE__AS_20_Kayak____520kg = (9, WeaponsSu30.Kh_35UE__AS_20_Kayak____520kg) + Kh_31AD__AS_17_Krypton____610kg = ( + 9, + WeaponsSu30.Kh_31AD__AS_17_Krypton____610kg, + ) + Kh_31PD__AS_17_Krypton____600kg = ( + 9, + WeaponsSu30.Kh_31PD__AS_17_Krypton____600kg, + ) + Kh_59MK2__AS_22_Kazoo____700kg = (9, WeaponsSu30.Kh_59MK2__AS_22_Kazoo____700kg) KAB_500Kr___500kg_TV_Guided_Bomb = (9, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb) - KAB_500S___500kg = (9, WeaponsSu30.KAB_500S___500kg) + KAB_500S___500kg__GPS_Guided = (9, WeaponsSu30.KAB_500S___500kg__GPS_Guided) KAB_1500Kr___1500kg = (9, WeaponsSu30.KAB_1500Kr___1500kg) KAB_1500LG_PR___1500kg = (9, WeaponsSu30.KAB_1500LG_PR___1500kg) KAB_1500L___1500kg_Laser_Guided_Bomb = ( @@ -4038,12 +8290,15 @@ class Su_30SM(PlaneType): 9, Weapons.RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP, ) - FAB_500_M54___474kg = (9, WeaponsSu30.FAB_500_M54___474kg) - FAB_500_M62___474kg = (9, WeaponsSu30.FAB_500_M62___474kg) - FAB_500_M62_UMPK = (9, WeaponsSu30.FAB_500_M62_UMPK) + FAB_500_M54___474kg__freefall = (9, WeaponsSu30.FAB_500_M54___474kg__freefall) + FAB_500_M62___474kg__freefall = (9, WeaponsSu30.FAB_500_M62___474kg__freefall) + FAB_500M62_UMPK__500kg_Glide_Bomb = ( + 9, + WeaponsSu30.FAB_500M62_UMPK__500kg_Glide_Bomb, + ) # ERRR {DIS_UMPK_FAB_5002} - FAB_250_M62___227kg = (9, WeaponsSu30.FAB_250_M62___227kg) - FAB_500_M62_NV___500kg = (9, WeaponsSu30.FAB_500_M62_NV___500kg) + FAB_250_M62___227kg__freefall = (9, WeaponsSu30.FAB_250_M62___227kg__freefall) + FAB_500M62_NV__500kg_Parachute = (9, WeaponsSu30.FAB_500M62_NV__500kg_Parachute) RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP = ( 9, Weapons.RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP, @@ -4065,6 +8320,8 @@ class Su_30SM(PlaneType): WeaponsSu30.MBD3_U6_68_with_6_x_FAB_100___100kg, ) + # ERRR + class Pylon10: R_73__AA_11_Archer____Infra_Red = (10, Weapons.R_73__AA_11_Archer____Infra_Red) R_73L__AA_11_Archer_L____Infra_Red = ( @@ -4119,13 +8376,28 @@ class Su_30SM(PlaneType): 10, WeaponsSu30.R_77M__AA_12_Adder_C____Active_Rdr, ) - Kh_31P_AA = (10, WeaponsSu30.Kh_31P_AA) - Kh_36_Grom_1 = (10, WeaponsSu30.Kh_36_Grom_1) - KH_38MTE = (10, WeaponsSu30.KH_38MTE) - KH_38MLE = (10, WeaponsSu30.KH_38MLE) - Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided_ = ( + R_77PD__AA_12_Adder____Active_Rdr_Ramjet = ( 10, - Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided_, + WeaponsSu30.R_77PD__AA_12_Adder____Active_Rdr_Ramjet, + ) + R_37M__AA_13_Axehead____Active_Rdr = ( + 10, + WeaponsSu30.R_37M__AA_13_Axehead____Active_Rdr, + ) + Kh_31P__AS_17_Krypton____600kg = ( + 10, + WeaponsSu30.Kh_31P__AS_17_Krypton____600kg, + ) + Kh_36__AS_23____600kg_Grom_E1 = (10, WeaponsSu30.Kh_36__AS_23____600kg_Grom_E1) + KH_38MTE__AS_23__IR_Guided = (10, WeaponsSu30.KH_38MTE__AS_23__IR_Guided) + KH_38MLE__AS_23___Semi_Act_Laser = ( + 10, + WeaponsSu30.KH_38MLE__AS_23___Semi_Act_Laser, + ) + Kh_38MAE__AS_23____500kg = (10, WeaponsSu30.Kh_38MAE__AS_23____500kg) + Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__ = ( + 10, + Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__, ) KH_29L__AS_14_Kedge___Semi_Act_Laser = ( 10, @@ -4135,19 +8407,32 @@ class Su_30SM(PlaneType): 10, WeaponsSu30.KH_29TE__AS_14_Kedge___TV_Guided, ) - Kh_59M = (10, WeaponsSu30.Kh_59M) - Kh_59MK = (10, WeaponsSu30.Kh_59MK) - Kh_31A = (10, WeaponsSu30.Kh_31A) - KH_35A = (10, WeaponsSu30.KH_35A) - KH_35UE = (10, WeaponsSu30.KH_35UE) - KH_31AD = (10, WeaponsSu30.KH_31AD) - KH_31PD__AA_ = (10, WeaponsSu30.KH_31PD__AA_) - Kh_59MK2_ = (10, WeaponsSu30.Kh_59MK2_) + # ERRR {JAS39_AGM_65H} + Kh_59M__AS_18_Kazoo___930kg = (10, WeaponsSu30.Kh_59M__AS_18_Kazoo___930kg) + Kh_59MK__AS_18_Kazoo____930kg = (10, WeaponsSu30.Kh_59MK__AS_18_Kazoo____930kg) + Kh_31A__AS_17_Krypton____610kg = ( + 10, + WeaponsSu30.Kh_31A__AS_17_Krypton____610kg, + ) + Kh_35__AS_20_Kayak____520kg = (10, WeaponsSu30.Kh_35__AS_20_Kayak____520kg) + Kh_35UE__AS_20_Kayak____520kg = (10, WeaponsSu30.Kh_35UE__AS_20_Kayak____520kg) + Kh_31AD__AS_17_Krypton____610kg = ( + 10, + WeaponsSu30.Kh_31AD__AS_17_Krypton____610kg, + ) + Kh_31PD__AS_17_Krypton____600kg = ( + 10, + WeaponsSu30.Kh_31PD__AS_17_Krypton____600kg, + ) + Kh_59MK2__AS_22_Kazoo____700kg = ( + 10, + WeaponsSu30.Kh_59MK2__AS_22_Kazoo____700kg, + ) KAB_500Kr___500kg_TV_Guided_Bomb = ( 10, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb, ) - KAB_500S___500kg = (10, WeaponsSu30.KAB_500S___500kg) + KAB_500S___500kg__GPS_Guided = (10, WeaponsSu30.KAB_500S___500kg__GPS_Guided) KAB_500LG___500kg_Laser_Guided_Bomb = ( 10, Weapons.KAB_500LG___500kg_Laser_Guided_Bomb, @@ -4177,11 +8462,17 @@ class Su_30SM(PlaneType): 10, Weapons.RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP, ) - FAB_500_M54___474kg = (10, WeaponsSu30.FAB_500_M54___474kg) - FAB_500_M62___474kg = (10, WeaponsSu30.FAB_500_M62___474kg) - FAB_500_M62_UMPK = (10, WeaponsSu30.FAB_500_M62_UMPK) - FAB_250_M62___227kg = (10, WeaponsSu30.FAB_250_M62___227kg) - FAB_500_M62_NV___500kg = (10, WeaponsSu30.FAB_500_M62_NV___500kg) + FAB_500_M54___474kg__freefall = (10, WeaponsSu30.FAB_500_M54___474kg__freefall) + FAB_500_M62___474kg__freefall = (10, WeaponsSu30.FAB_500_M62___474kg__freefall) + FAB_500M62_UMPK__500kg_Glide_Bomb = ( + 10, + WeaponsSu30.FAB_500M62_UMPK__500kg_Glide_Bomb, + ) + FAB_250_M62___227kg__freefall = (10, WeaponsSu30.FAB_250_M62___227kg__freefall) + FAB_500M62_NV__500kg_Parachute = ( + 10, + WeaponsSu30.FAB_500M62_NV__500kg_Parachute, + ) RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP = ( 10, Weapons.RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP, @@ -4220,6 +8511,8 @@ class Su_30SM(PlaneType): ) _2_x_S_25 = (10, Weapons._2_x_S_25) + # ERRR + class Pylon11: R_73__AA_11_Archer____Infra_Red = (11, Weapons.R_73__AA_11_Archer____Infra_Red) R_73L__AA_11_Archer_L____Infra_Red = ( @@ -4252,6 +8545,1083 @@ class Su_30SM(PlaneType): Smoke_Generator___white = (11, Weapons.Smoke_Generator___white) Smoke_Generator___yellow = (11, Weapons.Smoke_Generator___yellow) Smoke_Generator___orange = (11, Weapons.Smoke_Generator___orange) + Smoke_Generator___Black = (11, WeaponsSu30.Smoke_Generator___Black) + + # ERRR + + class Pylon12: + R_73__AA_11_Archer____Infra_Red = (12, Weapons.R_73__AA_11_Archer____Infra_Red) + R_73L__AA_11_Archer_L____Infra_Red = ( + 12, + WeaponsSu30.R_73L__AA_11_Archer_L____Infra_Red, + ) + R_73M__AA_11_Archer_M____Infra_Red = ( + 12, + WeaponsSu30.R_73M__AA_11_Archer_M____Infra_Red, + ) + RVV_MD2__AA_11_Archer_M2____Infra_Red = ( + 12, + WeaponsSu30.RVV_MD2__AA_11_Archer_M2____Infra_Red, + ) + L005_Sorbtsiya_ECM_pod__right_ = (12, Weapons.L005_Sorbtsiya_ECM_pod__right_) + SAP_518_ECM_Pod__Right_ = (12, WeaponsSu30.SAP_518_ECM_Pod__Right_) + Smoke_Generator___red = (12, Weapons.Smoke_Generator___red) + Smoke_Generator___green = (12, Weapons.Smoke_Generator___green) + Smoke_Generator___blue = (12, Weapons.Smoke_Generator___blue) + Smoke_Generator___white = (12, Weapons.Smoke_Generator___white) + Smoke_Generator___yellow = (12, Weapons.Smoke_Generator___yellow) + Smoke_Generator___orange = (12, Weapons.Smoke_Generator___orange) + Smoke_Generator___Black = (12, WeaponsSu30.Smoke_Generator___Black) + + pylons: Set[int] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12} + + tasks = [ + task.CAP, + task.Escort, + task.FighterSweep, + task.Intercept, + task.AFAC, + task.SEAD, + task.AntishipStrike, + task.CAS, + task.PinpointStrike, + task.GroundAttack, + task.RunwayAttack, + ] + task_default = task.CAP + + +@planemod +class Su_30MKI_AG(PlaneType): + id = "Su-30MKI-AG" + flyable = True + height = 5.932 + width = 14.7 + length = 21.935 + fuel_max = 9500 + max_speed = 2499.984 + chaff = 96 + flare = 96 + charge_total = 192 + chaff_charge_size = 1 + flare_charge_size = 1 + eplrs = True + category = "Interceptor" # {78EFB7A2-FD52-4b57-A6A6-3BF0E1D6555F} + + 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: 117, + 2: 135, + 4: 127, + 8: 128, + 16: 132, + 17: 138, + 9: 126, + 18: 122, + 5: 125, + 10: 133, + 20: 137, + 11: 130, + 3: 136, + 6: 121, + 12: 139, + 13: 140, + 7: 141, + 14: 131, + 19: 124, + 15: 134, + }, + }, + } + + property_defaults: Dict[str, Any] = { + "SoloFlight": False, + "NetCrewControlPriority": 0, + "HumanOrchestra": False, + "HelmetMountedDevice": 1, + "ShowLadders": True, + "su30Chaff": 96, + "su30Flare": 96, + } + + class Properties: + class SoloFlight: + id = "SoloFlight" + + class NetCrewControlPriority: + id = "NetCrewControlPriority" + + class Values: + Pilot = 0 + WSO = 1 + Ask_Always = -1 + Equally_Responsible = -2 + + class HumanOrchestra: + id = "HumanOrchestra" + + class HelmetMountedDevice: + id = "HelmetMountedDevice" + + class Values: + Not_installed = 0 + SURA_Visor = 1 + NVG = 2 + + class ShowLadders: + id = "ShowLadders" + + class su30Chaff: + id = "su30Chaff" + + class su30Flare: + id = "su30Flare" + + properties = { + "SoloFlight": UnitPropertyDescription( + identifier="SoloFlight", + control="checkbox", + label="Solo Flight", + player_only=True, + default=False, + weight_when_on=-80, + ), + "NetCrewControlPriority": UnitPropertyDescription( + identifier="NetCrewControlPriority", + control="comboList", + label="Aircraft Control Priority", + player_only=True, + default=0, + w_ctrl=150, + values={ + 0: "Pilot", + 1: "WSO", + -1: "Ask Always", + -2: "Equally Responsible", + }, + ), + "HumanOrchestra": UnitPropertyDescription( + identifier="HumanOrchestra", + control="checkbox", + label="Disable Multicrew", + player_only=True, + default=False, + ), + "HelmetMountedDevice": UnitPropertyDescription( + identifier="HelmetMountedDevice", + control="comboList", + label="Helmet Mounted Device", + player_only=True, + default=1, + w_ctrl=150, + values={ + 0: "Not installed", + 1: "SURA Visor", + 2: "NVG", + }, + ), + "ShowLadders": UnitPropertyDescription( + identifier="ShowLadders", + control="checkbox", + label="Show Ladders", + default=True, + ), + "su30Chaff": UnitPropertyDescription( + identifier="su30Chaff", + control="spinbox", + label="Chaff", + player_only=True, + minimum=0, + maximum=192, + default=96, + dimension=" ", + ), + "su30Flare": UnitPropertyDescription( + identifier="su30Flare", + control="spinbox", + label="Flare", + player_only=True, + minimum=0, + maximum=192, + default=96, + dimension=" ", + ), + } + + livery_name = "SU-30MKI-AG" # from type + + class Pylon1: + R_73__AA_11_Archer____Infra_Red = (1, Weapons.R_73__AA_11_Archer____Infra_Red) + R_73L__AA_11_Archer_L____Infra_Red = ( + 1, + WeaponsSu30.R_73L__AA_11_Archer_L____Infra_Red, + ) + R_73M__AA_11_Archer_M____Infra_Red = ( + 1, + WeaponsSu30.R_73M__AA_11_Archer_M____Infra_Red, + ) + RVV_MD2__AA_11_Archer_M2____Infra_Red = ( + 1, + WeaponsSu30.RVV_MD2__AA_11_Archer_M2____Infra_Red, + ) + L005_Sorbtsiya_ECM_pod__left_ = (1, Weapons.L005_Sorbtsiya_ECM_pod__left_) + SAP_518_ECM_Pod__Left_ = (1, WeaponsSu30.SAP_518_ECM_Pod__Left_) + Smoke_Generator___red = (1, Weapons.Smoke_Generator___red) + Smoke_Generator___green = (1, Weapons.Smoke_Generator___green) + Smoke_Generator___blue = (1, Weapons.Smoke_Generator___blue) + Smoke_Generator___white = (1, Weapons.Smoke_Generator___white) + Smoke_Generator___yellow = (1, Weapons.Smoke_Generator___yellow) + Smoke_Generator___orange = (1, Weapons.Smoke_Generator___orange) + + class Pylon2: + R_73__AA_11_Archer____Infra_Red = (2, Weapons.R_73__AA_11_Archer____Infra_Red) + R_73L__AA_11_Archer_L____Infra_Red = ( + 2, + WeaponsSu30.R_73L__AA_11_Archer_L____Infra_Red, + ) + R_73M__AA_11_Archer_M____Infra_Red = ( + 2, + WeaponsSu30.R_73M__AA_11_Archer_M____Infra_Red, + ) + RVV_MD2__AA_11_Archer_M2____Infra_Red = ( + 2, + WeaponsSu30.RVV_MD2__AA_11_Archer_M2____Infra_Red, + ) + ASTRA_Mk_1___Active_Rdr_AAM = (2, WeaponsSu30.ASTRA_Mk_1___Active_Rdr_AAM) + I_Derby_ER___Active_Rdr_AAM = (2, WeaponsSu30.I_Derby_ER___Active_Rdr_AAM) + RVV_AE__AA_12_Adder____Active_Rdr = ( + 2, + WeaponsSu30.RVV_AE__AA_12_Adder____Active_Rdr, + ) + RVV_SD__AA_12_Adder_B____Active_Rdr = ( + 2, + WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, + ) + Smoke_Generator___red = (2, Weapons.Smoke_Generator___red) + Smoke_Generator___green = (2, Weapons.Smoke_Generator___green) + Smoke_Generator___blue = (2, Weapons.Smoke_Generator___blue) + Smoke_Generator___white = (2, Weapons.Smoke_Generator___white) + Smoke_Generator___yellow = (2, Weapons.Smoke_Generator___yellow) + Smoke_Generator___orange = (2, Weapons.Smoke_Generator___orange) + + # ERRR + + class Pylon3: + R_73__AA_11_Archer____Infra_Red = (3, Weapons.R_73__AA_11_Archer____Infra_Red) + R_73L__AA_11_Archer_L____Infra_Red = ( + 3, + WeaponsSu30.R_73L__AA_11_Archer_L____Infra_Red, + ) + R_73M__AA_11_Archer_M____Infra_Red = ( + 3, + WeaponsSu30.R_73M__AA_11_Archer_M____Infra_Red, + ) + RVV_MD2__AA_11_Archer_M2____Infra_Red = ( + 3, + WeaponsSu30.RVV_MD2__AA_11_Archer_M2____Infra_Red, + ) + R_27R1__AA_10_Alamo_A____Semi_Act_Rdr = ( + 3, + WeaponsSu30.R_27R1__AA_10_Alamo_A____Semi_Act_Rdr, + ) + R_27T1__AA_10_Alamo_B____Infra_Red = ( + 3, + WeaponsSu30.R_27T1__AA_10_Alamo_B____Infra_Red, + ) + R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range = ( + 3, + WeaponsSu30.R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range, + ) + R_27ET1__AA_10_Alamo_D____IR_Extended_Range = ( + 3, + WeaponsSu30.R_27ET1__AA_10_Alamo_D____IR_Extended_Range, + ) + ASTRA_Mk_1___Active_Rdr_AAM = (3, WeaponsSu30.ASTRA_Mk_1___Active_Rdr_AAM) + I_Derby_ER___Active_Rdr_AAM = (3, WeaponsSu30.I_Derby_ER___Active_Rdr_AAM) + RVV_AE__AA_12_Adder____Active_Rdr = ( + 3, + WeaponsSu30.RVV_AE__AA_12_Adder____Active_Rdr, + ) + RVV_SD__AA_12_Adder_B____Active_Rdr = ( + 3, + WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, + ) + KH_29L__AS_14_Kedge___Semi_Act_Laser = ( + 3, + WeaponsSu30.KH_29L__AS_14_Kedge___Semi_Act_Laser, + ) + Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__ = ( + 3, + Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__, + ) + KH_29TE__AS_14_Kedge___TV_Guided = ( + 3, + WeaponsSu30.KH_29TE__AS_14_Kedge___TV_Guided, + ) + Kh_59M__AS_18_Kazoo___930kg = (3, WeaponsSu30.Kh_59M__AS_18_Kazoo___930kg) + Kh_59MK__AS_18_Kazoo____930kg = (3, WeaponsSu30.Kh_59MK__AS_18_Kazoo____930kg) + Kh_31A__AS_17_Krypton____610kg = (3, WeaponsSu30.Kh_31A__AS_17_Krypton____610kg) + Kh_31P__AS_17_Krypton____600kg = (3, WeaponsSu30.Kh_31P__AS_17_Krypton____600kg) + Kh_35__AS_20_Kayak____520kg = (3, WeaponsSu30.Kh_35__AS_20_Kayak____520kg) + Rudra_M1 = (3, WeaponsSu30.Rudra_M1) + SAAW_POD = (3, WeaponsSu30.SAAW_POD) + KAB_500Kr___500kg_TV_Guided_Bomb = (3, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb) + KAB_500S___500kg__GPS_Guided = (3, WeaponsSu30.KAB_500S___500kg__GPS_Guided) + KAB_500LG___500kg_Laser_Guided_Bomb = ( + 3, + Weapons.KAB_500LG___500kg_Laser_Guided_Bomb, + ) + SAB_100MN___100_kg_Illumination_Bomb = ( + 3, + Weapons.SAB_100MN___100_kg_Illumination_Bomb, + ) + KMGU_2___96_x_PTAB_2_5KO_Dispenser__CBU__HEAT_AP = ( + 3, + Weapons.KMGU_2___96_x_PTAB_2_5KO_Dispenser__CBU__HEAT_AP, + ) + KMGU_2___96_x_AO_2_5RT_Dispenser__CBU__HE_Frag = ( + 3, + Weapons.KMGU_2___96_x_AO_2_5RT_Dispenser__CBU__HE_Frag, + ) + P_50T___50kg_Practice_Bomb_LD = (3, Weapons.P_50T___50kg_Practice_Bomb_LD) + BetAB_500___500kg_Concrete_Piercing_Bomb_LD = ( + 3, + Weapons.BetAB_500___500kg_Concrete_Piercing_Bomb_LD, + ) + BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb = ( + 3, + Weapons.BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb, + ) + RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP = ( + 3, + Weapons.RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP, + ) + RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP = ( + 3, + Weapons.RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP, + ) + FAB_500_M54___474kg__freefall = (3, WeaponsSu30.FAB_500_M54___474kg__freefall) + FAB_500_M62___474kg__freefall = (3, WeaponsSu30.FAB_500_M62___474kg__freefall) + FAB_250_M62___227kg__freefall = (3, WeaponsSu30.FAB_250_M62___227kg__freefall) + MBD3_U6_68_with_6_x_FAB_250___250kg = ( + 3, + WeaponsSu30.MBD3_U6_68_with_6_x_FAB_250___250kg, + ) + MBD3_U6_68_with_6_x_FAB_100___100kg = ( + 3, + WeaponsSu30.MBD3_U6_68_with_6_x_FAB_100___100kg, + ) + _2_x_B_13L_pods___10_x_S_13_OF__122mm_UnGd_Rkts__Blast_Frag = ( + 3, + Weapons._2_x_B_13L_pods___10_x_S_13_OF__122mm_UnGd_Rkts__Blast_Frag, + ) + _2_x_B_8M1___40_x_UnGd_Rkts__80_mm_S_8KOM_HEAT_Frag = ( + 3, + Weapons._2_x_B_8M1___40_x_UnGd_Rkts__80_mm_S_8KOM_HEAT_Frag, + ) + _2_x_B_8M1___40_x_UnGd_Rkts__80_mm_S_8TsM_SM_Orange = ( + 3, + Weapons._2_x_B_8M1___40_x_UnGd_Rkts__80_mm_S_8TsM_SM_Orange, + ) + _2_x_B_8M1___40_x_UnGd_Rkts__80_mm_S_8OFP2_MPP = ( + 3, + Weapons._2_x_B_8M1___40_x_UnGd_Rkts__80_mm_S_8OFP2_MPP, + ) + _2_x_S_25 = (3, Weapons._2_x_S_25) + + # ERRR + + class Pylon4: + R_27R1__AA_10_Alamo_A____Semi_Act_Rdr = ( + 4, + WeaponsSu30.R_27R1__AA_10_Alamo_A____Semi_Act_Rdr, + ) + R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range = ( + 4, + WeaponsSu30.R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range, + ) + I_Derby_ER___Active_Rdr_AAM = (4, WeaponsSu30.I_Derby_ER___Active_Rdr_AAM) + RVV_AE__AA_12_Adder____Active_Rdr = ( + 4, + WeaponsSu30.RVV_AE__AA_12_Adder____Active_Rdr, + ) + RVV_SD__AA_12_Adder_B____Active_Rdr = ( + 4, + WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, + ) + KH_29L__AS_14_Kedge___Semi_Act_Laser = ( + 4, + WeaponsSu30.KH_29L__AS_14_Kedge___Semi_Act_Laser, + ) + Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__ = ( + 4, + Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__, + ) + KH_29TE__AS_14_Kedge___TV_Guided = ( + 4, + WeaponsSu30.KH_29TE__AS_14_Kedge___TV_Guided, + ) + Kh_59M__AS_18_Kazoo___930kg = (4, WeaponsSu30.Kh_59M__AS_18_Kazoo___930kg) + Kh_59MK__AS_18_Kazoo____930kg = (4, WeaponsSu30.Kh_59MK__AS_18_Kazoo____930kg) + Kh_31A__AS_17_Krypton____610kg = (4, WeaponsSu30.Kh_31A__AS_17_Krypton____610kg) + Kh_31P__AS_17_Krypton____600kg = (4, WeaponsSu30.Kh_31P__AS_17_Krypton____600kg) + Kh_35__AS_20_Kayak____520kg = (4, WeaponsSu30.Kh_35__AS_20_Kayak____520kg) + Rudra_M1 = (4, WeaponsSu30.Rudra_M1) + SAAW_POD = (4, WeaponsSu30.SAAW_POD) + KAB_500Kr___500kg_TV_Guided_Bomb = (4, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb) + KAB_500S___500kg__GPS_Guided = (4, WeaponsSu30.KAB_500S___500kg__GPS_Guided) + KAB_1500Kr___1500kg = (4, WeaponsSu30.KAB_1500Kr___1500kg) + KAB_1500LG_PR___1500kg = (4, WeaponsSu30.KAB_1500LG_PR___1500kg) + KAB_1500L___1500kg_Laser_Guided_Bomb = ( + 4, + Weapons.KAB_1500L___1500kg_Laser_Guided_Bomb, + ) + KAB_500LG___500kg_Laser_Guided_Bomb = ( + 4, + Weapons.KAB_500LG___500kg_Laser_Guided_Bomb, + ) + SAB_100MN___100_kg_Illumination_Bomb = ( + 4, + Weapons.SAB_100MN___100_kg_Illumination_Bomb, + ) + KMGU_2___96_x_PTAB_2_5KO_Dispenser__CBU__HEAT_AP = ( + 4, + Weapons.KMGU_2___96_x_PTAB_2_5KO_Dispenser__CBU__HEAT_AP, + ) + KMGU_2___96_x_AO_2_5RT_Dispenser__CBU__HE_Frag = ( + 4, + Weapons.KMGU_2___96_x_AO_2_5RT_Dispenser__CBU__HE_Frag, + ) + P_50T___50kg_Practice_Bomb_LD = (4, Weapons.P_50T___50kg_Practice_Bomb_LD) + BetAB_500___500kg_Concrete_Piercing_Bomb_LD = ( + 4, + Weapons.BetAB_500___500kg_Concrete_Piercing_Bomb_LD, + ) + BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb = ( + 4, + Weapons.BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb, + ) + RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP = ( + 4, + Weapons.RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP, + ) + RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP = ( + 4, + Weapons.RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP, + ) + FAB_500_M54___474kg__freefall = (4, WeaponsSu30.FAB_500_M54___474kg__freefall) + FAB_500_M62___474kg__freefall = (4, WeaponsSu30.FAB_500_M62___474kg__freefall) + FAB_250_M62___227kg__freefall = (4, WeaponsSu30.FAB_250_M62___227kg__freefall) + MBD3_U6_68_with_6_x_FAB_250___250kg = ( + 4, + WeaponsSu30.MBD3_U6_68_with_6_x_FAB_250___250kg, + ) + MBD3_U6_68_with_6_x_FAB_100___100kg = ( + 4, + WeaponsSu30.MBD3_U6_68_with_6_x_FAB_100___100kg, + ) + + # ERRR + + class Pylon5: + R_27R1__AA_10_Alamo_A____Semi_Act_Rdr = ( + 5, + WeaponsSu30.R_27R1__AA_10_Alamo_A____Semi_Act_Rdr, + ) + R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range = ( + 5, + WeaponsSu30.R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range, + ) + I_Derby_ER___Active_Rdr_AAM = (5, WeaponsSu30.I_Derby_ER___Active_Rdr_AAM) + RVV_AE__AA_12_Adder____Active_Rdr = ( + 5, + WeaponsSu30.RVV_AE__AA_12_Adder____Active_Rdr, + ) + RVV_SD__AA_12_Adder_B____Active_Rdr = ( + 5, + WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, + ) + Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__ = ( + 5, + Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__, + ) + KH_29TE__AS_14_Kedge___TV_Guided = ( + 5, + WeaponsSu30.KH_29TE__AS_14_Kedge___TV_Guided, + ) + KH_29L__AS_14_Kedge___Semi_Act_Laser = ( + 5, + WeaponsSu30.KH_29L__AS_14_Kedge___Semi_Act_Laser, + ) + Kh_31A__AS_17_Krypton____610kg = (5, WeaponsSu30.Kh_31A__AS_17_Krypton____610kg) + Kh_31P__AS_17_Krypton____600kg = (5, WeaponsSu30.Kh_31P__AS_17_Krypton____600kg) + Rudra_M1 = (5, WeaponsSu30.Rudra_M1) + KAB_500Kr___500kg_TV_Guided_Bomb = (5, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb) + KAB_500S___500kg__GPS_Guided = (5, WeaponsSu30.KAB_500S___500kg__GPS_Guided) + KAB_500LG___500kg_Laser_Guided_Bomb = ( + 5, + Weapons.KAB_500LG___500kg_Laser_Guided_Bomb, + ) + SAB_100MN___100_kg_Illumination_Bomb = ( + 5, + Weapons.SAB_100MN___100_kg_Illumination_Bomb, + ) + P_50T___50kg_Practice_Bomb_LD = (5, Weapons.P_50T___50kg_Practice_Bomb_LD) + BetAB_500___500kg_Concrete_Piercing_Bomb_LD = ( + 5, + Weapons.BetAB_500___500kg_Concrete_Piercing_Bomb_LD, + ) + BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb = ( + 5, + Weapons.BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb, + ) + RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP = ( + 5, + Weapons.RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP, + ) + RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP = ( + 5, + Weapons.RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP, + ) + FAB_500_M54___474kg__freefall = (5, WeaponsSu30.FAB_500_M54___474kg__freefall) + FAB_500_M62___474kg__freefall = (5, WeaponsSu30.FAB_500_M62___474kg__freefall) + FAB_250_M62___227kg__freefall = (5, WeaponsSu30.FAB_250_M62___227kg__freefall) + MBD3_U6_68_with_6_x_FAB_250___250kg = ( + 5, + WeaponsSu30.MBD3_U6_68_with_6_x_FAB_250___250kg, + ) + MBD3_U6_68_with_6_x_FAB_100___100kg = ( + 5, + WeaponsSu30.MBD3_U6_68_with_6_x_FAB_100___100kg, + ) + APK_9_POD = (5, WeaponsSu30.APK_9_POD) + L_081_Fantasmagoria_ELINT_pod = (5, Weapons.L_081_Fantasmagoria_ELINT_pod) + + # ERRR + + class Pylon6: + R_27R1__AA_10_Alamo_A____Semi_Act_Rdr = ( + 6, + WeaponsSu30.R_27R1__AA_10_Alamo_A____Semi_Act_Rdr, + ) + R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range = ( + 6, + WeaponsSu30.R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range, + ) + RVV_AE__AA_12_Adder____Active_Rdr = ( + 6, + WeaponsSu30.RVV_AE__AA_12_Adder____Active_Rdr, + ) + RVV_SD__AA_12_Adder_B____Active_Rdr = ( + 6, + WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, + ) + I_Derby_ER___Active_Rdr_AAM = (6, WeaponsSu30.I_Derby_ER___Active_Rdr_AAM) + # ERRR {BRAHMOS_AG} + BRAHMOS_A_Ship = (6, WeaponsSu30.BRAHMOS_A_Ship) + BRAHMOS_SEAD = (6, WeaponsSu30.BRAHMOS_SEAD) + KAB_500Kr___500kg_TV_Guided_Bomb = (6, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb) + KAB_500S___500kg__GPS_Guided = (6, WeaponsSu30.KAB_500S___500kg__GPS_Guided) + KAB_1500Kr___1500kg = (6, WeaponsSu30.KAB_1500Kr___1500kg) + KAB_1500LG_PR___1500kg = (6, WeaponsSu30.KAB_1500LG_PR___1500kg) + KAB_1500L___1500kg_Laser_Guided_Bomb = ( + 6, + Weapons.KAB_1500L___1500kg_Laser_Guided_Bomb, + ) + KAB_500LG___500kg_Laser_Guided_Bomb = ( + 6, + Weapons.KAB_500LG___500kg_Laser_Guided_Bomb, + ) + SAB_100MN___100_kg_Illumination_Bomb = ( + 6, + Weapons.SAB_100MN___100_kg_Illumination_Bomb, + ) + KMGU_2___96_x_PTAB_2_5KO_Dispenser__CBU__HEAT_AP = ( + 6, + Weapons.KMGU_2___96_x_PTAB_2_5KO_Dispenser__CBU__HEAT_AP, + ) + KMGU_2___96_x_AO_2_5RT_Dispenser__CBU__HE_Frag = ( + 6, + Weapons.KMGU_2___96_x_AO_2_5RT_Dispenser__CBU__HE_Frag, + ) + P_50T___50kg_Practice_Bomb_LD = (6, Weapons.P_50T___50kg_Practice_Bomb_LD) + BetAB_500___500kg_Concrete_Piercing_Bomb_LD = ( + 6, + Weapons.BetAB_500___500kg_Concrete_Piercing_Bomb_LD, + ) + BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb = ( + 6, + Weapons.BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb, + ) + RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP = ( + 6, + Weapons.RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP, + ) + RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP = ( + 6, + Weapons.RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP, + ) + FAB_500_M54___474kg__freefall = (6, WeaponsSu30.FAB_500_M54___474kg__freefall) + FAB_500_M62___474kg__freefall = (6, WeaponsSu30.FAB_500_M62___474kg__freefall) + FAB_250_M62___227kg__freefall = (6, WeaponsSu30.FAB_250_M62___227kg__freefall) + MBD3_U6_68_with_6_x_FAB_250___250kg = ( + 6, + WeaponsSu30.MBD3_U6_68_with_6_x_FAB_250___250kg, + ) + MBD3_U6_68_with_6_x_FAB_100___100kg = ( + 6, + WeaponsSu30.MBD3_U6_68_with_6_x_FAB_100___100kg, + ) + RBK_500U___126_x_OAB_2_5RT__500kg_CBU_HE_Frag = ( + 6, + Weapons.RBK_500U___126_x_OAB_2_5RT__500kg_CBU_HE_Frag, + ) + RBK_500___268_x_PTAB_1M__500kg_CBU_Light_HEAT_AP = ( + 6, + Weapons.RBK_500___268_x_PTAB_1M__500kg_CBU_Light_HEAT_AP, + ) + EL_M_2060 = (6, WeaponsSu30.EL_M_2060) + + # ERRR + + class Pylon7: + R_27R1__AA_10_Alamo_A____Semi_Act_Rdr = ( + 7, + WeaponsSu30.R_27R1__AA_10_Alamo_A____Semi_Act_Rdr, + ) + R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range = ( + 7, + WeaponsSu30.R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range, + ) + RVV_AE__AA_12_Adder____Active_Rdr = ( + 7, + WeaponsSu30.RVV_AE__AA_12_Adder____Active_Rdr, + ) + RVV_SD__AA_12_Adder_B____Active_Rdr = ( + 7, + WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, + ) + I_Derby_ER___Active_Rdr_AAM = (7, WeaponsSu30.I_Derby_ER___Active_Rdr_AAM) + KAB_500Kr___500kg_TV_Guided_Bomb = (7, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb) + KAB_500S___500kg__GPS_Guided = (7, WeaponsSu30.KAB_500S___500kg__GPS_Guided) + KAB_500LG___500kg_Laser_Guided_Bomb = ( + 7, + Weapons.KAB_500LG___500kg_Laser_Guided_Bomb, + ) + SAB_100MN___100_kg_Illumination_Bomb = ( + 7, + Weapons.SAB_100MN___100_kg_Illumination_Bomb, + ) + KMGU_2___96_x_PTAB_2_5KO_Dispenser__CBU__HEAT_AP = ( + 7, + Weapons.KMGU_2___96_x_PTAB_2_5KO_Dispenser__CBU__HEAT_AP, + ) + KMGU_2___96_x_AO_2_5RT_Dispenser__CBU__HE_Frag = ( + 7, + Weapons.KMGU_2___96_x_AO_2_5RT_Dispenser__CBU__HE_Frag, + ) + P_50T___50kg_Practice_Bomb_LD = (7, Weapons.P_50T___50kg_Practice_Bomb_LD) + BetAB_500___500kg_Concrete_Piercing_Bomb_LD = ( + 7, + Weapons.BetAB_500___500kg_Concrete_Piercing_Bomb_LD, + ) + BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb = ( + 7, + Weapons.BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb, + ) + RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP = ( + 7, + Weapons.RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP, + ) + RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP = ( + 7, + Weapons.RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP, + ) + FAB_500_M54___474kg__freefall = (7, WeaponsSu30.FAB_500_M54___474kg__freefall) + FAB_500_M62___474kg__freefall = (7, WeaponsSu30.FAB_500_M62___474kg__freefall) + FAB_250_M62___227kg__freefall = (7, WeaponsSu30.FAB_250_M62___227kg__freefall) + MBD3_U6_68_with_6_x_FAB_250___250kg = ( + 7, + WeaponsSu30.MBD3_U6_68_with_6_x_FAB_250___250kg, + ) + MBD3_U6_68_with_6_x_FAB_100___100kg = ( + 7, + WeaponsSu30.MBD3_U6_68_with_6_x_FAB_100___100kg, + ) + Smoke_Generator___red = (7, Weapons.Smoke_Generator___red) + Smoke_Generator___green = (7, Weapons.Smoke_Generator___green) + Smoke_Generator___blue = (7, Weapons.Smoke_Generator___blue) + Smoke_Generator___white = (7, Weapons.Smoke_Generator___white) + Smoke_Generator___yellow = (7, Weapons.Smoke_Generator___yellow) + Smoke_Generator___orange = (7, Weapons.Smoke_Generator___orange) + # ERRR + RBK_500U___126_x_OAB_2_5RT__500kg_CBU_HE_Frag = ( + 7, + Weapons.RBK_500U___126_x_OAB_2_5RT__500kg_CBU_HE_Frag, + ) + RBK_500___268_x_PTAB_1M__500kg_CBU_Light_HEAT_AP = ( + 7, + Weapons.RBK_500___268_x_PTAB_1M__500kg_CBU_Light_HEAT_AP, + ) + + class Pylon8: + R_27R1__AA_10_Alamo_A____Semi_Act_Rdr = ( + 8, + WeaponsSu30.R_27R1__AA_10_Alamo_A____Semi_Act_Rdr, + ) + R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range = ( + 8, + WeaponsSu30.R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range, + ) + RVV_AE__AA_12_Adder____Active_Rdr = ( + 8, + WeaponsSu30.RVV_AE__AA_12_Adder____Active_Rdr, + ) + RVV_SD__AA_12_Adder_B____Active_Rdr = ( + 8, + WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, + ) + I_Derby_ER___Active_Rdr_AAM = (8, WeaponsSu30.I_Derby_ER___Active_Rdr_AAM) + KH_29L__AS_14_Kedge___Semi_Act_Laser = ( + 8, + WeaponsSu30.KH_29L__AS_14_Kedge___Semi_Act_Laser, + ) + Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__ = ( + 8, + Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__, + ) + KH_29TE__AS_14_Kedge___TV_Guided = ( + 8, + WeaponsSu30.KH_29TE__AS_14_Kedge___TV_Guided, + ) + Kh_31A__AS_17_Krypton____610kg = (8, WeaponsSu30.Kh_31A__AS_17_Krypton____610kg) + Kh_31P__AS_17_Krypton____600kg = (8, WeaponsSu30.Kh_31P__AS_17_Krypton____600kg) + Rudra_M1 = (8, WeaponsSu30.Rudra_M1) + KAB_500Kr___500kg_TV_Guided_Bomb = (8, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb) + KAB_500S___500kg__GPS_Guided = (8, WeaponsSu30.KAB_500S___500kg__GPS_Guided) + KAB_500LG___500kg_Laser_Guided_Bomb = ( + 8, + Weapons.KAB_500LG___500kg_Laser_Guided_Bomb, + ) + SAB_100MN___100_kg_Illumination_Bomb = ( + 8, + Weapons.SAB_100MN___100_kg_Illumination_Bomb, + ) + P_50T___50kg_Practice_Bomb_LD = (8, Weapons.P_50T___50kg_Practice_Bomb_LD) + BetAB_500___500kg_Concrete_Piercing_Bomb_LD = ( + 8, + Weapons.BetAB_500___500kg_Concrete_Piercing_Bomb_LD, + ) + BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb = ( + 8, + Weapons.BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb, + ) + RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP = ( + 8, + Weapons.RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP, + ) + RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP = ( + 8, + Weapons.RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP, + ) + FAB_500_M54___474kg__freefall = (8, WeaponsSu30.FAB_500_M54___474kg__freefall) + FAB_500_M62___474kg__freefall = (8, WeaponsSu30.FAB_500_M62___474kg__freefall) + FAB_250_M62___227kg__freefall = (8, WeaponsSu30.FAB_250_M62___227kg__freefall) + MBD3_U6_68_with_6_x_FAB_250___250kg = ( + 8, + WeaponsSu30.MBD3_U6_68_with_6_x_FAB_250___250kg, + ) + MBD3_U6_68_with_6_x_FAB_100___100kg = ( + 8, + WeaponsSu30.MBD3_U6_68_with_6_x_FAB_100___100kg, + ) + LITENING___Targeting_Pod = (8, WeaponsSu30.LITENING___Targeting_Pod) + + # ERRR + + class Pylon9: + R_27R1__AA_10_Alamo_A____Semi_Act_Rdr = ( + 9, + WeaponsSu30.R_27R1__AA_10_Alamo_A____Semi_Act_Rdr, + ) + R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range = ( + 9, + WeaponsSu30.R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range, + ) + RVV_AE__AA_12_Adder____Active_Rdr = ( + 9, + WeaponsSu30.RVV_AE__AA_12_Adder____Active_Rdr, + ) + RVV_SD__AA_12_Adder_B____Active_Rdr = ( + 9, + WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, + ) + I_Derby_ER___Active_Rdr_AAM = (9, WeaponsSu30.I_Derby_ER___Active_Rdr_AAM) + KH_29L__AS_14_Kedge___Semi_Act_Laser = ( + 9, + WeaponsSu30.KH_29L__AS_14_Kedge___Semi_Act_Laser, + ) + Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__ = ( + 9, + Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__, + ) + KH_29TE__AS_14_Kedge___TV_Guided = ( + 9, + WeaponsSu30.KH_29TE__AS_14_Kedge___TV_Guided, + ) + Kh_59M__AS_18_Kazoo___930kg = (9, WeaponsSu30.Kh_59M__AS_18_Kazoo___930kg) + Kh_59MK__AS_18_Kazoo____930kg = (9, WeaponsSu30.Kh_59MK__AS_18_Kazoo____930kg) + Kh_31A__AS_17_Krypton____610kg = (9, WeaponsSu30.Kh_31A__AS_17_Krypton____610kg) + Kh_31P__AS_17_Krypton____600kg = (9, WeaponsSu30.Kh_31P__AS_17_Krypton____600kg) + Kh_35__AS_20_Kayak____520kg = (9, WeaponsSu30.Kh_35__AS_20_Kayak____520kg) + KAB_500LG___500kg_Laser_Guided_Bomb = ( + 9, + Weapons.KAB_500LG___500kg_Laser_Guided_Bomb, + ) + SAB_100MN___100_kg_Illumination_Bomb = ( + 9, + Weapons.SAB_100MN___100_kg_Illumination_Bomb, + ) + Rudra_M1 = (9, WeaponsSu30.Rudra_M1) + SAAW_POD = (9, WeaponsSu30.SAAW_POD) + KAB_500Kr___500kg_TV_Guided_Bomb = (9, Weapons.KAB_500Kr___500kg_TV_Guided_Bomb) + KAB_500S___500kg__GPS_Guided = (9, WeaponsSu30.KAB_500S___500kg__GPS_Guided) + KAB_1500Kr___1500kg = (9, WeaponsSu30.KAB_1500Kr___1500kg) + KAB_1500LG_PR___1500kg = (9, WeaponsSu30.KAB_1500LG_PR___1500kg) + KAB_1500L___1500kg_Laser_Guided_Bomb = ( + 9, + Weapons.KAB_1500L___1500kg_Laser_Guided_Bomb, + ) + KMGU_2___96_x_PTAB_2_5KO_Dispenser__CBU__HEAT_AP = ( + 9, + Weapons.KMGU_2___96_x_PTAB_2_5KO_Dispenser__CBU__HEAT_AP, + ) + KMGU_2___96_x_AO_2_5RT_Dispenser__CBU__HE_Frag = ( + 9, + Weapons.KMGU_2___96_x_AO_2_5RT_Dispenser__CBU__HE_Frag, + ) + P_50T___50kg_Practice_Bomb_LD = (9, Weapons.P_50T___50kg_Practice_Bomb_LD) + BetAB_500___500kg_Concrete_Piercing_Bomb_LD = ( + 9, + Weapons.BetAB_500___500kg_Concrete_Piercing_Bomb_LD, + ) + BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb = ( + 9, + Weapons.BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb, + ) + RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP = ( + 9, + Weapons.RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP, + ) + RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP = ( + 9, + Weapons.RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP, + ) + FAB_500_M54___474kg__freefall = (9, WeaponsSu30.FAB_500_M54___474kg__freefall) + FAB_500_M62___474kg__freefall = (9, WeaponsSu30.FAB_500_M62___474kg__freefall) + FAB_250_M62___227kg__freefall = (9, WeaponsSu30.FAB_250_M62___227kg__freefall) + MBD3_U6_68_with_6_x_FAB_250___250kg = ( + 9, + WeaponsSu30.MBD3_U6_68_with_6_x_FAB_250___250kg, + ) + MBD3_U6_68_with_6_x_FAB_100___100kg = ( + 9, + WeaponsSu30.MBD3_U6_68_with_6_x_FAB_100___100kg, + ) + + # ERRR + + class Pylon10: + R_73__AA_11_Archer____Infra_Red = (10, Weapons.R_73__AA_11_Archer____Infra_Red) + R_73L__AA_11_Archer_L____Infra_Red = ( + 10, + WeaponsSu30.R_73L__AA_11_Archer_L____Infra_Red, + ) + R_73M__AA_11_Archer_M____Infra_Red = ( + 10, + WeaponsSu30.R_73M__AA_11_Archer_M____Infra_Red, + ) + RVV_MD2__AA_11_Archer_M2____Infra_Red = ( + 10, + WeaponsSu30.RVV_MD2__AA_11_Archer_M2____Infra_Red, + ) + R_27R1__AA_10_Alamo_A____Semi_Act_Rdr = ( + 10, + WeaponsSu30.R_27R1__AA_10_Alamo_A____Semi_Act_Rdr, + ) + R_27T1__AA_10_Alamo_B____Infra_Red = ( + 10, + WeaponsSu30.R_27T1__AA_10_Alamo_B____Infra_Red, + ) + R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range = ( + 10, + WeaponsSu30.R_27ER1__AA_10_Alamo_C____Semi_Act_Extended_Range, + ) + R_27ET1__AA_10_Alamo_D____IR_Extended_Range = ( + 10, + WeaponsSu30.R_27ET1__AA_10_Alamo_D____IR_Extended_Range, + ) + ASTRA_Mk_1___Active_Rdr_AAM = (10, WeaponsSu30.ASTRA_Mk_1___Active_Rdr_AAM) + I_Derby_ER___Active_Rdr_AAM = (10, WeaponsSu30.I_Derby_ER___Active_Rdr_AAM) + RVV_AE__AA_12_Adder____Active_Rdr = ( + 10, + WeaponsSu30.RVV_AE__AA_12_Adder____Active_Rdr, + ) + RVV_SD__AA_12_Adder_B____Active_Rdr = ( + 10, + WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, + ) + KH_29L__AS_14_Kedge___Semi_Act_Laser = ( + 10, + WeaponsSu30.KH_29L__AS_14_Kedge___Semi_Act_Laser, + ) + Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__ = ( + 10, + Weapons.Kh_29T__AS_14_Kedge____670kg__ASM__TV_Guided__, + ) + KH_29TE__AS_14_Kedge___TV_Guided = ( + 10, + WeaponsSu30.KH_29TE__AS_14_Kedge___TV_Guided, + ) + Kh_59M__AS_18_Kazoo___930kg = (10, WeaponsSu30.Kh_59M__AS_18_Kazoo___930kg) + Kh_59MK__AS_18_Kazoo____930kg = (10, WeaponsSu30.Kh_59MK__AS_18_Kazoo____930kg) + Kh_31A__AS_17_Krypton____610kg = ( + 10, + WeaponsSu30.Kh_31A__AS_17_Krypton____610kg, + ) + Kh_31P__AS_17_Krypton____600kg = ( + 10, + WeaponsSu30.Kh_31P__AS_17_Krypton____600kg, + ) + Kh_35__AS_20_Kayak____520kg = (10, WeaponsSu30.Kh_35__AS_20_Kayak____520kg) + Rudra_M1 = (10, WeaponsSu30.Rudra_M1) + SAAW_POD = (10, WeaponsSu30.SAAW_POD) + KAB_500Kr___500kg_TV_Guided_Bomb = ( + 10, + Weapons.KAB_500Kr___500kg_TV_Guided_Bomb, + ) + KAB_500S___500kg__GPS_Guided = (10, WeaponsSu30.KAB_500S___500kg__GPS_Guided) + KAB_500LG___500kg_Laser_Guided_Bomb = ( + 10, + Weapons.KAB_500LG___500kg_Laser_Guided_Bomb, + ) + SAB_100MN___100_kg_Illumination_Bomb = ( + 10, + Weapons.SAB_100MN___100_kg_Illumination_Bomb, + ) + KMGU_2___96_x_PTAB_2_5KO_Dispenser__CBU__HEAT_AP = ( + 10, + Weapons.KMGU_2___96_x_PTAB_2_5KO_Dispenser__CBU__HEAT_AP, + ) + KMGU_2___96_x_AO_2_5RT_Dispenser__CBU__HE_Frag = ( + 10, + Weapons.KMGU_2___96_x_AO_2_5RT_Dispenser__CBU__HE_Frag, + ) + P_50T___50kg_Practice_Bomb_LD = (10, Weapons.P_50T___50kg_Practice_Bomb_LD) + BetAB_500___500kg_Concrete_Piercing_Bomb_LD = ( + 10, + Weapons.BetAB_500___500kg_Concrete_Piercing_Bomb_LD, + ) + BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb = ( + 10, + Weapons.BetAB_500ShP___500kg_Concrete_Piercing_HD_w_booster_Bomb, + ) + RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP = ( + 10, + Weapons.RBK_250___42_x_PTAB_2_5M__250kg_CBU_Medium_HEAT_AP, + ) + RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP = ( + 10, + Weapons.RBK_500_255___30_x_PTAB_10_5__500kg_CBU_Heavy_HEAT_AP, + ) + FAB_500_M54___474kg__freefall = (10, WeaponsSu30.FAB_500_M54___474kg__freefall) + FAB_500_M62___474kg__freefall = (10, WeaponsSu30.FAB_500_M62___474kg__freefall) + FAB_250_M62___227kg__freefall = (10, WeaponsSu30.FAB_250_M62___227kg__freefall) + MBD3_U6_68_with_6_x_FAB_250___250kg = ( + 10, + WeaponsSu30.MBD3_U6_68_with_6_x_FAB_250___250kg, + ) + MBD3_U6_68_with_6_x_FAB_100___100kg = ( + 10, + WeaponsSu30.MBD3_U6_68_with_6_x_FAB_100___100kg, + ) + _2_x_B_13L_pods___10_x_S_13_OF__122mm_UnGd_Rkts__Blast_Frag = ( + 10, + Weapons._2_x_B_13L_pods___10_x_S_13_OF__122mm_UnGd_Rkts__Blast_Frag, + ) + _2_x_B_8M1___40_x_UnGd_Rkts__80_mm_S_8KOM_HEAT_Frag = ( + 10, + Weapons._2_x_B_8M1___40_x_UnGd_Rkts__80_mm_S_8KOM_HEAT_Frag, + ) + _2_x_B_8M1___40_x_UnGd_Rkts__80_mm_S_8TsM_SM_Orange = ( + 10, + Weapons._2_x_B_8M1___40_x_UnGd_Rkts__80_mm_S_8TsM_SM_Orange, + ) + _2_x_B_8M1___40_x_UnGd_Rkts__80_mm_S_8OFP2_MPP = ( + 10, + Weapons._2_x_B_8M1___40_x_UnGd_Rkts__80_mm_S_8OFP2_MPP, + ) + _2_x_S_25 = (10, Weapons._2_x_S_25) + + # ERRR + + class Pylon11: + R_73__AA_11_Archer____Infra_Red = (11, Weapons.R_73__AA_11_Archer____Infra_Red) + R_73L__AA_11_Archer_L____Infra_Red = ( + 11, + WeaponsSu30.R_73L__AA_11_Archer_L____Infra_Red, + ) + R_73M__AA_11_Archer_M____Infra_Red = ( + 11, + WeaponsSu30.R_73M__AA_11_Archer_M____Infra_Red, + ) + RVV_MD2__AA_11_Archer_M2____Infra_Red = ( + 11, + WeaponsSu30.RVV_MD2__AA_11_Archer_M2____Infra_Red, + ) + ASTRA_Mk_1___Active_Rdr_AAM = (11, WeaponsSu30.ASTRA_Mk_1___Active_Rdr_AAM) + I_Derby_ER___Active_Rdr_AAM = (11, WeaponsSu30.I_Derby_ER___Active_Rdr_AAM) + RVV_AE__AA_12_Adder____Active_Rdr = ( + 11, + WeaponsSu30.RVV_AE__AA_12_Adder____Active_Rdr, + ) + RVV_SD__AA_12_Adder_B____Active_Rdr = ( + 11, + WeaponsSu30.RVV_SD__AA_12_Adder_B____Active_Rdr, + ) + Smoke_Generator___red = (11, Weapons.Smoke_Generator___red) + Smoke_Generator___green = (11, Weapons.Smoke_Generator___green) + Smoke_Generator___blue = (11, Weapons.Smoke_Generator___blue) + Smoke_Generator___white = (11, Weapons.Smoke_Generator___white) + Smoke_Generator___yellow = (11, Weapons.Smoke_Generator___yellow) + Smoke_Generator___orange = (11, Weapons.Smoke_Generator___orange) + + # ERRR class Pylon12: R_73__AA_11_Archer____Infra_Red = (12, Weapons.R_73__AA_11_Archer____Infra_Red) diff --git a/qt_ui/uiconstants.py b/qt_ui/uiconstants.py index dcb95b1a..7c644556 100644 --- a/qt_ui/uiconstants.py +++ b/qt_ui/uiconstants.py @@ -212,6 +212,10 @@ def load_aircraft_icons(): AIRCRAFT_ICONS[f1] = AIRCRAFT_ICONS["Mirage-F1C-200"] AIRCRAFT_ICONS["Mirage-F1M-CE"] = AIRCRAFT_ICONS["Mirage-F1CE"] AIRCRAFT_ICONS["F-15ESE"] = AIRCRAFT_ICONS["F-15E"] + AIRCRAFT_ICONS["Su-30MKA-AG"] = AIRCRAFT_ICONS["Su-30MKA"] + AIRCRAFT_ICONS["Su-30MKI-AG"] = AIRCRAFT_ICONS["Su-30MKI"] + AIRCRAFT_ICONS["Su-30MKM-AG"] = AIRCRAFT_ICONS["Su-30MKM"] + AIRCRAFT_ICONS["Su-30SM-AG"] = AIRCRAFT_ICONS["Su-30SM"] def load_vehicle_icons(): diff --git a/qt_ui/windows/QUnitInfoWindow.py b/qt_ui/windows/QUnitInfoWindow.py index df25417f..5ba73b4a 100644 --- a/qt_ui/windows/QUnitInfoWindow.py +++ b/qt_ui/windows/QUnitInfoWindow.py @@ -32,7 +32,15 @@ def aircraft_banner_for(unit_type: AircraftType) -> Path: name = "Mirage-F1C-200" elif unit_type.dcs_id in {"Mirage-F1CE", "Mirage-F1M-CE"}: name = "Mirage-F1C" - elif unit_type.dcs_id in {"Su-30MKA", "Su-30MKI", "Su-30MKM"}: + elif unit_type.dcs_id in { + "Su-30MKA", + "Su-30MKI", + "Su-30MKM", + "Su-30MKA-AG", + "Su-30MKI-AG", + "Su-30MKM-AG", + "Su-30SM-AG" + }: name = "Su-30SM" elif unit_type.dcs_id == "F-15ESE": name = "F-15E" diff --git a/resources/units/aircraft/Su-30MKA-AG.yaml b/resources/units/aircraft/Su-30MKA-AG.yaml new file mode 100644 index 00000000..26d91bf1 --- /dev/null +++ b/resources/units/aircraft/Su-30MKA-AG.yaml @@ -0,0 +1,34 @@ +description: + "The Sukhoi Su-30 (Russian: \u0421\u0443\u0445\u043E\u0439 \u0421\u0443\ + -30; NATO reporting name: Flanker-C/G/H) is a twin-engine, two-seat supermaneuverable\ + \ fighter aircraft developed in the Soviet Union by Russia's Sukhoi Aviation Corporation.\ + \ It is a multirole fighter for all-weather, air-to-air and air-to-surface deep\ + \ interdiction missions. 630 numbers have been build.\ + \ \ + \ A version of the Su-30MKI, except with French and Russian avionics for Algeria." +introduced: 2007 # http://sukhoi.mariwoj.pl/su-30-dz.htm +manufacturer: Sukhoi +origin: USSR/Russia +price: 24 +role: Multirole Fighter +max_range: 300 +variants: + Su-30MKA Flanker-H (A-G): {} +radios: + intra_flight: R-800 + inter_flight: R-800 +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 diff --git a/resources/units/aircraft/Su-30MKI-AG.yaml b/resources/units/aircraft/Su-30MKI-AG.yaml new file mode 100644 index 00000000..d70f7592 --- /dev/null +++ b/resources/units/aircraft/Su-30MKI-AG.yaml @@ -0,0 +1,37 @@ +description: + "The Sukhoi Su-30 (Russian: \u0421\u0443\u0445\u043E\u0439 \u0421\u0443\ + -30; NATO reporting name: Flanker-C/G/H) is a twin-engine, two-seat supermaneuverable\ + \ fighter aircraft developed in the Soviet Union by Russia's Sukhoi Aviation Corporation.\ + \ It is a multirole fighter for all-weather, air-to-air and air-to-surface deep\ + interdiction missions. 630 numbers have been build.\ + \ \ + \ MKI for Modernizirovannyi Kommercheskiy Indiski - \"Modernized Commercial Indian\". An export version for India,\ + \ jointly developed with Hindustan Aeronautics Limited (HAL). It is the first Su-30 family member to feature\ + \ thrust vectoring control (TVC) and canards. Equipped with a multinational avionics complex\ + \ sourced from Russia, India, France and Israel." +introduced: 2002 # https://en.wikipedia.org/wiki/Sukhoi_Su-30MKI +manufacturer: Sukhoi +origin: USSR/Russia +price: 24 +role: Multirole Fighter +max_range: 300 +variants: + Su-30MKI Flanker-H (A-G): {} +radios: + intra_flight: R-800 + inter_flight: R-800 +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 diff --git a/resources/units/aircraft/Su-30MKM-AG.yaml b/resources/units/aircraft/Su-30MKM-AG.yaml new file mode 100644 index 00000000..db5acf06 --- /dev/null +++ b/resources/units/aircraft/Su-30MKM-AG.yaml @@ -0,0 +1,40 @@ +description: + "The Sukhoi Su-30 (Russian: \u0421\u0443\u0445\u043E\u0439 \u0421\u0443\ + -30; NATO reporting name: Flanker-C/G/H) is a twin-engine, two-seat supermaneuverable\ + \ fighter aircraft developed in the Soviet Union by Russia's Sukhoi Aviation Corporation.\ + \ It is a multirole fighter for all-weather, air-to-air and air-to-surface deep\ + \ interdiction missions. 630 numbers have been build.\ + \ \ + \ A derivative of the Russian-Indian Su-30MKI, the MKM is a highly specialised version for Royal Malaysian Air Force.\ + \ It includes thrust vectoring control (TVC) and canards but with avionics from various countries.\ + \ It will feature head-up displays (HUD), navigational forward-looking IR system (NAVFLIR) and\ + \ Damocles Laser Designation pod (LDP) from Thales Group of France, MAW-300 missile approach warning sensor (MAWS),\ + \ RWS-50 RWR and laser warning sensor (LWS) from SAAB AVITRONICS (South Africa)[114] as well as the\ + \ Russian NIIP N011M Bars Passive electronically scanned array radar, electronic warfare (EW) system,\ + \ optical-location system (OLS) and a glass cockpit." +introduced: 2007 # https://en.wikipedia.org/wiki/Sukhoi_Su-30MKM +manufacturer: Sukhoi +origin: USSR/Russia +price: 24 +role: Multirole Fighter +max_range: 300 +variants: + Su-30MKM Flanker-H (A-G): {} +radios: + intra_flight: R-800 + inter_flight: R-800 +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 diff --git a/resources/units/aircraft/Su-30SM-AG.yaml b/resources/units/aircraft/Su-30SM-AG.yaml new file mode 100644 index 00000000..12efed4b --- /dev/null +++ b/resources/units/aircraft/Su-30SM-AG.yaml @@ -0,0 +1,47 @@ +description: + "The Sukhoi Su-30 (Russian: \u0421\u0443\u0445\u043E\u0439 \u0421\u0443\ + -30; NATO reporting name: Flanker-C/G/H) is a twin-engine, two-seat supermaneuverable \ + \ fighter aircraft developed in the Soviet Union by Russia's Sukhoi Aviation Corporation. \ + \ It is a multirole fighter for all-weather, air-to-air and air-to-surface deep \ + \ interdiction missions. 630 numbers have been build. \ + \ \ + \ SM for Serijnyi Modernizirovannyi - \"Serial Modernized\". A specialised version of the thrust-vectoring \ + \ Su-30MKI for the Russian Air Force, produced by the Irkut Corporation. NATO reporting name Flanker-H. \ + \ The Su-30SM is considered a 4+ generation fighter jet. The aircraft has been upgraded according to \ + \ Russian military requirements for radar, radio communications systems, friend-or-foe identification system, \ + \ ejection seats, weapons, and other aircraft systems. It is equipped with the N011M Bars radar with a \ + \ maximum detection range 400 km, search range 200 km using a phased array antenna, frontal horizontal fins \ + \ and steerable thrusters for supermaneuverability as well as with wide-angle HUD. \ + \ The aircraft can be used to gain air supremacy same as for targeting adversary on the ground using \ + \ wide range of weapons including air-to-air, air-to-surface and guided and unguided bombs with total weapons \ + \ weight up to 8,000 kg. It is also equipped with the one barrel, 30 mm GSh-30-1 autocannon. \ + \ To ensure operations at major distances from airfield, the ability of in-flight refueling (IFR) is included. \ + \ Besides that, for electronic warfare purposes two SAP-518 jamming pods can be fitted on the wing tips. \ + \ The SAP-518 is designed to protect the aircraft from various air-to-air and surface-to-air missiles by \ + \ creating false targets, jamming missile's guidance, enemy aircraft radars or ground and seaborne air defence." +introduced: 2012 # https://www.airforce-technology.com/projects/su-30sm-multirole-fighter-aircraft/ +manufacturer: Sukhoi +origin: USSR/Russia +price: 24 +role: Multirole Fighter +max_range: 300 +variants: + Su-30SM Flanker-H (A-G): {} +radios: + intra_flight: R-800 + inter_flight: R-800 +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