mirror of
https://github.com/dcs-retribution/dcs-retribution.git
synced 2025-11-10 15:41:24 +00:00
UH-60L mod support
Resolves #1964 but adding CTLD will require the use of Liberation plugins and thus are not included in this pull request. - Implemented support for the UH-60L mod by =X51= Kinkkujuustovoileipa, Cubeboy, Jonas, JinxxDCS, Dorian, =X51= Parzival & =X51= Lawson. - Because the standard DCS tankers will not fly below 160ish knots, the UH-60L mod team have included a modified version of the KC-130 tanker designed for refueling at speeds of 120-130kts.
This commit is contained in:
parent
8a66bf2e09
commit
33ed127cba
@ -14,6 +14,7 @@ Saves from 5.x are not compatible with 6.0.
|
||||
* **[Flight Planning]** Air to Ground flights now have ECM enabled on lock at the join point, and SEAD/DEAD also have ECM enabled on detection and lock at ingress.
|
||||
* **[Flight Planning]** AWACS flightplan changed from orbit to a racetrack to reduce data link disconnects which were caused by blind spots as a result of the bank angle.
|
||||
* **[Modding]** Add F-104 mod support
|
||||
* **[Modding]** Add UH-60L mod support
|
||||
* **[Modding]** Updated Community A-4E-C mod version support to 2.0.0 release. Version 1.4.2 is no longer compatible, unless the mod default loadouts are deleted/modified.
|
||||
* **[UI]** Added options to the loadout editor for setting properties such as HMD choice.
|
||||
|
||||
|
||||
@ -48,17 +48,21 @@ from pydcs_extensions.f22a.f22a import F_22A
|
||||
from pydcs_extensions.hercules.hercules import Hercules
|
||||
from pydcs_extensions.jas39.jas39 import JAS39Gripen, JAS39Gripen_AG
|
||||
from pydcs_extensions.su57.su57 import Su_57
|
||||
from pydcs_extensions.uh60l.uh60l import UH_60L, KC130J
|
||||
|
||||
plane_map["A-4E-C"] = A_4E_C
|
||||
plane_map["F-22A"] = F_22A
|
||||
plane_map["Su-57"] = Su_57
|
||||
plane_map["Hercules"] = Hercules
|
||||
plane_map["KC130J"] = KC130J
|
||||
plane_map["JAS39Gripen"] = JAS39Gripen
|
||||
plane_map["JAS39Gripen_AG"] = JAS39Gripen_AG
|
||||
plane_map["VSN_F104G"] = VSN_F104G
|
||||
plane_map["VSN_F104S"] = VSN_F104S
|
||||
plane_map["VSN_F104S_AG"] = VSN_F104S_AG
|
||||
|
||||
helicopter_map["UH-60L"] = UH_60L
|
||||
|
||||
vehicle_map["FieldHL"] = frenchpack._FIELD_HIDE
|
||||
vehicle_map["HARRIERH"] = frenchpack._FIELD_HIDE_SMALL
|
||||
vehicle_map["SMOKESAM"] = frenchpack.SMOKE_SAM_IR
|
||||
|
||||
@ -266,6 +266,9 @@ class Faction:
|
||||
self.remove_aircraft("A-4E-C")
|
||||
if not mod_settings.hercules:
|
||||
self.remove_aircraft("Hercules")
|
||||
if not mod_settings.uh_60l:
|
||||
self.remove_aircraft("UH-60L")
|
||||
self.remove_aircraft("KC130J")
|
||||
if not mod_settings.f22_raptor:
|
||||
self.remove_aircraft("F-22A")
|
||||
if not mod_settings.f104_starfighter:
|
||||
|
||||
@ -72,6 +72,7 @@ class ModSettings:
|
||||
f22_raptor: bool = False
|
||||
f104_starfighter: bool = False
|
||||
hercules: bool = False
|
||||
uh_60l: bool = False
|
||||
jas39_gripen: bool = False
|
||||
su57_felon: bool = False
|
||||
frenchpack: bool = False
|
||||
|
||||
@ -126,6 +126,8 @@ from pydcs_extensions.su57.su57 import Su_57
|
||||
# factions that also have F-4s should not.
|
||||
|
||||
# Used for CAP, Escort, and intercept if there is not a specialised aircraft available
|
||||
from pydcs_extensions.uh60l.uh60l import UH_60L, KC130J
|
||||
|
||||
CAP_CAPABLE = [
|
||||
Su_57,
|
||||
F_22A,
|
||||
@ -472,6 +474,7 @@ TRANSPORT_CAPABLE = [
|
||||
Yak_40,
|
||||
CH_53E,
|
||||
CH_47D,
|
||||
UH_60L,
|
||||
SH_60B,
|
||||
UH_60A,
|
||||
UH_1H,
|
||||
@ -494,6 +497,7 @@ REFUELING_CAPABALE = [
|
||||
KC_135,
|
||||
KC135MPRS,
|
||||
IL_78M,
|
||||
KC130J,
|
||||
KC130,
|
||||
S_3B_Tanker,
|
||||
]
|
||||
|
||||
@ -6,6 +6,7 @@ from pydcs_extensions.highdigitsams import highdigitsams
|
||||
from pydcs_extensions.jas39.jas39 import JAS39Gripen, JAS39Gripen_AG
|
||||
from pydcs_extensions.su57.su57 import Su_57
|
||||
import pydcs_extensions.frenchpack.frenchpack as frenchpack
|
||||
from pydcs_extensions.uh60l.uh60l import UH_60L, KC130J
|
||||
|
||||
MODDED_AIRPLANES = [
|
||||
A_4E_C,
|
||||
@ -15,9 +16,13 @@ MODDED_AIRPLANES = [
|
||||
VSN_F104S,
|
||||
VSN_F104S_AG,
|
||||
Hercules,
|
||||
KC130J,
|
||||
JAS39Gripen,
|
||||
JAS39Gripen_AG,
|
||||
]
|
||||
MODDED_HELICOPTERS = [
|
||||
UH_60L,
|
||||
]
|
||||
MODDED_VEHICLES = [
|
||||
frenchpack._FIELD_HIDE,
|
||||
frenchpack._FIELD_HIDE_SMALL,
|
||||
|
||||
1292
pydcs_extensions/uh60l/uh60l.py
Normal file
1292
pydcs_extensions/uh60l/uh60l.py
Normal file
File diff suppressed because it is too large
Load Diff
@ -107,6 +107,7 @@ class NewGameWizard(QtWidgets.QWizard):
|
||||
f22_raptor=self.field("f22_raptor"),
|
||||
f104_starfighter=self.field("f104_starfighter"),
|
||||
hercules=self.field("hercules"),
|
||||
uh_60l=self.field("uh_60l"),
|
||||
jas39_gripen=self.field("jas39_gripen"),
|
||||
su57_felon=self.field("su57_felon"),
|
||||
frenchpack=self.field("frenchpack"),
|
||||
@ -563,6 +564,8 @@ class GeneratorOptions(QtWidgets.QWizardPage):
|
||||
self.registerField("a4_skyhawk", a4_skyhawk)
|
||||
hercules = QtWidgets.QCheckBox()
|
||||
self.registerField("hercules", hercules)
|
||||
uh_60l = QtWidgets.QCheckBox()
|
||||
self.registerField("uh_60l", uh_60l)
|
||||
f22_raptor = QtWidgets.QCheckBox()
|
||||
self.registerField("f22_raptor", f22_raptor)
|
||||
f104_starfighter = QtWidgets.QCheckBox()
|
||||
@ -582,22 +585,38 @@ class GeneratorOptions(QtWidgets.QWizardPage):
|
||||
modHelpText.setAlignment(Qt.AlignCenter)
|
||||
|
||||
modLayout = QtWidgets.QGridLayout()
|
||||
modLayout.addWidget(QtWidgets.QLabel("A-4E Skyhawk"), 1, 0)
|
||||
modLayout.addWidget(a4_skyhawk, 1, 1)
|
||||
modLayout.addWidget(QtWidgets.QLabel("F-22A Raptor"), 2, 0)
|
||||
modLayout.addWidget(f22_raptor, 2, 1)
|
||||
modLayout.addWidget(QtWidgets.QLabel("F-104 Starfighter"), 3, 0)
|
||||
modLayout.addWidget(f104_starfighter, 3, 1)
|
||||
modLayout.addWidget(QtWidgets.QLabel("C-130J-30 Super Hercules"), 4, 0)
|
||||
modLayout.addWidget(hercules, 4, 1)
|
||||
modLayout.addWidget(QtWidgets.QLabel("JAS 39 Gripen"), 5, 0)
|
||||
modLayout.addWidget(jas39_gripen, 5, 1)
|
||||
modLayout.addWidget(QtWidgets.QLabel("Su-57 Felon"), 6, 0)
|
||||
modLayout.addWidget(su57_felon, 6, 1)
|
||||
modLayout.addWidget(QtWidgets.QLabel("Frenchpack"), 7, 0)
|
||||
modLayout.addWidget(frenchpack, 7, 1)
|
||||
modLayout.addWidget(QtWidgets.QLabel("High Digit SAMs"), 8, 0)
|
||||
modLayout.addWidget(high_digit_sams, 8, 1)
|
||||
modLayout_row = 1
|
||||
modLayout.addWidget(QtWidgets.QLabel("A-4E Skyhawk"), modLayout_row, 0)
|
||||
modLayout.addWidget(a4_skyhawk, modLayout_row, 1)
|
||||
modLayout_row += 1
|
||||
modLayout.addWidget(QtWidgets.QLabel("F-22A Raptor"), modLayout_row, 0)
|
||||
modLayout.addWidget(f22_raptor, modLayout_row, 1)
|
||||
modLayout_row += 1
|
||||
modLayout.addWidget(QtWidgets.QLabel("F-104 Starfighter"), modLayout_row, 0)
|
||||
modLayout.addWidget(f104_starfighter, modLayout_row, 1)
|
||||
modLayout_row += 1
|
||||
modLayout.addWidget(
|
||||
QtWidgets.QLabel("C-130J-30 Super Hercules"), modLayout_row, 0
|
||||
)
|
||||
modLayout.addWidget(hercules, modLayout_row, 1)
|
||||
modLayout_row += 1
|
||||
modLayout.addWidget(QtWidgets.QLabel("UH-60L Black Hawk"), modLayout_row, 0)
|
||||
modLayout.addWidget(uh_60l, modLayout_row, 1)
|
||||
modLayout_row += 1
|
||||
# Section break here for readability
|
||||
modLayout.addWidget(QtWidgets.QWidget(), modLayout_row, 0)
|
||||
modLayout_row += 1
|
||||
modLayout.addWidget(QtWidgets.QLabel("JAS 39 Gripen"), modLayout_row, 0)
|
||||
modLayout.addWidget(jas39_gripen, modLayout_row, 1)
|
||||
modLayout_row += 1
|
||||
modLayout.addWidget(QtWidgets.QLabel("Su-57 Felon"), modLayout_row, 0)
|
||||
modLayout.addWidget(su57_felon, modLayout_row, 1)
|
||||
modLayout_row += 1
|
||||
modLayout.addWidget(QtWidgets.QLabel("Frenchpack"), modLayout_row, 0)
|
||||
modLayout.addWidget(frenchpack, modLayout_row, 1)
|
||||
modLayout_row += 1
|
||||
modLayout.addWidget(QtWidgets.QLabel("High Digit SAMs"), modLayout_row, 0)
|
||||
modLayout.addWidget(high_digit_sams, modLayout_row, 1)
|
||||
modSettingsGroup.setLayout(modLayout)
|
||||
|
||||
mlayout = QVBoxLayout()
|
||||
|
||||
42
resources/customized_payloads/UH-60L.lua
Normal file
42
resources/customized_payloads/UH-60L.lua
Normal file
@ -0,0 +1,42 @@
|
||||
local unitPayloads =
|
||||
{
|
||||
["name"] = "UH-60L",
|
||||
["payloads"] =
|
||||
{
|
||||
[1] =
|
||||
{
|
||||
["name"] = "Liberation Ferry",
|
||||
["pylons"] =
|
||||
{
|
||||
[1] =
|
||||
{
|
||||
["CLSID"] = "{UH60_FUEL_TANK_230}",
|
||||
["num"] = 1,
|
||||
},
|
||||
[2] =
|
||||
{
|
||||
["CLSID"] = "{UH60_FUEL_TANK_230}",
|
||||
["num"] = 2,
|
||||
},
|
||||
[3] =
|
||||
{
|
||||
["CLSID"] = "{UH60_FUEL_TANK_230}",
|
||||
["num"] = 3,
|
||||
},
|
||||
[4] =
|
||||
{
|
||||
["CLSID"] = "{UH60_FUEL_TANK_230}",
|
||||
["num"] = 4,
|
||||
},
|
||||
},
|
||||
["tasks"] =
|
||||
{
|
||||
[1] = 35,
|
||||
[2] = 17,
|
||||
},
|
||||
},
|
||||
},
|
||||
["tasks"] = {},
|
||||
["unitType"] = "UH-60L",
|
||||
}
|
||||
return unitPayloads
|
||||
@ -18,7 +18,7 @@
|
||||
"F-15C Eagle",
|
||||
"F-15E Strike Eagle",
|
||||
"F-16CM Fighting Falcon (Block 50)",
|
||||
"F-22A Raptor",
|
||||
"F-22A Raptor",
|
||||
"F/A-18C Hornet (Lot 20)",
|
||||
"Mirage 2000C",
|
||||
"OH-58D Kiowa Warrior",
|
||||
@ -28,7 +28,8 @@
|
||||
"SA 342M Gazelle Mistral",
|
||||
"Tornado GR4",
|
||||
"UH-1H Iroquois",
|
||||
"UH-60A"
|
||||
"UH-60A",
|
||||
"UH-60L"
|
||||
],
|
||||
"awacs": [
|
||||
"E-2C Hawkeye",
|
||||
@ -36,6 +37,7 @@
|
||||
],
|
||||
"tankers": [
|
||||
"KC-130",
|
||||
"KC-130J",
|
||||
"KC-135 Stratotanker",
|
||||
"S-3B Tanker"
|
||||
],
|
||||
@ -49,7 +51,7 @@
|
||||
"M1134 Stryker ATGM (BGM-71 TOW)",
|
||||
"M1A2 Abrams",
|
||||
"M2A2 Bradley",
|
||||
"M6 Linebacker",
|
||||
"M6 Linebacker",
|
||||
"Marder 1A3",
|
||||
"VAB Mephisto"
|
||||
],
|
||||
@ -99,7 +101,7 @@
|
||||
],
|
||||
"navy_generators": [
|
||||
"ArleighBurkeGroupGenerator",
|
||||
"OliverHazardPerryGroupGenerator"
|
||||
"OliverHazardPerryGroupGenerator"
|
||||
],
|
||||
"has_jtac": true,
|
||||
"jtac_unit": "MQ-9 Reaper"
|
||||
|
||||
@ -14,7 +14,8 @@
|
||||
"F-4E Phantom II",
|
||||
"OH-58D Kiowa Warrior",
|
||||
"UH-1H Iroquois",
|
||||
"UH-60A"
|
||||
"UH-60A",
|
||||
"UH-60L"
|
||||
],
|
||||
"awacs": [
|
||||
"E-3A"
|
||||
|
||||
@ -12,7 +12,8 @@
|
||||
"F-16CM Fighting Falcon (Block 50)",
|
||||
"Mirage 2000-5",
|
||||
"Mirage 2000C",
|
||||
"UH-60A"
|
||||
"UH-60A",
|
||||
"UH-60L"
|
||||
],
|
||||
"awacs": [
|
||||
"E-3A"
|
||||
|
||||
@ -27,7 +27,8 @@
|
||||
"S-3B Viking",
|
||||
"SH-60B Seahawk",
|
||||
"UH-1H Iroquois",
|
||||
"UH-60A"
|
||||
"UH-60A",
|
||||
"UH-60L"
|
||||
],
|
||||
"awacs": [
|
||||
"E-2C Hawkeye",
|
||||
@ -35,6 +36,7 @@
|
||||
],
|
||||
"tankers": [
|
||||
"KC-130",
|
||||
"KC-130J",
|
||||
"KC-135 Stratotanker",
|
||||
"S-3B Tanker"
|
||||
],
|
||||
|
||||
@ -28,7 +28,8 @@
|
||||
"S-3B Viking",
|
||||
"SH-60B Seahawk",
|
||||
"UH-1H Iroquois",
|
||||
"UH-60A"
|
||||
"UH-60A",
|
||||
"UH-60L"
|
||||
],
|
||||
"awacs": [
|
||||
"E-2C Hawkeye",
|
||||
@ -36,6 +37,7 @@
|
||||
],
|
||||
"tankers": [
|
||||
"KC-130",
|
||||
"KC-130J",
|
||||
"KC-135 Stratotanker",
|
||||
"KC-135 Stratotanker MPRS",
|
||||
"S-3B Tanker"
|
||||
|
||||
BIN
resources/ui/units/aircrafts/banners/KC130J_24.jpg
Normal file
BIN
resources/ui/units/aircrafts/banners/KC130J_24.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 41 KiB |
BIN
resources/ui/units/aircrafts/banners/UH-60L_24.jpg
Normal file
BIN
resources/ui/units/aircrafts/banners/UH-60L_24.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 42 KiB |
BIN
resources/ui/units/aircrafts/icons/KC130J_24.jpg
Normal file
BIN
resources/ui/units/aircrafts/icons/KC130J_24.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.7 KiB |
BIN
resources/ui/units/aircrafts/icons/UH-60L_24.jpg
Normal file
BIN
resources/ui/units/aircrafts/icons/UH-60L_24.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.8 KiB |
17
resources/units/aircraft/KC130J.yaml
Normal file
17
resources/units/aircraft/KC130J.yaml
Normal file
@ -0,0 +1,17 @@
|
||||
description:
|
||||
The Lockheed Martin (previously Lockheed) KC-130 is a family of the extended-range
|
||||
tanker version of the C-130 Hercules transport aircraft modified for aerial refueling.
|
||||
This version of the KC-130 tanker is designed for refueling at speeds of 120-130kts,
|
||||
enabling refueling of helicopters such as the UH-60L.
|
||||
introduced: 2004
|
||||
manufacturer: Lockheed Martin
|
||||
origin: USA
|
||||
price: 25
|
||||
role: Tanker
|
||||
max_range: 1000
|
||||
patrol:
|
||||
# ~125 knots IAS
|
||||
speed: 180
|
||||
altitude: 22000
|
||||
variants:
|
||||
KC-130J: {}
|
||||
13
resources/units/aircraft/UH-60L.yaml
Normal file
13
resources/units/aircraft/UH-60L.yaml
Normal file
@ -0,0 +1,13 @@
|
||||
description:
|
||||
The Sikorsky UH-60 Black Hawk is a four-blade, twin-engine, medium-lift utility helicopter manufactured by Sikorsky Aircraft.
|
||||
The UH-60A entered service with the U.S. Army in 1979, to replace the Bell UH-1 Iroquois as the Army's tactical transport helicopter.
|
||||
The UH-60L is an improved utility variant.
|
||||
introduced: 1989
|
||||
carrier_capable: true
|
||||
lha_capable: true
|
||||
manufacturer: Sikorsky
|
||||
origin: USA
|
||||
price: 4
|
||||
role: Transport
|
||||
variants:
|
||||
UH-60L: {}
|
||||
Loading…
x
Reference in New Issue
Block a user