diff --git a/changelog.md b/changelog.md index de517f78..afadde7f 100644 --- a/changelog.md +++ b/changelog.md @@ -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. diff --git a/game/db.py b/game/db.py index f76bbb42..2765c0a2 100644 --- a/game/db.py +++ b/game/db.py @@ -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 diff --git a/game/factions/faction.py b/game/factions/faction.py index c9f994bf..04846247 100644 --- a/game/factions/faction.py +++ b/game/factions/faction.py @@ -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: diff --git a/game/theater/start_generator.py b/game/theater/start_generator.py index f46cfd2c..5695d091 100644 --- a/game/theater/start_generator.py +++ b/game/theater/start_generator.py @@ -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 diff --git a/gen/flights/ai_flight_planner_db.py b/gen/flights/ai_flight_planner_db.py index 14abf2ec..d27f97b3 100644 --- a/gen/flights/ai_flight_planner_db.py +++ b/gen/flights/ai_flight_planner_db.py @@ -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, ] diff --git a/pydcs_extensions/mod_units.py b/pydcs_extensions/mod_units.py index e4c43c7e..f519502f 100644 --- a/pydcs_extensions/mod_units.py +++ b/pydcs_extensions/mod_units.py @@ -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, diff --git a/pydcs_extensions/uh60l/uh60l.py b/pydcs_extensions/uh60l/uh60l.py new file mode 100644 index 00000000..81a697fc --- /dev/null +++ b/pydcs_extensions/uh60l/uh60l.py @@ -0,0 +1,1292 @@ +from enum import Enum +from typing import Dict, Any + +from dcs import task +from dcs.helicopters import HelicopterType +from dcs.planes import PlaneType + +from pydcs_extensions.weapon_injector import inject_weapons + + +class WeaponsUH60L: + CEFS_Fuel_Tank_200_gallons = { + "clsid": "{UH60_FUEL_TANK_230}", + "name": "CEFS Fuel Tank 200 gallons", + "weight": 730.09478, + } + + +inject_weapons(WeaponsUH60L) + + +class UH_60L(HelicopterType): + id = "UH-60L" + flyable = True + height = 5.13 + width = 16.4 + length = 19.76 + fuel_max = 1362 + max_speed = 355.584 + chaff = 30 + flare = 0 + charge_total = 30 + chaff_charge_size = 1 + flare_charge_size = 0 + radio_frequency = 124 + + panel_radio = { + 2: { + "channels": { + 1: 264, + 2: 265, + 4: 254, + 8: 258, + 16: 267, + 17: 251, + 9: 262, + 18: 253, + 5: 250, + 10: 259, + 20: 252, + 11: 268, + 3: 256, + 6: 270, + 12: 269, + 13: 260, + 7: 257, + 14: 263, + 19: 266, + 15: 261, + }, + }, + 3: { + "channels": {1: 124, 2: 127.5}, + }, + 1: { + "channels": {6: 41, 2: 31, 8: 50, 3: 32, 1: 30, 4: 33, 5: 40, 7: 42}, + }, + 4: { + "channels": {6: 41, 2: 31, 8: 50, 3: 32, 1: 30, 4: 33, 5: 40, 7: 42}, + }, + 5: { + "channels": {1: 3, 2: 10}, + }, + } + + property_defaults: Dict[str, Any] = { + "FuelProbeEnabled": False, + "SoloFlight": False, + "NetCrewControlPriority": 1, + } + + class Properties: + class FuelProbeEnabled: + id = "FuelProbeEnabled" + + class SoloFlight: + id = "SoloFlight" + + class NetCrewControlPriority: + id = "NetCrewControlPriority" + + class Values: + Pilot = 0 + Instructor = 1 + Ask_Always = -1 + Equally_Responsible = -2 + + class Liveries: + class USSR(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Georgia(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Venezuela(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Australia(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Israel(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Combined_Joint_Task_Forces_Blue(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Sudan(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Norway(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Romania(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Iran(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Ukraine(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Libya(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Belgium(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Slovakia(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Greece(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class UK(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Third_Reich(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Hungary(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Abkhazia(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Morocco(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class United_Nations_Peacekeepers(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Switzerland(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class SouthOssetia(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Vietnam(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class China(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Yemen(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Kuwait(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Serbia(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Oman(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class India(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Egypt(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class TheNetherlands(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Poland(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Syria(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Finland(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Kazakhstan(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Denmark(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Sweden(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Croatia(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class CzechRepublic(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class GDR(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Yugoslavia(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Bulgaria(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class SouthKorea(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Tunisia(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Combined_Joint_Task_Forces_Red(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Lebanon(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Portugal(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Cuba(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Insurgents(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class SaudiArabia(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class France(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class USA(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Honduras(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Qatar(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Russia(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class United_Arab_Emirates(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Italian_Social_Republi(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Austria(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Bahrain(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Italy(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Chile(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Turkey(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Philippines(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Algeria(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Pakistan(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Malaysia(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Indonesia(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Iraq(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Germany(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class South_Africa(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Jordan(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Mexico(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class USAFAggressors(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Brazil(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Spain(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Belarus(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Canada(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class NorthKorea(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Ethiopia(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Japan(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Thailand(Enum): + default = "default" + FAB = "FAB" + Israeli_Air_Force = "Israeli Air Force" + JASDF_SAR_Yellow = "JASDF SAR Yellow" + Skyward = "Skyward" + US_Army_Desert = "US Army Desert" + US_Army_MEDEVAC = "US Army MEDEVAC" + US_Army_SOAR = "US Army SOAR" + US_Navy_Grey = "US Navy Grey" + USAF_Rescue = "USAF Rescue" + US_Coast_Guard = "US Coast Guard" + X51 = "X51" + + class Pylon1: + CEFS_Fuel_Tank_200_gallons = (1, WeaponsUH60L.CEFS_Fuel_Tank_200_gallons) + + # ERRR + + class Pylon2: + CEFS_Fuel_Tank_200_gallons = (2, WeaponsUH60L.CEFS_Fuel_Tank_200_gallons) + + # ERRR + + class Pylon3: + CEFS_Fuel_Tank_200_gallons = (3, WeaponsUH60L.CEFS_Fuel_Tank_200_gallons) + + # ERRR + + class Pylon4: + CEFS_Fuel_Tank_200_gallons = (4, WeaponsUH60L.CEFS_Fuel_Tank_200_gallons) + + # ERRR + + pylons = {1, 2, 3, 4} + + tasks = [task.Transport, task.Reconnaissance] + task_default = task.Transport + + +class KC130J(PlaneType): + id = "KC130J" + group_size_max = 1 + height = 11.66 + width = 40.4 + length = 29.79 + fuel_max = 30000 + max_speed = 222.23988 + chaff = 120 + flare = 60 + charge_total = 240 + chaff_charge_size = 1 + flare_charge_size = 2 + tacan = True + category = "Tankers" # {8A302789-A55D-4897-B647-66493FA6826F} + + pylons: {} + + tasks = [task.Refueling] + task_default = task.Refueling diff --git a/qt_ui/windows/newgame/QNewGameWizard.py b/qt_ui/windows/newgame/QNewGameWizard.py index 3ad6a341..007a0896 100644 --- a/qt_ui/windows/newgame/QNewGameWizard.py +++ b/qt_ui/windows/newgame/QNewGameWizard.py @@ -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() diff --git a/resources/customized_payloads/UH-60L.lua b/resources/customized_payloads/UH-60L.lua new file mode 100644 index 00000000..749bbe05 --- /dev/null +++ b/resources/customized_payloads/UH-60L.lua @@ -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 diff --git a/resources/factions/NATO_OIF.json b/resources/factions/NATO_OIF.json index bb1a3063..50c0890f 100644 --- a/resources/factions/NATO_OIF.json +++ b/resources/factions/NATO_OIF.json @@ -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" diff --git a/resources/factions/turkey_2005.json b/resources/factions/turkey_2005.json index 0372b4bb..3432f1c0 100644 --- a/resources/factions/turkey_2005.json +++ b/resources/factions/turkey_2005.json @@ -14,7 +14,8 @@ "F-4E Phantom II", "OH-58D Kiowa Warrior", "UH-1H Iroquois", - "UH-60A" + "UH-60A", + "UH-60L" ], "awacs": [ "E-3A" diff --git a/resources/factions/uae_2015.json b/resources/factions/uae_2015.json index c8a1da1e..54fdcb07 100644 --- a/resources/factions/uae_2015.json +++ b/resources/factions/uae_2015.json @@ -12,7 +12,8 @@ "F-16CM Fighting Falcon (Block 50)", "Mirage 2000-5", "Mirage 2000C", - "UH-60A" + "UH-60A", + "UH-60L" ], "awacs": [ "E-3A" diff --git a/resources/factions/usa_1990.json b/resources/factions/usa_1990.json index 17e12a36..8cc2340c 100644 --- a/resources/factions/usa_1990.json +++ b/resources/factions/usa_1990.json @@ -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" ], diff --git a/resources/factions/usa_2005.json b/resources/factions/usa_2005.json index 4206d357..1d6de10e 100644 --- a/resources/factions/usa_2005.json +++ b/resources/factions/usa_2005.json @@ -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" diff --git a/resources/ui/units/aircrafts/banners/KC130J_24.jpg b/resources/ui/units/aircrafts/banners/KC130J_24.jpg new file mode 100644 index 00000000..71d2197c Binary files /dev/null and b/resources/ui/units/aircrafts/banners/KC130J_24.jpg differ diff --git a/resources/ui/units/aircrafts/banners/UH-60L_24.jpg b/resources/ui/units/aircrafts/banners/UH-60L_24.jpg new file mode 100644 index 00000000..4b569443 Binary files /dev/null and b/resources/ui/units/aircrafts/banners/UH-60L_24.jpg differ diff --git a/resources/ui/units/aircrafts/icons/KC130J_24.jpg b/resources/ui/units/aircrafts/icons/KC130J_24.jpg new file mode 100644 index 00000000..95301f5a Binary files /dev/null and b/resources/ui/units/aircrafts/icons/KC130J_24.jpg differ diff --git a/resources/ui/units/aircrafts/icons/UH-60L_24.jpg b/resources/ui/units/aircrafts/icons/UH-60L_24.jpg new file mode 100644 index 00000000..c6f469d4 Binary files /dev/null and b/resources/ui/units/aircrafts/icons/UH-60L_24.jpg differ diff --git a/resources/units/aircraft/KC130J.yaml b/resources/units/aircraft/KC130J.yaml new file mode 100644 index 00000000..91335663 --- /dev/null +++ b/resources/units/aircraft/KC130J.yaml @@ -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: {} diff --git a/resources/units/aircraft/UH-60L.yaml b/resources/units/aircraft/UH-60L.yaml new file mode 100644 index 00000000..756bc7b2 --- /dev/null +++ b/resources/units/aircraft/UH-60L.yaml @@ -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: {} \ No newline at end of file