From 65a62b3951d130685f79f4e28c20142d1b94a0a1 Mon Sep 17 00:00:00 2001
From: Starfire13 <72491792+Starfire13@users.noreply.github.com>
Date: Sun, 7 Jul 2024 19:41:27 +1000
Subject: [PATCH 01/12] Afghanistan insurgent faction & Toyota Technicals class
fix (#359)
* Add files via upload
* Add files via upload
---
resources/factions/taliban_2001.json | 38 +++++++++++++++++++++++
resources/units/ground_units/HL_DSHK.yaml | 8 ++---
resources/units/ground_units/HL_KORD.yaml | 8 ++---
resources/units/ground_units/tt_DSHK.yaml | 8 ++---
resources/units/ground_units/tt_KORD.yaml | 8 ++---
5 files changed, 54 insertions(+), 16 deletions(-)
create mode 100644 resources/factions/taliban_2001.json
diff --git a/resources/factions/taliban_2001.json b/resources/factions/taliban_2001.json
new file mode 100644
index 00000000..9060b7d4
--- /dev/null
+++ b/resources/factions/taliban_2001.json
@@ -0,0 +1,38 @@
+{
+ "country": "Insurgents",
+ "name": "Toyota Al Gaib 2001",
+ "authors": "Starfire",
+ "description": "
Total Terror Through Toyota Technicals.
",
+ "aircrafts": [],
+ "frontline_units": [
+ "Scout LC with DSHK 12.7mm",
+ "Scout LC with KORD 12.7mm",
+ "Scout HL with DSHK 12.7mm",
+ "Scout HL with KORD 12.7mm",
+ "SPAAA LC with ZU-23",
+ "SPAAA HL with ZU-23"
+ ],
+ "artillery_units": [
+ "BM-21 Grad",
+ "MLRS LC with B8M1 80mm",
+ "MLRS HL with B8M1 80mm"
+ ],
+ "logistics_units": [
+ "LUV UAZ-469 Jeep",
+ "Truck Ural-375"
+ ],
+ "infantry_units": [
+ "Infantry RPG",
+ "Insurgent AK-74",
+ "MANPADS SA-18 Igla \"Grouse\"",
+ "Mortar 2B11 120mm"
+ ],
+ "missiles": [],
+ "air_defense_units": [
+ "SPAAA LC with ZU-23",
+ "SPAAA HL with ZU-23",
+ "ZU-23 on Ural-375 Insurgent"
+ ],
+ "preset_groups": [],
+ "naval_units": []
+}
diff --git a/resources/units/ground_units/HL_DSHK.yaml b/resources/units/ground_units/HL_DSHK.yaml
index 5dd2f177..e1407c3f 100644
--- a/resources/units/ground_units/HL_DSHK.yaml
+++ b/resources/units/ground_units/HL_DSHK.yaml
@@ -1,5 +1,5 @@
-class: Recon
-price: 4
-role: Recon
-variants:
+class: IFV
+price: 4
+role: Recon
+variants:
Scout HL with DSHK 12.7mm: {}
\ No newline at end of file
diff --git a/resources/units/ground_units/HL_KORD.yaml b/resources/units/ground_units/HL_KORD.yaml
index 8b5b630a..6f25baf9 100644
--- a/resources/units/ground_units/HL_KORD.yaml
+++ b/resources/units/ground_units/HL_KORD.yaml
@@ -1,5 +1,5 @@
-class: Recon
-price: 4
-role: Recon
-variants:
+class: IFV
+price: 4
+role: Recon
+variants:
Scout HL with KORD 12.7mm: {}
\ No newline at end of file
diff --git a/resources/units/ground_units/tt_DSHK.yaml b/resources/units/ground_units/tt_DSHK.yaml
index b0aad905..1df82e8a 100644
--- a/resources/units/ground_units/tt_DSHK.yaml
+++ b/resources/units/ground_units/tt_DSHK.yaml
@@ -1,5 +1,5 @@
-class: Recon
-price: 4
-role: Recon
-variants:
+class: IFV
+price: 4
+role: Recon
+variants:
Scout LC with DSHK 12.7mm: {}
\ No newline at end of file
diff --git a/resources/units/ground_units/tt_KORD.yaml b/resources/units/ground_units/tt_KORD.yaml
index b50b59ee..3b4ef9e8 100644
--- a/resources/units/ground_units/tt_KORD.yaml
+++ b/resources/units/ground_units/tt_KORD.yaml
@@ -1,5 +1,5 @@
-class: Recon
-price: 4
-role: Recon
-variants:
+class: IFV
+price: 4
+role: Recon
+variants:
Scout LC with KORD 12.7mm: {}
\ No newline at end of file
From b8b39bf2fe2661efc6ce3a3bcb0b108a2dde00f3 Mon Sep 17 00:00:00 2001
From: ColonelAkirNakesh <93631947+ColonelAkirNakesh@users.noreply.github.com>
Date: Sun, 7 Jul 2024 02:44:43 -0700
Subject: [PATCH 02/12] Add requirements to nva_1970.json (#362)
A note that this faction requires WW2 Assets Pack because of ze Schnellboot
---
resources/factions/nva_1970.json | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/resources/factions/nva_1970.json b/resources/factions/nva_1970.json
index 392171e9..de0ed21a 100644
--- a/resources/factions/nva_1970.json
+++ b/resources/factions/nva_1970.json
@@ -50,6 +50,9 @@
"ZU-23 on Ural-375",
"ZSU-23-4 Shilka"
],
+ "requirements": {
+ "WW2 Asset Pack": "https://www.digitalcombatsimulator.com/en/products/other/wwii_assets_pack/"
+ },
"requirements": {},
"doctrine": "coldwar"
-}
\ No newline at end of file
+}
From 3cda9fb36bdde4175c9f3fedb21af2f5f1214dfa Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Sun, 7 Jul 2024 12:21:01 +0000
Subject: [PATCH 03/12] Bump certifi from 2024.6.2 to 2024.7.4 (#363)
Bumps [certifi](https://github.com/certifi/python-certifi) from 2024.6.2 to 2024.7.4.
- [Commits](https://github.com/certifi/python-certifi/compare/2024.06.02...2024.07.04)
---
updated-dependencies:
- dependency-name: certifi
dependency-type: direct:production
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
requirements.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/requirements.txt b/requirements.txt
index 5d2df385..47a33328 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -4,7 +4,7 @@ asgiref==3.8.1
atomicwrites==1.4.1
attrs==23.2.0
black==23.9.1
-certifi==2024.6.2
+certifi==2024.7.4
cfgv==3.4.0
click==8.1.7
colorama==0.4.6
From db12ac4f54570cf6b1098b43a33f1015b0175a69 Mon Sep 17 00:00:00 2001
From: Raffson
Date: Sun, 7 Jul 2024 13:02:04 +0200
Subject: [PATCH 04/12] Rename custom payloads for Su-15
BARCAP on its own didn't actually assign the payload, it should either be CAP, CAP HEAVY, Retribution BARCAP or Liberation BARCAP
---
resources/customized_payloads/Su_15.lua | 2 +-
resources/customized_payloads/Su_15TM.lua | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/resources/customized_payloads/Su_15.lua b/resources/customized_payloads/Su_15.lua
index cc7628e6..a5d28c33 100644
--- a/resources/customized_payloads/Su_15.lua
+++ b/resources/customized_payloads/Su_15.lua
@@ -2,7 +2,7 @@ local unitPayloads = {
["name"] = "Su_15",
["payloads"] = {
[1] = {
- ["name"] = "BARCAP",
+ ["name"] = "CAP",
["pylons"] = {
[1] = {
["CLSID"] = "{R-8M1R}",
diff --git a/resources/customized_payloads/Su_15TM.lua b/resources/customized_payloads/Su_15TM.lua
index acec4d15..f15b6b55 100644
--- a/resources/customized_payloads/Su_15TM.lua
+++ b/resources/customized_payloads/Su_15TM.lua
@@ -2,8 +2,8 @@ local unitPayloads = {
["name"] = "Su_15TM",
["payloads"] = {
[1] = {
- ["displayName"] = "BARCAP",
- ["name"] = "BARCAP",
+ ["displayName"] = "CAP",
+ ["name"] = "CAP",
["pylons"] = {
[1] = {
["CLSID"] = "{R-98MR}",
From d57521c03d0a8f0e8df1ae9dd1c2fc29e32552ab Mon Sep 17 00:00:00 2001
From: Raffson
Date: Sun, 7 Jul 2024 14:05:36 +0200
Subject: [PATCH 05/12] Fix UI bug wrt selected flight-plans
---
.../components/flightplanslayer/FlightPlansLayer.test.tsx | 6 +++---
.../src/components/flightplanslayer/FlightPlansLayer.tsx | 7 +------
client/src/components/liberationmap/LiberationMap.tsx | 4 ++--
3 files changed, 6 insertions(+), 11 deletions(-)
diff --git a/client/src/components/flightplanslayer/FlightPlansLayer.test.tsx b/client/src/components/flightplanslayer/FlightPlansLayer.test.tsx
index 820957d0..88241dbc 100644
--- a/client/src/components/flightplanslayer/FlightPlansLayer.test.tsx
+++ b/client/src/components/flightplanslayer/FlightPlansLayer.test.tsx
@@ -182,7 +182,7 @@ describe("FlightPlansLayer", () => {
expect(mockLayerGroup).toBeCalledTimes(1);
});
it("are not drawn when only selected flights are to be drawn", () => {
- renderWithProviders(, {
+ renderWithProviders(, {
preloadedState: {
flights: {
flights: {
@@ -355,7 +355,7 @@ describe("FlightPlansLayer", () => {
expect(mockLayerGroup).toBeCalledTimes(1);
});
it("are not drawn if red", () => {
- renderWithProviders(, {
+ renderWithProviders(, {
preloadedState: {
flights: {
flights: {
@@ -397,7 +397,7 @@ describe("FlightPlansLayer", () => {
},
},
});
- expect(mockPolyline).not.toHaveBeenCalled();
+ expect(mockPolyline).toHaveBeenCalled();
expect(mockLayerGroup).toBeCalledTimes(1);
});
});
diff --git a/client/src/components/flightplanslayer/FlightPlansLayer.tsx b/client/src/components/flightplanslayer/FlightPlansLayer.tsx
index 7f8ede20..392049c1 100644
--- a/client/src/components/flightplanslayer/FlightPlansLayer.tsx
+++ b/client/src/components/flightplanslayer/FlightPlansLayer.tsx
@@ -5,7 +5,7 @@ import FlightPlan from "../flightplan";
import { LayerGroup } from "react-leaflet";
interface FlightPlansLayerProps {
- blue: boolean;
+ blue?: boolean;
selectedOnly?: true;
}
@@ -15,11 +15,6 @@ function SelectedFlightPlan(props: FlightPlansLayerProps) {
return <>>;
}
- if (!props.blue) {
- // We don't currently support playing as red, so nothing to draw.
- return <>>;
- }
-
return (
-
-
+
+
From c7644ba9e5a1c3b6c404206ebb1821c02a94c22c Mon Sep 17 00:00:00 2001
From: Raffson
Date: Sun, 7 Jul 2024 15:23:59 +0200
Subject: [PATCH 06/12] Fix UI bug in debriefing window
---
qt_ui/windows/QDebriefingWindow.py | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/qt_ui/windows/QDebriefingWindow.py b/qt_ui/windows/QDebriefingWindow.py
index 8d153eb6..779eb1bd 100644
--- a/qt_ui/windows/QDebriefingWindow.py
+++ b/qt_ui/windows/QDebriefingWindow.py
@@ -87,7 +87,6 @@ class QDebriefingWindow(QDialog):
pixmap = QPixmap("./resources/ui/debriefing.png")
header.setPixmap(pixmap)
layout.addWidget(header)
- layout.addStretch()
title = QLabel("Casualty report")
layout.addWidget(title)
@@ -96,7 +95,7 @@ class QDebriefingWindow(QDialog):
layout.addWidget(player_lost_units)
enemy_lost_units = ScrollingCasualtyReportContainer(debriefing, player=False)
- layout.addWidget(enemy_lost_units)
+ layout.addWidget(enemy_lost_units, 1)
okay = QPushButton("Okay")
okay.clicked.connect(self.close)
From 2f33277a495944489c67e3d97c13bad629a0f361 Mon Sep 17 00:00:00 2001
From: Raffson
Date: Sun, 7 Jul 2024 18:21:11 +0200
Subject: [PATCH 07/12] Update Su-30 mod
---
pydcs_extensions/su30/su30.py | 6698 +++++++++++++++++++--
qt_ui/uiconstants.py | 4 +
qt_ui/windows/QUnitInfoWindow.py | 10 +-
resources/units/aircraft/Su-30MKA-AG.yaml | 34 +
resources/units/aircraft/Su-30MKI-AG.yaml | 37 +
resources/units/aircraft/Su-30MKM-AG.yaml | 40 +
resources/units/aircraft/Su-30SM-AG.yaml | 47 +
7 files changed, 6205 insertions(+), 665 deletions(-)
create mode 100644 resources/units/aircraft/Su-30MKA-AG.yaml
create mode 100644 resources/units/aircraft/Su-30MKI-AG.yaml
create mode 100644 resources/units/aircraft/Su-30MKM-AG.yaml
create mode 100644 resources/units/aircraft/Su-30SM-AG.yaml
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
From 7e6810a299d423c7817d28f732db381cdeedd7ca Mon Sep 17 00:00:00 2001
From: Raffson
Date: Sun, 7 Jul 2024 18:21:51 +0200
Subject: [PATCH 08/12] Update Su30 payloads
---
resources/customized_payloads/Su-30MKA-AG.lua | 530 +++++++++++++
resources/customized_payloads/Su-30MKA.lua | 522 ++++++-------
resources/customized_payloads/Su-30MKI-AG.lua | 529 +++++++++++++
resources/customized_payloads/Su-30MKI.lua | 698 +++++++++---------
resources/customized_payloads/Su-30MKM-AG.lua | 530 +++++++++++++
resources/customized_payloads/Su-30MKM.lua | 498 ++++++-------
resources/customized_payloads/Su-30SM-AG.lua | 530 +++++++++++++
resources/customized_payloads/Su-30SM.lua | 698 +++++++++---------
8 files changed, 3327 insertions(+), 1208 deletions(-)
create mode 100644 resources/customized_payloads/Su-30MKA-AG.lua
create mode 100644 resources/customized_payloads/Su-30MKI-AG.lua
create mode 100644 resources/customized_payloads/Su-30MKM-AG.lua
create mode 100644 resources/customized_payloads/Su-30SM-AG.lua
diff --git a/resources/customized_payloads/Su-30MKA-AG.lua b/resources/customized_payloads/Su-30MKA-AG.lua
new file mode 100644
index 00000000..24a87c2f
--- /dev/null
+++ b/resources/customized_payloads/Su-30MKA-AG.lua
@@ -0,0 +1,530 @@
+local unitPayloads = {
+ ["name"] = "Su-30MKA-AG",
+ ["payloads"] = {
+ [1] = {
+ ["name"] = "Retribution CAS",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
+ ["num"] = 12,
+ },
+ [2] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
+ ["num"] = 1,
+ },
+ [3] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 11,
+ },
+ [4] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 2,
+ },
+ [5] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 10,
+ },
+ [6] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 3,
+ },
+ [7] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 4,
+ },
+ [8] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 9,
+ },
+ [9] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 8,
+ },
+ [10] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 5,
+ },
+ [11] = {
+ ["CLSID"] = "{SU30_RVVSD}",
+ ["num"] = 7,
+ },
+ [12] = {
+ ["CLSID"] = "{SU30_RVVSD}",
+ ["num"] = 6,
+ },
+ },
+ ["tasks"] = {
+ [1] = 31,
+ [2] = 32,
+ },
+ },
+ [2] = {
+ ["displayName"] = "Retribution OCA/Runway",
+ ["name"] = "Retribution OCA/Runway",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
+ ["num"] = 12,
+ },
+ [2] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
+ ["num"] = 1,
+ },
+ [3] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 11,
+ },
+ [4] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 2,
+ },
+ [5] = {
+ ["CLSID"] = "{SU30_R27ER}",
+ ["num"] = 8,
+ },
+ [6] = {
+ ["CLSID"] = "{SU30_R27ER}",
+ ["num"] = 5,
+ },
+ [7] = {
+ ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
+ ["num"] = 10,
+ },
+ [8] = {
+ ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
+ ["num"] = 9,
+ },
+ [9] = {
+ ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
+ ["num"] = 4,
+ },
+ [10] = {
+ ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
+ ["num"] = 3,
+ },
+ [11] = {
+ ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
+ ["num"] = 7,
+ },
+ [12] = {
+ ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
+ ["num"] = 6,
+ },
+ },
+ ["tasks"] = {
+ [1] = 34,
+ },
+ },
+ [3] = {
+ ["displayName"] = "Retribution Strike",
+ ["name"] = "Retribution Strike",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
+ ["num"] = 12,
+ },
+ [2] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
+ ["num"] = 1,
+ },
+ [3] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 11,
+ },
+ [4] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 2,
+ },
+ [5] = {
+ ["CLSID"] = "{SU30_RVVSD}",
+ ["num"] = 8,
+ },
+ [6] = {
+ ["CLSID"] = "{SU30_RVVSD}",
+ ["num"] = 5,
+ },
+ [7] = {
+ ["CLSID"] = "{E2C426E3-8B10-4E09-B733-9CDC26520F48}",
+ ["num"] = 10,
+ },
+ [8] = {
+ ["CLSID"] = "{E2C426E3-8B10-4E09-B733-9CDC26520F48}",
+ ["num"] = 3,
+ },
+ [9] = {
+ ["CLSID"] = "{E2C426E3-8B10-4E09-B733-9CDC26520F48}",
+ ["num"] = 9,
+ },
+ [10] = {
+ ["CLSID"] = "{E2C426E3-8B10-4E09-B733-9CDC26520F48}",
+ ["num"] = 4,
+ },
+ [11] = {
+ ["CLSID"] = "{E2C426E3-8B10-4E09-B733-9CDC26520F48}",
+ ["num"] = 7,
+ },
+ [12] = {
+ ["CLSID"] = "{E2C426E3-8B10-4E09-B733-9CDC26520F48}",
+ ["num"] = 6,
+ },
+ },
+ ["tasks"] = {
+ [1] = 33,
+ [2] = 32,
+ [3] = 31,
+ },
+ },
+ [4] = {
+ ["displayName"] = "CAP",
+ ["name"] = "CAP",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
+ ["num"] = 12,
+ },
+ [2] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
+ ["num"] = 1,
+ },
+ [3] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 11,
+ },
+ [4] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 2,
+ },
+ [5] = {
+ ["CLSID"] = "{SU30_R27ET}",
+ ["num"] = 10,
+ },
+ [6] = {
+ ["CLSID"] = "{SU30_RVVSD}",
+ ["num"] = 9,
+ },
+ [7] = {
+ ["CLSID"] = "{SU30_R27ER}",
+ ["num"] = 8,
+ },
+ [8] = {
+ ["CLSID"] = "{SU30_RVVSD}",
+ ["num"] = 7,
+ },
+ [9] = {
+ ["CLSID"] = "{SU30_RVVSD}",
+ ["num"] = 6,
+ },
+ [10] = {
+ ["CLSID"] = "{SU30_R27ER}",
+ ["num"] = 5,
+ },
+ [11] = {
+ ["CLSID"] = "{SU30_RVVSD}",
+ ["num"] = 4,
+ },
+ [12] = {
+ ["CLSID"] = "{SU30_R27ET}",
+ ["num"] = 3,
+ },
+ },
+ ["tasks"] = {
+ [1] = 18,
+ [2] = 19,
+ [3] = 10,
+ [4] = 11,
+ },
+ },
+ [5] = {
+ ["displayName"] = "ANTISHIP",
+ ["name"] = "ANTISHIP",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
+ ["num"] = 12,
+ },
+ [2] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
+ ["num"] = 1,
+ },
+ [3] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 11,
+ },
+ [4] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 2,
+ },
+ [5] = {
+ ["CLSID"] = "{SU30_KH_31A}",
+ ["num"] = 8,
+ },
+ [6] = {
+ ["CLSID"] = "{SU30_KH_31A}",
+ ["num"] = 5,
+ },
+ [7] = {
+ ["CLSID"] = "{SU30_RVVSD}",
+ ["num"] = 10,
+ },
+ [8] = {
+ ["CLSID"] = "{SU30_KH_31A}",
+ ["num"] = 9,
+ },
+ [9] = {
+ ["CLSID"] = "{SU30_KH_31A}",
+ ["num"] = 4,
+ },
+ [10] = {
+ ["CLSID"] = "{SU30_RVVSD}",
+ ["num"] = 3,
+ },
+ [11] = {
+ ["CLSID"] = "{SU30_RVVSD}",
+ ["num"] = 6,
+ },
+ [12] = {
+ ["CLSID"] = "{SU30_RVVSD}",
+ ["num"] = 7,
+ },
+ },
+ ["tasks"] = {
+ [1] = 30,
+ },
+ },
+ [6] = {
+ ["displayName"] = "Retribution OCA/Aircraft",
+ ["name"] = "Retribution OCA/Aircraft",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
+ ["num"] = 12,
+ },
+ [2] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
+ ["num"] = 1,
+ },
+ [3] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 11,
+ },
+ [4] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 2,
+ },
+ [5] = {
+ ["CLSID"] = "{SU30_R27ER}",
+ ["num"] = 8,
+ },
+ [6] = {
+ ["CLSID"] = "{SU30_R27ER}",
+ ["num"] = 5,
+ },
+ [7] = {
+ ["CLSID"] = "{96A7F676-F956-404A-AD04-F33FB2C74884}",
+ ["num"] = 10,
+ },
+ [8] = {
+ ["CLSID"] = "{96A7F676-F956-404A-AD04-F33FB2C74881}",
+ ["num"] = 9,
+ },
+ [9] = {
+ ["CLSID"] = "{96A7F676-F956-404A-AD04-F33FB2C74881}",
+ ["num"] = 4,
+ },
+ [10] = {
+ ["CLSID"] = "{96A7F676-F956-404A-AD04-F33FB2C74884}",
+ ["num"] = 3,
+ },
+ [11] = {
+ ["CLSID"] = "{53BE25A4-C86C-4571-9BC0-47D668349595}",
+ ["num"] = 7,
+ },
+ [12] = {
+ ["CLSID"] = "{53BE25A4-C86C-4571-9BC0-47D668349595}",
+ ["num"] = 6,
+ },
+ },
+ ["tasks"] = {
+ [1] = 32,
+ [2] = 31,
+ },
+ },
+ [7] = {
+ ["displayName"] = "Retribution SEAD",
+ ["name"] = "Retribution SEAD",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
+ ["num"] = 12,
+ },
+ [2] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
+ ["num"] = 1,
+ },
+ [3] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 11,
+ },
+ [4] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 2,
+ },
+ [5] = {
+ ["CLSID"] = "{SU30_KH31P}",
+ ["num"] = 8,
+ },
+ [6] = {
+ ["CLSID"] = "{SU30_KH31P}",
+ ["num"] = 5,
+ },
+ [7] = {
+ ["CLSID"] = "{SU30_KH31P}",
+ ["num"] = 10,
+ },
+ [8] = {
+ ["CLSID"] = "{SU30_KH31P}",
+ ["num"] = 9,
+ },
+ [9] = {
+ ["CLSID"] = "{SU30_KH31P}",
+ ["num"] = 4,
+ },
+ [10] = {
+ ["CLSID"] = "{SU30_KH31P}",
+ ["num"] = 3,
+ },
+ [11] = {
+ ["CLSID"] = "{SU30_RVVSD}",
+ ["num"] = 7,
+ },
+ [12] = {
+ ["CLSID"] = "{SU30_RVVSD}",
+ ["num"] = 6,
+ },
+ },
+ ["tasks"] = {
+ [1] = 29,
+ },
+ },
+ [8] = {
+ ["displayName"] = "Retribution BAI",
+ ["name"] = "Retribution BAI",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
+ ["num"] = 12,
+ },
+ [2] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
+ ["num"] = 1,
+ },
+ [3] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 11,
+ },
+ [4] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 2,
+ },
+ [5] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 10,
+ },
+ [6] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 3,
+ },
+ [7] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 4,
+ },
+ [8] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 9,
+ },
+ [9] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 8,
+ },
+ [10] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 5,
+ },
+ [11] = {
+ ["CLSID"] = "{SU30_RVVSD}",
+ ["num"] = 7,
+ },
+ [12] = {
+ ["CLSID"] = "{SU30_RVVSD}",
+ ["num"] = 6,
+ },
+ },
+ ["tasks"] = {
+ [1] = 31,
+ [2] = 32,
+ },
+ },
+ [9] = {
+ ["displayName"] = "Retribution DEAD",
+ ["name"] = "Retribution DEAD",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
+ ["num"] = 12,
+ },
+ [2] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
+ ["num"] = 1,
+ },
+ [3] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 11,
+ },
+ [4] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 2,
+ },
+ [5] = {
+ ["CLSID"] = "{SU30_KH31P}",
+ ["num"] = 8,
+ },
+ [6] = {
+ ["CLSID"] = "{SU30_KH31P}",
+ ["num"] = 5,
+ },
+ [7] = {
+ ["CLSID"] = "{SU30_KH31P}",
+ ["num"] = 10,
+ },
+ [8] = {
+ ["CLSID"] = "{SU30_KH31P}",
+ ["num"] = 9,
+ },
+ [9] = {
+ ["CLSID"] = "{SU30_KH31P}",
+ ["num"] = 4,
+ },
+ [10] = {
+ ["CLSID"] = "{SU30_KH31P}",
+ ["num"] = 3,
+ },
+ [11] = {
+ ["CLSID"] = "{SU30_RVVSD}",
+ ["num"] = 7,
+ },
+ [12] = {
+ ["CLSID"] = "{SU30_RVVSD}",
+ ["num"] = 6,
+ },
+ },
+ ["tasks"] = {
+ [1] = 29,
+ [2] = 32,
+ },
+ },
+ },
+ ["tasks"] = {
+ },
+ ["unitType"] = "Su-30MKA-AG",
+}
+return unitPayloads
diff --git a/resources/customized_payloads/Su-30MKA.lua b/resources/customized_payloads/Su-30MKA.lua
index c24e021a..1bc56150 100644
--- a/resources/customized_payloads/Su-30MKA.lua
+++ b/resources/customized_payloads/Su-30MKA.lua
@@ -2,8 +2,7 @@ local unitPayloads = {
["name"] = "Su-30MKA",
["payloads"] = {
[1] = {
- ["displayName"] = "Retribution BAI",
- ["name"] = "Retribution BAI",
+ ["name"] = "Retribution CAS",
["pylons"] = {
[1] = {
["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
@@ -46,11 +45,11 @@ local unitPayloads = {
["num"] = 5,
},
[11] = {
- ["CLSID"] = "{SU30_R77}",
+ ["CLSID"] = "{SU30_RVVSD}",
["num"] = 7,
},
[12] = {
- ["CLSID"] = "{SU30_R77}",
+ ["CLSID"] = "{SU30_RVVSD}",
["num"] = 6,
},
},
@@ -60,180 +59,6 @@ local unitPayloads = {
},
},
[2] = {
- ["displayName"] = "ANTISHIP",
- ["name"] = "ANTISHIP",
- ["pylons"] = {
- [1] = {
- ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
- ["num"] = 12,
- },
- [2] = {
- ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
- ["num"] = 1,
- },
- [3] = {
- ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
- ["num"] = 11,
- },
- [4] = {
- ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
- ["num"] = 2,
- },
- [5] = {
- ["CLSID"] = "{SU30_KH_31A}",
- ["num"] = 8,
- },
- [6] = {
- ["CLSID"] = "{SU30_KH_31A}",
- ["num"] = 5,
- },
- [7] = {
- ["CLSID"] = "{SU30_KH_35}",
- ["num"] = 10,
- },
- [8] = {
- ["CLSID"] = "{SU30_KH_35}",
- ["num"] = 9,
- },
- [9] = {
- ["CLSID"] = "{SU30_KH_35}",
- ["num"] = 4,
- },
- [10] = {
- ["CLSID"] = "{SU30_KH_35}",
- ["num"] = 3,
- },
- [11] = {
- ["CLSID"] = "{SU30_R77}",
- ["num"] = 6,
- },
- [12] = {
- ["CLSID"] = "{SU30_R77}",
- ["num"] = 7,
- },
- },
- ["tasks"] = {
- [1] = 30,
- },
- },
- [3] = {
- ["displayName"] = "Retribution SEAD",
- ["name"] = "Retribution SEAD",
- ["pylons"] = {
- [1] = {
- ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
- ["num"] = 12,
- },
- [2] = {
- ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
- ["num"] = 1,
- },
- [3] = {
- ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
- ["num"] = 11,
- },
- [4] = {
- ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
- ["num"] = 2,
- },
- [5] = {
- ["CLSID"] = "{SU30_KH31P}",
- ["num"] = 8,
- },
- [6] = {
- ["CLSID"] = "{SU30_KH31P}",
- ["num"] = 5,
- },
- [7] = {
- ["CLSID"] = "{SU30_KH31P}",
- ["num"] = 10,
- },
- [8] = {
- ["CLSID"] = "{SU30_KH31P}",
- ["num"] = 9,
- },
- [9] = {
- ["CLSID"] = "{SU30_KH31P}",
- ["num"] = 4,
- },
- [10] = {
- ["CLSID"] = "{SU30_KH31P}",
- ["num"] = 3,
- },
- [11] = {
- ["CLSID"] = "{SU30_R77}",
- ["num"] = 7,
- },
- [12] = {
- ["CLSID"] = "{SU30_R77}",
- ["num"] = 6,
- },
- },
- ["tasks"] = {
- [1] = 29,
- },
- },
- [4] = {
- ["displayName"] = "CAP",
- ["name"] = "CAP",
- ["pylons"] = {
- [1] = {
- ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
- ["num"] = 12,
- },
- [2] = {
- ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
- ["num"] = 1,
- },
- [3] = {
- ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
- ["num"] = 11,
- },
- [4] = {
- ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
- ["num"] = 2,
- },
- [5] = {
- ["CLSID"] = "{SU30_R77}",
- ["num"] = 10,
- },
- [6] = {
- ["CLSID"] = "{SU30_R27ET}",
- ["num"] = 9,
- },
- [7] = {
- ["CLSID"] = "{SU30_R27ER}",
- ["num"] = 8,
- },
- [8] = {
- ["CLSID"] = "{SU30_R77}",
- ["num"] = 7,
- },
- [9] = {
- ["CLSID"] = "{SU30_R77}",
- ["num"] = 6,
- },
- [10] = {
- ["CLSID"] = "{SU30_R27ER}",
- ["num"] = 5,
- },
- [11] = {
- ["CLSID"] = "{SU30_R27ET}",
- ["num"] = 4,
- },
- [12] = {
- ["CLSID"] = "{SU30_R77}",
- ["num"] = 3,
- },
- },
- ["tasks"] = {
- [1] = 18,
- [2] = 19,
- [3] = 10,
- [4] = 11,
- },
- },
- [5] = {
["displayName"] = "Retribution OCA/Runway",
["name"] = "Retribution OCA/Runway",
["pylons"] = {
@@ -290,65 +115,7 @@ local unitPayloads = {
[1] = 34,
},
},
- [6] = {
- ["displayName"] = "Retribution DEAD",
- ["name"] = "Retribution DEAD",
- ["pylons"] = {
- [1] = {
- ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
- ["num"] = 12,
- },
- [2] = {
- ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
- ["num"] = 1,
- },
- [3] = {
- ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
- ["num"] = 11,
- },
- [4] = {
- ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
- ["num"] = 2,
- },
- [5] = {
- ["CLSID"] = "{SU30_KH31P}",
- ["num"] = 8,
- },
- [6] = {
- ["CLSID"] = "{SU30_KH31P}",
- ["num"] = 5,
- },
- [7] = {
- ["CLSID"] = "{SU30_KH31P}",
- ["num"] = 10,
- },
- [8] = {
- ["CLSID"] = "{SU30_KH31P}",
- ["num"] = 9,
- },
- [9] = {
- ["CLSID"] = "{SU30_KH31P}",
- ["num"] = 4,
- },
- [10] = {
- ["CLSID"] = "{SU30_KH31P}",
- ["num"] = 3,
- },
- [11] = {
- ["CLSID"] = "{SU30_R77}",
- ["num"] = 7,
- },
- [12] = {
- ["CLSID"] = "{SU30_R77}",
- ["num"] = 6,
- },
- },
- ["tasks"] = {
- [1] = 29,
- [2] = 32,
- },
- },
- [7] = {
+ [3] = {
["displayName"] = "Retribution Strike",
["name"] = "Retribution Strike",
["pylons"] = {
@@ -369,11 +136,11 @@ local unitPayloads = {
["num"] = 2,
},
[5] = {
- ["CLSID"] = "{SU30_R77}",
+ ["CLSID"] = "{SU30_RVVSD}",
["num"] = 8,
},
[6] = {
- ["CLSID"] = "{SU30_R77}",
+ ["CLSID"] = "{SU30_RVVSD}",
["num"] = 5,
},
[7] = {
@@ -407,8 +174,9 @@ local unitPayloads = {
[3] = 31,
},
},
- [8] = {
- ["name"] = "Retribution CAS",
+ [4] = {
+ ["displayName"] = "CAP",
+ ["name"] = "CAP",
["pylons"] = {
[1] = {
["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
@@ -427,44 +195,103 @@ local unitPayloads = {
["num"] = 2,
},
[5] = {
- ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["CLSID"] = "{SU30_R27ET}",
["num"] = 10,
},
[6] = {
- ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
- ["num"] = 3,
- },
- [7] = {
- ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
- ["num"] = 4,
- },
- [8] = {
- ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["CLSID"] = "{SU30_RVVSD}",
["num"] = 9,
},
- [9] = {
- ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ [7] = {
+ ["CLSID"] = "{SU30_R27ER}",
["num"] = 8,
},
+ [8] = {
+ ["CLSID"] = "{SU30_RVVSD}",
+ ["num"] = 7,
+ },
+ [9] = {
+ ["CLSID"] = "{SU30_RVVSD}",
+ ["num"] = 6,
+ },
[10] = {
- ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["CLSID"] = "{SU30_R27ER}",
["num"] = 5,
},
[11] = {
- ["CLSID"] = "{SU30_R77}",
- ["num"] = 7,
+ ["CLSID"] = "{SU30_RVVSD}",
+ ["num"] = 4,
},
[12] = {
- ["CLSID"] = "{SU30_R77}",
- ["num"] = 6,
+ ["CLSID"] = "{SU30_R27ET}",
+ ["num"] = 3,
},
},
["tasks"] = {
- [1] = 31,
- [2] = 32,
+ [1] = 18,
+ [2] = 19,
+ [3] = 10,
+ [4] = 11,
},
},
- [9] = {
+ [5] = {
+ ["displayName"] = "ANTISHIP",
+ ["name"] = "ANTISHIP",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
+ ["num"] = 12,
+ },
+ [2] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
+ ["num"] = 1,
+ },
+ [3] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 11,
+ },
+ [4] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 2,
+ },
+ [5] = {
+ ["CLSID"] = "{SU30_KH_31A}",
+ ["num"] = 8,
+ },
+ [6] = {
+ ["CLSID"] = "{SU30_KH_31A}",
+ ["num"] = 5,
+ },
+ [7] = {
+ ["CLSID"] = "{SU30_RVVSD}",
+ ["num"] = 10,
+ },
+ [8] = {
+ ["CLSID"] = "{SU30_KH_31A}",
+ ["num"] = 9,
+ },
+ [9] = {
+ ["CLSID"] = "{SU30_KH_31A}",
+ ["num"] = 4,
+ },
+ [10] = {
+ ["CLSID"] = "{SU30_RVVSD}",
+ ["num"] = 3,
+ },
+ [11] = {
+ ["CLSID"] = "{SU30_RVVSD}",
+ ["num"] = 6,
+ },
+ [12] = {
+ ["CLSID"] = "{SU30_RVVSD}",
+ ["num"] = 7,
+ },
+ },
+ ["tasks"] = {
+ [1] = 30,
+ },
+ },
+ [6] = {
["displayName"] = "Retribution OCA/Aircraft",
["name"] = "Retribution OCA/Aircraft",
["pylons"] = {
@@ -522,6 +349,179 @@ local unitPayloads = {
[2] = 31,
},
},
+ [7] = {
+ ["displayName"] = "Retribution SEAD",
+ ["name"] = "Retribution SEAD",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
+ ["num"] = 12,
+ },
+ [2] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
+ ["num"] = 1,
+ },
+ [3] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 11,
+ },
+ [4] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 2,
+ },
+ [5] = {
+ ["CLSID"] = "{SU30_KH31P}",
+ ["num"] = 8,
+ },
+ [6] = {
+ ["CLSID"] = "{SU30_KH31P}",
+ ["num"] = 5,
+ },
+ [7] = {
+ ["CLSID"] = "{SU30_KH31P}",
+ ["num"] = 10,
+ },
+ [8] = {
+ ["CLSID"] = "{SU30_KH31P}",
+ ["num"] = 9,
+ },
+ [9] = {
+ ["CLSID"] = "{SU30_KH31P}",
+ ["num"] = 4,
+ },
+ [10] = {
+ ["CLSID"] = "{SU30_KH31P}",
+ ["num"] = 3,
+ },
+ [11] = {
+ ["CLSID"] = "{SU30_RVVSD}",
+ ["num"] = 7,
+ },
+ [12] = {
+ ["CLSID"] = "{SU30_RVVSD}",
+ ["num"] = 6,
+ },
+ },
+ ["tasks"] = {
+ [1] = 29,
+ },
+ },
+ [8] = {
+ ["displayName"] = "Retribution BAI",
+ ["name"] = "Retribution BAI",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
+ ["num"] = 12,
+ },
+ [2] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
+ ["num"] = 1,
+ },
+ [3] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 11,
+ },
+ [4] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 2,
+ },
+ [5] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 10,
+ },
+ [6] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 3,
+ },
+ [7] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 4,
+ },
+ [8] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 9,
+ },
+ [9] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 8,
+ },
+ [10] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 5,
+ },
+ [11] = {
+ ["CLSID"] = "{SU30_RVVSD}",
+ ["num"] = 7,
+ },
+ [12] = {
+ ["CLSID"] = "{SU30_RVVSD}",
+ ["num"] = 6,
+ },
+ },
+ ["tasks"] = {
+ [1] = 31,
+ [2] = 32,
+ },
+ },
+ [9] = {
+ ["displayName"] = "Retribution DEAD",
+ ["name"] = "Retribution DEAD",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
+ ["num"] = 12,
+ },
+ [2] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
+ ["num"] = 1,
+ },
+ [3] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 11,
+ },
+ [4] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 2,
+ },
+ [5] = {
+ ["CLSID"] = "{SU30_KH31P}",
+ ["num"] = 8,
+ },
+ [6] = {
+ ["CLSID"] = "{SU30_KH31P}",
+ ["num"] = 5,
+ },
+ [7] = {
+ ["CLSID"] = "{SU30_KH31P}",
+ ["num"] = 10,
+ },
+ [8] = {
+ ["CLSID"] = "{SU30_KH31P}",
+ ["num"] = 9,
+ },
+ [9] = {
+ ["CLSID"] = "{SU30_KH31P}",
+ ["num"] = 4,
+ },
+ [10] = {
+ ["CLSID"] = "{SU30_KH31P}",
+ ["num"] = 3,
+ },
+ [11] = {
+ ["CLSID"] = "{SU30_RVVSD}",
+ ["num"] = 7,
+ },
+ [12] = {
+ ["CLSID"] = "{SU30_RVVSD}",
+ ["num"] = 6,
+ },
+ },
+ ["tasks"] = {
+ [1] = 29,
+ [2] = 32,
+ },
+ },
},
["tasks"] = {
},
diff --git a/resources/customized_payloads/Su-30MKI-AG.lua b/resources/customized_payloads/Su-30MKI-AG.lua
new file mode 100644
index 00000000..9c5e763b
--- /dev/null
+++ b/resources/customized_payloads/Su-30MKI-AG.lua
@@ -0,0 +1,529 @@
+local unitPayloads = {
+ ["name"] = "Su-30MKI-AG",
+ ["payloads"] = {
+ [1] = {
+ ["displayName"] = "Retribution Strike",
+ ["name"] = "Retribution Strike",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
+ ["num"] = 12,
+ },
+ [2] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
+ ["num"] = 1,
+ },
+ [3] = {
+ ["CLSID"] = "{Su30_ASTRA}",
+ ["num"] = 11,
+ },
+ [4] = {
+ ["CLSID"] = "{Su30_ASTRA}",
+ ["num"] = 2,
+ },
+ [5] = {
+ ["CLSID"] = "{E2C426E3-8B10-4E09-B733-9CDC26520F48}",
+ ["num"] = 8,
+ },
+ [6] = {
+ ["CLSID"] = "{E2C426E3-8B10-4E09-B733-9CDC26520F48}",
+ ["num"] = 5,
+ },
+ [7] = {
+ ["CLSID"] = "{E2C426E3-8B10-4E09-B733-9CDC26520F48}",
+ ["num"] = 10,
+ },
+ [8] = {
+ ["CLSID"] = "{E2C426E3-8B10-4E09-B733-9CDC26520F48}",
+ ["num"] = 3,
+ },
+ [9] = {
+ ["CLSID"] = "{E2C426E3-8B10-4E09-B733-9CDC26520F48}",
+ ["num"] = 9,
+ },
+ [10] = {
+ ["CLSID"] = "{E2C426E3-8B10-4E09-B733-9CDC26520F48}",
+ ["num"] = 4,
+ },
+ [11] = {
+ ["CLSID"] = "{Su30_DERBY_ER}",
+ ["num"] = 7,
+ },
+ [12] = {
+ ["CLSID"] = "{Su30_DERBY_ER}",
+ ["num"] = 6,
+ },
+ },
+ ["tasks"] = {
+ [1] = 33,
+ [2] = 32,
+ [3] = 31,
+ },
+ },
+ [2] = {
+ ["displayName"] = "CAP",
+ ["name"] = "CAP",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
+ ["num"] = 12,
+ },
+ [2] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
+ ["num"] = 1,
+ },
+ [3] = {
+ ["CLSID"] = "{Su30_ASTRA}",
+ ["num"] = 11,
+ },
+ [4] = {
+ ["CLSID"] = "{Su30_ASTRA}",
+ ["num"] = 2,
+ },
+ [5] = {
+ ["CLSID"] = "{Su30_ASTRA}",
+ ["num"] = 10,
+ },
+ [6] = {
+ ["CLSID"] = "{SU30_R27ET}",
+ ["num"] = 9,
+ },
+ [7] = {
+ ["CLSID"] = "{SU30_R27ER}",
+ ["num"] = 8,
+ },
+ [8] = {
+ ["CLSID"] = "{Su30_DERBY_ER}",
+ ["num"] = 7,
+ },
+ [9] = {
+ ["CLSID"] = "{Su30_DERBY_ER}",
+ ["num"] = 6,
+ },
+ [10] = {
+ ["CLSID"] = "{SU30_R27ER}",
+ ["num"] = 5,
+ },
+ [11] = {
+ ["CLSID"] = "{SU30_R27ET}",
+ ["num"] = 4,
+ },
+ [12] = {
+ ["CLSID"] = "{Su30_ASTRA}",
+ ["num"] = 3,
+ },
+ },
+ ["tasks"] = {
+ [1] = 18,
+ [2] = 19,
+ [3] = 10,
+ [4] = 11,
+ },
+ },
+ [3] = {
+ ["displayName"] = "Retribution BAI",
+ ["name"] = "Retribution BAI",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
+ ["num"] = 12,
+ },
+ [2] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
+ ["num"] = 1,
+ },
+ [3] = {
+ ["CLSID"] = "{Su30_ASTRA}",
+ ["num"] = 11,
+ },
+ [4] = {
+ ["CLSID"] = "{Su30_ASTRA}",
+ ["num"] = 2,
+ },
+ [5] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 10,
+ },
+ [6] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 3,
+ },
+ [7] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 4,
+ },
+ [8] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 9,
+ },
+ [9] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 8,
+ },
+ [10] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 5,
+ },
+ [11] = {
+ ["CLSID"] = "{Su30_DERBY_ER}",
+ ["num"] = 7,
+ },
+ [12] = {
+ ["CLSID"] = "{Su30_DERBY_ER}",
+ ["num"] = 6,
+ },
+ },
+ ["tasks"] = {
+ [1] = 31,
+ [2] = 32,
+ },
+ },
+ [4] = {
+ ["displayName"] = "ANTISHIP",
+ ["name"] = "ANTISHIP",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
+ ["num"] = 12,
+ },
+ [2] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
+ ["num"] = 1,
+ },
+ [3] = {
+ ["CLSID"] = "{Su30_ASTRA}",
+ ["num"] = 11,
+ },
+ [4] = {
+ ["CLSID"] = "{Su30_ASTRA}",
+ ["num"] = 2,
+ },
+ [5] = {
+ ["CLSID"] = "{Su30_DERBY_ER}",
+ ["num"] = 5,
+ },
+ [6] = {
+ ["CLSID"] = "{Su30_DERBY_ER}",
+ ["num"] = 10,
+ },
+ [7] = {
+ ["CLSID"] = "{SU30_KH_31A}",
+ ["num"] = 9,
+ },
+ [8] = {
+ ["CLSID"] = "{SU30_KH_31A}",
+ ["num"] = 4,
+ },
+ [9] = {
+ ["CLSID"] = "{Su30_DERBY_ER}",
+ ["num"] = 3,
+ },
+ [10] = {
+ ["CLSID"] = "{BRAHMOS_S}",
+ ["num"] = 6,
+ },
+ [11] = {
+ ["CLSID"] = "",
+ ["num"] = 7,
+ },
+ [12] = {
+ ["CLSID"] = "{Su30_DERBY_ER}",
+ ["num"] = 8,
+ },
+ },
+ ["tasks"] = {
+ [1] = 30,
+ },
+ },
+ [5] = {
+ ["name"] = "Retribution CAS",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
+ ["num"] = 12,
+ },
+ [2] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
+ ["num"] = 1,
+ },
+ [3] = {
+ ["CLSID"] = "{Su30_ASTRA}",
+ ["num"] = 11,
+ },
+ [4] = {
+ ["CLSID"] = "{Su30_ASTRA}",
+ ["num"] = 2,
+ },
+ [5] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 10,
+ },
+ [6] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 3,
+ },
+ [7] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 4,
+ },
+ [8] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 9,
+ },
+ [9] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 8,
+ },
+ [10] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 5,
+ },
+ [11] = {
+ ["CLSID"] = "{Su30_DERBY_ER}",
+ ["num"] = 7,
+ },
+ [12] = {
+ ["CLSID"] = "{Su30_DERBY_ER}",
+ ["num"] = 6,
+ },
+ },
+ ["tasks"] = {
+ [1] = 31,
+ [2] = 32,
+ },
+ },
+ [6] = {
+ ["displayName"] = "Retribution SEAD",
+ ["name"] = "Retribution SEAD",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
+ ["num"] = 12,
+ },
+ [2] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
+ ["num"] = 1,
+ },
+ [3] = {
+ ["CLSID"] = "{Su30_ASTRA}",
+ ["num"] = 11,
+ },
+ [4] = {
+ ["CLSID"] = "{Su30_ASTRA}",
+ ["num"] = 2,
+ },
+ [5] = {
+ ["CLSID"] = "{SU30_RudraM1}",
+ ["num"] = 8,
+ },
+ [6] = {
+ ["CLSID"] = "{SU30_RudraM1}",
+ ["num"] = 5,
+ },
+ [7] = {
+ ["CLSID"] = "{SU30_RudraM1}",
+ ["num"] = 10,
+ },
+ [8] = {
+ ["CLSID"] = "{SU30_RudraM1}",
+ ["num"] = 9,
+ },
+ [9] = {
+ ["CLSID"] = "{SU30_RudraM1}",
+ ["num"] = 4,
+ },
+ [10] = {
+ ["CLSID"] = "{SU30_RudraM1}",
+ ["num"] = 3,
+ },
+ [11] = {
+ ["CLSID"] = "{Su30_DERBY_ER}",
+ ["num"] = 7,
+ },
+ [12] = {
+ ["CLSID"] = "{Su30_DERBY_ER}",
+ ["num"] = 6,
+ },
+ },
+ ["tasks"] = {
+ [1] = 29,
+ },
+ },
+ [7] = {
+ ["displayName"] = "Retribution OCA/Aircraft",
+ ["name"] = "Retribution OCA/Aircraft",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
+ ["num"] = 12,
+ },
+ [2] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
+ ["num"] = 1,
+ },
+ [3] = {
+ ["CLSID"] = "{Su30_ASTRA}",
+ ["num"] = 11,
+ },
+ [4] = {
+ ["CLSID"] = "{Su30_ASTRA}",
+ ["num"] = 2,
+ },
+ [5] = {
+ ["CLSID"] = "{SU30_R27ER}",
+ ["num"] = 8,
+ },
+ [6] = {
+ ["CLSID"] = "{SU30_R27ER}",
+ ["num"] = 5,
+ },
+ [7] = {
+ ["CLSID"] = "{96A7F676-F956-404A-AD04-F33FB2C74884}",
+ ["num"] = 10,
+ },
+ [8] = {
+ ["CLSID"] = "{96A7F676-F956-404A-AD04-F33FB2C74881}",
+ ["num"] = 9,
+ },
+ [9] = {
+ ["CLSID"] = "{96A7F676-F956-404A-AD04-F33FB2C74881}",
+ ["num"] = 4,
+ },
+ [10] = {
+ ["CLSID"] = "{96A7F676-F956-404A-AD04-F33FB2C74884}",
+ ["num"] = 3,
+ },
+ [11] = {
+ ["CLSID"] = "{53BE25A4-C86C-4571-9BC0-47D668349595}",
+ ["num"] = 7,
+ },
+ [12] = {
+ ["CLSID"] = "{53BE25A4-C86C-4571-9BC0-47D668349595}",
+ ["num"] = 6,
+ },
+ },
+ ["tasks"] = {
+ [1] = 32,
+ [2] = 31,
+ },
+ },
+ [8] = {
+ ["displayName"] = "Retribution OCA/Runway",
+ ["name"] = "Retribution OCA/Runway",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
+ ["num"] = 12,
+ },
+ [2] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
+ ["num"] = 1,
+ },
+ [3] = {
+ ["CLSID"] = "{Su30_ASTRA}",
+ ["num"] = 11,
+ },
+ [4] = {
+ ["CLSID"] = "{Su30_ASTRA}",
+ ["num"] = 2,
+ },
+ [5] = {
+ ["CLSID"] = "{SU30_R27ER}",
+ ["num"] = 8,
+ },
+ [6] = {
+ ["CLSID"] = "{SU30_R27ER}",
+ ["num"] = 5,
+ },
+ [7] = {
+ ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
+ ["num"] = 10,
+ },
+ [8] = {
+ ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
+ ["num"] = 9,
+ },
+ [9] = {
+ ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
+ ["num"] = 4,
+ },
+ [10] = {
+ ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
+ ["num"] = 3,
+ },
+ [11] = {
+ ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
+ ["num"] = 7,
+ },
+ [12] = {
+ ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
+ ["num"] = 6,
+ },
+ },
+ ["tasks"] = {
+ [1] = 34,
+ },
+ },
+ [9] = {
+ ["displayName"] = "Retribution DEAD",
+ ["name"] = "Retribution DEAD",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
+ ["num"] = 12,
+ },
+ [2] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
+ ["num"] = 1,
+ },
+ [3] = {
+ ["CLSID"] = "{Su30_ASTRA}",
+ ["num"] = 11,
+ },
+ [4] = {
+ ["CLSID"] = "{Su30_ASTRA}",
+ ["num"] = 2,
+ },
+ [5] = {
+ ["CLSID"] = "{SU30_RudraM1}",
+ ["num"] = 8,
+ },
+ [6] = {
+ ["CLSID"] = "{SU30_RudraM1}",
+ ["num"] = 5,
+ },
+ [7] = {
+ ["CLSID"] = "{SU30_SAAW}",
+ ["num"] = 10,
+ },
+ [8] = {
+ ["CLSID"] = "{SU30_RudraM1}",
+ ["num"] = 9,
+ },
+ [9] = {
+ ["CLSID"] = "{SU30_RudraM1}",
+ ["num"] = 4,
+ },
+ [10] = {
+ ["CLSID"] = "{SU30_SAAW}",
+ ["num"] = 3,
+ },
+ [11] = {
+ ["CLSID"] = "{Su30_DERBY_ER}",
+ ["num"] = 7,
+ },
+ [12] = {
+ ["CLSID"] = "{Su30_DERBY_ER}",
+ ["num"] = 6,
+ },
+ },
+ ["tasks"] = {
+ [1] = 29,
+ },
+ },
+ },
+ ["tasks"] = {
+ },
+ ["unitType"] = "Su-30MKI-AG",
+}
+return unitPayloads
diff --git a/resources/customized_payloads/Su-30MKI.lua b/resources/customized_payloads/Su-30MKI.lua
index 46f3c28d..9703f724 100644
--- a/resources/customized_payloads/Su-30MKI.lua
+++ b/resources/customized_payloads/Su-30MKI.lua
@@ -2,353 +2,6 @@ local unitPayloads = {
["name"] = "Su-30MKI",
["payloads"] = {
[1] = {
- ["displayName"] = "CAP",
- ["name"] = "CAP",
- ["pylons"] = {
- [1] = {
- ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
- ["num"] = 12,
- },
- [2] = {
- ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
- ["num"] = 1,
- },
- [3] = {
- ["CLSID"] = "{Su30_ASTRA}",
- ["num"] = 11,
- },
- [4] = {
- ["CLSID"] = "{Su30_ASTRA}",
- ["num"] = 2,
- },
- [5] = {
- ["CLSID"] = "{Su30_ASTRA}",
- ["num"] = 10,
- },
- [6] = {
- ["CLSID"] = "{SU30_R27ET}",
- ["num"] = 9,
- },
- [7] = {
- ["CLSID"] = "{SU30_R27EA}",
- ["num"] = 8,
- },
- [8] = {
- ["CLSID"] = "{Su30_DERBY_ER}",
- ["num"] = 7,
- },
- [9] = {
- ["CLSID"] = "{Su30_DERBY_ER}",
- ["num"] = 6,
- },
- [10] = {
- ["CLSID"] = "{SU30_R27EA}",
- ["num"] = 5,
- },
- [11] = {
- ["CLSID"] = "{SU30_R27ET}",
- ["num"] = 4,
- },
- [12] = {
- ["CLSID"] = "{Su30_ASTRA}",
- ["num"] = 3,
- },
- },
- ["tasks"] = {
- [1] = 18,
- [2] = 19,
- [3] = 10,
- [4] = 11,
- },
- },
- [2] = {
- ["displayName"] = "Retribution BAI",
- ["name"] = "Retribution BAI",
- ["pylons"] = {
- [1] = {
- ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
- ["num"] = 12,
- },
- [2] = {
- ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
- ["num"] = 1,
- },
- [3] = {
- ["CLSID"] = "{Su30_ASTRA}",
- ["num"] = 11,
- },
- [4] = {
- ["CLSID"] = "{Su30_ASTRA}",
- ["num"] = 2,
- },
- [5] = {
- ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
- ["num"] = 10,
- },
- [6] = {
- ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
- ["num"] = 3,
- },
- [7] = {
- ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
- ["num"] = 4,
- },
- [8] = {
- ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
- ["num"] = 9,
- },
- [9] = {
- ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
- ["num"] = 8,
- },
- [10] = {
- ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
- ["num"] = 5,
- },
- [11] = {
- ["CLSID"] = "{Su30_DERBY_ER}",
- ["num"] = 7,
- },
- [12] = {
- ["CLSID"] = "{Su30_DERBY_ER}",
- ["num"] = 6,
- },
- },
- ["tasks"] = {
- [1] = 31,
- [2] = 32,
- },
- },
- [3] = {
- ["displayName"] = "Retribution OCA/Runway",
- ["name"] = "Retribution OCA/Runway",
- ["pylons"] = {
- [1] = {
- ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
- ["num"] = 12,
- },
- [2] = {
- ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
- ["num"] = 1,
- },
- [3] = {
- ["CLSID"] = "{Su30_ASTRA}",
- ["num"] = 11,
- },
- [4] = {
- ["CLSID"] = "{Su30_ASTRA}",
- ["num"] = 2,
- },
- [5] = {
- ["CLSID"] = "{SU30_R27ER}",
- ["num"] = 8,
- },
- [6] = {
- ["CLSID"] = "{SU30_R27ER}",
- ["num"] = 5,
- },
- [7] = {
- ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
- ["num"] = 10,
- },
- [8] = {
- ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
- ["num"] = 9,
- },
- [9] = {
- ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
- ["num"] = 4,
- },
- [10] = {
- ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
- ["num"] = 3,
- },
- [11] = {
- ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
- ["num"] = 7,
- },
- [12] = {
- ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
- ["num"] = 6,
- },
- },
- ["tasks"] = {
- [1] = 34,
- },
- },
- [4] = {
- ["displayName"] = "ANTISHIP",
- ["name"] = "ANTISHIP",
- ["pylons"] = {
- [1] = {
- ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
- ["num"] = 12,
- },
- [2] = {
- ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
- ["num"] = 1,
- },
- [3] = {
- ["CLSID"] = "{Su30_ASTRA}",
- ["num"] = 11,
- },
- [4] = {
- ["CLSID"] = "{Su30_ASTRA}",
- ["num"] = 2,
- },
- [5] = {
- ["CLSID"] = "{Su30_DERBY_ER}",
- ["num"] = 5,
- },
- [6] = {
- ["CLSID"] = "{Su30_DERBY_ER}",
- ["num"] = 10,
- },
- [7] = {
- ["CLSID"] = "{SU30_KH_35}",
- ["num"] = 9,
- },
- [8] = {
- ["CLSID"] = "{SU30_KH_35}",
- ["num"] = 4,
- },
- [9] = {
- ["CLSID"] = "{Su30_DERBY_ER}",
- ["num"] = 3,
- },
- [10] = {
- ["CLSID"] = "{BRAHMOS_S}",
- ["num"] = 6,
- },
- [11] = {
- ["CLSID"] = "",
- ["num"] = 7,
- },
- [12] = {
- ["CLSID"] = "{Su30_DERBY_ER}",
- ["num"] = 8,
- },
- },
- ["tasks"] = {
- [1] = 30,
- },
- },
- [5] = {
- ["displayName"] = "Retribution OCA/Aircraft",
- ["name"] = "Retribution OCA/Aircraft",
- ["pylons"] = {
- [1] = {
- ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
- ["num"] = 12,
- },
- [2] = {
- ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
- ["num"] = 1,
- },
- [3] = {
- ["CLSID"] = "{Su30_ASTRA}",
- ["num"] = 11,
- },
- [4] = {
- ["CLSID"] = "{Su30_ASTRA}",
- ["num"] = 2,
- },
- [5] = {
- ["CLSID"] = "{SU30_R27ER}",
- ["num"] = 8,
- },
- [6] = {
- ["CLSID"] = "{SU30_R27ER}",
- ["num"] = 5,
- },
- [7] = {
- ["CLSID"] = "{96A7F676-F956-404A-AD04-F33FB2C74884}",
- ["num"] = 10,
- },
- [8] = {
- ["CLSID"] = "{96A7F676-F956-404A-AD04-F33FB2C74881}",
- ["num"] = 9,
- },
- [9] = {
- ["CLSID"] = "{96A7F676-F956-404A-AD04-F33FB2C74881}",
- ["num"] = 4,
- },
- [10] = {
- ["CLSID"] = "{96A7F676-F956-404A-AD04-F33FB2C74884}",
- ["num"] = 3,
- },
- [11] = {
- ["CLSID"] = "{53BE25A4-C86C-4571-9BC0-47D668349595}",
- ["num"] = 7,
- },
- [12] = {
- ["CLSID"] = "{53BE25A4-C86C-4571-9BC0-47D668349595}",
- ["num"] = 6,
- },
- },
- ["tasks"] = {
- [1] = 32,
- [2] = 31,
- },
- },
- [6] = {
- ["displayName"] = "Retribution DEAD",
- ["name"] = "Retribution DEAD",
- ["pylons"] = {
- [1] = {
- ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
- ["num"] = 12,
- },
- [2] = {
- ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
- ["num"] = 1,
- },
- [3] = {
- ["CLSID"] = "{Su30_ASTRA}",
- ["num"] = 11,
- },
- [4] = {
- ["CLSID"] = "{Su30_ASTRA}",
- ["num"] = 2,
- },
- [5] = {
- ["CLSID"] = "{SU30_RudraM1}",
- ["num"] = 8,
- },
- [6] = {
- ["CLSID"] = "{SU30_RudraM1}",
- ["num"] = 5,
- },
- [7] = {
- ["CLSID"] = "{SU30_RudraM1}",
- ["num"] = 10,
- },
- [8] = {
- ["CLSID"] = "{SU30_RudraM1}",
- ["num"] = 9,
- },
- [9] = {
- ["CLSID"] = "{SU30_RudraM1}",
- ["num"] = 4,
- },
- [10] = {
- ["CLSID"] = "{SU30_RudraM1}",
- ["num"] = 3,
- },
- [11] = {
- ["CLSID"] = "{Su30_DERBY_ER}",
- ["num"] = 7,
- },
- [12] = {
- ["CLSID"] = "{Su30_DERBY_ER}",
- ["num"] = 6,
- },
- },
- ["tasks"] = {
- [1] = 29,
- },
- },
- [7] = {
["displayName"] = "Retribution Strike",
["name"] = "Retribution Strike",
["pylons"] = {
@@ -407,7 +60,182 @@ local unitPayloads = {
[3] = 31,
},
},
- [8] = {
+ [2] = {
+ ["displayName"] = "CAP",
+ ["name"] = "CAP",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
+ ["num"] = 12,
+ },
+ [2] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
+ ["num"] = 1,
+ },
+ [3] = {
+ ["CLSID"] = "{Su30_ASTRA}",
+ ["num"] = 11,
+ },
+ [4] = {
+ ["CLSID"] = "{Su30_ASTRA}",
+ ["num"] = 2,
+ },
+ [5] = {
+ ["CLSID"] = "{Su30_ASTRA}",
+ ["num"] = 10,
+ },
+ [6] = {
+ ["CLSID"] = "{SU30_R27ET}",
+ ["num"] = 9,
+ },
+ [7] = {
+ ["CLSID"] = "{SU30_R27ER}",
+ ["num"] = 8,
+ },
+ [8] = {
+ ["CLSID"] = "{Su30_DERBY_ER}",
+ ["num"] = 7,
+ },
+ [9] = {
+ ["CLSID"] = "{Su30_DERBY_ER}",
+ ["num"] = 6,
+ },
+ [10] = {
+ ["CLSID"] = "{SU30_R27ER}",
+ ["num"] = 5,
+ },
+ [11] = {
+ ["CLSID"] = "{SU30_R27ET}",
+ ["num"] = 4,
+ },
+ [12] = {
+ ["CLSID"] = "{Su30_ASTRA}",
+ ["num"] = 3,
+ },
+ },
+ ["tasks"] = {
+ [1] = 18,
+ [2] = 19,
+ [3] = 10,
+ [4] = 11,
+ },
+ },
+ [3] = {
+ ["displayName"] = "Retribution BAI",
+ ["name"] = "Retribution BAI",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
+ ["num"] = 12,
+ },
+ [2] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
+ ["num"] = 1,
+ },
+ [3] = {
+ ["CLSID"] = "{Su30_ASTRA}",
+ ["num"] = 11,
+ },
+ [4] = {
+ ["CLSID"] = "{Su30_ASTRA}",
+ ["num"] = 2,
+ },
+ [5] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 10,
+ },
+ [6] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 3,
+ },
+ [7] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 4,
+ },
+ [8] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 9,
+ },
+ [9] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 8,
+ },
+ [10] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 5,
+ },
+ [11] = {
+ ["CLSID"] = "{Su30_DERBY_ER}",
+ ["num"] = 7,
+ },
+ [12] = {
+ ["CLSID"] = "{Su30_DERBY_ER}",
+ ["num"] = 6,
+ },
+ },
+ ["tasks"] = {
+ [1] = 31,
+ [2] = 32,
+ },
+ },
+ [4] = {
+ ["displayName"] = "ANTISHIP",
+ ["name"] = "ANTISHIP",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
+ ["num"] = 12,
+ },
+ [2] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
+ ["num"] = 1,
+ },
+ [3] = {
+ ["CLSID"] = "{Su30_ASTRA}",
+ ["num"] = 11,
+ },
+ [4] = {
+ ["CLSID"] = "{Su30_ASTRA}",
+ ["num"] = 2,
+ },
+ [5] = {
+ ["CLSID"] = "{Su30_DERBY_ER}",
+ ["num"] = 5,
+ },
+ [6] = {
+ ["CLSID"] = "{Su30_DERBY_ER}",
+ ["num"] = 10,
+ },
+ [7] = {
+ ["CLSID"] = "{SU30_KH_31A}",
+ ["num"] = 9,
+ },
+ [8] = {
+ ["CLSID"] = "{SU30_KH_31A}",
+ ["num"] = 4,
+ },
+ [9] = {
+ ["CLSID"] = "{Su30_DERBY_ER}",
+ ["num"] = 3,
+ },
+ [10] = {
+ ["CLSID"] = "{BRAHMOS_S}",
+ ["num"] = 6,
+ },
+ [11] = {
+ ["CLSID"] = "",
+ ["num"] = 7,
+ },
+ [12] = {
+ ["CLSID"] = "{Su30_DERBY_ER}",
+ ["num"] = 8,
+ },
+ },
+ ["tasks"] = {
+ [1] = 30,
+ },
+ },
+ [5] = {
["name"] = "Retribution CAS",
["pylons"] = {
[1] = {
@@ -464,7 +292,7 @@ local unitPayloads = {
[2] = 32,
},
},
- [9] = {
+ [6] = {
["displayName"] = "Retribution SEAD",
["name"] = "Retribution SEAD",
["pylons"] = {
@@ -521,6 +349,178 @@ local unitPayloads = {
[1] = 29,
},
},
+ [7] = {
+ ["displayName"] = "Retribution OCA/Aircraft",
+ ["name"] = "Retribution OCA/Aircraft",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
+ ["num"] = 12,
+ },
+ [2] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
+ ["num"] = 1,
+ },
+ [3] = {
+ ["CLSID"] = "{Su30_ASTRA}",
+ ["num"] = 11,
+ },
+ [4] = {
+ ["CLSID"] = "{Su30_ASTRA}",
+ ["num"] = 2,
+ },
+ [5] = {
+ ["CLSID"] = "{SU30_R27ER}",
+ ["num"] = 8,
+ },
+ [6] = {
+ ["CLSID"] = "{SU30_R27ER}",
+ ["num"] = 5,
+ },
+ [7] = {
+ ["CLSID"] = "{96A7F676-F956-404A-AD04-F33FB2C74884}",
+ ["num"] = 10,
+ },
+ [8] = {
+ ["CLSID"] = "{96A7F676-F956-404A-AD04-F33FB2C74881}",
+ ["num"] = 9,
+ },
+ [9] = {
+ ["CLSID"] = "{96A7F676-F956-404A-AD04-F33FB2C74881}",
+ ["num"] = 4,
+ },
+ [10] = {
+ ["CLSID"] = "{96A7F676-F956-404A-AD04-F33FB2C74884}",
+ ["num"] = 3,
+ },
+ [11] = {
+ ["CLSID"] = "{53BE25A4-C86C-4571-9BC0-47D668349595}",
+ ["num"] = 7,
+ },
+ [12] = {
+ ["CLSID"] = "{53BE25A4-C86C-4571-9BC0-47D668349595}",
+ ["num"] = 6,
+ },
+ },
+ ["tasks"] = {
+ [1] = 32,
+ [2] = 31,
+ },
+ },
+ [8] = {
+ ["displayName"] = "Retribution OCA/Runway",
+ ["name"] = "Retribution OCA/Runway",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
+ ["num"] = 12,
+ },
+ [2] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
+ ["num"] = 1,
+ },
+ [3] = {
+ ["CLSID"] = "{Su30_ASTRA}",
+ ["num"] = 11,
+ },
+ [4] = {
+ ["CLSID"] = "{Su30_ASTRA}",
+ ["num"] = 2,
+ },
+ [5] = {
+ ["CLSID"] = "{SU30_R27ER}",
+ ["num"] = 8,
+ },
+ [6] = {
+ ["CLSID"] = "{SU30_R27ER}",
+ ["num"] = 5,
+ },
+ [7] = {
+ ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
+ ["num"] = 10,
+ },
+ [8] = {
+ ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
+ ["num"] = 9,
+ },
+ [9] = {
+ ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
+ ["num"] = 4,
+ },
+ [10] = {
+ ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
+ ["num"] = 3,
+ },
+ [11] = {
+ ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
+ ["num"] = 7,
+ },
+ [12] = {
+ ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
+ ["num"] = 6,
+ },
+ },
+ ["tasks"] = {
+ [1] = 34,
+ },
+ },
+ [9] = {
+ ["displayName"] = "Retribution DEAD",
+ ["name"] = "Retribution DEAD",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
+ ["num"] = 12,
+ },
+ [2] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
+ ["num"] = 1,
+ },
+ [3] = {
+ ["CLSID"] = "{Su30_ASTRA}",
+ ["num"] = 11,
+ },
+ [4] = {
+ ["CLSID"] = "{Su30_ASTRA}",
+ ["num"] = 2,
+ },
+ [5] = {
+ ["CLSID"] = "{SU30_RudraM1}",
+ ["num"] = 8,
+ },
+ [6] = {
+ ["CLSID"] = "{SU30_RudraM1}",
+ ["num"] = 5,
+ },
+ [7] = {
+ ["CLSID"] = "{SU30_SAAW}",
+ ["num"] = 10,
+ },
+ [8] = {
+ ["CLSID"] = "{SU30_RudraM1}",
+ ["num"] = 9,
+ },
+ [9] = {
+ ["CLSID"] = "{SU30_RudraM1}",
+ ["num"] = 4,
+ },
+ [10] = {
+ ["CLSID"] = "{SU30_SAAW}",
+ ["num"] = 3,
+ },
+ [11] = {
+ ["CLSID"] = "{Su30_DERBY_ER}",
+ ["num"] = 7,
+ },
+ [12] = {
+ ["CLSID"] = "{Su30_DERBY_ER}",
+ ["num"] = 6,
+ },
+ },
+ ["tasks"] = {
+ [1] = 29,
+ },
+ },
},
["tasks"] = {
},
diff --git a/resources/customized_payloads/Su-30MKM-AG.lua b/resources/customized_payloads/Su-30MKM-AG.lua
new file mode 100644
index 00000000..b978378f
--- /dev/null
+++ b/resources/customized_payloads/Su-30MKM-AG.lua
@@ -0,0 +1,530 @@
+local unitPayloads = {
+ ["name"] = "Su-30MKM-AG",
+ ["payloads"] = {
+ [1] = {
+ ["displayName"] = "Retribution Strike",
+ ["name"] = "Retribution Strike",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
+ ["num"] = 12,
+ },
+ [2] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
+ ["num"] = 1,
+ },
+ [3] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 11,
+ },
+ [4] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 2,
+ },
+ [5] = {
+ ["CLSID"] = "{SU30_RVVSD}",
+ ["num"] = 8,
+ },
+ [6] = {
+ ["CLSID"] = "{SU30_RVVSD}",
+ ["num"] = 5,
+ },
+ [7] = {
+ ["CLSID"] = "{E2C426E3-8B10-4E09-B733-9CDC26520F48}",
+ ["num"] = 10,
+ },
+ [8] = {
+ ["CLSID"] = "{E2C426E3-8B10-4E09-B733-9CDC26520F48}",
+ ["num"] = 3,
+ },
+ [9] = {
+ ["CLSID"] = "{E2C426E3-8B10-4E09-B733-9CDC26520F48}",
+ ["num"] = 9,
+ },
+ [10] = {
+ ["CLSID"] = "{E2C426E3-8B10-4E09-B733-9CDC26520F48}",
+ ["num"] = 4,
+ },
+ [11] = {
+ ["CLSID"] = "{E2C426E3-8B10-4E09-B733-9CDC26520F48}",
+ ["num"] = 7,
+ },
+ [12] = {
+ ["CLSID"] = "{E2C426E3-8B10-4E09-B733-9CDC26520F48}",
+ ["num"] = 6,
+ },
+ },
+ ["tasks"] = {
+ [1] = 33,
+ [2] = 32,
+ [3] = 31,
+ },
+ },
+ [2] = {
+ ["displayName"] = "Retribution BAI",
+ ["name"] = "Retribution BAI",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
+ ["num"] = 12,
+ },
+ [2] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
+ ["num"] = 1,
+ },
+ [3] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 11,
+ },
+ [4] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 2,
+ },
+ [5] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 10,
+ },
+ [6] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 3,
+ },
+ [7] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 4,
+ },
+ [8] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 9,
+ },
+ [9] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 8,
+ },
+ [10] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 5,
+ },
+ [11] = {
+ ["CLSID"] = "{SU30_RVVSD}",
+ ["num"] = 7,
+ },
+ [12] = {
+ ["CLSID"] = "{SU30_RVVSD}",
+ ["num"] = 6,
+ },
+ },
+ ["tasks"] = {
+ [1] = 31,
+ [2] = 32,
+ },
+ },
+ [3] = {
+ ["displayName"] = "ANTISHIP",
+ ["name"] = "ANTISHIP",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
+ ["num"] = 12,
+ },
+ [2] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
+ ["num"] = 1,
+ },
+ [3] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 11,
+ },
+ [4] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 2,
+ },
+ [5] = {
+ ["CLSID"] = "{SU30_KH_31A}",
+ ["num"] = 8,
+ },
+ [6] = {
+ ["CLSID"] = "{SU30_KH_31A}",
+ ["num"] = 5,
+ },
+ [7] = {
+ ["CLSID"] = "{SU30_RVVSD}",
+ ["num"] = 10,
+ },
+ [8] = {
+ ["CLSID"] = "{SU30_KH_31A}",
+ ["num"] = 9,
+ },
+ [9] = {
+ ["CLSID"] = "{SU30_KH_31A}",
+ ["num"] = 4,
+ },
+ [10] = {
+ ["CLSID"] = "{SU30_RVVSD}",
+ ["num"] = 3,
+ },
+ [11] = {
+ ["CLSID"] = "{SU30_RVVSD}",
+ ["num"] = 6,
+ },
+ [12] = {
+ ["CLSID"] = "{SU30_RVVSD}",
+ ["num"] = 7,
+ },
+ },
+ ["tasks"] = {
+ [1] = 30,
+ },
+ },
+ [4] = {
+ ["displayName"] = "CAP",
+ ["name"] = "CAP",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
+ ["num"] = 12,
+ },
+ [2] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
+ ["num"] = 1,
+ },
+ [3] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 11,
+ },
+ [4] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 2,
+ },
+ [5] = {
+ ["CLSID"] = "{SU30_R27ET}",
+ ["num"] = 10,
+ },
+ [6] = {
+ ["CLSID"] = "{SU30_RVVSD}",
+ ["num"] = 9,
+ },
+ [7] = {
+ ["CLSID"] = "{SU30_R27ER}",
+ ["num"] = 8,
+ },
+ [8] = {
+ ["CLSID"] = "{SU30_RVVSD}",
+ ["num"] = 7,
+ },
+ [9] = {
+ ["CLSID"] = "{SU30_RVVSD}",
+ ["num"] = 6,
+ },
+ [10] = {
+ ["CLSID"] = "{SU30_R27ER}",
+ ["num"] = 5,
+ },
+ [11] = {
+ ["CLSID"] = "{SU30_RVVSD}",
+ ["num"] = 4,
+ },
+ [12] = {
+ ["CLSID"] = "{SU30_R27ET}",
+ ["num"] = 3,
+ },
+ },
+ ["tasks"] = {
+ [1] = 18,
+ [2] = 19,
+ [3] = 10,
+ [4] = 11,
+ },
+ },
+ [5] = {
+ ["name"] = "Retribution CAS",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
+ ["num"] = 12,
+ },
+ [2] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
+ ["num"] = 1,
+ },
+ [3] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 11,
+ },
+ [4] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 2,
+ },
+ [5] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 10,
+ },
+ [6] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 3,
+ },
+ [7] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 4,
+ },
+ [8] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 9,
+ },
+ [9] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 8,
+ },
+ [10] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 5,
+ },
+ [11] = {
+ ["CLSID"] = "{SU30_RVVSD}",
+ ["num"] = 7,
+ },
+ [12] = {
+ ["CLSID"] = "{SU30_RVVSD}",
+ ["num"] = 6,
+ },
+ },
+ ["tasks"] = {
+ [1] = 31,
+ [2] = 32,
+ },
+ },
+ [6] = {
+ ["displayName"] = "Retribution OCA/Aircraft",
+ ["name"] = "Retribution OCA/Aircraft",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
+ ["num"] = 12,
+ },
+ [2] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
+ ["num"] = 1,
+ },
+ [3] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 11,
+ },
+ [4] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 2,
+ },
+ [5] = {
+ ["CLSID"] = "{SU30_R27ER}",
+ ["num"] = 8,
+ },
+ [6] = {
+ ["CLSID"] = "{SU30_R27ER}",
+ ["num"] = 5,
+ },
+ [7] = {
+ ["CLSID"] = "{96A7F676-F956-404A-AD04-F33FB2C74884}",
+ ["num"] = 10,
+ },
+ [8] = {
+ ["CLSID"] = "{96A7F676-F956-404A-AD04-F33FB2C74881}",
+ ["num"] = 9,
+ },
+ [9] = {
+ ["CLSID"] = "{96A7F676-F956-404A-AD04-F33FB2C74881}",
+ ["num"] = 4,
+ },
+ [10] = {
+ ["CLSID"] = "{96A7F676-F956-404A-AD04-F33FB2C74884}",
+ ["num"] = 3,
+ },
+ [11] = {
+ ["CLSID"] = "{53BE25A4-C86C-4571-9BC0-47D668349595}",
+ ["num"] = 7,
+ },
+ [12] = {
+ ["CLSID"] = "{53BE25A4-C86C-4571-9BC0-47D668349595}",
+ ["num"] = 6,
+ },
+ },
+ ["tasks"] = {
+ [1] = 32,
+ [2] = 31,
+ },
+ },
+ [7] = {
+ ["displayName"] = "Retribution OCA/Runway",
+ ["name"] = "Retribution OCA/Runway",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
+ ["num"] = 12,
+ },
+ [2] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
+ ["num"] = 1,
+ },
+ [3] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 11,
+ },
+ [4] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 2,
+ },
+ [5] = {
+ ["CLSID"] = "{SU30_R27ER}",
+ ["num"] = 8,
+ },
+ [6] = {
+ ["CLSID"] = "{SU30_R27ER}",
+ ["num"] = 5,
+ },
+ [7] = {
+ ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
+ ["num"] = 10,
+ },
+ [8] = {
+ ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
+ ["num"] = 9,
+ },
+ [9] = {
+ ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
+ ["num"] = 4,
+ },
+ [10] = {
+ ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
+ ["num"] = 3,
+ },
+ [11] = {
+ ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
+ ["num"] = 7,
+ },
+ [12] = {
+ ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
+ ["num"] = 6,
+ },
+ },
+ ["tasks"] = {
+ [1] = 34,
+ },
+ },
+ [8] = {
+ ["displayName"] = "Retribution SEAD",
+ ["name"] = "Retribution SEAD",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
+ ["num"] = 12,
+ },
+ [2] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
+ ["num"] = 1,
+ },
+ [3] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 11,
+ },
+ [4] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 2,
+ },
+ [5] = {
+ ["CLSID"] = "{SU30_KH31P}",
+ ["num"] = 8,
+ },
+ [6] = {
+ ["CLSID"] = "{SU30_KH31P}",
+ ["num"] = 5,
+ },
+ [7] = {
+ ["CLSID"] = "{SU30_KH31P}",
+ ["num"] = 10,
+ },
+ [8] = {
+ ["CLSID"] = "{SU30_KH31P}",
+ ["num"] = 9,
+ },
+ [9] = {
+ ["CLSID"] = "{SU30_KH31P}",
+ ["num"] = 4,
+ },
+ [10] = {
+ ["CLSID"] = "{SU30_KH31P}",
+ ["num"] = 3,
+ },
+ [11] = {
+ ["CLSID"] = "{SU30_RVVSD}",
+ ["num"] = 7,
+ },
+ [12] = {
+ ["CLSID"] = "{SU30_RVVSD}",
+ ["num"] = 6,
+ },
+ },
+ ["tasks"] = {
+ [1] = 29,
+ },
+ },
+ [9] = {
+ ["displayName"] = "Retribution DEAD",
+ ["name"] = "Retribution DEAD",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
+ ["num"] = 12,
+ },
+ [2] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
+ ["num"] = 1,
+ },
+ [3] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 11,
+ },
+ [4] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 2,
+ },
+ [5] = {
+ ["CLSID"] = "{SU30_KH31P}",
+ ["num"] = 8,
+ },
+ [6] = {
+ ["CLSID"] = "{SU30_KH31P}",
+ ["num"] = 5,
+ },
+ [7] = {
+ ["CLSID"] = "{SU30_KH31P}",
+ ["num"] = 10,
+ },
+ [8] = {
+ ["CLSID"] = "{SU30_KH31P}",
+ ["num"] = 9,
+ },
+ [9] = {
+ ["CLSID"] = "{SU30_KH31P}",
+ ["num"] = 4,
+ },
+ [10] = {
+ ["CLSID"] = "{SU30_KH31P}",
+ ["num"] = 3,
+ },
+ [11] = {
+ ["CLSID"] = "{SU30_RVVSD}",
+ ["num"] = 7,
+ },
+ [12] = {
+ ["CLSID"] = "{SU30_RVVSD}",
+ ["num"] = 6,
+ },
+ },
+ ["tasks"] = {
+ [1] = 29,
+ [2] = 32,
+ },
+ },
+ },
+ ["tasks"] = {
+ },
+ ["unitType"] = "Su-30MKM-AG",
+}
+return unitPayloads
diff --git a/resources/customized_payloads/Su-30MKM.lua b/resources/customized_payloads/Su-30MKM.lua
index 356356ee..b2cfbd94 100644
--- a/resources/customized_payloads/Su-30MKM.lua
+++ b/resources/customized_payloads/Su-30MKM.lua
@@ -2,6 +2,65 @@ local unitPayloads = {
["name"] = "Su-30MKM",
["payloads"] = {
[1] = {
+ ["displayName"] = "Retribution Strike",
+ ["name"] = "Retribution Strike",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
+ ["num"] = 12,
+ },
+ [2] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
+ ["num"] = 1,
+ },
+ [3] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 11,
+ },
+ [4] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 2,
+ },
+ [5] = {
+ ["CLSID"] = "{SU30_RVVSD}",
+ ["num"] = 8,
+ },
+ [6] = {
+ ["CLSID"] = "{SU30_RVVSD}",
+ ["num"] = 5,
+ },
+ [7] = {
+ ["CLSID"] = "{E2C426E3-8B10-4E09-B733-9CDC26520F48}",
+ ["num"] = 10,
+ },
+ [8] = {
+ ["CLSID"] = "{E2C426E3-8B10-4E09-B733-9CDC26520F48}",
+ ["num"] = 3,
+ },
+ [9] = {
+ ["CLSID"] = "{E2C426E3-8B10-4E09-B733-9CDC26520F48}",
+ ["num"] = 9,
+ },
+ [10] = {
+ ["CLSID"] = "{E2C426E3-8B10-4E09-B733-9CDC26520F48}",
+ ["num"] = 4,
+ },
+ [11] = {
+ ["CLSID"] = "{E2C426E3-8B10-4E09-B733-9CDC26520F48}",
+ ["num"] = 7,
+ },
+ [12] = {
+ ["CLSID"] = "{E2C426E3-8B10-4E09-B733-9CDC26520F48}",
+ ["num"] = 6,
+ },
+ },
+ ["tasks"] = {
+ [1] = 33,
+ [2] = 32,
+ [3] = 31,
+ },
+ },
+ [2] = {
["displayName"] = "Retribution BAI",
["name"] = "Retribution BAI",
["pylons"] = {
@@ -46,11 +105,11 @@ local unitPayloads = {
["num"] = 5,
},
[11] = {
- ["CLSID"] = "{SU30_R77}",
+ ["CLSID"] = "{SU30_RVVSD}",
["num"] = 7,
},
[12] = {
- ["CLSID"] = "{SU30_R77}",
+ ["CLSID"] = "{SU30_RVVSD}",
["num"] = 6,
},
},
@@ -59,7 +118,7 @@ local unitPayloads = {
[2] = 32,
},
},
- [2] = {
+ [3] = {
["displayName"] = "ANTISHIP",
["name"] = "ANTISHIP",
["pylons"] = {
@@ -88,27 +147,27 @@ local unitPayloads = {
["num"] = 5,
},
[7] = {
- ["CLSID"] = "{SU30_KH_35}",
+ ["CLSID"] = "{SU30_RVVSD}",
["num"] = 10,
},
[8] = {
- ["CLSID"] = "{SU30_KH_35}",
+ ["CLSID"] = "{SU30_KH_31A}",
["num"] = 9,
},
[9] = {
- ["CLSID"] = "{SU30_KH_35}",
+ ["CLSID"] = "{SU30_KH_31A}",
["num"] = 4,
},
[10] = {
- ["CLSID"] = "{SU30_KH_35}",
+ ["CLSID"] = "{SU30_RVVSD}",
["num"] = 3,
},
[11] = {
- ["CLSID"] = "{SU30_R77}",
+ ["CLSID"] = "{SU30_RVVSD}",
["num"] = 6,
},
[12] = {
- ["CLSID"] = "{SU30_R77}",
+ ["CLSID"] = "{SU30_RVVSD}",
["num"] = 7,
},
},
@@ -116,63 +175,6 @@ local unitPayloads = {
[1] = 30,
},
},
- [3] = {
- ["displayName"] = "Retribution SEAD",
- ["name"] = "Retribution SEAD",
- ["pylons"] = {
- [1] = {
- ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
- ["num"] = 12,
- },
- [2] = {
- ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
- ["num"] = 1,
- },
- [3] = {
- ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
- ["num"] = 11,
- },
- [4] = {
- ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
- ["num"] = 2,
- },
- [5] = {
- ["CLSID"] = "{SU30_KH31P}",
- ["num"] = 8,
- },
- [6] = {
- ["CLSID"] = "{SU30_KH31P}",
- ["num"] = 5,
- },
- [7] = {
- ["CLSID"] = "{SU30_KH31P}",
- ["num"] = 10,
- },
- [8] = {
- ["CLSID"] = "{SU30_KH31P}",
- ["num"] = 9,
- },
- [9] = {
- ["CLSID"] = "{SU30_KH31P}",
- ["num"] = 4,
- },
- [10] = {
- ["CLSID"] = "{SU30_KH31P}",
- ["num"] = 3,
- },
- [11] = {
- ["CLSID"] = "{SU30_R77}",
- ["num"] = 7,
- },
- [12] = {
- ["CLSID"] = "{SU30_R77}",
- ["num"] = 6,
- },
- },
- ["tasks"] = {
- [1] = 29,
- },
- },
[4] = {
["displayName"] = "CAP",
["name"] = "CAP",
@@ -194,11 +196,11 @@ local unitPayloads = {
["num"] = 2,
},
[5] = {
- ["CLSID"] = "{SU30_R77}",
+ ["CLSID"] = "{SU30_R27ET}",
["num"] = 10,
},
[6] = {
- ["CLSID"] = "{SU30_R27ET}",
+ ["CLSID"] = "{SU30_RVVSD}",
["num"] = 9,
},
[7] = {
@@ -206,11 +208,11 @@ local unitPayloads = {
["num"] = 8,
},
[8] = {
- ["CLSID"] = "{SU30_R77}",
+ ["CLSID"] = "{SU30_RVVSD}",
["num"] = 7,
},
[9] = {
- ["CLSID"] = "{SU30_R77}",
+ ["CLSID"] = "{SU30_RVVSD}",
["num"] = 6,
},
[10] = {
@@ -218,11 +220,11 @@ local unitPayloads = {
["num"] = 5,
},
[11] = {
- ["CLSID"] = "{SU30_R27ET}",
+ ["CLSID"] = "{SU30_RVVSD}",
["num"] = 4,
},
[12] = {
- ["CLSID"] = "{SU30_R77}",
+ ["CLSID"] = "{SU30_R27ET}",
["num"] = 3,
},
},
@@ -234,180 +236,6 @@ local unitPayloads = {
},
},
[5] = {
- ["displayName"] = "Retribution OCA/Runway",
- ["name"] = "Retribution OCA/Runway",
- ["pylons"] = {
- [1] = {
- ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
- ["num"] = 12,
- },
- [2] = {
- ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
- ["num"] = 1,
- },
- [3] = {
- ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
- ["num"] = 11,
- },
- [4] = {
- ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
- ["num"] = 2,
- },
- [5] = {
- ["CLSID"] = "{SU30_R27ER}",
- ["num"] = 8,
- },
- [6] = {
- ["CLSID"] = "{SU30_R27ER}",
- ["num"] = 5,
- },
- [7] = {
- ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
- ["num"] = 10,
- },
- [8] = {
- ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
- ["num"] = 9,
- },
- [9] = {
- ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
- ["num"] = 4,
- },
- [10] = {
- ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
- ["num"] = 3,
- },
- [11] = {
- ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
- ["num"] = 7,
- },
- [12] = {
- ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
- ["num"] = 6,
- },
- },
- ["tasks"] = {
- [1] = 34,
- },
- },
- [6] = {
- ["displayName"] = "Retribution DEAD",
- ["name"] = "Retribution DEAD",
- ["pylons"] = {
- [1] = {
- ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
- ["num"] = 12,
- },
- [2] = {
- ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
- ["num"] = 1,
- },
- [3] = {
- ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
- ["num"] = 11,
- },
- [4] = {
- ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
- ["num"] = 2,
- },
- [5] = {
- ["CLSID"] = "{SU30_KH31P}",
- ["num"] = 8,
- },
- [6] = {
- ["CLSID"] = "{SU30_KH31P}",
- ["num"] = 5,
- },
- [7] = {
- ["CLSID"] = "{SU30_KH31P}",
- ["num"] = 10,
- },
- [8] = {
- ["CLSID"] = "{SU30_KH31P}",
- ["num"] = 9,
- },
- [9] = {
- ["CLSID"] = "{SU30_KH31P}",
- ["num"] = 4,
- },
- [10] = {
- ["CLSID"] = "{SU30_KH31P}",
- ["num"] = 3,
- },
- [11] = {
- ["CLSID"] = "{SU30_R77}",
- ["num"] = 7,
- },
- [12] = {
- ["CLSID"] = "{SU30_R77}",
- ["num"] = 6,
- },
- },
- ["tasks"] = {
- [1] = 29,
- [2] = 32,
- },
- },
- [7] = {
- ["displayName"] = "Retribution Strike",
- ["name"] = "Retribution Strike",
- ["pylons"] = {
- [1] = {
- ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
- ["num"] = 12,
- },
- [2] = {
- ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
- ["num"] = 1,
- },
- [3] = {
- ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
- ["num"] = 11,
- },
- [4] = {
- ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
- ["num"] = 2,
- },
- [5] = {
- ["CLSID"] = "{SU30_R77}",
- ["num"] = 8,
- },
- [6] = {
- ["CLSID"] = "{SU30_R77}",
- ["num"] = 5,
- },
- [7] = {
- ["CLSID"] = "{E2C426E3-8B10-4E09-B733-9CDC26520F48}",
- ["num"] = 10,
- },
- [8] = {
- ["CLSID"] = "{E2C426E3-8B10-4E09-B733-9CDC26520F48}",
- ["num"] = 3,
- },
- [9] = {
- ["CLSID"] = "{E2C426E3-8B10-4E09-B733-9CDC26520F48}",
- ["num"] = 9,
- },
- [10] = {
- ["CLSID"] = "{E2C426E3-8B10-4E09-B733-9CDC26520F48}",
- ["num"] = 4,
- },
- [11] = {
- ["CLSID"] = "{E2C426E3-8B10-4E09-B733-9CDC26520F48}",
- ["num"] = 7,
- },
- [12] = {
- ["CLSID"] = "{E2C426E3-8B10-4E09-B733-9CDC26520F48}",
- ["num"] = 6,
- },
- },
- ["tasks"] = {
- [1] = 33,
- [2] = 32,
- [3] = 31,
- },
- },
- [8] = {
["name"] = "Retribution CAS",
["pylons"] = {
[1] = {
@@ -451,11 +279,11 @@ local unitPayloads = {
["num"] = 5,
},
[11] = {
- ["CLSID"] = "{SU30_R77}",
+ ["CLSID"] = "{SU30_RVVSD}",
["num"] = 7,
},
[12] = {
- ["CLSID"] = "{SU30_R77}",
+ ["CLSID"] = "{SU30_RVVSD}",
["num"] = 6,
},
},
@@ -464,7 +292,7 @@ local unitPayloads = {
[2] = 32,
},
},
- [9] = {
+ [6] = {
["displayName"] = "Retribution OCA/Aircraft",
["name"] = "Retribution OCA/Aircraft",
["pylons"] = {
@@ -522,6 +350,178 @@ local unitPayloads = {
[2] = 31,
},
},
+ [7] = {
+ ["displayName"] = "Retribution OCA/Runway",
+ ["name"] = "Retribution OCA/Runway",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
+ ["num"] = 12,
+ },
+ [2] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
+ ["num"] = 1,
+ },
+ [3] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 11,
+ },
+ [4] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 2,
+ },
+ [5] = {
+ ["CLSID"] = "{SU30_R27ER}",
+ ["num"] = 8,
+ },
+ [6] = {
+ ["CLSID"] = "{SU30_R27ER}",
+ ["num"] = 5,
+ },
+ [7] = {
+ ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
+ ["num"] = 10,
+ },
+ [8] = {
+ ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
+ ["num"] = 9,
+ },
+ [9] = {
+ ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
+ ["num"] = 4,
+ },
+ [10] = {
+ ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
+ ["num"] = 3,
+ },
+ [11] = {
+ ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
+ ["num"] = 7,
+ },
+ [12] = {
+ ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
+ ["num"] = 6,
+ },
+ },
+ ["tasks"] = {
+ [1] = 34,
+ },
+ },
+ [8] = {
+ ["displayName"] = "Retribution SEAD",
+ ["name"] = "Retribution SEAD",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
+ ["num"] = 12,
+ },
+ [2] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
+ ["num"] = 1,
+ },
+ [3] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 11,
+ },
+ [4] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 2,
+ },
+ [5] = {
+ ["CLSID"] = "{SU30_KH31P}",
+ ["num"] = 8,
+ },
+ [6] = {
+ ["CLSID"] = "{SU30_KH31P}",
+ ["num"] = 5,
+ },
+ [7] = {
+ ["CLSID"] = "{SU30_KH31P}",
+ ["num"] = 10,
+ },
+ [8] = {
+ ["CLSID"] = "{SU30_KH31P}",
+ ["num"] = 9,
+ },
+ [9] = {
+ ["CLSID"] = "{SU30_KH31P}",
+ ["num"] = 4,
+ },
+ [10] = {
+ ["CLSID"] = "{SU30_KH31P}",
+ ["num"] = 3,
+ },
+ [11] = {
+ ["CLSID"] = "{SU30_RVVSD}",
+ ["num"] = 7,
+ },
+ [12] = {
+ ["CLSID"] = "{SU30_RVVSD}",
+ ["num"] = 6,
+ },
+ },
+ ["tasks"] = {
+ [1] = 29,
+ },
+ },
+ [9] = {
+ ["displayName"] = "Retribution DEAD",
+ ["name"] = "Retribution DEAD",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
+ ["num"] = 12,
+ },
+ [2] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
+ ["num"] = 1,
+ },
+ [3] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 11,
+ },
+ [4] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 2,
+ },
+ [5] = {
+ ["CLSID"] = "{SU30_KH31P}",
+ ["num"] = 8,
+ },
+ [6] = {
+ ["CLSID"] = "{SU30_KH31P}",
+ ["num"] = 5,
+ },
+ [7] = {
+ ["CLSID"] = "{SU30_KH31P}",
+ ["num"] = 10,
+ },
+ [8] = {
+ ["CLSID"] = "{SU30_KH31P}",
+ ["num"] = 9,
+ },
+ [9] = {
+ ["CLSID"] = "{SU30_KH31P}",
+ ["num"] = 4,
+ },
+ [10] = {
+ ["CLSID"] = "{SU30_KH31P}",
+ ["num"] = 3,
+ },
+ [11] = {
+ ["CLSID"] = "{SU30_RVVSD}",
+ ["num"] = 7,
+ },
+ [12] = {
+ ["CLSID"] = "{SU30_RVVSD}",
+ ["num"] = 6,
+ },
+ },
+ ["tasks"] = {
+ [1] = 29,
+ [2] = 32,
+ },
+ },
},
["tasks"] = {
},
diff --git a/resources/customized_payloads/Su-30SM-AG.lua b/resources/customized_payloads/Su-30SM-AG.lua
new file mode 100644
index 00000000..44e7ab98
--- /dev/null
+++ b/resources/customized_payloads/Su-30SM-AG.lua
@@ -0,0 +1,530 @@
+local unitPayloads = {
+ ["name"] = "Su-30SM-AG",
+ ["payloads"] = {
+ [1] = {
+ ["displayName"] = "Retribution Strike",
+ ["name"] = "Retribution Strike",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
+ ["num"] = 12,
+ },
+ [2] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
+ ["num"] = 1,
+ },
+ [3] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 11,
+ },
+ [4] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 2,
+ },
+ [5] = {
+ ["CLSID"] = "{SU30_R77M}",
+ ["num"] = 8,
+ },
+ [6] = {
+ ["CLSID"] = "{SU30_R77M}",
+ ["num"] = 5,
+ },
+ [7] = {
+ ["CLSID"] = "{E2C426E3-8B10-4E09-B733-9CDC26520F48}",
+ ["num"] = 10,
+ },
+ [8] = {
+ ["CLSID"] = "{E2C426E3-8B10-4E09-B733-9CDC26520F48}",
+ ["num"] = 3,
+ },
+ [9] = {
+ ["CLSID"] = "{E2C426E3-8B10-4E09-B733-9CDC26520F48}",
+ ["num"] = 9,
+ },
+ [10] = {
+ ["CLSID"] = "{E2C426E3-8B10-4E09-B733-9CDC26520F48}",
+ ["num"] = 4,
+ },
+ [11] = {
+ ["CLSID"] = "{E2C426E3-8B10-4E09-B733-9CDC26520F48}",
+ ["num"] = 7,
+ },
+ [12] = {
+ ["CLSID"] = "{E2C426E3-8B10-4E09-B733-9CDC26520F48}",
+ ["num"] = 6,
+ },
+ },
+ ["tasks"] = {
+ [1] = 33,
+ [2] = 32,
+ [3] = 31,
+ },
+ },
+ [2] = {
+ ["displayName"] = "Retribution BAI",
+ ["name"] = "Retribution BAI",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
+ ["num"] = 12,
+ },
+ [2] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
+ ["num"] = 1,
+ },
+ [3] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 11,
+ },
+ [4] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 2,
+ },
+ [5] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 10,
+ },
+ [6] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 3,
+ },
+ [7] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 4,
+ },
+ [8] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 9,
+ },
+ [9] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 8,
+ },
+ [10] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 5,
+ },
+ [11] = {
+ ["CLSID"] = "{SU30_R77M}",
+ ["num"] = 7,
+ },
+ [12] = {
+ ["CLSID"] = "{SU30_R77M}",
+ ["num"] = 6,
+ },
+ },
+ ["tasks"] = {
+ [1] = 31,
+ [2] = 32,
+ },
+ },
+ [3] = {
+ ["displayName"] = "ANTISHIP",
+ ["name"] = "ANTISHIP",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
+ ["num"] = 12,
+ },
+ [2] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
+ ["num"] = 1,
+ },
+ [3] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 11,
+ },
+ [4] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 2,
+ },
+ [5] = {
+ ["CLSID"] = "{SU30_KH31AD}",
+ ["num"] = 8,
+ },
+ [6] = {
+ ["CLSID"] = "{SU30_KH31AD}",
+ ["num"] = 5,
+ },
+ [7] = {
+ ["CLSID"] = "{SU30_KH59MK}",
+ ["num"] = 10,
+ },
+ [8] = {
+ ["CLSID"] = "{SU30_KH59MK}",
+ ["num"] = 9,
+ },
+ [9] = {
+ ["CLSID"] = "{SU30_KH59MK}",
+ ["num"] = 4,
+ },
+ [10] = {
+ ["CLSID"] = "{SU30_KH59MK}",
+ ["num"] = 3,
+ },
+ [11] = {
+ ["CLSID"] = "{SU30_R77M}",
+ ["num"] = 6,
+ },
+ [12] = {
+ ["CLSID"] = "{SU30_R77M}",
+ ["num"] = 7,
+ },
+ },
+ ["tasks"] = {
+ [1] = 30,
+ },
+ },
+ [4] = {
+ ["displayName"] = "CAP",
+ ["name"] = "CAP",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
+ ["num"] = 12,
+ },
+ [2] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
+ ["num"] = 1,
+ },
+ [3] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 11,
+ },
+ [4] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 2,
+ },
+ [5] = {
+ ["CLSID"] = "{SU30_R27ET}",
+ ["num"] = 10,
+ },
+ [6] = {
+ ["CLSID"] = "{SU30_R77M}",
+ ["num"] = 9,
+ },
+ [7] = {
+ ["CLSID"] = "{SU30_R27EA}",
+ ["num"] = 8,
+ },
+ [8] = {
+ ["CLSID"] = "{SU30_R77M}",
+ ["num"] = 7,
+ },
+ [9] = {
+ ["CLSID"] = "{SU30_R77M}",
+ ["num"] = 6,
+ },
+ [10] = {
+ ["CLSID"] = "{SU30_R27EA}",
+ ["num"] = 5,
+ },
+ [11] = {
+ ["CLSID"] = "{SU30_R77M}",
+ ["num"] = 4,
+ },
+ [12] = {
+ ["CLSID"] = "{SU30_R27ET}",
+ ["num"] = 3,
+ },
+ },
+ ["tasks"] = {
+ [1] = 18,
+ [2] = 19,
+ [3] = 10,
+ [4] = 11,
+ },
+ },
+ [5] = {
+ ["name"] = "Retribution CAS",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
+ ["num"] = 12,
+ },
+ [2] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
+ ["num"] = 1,
+ },
+ [3] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 11,
+ },
+ [4] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 2,
+ },
+ [5] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 10,
+ },
+ [6] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 3,
+ },
+ [7] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 4,
+ },
+ [8] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 9,
+ },
+ [9] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 8,
+ },
+ [10] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 5,
+ },
+ [11] = {
+ ["CLSID"] = "{SU30_R77M}",
+ ["num"] = 7,
+ },
+ [12] = {
+ ["CLSID"] = "{SU30_R77M}",
+ ["num"] = 6,
+ },
+ },
+ ["tasks"] = {
+ [1] = 31,
+ [2] = 32,
+ },
+ },
+ [6] = {
+ ["displayName"] = "Retribution OCA/Aircraft",
+ ["name"] = "Retribution OCA/Aircraft",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
+ ["num"] = 12,
+ },
+ [2] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
+ ["num"] = 1,
+ },
+ [3] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 11,
+ },
+ [4] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 2,
+ },
+ [5] = {
+ ["CLSID"] = "{SU30_R27EA}",
+ ["num"] = 8,
+ },
+ [6] = {
+ ["CLSID"] = "{SU30_R27EA}",
+ ["num"] = 5,
+ },
+ [7] = {
+ ["CLSID"] = "{96A7F676-F956-404A-AD04-F33FB2C74884}",
+ ["num"] = 10,
+ },
+ [8] = {
+ ["CLSID"] = "{96A7F676-F956-404A-AD04-F33FB2C74881}",
+ ["num"] = 9,
+ },
+ [9] = {
+ ["CLSID"] = "{96A7F676-F956-404A-AD04-F33FB2C74881}",
+ ["num"] = 4,
+ },
+ [10] = {
+ ["CLSID"] = "{96A7F676-F956-404A-AD04-F33FB2C74884}",
+ ["num"] = 3,
+ },
+ [11] = {
+ ["CLSID"] = "{53BE25A4-C86C-4571-9BC0-47D668349595}",
+ ["num"] = 7,
+ },
+ [12] = {
+ ["CLSID"] = "{53BE25A4-C86C-4571-9BC0-47D668349595}",
+ ["num"] = 6,
+ },
+ },
+ ["tasks"] = {
+ [1] = 32,
+ [2] = 31,
+ },
+ },
+ [7] = {
+ ["displayName"] = "Retribution OCA/Runway",
+ ["name"] = "Retribution OCA/Runway",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
+ ["num"] = 12,
+ },
+ [2] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
+ ["num"] = 1,
+ },
+ [3] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 11,
+ },
+ [4] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 2,
+ },
+ [5] = {
+ ["CLSID"] = "{SU30_R27EA}",
+ ["num"] = 8,
+ },
+ [6] = {
+ ["CLSID"] = "{SU30_R27EA}",
+ ["num"] = 5,
+ },
+ [7] = {
+ ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
+ ["num"] = 10,
+ },
+ [8] = {
+ ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
+ ["num"] = 9,
+ },
+ [9] = {
+ ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
+ ["num"] = 4,
+ },
+ [10] = {
+ ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
+ ["num"] = 3,
+ },
+ [11] = {
+ ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
+ ["num"] = 7,
+ },
+ [12] = {
+ ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
+ ["num"] = 6,
+ },
+ },
+ ["tasks"] = {
+ [1] = 34,
+ },
+ },
+ [8] = {
+ ["displayName"] = "Retribution SEAD",
+ ["name"] = "Retribution SEAD",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
+ ["num"] = 12,
+ },
+ [2] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
+ ["num"] = 1,
+ },
+ [3] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 11,
+ },
+ [4] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 2,
+ },
+ [5] = {
+ ["CLSID"] = "{SU30_KH31PD}",
+ ["num"] = 8,
+ },
+ [6] = {
+ ["CLSID"] = "{SU30_KH31PD}",
+ ["num"] = 5,
+ },
+ [7] = {
+ ["CLSID"] = "{SU30_KH31PD}",
+ ["num"] = 10,
+ },
+ [8] = {
+ ["CLSID"] = "{SU30_KH31PD}",
+ ["num"] = 9,
+ },
+ [9] = {
+ ["CLSID"] = "{SU30_KH31PD}",
+ ["num"] = 4,
+ },
+ [10] = {
+ ["CLSID"] = "{SU30_KH31PD}",
+ ["num"] = 3,
+ },
+ [11] = {
+ ["CLSID"] = "{SU30_R77M}",
+ ["num"] = 7,
+ },
+ [12] = {
+ ["CLSID"] = "{SU30_R77M}",
+ ["num"] = 6,
+ },
+ },
+ ["tasks"] = {
+ [1] = 29,
+ },
+ },
+ [9] = {
+ ["displayName"] = "Retribution DEAD",
+ ["name"] = "Retribution DEAD",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
+ ["num"] = 12,
+ },
+ [2] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
+ ["num"] = 1,
+ },
+ [3] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 11,
+ },
+ [4] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 2,
+ },
+ [5] = {
+ ["CLSID"] = "{SU30_R77M}",
+ ["num"] = 8,
+ },
+ [6] = {
+ ["CLSID"] = "{SU30_R77M}",
+ ["num"] = 5,
+ },
+ [7] = {
+ ["CLSID"] = "{SU30_KH59MK2}",
+ ["num"] = 10,
+ },
+ [8] = {
+ ["CLSID"] = "{SU30_KH59MK2}",
+ ["num"] = 9,
+ },
+ [9] = {
+ ["CLSID"] = "{SU30_KH59MK2}",
+ ["num"] = 4,
+ },
+ [10] = {
+ ["CLSID"] = "{SU30_KH59MK2}",
+ ["num"] = 3,
+ },
+ [11] = {
+ ["CLSID"] = "{96A7F676-F956-404A-AD04-F33FB2C74881}",
+ ["num"] = 7,
+ },
+ [12] = {
+ ["CLSID"] = "{96A7F676-F956-404A-AD04-F33FB2C74884}",
+ ["num"] = 6,
+ },
+ },
+ ["tasks"] = {
+ [1] = 29,
+ [2] = 32,
+ },
+ },
+ },
+ ["tasks"] = {
+ },
+ ["unitType"] = "Su-30SM-AG",
+}
+return unitPayloads
diff --git a/resources/customized_payloads/Su-30SM.lua b/resources/customized_payloads/Su-30SM.lua
index 502a348b..82e111a3 100644
--- a/resources/customized_payloads/Su-30SM.lua
+++ b/resources/customized_payloads/Su-30SM.lua
@@ -2,353 +2,6 @@ local unitPayloads = {
["name"] = "Su-30SM",
["payloads"] = {
[1] = {
- ["displayName"] = "Retribution BAI",
- ["name"] = "Retribution BAI",
- ["pylons"] = {
- [1] = {
- ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
- ["num"] = 12,
- },
- [2] = {
- ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
- ["num"] = 1,
- },
- [3] = {
- ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
- ["num"] = 11,
- },
- [4] = {
- ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
- ["num"] = 2,
- },
- [5] = {
- ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
- ["num"] = 10,
- },
- [6] = {
- ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
- ["num"] = 3,
- },
- [7] = {
- ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
- ["num"] = 4,
- },
- [8] = {
- ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
- ["num"] = 9,
- },
- [9] = {
- ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
- ["num"] = 8,
- },
- [10] = {
- ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
- ["num"] = 5,
- },
- [11] = {
- ["CLSID"] = "{SU30_R77M}",
- ["num"] = 7,
- },
- [12] = {
- ["CLSID"] = "{SU30_R77M}",
- ["num"] = 6,
- },
- },
- ["tasks"] = {
- [1] = 31,
- [2] = 32,
- },
- },
- [2] = {
- ["displayName"] = "ANTISHIP",
- ["name"] = "ANTISHIP",
- ["pylons"] = {
- [1] = {
- ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
- ["num"] = 12,
- },
- [2] = {
- ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
- ["num"] = 1,
- },
- [3] = {
- ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
- ["num"] = 11,
- },
- [4] = {
- ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
- ["num"] = 2,
- },
- [5] = {
- ["CLSID"] = "{SU30_KH31AD}",
- ["num"] = 8,
- },
- [6] = {
- ["CLSID"] = "{SU30_KH31AD}",
- ["num"] = 5,
- },
- [7] = {
- ["CLSID"] = "{SU30_KH59MK}",
- ["num"] = 10,
- },
- [8] = {
- ["CLSID"] = "{SU30_KH59MK}",
- ["num"] = 9,
- },
- [9] = {
- ["CLSID"] = "{SU30_KH59MK}",
- ["num"] = 4,
- },
- [10] = {
- ["CLSID"] = "{SU30_KH59MK}",
- ["num"] = 3,
- },
- [11] = {
- ["CLSID"] = "{SU30_R77M}",
- ["num"] = 6,
- },
- [12] = {
- ["CLSID"] = "{SU30_R77M}",
- ["num"] = 7,
- },
- },
- ["tasks"] = {
- [1] = 30,
- },
- },
- [3] = {
- ["displayName"] = "Retribution SEAD",
- ["name"] = "Retribution SEAD",
- ["pylons"] = {
- [1] = {
- ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
- ["num"] = 12,
- },
- [2] = {
- ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
- ["num"] = 1,
- },
- [3] = {
- ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
- ["num"] = 11,
- },
- [4] = {
- ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
- ["num"] = 2,
- },
- [5] = {
- ["CLSID"] = "{SU30_KH31PD}",
- ["num"] = 8,
- },
- [6] = {
- ["CLSID"] = "{SU30_KH31PD}",
- ["num"] = 5,
- },
- [7] = {
- ["CLSID"] = "{SU30_KH31PD}",
- ["num"] = 10,
- },
- [8] = {
- ["CLSID"] = "{SU30_KH31PD}",
- ["num"] = 9,
- },
- [9] = {
- ["CLSID"] = "{SU30_KH31PD}",
- ["num"] = 4,
- },
- [10] = {
- ["CLSID"] = "{SU30_KH31PD}",
- ["num"] = 3,
- },
- [11] = {
- ["CLSID"] = "{SU30_R77M}",
- ["num"] = 7,
- },
- [12] = {
- ["CLSID"] = "{SU30_R77M}",
- ["num"] = 6,
- },
- },
- ["tasks"] = {
- [1] = 29,
- },
- },
- [4] = {
- ["displayName"] = "CAP",
- ["name"] = "CAP",
- ["pylons"] = {
- [1] = {
- ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
- ["num"] = 12,
- },
- [2] = {
- ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
- ["num"] = 1,
- },
- [3] = {
- ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
- ["num"] = 11,
- },
- [4] = {
- ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
- ["num"] = 2,
- },
- [5] = {
- ["CLSID"] = "{SU30_R77M}",
- ["num"] = 10,
- },
- [6] = {
- ["CLSID"] = "{SU30_R27ET}",
- ["num"] = 9,
- },
- [7] = {
- ["CLSID"] = "{SU30_R27EA}",
- ["num"] = 8,
- },
- [8] = {
- ["CLSID"] = "{SU30_R77M}",
- ["num"] = 7,
- },
- [9] = {
- ["CLSID"] = "{SU30_R77M}",
- ["num"] = 6,
- },
- [10] = {
- ["CLSID"] = "{SU30_R27EA}",
- ["num"] = 5,
- },
- [11] = {
- ["CLSID"] = "{SU30_R27ET}",
- ["num"] = 4,
- },
- [12] = {
- ["CLSID"] = "{SU30_R77M}",
- ["num"] = 3,
- },
- },
- ["tasks"] = {
- [1] = 18,
- [2] = 19,
- [3] = 10,
- [4] = 11,
- },
- },
- [5] = {
- ["displayName"] = "Retribution OCA/Runway",
- ["name"] = "Retribution OCA/Runway",
- ["pylons"] = {
- [1] = {
- ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
- ["num"] = 12,
- },
- [2] = {
- ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
- ["num"] = 1,
- },
- [3] = {
- ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
- ["num"] = 11,
- },
- [4] = {
- ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
- ["num"] = 2,
- },
- [5] = {
- ["CLSID"] = "{SU30_R27EA}",
- ["num"] = 8,
- },
- [6] = {
- ["CLSID"] = "{SU30_R27EA}",
- ["num"] = 5,
- },
- [7] = {
- ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
- ["num"] = 10,
- },
- [8] = {
- ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
- ["num"] = 9,
- },
- [9] = {
- ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
- ["num"] = 4,
- },
- [10] = {
- ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
- ["num"] = 3,
- },
- [11] = {
- ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
- ["num"] = 7,
- },
- [12] = {
- ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
- ["num"] = 6,
- },
- },
- ["tasks"] = {
- [1] = 34,
- },
- },
- [6] = {
- ["displayName"] = "Retribution DEAD",
- ["name"] = "Retribution DEAD",
- ["pylons"] = {
- [1] = {
- ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
- ["num"] = 12,
- },
- [2] = {
- ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
- ["num"] = 1,
- },
- [3] = {
- ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
- ["num"] = 11,
- },
- [4] = {
- ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
- ["num"] = 2,
- },
- [5] = {
- ["CLSID"] = "{SU30_R77M}",
- ["num"] = 8,
- },
- [6] = {
- ["CLSID"] = "{SU30_R77M}",
- ["num"] = 5,
- },
- [7] = {
- ["CLSID"] = "{SU30_KH59MK2}",
- ["num"] = 10,
- },
- [8] = {
- ["CLSID"] = "{SU30_KH59MK2}",
- ["num"] = 9,
- },
- [9] = {
- ["CLSID"] = "{SU30_KH59MK2}",
- ["num"] = 4,
- },
- [10] = {
- ["CLSID"] = "{SU30_KH59MK2}",
- ["num"] = 3,
- },
- [11] = {
- ["CLSID"] = "{96A7F676-F956-404A-AD04-F33FB2C74881}",
- ["num"] = 7,
- },
- [12] = {
- ["CLSID"] = "{96A7F676-F956-404A-AD04-F33FB2C74884}",
- ["num"] = 6,
- },
- },
- ["tasks"] = {
- [1] = 29,
- [2] = 32,
- },
- },
- [7] = {
["displayName"] = "Retribution Strike",
["name"] = "Retribution Strike",
["pylons"] = {
@@ -407,7 +60,182 @@ local unitPayloads = {
[3] = 31,
},
},
- [8] = {
+ [2] = {
+ ["displayName"] = "Retribution BAI",
+ ["name"] = "Retribution BAI",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
+ ["num"] = 12,
+ },
+ [2] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
+ ["num"] = 1,
+ },
+ [3] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 11,
+ },
+ [4] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 2,
+ },
+ [5] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 10,
+ },
+ [6] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 3,
+ },
+ [7] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 4,
+ },
+ [8] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 9,
+ },
+ [9] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 8,
+ },
+ [10] = {
+ ["CLSID"] = "{601C99F7-9AF3-4ed7-A565-F8B8EC0D7AAC}",
+ ["num"] = 5,
+ },
+ [11] = {
+ ["CLSID"] = "{SU30_R77M}",
+ ["num"] = 7,
+ },
+ [12] = {
+ ["CLSID"] = "{SU30_R77M}",
+ ["num"] = 6,
+ },
+ },
+ ["tasks"] = {
+ [1] = 31,
+ [2] = 32,
+ },
+ },
+ [3] = {
+ ["displayName"] = "ANTISHIP",
+ ["name"] = "ANTISHIP",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
+ ["num"] = 12,
+ },
+ [2] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
+ ["num"] = 1,
+ },
+ [3] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 11,
+ },
+ [4] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 2,
+ },
+ [5] = {
+ ["CLSID"] = "{SU30_KH31AD}",
+ ["num"] = 8,
+ },
+ [6] = {
+ ["CLSID"] = "{SU30_KH31AD}",
+ ["num"] = 5,
+ },
+ [7] = {
+ ["CLSID"] = "{SU30_KH59MK}",
+ ["num"] = 10,
+ },
+ [8] = {
+ ["CLSID"] = "{SU30_KH59MK}",
+ ["num"] = 9,
+ },
+ [9] = {
+ ["CLSID"] = "{SU30_KH59MK}",
+ ["num"] = 4,
+ },
+ [10] = {
+ ["CLSID"] = "{SU30_KH59MK}",
+ ["num"] = 3,
+ },
+ [11] = {
+ ["CLSID"] = "{SU30_R77M}",
+ ["num"] = 6,
+ },
+ [12] = {
+ ["CLSID"] = "{SU30_R77M}",
+ ["num"] = 7,
+ },
+ },
+ ["tasks"] = {
+ [1] = 30,
+ },
+ },
+ [4] = {
+ ["displayName"] = "CAP",
+ ["name"] = "CAP",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
+ ["num"] = 12,
+ },
+ [2] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
+ ["num"] = 1,
+ },
+ [3] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 11,
+ },
+ [4] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 2,
+ },
+ [5] = {
+ ["CLSID"] = "{SU30_R27ET}",
+ ["num"] = 10,
+ },
+ [6] = {
+ ["CLSID"] = "{SU30_R77M}",
+ ["num"] = 9,
+ },
+ [7] = {
+ ["CLSID"] = "{SU30_R27EA}",
+ ["num"] = 8,
+ },
+ [8] = {
+ ["CLSID"] = "{SU30_R77M}",
+ ["num"] = 7,
+ },
+ [9] = {
+ ["CLSID"] = "{SU30_R77M}",
+ ["num"] = 6,
+ },
+ [10] = {
+ ["CLSID"] = "{SU30_R27EA}",
+ ["num"] = 5,
+ },
+ [11] = {
+ ["CLSID"] = "{SU30_R77M}",
+ ["num"] = 4,
+ },
+ [12] = {
+ ["CLSID"] = "{SU30_R27ET}",
+ ["num"] = 3,
+ },
+ },
+ ["tasks"] = {
+ [1] = 18,
+ [2] = 19,
+ [3] = 10,
+ [4] = 11,
+ },
+ },
+ [5] = {
["name"] = "Retribution CAS",
["pylons"] = {
[1] = {
@@ -464,7 +292,7 @@ local unitPayloads = {
[2] = 32,
},
},
- [9] = {
+ [6] = {
["displayName"] = "Retribution OCA/Aircraft",
["name"] = "Retribution OCA/Aircraft",
["pylons"] = {
@@ -522,6 +350,178 @@ local unitPayloads = {
[2] = 31,
},
},
+ [7] = {
+ ["displayName"] = "Retribution OCA/Runway",
+ ["name"] = "Retribution OCA/Runway",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
+ ["num"] = 12,
+ },
+ [2] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
+ ["num"] = 1,
+ },
+ [3] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 11,
+ },
+ [4] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 2,
+ },
+ [5] = {
+ ["CLSID"] = "{SU30_R27EA}",
+ ["num"] = 8,
+ },
+ [6] = {
+ ["CLSID"] = "{SU30_R27EA}",
+ ["num"] = 5,
+ },
+ [7] = {
+ ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
+ ["num"] = 10,
+ },
+ [8] = {
+ ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
+ ["num"] = 9,
+ },
+ [9] = {
+ ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
+ ["num"] = 4,
+ },
+ [10] = {
+ ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
+ ["num"] = 3,
+ },
+ [11] = {
+ ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
+ ["num"] = 7,
+ },
+ [12] = {
+ ["CLSID"] = "{BD289E34-DF84-4C5E-9220-4B14C346E79D}",
+ ["num"] = 6,
+ },
+ },
+ ["tasks"] = {
+ [1] = 34,
+ },
+ },
+ [8] = {
+ ["displayName"] = "Retribution SEAD",
+ ["name"] = "Retribution SEAD",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
+ ["num"] = 12,
+ },
+ [2] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
+ ["num"] = 1,
+ },
+ [3] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 11,
+ },
+ [4] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 2,
+ },
+ [5] = {
+ ["CLSID"] = "{SU30_KH31PD}",
+ ["num"] = 8,
+ },
+ [6] = {
+ ["CLSID"] = "{SU30_KH31PD}",
+ ["num"] = 5,
+ },
+ [7] = {
+ ["CLSID"] = "{SU30_KH31PD}",
+ ["num"] = 10,
+ },
+ [8] = {
+ ["CLSID"] = "{SU30_KH31PD}",
+ ["num"] = 9,
+ },
+ [9] = {
+ ["CLSID"] = "{SU30_KH31PD}",
+ ["num"] = 4,
+ },
+ [10] = {
+ ["CLSID"] = "{SU30_KH31PD}",
+ ["num"] = 3,
+ },
+ [11] = {
+ ["CLSID"] = "{SU30_R77M}",
+ ["num"] = 7,
+ },
+ [12] = {
+ ["CLSID"] = "{SU30_R77M}",
+ ["num"] = 6,
+ },
+ },
+ ["tasks"] = {
+ [1] = 29,
+ },
+ },
+ [9] = {
+ ["displayName"] = "Retribution DEAD",
+ ["name"] = "Retribution DEAD",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82A}",
+ ["num"] = 12,
+ },
+ [2] = {
+ ["CLSID"] = "{44EE8698-89F9-48EE-AF36-5FD31896A82F}",
+ ["num"] = 1,
+ },
+ [3] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 11,
+ },
+ [4] = {
+ ["CLSID"] = "{FBC29BFE-3D24-4C64-B81D-941239D12249}",
+ ["num"] = 2,
+ },
+ [5] = {
+ ["CLSID"] = "{SU30_R77M}",
+ ["num"] = 8,
+ },
+ [6] = {
+ ["CLSID"] = "{SU30_R77M}",
+ ["num"] = 5,
+ },
+ [7] = {
+ ["CLSID"] = "{SU30_KH59MK2}",
+ ["num"] = 10,
+ },
+ [8] = {
+ ["CLSID"] = "{SU30_KH59MK2}",
+ ["num"] = 9,
+ },
+ [9] = {
+ ["CLSID"] = "{SU30_KH59MK2}",
+ ["num"] = 4,
+ },
+ [10] = {
+ ["CLSID"] = "{SU30_KH59MK2}",
+ ["num"] = 3,
+ },
+ [11] = {
+ ["CLSID"] = "{96A7F676-F956-404A-AD04-F33FB2C74881}",
+ ["num"] = 7,
+ },
+ [12] = {
+ ["CLSID"] = "{96A7F676-F956-404A-AD04-F33FB2C74884}",
+ ["num"] = 6,
+ },
+ },
+ ["tasks"] = {
+ [1] = 29,
+ [2] = 32,
+ },
+ },
},
["tasks"] = {
},
From 02568eaeeeabe1f44b6c9c7b438b7a943e4fd8b4 Mon Sep 17 00:00:00 2001
From: Raffson
Date: Sun, 7 Jul 2024 18:36:30 +0200
Subject: [PATCH 09/12] Update factions w.r.t. Su-30 mod update
---
resources/factions/bluefor_modern.json | 4 ++++
resources/factions/russia_2020.json | 4 ++++
resources/factions/wrl_taskforceblue.json | 4 ++++
resources/factions/wrl_taskforceinsurgent.json | 4 ++++
resources/factions/wrl_taskforcemixed.json | 4 ++++
resources/factions/wrl_taskforcered.json | 4 ++++
6 files changed, 24 insertions(+)
diff --git a/resources/factions/bluefor_modern.json b/resources/factions/bluefor_modern.json
index 3df638cb..aeb2e149 100644
--- a/resources/factions/bluefor_modern.json
+++ b/resources/factions/bluefor_modern.json
@@ -58,6 +58,10 @@
"Su-30MKI Flanker-H",
"Su-30MKM Flanker-H",
"Su-30SM Flanker-H",
+ "Su-30MKA Flanker-H (A-G)",
+ "Su-30MKI Flanker-H (A-G)",
+ "Su-30MKM Flanker-H (A-G)",
+ "Su-30SM Flanker-H (A-G)",
"UH-1H Iroquois",
"UH-60A",
"UH-60L"
diff --git a/resources/factions/russia_2020.json b/resources/factions/russia_2020.json
index 4d0e3467..2358ff9b 100644
--- a/resources/factions/russia_2020.json
+++ b/resources/factions/russia_2020.json
@@ -26,6 +26,10 @@
"Su-30MKI Flanker-H",
"Su-30MKM Flanker-H",
"Su-30SM Flanker-H",
+ "Su-30MKA Flanker-H (A-G)",
+ "Su-30MKI Flanker-H (A-G)",
+ "Su-30MKM Flanker-H (A-G)",
+ "Su-30SM Flanker-H (A-G)",
"Su-33 Flanker-D",
"Su-34 Fullback",
"Su-57 Felon",
diff --git a/resources/factions/wrl_taskforceblue.json b/resources/factions/wrl_taskforceblue.json
index a5569754..a007a180 100644
--- a/resources/factions/wrl_taskforceblue.json
+++ b/resources/factions/wrl_taskforceblue.json
@@ -93,6 +93,10 @@
"Su-30MKI Flanker-H",
"Su-30MKM Flanker-H",
"Su-30SM Flanker-H",
+ "Su-30MKA Flanker-H (A-G)",
+ "Su-30MKI Flanker-H (A-G)",
+ "Su-30MKM Flanker-H (A-G)",
+ "Su-30SM Flanker-H (A-G)",
"Su-57 Felon",
"S-3B Viking",
"SH-60B Seahawk",
diff --git a/resources/factions/wrl_taskforceinsurgent.json b/resources/factions/wrl_taskforceinsurgent.json
index fbe570d5..a04b39cb 100644
--- a/resources/factions/wrl_taskforceinsurgent.json
+++ b/resources/factions/wrl_taskforceinsurgent.json
@@ -93,6 +93,10 @@
"Su-30MKI Flanker-H",
"Su-30MKM Flanker-H",
"Su-30SM Flanker-H",
+ "Su-30MKA Flanker-H (A-G)",
+ "Su-30MKI Flanker-H (A-G)",
+ "Su-30MKM Flanker-H (A-G)",
+ "Su-30SM Flanker-H (A-G)",
"Su-57 Felon",
"S-3B Viking",
"SH-60B Seahawk",
diff --git a/resources/factions/wrl_taskforcemixed.json b/resources/factions/wrl_taskforcemixed.json
index 5e3013ce..23121b30 100644
--- a/resources/factions/wrl_taskforcemixed.json
+++ b/resources/factions/wrl_taskforcemixed.json
@@ -93,6 +93,10 @@
"Su-30MKI Flanker-H",
"Su-30MKM Flanker-H",
"Su-30SM Flanker-H",
+ "Su-30MKA Flanker-H (A-G)",
+ "Su-30MKI Flanker-H (A-G)",
+ "Su-30MKM Flanker-H (A-G)",
+ "Su-30SM Flanker-H (A-G)",
"Su-57 Felon",
"S-3B Viking",
"SH-60B Seahawk",
diff --git a/resources/factions/wrl_taskforcered.json b/resources/factions/wrl_taskforcered.json
index dcffc88c..caa9a0d2 100644
--- a/resources/factions/wrl_taskforcered.json
+++ b/resources/factions/wrl_taskforcered.json
@@ -93,6 +93,10 @@
"Su-30MKI Flanker-H",
"Su-30MKM Flanker-H",
"Su-30SM Flanker-H",
+ "Su-30MKA Flanker-H (A-G)",
+ "Su-30MKI Flanker-H (A-G)",
+ "Su-30MKM Flanker-H (A-G)",
+ "Su-30SM Flanker-H (A-G)",
"Su-57 Felon",
"S-3B Viking",
"SH-60B Seahawk",
From 9a0ddd683ca8e167adec732d71be46424ccdff36 Mon Sep 17 00:00:00 2001
From: Raffson
Date: Sun, 7 Jul 2024 18:43:26 +0200
Subject: [PATCH 10/12] Update version for Su30 in GeneratorSettings page
---
qt_ui/windows/newgame/WizardPages/QGeneratorSettings.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/qt_ui/windows/newgame/WizardPages/QGeneratorSettings.py b/qt_ui/windows/newgame/WizardPages/QGeneratorSettings.py
index cf153da8..bf1b8c12 100644
--- a/qt_ui/windows/newgame/WizardPages/QGeneratorSettings.py
+++ b/qt_ui/windows/newgame/WizardPages/QGeneratorSettings.py
@@ -186,7 +186,7 @@ class GeneratorOptions(QtWidgets.QWizardPage):
("Spanish Naval Assets pack (desdemicabina 3.2.0)", self.spanishnavypack),
("Star Wars Modpack 2.54+", self.SWPack),
("Su-15 Flagon (v1.0)", self.su15_flagon),
- ("Su-30 Flanker-H (V2.7.3 beta)", self.su30_flanker_h),
+ ("Su-30 Flanker-H (V2.7.73b)", self.su30_flanker_h),
("Su-57 Felon (build-04)", self.su57_felon),
("Super Étendard (v2.5.5)", self.super_etendard),
("Swedish Military Assets pack (1.10)", self.swedishmilitaryassetspack),
From eb5062579f74f2a7a45728ddac0494d9affefabd Mon Sep 17 00:00:00 2001
From: Raffson
Date: Sun, 7 Jul 2024 18:44:45 +0200
Subject: [PATCH 11/12] Fix lint-error
---
qt_ui/windows/QUnitInfoWindow.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/qt_ui/windows/QUnitInfoWindow.py b/qt_ui/windows/QUnitInfoWindow.py
index 5ba73b4a..1e617150 100644
--- a/qt_ui/windows/QUnitInfoWindow.py
+++ b/qt_ui/windows/QUnitInfoWindow.py
@@ -39,7 +39,7 @@ def aircraft_banner_for(unit_type: AircraftType) -> Path:
"Su-30MKA-AG",
"Su-30MKI-AG",
"Su-30MKM-AG",
- "Su-30SM-AG"
+ "Su-30SM-AG",
}:
name = "Su-30SM"
elif unit_type.dcs_id == "F-15ESE":
From eb5cceff16f2ef50790863cd134c58d35f5b1c59 Mon Sep 17 00:00:00 2001
From: Turbolious <39207917+Turbolious@users.noreply.github.com>
Date: Sun, 7 Jul 2024 12:47:07 -0500
Subject: [PATCH 12/12] Sk 60 mod support (#360)
---
changelog.md | 1 +
game/factions/faction.py | 2 +
game/theater/start_generator.py | 1 +
pydcs_extensions/__init__.py | 1 +
pydcs_extensions/sk60/__init__.py | 1 +
pydcs_extensions/sk60/sk60.py | 101 +++++++++
qt_ui/main.py | 1 +
qt_ui/windows/newgame/QNewGameWizard.py | 1 +
.../newgame/WizardPages/QGeneratorSettings.py | 4 +
resources/customized_payloads/SK-60.lua | 192 ++++++++++++++++++
resources/factions/sweden_1980.json | 51 +++++
.../ui/units/aircrafts/banners/SK-60.jpg | Bin 0 -> 91701 bytes
.../ui/units/aircrafts/icons/SK-60_24.jpg | Bin 0 -> 5602 bytes
resources/units/aircraft/SK-60.yaml | 24 +++
14 files changed, 380 insertions(+)
create mode 100644 pydcs_extensions/sk60/__init__.py
create mode 100644 pydcs_extensions/sk60/sk60.py
create mode 100644 resources/customized_payloads/SK-60.lua
create mode 100644 resources/factions/sweden_1980.json
create mode 100644 resources/ui/units/aircrafts/banners/SK-60.jpg
create mode 100644 resources/ui/units/aircrafts/icons/SK-60_24.jpg
create mode 100644 resources/units/aircraft/SK-60.yaml
diff --git a/changelog.md b/changelog.md
index df7f38cc..15856865 100644
--- a/changelog.md
+++ b/changelog.md
@@ -22,6 +22,7 @@
* **[UI/UX]** Allow changing conditions such as Time, Date & Weather
* **[Modding]** Added support for Su-15 Flagon mod (v1.0)
* **[Plugins]** Support for Carsten's Arty Spotter script
+* **[Modding]** Added support for SK-60 mod (v1.2.1)
## Fixes
* **[UI/UX]** A-10A flights can be edited again
diff --git a/game/factions/faction.py b/game/factions/faction.py
index 22a1d115..227face3 100644
--- a/game/factions/faction.py
+++ b/game/factions/faction.py
@@ -410,6 +410,8 @@ class Faction:
self.remove_aircraft("JAS39Gripen_AG")
if not mod_settings.super_etendard:
self.remove_aircraft("VSN_SEM")
+ if not mod_settings.sk_60:
+ self.remove_aircraft("SK-60")
if not mod_settings.su15_flagon:
self.remove_aircraft("Su_15")
self.remove_aircraft("Su_15TM")
diff --git a/game/theater/start_generator.py b/game/theater/start_generator.py
index 9a0b2ef4..ac78996c 100644
--- a/game/theater/start_generator.py
+++ b/game/theater/start_generator.py
@@ -86,6 +86,7 @@ class ModSettings:
irondome: bool = False
uh_60l: bool = False
jas39_gripen: bool = False
+ sk_60: bool = False
super_etendard: bool = False
su15_flagon: bool = False
su30_flanker_h: bool = False
diff --git a/pydcs_extensions/__init__.py b/pydcs_extensions/__init__.py
index c5c4071e..97a3235a 100644
--- a/pydcs_extensions/__init__.py
+++ b/pydcs_extensions/__init__.py
@@ -24,6 +24,7 @@ from .jas39 import *
from .ov10a import *
from .spanishnavypack import *
from .super_etendard import *
+from .sk60 import *
from .su15 import *
from .su30 import *
from .su57 import *
diff --git a/pydcs_extensions/sk60/__init__.py b/pydcs_extensions/sk60/__init__.py
new file mode 100644
index 00000000..12403a82
--- /dev/null
+++ b/pydcs_extensions/sk60/__init__.py
@@ -0,0 +1 @@
+from .sk60 import *
diff --git a/pydcs_extensions/sk60/sk60.py b/pydcs_extensions/sk60/sk60.py
new file mode 100644
index 00000000..f5d167c9
--- /dev/null
+++ b/pydcs_extensions/sk60/sk60.py
@@ -0,0 +1,101 @@
+from typing import Any, Dict, Set
+
+from dcs import task
+from dcs.planes import PlaneType
+from dcs.weapons_data import Weapons
+
+from game.modsupport import planemod
+from pydcs_extensions.weapon_injector import inject_weapons
+
+
+class WeaponsSK_60:
+ _1x_13_5cm_HE_rocket = {
+ "clsid": "{d694b359-e7a8-4909-88d4-7100b77afd13}",
+ "name": "1x 13,5cm HE rocket",
+ "weight": 50,
+ }
+ _1x_14_5cm_HEAT_rocket = {
+ "clsid": "{d694b359-e7a8-4909-88d4-7100b77afd12}",
+ "name": "1x 14,5cm HEAT rocket",
+ "weight": 50,
+ }
+ _2x_13_5cm_HE_rocket = {
+ "clsid": "{d694b359-e7a8-4909-88d4-7100b77afd11}",
+ "name": "2x 13,5cm HE rocket",
+ "weight": 95,
+ }
+ AKAN_m_55_Gunpod = {
+ "clsid": "{5d5aa063-a002-4de8-8a89-6eda1e80ee7b}",
+ "name": "AKAN m/55 Gunpod",
+ "weight": 196,
+ }
+
+
+inject_weapons(WeaponsSK_60)
+
+
+@planemod
+class SK_60(PlaneType):
+ id = "SK-60"
+ flyable = True
+ height = 2.7
+ width = 9.5
+ length = 10.8
+ fuel_max = 1640
+ max_speed = 879.9984
+ chaff = 0
+ flare = 0
+ charge_total = 0
+ chaff_charge_size = 0
+ flare_charge_size = 0
+ eplrs = True
+ category = "Interceptor" # {78EFB7A2-FD52-4b57-A6A6-3BF0E1D6555F}
+ radio_frequency = 243
+
+ livery_name = "SK-60" # from type
+
+ class Pylon1:
+ _2x_13_5cm_HE_rocket = (1, Weapons._2x_13_5cm_HE_rocket)
+ _1x_14_5cm_HEAT_rocket = (1, Weapons._1x_14_5cm_HEAT_rocket)
+ _1x_13_5cm_HE_rocket = (1, Weapons._1x_13_5cm_HE_rocket)
+
+ class Pylon2:
+ AKAN_m_55_Gunpod = (2, Weapons.AKAN_m_55_Gunpod)
+ _2x_13_5cm_HE_rocket = (2, Weapons._2x_13_5cm_HE_rocket)
+ _1x_14_5cm_HEAT_rocket = (2, Weapons._1x_14_5cm_HEAT_rocket)
+ _1x_13_5cm_HE_rocket = (2, Weapons._1x_13_5cm_HE_rocket)
+
+ class Pylon3:
+ _2x_13_5cm_HE_rocket = (3, Weapons._2x_13_5cm_HE_rocket)
+ _1x_14_5cm_HEAT_rocket = (3, Weapons._1x_14_5cm_HEAT_rocket)
+ _1x_13_5cm_HE_rocket = (3, Weapons._1x_13_5cm_HE_rocket)
+
+ class Pylon4:
+ _2x_13_5cm_HE_rocket = (4, Weapons._2x_13_5cm_HE_rocket)
+ _1x_14_5cm_HEAT_rocket = (4, Weapons._1x_14_5cm_HEAT_rocket)
+ _1x_13_5cm_HE_rocket = (4, Weapons._1x_13_5cm_HE_rocket)
+
+ class Pylon5:
+ AKAN_m_55_Gunpod = (5, Weapons.AKAN_m_55_Gunpod)
+ _2x_13_5cm_HE_rocket = (5, Weapons._2x_13_5cm_HE_rocket)
+ _1x_14_5cm_HEAT_rocket = (5, Weapons._1x_14_5cm_HEAT_rocket)
+ _1x_13_5cm_HE_rocket = (5, Weapons._1x_13_5cm_HE_rocket)
+
+ class Pylon6:
+ _2x_13_5cm_HE_rocket = (6, Weapons._2x_13_5cm_HE_rocket)
+ _1x_14_5cm_HEAT_rocket = (6, Weapons._1x_14_5cm_HEAT_rocket)
+ _1x_13_5cm_HE_rocket = (6, Weapons._1x_13_5cm_HE_rocket)
+
+ pylons: Set[int] = {1, 2, 3, 4, 5, 6, 7, 8}
+
+ tasks = [
+ task.GroundAttack,
+ task.PinpointStrike,
+ task.CAS,
+ task.AFAC,
+ task.RunwayAttack,
+ task.SEAD,
+ task.Escort,
+ task.Reconnaissance,
+ ]
+ task_default = task.GroundAttack
diff --git a/qt_ui/main.py b/qt_ui/main.py
index d7063af6..bcf99a15 100644
--- a/qt_ui/main.py
+++ b/qt_ui/main.py
@@ -336,6 +336,7 @@ def create_game(
f105_thunderchief=False,
hercules=False,
jas39_gripen=False,
+ sk60_saab105=False,
su15_flagon=False,
su30_flanker_h=False,
su57_felon=False,
diff --git a/qt_ui/windows/newgame/QNewGameWizard.py b/qt_ui/windows/newgame/QNewGameWizard.py
index 0948079c..e4ee75a7 100644
--- a/qt_ui/windows/newgame/QNewGameWizard.py
+++ b/qt_ui/windows/newgame/QNewGameWizard.py
@@ -110,6 +110,7 @@ class NewGameWizard(QtWidgets.QWizard):
uh_60l=self.field("uh_60l"),
jas39_gripen=self.field("jas39_gripen"),
super_etendard=self.field("super_etendard"),
+ sk_60=self.field("sk_60"),
su15_flagon=self.field("su15_flagon"),
su30_flanker_h=self.field("su30_flanker_h"),
su57_felon=self.field("su57_felon"),
diff --git a/qt_ui/windows/newgame/WizardPages/QGeneratorSettings.py b/qt_ui/windows/newgame/WizardPages/QGeneratorSettings.py
index bf1b8c12..a115e1ed 100644
--- a/qt_ui/windows/newgame/WizardPages/QGeneratorSettings.py
+++ b/qt_ui/windows/newgame/WizardPages/QGeneratorSettings.py
@@ -130,6 +130,8 @@ class GeneratorOptions(QtWidgets.QWizardPage):
self.registerField("jas39_gripen", self.jas39_gripen)
self.super_etendard = QtWidgets.QCheckBox()
self.registerField("super_etendard", self.super_etendard)
+ self.sk_60 = QtWidgets.QCheckBox()
+ self.registerField("sk_60", self.sk_60)
self.su15_flagon = QtWidgets.QCheckBox()
self.registerField("su15_flagon", self.su15_flagon)
self.su30_flanker_h = QtWidgets.QCheckBox()
@@ -185,6 +187,7 @@ class GeneratorOptions(QtWidgets.QWizardPage):
("OV-10A Bronco", self.ov10a_bronco),
("Spanish Naval Assets pack (desdemicabina 3.2.0)", self.spanishnavypack),
("Star Wars Modpack 2.54+", self.SWPack),
+ ("Saab 105/SK-60B (v1.2.1)", self.sk_60),
("Su-15 Flagon (v1.0)", self.su15_flagon),
("Su-30 Flanker-H (V2.7.73b)", self.su30_flanker_h),
("Su-57 Felon (build-04)", self.su57_felon),
@@ -246,6 +249,7 @@ class GeneratorOptions(QtWidgets.QWizardPage):
self.f105_thunderchief.setChecked(s.get("f105_thunderchief", False))
self.f106_deltadart.setChecked(s.get("f106_deltadart", False))
self.jas39_gripen.setChecked(s.get("jas39_gripen", False))
+ self.sk_60.setChecked(s.get("sk_60", False))
self.super_etendard.setChecked(s.get("super_etendard", False))
self.su30_flanker_h.setChecked(s.get("su30_flanker_h", False))
self.su57_felon.setChecked(s.get("su57_felon", False))
diff --git a/resources/customized_payloads/SK-60.lua b/resources/customized_payloads/SK-60.lua
new file mode 100644
index 00000000..7c379f99
--- /dev/null
+++ b/resources/customized_payloads/SK-60.lua
@@ -0,0 +1,192 @@
+local unitPayloads = {
+ ["name"] = "SK-60",
+ ["payloads"] = {
+ [1] = {
+ ["name"] = "Retribution DEAD",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd12}",
+ ["num"] = 1,
+ },
+ [2] = {
+ ["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd12}",
+ ["num"] = 2,
+ },
+ [3] = {
+ ["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd12}",
+ ["num"] = 3,
+ },
+ [4] = {
+ ["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd12}",
+ ["num"] = 4,
+ },
+ [5] = {
+ ["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd12}",
+ ["num"] = 5,
+ },
+ [6] = {
+ ["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd12}",
+ ["num"] = 6,
+ },
+ },
+ ["tasks"] = {
+ [1] = 15,
+ },
+ },
+ [2] = {
+ ["name"] = "Retribution OCA/Aircraft",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd11}",
+ ["num"] = 1,
+ },
+ [2] = {
+ ["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd11}",
+ ["num"] = 2,
+ },
+ [3] = {
+ ["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd11}",
+ ["num"] = 3,
+ },
+ [4] = {
+ ["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd11}",
+ ["num"] = 4,
+ },
+ [5] = {
+ ["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd11}",
+ ["num"] = 5,
+ },
+ [6] = {
+ ["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd11}",
+ ["num"] = 6,
+ },
+ },
+ ["tasks"] = {
+ [1] = 15,
+ },
+ },
+ [3] = {
+ ["displayName"] = "Retribution Strike",
+ ["name"] = "Retribution Strike",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd12}",
+ ["num"] = 1,
+ },
+ [2] = {
+ ["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd12}",
+ ["num"] = 2,
+ },
+ [3] = {
+ ["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd12}",
+ ["num"] = 3,
+ },
+ [4] = {
+ ["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd12}",
+ ["num"] = 4,
+ },
+ [5] = {
+ ["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd12}",
+ ["num"] = 5,
+ },
+ [6] = {
+ ["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd12}",
+ ["num"] = 6,
+ },
+ },
+ ["tasks"] = {
+ [1] = 15,
+ },
+ },
+ [4] = {
+ ["displayName"] = "Retribution CAS",
+ ["name"] = "Retribution CAS",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd12}",
+ ["num"] = 1,
+ },
+ [2] = {
+ ["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd12}",
+ ["num"] = 2,
+ },
+ [3] = {
+ ["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd12}",
+ ["num"] = 3,
+ },
+ [4] = {
+ ["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd12}",
+ ["num"] = 4,
+ },
+ [5] = {
+ ["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd12}",
+ ["num"] = 5,
+ },
+ [6] = {
+ ["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd12}",
+ ["num"] = 6,
+ },
+ },
+ ["tasks"] = {
+ [1] = 15,
+ },
+ },
+ [5] = {
+ ["name"] = "Retribution BAI",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd11}",
+ ["num"] = 3,
+ },
+ [2] = {
+ ["CLSID"] = "{5d5aa063-a002-4de8-8a89-6eda1e80ee7b}",
+ ["num"] = 2,
+ },
+ [3] = {
+ ["CLSID"] = "{5d5aa063-a002-4de8-8a89-6eda1e80ee7b}",
+ ["num"] = 5,
+ },
+ },
+ ["tasks"] = {
+ [1] = 15,
+ },
+ },
+ [6] = {
+ ["displayName"] = "Retribution OCA/Runway",
+ ["name"] = "Retribution OCA/Runway",
+ ["pylons"] = {
+ [1] = {
+ ["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd12}",
+ ["num"] = 1,
+ },
+ [2] = {
+ ["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd12}",
+ ["num"] = 2,
+ },
+ [3] = {
+ ["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd12}",
+ ["num"] = 3,
+ },
+ [4] = {
+ ["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd12}",
+ ["num"] = 4,
+ },
+ [5] = {
+ ["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd12}",
+ ["num"] = 5,
+ },
+ [6] = {
+ ["CLSID"] = "{d694b359-e7a8-4909-88d4-7100b77afd12}",
+ ["num"] = 6,
+ },
+ },
+ ["tasks"] = {
+ [1] = 15,
+ },
+ },
+ },
+ ["tasks"] = {
+ },
+ ["unitType"] = "SK-60",
+}
+return unitPayloads
diff --git a/resources/factions/sweden_1980.json b/resources/factions/sweden_1980.json
new file mode 100644
index 00000000..1f8e7228
--- /dev/null
+++ b/resources/factions/sweden_1980.json
@@ -0,0 +1,51 @@
+{
+ "country": "Sweden",
+ "name": "Sweden 1980",
+ "authors": "Turbolious",
+ "description": "Sweden in the 80s.
Note : Limited A2A capabilities.
",
+ "locales": [
+ "sv_SE"
+ ],
+ "aircrafts": [
+ "AJS-37 Viggen",
+ "SK-60",
+ "UH-1H Iroquois"
+ ],
+ "awacs": [
+ "E-3A"
+ ],
+ "tankers": [
+ "KC-130",
+ "KC-135 Stratotanker"
+ ],
+ "frontline_units": [
+ "FV510 Warrior",
+ "Leopard 2A4",
+ "M1097 Heavy HMMWV Avenger",
+ "M1126 Stryker ICV (M2 HMG)",
+ "M48 Chaparral"
+ ],
+ "artillery_units": [],
+ "logistics_units": [
+ "Truck M818 6x6"
+ ],
+ "infantry_units": [
+ "Infantry M249",
+ "Infantry M4",
+ "MANPADS Stinger"
+ ],
+ "preset_groups": [
+ "Hawk"
+ ],
+ "naval_units": [
+ "FFG Oliver Hazard Perry"
+ ],
+ "missiles": [],
+ "air_defense_units": [
+ "SAM Hawk SR (AN/MPQ-50)",
+ "M1097 Heavy HMMWV Avenger",
+ "M48 Chaparral"
+ ],
+ "has_jtac": true,
+ "jtac_unit": "SK-60"
+}
\ No newline at end of file
diff --git a/resources/ui/units/aircrafts/banners/SK-60.jpg b/resources/ui/units/aircrafts/banners/SK-60.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..407b4dce05835779daab0c4c5a87dff0a9b02dff
GIT binary patch
literal 91701
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