mirror of
https://github.com/dcs-liberation/dcs_liberation.git
synced 2025-11-10 14:22:26 +00:00
Compare commits
7 Commits
9.0.0
...
develop_2_
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2bdf9d3423 | ||
|
|
0cd359f36b | ||
|
|
39bd6e3c10 | ||
|
|
ed89c49fd4 | ||
|
|
4000b42df2 | ||
|
|
f73a68aeca | ||
|
|
7f8dae003f |
13
.github/workflows/black.yml
vendored
Normal file
13
.github/workflows/black.yml
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
name: Lint
|
||||
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
lint:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-python@v2
|
||||
- uses: psf/black@stable
|
||||
with:
|
||||
args: ". --check"
|
||||
6
.pre-commit-config.yaml
Normal file
6
.pre-commit-config.yaml
Normal file
@@ -0,0 +1,6 @@
|
||||
repos:
|
||||
- repo: https://github.com/psf/black
|
||||
rev: 20.8b1
|
||||
hooks:
|
||||
- id: black
|
||||
language_version: python3
|
||||
@@ -1,3 +1,9 @@
|
||||
# 2.4.4
|
||||
|
||||
## Fixes
|
||||
|
||||
* **[Mission Generation]** Fixed "invalid face handle" error in kneeboard generation that occurred on some machines.
|
||||
|
||||
# 2.4.3
|
||||
|
||||
## Features/Improvements
|
||||
|
||||
@@ -55,10 +55,18 @@ class KneeboardPageWriter:
|
||||
# more information in the comm ladder (the latter of which we should
|
||||
# probably do), we'll need to split some of this information off into a
|
||||
# second page.
|
||||
self.title_font = ImageFont.truetype("arial.ttf", 32)
|
||||
self.heading_font = ImageFont.truetype("arial.ttf", 24)
|
||||
self.content_font = ImageFont.truetype("arial.ttf", 20)
|
||||
self.table_font = ImageFont.truetype("resources/fonts/Inconsolata.otf", 20)
|
||||
self.title_font = ImageFont.truetype(
|
||||
"arial.ttf", 32, layout_engine=ImageFont.LAYOUT_BASIC
|
||||
)
|
||||
self.heading_font = ImageFont.truetype(
|
||||
"arial.ttf", 24, layout_engine=ImageFont.LAYOUT_BASIC
|
||||
)
|
||||
self.content_font = ImageFont.truetype(
|
||||
"arial.ttf", 20, layout_engine=ImageFont.LAYOUT_BASIC
|
||||
)
|
||||
self.table_font = ImageFont.truetype(
|
||||
"resources/fonts/Inconsolata.otf", 20, layout_engine=ImageFont.LAYOUT_BASIC
|
||||
)
|
||||
self.draw = ImageDraw.Draw(self.image)
|
||||
self.x = page_margin
|
||||
self.y = page_margin
|
||||
|
||||
@@ -6,99 +6,412 @@ from dcs.weapons_data import Weapons
|
||||
|
||||
|
||||
class WeaponsA4EC:
|
||||
AN_M57__2__TER_ = {"clsid": "{AN-M57_TER_2_L}", "name": "AN-M57 *2 (TER)", "weight": 273.6}
|
||||
AN_M57__2__TER__ = {"clsid": "{AN-M57_TER_2_R}", "name": "AN-M57 *2 (TER)", "weight": 273.6}
|
||||
AN_M57__3__TER_ = {"clsid": "{AN-M57_TER_3_C}", "name": "AN-M57 *3 (TER)", "weight": 386.6}
|
||||
AN_M57__5__MER_ = {"clsid": "{AN-M57_MER_5_L}", "name": "AN-M57 *5 (MER)", "weight": 664.8}
|
||||
AN_M57__5__MER__ = {"clsid": "{AN-M57_MER_5_R}", "name": "AN-M57 *5 (MER)", "weight": 664.8}
|
||||
AN_M57__6__MER_ = {"clsid": "{AN-M57_MER_6_C}", "name": "AN-M57 *6 (MER)", "weight": 777.8}
|
||||
AN_M57__2__TER_ = {
|
||||
"clsid": "{AN-M57_TER_2_L}",
|
||||
"name": "AN-M57 *2 (TER)",
|
||||
"weight": 273.6,
|
||||
}
|
||||
AN_M57__2__TER__ = {
|
||||
"clsid": "{AN-M57_TER_2_R}",
|
||||
"name": "AN-M57 *2 (TER)",
|
||||
"weight": 273.6,
|
||||
}
|
||||
AN_M57__3__TER_ = {
|
||||
"clsid": "{AN-M57_TER_3_C}",
|
||||
"name": "AN-M57 *3 (TER)",
|
||||
"weight": 386.6,
|
||||
}
|
||||
AN_M57__5__MER_ = {
|
||||
"clsid": "{AN-M57_MER_5_L}",
|
||||
"name": "AN-M57 *5 (MER)",
|
||||
"weight": 664.8,
|
||||
}
|
||||
AN_M57__5__MER__ = {
|
||||
"clsid": "{AN-M57_MER_5_R}",
|
||||
"name": "AN-M57 *5 (MER)",
|
||||
"weight": 664.8,
|
||||
}
|
||||
AN_M57__6__MER_ = {
|
||||
"clsid": "{AN-M57_MER_6_C}",
|
||||
"name": "AN-M57 *6 (MER)",
|
||||
"weight": 777.8,
|
||||
}
|
||||
AN_M66A2 = {"clsid": "{AN-M66A2}", "name": "AN-M66A2", "weight": 970.68688}
|
||||
AN_M81 = {"clsid": "{AN-M81}", "name": "AN-M81", "weight": 117.93392}
|
||||
AN_M81__5__MER_ = {"clsid": "{AN-M81_MER_5_L}", "name": "AN-M81 *5 (MER)", "weight": 689.3}
|
||||
AN_M81__5__MER__ = {"clsid": "{AN-M81_MER_5_R}", "name": "AN-M81 *5 (MER)", "weight": 689.3}
|
||||
AN_M81__6__MER_ = {"clsid": "{AN-M81_MER_6_C}", "name": "AN-M81 *6 (MER)", "weight": 807.2}
|
||||
AN_M81__5__MER_ = {
|
||||
"clsid": "{AN-M81_MER_5_L}",
|
||||
"name": "AN-M81 *5 (MER)",
|
||||
"weight": 689.3,
|
||||
}
|
||||
AN_M81__5__MER__ = {
|
||||
"clsid": "{AN-M81_MER_5_R}",
|
||||
"name": "AN-M81 *5 (MER)",
|
||||
"weight": 689.3,
|
||||
}
|
||||
AN_M81__6__MER_ = {
|
||||
"clsid": "{AN-M81_MER_6_C}",
|
||||
"name": "AN-M81 *6 (MER)",
|
||||
"weight": 807.2,
|
||||
}
|
||||
AN_M88 = {"clsid": "{AN-M88}", "name": "AN-M88", "weight": 98.0665904}
|
||||
AN_M88__5__MER_ = {"clsid": "{AN-M88_MER_5_L}", "name": "AN-M88 *5 (MER)", "weight": 589.8}
|
||||
AN_M88__5__MER__ = {"clsid": "{AN-M88_MER_5_R}", "name": "AN-M88 *5 (MER)", "weight": 589.8}
|
||||
AN_M88__6__MER_ = {"clsid": "{AN-M88_MER_6_C}", "name": "AN-M88 *6 (MER)", "weight": 687.8}
|
||||
AN_M88__5__MER_ = {
|
||||
"clsid": "{AN-M88_MER_5_L}",
|
||||
"name": "AN-M88 *5 (MER)",
|
||||
"weight": 589.8,
|
||||
}
|
||||
AN_M88__5__MER__ = {
|
||||
"clsid": "{AN-M88_MER_5_R}",
|
||||
"name": "AN-M88 *5 (MER)",
|
||||
"weight": 589.8,
|
||||
}
|
||||
AN_M88__6__MER_ = {
|
||||
"clsid": "{AN-M88_MER_6_C}",
|
||||
"name": "AN-M88 *6 (MER)",
|
||||
"weight": 687.8,
|
||||
}
|
||||
CBU_1_A = {"clsid": "{CBU-1/A}", "name": "CBU-1/A", "weight": 458.921706}
|
||||
CBU_1_A__2 = {"clsid": "{CBU-1/A_TER_2_L}", "name": "CBU-1/A *2", "weight": 713.473056}
|
||||
CBU_1_A__2_ = {"clsid": "{CBU-1/A_TER_2_R}", "name": "CBU-1/A *2", "weight": 713.473056}
|
||||
CBU_1_A__2 = {
|
||||
"clsid": "{CBU-1/A_TER_2_L}",
|
||||
"name": "CBU-1/A *2",
|
||||
"weight": 713.473056,
|
||||
}
|
||||
CBU_1_A__2_ = {
|
||||
"clsid": "{CBU-1/A_TER_2_R}",
|
||||
"name": "CBU-1/A *2",
|
||||
"weight": 713.473056,
|
||||
}
|
||||
CBU_2B_A = {"clsid": "{CBU-2B/A}", "name": "CBU-2B/A", "weight": 379.543106}
|
||||
CBU_2B_A__2 = {"clsid": "{CBU-2B/A_TER_2_L}", "name": "CBU-2B/A *2", "weight": 806.686212}
|
||||
CBU_2B_A__2_ = {"clsid": "{CBU-2B/A_TER_2_R}", "name": "CBU-2B/A *2", "weight": 806.686212}
|
||||
CBU_2B_A__2 = {
|
||||
"clsid": "{CBU-2B/A_TER_2_L}",
|
||||
"name": "CBU-2B/A *2",
|
||||
"weight": 806.686212,
|
||||
}
|
||||
CBU_2B_A__2_ = {
|
||||
"clsid": "{CBU-2B/A_TER_2_R}",
|
||||
"name": "CBU-2B/A *2",
|
||||
"weight": 806.686212,
|
||||
}
|
||||
CBU_2_A = {"clsid": "{CBU-2/A}", "name": "CBU-2/A", "weight": 343.822736}
|
||||
CBU_2_A__2 = {"clsid": "{CBU-2/A_TER_2_L}", "name": "CBU-2/A *2", "weight": 735.245472}
|
||||
CBU_2_A__2_ = {"clsid": "{CBU-2/A_TER_2_R}", "name": "CBU-2/A *2", "weight": 735.245472}
|
||||
D_704_Refueling_Pod = {"clsid": "{D-704_BUDDY_POD}", "name": "D-704 Refueling Pod", "weight": 1234.532648}
|
||||
Fuel_Tank_150_gallons = {"clsid": "{DFT-150gal}", "name": "Fuel Tank 150 gallons", "weight": 515.888512}
|
||||
Fuel_Tank_300_gallons = {"clsid": "{DFT-300gal}", "name": "Fuel Tank 300 gallons", "weight": 991.407336}
|
||||
Fuel_Tank_300_gallons_ = {"clsid": "{DFT-300gal_LR}", "name": "Fuel Tank 300 gallons", "weight": 998.664808}
|
||||
Fuel_Tank_400_gallons = {"clsid": "{DFT-400gal}", "name": "Fuel Tank 400 gallons", "weight": 1320.06208}
|
||||
LAU_10_2___4_ZUNI_MK_71 = {"clsid": "{LAU-10 ZUNI_TER_2_C}", "name": "LAU-10*2 - 4 ZUNI MK 71", "weight": 927.6}
|
||||
LAU_10_2___4_ZUNI_MK_71_ = {"clsid": "{LAU-10 ZUNI_TER_2_L}", "name": "LAU-10*2 - 4 ZUNI MK 71", "weight": 927.6}
|
||||
LAU_10_2___4_ZUNI_MK_71__ = {"clsid": "{LAU-10 ZUNI_TER_2_R}", "name": "LAU-10*2 - 4 ZUNI MK 71", "weight": 927.6}
|
||||
LAU_10_3___4_ZUNI_MK_71 = {"clsid": "{LAU-10 ZUNI_TER_3_C}", "name": "LAU-10*3 - 4 ZUNI MK 71", "weight": 1367.6}
|
||||
LAU_3_2___19_FFAR_M156_WP = {"clsid": "{LAU-3 FFAR WP156_TER_2_C}", "name": "LAU-3*2 - 19 FFAR M156 WP", "weight": 673.3414512}
|
||||
LAU_3_2___19_FFAR_M156_WP_ = {"clsid": "{LAU-3 FFAR WP156_TER_2_L}", "name": "LAU-3*2 - 19 FFAR M156 WP", "weight": 673.3414512}
|
||||
LAU_3_2___19_FFAR_M156_WP__ = {"clsid": "{LAU-3 FFAR WP156_TER_2_R}", "name": "LAU-3*2 - 19 FFAR M156 WP", "weight": 673.3414512}
|
||||
LAU_3_2___19_FFAR_Mk1_HE = {"clsid": "{LAU-3 FFAR Mk1 HE_TER_2_C}", "name": "LAU-3*2 - 19 FFAR Mk1 HE", "weight": 618.184664}
|
||||
LAU_3_2___19_FFAR_Mk1_HE_ = {"clsid": "{LAU-3 FFAR Mk1 HE_TER_2_L}", "name": "LAU-3*2 - 19 FFAR Mk1 HE", "weight": 618.184664}
|
||||
LAU_3_2___19_FFAR_Mk1_HE__ = {"clsid": "{LAU-3 FFAR Mk1 HE_TER_2_R}", "name": "LAU-3*2 - 19 FFAR Mk1 HE", "weight": 618.184664}
|
||||
LAU_3_2___19_FFAR_Mk5_HEAT = {"clsid": "{LAU-3 FFAR Mk5 HEAT_TER_2_C}", "name": "LAU-3*2 - 19 FFAR Mk5 HEAT", "weight": 619.9083136}
|
||||
LAU_3_2___19_FFAR_Mk5_HEAT_ = {"clsid": "{LAU-3 FFAR Mk5 HEAT_TER_2_L}", "name": "LAU-3*2 - 19 FFAR Mk5 HEAT", "weight": 619.9083136}
|
||||
LAU_3_2___19_FFAR_Mk5_HEAT__ = {"clsid": "{LAU-3 FFAR Mk5 HEAT_TER_2_R}", "name": "LAU-3*2 - 19 FFAR Mk5 HEAT", "weight": 619.9083136}
|
||||
LAU_3_3___19_FFAR_M156_WP = {"clsid": "{LAU-3 FFAR WP156_TER_3_C}", "name": "LAU-3*3 - 19 FFAR M156 WP", "weight": 986.2121768}
|
||||
LAU_3_3___19_FFAR_Mk1_HE = {"clsid": "{LAU-3 FFAR Mk1 HE_TER_3_C}", "name": "LAU-3*3 - 19 FFAR Mk1 HE", "weight": 903.476996}
|
||||
LAU_3_3___19_FFAR_Mk5_HEAT = {"clsid": "{LAU-3 FFAR Mk5 HEAT_TER_3_C}", "name": "LAU-3*3 - 19 FFAR Mk5 HEAT", "weight": 906.0624704}
|
||||
LAU_68_2___7_FFAR_M156_WP = {"clsid": "{LAU-68 FFAR WP156_TER_2_C}", "name": "LAU-68*2 - 7 FFAR M156 WP", "weight": 287.9121136}
|
||||
LAU_68_2___7_FFAR_M156_WP_ = {"clsid": "{LAU-68 FFAR WP156_TER_2_L}", "name": "LAU-68*2 - 7 FFAR M156 WP", "weight": 287.9121136}
|
||||
LAU_68_2___7_FFAR_M156_WP__ = {"clsid": "{LAU-68 FFAR WP156_TER_2_R}", "name": "LAU-68*2 - 7 FFAR M156 WP", "weight": 287.9121136}
|
||||
LAU_68_2___7_FFAR_Mk1_HE = {"clsid": "{LAU-68 FFAR Mk1 HE_TER_2_C}", "name": "LAU-68*2 - 7 FFAR Mk1 HE", "weight": 267.591192}
|
||||
LAU_68_2___7_FFAR_Mk1_HE_ = {"clsid": "{LAU-68 FFAR Mk1 HE_TER_2_L}", "name": "LAU-68*2 - 7 FFAR Mk1 HE", "weight": 267.591192}
|
||||
LAU_68_2___7_FFAR_Mk1_HE__ = {"clsid": "{LAU-68 FFAR Mk1 HE_TER_2_R}", "name": "LAU-68*2 - 7 FFAR Mk1 HE", "weight": 267.591192}
|
||||
LAU_68_2___7_FFAR_Mk5_HEAT = {"clsid": "{LAU-68 FFAR Mk5 HEAT_TER_2_C}", "name": "LAU-68*2 - 7 FFAR Mk5 HEAT", "weight": 268.2262208}
|
||||
LAU_68_2___7_FFAR_Mk5_HEAT_ = {"clsid": "{LAU-68 FFAR Mk5 HEAT_TER_2_L}", "name": "LAU-68*2 - 7 FFAR Mk5 HEAT", "weight": 268.2262208}
|
||||
LAU_68_2___7_FFAR_Mk5_HEAT__ = {"clsid": "{LAU-68 FFAR Mk5 HEAT_TER_2_R}", "name": "LAU-68*2 - 7 FFAR Mk5 HEAT", "weight": 268.2262208}
|
||||
LAU_68_3___7_FFAR_M156_WP = {"clsid": "{LAU-68 FFAR WP156_TER_3_C}", "name": "LAU-68*3 - 7 FFAR M156 WP", "weight": 408.0681704}
|
||||
LAU_68_3___7_FFAR_Mk1_HE = {"clsid": "{LAU-68 FFAR Mk1 HE_TER_3_C}", "name": "LAU-68*3 - 7 FFAR Mk1 HE", "weight": 377.586788}
|
||||
LAU_68_3___7_FFAR_Mk5_HEAT = {"clsid": "{LAU-68 FFAR Mk5 HEAT_TER_3_C}", "name": "LAU-68*3 - 7 FFAR Mk5 HEAT", "weight": 378.5393312}
|
||||
CBU_2_A__2 = {
|
||||
"clsid": "{CBU-2/A_TER_2_L}",
|
||||
"name": "CBU-2/A *2",
|
||||
"weight": 735.245472,
|
||||
}
|
||||
CBU_2_A__2_ = {
|
||||
"clsid": "{CBU-2/A_TER_2_R}",
|
||||
"name": "CBU-2/A *2",
|
||||
"weight": 735.245472,
|
||||
}
|
||||
D_704_Refueling_Pod = {
|
||||
"clsid": "{D-704_BUDDY_POD}",
|
||||
"name": "D-704 Refueling Pod",
|
||||
"weight": 1234.532648,
|
||||
}
|
||||
Fuel_Tank_150_gallons = {
|
||||
"clsid": "{DFT-150gal}",
|
||||
"name": "Fuel Tank 150 gallons",
|
||||
"weight": 515.888512,
|
||||
}
|
||||
Fuel_Tank_300_gallons = {
|
||||
"clsid": "{DFT-300gal}",
|
||||
"name": "Fuel Tank 300 gallons",
|
||||
"weight": 991.407336,
|
||||
}
|
||||
Fuel_Tank_300_gallons_ = {
|
||||
"clsid": "{DFT-300gal_LR}",
|
||||
"name": "Fuel Tank 300 gallons",
|
||||
"weight": 998.664808,
|
||||
}
|
||||
Fuel_Tank_400_gallons = {
|
||||
"clsid": "{DFT-400gal}",
|
||||
"name": "Fuel Tank 400 gallons",
|
||||
"weight": 1320.06208,
|
||||
}
|
||||
LAU_10_2___4_ZUNI_MK_71 = {
|
||||
"clsid": "{LAU-10 ZUNI_TER_2_C}",
|
||||
"name": "LAU-10*2 - 4 ZUNI MK 71",
|
||||
"weight": 927.6,
|
||||
}
|
||||
LAU_10_2___4_ZUNI_MK_71_ = {
|
||||
"clsid": "{LAU-10 ZUNI_TER_2_L}",
|
||||
"name": "LAU-10*2 - 4 ZUNI MK 71",
|
||||
"weight": 927.6,
|
||||
}
|
||||
LAU_10_2___4_ZUNI_MK_71__ = {
|
||||
"clsid": "{LAU-10 ZUNI_TER_2_R}",
|
||||
"name": "LAU-10*2 - 4 ZUNI MK 71",
|
||||
"weight": 927.6,
|
||||
}
|
||||
LAU_10_3___4_ZUNI_MK_71 = {
|
||||
"clsid": "{LAU-10 ZUNI_TER_3_C}",
|
||||
"name": "LAU-10*3 - 4 ZUNI MK 71",
|
||||
"weight": 1367.6,
|
||||
}
|
||||
LAU_3_2___19_FFAR_M156_WP = {
|
||||
"clsid": "{LAU-3 FFAR WP156_TER_2_C}",
|
||||
"name": "LAU-3*2 - 19 FFAR M156 WP",
|
||||
"weight": 673.3414512,
|
||||
}
|
||||
LAU_3_2___19_FFAR_M156_WP_ = {
|
||||
"clsid": "{LAU-3 FFAR WP156_TER_2_L}",
|
||||
"name": "LAU-3*2 - 19 FFAR M156 WP",
|
||||
"weight": 673.3414512,
|
||||
}
|
||||
LAU_3_2___19_FFAR_M156_WP__ = {
|
||||
"clsid": "{LAU-3 FFAR WP156_TER_2_R}",
|
||||
"name": "LAU-3*2 - 19 FFAR M156 WP",
|
||||
"weight": 673.3414512,
|
||||
}
|
||||
LAU_3_2___19_FFAR_Mk1_HE = {
|
||||
"clsid": "{LAU-3 FFAR Mk1 HE_TER_2_C}",
|
||||
"name": "LAU-3*2 - 19 FFAR Mk1 HE",
|
||||
"weight": 618.184664,
|
||||
}
|
||||
LAU_3_2___19_FFAR_Mk1_HE_ = {
|
||||
"clsid": "{LAU-3 FFAR Mk1 HE_TER_2_L}",
|
||||
"name": "LAU-3*2 - 19 FFAR Mk1 HE",
|
||||
"weight": 618.184664,
|
||||
}
|
||||
LAU_3_2___19_FFAR_Mk1_HE__ = {
|
||||
"clsid": "{LAU-3 FFAR Mk1 HE_TER_2_R}",
|
||||
"name": "LAU-3*2 - 19 FFAR Mk1 HE",
|
||||
"weight": 618.184664,
|
||||
}
|
||||
LAU_3_2___19_FFAR_Mk5_HEAT = {
|
||||
"clsid": "{LAU-3 FFAR Mk5 HEAT_TER_2_C}",
|
||||
"name": "LAU-3*2 - 19 FFAR Mk5 HEAT",
|
||||
"weight": 619.9083136,
|
||||
}
|
||||
LAU_3_2___19_FFAR_Mk5_HEAT_ = {
|
||||
"clsid": "{LAU-3 FFAR Mk5 HEAT_TER_2_L}",
|
||||
"name": "LAU-3*2 - 19 FFAR Mk5 HEAT",
|
||||
"weight": 619.9083136,
|
||||
}
|
||||
LAU_3_2___19_FFAR_Mk5_HEAT__ = {
|
||||
"clsid": "{LAU-3 FFAR Mk5 HEAT_TER_2_R}",
|
||||
"name": "LAU-3*2 - 19 FFAR Mk5 HEAT",
|
||||
"weight": 619.9083136,
|
||||
}
|
||||
LAU_3_3___19_FFAR_M156_WP = {
|
||||
"clsid": "{LAU-3 FFAR WP156_TER_3_C}",
|
||||
"name": "LAU-3*3 - 19 FFAR M156 WP",
|
||||
"weight": 986.2121768,
|
||||
}
|
||||
LAU_3_3___19_FFAR_Mk1_HE = {
|
||||
"clsid": "{LAU-3 FFAR Mk1 HE_TER_3_C}",
|
||||
"name": "LAU-3*3 - 19 FFAR Mk1 HE",
|
||||
"weight": 903.476996,
|
||||
}
|
||||
LAU_3_3___19_FFAR_Mk5_HEAT = {
|
||||
"clsid": "{LAU-3 FFAR Mk5 HEAT_TER_3_C}",
|
||||
"name": "LAU-3*3 - 19 FFAR Mk5 HEAT",
|
||||
"weight": 906.0624704,
|
||||
}
|
||||
LAU_68_2___7_FFAR_M156_WP = {
|
||||
"clsid": "{LAU-68 FFAR WP156_TER_2_C}",
|
||||
"name": "LAU-68*2 - 7 FFAR M156 WP",
|
||||
"weight": 287.9121136,
|
||||
}
|
||||
LAU_68_2___7_FFAR_M156_WP_ = {
|
||||
"clsid": "{LAU-68 FFAR WP156_TER_2_L}",
|
||||
"name": "LAU-68*2 - 7 FFAR M156 WP",
|
||||
"weight": 287.9121136,
|
||||
}
|
||||
LAU_68_2___7_FFAR_M156_WP__ = {
|
||||
"clsid": "{LAU-68 FFAR WP156_TER_2_R}",
|
||||
"name": "LAU-68*2 - 7 FFAR M156 WP",
|
||||
"weight": 287.9121136,
|
||||
}
|
||||
LAU_68_2___7_FFAR_Mk1_HE = {
|
||||
"clsid": "{LAU-68 FFAR Mk1 HE_TER_2_C}",
|
||||
"name": "LAU-68*2 - 7 FFAR Mk1 HE",
|
||||
"weight": 267.591192,
|
||||
}
|
||||
LAU_68_2___7_FFAR_Mk1_HE_ = {
|
||||
"clsid": "{LAU-68 FFAR Mk1 HE_TER_2_L}",
|
||||
"name": "LAU-68*2 - 7 FFAR Mk1 HE",
|
||||
"weight": 267.591192,
|
||||
}
|
||||
LAU_68_2___7_FFAR_Mk1_HE__ = {
|
||||
"clsid": "{LAU-68 FFAR Mk1 HE_TER_2_R}",
|
||||
"name": "LAU-68*2 - 7 FFAR Mk1 HE",
|
||||
"weight": 267.591192,
|
||||
}
|
||||
LAU_68_2___7_FFAR_Mk5_HEAT = {
|
||||
"clsid": "{LAU-68 FFAR Mk5 HEAT_TER_2_C}",
|
||||
"name": "LAU-68*2 - 7 FFAR Mk5 HEAT",
|
||||
"weight": 268.2262208,
|
||||
}
|
||||
LAU_68_2___7_FFAR_Mk5_HEAT_ = {
|
||||
"clsid": "{LAU-68 FFAR Mk5 HEAT_TER_2_L}",
|
||||
"name": "LAU-68*2 - 7 FFAR Mk5 HEAT",
|
||||
"weight": 268.2262208,
|
||||
}
|
||||
LAU_68_2___7_FFAR_Mk5_HEAT__ = {
|
||||
"clsid": "{LAU-68 FFAR Mk5 HEAT_TER_2_R}",
|
||||
"name": "LAU-68*2 - 7 FFAR Mk5 HEAT",
|
||||
"weight": 268.2262208,
|
||||
}
|
||||
LAU_68_3___7_FFAR_M156_WP = {
|
||||
"clsid": "{LAU-68 FFAR WP156_TER_3_C}",
|
||||
"name": "LAU-68*3 - 7 FFAR M156 WP",
|
||||
"weight": 408.0681704,
|
||||
}
|
||||
LAU_68_3___7_FFAR_Mk1_HE = {
|
||||
"clsid": "{LAU-68 FFAR Mk1 HE_TER_3_C}",
|
||||
"name": "LAU-68*3 - 7 FFAR Mk1 HE",
|
||||
"weight": 377.586788,
|
||||
}
|
||||
LAU_68_3___7_FFAR_Mk5_HEAT = {
|
||||
"clsid": "{LAU-68 FFAR Mk5 HEAT_TER_3_C}",
|
||||
"name": "LAU-68*3 - 7 FFAR Mk5 HEAT",
|
||||
"weight": 378.5393312,
|
||||
}
|
||||
MAK79_2_MK_20 = {"clsid": "{MAK79_MK20 2L}", "name": "MAK79 2 MK-20", "weight": 464}
|
||||
MAK79_2_MK_20_ = {"clsid": "{MAK79_MK20 2R}", "name": "MAK79 2 MK-20", "weight": 464}
|
||||
MAK79_2_MK_20_ = {
|
||||
"clsid": "{MAK79_MK20 2R}",
|
||||
"name": "MAK79 2 MK-20",
|
||||
"weight": 464,
|
||||
}
|
||||
MAK79_MK_20 = {"clsid": "{MAK79_MK20 1R}", "name": "MAK79 MK-20", "weight": 232}
|
||||
MAK79_MK_20_ = {"clsid": "{MAK79_MK20 1L}", "name": "MAK79 MK-20", "weight": 232}
|
||||
Mk4_HIPEG = {"clsid": "{Mk4 HIPEG}", "name": "Mk4 HIPEG", "weight": 612.35}
|
||||
Mk_20__2__TER_ = {"clsid": "{Mk-20_TER_2_L}", "name": "Mk-20 *2 (TER)", "weight": 491.6}
|
||||
Mk_20__2__TER__ = {"clsid": "{Mk-20_TER_2_R}", "name": "Mk-20 *2 (TER)", "weight": 491.6}
|
||||
Mk_20__2__TER___ = {"clsid": "{Mk-20_TER_2_C}", "name": "Mk-20 *2 (TER)", "weight": 491.6}
|
||||
Mk_20__3__TER_ = {"clsid": "{Mk-20_TER_3_C}", "name": "Mk-20 *3 (TER)", "weight": 713.6}
|
||||
Mk_20__2__TER_ = {
|
||||
"clsid": "{Mk-20_TER_2_L}",
|
||||
"name": "Mk-20 *2 (TER)",
|
||||
"weight": 491.6,
|
||||
}
|
||||
Mk_20__2__TER__ = {
|
||||
"clsid": "{Mk-20_TER_2_R}",
|
||||
"name": "Mk-20 *2 (TER)",
|
||||
"weight": 491.6,
|
||||
}
|
||||
Mk_20__2__TER___ = {
|
||||
"clsid": "{Mk-20_TER_2_C}",
|
||||
"name": "Mk-20 *2 (TER)",
|
||||
"weight": 491.6,
|
||||
}
|
||||
Mk_20__3__TER_ = {
|
||||
"clsid": "{Mk-20_TER_3_C}",
|
||||
"name": "Mk-20 *3 (TER)",
|
||||
"weight": 713.6,
|
||||
}
|
||||
Mk_77_mod_0 = {"clsid": "{mk77mod0}", "name": "Mk-77 mod 0", "weight": 340}
|
||||
Mk_77_mod_1 = {"clsid": "{mk77mod1}", "name": "Mk-77 mod 1", "weight": 230}
|
||||
Mk_77_mod_1__2__TER_ = {"clsid": "{Mk-77 mod 1_TER_2_L}", "name": "Mk-77 mod 1 *2 (TER)", "weight": 507.6}
|
||||
Mk_77_mod_1__2__TER__ = {"clsid": "{Mk-77 mod 1_TER_2_R}", "name": "Mk-77 mod 1 *2 (TER)", "weight": 507.6}
|
||||
Mk_77_mod_1__2__TER___ = {"clsid": "{Mk-77 mod 1_TER_2_C}", "name": "Mk-77 mod 1 *2 (TER)", "weight": 507.6}
|
||||
Mk_77_mod_1__4__MER_ = {"clsid": "{Mk-77 mod 1_MER_4_C}", "name": "Mk-77 mod 1 *4 (MER)", "weight": 1019.8}
|
||||
Mk_77_mod_1__2__TER_ = {
|
||||
"clsid": "{Mk-77 mod 1_TER_2_L}",
|
||||
"name": "Mk-77 mod 1 *2 (TER)",
|
||||
"weight": 507.6,
|
||||
}
|
||||
Mk_77_mod_1__2__TER__ = {
|
||||
"clsid": "{Mk-77 mod 1_TER_2_R}",
|
||||
"name": "Mk-77 mod 1 *2 (TER)",
|
||||
"weight": 507.6,
|
||||
}
|
||||
Mk_77_mod_1__2__TER___ = {
|
||||
"clsid": "{Mk-77 mod 1_TER_2_C}",
|
||||
"name": "Mk-77 mod 1 *2 (TER)",
|
||||
"weight": 507.6,
|
||||
}
|
||||
Mk_77_mod_1__4__MER_ = {
|
||||
"clsid": "{Mk-77 mod 1_MER_4_C}",
|
||||
"name": "Mk-77 mod 1 *4 (MER)",
|
||||
"weight": 1019.8,
|
||||
}
|
||||
Mk_81SE = {"clsid": "{MK-81SE}", "name": "Mk-81SE", "weight": 113.398}
|
||||
Mk_81SE__5__MER_ = {"clsid": "{Mk-81SE_MER_5_L}", "name": "Mk-81SE *5 (MER)", "weight": 689.8}
|
||||
Mk_81SE__5__MER__ = {"clsid": "{Mk-81SE_MER_5_R}", "name": "Mk-81SE *5 (MER)", "weight": 689.8}
|
||||
Mk_81SE__6__MER_ = {"clsid": "{Mk-81SE_MER_6_C}", "name": "Mk-81SE *6 (MER)", "weight": 807.8}
|
||||
Mk_81__5__MER_ = {"clsid": "{Mk-81_MER_5_L}", "name": "Mk-81 *5 (MER)", "weight": 689.8}
|
||||
Mk_81__5__MER__ = {"clsid": "{Mk-81_MER_5_R}", "name": "Mk-81 *5 (MER)", "weight": 689.8}
|
||||
Mk_81__6__MER_ = {"clsid": "{Mk-81_MER_6_C}", "name": "Mk-81 *6 (MER)", "weight": 807.8}
|
||||
Mk_82_Snakeye__2__TER_ = {"clsid": "{Mk-82 Snakeye_TER_2_L}", "name": "Mk-82 Snakeye *2 (TER)", "weight": 529.6}
|
||||
Mk_82_Snakeye__2__TER__ = {"clsid": "{Mk-82 Snakeye_TER_2_R}", "name": "Mk-82 Snakeye *2 (TER)", "weight": 529.6}
|
||||
Mk_82_Snakeye__3__TER_ = {"clsid": "{Mk-82 Snakeye_TER_3_C}", "name": "Mk-82 Snakeye *3 (TER)", "weight": 770.6}
|
||||
Mk_82_Snakeye__4__MER_ = {"clsid": "{Mk-82 Snakeye_MER_4_C}", "name": "Mk-82 Snakeye *4 (MER)", "weight": 1063.8}
|
||||
Mk_82_Snakeye__6__MER_ = {"clsid": "{Mk-82 Snakeye_MER_6_C}", "name": "Mk-82 Snakeye *6 (MER)", "weight": 1545.8}
|
||||
Mk_82__2__TER_ = {"clsid": "{Mk-82_TER_2_L}", "name": "Mk-82 *2 (TER)", "weight": 529.6}
|
||||
Mk_82__2__TER__ = {"clsid": "{Mk-82_TER_2_R}", "name": "Mk-82 *2 (TER)", "weight": 529.6}
|
||||
Mk_82__3__TER_ = {"clsid": "{Mk-82_TER_3_C}", "name": "Mk-82 *3 (TER)", "weight": 770.6}
|
||||
Mk_82__4__MER_ = {"clsid": "{Mk-82_MER_4_C}", "name": "Mk-82 *4 (MER)", "weight": 1063.8}
|
||||
Mk_82__6__MER_ = {"clsid": "{Mk-82_MER_6_C}", "name": "Mk-82 *6 (MER)", "weight": 1545.8}
|
||||
Mk_83__2__TER_ = {"clsid": "{Mk-83_TER_2_C}", "name": "Mk-83 *2 (TER)", "weight": 941.6}
|
||||
Mk_83__3__TER_ = {"clsid": "{Mk-83_TER_3_C}", "name": "Mk-83 *3 (TER)", "weight": 1388.6}
|
||||
Mk_81SE__5__MER_ = {
|
||||
"clsid": "{Mk-81SE_MER_5_L}",
|
||||
"name": "Mk-81SE *5 (MER)",
|
||||
"weight": 689.8,
|
||||
}
|
||||
Mk_81SE__5__MER__ = {
|
||||
"clsid": "{Mk-81SE_MER_5_R}",
|
||||
"name": "Mk-81SE *5 (MER)",
|
||||
"weight": 689.8,
|
||||
}
|
||||
Mk_81SE__6__MER_ = {
|
||||
"clsid": "{Mk-81SE_MER_6_C}",
|
||||
"name": "Mk-81SE *6 (MER)",
|
||||
"weight": 807.8,
|
||||
}
|
||||
Mk_81__5__MER_ = {
|
||||
"clsid": "{Mk-81_MER_5_L}",
|
||||
"name": "Mk-81 *5 (MER)",
|
||||
"weight": 689.8,
|
||||
}
|
||||
Mk_81__5__MER__ = {
|
||||
"clsid": "{Mk-81_MER_5_R}",
|
||||
"name": "Mk-81 *5 (MER)",
|
||||
"weight": 689.8,
|
||||
}
|
||||
Mk_81__6__MER_ = {
|
||||
"clsid": "{Mk-81_MER_6_C}",
|
||||
"name": "Mk-81 *6 (MER)",
|
||||
"weight": 807.8,
|
||||
}
|
||||
Mk_82_Snakeye__2__TER_ = {
|
||||
"clsid": "{Mk-82 Snakeye_TER_2_L}",
|
||||
"name": "Mk-82 Snakeye *2 (TER)",
|
||||
"weight": 529.6,
|
||||
}
|
||||
Mk_82_Snakeye__2__TER__ = {
|
||||
"clsid": "{Mk-82 Snakeye_TER_2_R}",
|
||||
"name": "Mk-82 Snakeye *2 (TER)",
|
||||
"weight": 529.6,
|
||||
}
|
||||
Mk_82_Snakeye__3__TER_ = {
|
||||
"clsid": "{Mk-82 Snakeye_TER_3_C}",
|
||||
"name": "Mk-82 Snakeye *3 (TER)",
|
||||
"weight": 770.6,
|
||||
}
|
||||
Mk_82_Snakeye__4__MER_ = {
|
||||
"clsid": "{Mk-82 Snakeye_MER_4_C}",
|
||||
"name": "Mk-82 Snakeye *4 (MER)",
|
||||
"weight": 1063.8,
|
||||
}
|
||||
Mk_82_Snakeye__6__MER_ = {
|
||||
"clsid": "{Mk-82 Snakeye_MER_6_C}",
|
||||
"name": "Mk-82 Snakeye *6 (MER)",
|
||||
"weight": 1545.8,
|
||||
}
|
||||
Mk_82__2__TER_ = {
|
||||
"clsid": "{Mk-82_TER_2_L}",
|
||||
"name": "Mk-82 *2 (TER)",
|
||||
"weight": 529.6,
|
||||
}
|
||||
Mk_82__2__TER__ = {
|
||||
"clsid": "{Mk-82_TER_2_R}",
|
||||
"name": "Mk-82 *2 (TER)",
|
||||
"weight": 529.6,
|
||||
}
|
||||
Mk_82__3__TER_ = {
|
||||
"clsid": "{Mk-82_TER_3_C}",
|
||||
"name": "Mk-82 *3 (TER)",
|
||||
"weight": 770.6,
|
||||
}
|
||||
Mk_82__4__MER_ = {
|
||||
"clsid": "{Mk-82_MER_4_C}",
|
||||
"name": "Mk-82 *4 (MER)",
|
||||
"weight": 1063.8,
|
||||
}
|
||||
Mk_82__6__MER_ = {
|
||||
"clsid": "{Mk-82_MER_6_C}",
|
||||
"name": "Mk-82 *6 (MER)",
|
||||
"weight": 1545.8,
|
||||
}
|
||||
Mk_83__2__TER_ = {
|
||||
"clsid": "{Mk-83_TER_2_C}",
|
||||
"name": "Mk-83 *2 (TER)",
|
||||
"weight": 941.6,
|
||||
}
|
||||
Mk_83__3__TER_ = {
|
||||
"clsid": "{Mk-83_TER_3_C}",
|
||||
"name": "Mk-83 *3 (TER)",
|
||||
"weight": 1388.6,
|
||||
}
|
||||
_3_LAU_61 = {"clsid": "{TER,LAU-61*3}", "name": "3*LAU-61", "weight": 98}
|
||||
|
||||
|
||||
class A_4E_C(PlaneType):
|
||||
id = "A-4E-C"
|
||||
flyable = True
|
||||
@@ -112,7 +425,7 @@ class A_4E_C(PlaneType):
|
||||
charge_total = 60
|
||||
chaff_charge_size = 1
|
||||
flare_charge_size = 1
|
||||
category = "Interceptor" #{78EFB7A2-FD52-4b57-A6A6-3BF0E1D6555F}
|
||||
category = "Interceptor" # {78EFB7A2-FD52-4b57-A6A6-3BF0E1D6555F}
|
||||
radio_frequency = 254
|
||||
|
||||
panel_radio = {
|
||||
@@ -137,7 +450,7 @@ class A_4E_C(PlaneType):
|
||||
7: 257,
|
||||
14: 263,
|
||||
19: 266,
|
||||
15: 261
|
||||
15: 261,
|
||||
},
|
||||
},
|
||||
}
|
||||
@@ -153,7 +466,6 @@ class A_4E_C(PlaneType):
|
||||
}
|
||||
|
||||
class Properties:
|
||||
|
||||
class HideECMPanel:
|
||||
id = "HideECMPanel"
|
||||
|
||||
@@ -219,7 +531,6 @@ class A_4E_C(PlaneType):
|
||||
_14_seconds = 7
|
||||
|
||||
class Liveries:
|
||||
|
||||
class Georgia(Enum):
|
||||
Unmarked = "Unmarked"
|
||||
Community_A_4E = "Community A-4E"
|
||||
@@ -425,7 +736,9 @@ class A_4E_C(PlaneType):
|
||||
Aggressor_USN_TopGun = "Aggressor USN TopGun"
|
||||
Aggressor_USN_VF_126_Bandits = "Aggressor USN VF-126 Bandits"
|
||||
Aggressor_USN_VF_127_Royal_Blues = "Aggressor USN VF-127 Royal Blues"
|
||||
Aggressor_USN_VFA_127_Cyclons__Forest = "Aggressor USN VFA-127 Cyclons (Forest)"
|
||||
Aggressor_USN_VFA_127_Cyclons__Forest = (
|
||||
"Aggressor USN VFA-127 Cyclons (Forest)"
|
||||
)
|
||||
Aggressor_USN_VFA_127_Cyclons__Sea = "Aggressor USN VFA-127 Cyclons (Sea)"
|
||||
|
||||
class USA(Enum):
|
||||
@@ -476,7 +789,9 @@ class A_4E_C(PlaneType):
|
||||
Trainer_USN_VC_8_Redtails = "Trainer USN VC-8 Redtails"
|
||||
Aggressor_USN_VF_126_Bandits = "Aggressor USN VF-126 Bandits"
|
||||
Aggressor_USN_VF_127_Royal_Blues = "Aggressor USN VF-127 Royal Blues"
|
||||
Aggressor_USN_VFA_127_Cyclons__Forest = "Aggressor USN VFA-127 Cyclons (Forest)"
|
||||
Aggressor_USN_VFA_127_Cyclons__Forest = (
|
||||
"Aggressor USN VFA-127 Cyclons (Forest)"
|
||||
)
|
||||
Aggressor_USN_VFA_127_Cyclons__Sea = "Aggressor USN VFA-127 Cyclons (Sea)"
|
||||
Trainer_USN_VT_7_Eagles = "Trainer USN VT-7 Eagles"
|
||||
|
||||
@@ -524,7 +839,7 @@ class A_4E_C(PlaneType):
|
||||
LAU_68___7_FFAR_Mk1_HE = (1, Weapons.LAU_68___7_FFAR_Mk1_HE)
|
||||
LAU_68___7_FFAR_Mk5_HEAT = (1, Weapons.LAU_68___7_FFAR_Mk5_HEAT)
|
||||
AGM_45A = (1, Weapons.AGM_45A)
|
||||
#ERRR {AGM12_B}
|
||||
# ERRR {AGM12_B}
|
||||
Mk_20 = (1, Weapons.Mk_20)
|
||||
Mk_81 = (1, Weapons.Mk_81)
|
||||
Mk_81SE = (1, WeaponsA4EC.Mk_81SE)
|
||||
@@ -536,14 +851,18 @@ class A_4E_C(PlaneType):
|
||||
AN_M64 = (1, Weapons.AN_M64)
|
||||
AN_M81 = (1, WeaponsA4EC.AN_M81)
|
||||
AN_M88 = (1, WeaponsA4EC.AN_M88)
|
||||
LAU_68___7_2_75__rockets_M257__Parachute_illumination_ = (1, Weapons.LAU_68___7_2_75__rockets_M257__Parachute_illumination_)
|
||||
LAU_68___7_2_75__rockets_M257__Parachute_illumination_ = (
|
||||
1,
|
||||
Weapons.LAU_68___7_2_75__rockets_M257__Parachute_illumination_,
|
||||
)
|
||||
Smokewinder___red = (1, Weapons.Smokewinder___red)
|
||||
Smokewinder___green = (1, Weapons.Smokewinder___green)
|
||||
Smokewinder___blue = (1, Weapons.Smokewinder___blue)
|
||||
Smokewinder___white = (1, Weapons.Smokewinder___white)
|
||||
Smokewinder___yellow = (1, Weapons.Smokewinder___yellow)
|
||||
Smokewinder___orange = (1, Weapons.Smokewinder___orange)
|
||||
#ERRR <CLEAN>
|
||||
|
||||
# ERRR <CLEAN>
|
||||
|
||||
class Pylon2:
|
||||
Fuel_Tank_300_gallons_ = (2, WeaponsA4EC.Fuel_Tank_300_gallons_)
|
||||
@@ -566,8 +885,8 @@ class A_4E_C(PlaneType):
|
||||
LAU_68_2___7_FFAR_Mk1_HE_ = (2, WeaponsA4EC.LAU_68_2___7_FFAR_Mk1_HE_)
|
||||
LAU_68_2___7_FFAR_Mk5_HEAT_ = (2, WeaponsA4EC.LAU_68_2___7_FFAR_Mk5_HEAT_)
|
||||
AGM_45A = (2, Weapons.AGM_45A)
|
||||
#ERRR {AGM12_C}
|
||||
#ERRR {AGM12_B}
|
||||
# ERRR {AGM12_C}
|
||||
# ERRR {AGM12_B}
|
||||
AGM_62 = (2, Weapons.AGM_62)
|
||||
Mk_20 = (2, Weapons.Mk_20)
|
||||
Mk_81 = (2, Weapons.Mk_81)
|
||||
@@ -607,15 +926,19 @@ class A_4E_C(PlaneType):
|
||||
Smokewinder___white = (2, Weapons.Smokewinder___white)
|
||||
Smokewinder___yellow = (2, Weapons.Smokewinder___yellow)
|
||||
Smokewinder___orange = (2, Weapons.Smokewinder___orange)
|
||||
#ERRR <CLEAN>
|
||||
|
||||
# ERRR <CLEAN>
|
||||
|
||||
class Pylon3:
|
||||
Fuel_Tank_400_gallons = (3, WeaponsA4EC.Fuel_Tank_400_gallons)
|
||||
Fuel_Tank_300_gallons = (3, WeaponsA4EC.Fuel_Tank_300_gallons)
|
||||
Fuel_Tank_150_gallons = (3, WeaponsA4EC.Fuel_Tank_150_gallons)
|
||||
D_704_Refueling_Pod = (3, WeaponsA4EC.D_704_Refueling_Pod)
|
||||
#ERRR {3*LAU-61}
|
||||
LAU_68_3___7_2_75__rockets_MK5__HE_ = (3, Weapons.LAU_68_3___7_2_75__rockets_MK5__HE_)
|
||||
# ERRR {3*LAU-61}
|
||||
LAU_68_3___7_2_75__rockets_MK5__HE_ = (
|
||||
3,
|
||||
Weapons.LAU_68_3___7_2_75__rockets_MK5__HE_,
|
||||
)
|
||||
LAU_10___4_ZUNI_MK_71 = (3, Weapons.LAU_10___4_ZUNI_MK_71)
|
||||
LAU_10_2___4_ZUNI_MK_71 = (3, WeaponsA4EC.LAU_10_2___4_ZUNI_MK_71)
|
||||
LAU_10_3___4_ZUNI_MK_71 = (3, WeaponsA4EC.LAU_10_3___4_ZUNI_MK_71)
|
||||
@@ -637,7 +960,7 @@ class A_4E_C(PlaneType):
|
||||
LAU_68_3___7_FFAR_M156_WP = (3, WeaponsA4EC.LAU_68_3___7_FFAR_M156_WP)
|
||||
LAU_68_3___7_FFAR_Mk1_HE = (3, WeaponsA4EC.LAU_68_3___7_FFAR_Mk1_HE)
|
||||
LAU_68_3___7_FFAR_Mk5_HEAT = (3, WeaponsA4EC.LAU_68_3___7_FFAR_Mk5_HEAT)
|
||||
#ERRR {AGM12_B}
|
||||
# ERRR {AGM12_B}
|
||||
AGM_62 = (3, Weapons.AGM_62)
|
||||
Mk_20 = (3, Weapons.Mk_20)
|
||||
Mk_81 = (3, Weapons.Mk_81)
|
||||
@@ -680,7 +1003,8 @@ class A_4E_C(PlaneType):
|
||||
Smokewinder___white = (3, Weapons.Smokewinder___white)
|
||||
Smokewinder___yellow = (3, Weapons.Smokewinder___yellow)
|
||||
Smokewinder___orange = (3, Weapons.Smokewinder___orange)
|
||||
#ERRR <CLEAN>
|
||||
|
||||
# ERRR <CLEAN>
|
||||
|
||||
class Pylon4:
|
||||
Fuel_Tank_300_gallons_ = (4, WeaponsA4EC.Fuel_Tank_300_gallons_)
|
||||
@@ -703,8 +1027,8 @@ class A_4E_C(PlaneType):
|
||||
LAU_68_2___7_FFAR_Mk1_HE__ = (4, WeaponsA4EC.LAU_68_2___7_FFAR_Mk1_HE__)
|
||||
LAU_68_2___7_FFAR_Mk5_HEAT__ = (4, WeaponsA4EC.LAU_68_2___7_FFAR_Mk5_HEAT__)
|
||||
AGM_45A = (4, Weapons.AGM_45A)
|
||||
#ERRR {AGM12_C}
|
||||
#ERRR {AGM12_B}
|
||||
# ERRR {AGM12_C}
|
||||
# ERRR {AGM12_B}
|
||||
AGM_62 = (4, Weapons.AGM_62)
|
||||
Mk_20 = (4, Weapons.Mk_20)
|
||||
Mk_81 = (4, Weapons.Mk_81)
|
||||
@@ -744,7 +1068,8 @@ class A_4E_C(PlaneType):
|
||||
Smokewinder___white = (4, Weapons.Smokewinder___white)
|
||||
Smokewinder___yellow = (4, Weapons.Smokewinder___yellow)
|
||||
Smokewinder___orange = (4, Weapons.Smokewinder___orange)
|
||||
#ERRR <CLEAN>
|
||||
|
||||
# ERRR <CLEAN>
|
||||
|
||||
class Pylon5:
|
||||
LAU_10___4_ZUNI_MK_71 = (5, Weapons.LAU_10___4_ZUNI_MK_71)
|
||||
@@ -755,7 +1080,7 @@ class A_4E_C(PlaneType):
|
||||
LAU_68___7_FFAR_Mk1_HE = (5, Weapons.LAU_68___7_FFAR_Mk1_HE)
|
||||
LAU_68___7_FFAR_Mk5_HEAT = (5, Weapons.LAU_68___7_FFAR_Mk5_HEAT)
|
||||
AGM_45A = (5, Weapons.AGM_45A)
|
||||
#ERRR {AGM12_B}
|
||||
# ERRR {AGM12_B}
|
||||
Mk_20 = (5, Weapons.Mk_20)
|
||||
Mk_81 = (5, Weapons.Mk_81)
|
||||
Mk_81SE = (5, WeaponsA4EC.Mk_81SE)
|
||||
@@ -767,16 +1092,27 @@ class A_4E_C(PlaneType):
|
||||
AN_M64 = (5, Weapons.AN_M64)
|
||||
AN_M81 = (5, WeaponsA4EC.AN_M81)
|
||||
AN_M88 = (5, WeaponsA4EC.AN_M88)
|
||||
LAU_68___7_2_75__rockets_M257__Parachute_illumination_ = (5, Weapons.LAU_68___7_2_75__rockets_M257__Parachute_illumination_)
|
||||
LAU_68___7_2_75__rockets_M257__Parachute_illumination_ = (
|
||||
5,
|
||||
Weapons.LAU_68___7_2_75__rockets_M257__Parachute_illumination_,
|
||||
)
|
||||
Smokewinder___red = (5, Weapons.Smokewinder___red)
|
||||
Smokewinder___green = (5, Weapons.Smokewinder___green)
|
||||
Smokewinder___blue = (5, Weapons.Smokewinder___blue)
|
||||
Smokewinder___white = (5, Weapons.Smokewinder___white)
|
||||
Smokewinder___yellow = (5, Weapons.Smokewinder___yellow)
|
||||
Smokewinder___orange = (5, Weapons.Smokewinder___orange)
|
||||
#ERRR <CLEAN>
|
||||
|
||||
# ERRR <CLEAN>
|
||||
|
||||
pylons = {1, 2, 3, 4, 5}
|
||||
|
||||
tasks = [task.CAP, task.CAS, task.SEAD, task.GroundAttack, task.AFAC, task.Refueling]
|
||||
task_default = task.CAS
|
||||
tasks = [
|
||||
task.CAP,
|
||||
task.CAS,
|
||||
task.SEAD,
|
||||
task.GroundAttack,
|
||||
task.AFAC,
|
||||
task.Refueling,
|
||||
]
|
||||
task_default = task.CAS
|
||||
|
||||
@@ -24,7 +24,7 @@ class F_22A(PlaneType):
|
||||
chaff_charge_size = 1
|
||||
flare_charge_size = 2
|
||||
eplrs = True
|
||||
category = "Interceptor" #{78EFB7A2-FD52-4b57-A6A6-3BF0E1D6555F}
|
||||
category = "Interceptor" # {78EFB7A2-FD52-4b57-A6A6-3BF0E1D6555F}
|
||||
radio_frequency = 127.5
|
||||
|
||||
property_defaults = {
|
||||
@@ -36,7 +36,6 @@ class F_22A(PlaneType):
|
||||
id = "BAY_DOOR_OPTION"
|
||||
|
||||
class Liveries:
|
||||
|
||||
class USSR(Enum):
|
||||
default = "default"
|
||||
_154_wg = "154 wg"
|
||||
@@ -1806,5 +1805,11 @@ class F_22A(PlaneType):
|
||||
|
||||
pylons = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}
|
||||
|
||||
tasks = [task.CAP, task.Escort, task.FighterSweep, task.Intercept, task.Reconnaissance]
|
||||
tasks = [
|
||||
task.CAP,
|
||||
task.Escort,
|
||||
task.FighterSweep,
|
||||
task.Intercept,
|
||||
task.Reconnaissance,
|
||||
]
|
||||
task_default = task.CAP
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
#
|
||||
from dcs import unittype
|
||||
|
||||
|
||||
class AMX_10RCR(unittype.VehicleType):
|
||||
id = "AMX10RCR"
|
||||
name = "AMX-10RCR"
|
||||
@@ -150,8 +151,10 @@ class DIM__KAMIKAZE(unittype.VehicleType):
|
||||
air_weapon_dist = 50
|
||||
eplrs = True
|
||||
|
||||
|
||||
## FORTIFICATION
|
||||
|
||||
|
||||
class _FIELD_HIDE(unittype.VehicleType):
|
||||
id = "FieldHL"
|
||||
name = "*FIELD HIDE"
|
||||
@@ -159,6 +162,7 @@ class _FIELD_HIDE(unittype.VehicleType):
|
||||
threat_range = 0
|
||||
air_weapon_dist = 0
|
||||
|
||||
|
||||
class _FIELD_HIDE_SMALL(unittype.VehicleType):
|
||||
id = "HARRIERH"
|
||||
name = "*FIELD HIDE SMALL"
|
||||
@@ -166,6 +170,7 @@ class _FIELD_HIDE_SMALL(unittype.VehicleType):
|
||||
threat_range = 0
|
||||
air_weapon_dist = 0
|
||||
|
||||
|
||||
class SmokeD1(unittype.VehicleType):
|
||||
id = "SmokeD1"
|
||||
name = "SmokeD1"
|
||||
@@ -173,6 +178,7 @@ class SmokeD1(unittype.VehicleType):
|
||||
threat_range = 0
|
||||
air_weapon_dist = 0
|
||||
|
||||
|
||||
class SmokeD3(unittype.VehicleType):
|
||||
id = "SmokeD3"
|
||||
name = "SmokeD3"
|
||||
@@ -189,6 +195,7 @@ class TRM_2000(unittype.VehicleType):
|
||||
air_weapon_dist = 0
|
||||
eplrs = True
|
||||
|
||||
|
||||
class TRM_2000_Fuel(unittype.VehicleType):
|
||||
id = "TRM2000_Citerne"
|
||||
name = "TRM-2000 Fuel"
|
||||
@@ -197,6 +204,7 @@ class TRM_2000_Fuel(unittype.VehicleType):
|
||||
air_weapon_dist = 0
|
||||
eplrs = True
|
||||
|
||||
|
||||
class VAB_MEDICAL(unittype.VehicleType):
|
||||
id = "VABH"
|
||||
name = "VAB MEDICAL"
|
||||
@@ -205,6 +213,7 @@ class VAB_MEDICAL(unittype.VehicleType):
|
||||
air_weapon_dist = 0
|
||||
eplrs = True
|
||||
|
||||
|
||||
class VAB(unittype.VehicleType):
|
||||
id = "VAB_RADIO"
|
||||
name = "VAB"
|
||||
@@ -213,6 +222,7 @@ class VAB(unittype.VehicleType):
|
||||
air_weapon_dist = 0
|
||||
eplrs = True
|
||||
|
||||
|
||||
class VBL(unittype.VehicleType):
|
||||
id = "VBL-Radio"
|
||||
name = "VBL"
|
||||
@@ -221,6 +231,7 @@ class VBL(unittype.VehicleType):
|
||||
air_weapon_dist = 0
|
||||
eplrs = True
|
||||
|
||||
|
||||
class Tracma_TD_1500(unittype.VehicleType):
|
||||
id = "Tracma"
|
||||
name = "Tracma TD 1500"
|
||||
@@ -228,8 +239,10 @@ class Tracma_TD_1500(unittype.VehicleType):
|
||||
threat_range = 0
|
||||
air_weapon_dist = 0
|
||||
|
||||
|
||||
## AIRDEFENCE
|
||||
|
||||
|
||||
class SMOKE_SAM_IR(unittype.VehicleType):
|
||||
id = "SMOKESAM"
|
||||
name = "SMOKE SAM IR"
|
||||
@@ -238,6 +251,7 @@ class SMOKE_SAM_IR(unittype.VehicleType):
|
||||
air_weapon_dist = 20000
|
||||
eplrs = True
|
||||
|
||||
|
||||
class _53T2(unittype.VehicleType):
|
||||
id = "AA20"
|
||||
name = "53T2"
|
||||
@@ -245,6 +259,7 @@ class _53T2(unittype.VehicleType):
|
||||
threat_range = 2000
|
||||
air_weapon_dist = 2000
|
||||
|
||||
|
||||
class TRM_2000_53T2(unittype.VehicleType):
|
||||
id = "TRM2000_AA20"
|
||||
name = "TRM-2000 53T2"
|
||||
@@ -253,6 +268,7 @@ class TRM_2000_53T2(unittype.VehicleType):
|
||||
air_weapon_dist = 2000
|
||||
eplrs = True
|
||||
|
||||
|
||||
class TRM_2000_PAMELA(unittype.VehicleType):
|
||||
id = "TRMMISTRAL"
|
||||
name = "TRM-2000 PAMELA"
|
||||
@@ -261,8 +277,10 @@ class TRM_2000_PAMELA(unittype.VehicleType):
|
||||
air_weapon_dist = 10000
|
||||
eplrs = True
|
||||
|
||||
|
||||
## INFANTRY
|
||||
|
||||
|
||||
class Infantry_Soldier_JTAC(unittype.VehicleType):
|
||||
id = "JTACFP"
|
||||
name = "Infantry Soldier JTAC"
|
||||
@@ -270,8 +288,10 @@ class Infantry_Soldier_JTAC(unittype.VehicleType):
|
||||
threat_range = 500
|
||||
air_weapon_dist = 500
|
||||
|
||||
|
||||
## ARTILERY
|
||||
|
||||
|
||||
class MO_120_RT(unittype.VehicleType):
|
||||
id = "M120"
|
||||
name = "MO 120 RT"
|
||||
@@ -279,10 +299,11 @@ class MO_120_RT(unittype.VehicleType):
|
||||
threat_range = 15000
|
||||
air_weapon_dist = 15000
|
||||
|
||||
|
||||
class VAB_MORTIER(unittype.VehicleType):
|
||||
id = "VAB_MORTIER"
|
||||
name = "VAB MORTIER"
|
||||
detection_range = 0
|
||||
threat_range = 15000
|
||||
air_weapon_dist = 15000
|
||||
eplrs = True
|
||||
eplrs = True
|
||||
|
||||
@@ -335,4 +335,3 @@ class _34Ya6E_Gazetchik_E_decoy(unittype.VehicleType):
|
||||
detection_range = 20000
|
||||
threat_range = 0
|
||||
air_weapon_dist = 0
|
||||
|
||||
|
||||
@@ -7,32 +7,104 @@ from dcs.weapons_data import Weapons
|
||||
|
||||
class MB_339PAN_Weapons:
|
||||
ARF8M3_TP = {"clsid": "{ARF8M3_TP}", "name": "ARF8M3 TP", "weight": None}
|
||||
BRD_4_250_4_MK_76_2_ARF_8M3TP_ = {"clsid": "{BRD-4-250}", "name": "BRD-4-250(4*MK.76+2*ARF-8M3TP)", "weight": 137.6}
|
||||
BRD_4_250_4_MK_76_2_ARF_8M3TP_ = {
|
||||
"clsid": "{BRD-4-250}",
|
||||
"name": "BRD-4-250(4*MK.76+2*ARF-8M3TP)",
|
||||
"weight": 137.6,
|
||||
}
|
||||
Color_Oil_Tank = {"clsid": "{COLOR-TANK}", "name": "Color Oil Tank", "weight": 183}
|
||||
Empty_Pylon = {"clsid": "{VOID-PYLON-MB339A}", "name": "Empty Pylon", "weight": 20}
|
||||
Fuel_Tank_330lt = {"clsid": "{FUEL-SUBAL_TANK-330}", "name": "Fuel Tank 330lt", "weight": 315}
|
||||
Fuel_Tank_330lt = {
|
||||
"clsid": "{FUEL-SUBAL_TANK-330}",
|
||||
"name": "Fuel Tank 330lt",
|
||||
"weight": 315,
|
||||
}
|
||||
GunPod_AN_M3 = {"clsid": "{MB339-AN-M3_L}", "name": "GunPod AN/M3", "weight": 75}
|
||||
GunPod_AN_M3_ = {"clsid": "{MB339-AN-M3_R}", "name": "GunPod AN/M3", "weight": 75}
|
||||
GunPod_DEFA553 = {"clsid": "{MB339-DEFA553_L}", "name": "GunPod DEFA553", "weight": 190}
|
||||
GunPod_DEFA553_ = {"clsid": "{MB339-DEFA553_R}", "name": "GunPod DEFA553", "weight": 190}
|
||||
LAU_10___4_ZUNI_MK_71___ = {"clsid": "{LAU-10}", "name": "LAU-10 - 4 ZUNI MK 71", "weight": 308}
|
||||
LR_25___25_ARF_8M3_API_ = {"clsid": "{LR-25API}", "name": "LR-25 - 25 ARF/8M3(API)", "weight": 141}
|
||||
LR_25___25_ARF_8M3_HEI_ = {"clsid": "{LR-25HEI}", "name": "LR-25 - 25 ARF/8M3(HEI)", "weight": 161}
|
||||
GunPod_DEFA553 = {
|
||||
"clsid": "{MB339-DEFA553_L}",
|
||||
"name": "GunPod DEFA553",
|
||||
"weight": 190,
|
||||
}
|
||||
GunPod_DEFA553_ = {
|
||||
"clsid": "{MB339-DEFA553_R}",
|
||||
"name": "GunPod DEFA553",
|
||||
"weight": 190,
|
||||
}
|
||||
LAU_10___4_ZUNI_MK_71___ = {
|
||||
"clsid": "{LAU-10}",
|
||||
"name": "LAU-10 - 4 ZUNI MK 71",
|
||||
"weight": 308,
|
||||
}
|
||||
LR_25___25_ARF_8M3_API_ = {
|
||||
"clsid": "{LR-25API}",
|
||||
"name": "LR-25 - 25 ARF/8M3(API)",
|
||||
"weight": 141,
|
||||
}
|
||||
LR_25___25_ARF_8M3_HEI_ = {
|
||||
"clsid": "{LR-25HEI}",
|
||||
"name": "LR-25 - 25 ARF/8M3(HEI)",
|
||||
"weight": 161,
|
||||
}
|
||||
MAK79_2_MK_20 = {"clsid": "{MAK79_MK20 2L}", "name": "MAK79 2 MK-20", "weight": 464}
|
||||
MAK79_2_MK_20_ = {"clsid": "{MAK79_MK20 2R}", "name": "MAK79 2 MK-20", "weight": 464}
|
||||
MAK79_2_MK_20_ = {
|
||||
"clsid": "{MAK79_MK20 2R}",
|
||||
"name": "MAK79 2 MK-20",
|
||||
"weight": 464,
|
||||
}
|
||||
MAK79_MK_20 = {"clsid": "{MAK79_MK20 1R}", "name": "MAK79 MK-20", "weight": 232}
|
||||
MAK79_MK_20_ = {"clsid": "{MAK79_MK20 1L}", "name": "MAK79 MK-20", "weight": 232}
|
||||
MB339_Black_Smoke = {"clsid": "{SMOKE-BLACK-MB339}", "name": "MB339 Black Smoke", "weight": 1}
|
||||
MB339_Green_Smoke = {"clsid": "{SMOKE-GREEN-MB339}", "name": "MB339 Green Smoke", "weight": 1}
|
||||
MB339_ORANGE_Smoke = {"clsid": "{SMOKE-ORANGE-MB339}", "name": "MB339 ORANGE Smoke", "weight": 1}
|
||||
MB339_Red_Smoke = {"clsid": "{SMOKE-RED-MB339}", "name": "MB339 Red Smoke", "weight": 1}
|
||||
MB339_White_Smoke = {"clsid": "{SMOKE-WHITE-MB339}", "name": "MB339 White Smoke", "weight": 1}
|
||||
MB339_YELLOW_Smoke = {"clsid": "{SMOKE-YELLOW-MB339}", "name": "MB339 YELLOW Smoke", "weight": 1}
|
||||
MB339_Black_Smoke = {
|
||||
"clsid": "{SMOKE-BLACK-MB339}",
|
||||
"name": "MB339 Black Smoke",
|
||||
"weight": 1,
|
||||
}
|
||||
MB339_Green_Smoke = {
|
||||
"clsid": "{SMOKE-GREEN-MB339}",
|
||||
"name": "MB339 Green Smoke",
|
||||
"weight": 1,
|
||||
}
|
||||
MB339_ORANGE_Smoke = {
|
||||
"clsid": "{SMOKE-ORANGE-MB339}",
|
||||
"name": "MB339 ORANGE Smoke",
|
||||
"weight": 1,
|
||||
}
|
||||
MB339_Red_Smoke = {
|
||||
"clsid": "{SMOKE-RED-MB339}",
|
||||
"name": "MB339 Red Smoke",
|
||||
"weight": 1,
|
||||
}
|
||||
MB339_White_Smoke = {
|
||||
"clsid": "{SMOKE-WHITE-MB339}",
|
||||
"name": "MB339 White Smoke",
|
||||
"weight": 1,
|
||||
}
|
||||
MB339_YELLOW_Smoke = {
|
||||
"clsid": "{SMOKE-YELLOW-MB339}",
|
||||
"name": "MB339 YELLOW Smoke",
|
||||
"weight": 1,
|
||||
}
|
||||
MK76 = {"clsid": "{MK76}", "name": "MK76", "weight": 11.3}
|
||||
Tip_Fuel_Tank_500lt = {"clsid": "{FUEL-TIP-TANK-500-L}", "name": "Tip Fuel Tank 500lt", "weight": 471}
|
||||
Tip_Fuel_Tank_500lt_ = {"clsid": "{FUEL-TIP-TANK-500-R}", "name": "Tip Fuel Tank 500lt", "weight": 471}
|
||||
Tip_Fuel_Tank_Ellittici_320lt = {"clsid": "{FUEL-TIP-ELLITTIC-L}", "name": "Tip Fuel Tank Ellittici 320lt", "weight": 314.2}
|
||||
Tip_Fuel_Tank_Ellittici_320lt_ = {"clsid": "{FUEL-TIP-ELLITTIC-R}", "name": "Tip Fuel Tank Ellittici 320lt", "weight": 314.2}
|
||||
Tip_Fuel_Tank_500lt = {
|
||||
"clsid": "{FUEL-TIP-TANK-500-L}",
|
||||
"name": "Tip Fuel Tank 500lt",
|
||||
"weight": 471,
|
||||
}
|
||||
Tip_Fuel_Tank_500lt_ = {
|
||||
"clsid": "{FUEL-TIP-TANK-500-R}",
|
||||
"name": "Tip Fuel Tank 500lt",
|
||||
"weight": 471,
|
||||
}
|
||||
Tip_Fuel_Tank_Ellittici_320lt = {
|
||||
"clsid": "{FUEL-TIP-ELLITTIC-L}",
|
||||
"name": "Tip Fuel Tank Ellittici 320lt",
|
||||
"weight": 314.2,
|
||||
}
|
||||
Tip_Fuel_Tank_Ellittici_320lt_ = {
|
||||
"clsid": "{FUEL-TIP-ELLITTIC-R}",
|
||||
"name": "Tip Fuel Tank Ellittici 320lt",
|
||||
"weight": 314.2,
|
||||
}
|
||||
|
||||
|
||||
class MB_339PAN(PlaneType):
|
||||
@@ -43,7 +115,7 @@ class MB_339PAN(PlaneType):
|
||||
length = 12.13
|
||||
fuel_max = 626
|
||||
max_speed = 763.2
|
||||
category = "Interceptor" #{78EFB7A2-FD52-4b57-A6A6-3BF0E1D6555F}
|
||||
category = "Interceptor" # {78EFB7A2-FD52-4b57-A6A6-3BF0E1D6555F}
|
||||
radio_frequency = 124
|
||||
|
||||
panel_radio = {
|
||||
@@ -68,7 +140,7 @@ class MB_339PAN(PlaneType):
|
||||
7: 262,
|
||||
14: 266,
|
||||
19: 268,
|
||||
15: 265
|
||||
15: 265,
|
||||
},
|
||||
},
|
||||
2: {
|
||||
@@ -102,7 +174,7 @@ class MB_339PAN(PlaneType):
|
||||
28: 257,
|
||||
23: 260,
|
||||
29: 253,
|
||||
15: 265
|
||||
15: 265,
|
||||
},
|
||||
},
|
||||
}
|
||||
@@ -113,7 +185,6 @@ class MB_339PAN(PlaneType):
|
||||
}
|
||||
|
||||
class Properties:
|
||||
|
||||
class SoloFlight:
|
||||
id = "SoloFlight"
|
||||
|
||||
@@ -127,7 +198,6 @@ class MB_339PAN(PlaneType):
|
||||
Equally_Responsible = -2
|
||||
|
||||
class Liveries:
|
||||
|
||||
class Georgia(Enum):
|
||||
MB339AA__ARMADA____Crippa = "MB339AA 'ARMADA' - Crippa"
|
||||
MB339AA__ARMADA____Yellow_Band = "MB339AA 'ARMADA' - Yellow Band"
|
||||
@@ -370,7 +440,10 @@ class MB_339PAN(PlaneType):
|
||||
|
||||
class Pylon1:
|
||||
Tip_Fuel_Tank_500lt = (1, MB_339PAN_Weapons.Tip_Fuel_Tank_500lt)
|
||||
Tip_Fuel_Tank_Ellittici_320lt = (1, MB_339PAN_Weapons.Tip_Fuel_Tank_Ellittici_320lt)
|
||||
Tip_Fuel_Tank_Ellittici_320lt = (
|
||||
1,
|
||||
MB_339PAN_Weapons.Tip_Fuel_Tank_Ellittici_320lt,
|
||||
)
|
||||
|
||||
class Pylon2:
|
||||
Empty_Pylon = (2, MB_339PAN_Weapons.Empty_Pylon)
|
||||
@@ -386,7 +459,10 @@ class MB_339PAN(PlaneType):
|
||||
LR_25___25_ARF_8M3_API_ = (3, MB_339PAN_Weapons.LR_25___25_ARF_8M3_API_)
|
||||
Mk_82 = (3, Weapons.Mk_82)
|
||||
LAU_10___4_ZUNI_MK_71___ = (3, MB_339PAN_Weapons.LAU_10___4_ZUNI_MK_71___)
|
||||
BRD_4_250_4_MK_76_2_ARF_8M3TP_ = (3, MB_339PAN_Weapons.BRD_4_250_4_MK_76_2_ARF_8M3TP_)
|
||||
BRD_4_250_4_MK_76_2_ARF_8M3TP_ = (
|
||||
3,
|
||||
MB_339PAN_Weapons.BRD_4_250_4_MK_76_2_ARF_8M3TP_,
|
||||
)
|
||||
Matra_Type_155_Rocket_Pod = (3, Weapons.Matra_Type_155_Rocket_Pod)
|
||||
|
||||
class Pylon4:
|
||||
@@ -427,7 +503,10 @@ class MB_339PAN(PlaneType):
|
||||
Mk_82 = (8, Weapons.Mk_82)
|
||||
LAU_10___4_ZUNI_MK_71___ = (8, MB_339PAN_Weapons.LAU_10___4_ZUNI_MK_71___)
|
||||
Matra_Type_155_Rocket_Pod = (8, Weapons.Matra_Type_155_Rocket_Pod)
|
||||
BRD_4_250_4_MK_76_2_ARF_8M3TP_ = (8, MB_339PAN_Weapons.BRD_4_250_4_MK_76_2_ARF_8M3TP_)
|
||||
BRD_4_250_4_MK_76_2_ARF_8M3TP_ = (
|
||||
8,
|
||||
MB_339PAN_Weapons.BRD_4_250_4_MK_76_2_ARF_8M3TP_,
|
||||
)
|
||||
|
||||
class Pylon9:
|
||||
Empty_Pylon = (9, MB_339PAN_Weapons.Empty_Pylon)
|
||||
@@ -438,9 +517,18 @@ class MB_339PAN(PlaneType):
|
||||
|
||||
class Pylon10:
|
||||
Tip_Fuel_Tank_500lt_ = (10, MB_339PAN_Weapons.Tip_Fuel_Tank_500lt_)
|
||||
Tip_Fuel_Tank_Ellittici_320lt_ = (10, MB_339PAN_Weapons.Tip_Fuel_Tank_Ellittici_320lt_)
|
||||
Tip_Fuel_Tank_Ellittici_320lt_ = (
|
||||
10,
|
||||
MB_339PAN_Weapons.Tip_Fuel_Tank_Ellittici_320lt_,
|
||||
)
|
||||
|
||||
pylons = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
|
||||
|
||||
tasks = [task.GroundAttack, task.RunwayAttack, task.CAS, task.AntishipStrike, task.Reconnaissance]
|
||||
task_default = task.Nothing
|
||||
tasks = [
|
||||
task.GroundAttack,
|
||||
task.RunwayAttack,
|
||||
task.CAS,
|
||||
task.AntishipStrike,
|
||||
task.Reconnaissance,
|
||||
]
|
||||
task_default = task.Nothing
|
||||
|
||||
@@ -7,7 +7,16 @@ from pydcs_extensions.rafale.rafale import Rafale_M, Rafale_A_S, Rafale_B
|
||||
from pydcs_extensions.su57.su57 import Su_57
|
||||
import pydcs_extensions.frenchpack.frenchpack as frenchpack
|
||||
|
||||
MODDED_AIRPLANES = [A_4E_C, MB_339PAN, Rafale_A_S, Rafale_M, Rafale_B, Su_57, F_22A, Hercules]
|
||||
MODDED_AIRPLANES = [
|
||||
A_4E_C,
|
||||
MB_339PAN,
|
||||
Rafale_A_S,
|
||||
Rafale_M,
|
||||
Rafale_B,
|
||||
Su_57,
|
||||
F_22A,
|
||||
Hercules,
|
||||
]
|
||||
MODDED_VEHICLES = [
|
||||
frenchpack._FIELD_HIDE,
|
||||
frenchpack._FIELD_HIDE_SMALL,
|
||||
@@ -84,5 +93,5 @@ MODDED_VEHICLES = [
|
||||
highdigitsams.SAM_SA_24_Igla_S_manpad,
|
||||
highdigitsams.SAM_SA_14_Strela_3_manpad,
|
||||
highdigitsams.Polyana_D4M1_C2_node,
|
||||
highdigitsams._34Ya6E_Gazetchik_E_decoy
|
||||
]
|
||||
highdigitsams._34Ya6E_Gazetchik_E_decoy,
|
||||
]
|
||||
|
||||
@@ -4,6 +4,7 @@ from dcs import task
|
||||
from dcs.planes import PlaneType
|
||||
from dcs.weapons_data import Weapons
|
||||
|
||||
|
||||
class RafaleWeapons:
|
||||
SCALP = {"clsid": "{SCALP}", "name": "SCALP", "weight": None}
|
||||
AS_30L = {"clsid": "{AS_30L}", "name": "AS_30L", "weight": 292}
|
||||
@@ -25,16 +26,36 @@ class RafaleWeapons:
|
||||
RPL751_ = {"clsid": "{RPL751}", "name": "RPL751", "weight": 70}
|
||||
RPL751__ = {"clsid": "{RPL751}", "name": "RPL751", "weight": 70}
|
||||
METEOR = {"clsid": "{RAFALE_MBDA_METEOR}", "name": "METEOR", "weight": 199}
|
||||
METEOR_x2 = {"clsid": "{LAU-115_2xLAU-127_MBDA_METEOR}", "name": "METEOR x2", "weight": 445}
|
||||
METEOR_x2 = {
|
||||
"clsid": "{LAU-115_2xLAU-127_MBDA_METEOR}",
|
||||
"name": "METEOR x2",
|
||||
"weight": 445,
|
||||
}
|
||||
GBU_49 = {"clsid": "{GBU_49}", "name": "GBU_49", "weight": 525}
|
||||
GBU12PII = {"clsid": "{GBU12PII}", "name": "GBU12PII", "weight": 525}
|
||||
AASM_250 = {"clsid": "{AASM_250}", "name": "AASM_250", "weight": 250}
|
||||
AASM_250_L = {"clsid": "{AASM_250_L}", "name": "AASM_250_L", "weight": 500}
|
||||
AASM_250_R = {"clsid": "{AASM_250_R}", "name": "AASM_250_R", "weight": 500}
|
||||
AASM_250_RIGHT = {"clsid": "{AASM_250_RIGHT}", "name": "AASM_250_RIGHT", "weight": 250}
|
||||
_2_GBU_54_V_1_B = {"clsid": "{BRU-70A_2*GBU-54_LEFT}", "name": "2 GBU-54(V)1/B", "weight": 566}
|
||||
_2_GBU_54_V_1_B_ = {"clsid": "{BRU-70A_2*GBU-54_RIGHT}", "name": "2 GBU-54(V)1/B", "weight": 566}
|
||||
_3_GBU_54_V_1_B = {"clsid": "{BRU-70A_3*GBU-54}", "name": "3 GBU-54(V)1/B", "weight": 819}
|
||||
AASM_250_RIGHT = {
|
||||
"clsid": "{AASM_250_RIGHT}",
|
||||
"name": "AASM_250_RIGHT",
|
||||
"weight": 250,
|
||||
}
|
||||
_2_GBU_54_V_1_B = {
|
||||
"clsid": "{BRU-70A_2*GBU-54_LEFT}",
|
||||
"name": "2 GBU-54(V)1/B",
|
||||
"weight": 566,
|
||||
}
|
||||
_2_GBU_54_V_1_B_ = {
|
||||
"clsid": "{BRU-70A_2*GBU-54_RIGHT}",
|
||||
"name": "2 GBU-54(V)1/B",
|
||||
"weight": 566,
|
||||
}
|
||||
_3_GBU_54_V_1_B = {
|
||||
"clsid": "{BRU-70A_3*GBU-54}",
|
||||
"name": "3 GBU-54(V)1/B",
|
||||
"weight": 819,
|
||||
}
|
||||
|
||||
|
||||
class Rafale_A_S(PlaneType):
|
||||
@@ -50,11 +71,10 @@ class Rafale_A_S(PlaneType):
|
||||
charge_total = 96
|
||||
chaff_charge_size = 1
|
||||
flare_charge_size = 1
|
||||
category = "Interceptor" #{78EFB7A2-FD52-4b57-A6A6-3BF0E1D6555F}
|
||||
category = "Interceptor" # {78EFB7A2-FD52-4b57-A6A6-3BF0E1D6555F}
|
||||
radio_frequency = 127.5
|
||||
|
||||
class Liveries:
|
||||
|
||||
class USSR(Enum):
|
||||
_01_marine_12_f = "01 marine 12 f"
|
||||
_02_rafale_export = "02 rafale export"
|
||||
@@ -896,7 +916,10 @@ class Rafale_A_S(PlaneType):
|
||||
_3_Mk_20_Rockeye = (2, Weapons._3_Mk_20_Rockeye)
|
||||
Mk_84 = (2, Weapons.Mk_84)
|
||||
GBU_24 = (2, Weapons.GBU_24)
|
||||
LAU_131___7_2_75__rockets_M151__HE_ = (2, Weapons.LAU_131___7_2_75__rockets_M151__HE_)
|
||||
LAU_131___7_2_75__rockets_M151__HE_ = (
|
||||
2,
|
||||
Weapons.LAU_131___7_2_75__rockets_M151__HE_,
|
||||
)
|
||||
LAU3_HE151 = (2, Weapons.LAU3_HE151)
|
||||
LAU3_WP156 = (2, Weapons.LAU3_WP156)
|
||||
LAU3_HE5 = (2, Weapons.LAU3_HE5)
|
||||
@@ -923,7 +946,10 @@ class Rafale_A_S(PlaneType):
|
||||
AIM_9P_Sidewinder_IR_AAM = (4, Weapons.AIM_9P_Sidewinder_IR_AAM)
|
||||
MICA_IR = (4, Weapons.MICA_IR)
|
||||
LAU_10___4_ZUNI_MK_71 = (4, Weapons.LAU_10___4_ZUNI_MK_71)
|
||||
LAU_61___19_2_75__rockets_MK151_HE = (4, Weapons.LAU_61___19_2_75__rockets_MK151_HE)
|
||||
LAU_61___19_2_75__rockets_MK151_HE = (
|
||||
4,
|
||||
Weapons.LAU_61___19_2_75__rockets_MK151_HE,
|
||||
)
|
||||
LAU3_HE151 = (4, Weapons.LAU3_HE151)
|
||||
|
||||
class Pylon5:
|
||||
@@ -937,7 +963,10 @@ class Rafale_A_S(PlaneType):
|
||||
|
||||
class Pylon6:
|
||||
LAU_10___4_ZUNI_MK_71 = (6, Weapons.LAU_10___4_ZUNI_MK_71)
|
||||
LAU_61___19_2_75__rockets_MK151_HE = (6, Weapons.LAU_61___19_2_75__rockets_MK151_HE)
|
||||
LAU_61___19_2_75__rockets_MK151_HE = (
|
||||
6,
|
||||
Weapons.LAU_61___19_2_75__rockets_MK151_HE,
|
||||
)
|
||||
AIM_9M_Sidewinder_IR_AAM = (6, Weapons.AIM_9M_Sidewinder_IR_AAM)
|
||||
AIM_9P_Sidewinder_IR_AAM = (6, Weapons.AIM_9P_Sidewinder_IR_AAM)
|
||||
MICA_IR = (6, Weapons.MICA_IR)
|
||||
@@ -973,7 +1002,10 @@ class Rafale_A_S(PlaneType):
|
||||
Mk_84 = (9, Weapons.Mk_84)
|
||||
_3_Mk_82 = (9, Weapons._3_Mk_82)
|
||||
AGM_88C_ = (9, Weapons.AGM_88C_)
|
||||
LAU_131___7_2_75__rockets_M151__HE_ = (9, Weapons.LAU_131___7_2_75__rockets_M151__HE_)
|
||||
LAU_131___7_2_75__rockets_M151__HE_ = (
|
||||
9,
|
||||
Weapons.LAU_131___7_2_75__rockets_M151__HE_,
|
||||
)
|
||||
LAU3_HE151 = (9, Weapons.LAU3_HE151)
|
||||
LAU3_WP156 = (9, Weapons.LAU3_WP156)
|
||||
LAU3_HE5 = (9, Weapons.LAU3_HE5)
|
||||
@@ -993,7 +1025,18 @@ class Rafale_A_S(PlaneType):
|
||||
|
||||
pylons = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
|
||||
|
||||
tasks = [task.CAP, task.Escort, task.FighterSweep, task.GroundAttack, task.CAS, task.AFAC, task.RunwayAttack, task.AntishipStrike, task.SEAD, task.PinpointStrike]
|
||||
tasks = [
|
||||
task.CAP,
|
||||
task.Escort,
|
||||
task.FighterSweep,
|
||||
task.GroundAttack,
|
||||
task.CAS,
|
||||
task.AFAC,
|
||||
task.RunwayAttack,
|
||||
task.AntishipStrike,
|
||||
task.SEAD,
|
||||
task.PinpointStrike,
|
||||
]
|
||||
task_default = task.CAP
|
||||
|
||||
|
||||
@@ -1010,11 +1053,10 @@ class Rafale_M(PlaneType):
|
||||
charge_total = 96
|
||||
chaff_charge_size = 1
|
||||
flare_charge_size = 1
|
||||
category = "Interceptor" #{78EFB7A2-FD52-4b57-A6A6-3BF0E1D6555F}
|
||||
category = "Interceptor" # {78EFB7A2-FD52-4b57-A6A6-3BF0E1D6555F}
|
||||
radio_frequency = 127.5
|
||||
|
||||
class Liveries:
|
||||
|
||||
class USSR(Enum):
|
||||
_01_marine_12_f = "01 marine 12 f"
|
||||
_02_rafale_export = "02 rafale export"
|
||||
@@ -1851,7 +1893,10 @@ class Rafale_M(PlaneType):
|
||||
MER_2_MK_83 = (2, Weapons.MER_2_MK_83)
|
||||
MER_2_MK_82 = (2, Weapons.MER_2_MK_82)
|
||||
_3_Mk_82 = (2, Weapons._3_Mk_82)
|
||||
LAU_131___7_2_75__rockets_M151__HE_ = (2, Weapons.LAU_131___7_2_75__rockets_M151__HE_)
|
||||
LAU_131___7_2_75__rockets_M151__HE_ = (
|
||||
2,
|
||||
Weapons.LAU_131___7_2_75__rockets_M151__HE_,
|
||||
)
|
||||
LAU3_HE151 = (2, Weapons.LAU3_HE151)
|
||||
LAU3_WP156 = (2, Weapons.LAU3_WP156)
|
||||
LAU3_HE5 = (2, Weapons.LAU3_HE5)
|
||||
@@ -1887,7 +1932,10 @@ class Rafale_M(PlaneType):
|
||||
AIM_9P_Sidewinder_IR_AAM = (4, Weapons.AIM_9P_Sidewinder_IR_AAM)
|
||||
LAU3_WP156 = (4, Weapons.LAU3_WP156)
|
||||
LAU_10___4_ZUNI_MK_71 = (4, Weapons.LAU_10___4_ZUNI_MK_71)
|
||||
LAU_61___19_2_75__rockets_MK151_HE = (4, Weapons.LAU_61___19_2_75__rockets_MK151_HE)
|
||||
LAU_61___19_2_75__rockets_MK151_HE = (
|
||||
4,
|
||||
Weapons.LAU_61___19_2_75__rockets_MK151_HE,
|
||||
)
|
||||
Mk_82 = (4, Weapons.Mk_82)
|
||||
|
||||
class Pylon5:
|
||||
@@ -1906,7 +1954,10 @@ class Rafale_M(PlaneType):
|
||||
AIM_9P_Sidewinder_IR_AAM = (6, Weapons.AIM_9P_Sidewinder_IR_AAM)
|
||||
LAU3_WP156 = (6, Weapons.LAU3_WP156)
|
||||
LAU_10___4_ZUNI_MK_71 = (6, Weapons.LAU_10___4_ZUNI_MK_71)
|
||||
LAU_61___19_2_75__rockets_MK151_HE = (6, Weapons.LAU_61___19_2_75__rockets_MK151_HE)
|
||||
LAU_61___19_2_75__rockets_MK151_HE = (
|
||||
6,
|
||||
Weapons.LAU_61___19_2_75__rockets_MK151_HE,
|
||||
)
|
||||
Mk_82 = (6, Weapons.Mk_82)
|
||||
|
||||
class Pylon7:
|
||||
@@ -1936,7 +1987,10 @@ class Rafale_M(PlaneType):
|
||||
MER_2_MK_83 = (9, Weapons.MER_2_MK_83)
|
||||
MER_2_MK_82 = (9, Weapons.MER_2_MK_82)
|
||||
_3_Mk_82 = (9, Weapons._3_Mk_82)
|
||||
LAU_131___7_2_75__rockets_M151__HE_ = (9, Weapons.LAU_131___7_2_75__rockets_M151__HE_)
|
||||
LAU_131___7_2_75__rockets_M151__HE_ = (
|
||||
9,
|
||||
Weapons.LAU_131___7_2_75__rockets_M151__HE_,
|
||||
)
|
||||
LAU3_HE151 = (9, Weapons.LAU3_HE151)
|
||||
LAU3_WP156 = (9, Weapons.LAU3_WP156)
|
||||
LAU3_HE5 = (9, Weapons.LAU3_HE5)
|
||||
@@ -1961,7 +2015,18 @@ class Rafale_M(PlaneType):
|
||||
|
||||
pylons = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
|
||||
|
||||
tasks = [task.CAP, task.Escort, task.FighterSweep, task.GroundAttack, task.CAS, task.AFAC, task.RunwayAttack, task.AntishipStrike, task.Reconnaissance, task.Intercept]
|
||||
tasks = [
|
||||
task.CAP,
|
||||
task.Escort,
|
||||
task.FighterSweep,
|
||||
task.GroundAttack,
|
||||
task.CAS,
|
||||
task.AFAC,
|
||||
task.RunwayAttack,
|
||||
task.AntishipStrike,
|
||||
task.Reconnaissance,
|
||||
task.Intercept,
|
||||
]
|
||||
task_default = task.CAP
|
||||
|
||||
|
||||
@@ -1978,11 +2043,10 @@ class Rafale_B(PlaneType):
|
||||
charge_total = 96
|
||||
chaff_charge_size = 1
|
||||
flare_charge_size = 1
|
||||
category = "Interceptor" #{78EFB7A2-FD52-4b57-A6A6-3BF0E1D6555F}
|
||||
category = "Interceptor" # {78EFB7A2-FD52-4b57-A6A6-3BF0E1D6555F}
|
||||
radio_frequency = 127.5
|
||||
|
||||
class Liveries:
|
||||
|
||||
class USSR(Enum):
|
||||
_01_rafale_b_lafayette = "01 rafale b lafayette"
|
||||
_02_rafale_b_mt_de_marsan = "02 rafale b mt de marsan"
|
||||
@@ -2414,7 +2478,10 @@ class Rafale_B(PlaneType):
|
||||
_3_Mk_20_Rockeye = (2, Weapons._3_Mk_20_Rockeye)
|
||||
Mk_84 = (2, Weapons.Mk_84)
|
||||
GBU_24 = (2, Weapons.GBU_24)
|
||||
LAU_131___7_2_75__rockets_M151__HE_ = (2, Weapons.LAU_131___7_2_75__rockets_M151__HE_)
|
||||
LAU_131___7_2_75__rockets_M151__HE_ = (
|
||||
2,
|
||||
Weapons.LAU_131___7_2_75__rockets_M151__HE_,
|
||||
)
|
||||
LAU3_HE151 = (2, Weapons.LAU3_HE151)
|
||||
LAU3_WP156 = (2, Weapons.LAU3_WP156)
|
||||
LAU3_HE5 = (2, Weapons.LAU3_HE5)
|
||||
@@ -2442,7 +2509,10 @@ class Rafale_B(PlaneType):
|
||||
AIM_9P_Sidewinder_IR_AAM = (4, Weapons.AIM_9P_Sidewinder_IR_AAM)
|
||||
MICA_IR = (4, Weapons.MICA_IR)
|
||||
LAU_10___4_ZUNI_MK_71 = (4, Weapons.LAU_10___4_ZUNI_MK_71)
|
||||
LAU_61___19_2_75__rockets_MK151_HE = (4, Weapons.LAU_61___19_2_75__rockets_MK151_HE)
|
||||
LAU_61___19_2_75__rockets_MK151_HE = (
|
||||
4,
|
||||
Weapons.LAU_61___19_2_75__rockets_MK151_HE,
|
||||
)
|
||||
LAU3_HE151 = (4, Weapons.LAU3_HE151)
|
||||
|
||||
class Pylon5:
|
||||
@@ -2459,7 +2529,10 @@ class Rafale_B(PlaneType):
|
||||
|
||||
class Pylon6:
|
||||
LAU_10___4_ZUNI_MK_71 = (6, Weapons.LAU_10___4_ZUNI_MK_71)
|
||||
LAU_61___19_2_75__rockets_MK151_HE = (6, Weapons.LAU_61___19_2_75__rockets_MK151_HE)
|
||||
LAU_61___19_2_75__rockets_MK151_HE = (
|
||||
6,
|
||||
Weapons.LAU_61___19_2_75__rockets_MK151_HE,
|
||||
)
|
||||
AIM_9M_Sidewinder_IR_AAM = (6, Weapons.AIM_9M_Sidewinder_IR_AAM)
|
||||
AIM_9P_Sidewinder_IR_AAM = (6, Weapons.AIM_9P_Sidewinder_IR_AAM)
|
||||
MICA_IR = (6, Weapons.MICA_IR)
|
||||
@@ -2496,7 +2569,10 @@ class Rafale_B(PlaneType):
|
||||
Mk_84 = (9, Weapons.Mk_84)
|
||||
_3_Mk_82 = (9, Weapons._3_Mk_82)
|
||||
AGM_88C_ = (9, Weapons.AGM_88C_)
|
||||
LAU_131___7_2_75__rockets_M151__HE_ = (9, Weapons.LAU_131___7_2_75__rockets_M151__HE_)
|
||||
LAU_131___7_2_75__rockets_M151__HE_ = (
|
||||
9,
|
||||
Weapons.LAU_131___7_2_75__rockets_M151__HE_,
|
||||
)
|
||||
LAU3_HE151 = (9, Weapons.LAU3_HE151)
|
||||
LAU3_WP156 = (9, Weapons.LAU3_WP156)
|
||||
LAU3_HE5 = (9, Weapons.LAU3_HE5)
|
||||
@@ -2516,7 +2592,18 @@ class Rafale_B(PlaneType):
|
||||
|
||||
pylons = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
|
||||
|
||||
tasks = [task.CAP, task.Escort, task.FighterSweep, task.GroundAttack, task.CAS, task.AFAC, task.RunwayAttack, task.AntishipStrike, task.SEAD, task.PinpointStrike]
|
||||
tasks = [
|
||||
task.CAP,
|
||||
task.Escort,
|
||||
task.FighterSweep,
|
||||
task.GroundAttack,
|
||||
task.CAS,
|
||||
task.AFAC,
|
||||
task.RunwayAttack,
|
||||
task.AntishipStrike,
|
||||
task.SEAD,
|
||||
task.PinpointStrike,
|
||||
]
|
||||
task_default = task.GroundAttack
|
||||
|
||||
|
||||
@@ -2534,11 +2621,10 @@ class Rafale_M_NOUNOU(PlaneType):
|
||||
chaff_charge_size = 1
|
||||
flare_charge_size = 1
|
||||
tacan = True
|
||||
category = "Tankers" #{8A302789-A55D-4897-B647-66493FA6826F}
|
||||
category = "Tankers" # {8A302789-A55D-4897-B647-66493FA6826F}
|
||||
radio_frequency = 127.5
|
||||
|
||||
class Liveries:
|
||||
|
||||
class USSR(Enum):
|
||||
_01_marine_12_f = "01 marine 12 f"
|
||||
_02_rafale_export = "02 rafale export"
|
||||
@@ -2977,4 +3063,3 @@ class Rafale_M_NOUNOU(PlaneType):
|
||||
|
||||
tasks = [task.Refueling]
|
||||
task_default = task.Refueling
|
||||
|
||||
|
||||
@@ -11,7 +11,11 @@ class Su57Weapons:
|
||||
RVV_BD = {"clsid": "{RVV-BD}", "name": "RVV-BD", "weight": 600}
|
||||
RVV_L = {"clsid": "{RVV-L}", "name": "RVV-L", "weight": 748}
|
||||
RVV_M = {"clsid": "{RVV-M}", "name": "RVV-M", "weight": 190}
|
||||
Su_57_Fuel_Tank = {"clsid": "{SU_57Tank}", "name": "Su-57 Fuel Tank", "weight": 1561.421}
|
||||
Su_57_Fuel_Tank = {
|
||||
"clsid": "{SU_57Tank}",
|
||||
"name": "Su-57 Fuel Tank",
|
||||
"weight": 1561.421,
|
||||
}
|
||||
|
||||
|
||||
class Su_57(PlaneType):
|
||||
@@ -27,10 +31,9 @@ class Su_57(PlaneType):
|
||||
charge_total = 200
|
||||
chaff_charge_size = 1
|
||||
flare_charge_size = 1
|
||||
category = "Interceptor" #{78EFB7A2-FD52-4b57-A6A6-3BF0E1D6555F}
|
||||
category = "Interceptor" # {78EFB7A2-FD52-4b57-A6A6-3BF0E1D6555F}
|
||||
|
||||
class Liveries:
|
||||
|
||||
class USSR(Enum):
|
||||
_22 = "22"
|
||||
_20 = "20"
|
||||
@@ -1703,8 +1706,8 @@ class Su_57(PlaneType):
|
||||
FAB_1500_M54 = (11, Weapons.FAB_1500_M54)
|
||||
KAB_1500L = (11, Weapons.KAB_1500L)
|
||||
MER_6_FAB_250 = (11, Weapons.MER_6_FAB_250)
|
||||
#ERRR {R-33}
|
||||
RVV_BD = (11,Su57Weapons.RVV_BD)
|
||||
# ERRR {R-33}
|
||||
RVV_BD = (11, Su57Weapons.RVV_BD)
|
||||
RVV_AE = (11, Su57Weapons.RVV_AE)
|
||||
RVV_M = (11, Su57Weapons.RVV_M)
|
||||
RVV_L = (11, Su57Weapons.RVV_L)
|
||||
@@ -1732,5 +1735,15 @@ class Su_57(PlaneType):
|
||||
|
||||
pylons = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}
|
||||
|
||||
tasks = [task.CAP, task.Intercept, task.Escort, task.FighterSweep, task.AFAC, task.GroundAttack, task.RunwayAttack, task.AntishipStrike, task.CAS]
|
||||
tasks = [
|
||||
task.CAP,
|
||||
task.Intercept,
|
||||
task.Escort,
|
||||
task.FighterSweep,
|
||||
task.AFAC,
|
||||
task.GroundAttack,
|
||||
task.RunwayAttack,
|
||||
task.AntishipStrike,
|
||||
task.CAS,
|
||||
]
|
||||
task_default = task.CAP
|
||||
|
||||
@@ -1,10 +1,31 @@
|
||||
Pyside2>=5.15.2
|
||||
pyinstaller==3.6
|
||||
|
||||
Pillow~=7.2.0
|
||||
tabulate~=0.8.7
|
||||
|
||||
altgraph==0.17
|
||||
appdirs==1.4.4
|
||||
black==20.8b1
|
||||
cfgv==3.2.0
|
||||
click==7.1.2
|
||||
distlib==0.3.1
|
||||
filelock==3.0.12
|
||||
future==0.18.2
|
||||
identify==1.5.13
|
||||
Jinja2==2.11.3
|
||||
MarkupSafe==1.1.1
|
||||
mypy==0.782
|
||||
mypy-extensions==0.4.3
|
||||
jinja2>=2.11.2
|
||||
shapely==1.7.1
|
||||
nodeenv==1.5.0
|
||||
pathspec==0.8.1
|
||||
pefile==2019.4.18
|
||||
Pillow==7.2.0
|
||||
pre-commit==2.10.1
|
||||
PyInstaller==3.6
|
||||
PySide2==5.15.2
|
||||
pywin32-ctypes==0.2.0
|
||||
PyYAML==5.4.1
|
||||
regex==2020.11.13
|
||||
Shapely==1.7.1
|
||||
shiboken2==5.15.2
|
||||
six==1.15.0
|
||||
tabulate==0.8.7
|
||||
toml==0.10.2
|
||||
typed-ast==1.4.2
|
||||
typing-extensions==3.7.4.3
|
||||
virtualenv==20.4.2
|
||||
@@ -12,14 +12,17 @@ Terrain = Union[Caucasus, PersianGulf, Syria, Nevada, Normandy, TheChannel]
|
||||
|
||||
SAVE_PATH = Path("resources/frontlines")
|
||||
|
||||
|
||||
def validate_miz(file_path: Path) -> bool:
|
||||
return bool(file_path.suffix == ".miz" and file_path.exists())
|
||||
|
||||
|
||||
def validate_airports(airports: Tuple[int], terrain: Terrain):
|
||||
for airport in airports:
|
||||
if terrain.airport_by_id(airport) is None:
|
||||
print(f"Cannot load airport for invalid id {airport}")
|
||||
|
||||
|
||||
def load_files(files) -> List[Mission]:
|
||||
missions = []
|
||||
for file in files:
|
||||
@@ -31,26 +34,30 @@ def load_files(files) -> List[Mission]:
|
||||
print(f"Error: {file} doesn't look like a valid mission file.")
|
||||
return missions
|
||||
|
||||
|
||||
def create_frontline_dict(mission: Mission) -> Dict[str, Dict]:
|
||||
frontline_dict = {}
|
||||
for group in mission.country("USA").vehicle_group:
|
||||
groupname = str(group.name).replace(group.name.id, "").replace(":","")
|
||||
groupname = str(group.name).replace(group.name.id, "").replace(":", "")
|
||||
control_points = groupname.split("|")
|
||||
frontline_dict[groupname] = {
|
||||
"points": [(i.position.x, i.position.y) for i in group.points],
|
||||
"start_cp": int(control_points[0])
|
||||
}
|
||||
"start_cp": int(control_points[0]),
|
||||
}
|
||||
return frontline_dict
|
||||
|
||||
|
||||
def process_missions(missions: List[Mission]) -> None:
|
||||
for mission in missions:
|
||||
frontline_dict = create_frontline_dict(mission)
|
||||
write_json(frontline_dict, mission.terrain.name.lower())
|
||||
|
||||
|
||||
def write_json(frontline_dict: Dict[str, Dict], terrain_name: str) -> None:
|
||||
with open(SAVE_PATH.joinpath(terrain_name + ".json"), "w") as file:
|
||||
json.dump(frontline_dict, file)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
parser = argparse.ArgumentParser(
|
||||
description="Process a miz file to create json descriptions of multi-segment frontlines"
|
||||
@@ -69,6 +76,3 @@ if __name__ == "__main__":
|
||||
# frontline_dict = create_frontline_dict(missions[0])
|
||||
|
||||
print("Done")
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -13,7 +13,10 @@ def load_templates():
|
||||
|
||||
groups = {} # type: typing.Dict[str, typing.Dict[int, typing.List[Static]]]
|
||||
|
||||
for static_group in temp_mis.country("USA").static_group + temp_mis.country("USAF Aggressors").static_group:
|
||||
for static_group in (
|
||||
temp_mis.country("USA").static_group
|
||||
+ temp_mis.country("USAF Aggressors").static_group
|
||||
):
|
||||
for static in static_group.units:
|
||||
static_name = str(static.name).split()[0]
|
||||
tpl_name, tpl_idx = static_name[:-1], int(static_name[-1])
|
||||
@@ -34,13 +37,19 @@ def load_templates():
|
||||
a = aa
|
||||
b = bb
|
||||
|
||||
center = a.position.point_from_heading(a.position.heading_between_point(b.position), dist / 2)
|
||||
center = a.position.point_from_heading(
|
||||
a.position.heading_between_point(b.position), dist / 2
|
||||
)
|
||||
for static in static_groups:
|
||||
tpls[category_name][idx].append({
|
||||
"type": static.type,
|
||||
"offset": Point(center.x - static.position.x, center.y - static.position.y),
|
||||
"heading": static.heading,
|
||||
})
|
||||
tpls[category_name][idx].append(
|
||||
{
|
||||
"type": static.type,
|
||||
"offset": Point(
|
||||
center.x - static.position.x, center.y - static.position.y
|
||||
),
|
||||
"heading": static.heading,
|
||||
}
|
||||
)
|
||||
|
||||
tpls["aa"] = {0: [{"type": "AA", "offset": Point(0, 0), "heading": 0}]}
|
||||
return tpls
|
||||
|
||||
@@ -11,7 +11,8 @@ from game.theater.landmap import Landmap
|
||||
@singledispatch
|
||||
def to_multipoly(obj) -> MultiPolygon:
|
||||
raise NotImplementedError(
|
||||
f"to_multipoly not implemented for {obj.__class__.__name__}")
|
||||
f"to_multipoly not implemented for {obj.__class__.__name__}"
|
||||
)
|
||||
|
||||
|
||||
@to_multipoly.register
|
||||
@@ -28,8 +29,7 @@ def _multipoly_to_multipoly(obj: MultiPolygon) -> MultiPolygon:
|
||||
def _geometry_collection_to_multipoly(obj: GeometryCollection) -> MultiPolygon:
|
||||
if obj.is_empty:
|
||||
return MultiPolygon()
|
||||
raise RuntimeError(
|
||||
f"Not sure how to convert collection to multipoly: {obj.wkt}")
|
||||
raise RuntimeError(f"Not sure how to convert collection to multipoly: {obj.wkt}")
|
||||
|
||||
|
||||
for terrain in ["cau", "nev", "syria", "channel", "normandy", "gulf"]:
|
||||
@@ -61,6 +61,11 @@ for terrain in ["cau", "nev", "syria", "channel", "normandy", "gulf"]:
|
||||
|
||||
with open("../{}landmap.p".format(terrain), "wb") as f:
|
||||
print(len(inclusion_zones), len(exclusion_zones), len(seas_zones))
|
||||
pickle.dump(Landmap(to_multipoly(unary_union(inclusion_zones)),
|
||||
to_multipoly(unary_union(exclusion_zones)),
|
||||
to_multipoly(unary_union(seas_zones))), f)
|
||||
pickle.dump(
|
||||
Landmap(
|
||||
to_multipoly(unary_union(inclusion_zones)),
|
||||
to_multipoly(unary_union(exclusion_zones)),
|
||||
to_multipoly(unary_union(seas_zones)),
|
||||
),
|
||||
f,
|
||||
)
|
||||
|
||||
@@ -70,13 +70,19 @@ def beacons_from_terrain(dcs_path: Path, path: Path) -> Iterable[Beacon]:
|
||||
with cd(dcs_path):
|
||||
lua = lupa.LuaRuntime()
|
||||
|
||||
lua.execute(textwrap.dedent("""\
|
||||
lua.execute(
|
||||
textwrap.dedent(
|
||||
"""\
|
||||
function module(name)
|
||||
end
|
||||
|
||||
"""))
|
||||
"""
|
||||
)
|
||||
)
|
||||
|
||||
bind_gettext = lua.eval(textwrap.dedent("""\
|
||||
bind_gettext = lua.eval(
|
||||
textwrap.dedent(
|
||||
"""\
|
||||
function(py_gettext)
|
||||
package.preload["i_18n"] = function()
|
||||
return {
|
||||
@@ -85,16 +91,20 @@ def beacons_from_terrain(dcs_path: Path, path: Path) -> Iterable[Beacon]:
|
||||
end
|
||||
end
|
||||
|
||||
"""))
|
||||
"""
|
||||
)
|
||||
)
|
||||
|
||||
try:
|
||||
translator = gettext.translation(
|
||||
"messages", path / "l10n", languages=["en"])
|
||||
"messages", path / "l10n", languages=["en"]
|
||||
)
|
||||
|
||||
def translate(message_name: str) -> str:
|
||||
if not message_name:
|
||||
return message_name
|
||||
return translator.gettext(message_name)
|
||||
|
||||
except FileNotFoundError:
|
||||
# TheChannel has no locale data for English.
|
||||
def translate(message_name: str) -> str:
|
||||
@@ -126,7 +136,7 @@ def beacons_from_terrain(dcs_path: Path, path: Path) -> Iterable[Beacon]:
|
||||
beacon["callsign"],
|
||||
beacon_type,
|
||||
convert_lua_frequency(beacon["frequency"]),
|
||||
getattr(beacon, "channel", None)
|
||||
getattr(beacon, "channel", None),
|
||||
)
|
||||
|
||||
|
||||
@@ -152,9 +162,10 @@ class Importer:
|
||||
def export_beacons(self, terrain: str, beacons: Iterable[Beacon]) -> None:
|
||||
terrain_py_path = self.export_dir / f"{terrain.lower()}.json"
|
||||
import json
|
||||
terrain_py_path.write_text(json.dumps([
|
||||
dataclasses.asdict(b) for b in beacons
|
||||
], indent=True))
|
||||
|
||||
terrain_py_path.write_text(
|
||||
json.dumps([dataclasses.asdict(b) for b in beacons], indent=True)
|
||||
)
|
||||
|
||||
|
||||
def parse_args() -> argparse.Namespace:
|
||||
@@ -169,13 +180,14 @@ def parse_args() -> argparse.Namespace:
|
||||
"--export-to",
|
||||
type=resolved_path,
|
||||
default=EXPORT_DIR,
|
||||
help="Output directory for generated JSON files.")
|
||||
help="Output directory for generated JSON files.",
|
||||
)
|
||||
|
||||
parser.add_argument(
|
||||
"dcs_path",
|
||||
metavar="DCS_PATH",
|
||||
type=resolved_path,
|
||||
help="Path to DCS installation."
|
||||
help="Path to DCS installation.",
|
||||
)
|
||||
|
||||
return parser.parse_args()
|
||||
|
||||
@@ -36,7 +36,13 @@ def _zip_dir(archieve, path):
|
||||
|
||||
|
||||
def _mk_archieve():
|
||||
path = os.path.join(os.path.dirname(__file__), os.pardir, os.pardir, "build", "dcs_liberation_{}.zip".format(VERSION))
|
||||
path = os.path.join(
|
||||
os.path.dirname(__file__),
|
||||
os.pardir,
|
||||
os.pardir,
|
||||
"build",
|
||||
"dcs_liberation_{}.zip".format(VERSION),
|
||||
)
|
||||
if os.path.exists(path):
|
||||
print("version already exists")
|
||||
return
|
||||
@@ -46,9 +52,9 @@ def _mk_archieve():
|
||||
except FileNotFoundError:
|
||||
pass
|
||||
os.system("pyinstaller.exe --clean pyinstaller.spec")
|
||||
#archieve = ZipFile(path, "w")
|
||||
#archieve.writestr("dcs_liberation.bat", "cd dist\\dcs_liberation\r\nliberation_main \"%UserProfile%\\Saved Games\" \"{}\"".format(VERSION))
|
||||
#_zip_dir(archieve, "./dist/dcs_liberation")
|
||||
# archieve = ZipFile(path, "w")
|
||||
# archieve.writestr("dcs_liberation.bat", "cd dist\\dcs_liberation\r\nliberation_main \"%UserProfile%\\Saved Games\" \"{}\"".format(VERSION))
|
||||
# _zip_dir(archieve, "./dist/dcs_liberation")
|
||||
|
||||
|
||||
_mk_archieve()
|
||||
|
||||
Reference in New Issue
Block a user