diff --git a/changelog.md b/changelog.md index aea4d0d4..dead42e1 100644 --- a/changelog.md +++ b/changelog.md @@ -1,9 +1,15 @@ -# 2.0 RC 10 +# 2.0.10 ## Features : * **[UI/UX]** DCS UI Theme by Deus -* **[Units/Factions]** Added Community A-4E-C support for faction Bluefor Cold War +* **[Units/Factions]** Added Community A-4E-C support for faction Bluefor Cold War +* **[Units/Factions]** Added MB-339PAN support for faction Bluefor Cold War +* **[Units/Factions]** Added Rafale AI mod support +* **[Units/Factions]** Added faction "France Modded" with units from frenchpack v3.5 mod +* **[Units/Factions]** Added faction "Insurgent modded" with Insurgent units from frenchpack v3.5 mod +## Fixed issues : +* **[Mission Generator]** Carrier will sail into the wind, not in the same direction # 2.0 RC 9 diff --git a/game/db.py b/game/db.py index 66b04679..bb5b14a0 100644 --- a/game/db.py +++ b/game/db.py @@ -19,9 +19,11 @@ from game.factions.bluefor_coldwar_mods import BLUEFOR_COLDWAR_MODS from game.factions.china_2000 import China_2000 from game.factions.france_1995 import France_1995 from game.factions.france_2005 import France_2005 +from game.factions.france_modded import France_2005_Modded from game.factions.germany_1944_easy import Germany_1944_Easy from game.factions.germany_1990 import Germany_1990 from game.factions.insurgent import Insurgent +from game.factions.insurgent_modded import Insurgent_modded from game.factions.iran_2015 import Iran_2015 from game.factions.israel_2000 import Israel_2000 from game.factions.italy_1990 import Italy_1990 @@ -54,8 +56,48 @@ from game.factions.bluefor_modern import BLUEFOR_MODERN # PATCH pydcs data with MODS from pydcs_extensions.a4ec.a4ec import A_4E_C from pydcs_extensions.mb339.mb339 import MB_339PAN +import pydcs_extensions.frenchpack.frenchpack as frenchpack +from pydcs_extensions.rafale.rafale import Rafale_A_S, Rafale_M + plane_map["A-4E-C"] = A_4E_C plane_map["MB-339PAN"] = MB_339PAN +plane_map["Rafale_M"] = Rafale_M +plane_map["Rafale_A_S"] = Rafale_A_S + +vehicle_map["FieldHL"] = frenchpack._FIELD_HIDE +vehicle_map["HARRIERH"] = frenchpack._FIELD_HIDE_SMALL +vehicle_map["SMOKESAM"] = frenchpack.SMOKE_SAM_IR +vehicle_map["SmokeD1"] = frenchpack.SmokeD1 +vehicle_map["SmokeD3"] = frenchpack.SmokeD3 +vehicle_map["AMX10RCR"] = frenchpack.AMX_10RCR +vehicle_map["SEPAR"] = frenchpack.AMX_10RCR_SEPAR +vehicle_map["ERC"] = frenchpack.ERC_90 +vehicle_map["M120"] = frenchpack.MO_120_RT +vehicle_map["AA20"] = frenchpack._53T2 +vehicle_map["TRM2000"] = frenchpack.TRM_2000 +vehicle_map["TRM2000_Citerne"] = frenchpack.TRM_2000_Fuel +vehicle_map["TRM2000_AA20"] = frenchpack.TRM_2000_53T2 +vehicle_map["TRMMISTRAL"] = frenchpack.TRM_2000_PAMELA +vehicle_map["VABH"] = frenchpack.VAB_MEDICAL +vehicle_map["VAB_RADIO"] = frenchpack.VAB +vehicle_map["VAB_50"] = frenchpack.VAB__50 +vehicle_map["VIB_VBR"] = frenchpack.VAB_T20_13 +vehicle_map["VAB_HOT"] = frenchpack.VAB_MEPHISTO +vehicle_map["VAB_MORTIER"] = frenchpack.VAB_MORTIER +vehicle_map["VBL50"] = frenchpack.VBL__50 +vehicle_map["VBLANF1"] = frenchpack.VBL_AANF1 +vehicle_map["VBL-radio"] = frenchpack.VBL +vehicle_map["VBAE"] = frenchpack.VBAE_CRAB +vehicle_map["VBAE_MMP"] = frenchpack.VBAE_CRAB_MMP +vehicle_map["AMX-30B2"] = frenchpack.AMX_30B2 +vehicle_map["Tracma"] = frenchpack.Tracma_TD_1500 +vehicle_map["JTACFP"] = frenchpack.Infantry_Soldier_JTAC +vehicle_map["SHERIDAN"] = frenchpack.Char_M551_Sheridan +vehicle_map["Leclerc_XXI"] = frenchpack.Leclerc_Serie_XXI +vehicle_map["Toyota_bleu"] = frenchpack.DIM__TOYOTA_BLUE +vehicle_map["Toyota_vert"] = frenchpack.DIM__TOYOTA_GREEN +vehicle_map["Toyota_desert"] = frenchpack.DIM__TOYOTA_DESERT +vehicle_map["Kamikaze"] = frenchpack.DIM__KAMIKAZE """ @@ -176,6 +218,10 @@ PRICES = { P_47D_30: 18, B_17G: 30, + # Modded + Rafale_M: 26, + Rafale_A_S: 26, + # armor Armor.APC_MTLB: 4, Armor.FDDM_Grad: 5, @@ -282,6 +328,38 @@ PRICES = { Armed_speedboat: 10, Dry_cargo_ship_Ivanov: 10, Tanker_Elnya_160: 10, + + + # FRENCH PACK MOD + frenchpack.AMX_10RCR: 10, + frenchpack.AMX_10RCR_SEPAR: 12, + frenchpack.ERC_90: 12, + frenchpack.MO_120_RT: 10, + frenchpack._53T2: 4, + frenchpack.TRM_2000: 4, + frenchpack.TRM_2000_Fuel: 4, + frenchpack.TRM_2000_53T2: 8, + frenchpack.TRM_2000_PAMELA: 14, + frenchpack.VAB_MEDICAL: 8, + frenchpack.VAB: 6, + frenchpack.VAB__50: 4, + frenchpack.VAB_T20_13: 6, + frenchpack.VAB_MEPHISTO: 8, + frenchpack.VAB_MORTIER: 10, + frenchpack.VBL__50: 4, + frenchpack.VBL_AANF1: 2, + frenchpack.VBL: 1, + frenchpack.VBAE_CRAB: 8, + frenchpack.VBAE_CRAB_MMP: 12, + frenchpack.AMX_30B2: 18, + frenchpack.Tracma_TD_1500: 2, + frenchpack.Infantry_Soldier_JTAC: 1, + frenchpack.Leclerc_Serie_XXI: 35, + frenchpack.DIM__TOYOTA_BLUE: 2, + frenchpack.DIM__TOYOTA_GREEN: 2, + frenchpack.DIM__TOYOTA_DESERT: 2, + frenchpack.DIM__KAMIKAZE: 6, + } """ @@ -329,7 +407,8 @@ UNIT_BY_TASK = { FW_190A8, SpitfireLFMkIXCW, SpitfireLFMkIX, - A_4E_C + A_4E_C, + Rafale_M ], CAS: [ F_86F_Sabre, @@ -364,7 +443,8 @@ UNIT_BY_TASK = { P_47D_30, Ju_88A4, B_17G, - MB_339PAN + MB_339PAN, + Rafale_A_S ], Transport: [ IL_76MD, @@ -527,6 +607,29 @@ UNIT_BY_TASK = { Artillery.M12_GMC, Artillery.Sturmpanzer_IV_Brummbär, + frenchpack.DIM__TOYOTA_BLUE, + frenchpack.DIM__TOYOTA_DESERT, + frenchpack.DIM__TOYOTA_GREEN, + frenchpack.DIM__KAMIKAZE, + + frenchpack.AMX_10RCR, + frenchpack.AMX_10RCR_SEPAR, + frenchpack.ERC_90, + frenchpack.TRM_2000_PAMELA, + frenchpack.VAB__50, + frenchpack.VAB_MEPHISTO, + frenchpack.VAB_T20_13, + frenchpack.VBL__50, + frenchpack.VBL_AANF1, + frenchpack.VBAE_CRAB, + frenchpack.VBAE_CRAB_MMP, + frenchpack.AMX_30B2, + frenchpack.Leclerc_Serie_XXI, + frenchpack.DIM__TOYOTA_BLUE, + frenchpack.DIM__TOYOTA_GREEN, + frenchpack.DIM__TOYOTA_DESERT, + frenchpack.DIM__KAMIKAZE, + ], AirDefence: [ @@ -626,6 +729,7 @@ FACTIONS = { "China 2000": China_2000, "North Korea 2000": NorthKorea_2000, "Insurgent": Insurgent, + "Insurgent (Modded)": Insurgent_modded, "Germany 1944 (WW2 Pack)": Germany_1944, "Germany 1944 Easy (WW2 Pack)": Germany_1944_Easy, @@ -642,6 +746,7 @@ FACTIONS = { "Allies 1944 (WW2 Pack)": USA_1944, "France 2005": France_2005, + "France 2005 (Modded)": France_2005_Modded, "France 1995": France_1995, "Germany 1990": Germany_1990, "Netherlands 1990": Netherlands_1990, @@ -769,6 +874,8 @@ PLANE_PAYLOAD_OVERRIDES = { SpitfireLFMkIX: COMMON_OVERRIDE, A_4E_C: COMMON_OVERRIDE, MB_339PAN: COMMON_OVERRIDE, + Rafale_M: COMMON_OVERRIDE, + Rafale_A_S: COMMON_OVERRIDE, AH_64D:{ CAS: "AGM-114K*16" diff --git a/game/factions/bluefor_coldwar_a4.py b/game/factions/bluefor_coldwar_a4.py index 3a5d1475..edfed25a 100644 --- a/game/factions/bluefor_coldwar_a4.py +++ b/game/factions/bluefor_coldwar_a4.py @@ -61,5 +61,7 @@ BLUEFOR_COLDWAR_A4 = { "LHA-4 Nassau", "LHA-5 Peleliu" ], "boat": [ - ] + ], "requirements": { + "Community A-4E": "https://heclak.github.io/community-a4e-c/", + } } diff --git a/game/factions/bluefor_coldwar_mods.py b/game/factions/bluefor_coldwar_mods.py index cd429edf..f1d9ddef 100644 --- a/game/factions/bluefor_coldwar_mods.py +++ b/game/factions/bluefor_coldwar_mods.py @@ -63,5 +63,8 @@ BLUEFOR_COLDWAR_MODS = { "LHA-4 Nassau", "LHA-5 Peleliu" ], "boat": [ - ] + ], "requirements": { + "MB-339A": "http://www.freccetricolorivirtuali.net/", + "Community A-4E": "https://heclak.github.io/community-a4e-c/", + } } diff --git a/game/factions/france_modded.py b/game/factions/france_modded.py new file mode 100644 index 00000000..b5496915 --- /dev/null +++ b/game/factions/france_modded.py @@ -0,0 +1,81 @@ +from dcs.helicopters import * +from dcs.planes import * +from dcs.ships import * +from dcs.vehicles import * + +import pydcs_extensions.frenchpack.frenchpack as frenchpack +from pydcs_extensions.rafale.rafale import Rafale_M, Rafale_A_S + +France_2005_Modded = { + "country": "France", + "side": "blue", + "units": [ + M_2000C, + Mirage_2000_5, + Rafale_M, + Rafale_A_S, + + KC_135, + KC130, + C_130, + E_3A, + + SA342M, + SA342L, + + Armor.MBT_Leclerc, + Artillery.SPH_M109_Paladin, # Standing as AMX30 AuF1 + Artillery.MLRS_M270, + + frenchpack.AMX_10RCR, + frenchpack.AMX_10RCR_SEPAR, + frenchpack.ERC_90, + frenchpack.TRM_2000_PAMELA, + frenchpack.VAB__50, + frenchpack.VAB_MEPHISTO, + frenchpack.VAB_T20_13, + frenchpack.VBL__50, + frenchpack.VBL_AANF1, + frenchpack.VBAE_CRAB, + frenchpack.VBAE_CRAB_MMP, + frenchpack.AMX_30B2, + frenchpack.Leclerc_Serie_XXI, + + Unarmed.Transport_M818, + Infantry.Infantry_M4, + Infantry.Soldier_M249, + + AirDefence.SAM_Roland_ADS, + AirDefence.SAM_Hawk_PCP, + AirDefence.HQ_7_Self_Propelled_LN, # Standing as Crotale + + CVN_74_John_C__Stennis, + LHA_1_Tarawa, + Armed_speedboat, + + ], "shorad": [ + AirDefence.HQ_7_Self_Propelled_LN, + AirDefence.SAM_Roland_ADS + ], "aircraft_carrier": [ + CVN_74_John_C__Stennis, # Standing as CDG Aircraft Carrier + ], "helicopter_carrier": [ + LHA_1_Tarawa, # Standing as Mistral Class + ], "destroyer": [ + Oliver_Hazzard_Perry_class, + ], "cruiser": [ + Ticonderoga_class, + ], "carrier_names": [ + "R91 Charles de Gaulle", + ], "lhanames": [ + "L9013 Mistral", + "L9014 Tonerre", + "L9015 Dixmude" + ], "boat": [ + "ArleighBurkeGroupGenerator", "OliverHazardPerryGroupGenerator" + ], "requirements": { + "frenchpack V3.5": "https://forums.eagle.ru/showthread.php?t=279974", + "DCS MOD RAFALES 2.5.5 BETA (Cuesta brothers)": "https://www.digitalcombatsimulator.com/fr/files/3307478/", + "MIRAGE F1 and F1CT for 2.5.5 by Eric and Patrick": "https://www.digitalcombatsimulator.com/fr/files/3305837/", + "MOD EUROCOPTER EC665 TIGER by the Cuesta Brothers": "https://www.digitalcombatsimulator.com/en/files/3310596/" + } +} \ No newline at end of file diff --git a/game/factions/insurgent_modded.py b/game/factions/insurgent_modded.py new file mode 100644 index 00000000..b8cceb7a --- /dev/null +++ b/game/factions/insurgent_modded.py @@ -0,0 +1,31 @@ +from dcs.ships import * +from dcs.vehicles import * + +from pydcs_extensions.frenchpack.frenchpack import DIM__TOYOTA_BLUE, DIM__TOYOTA_DESERT, DIM__TOYOTA_GREEN, \ + DIM__KAMIKAZE + +Insurgent_modded = { + "country": "Insurgents", + "side": "red", + "units": [ + + AirDefence.AAA_ZU_23_Insurgent_Closed, + AirDefence.AAA_ZU_23_Insurgent_on_Ural_375, + + DIM__TOYOTA_BLUE, + DIM__TOYOTA_DESERT, + DIM__TOYOTA_GREEN, + DIM__KAMIKAZE, + + Unarmed.Transport_Ural_375, + Unarmed.Transport_UAZ_469, + Infantry.Soldier_AK, + Infantry.Infantry_Soldier_Insurgents, + + Bulk_cargo_ship_Yakushev, + Dry_cargo_ship_Ivanov, + Tanker_Elnya_160 + ], "requirements": { + "frenchpack V3.5": "https://forums.eagle.ru/showthread.php?t=279974", + } +} \ No newline at end of file diff --git a/game/factions/italy_1990_mb339.py b/game/factions/italy_1990_mb339.py index 38df1ae9..22b506e1 100644 --- a/game/factions/italy_1990_mb339.py +++ b/game/factions/italy_1990_mb339.py @@ -44,7 +44,9 @@ Italy_1990_MB339 = { ], "lha_names": [ "Giuseppe Garibaldi", "Cavour", - ], "boat":[ + ], "boat": [ "OliverHazardPerryGroupGenerator" - ] + ], "requirements": { + "MB-339A": "http://www.freccetricolorivirtuali.net/", + } } diff --git a/gen/flights/ai_flight_planner_db.py b/gen/flights/ai_flight_planner_db.py index 18cbe43a..0a517d19 100644 --- a/gen/flights/ai_flight_planner_db.py +++ b/gen/flights/ai_flight_planner_db.py @@ -5,6 +5,7 @@ from dcs.helicopters import * # If none is available, the AI will use regular CAP-capable aircraft instead from pydcs_extensions.a4ec.a4ec import A_4E_C from pydcs_extensions.mb339.mb339 import MB_339PAN +from pydcs_extensions.rafale.rafale import Rafale_A_S, Rafale_M INTERCEPT_CAPABLE = [ MiG_21Bis, @@ -17,6 +18,7 @@ INTERCEPT_CAPABLE = [ M_2000C, Mirage_2000_5, + Rafale_M, F_14B, F_15C, @@ -64,7 +66,8 @@ CAP_CAPABLE = [ FW_190D9, FW_190A8, - A_4E_C + A_4E_C, + Rafale_M, ] # USed for CAS (Close air support) and BAI (Battlefield Interdiction) @@ -127,7 +130,8 @@ CAS_CAPABLE = [ FW_190D9, FW_190A8, - A_4E_C + A_4E_C, + Rafale_A_S ] # Aircraft used for SEAD / DEAD tasks @@ -146,7 +150,8 @@ SEAD_CAPABLE = [ Su_34, MiG_27K, - A_4E_C + A_4E_C, + Rafale_A_S ] # Aircraft used for Strike mission @@ -195,7 +200,8 @@ STRIKE_CAPABLE = [ FW_190D9, FW_190A8, - A_4E_C + A_4E_C, + Rafale_A_S ] @@ -210,4 +216,5 @@ ANTISHIP_CAPABLE = [ A_10A, Ju_88A4, + Rafale_A_S ] \ No newline at end of file diff --git a/gen/ground_forces/ai_ground_planner.py b/gen/ground_forces/ai_ground_planner.py index 46c12d51..dbce4428 100644 --- a/gen/ground_forces/ai_ground_planner.py +++ b/gen/ground_forces/ai_ground_planner.py @@ -7,6 +7,8 @@ from gen import Conflict from gen.ground_forces.combat_stance import CombatStance from theater import ControlPoint +import pydcs_extensions.frenchpack.frenchpack as frenchpack + TYPE_TANKS = [ Armor.MBT_T_55, Armor.MBT_T_72B, @@ -32,6 +34,18 @@ TYPE_TANKS = [ Armor.ST_Centaur_IV, Armor.CT_Cromwell_IV, Armor.HIT_Churchill_VII, + + # Mods + frenchpack.DIM__TOYOTA_BLUE, + frenchpack.DIM__TOYOTA_GREEN, + frenchpack.DIM__TOYOTA_DESERT, + frenchpack.DIM__KAMIKAZE, + + frenchpack.AMX_10RCR, + frenchpack.AMX_10RCR_SEPAR, + frenchpack.AMX_30B2, + frenchpack.Leclerc_Serie_XXI, + ] TYPE_ATGM = [ @@ -44,6 +58,12 @@ TYPE_ATGM = [ Armor.TD_Jagdpanzer_IV, Armor.TD_Jagdpanther_G1, Armor.TD_M10_GMC, + + # Mods + frenchpack.VBAE_CRAB_MMP, + frenchpack.VAB_MEPHISTO, + frenchpack.TRM_2000_PAMELA, + ] TYPE_IFV = [ @@ -61,6 +81,12 @@ TYPE_IFV = [ # WW2 Armor.IFV_Sd_Kfz_234_2_Puma, Armor.LAC_M8_Greyhound, + + # Mods + frenchpack.ERC_90, + frenchpack.VBAE_CRAB, + frenchpack.VAB_T20_13 + ] TYPE_APC = [ @@ -81,6 +107,12 @@ TYPE_APC = [ # WW2 Armor.APC_M2A1, Armor.APC_Sd_Kfz_251, + + # Mods + frenchpack.VAB__50, + frenchpack.VBL__50, + frenchpack.VBL_AANF1, + ] TYPE_ARTILLERY = [ @@ -117,6 +149,11 @@ TYPE_LOGI = [ Unarmed.Willys_MB, Unarmed.Land_Rover_109_S3, Unarmed.Land_Rover_101_FC, + + # Mods + frenchpack.VBL, + frenchpack.VAB, + ] TYPE_INFANTRY = [ diff --git a/pydcs_extensions/frenchpack/frenchpack.py b/pydcs_extensions/frenchpack/frenchpack.py new file mode 100644 index 00000000..12d51827 --- /dev/null +++ b/pydcs_extensions/frenchpack/frenchpack.py @@ -0,0 +1,288 @@ +# Requires French Pack mod : +# https://forums.eagle.ru/showthread.php?t=279974 +# +from dcs import unittype + +class AMX_10RCR(unittype.VehicleType): + id = "AMX10RCR" + name = "AMX-10RCR" + detection_range = 0 + threat_range = 4000 + air_weapon_dist = 4000 + + +class AMX_10RCR_SEPAR(unittype.VehicleType): + id = "SEPAR" + name = "AMX-10RCR SEPAR" + detection_range = 0 + threat_range = 4000 + air_weapon_dist = 4000 + + +class ERC_90(unittype.VehicleType): + id = "ERC" + name = "ERC-90" + detection_range = 0 + threat_range = 4000 + air_weapon_dist = 4000 + eprls = True + + +class VAB__50(unittype.VehicleType): + id = "VAB_50" + name = "VAB .50" + detection_range = 0 + threat_range = 1200 + air_weapon_dist = 1200 + eprls = True + + +class VAB_T20_13(unittype.VehicleType): + id = "VIB_VBR" + name = "VAB T20/13" + detection_range = 0 + threat_range = 2000 + air_weapon_dist = 2000 + eprls = True + + +class VAB_MEPHISTO(unittype.VehicleType): + id = "VAB_HOT" + name = "VAB MEPHISTO" + detection_range = 0 + threat_range = 4000 + air_weapon_dist = 4000 + eprls = True + + +class VBL__50(unittype.VehicleType): + id = "VBL50" + name = "VBL .50" + detection_range = 0 + threat_range = 1200 + air_weapon_dist = 1200 + eprls = True + + +class VBL_AANF1(unittype.VehicleType): + id = "VBLANF1" + name = "VBL AANF1" + detection_range = 0 + threat_range = 1000 + air_weapon_dist = 1000 + eprls = True + + +class VBAE_CRAB(unittype.VehicleType): + id = "VBAE" + name = "VBAE CRAB" + detection_range = 0 + threat_range = 3500 + air_weapon_dist = 3500 + eprls = True + + +class VBAE_CRAB_MMP(unittype.VehicleType): + id = "VBAE_MMP" + name = "VBAE CRAB MMP" + detection_range = 0 + threat_range = 3500 + air_weapon_dist = 3500 + eprls = True + + +class AMX_30B2(unittype.VehicleType): + id = "AMX-30B2" + name = "AMX-30B2" + detection_range = 0 + threat_range = 3500 + air_weapon_dist = 2500 + + +class Char_M551_Sheridan(unittype.VehicleType): + id = "SHERIDAN" + name = "Char M551 Sheridan" + detection_range = 0 + threat_range = 5000 + air_weapon_dist = 5000 + + +class Leclerc_Serie_XXI(unittype.VehicleType): + id = "Leclerc_XXI" + name = "Leclerc Série XXI" + detection_range = 0 + threat_range = 5000 + air_weapon_dist = 5000 + + +class DIM__TOYOTA_BLUE(unittype.VehicleType): + id = "Toyota_bleu" + name = "DIM' TOYOTA BLUE" + detection_range = 0 + threat_range = 1200 + air_weapon_dist = 1200 + eprls = True + + +class DIM__TOYOTA_GREEN(unittype.VehicleType): + id = "Toyota_vert" + name = "DIM' TOYOTA GREEN" + detection_range = 0 + threat_range = 1200 + air_weapon_dist = 1200 + eprls = True + + +class DIM__TOYOTA_DESERT(unittype.VehicleType): + id = "Toyota_desert" + name = "DIM' TOYOTA DESERT" + detection_range = 0 + threat_range = 1200 + air_weapon_dist = 1200 + eprls = True + + +class DIM__KAMIKAZE(unittype.VehicleType): + id = "Kamikaze" + name = "DIM' KAMIKAZE" + detection_range = 0 + threat_range = 50 + air_weapon_dist = 50 + eprls = True + +## FORTIFICATION + +class _FIELD_HIDE(unittype.VehicleType): + id = "FieldHL" + name = "*FIELD HIDE" + detection_range = 0 + threat_range = 0 + air_weapon_dist = 0 + +class _FIELD_HIDE_SMALL(unittype.VehicleType): + id = "HARRIERH" + name = "*FIELD HIDE SMALL" + detection_range = 0 + threat_range = 0 + air_weapon_dist = 0 + +class SmokeD1(unittype.VehicleType): + id = "SmokeD1" + name = "SmokeD1" + detection_range = 0 + threat_range = 0 + air_weapon_dist = 0 + +class SmokeD3(unittype.VehicleType): + id = "SmokeD3" + name = "SmokeD3" + detection_range = 0 + threat_range = 0 + air_weapon_dist = 0 + + +class TRM_2000(unittype.VehicleType): + id = "TRM2000" + name = "TRM-2000" + detection_range = 3500 + threat_range = 0 + air_weapon_dist = 0 + eprls = True + +class TRM_2000_Fuel(unittype.VehicleType): + id = "TRM2000_Citerne" + name = "TRM-2000 Fuel" + detection_range = 3500 + threat_range = 0 + air_weapon_dist = 0 + eprls = True + +class VAB_MEDICAL(unittype.VehicleType): + id = "VABH" + name = "VAB MEDICAL" + detection_range = 0 + threat_range = 0 + air_weapon_dist = 0 + eprls = True + +class VAB(unittype.VehicleType): + id = "VAB_RADIO" + name = "VAB" + detection_range = 0 + threat_range = 0 + air_weapon_dist = 0 + eprls = True + +class VBL(unittype.VehicleType): + id = "VBL-Radio" + name = "VBL" + detection_range = 0 + threat_range = 0 + air_weapon_dist = 0 + eprls = True + +class Tracma_TD_1500(unittype.VehicleType): + id = "Tracma" + name = "Tracma TD 1500" + detection_range = 0 + threat_range = 0 + air_weapon_dist = 0 + +## AIRDEFENCE + +class SMOKE_SAM_IR(unittype.VehicleType): + id = "SMOKESAM" + name = "SMOKE SAM IR" + detection_range = 20000 + threat_range = 20000 + air_weapon_dist = 20000 + eprls = True + +class _53T2(unittype.VehicleType): + id = "AA20" + name = "53T2" + detection_range = 5000 + threat_range = 2000 + air_weapon_dist = 2000 + +class TRM_2000_53T2(unittype.VehicleType): + id = "TRM2000_AA20" + name = "TRM-2000 53T2" + detection_range = 6000 + threat_range = 2000 + air_weapon_dist = 2000 + eprls = True + +class TRM_2000_PAMELA(unittype.VehicleType): + id = "TRMMISTRAL" + name = "TRM-2000 PAMELA" + detection_range = 8000 + threat_range = 10000 + air_weapon_dist = 10000 + eprls = True + +## INFANTRY + +class Infantry_Soldier_JTAC(unittype.VehicleType): + id = "JTACFP" + name = "Infantry Soldier JTAC" + detection_range = 0 + threat_range = 500 + air_weapon_dist = 500 + +## ARTILERY + +class MO_120_RT(unittype.VehicleType): + id = "M120" + name = "MO 120 RT" + detection_range = 0 + 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 + eprls = True \ No newline at end of file diff --git a/pydcs_extensions/rafale/rafale.py b/pydcs_extensions/rafale/rafale.py new file mode 100644 index 00000000..880192a2 --- /dev/null +++ b/pydcs_extensions/rafale/rafale.py @@ -0,0 +1,1046 @@ +from enum import Enum + +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} + Exocet = {"clsid": "{Exocet}", "name": "Exocet", "weight": 640} + Thales_RBE2 = {"clsid": "{Thales_RBE2}", "name": "Thales_RBE2", "weight": 1.4789} + DAMOCLES = {"clsid": "{DAMOCLES}", "name": "DAMOCLES", "weight": 265} + DAMOCLES_ = {"clsid": "{DAMOCLES}", "name": "DAMOCLES", "weight": 265} + _2300_PTB_RAF = {"clsid": "{2300-PTB RAF}", "name": "2300-PTB RAF", "weight": 70} + _2300_PTB_RAF_ = {"clsid": "{2300-PTB RAF}", "name": "2300-PTB RAF", "weight": 70} + PTB_1500 = {"clsid": "{PTB-1500}", "name": "PTB-1500", "weight": 70} + + +class Rafale_A_S(PlaneType): + id = "Rafale_A_S" + flyable = False + height = 5.28 + width = 10.13 + length = 15.96 + fuel_max = 5000 + max_speed = 2001.996 + chaff = 48 + flare = 48 + charge_total = 96 + chaff_charge_size = 1 + flare_charge_size = 1 + category = "Interceptor" #{78EFB7A2-FD52-4b57-A6A6-3BF0E1D6555F} + radio_frequency = 127.5 + + class Liveries: + + class Georgia(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Syria(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Finland(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Australia(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Germany(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class SaudiArabia(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Israel(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Croatia(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class CzechRepublic(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Norway(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Romania(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Spain(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Ukraine(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Belgium(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Slovakia(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Greece(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class UK(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Insurgents(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Hungary(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class France(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Abkhazia(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Russia(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Sweden(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Austria(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Switzerland(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Italy(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class SouthOssetia(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class SouthKorea(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Iran(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class China(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Pakistan(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Belarus(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class NorthKorea(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Iraq(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Kazakhstan(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Bulgaria(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Serbia(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class India(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class USAFAggressors(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class USA(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Denmark(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Egypt(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Canada(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class TheNetherlands(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Turkey(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Japan(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Poland(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Pylon1: + 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) + MICA_IR = (1, Weapons.MICA_IR) + AIM_9M_Sidewinder_IR_AAM = (1, Weapons.AIM_9M_Sidewinder_IR_AAM) + AIM_9P_Sidewinder_IR_AAM = (1, Weapons.AIM_9P_Sidewinder_IR_AAM) +#ERRR {BRU-42_3*GBU-12} + + class Pylon2: + _2xGBU_12 = (2, Weapons._2xGBU_12) + MER_2_MK_82 = (2, Weapons.MER_2_MK_82) + _3_Mk_82 = (2, Weapons._3_Mk_82) + GBU_10 = (2, Weapons.GBU_10) + GBU_12 = (2, Weapons.GBU_12) + Mk_20 = (2, Weapons.Mk_20) + _3_Mk_20_Rockeye = (2, Weapons._3_Mk_20_Rockeye) + Mk_84 = (2, Weapons.Mk_84) + GBU_24 = (2, Weapons.GBU_24) + AGM_88C_ = (2, Weapons.AGM_88C_) + 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) + SCALP = (2, RafaleWeapons.SCALP) + AS_30L = (2, RafaleWeapons.AS_30L) + + class Pylon3: + GBU_10 = (3, Weapons.GBU_10) + GBU_24 = (3, Weapons.GBU_24) +#ERRR {BRU-42_3*GBU-12} + _2xGBU_12 = (3, Weapons._2xGBU_12) + GBU_12 = (3, Weapons.GBU_12) + MER_2_MK_82 = (3, Weapons.MER_2_MK_82) + _3_Mk_82 = (3, Weapons._3_Mk_82) + AGM_88C_ = (3, Weapons.AGM_88C_) + LAU3_HE151 = (3, Weapons.LAU3_HE151) + LAU3_WP156 = (3, Weapons.LAU3_WP156) + LAU_131x3_HYDRA_70_M151 = (3, Weapons.LAU_131x3_HYDRA_70_M151) + SCALP = (3, RafaleWeapons.SCALP) + AS_30L = (3, RafaleWeapons.AS_30L) + PTB_1500 = (3, RafaleWeapons.PTB_1500) + _2300_PTB_RAF_ = (3, RafaleWeapons._2300_PTB_RAF) + + class Pylon4: + AIM_9M_Sidewinder_IR_AAM = (4, Weapons.AIM_9M_Sidewinder_IR_AAM) + AIM_9P_Sidewinder_IR_AAM = (4, Weapons.AIM_9P_Sidewinder_IR_AAM) + MICA_IR = (4, Weapons.MICA_IR) + LAU3_WP156 = (4, Weapons.LAU3_WP156) + + class Pylon5: + Mk_84 = (5, Weapons.Mk_84) + PTB_1500 = (5, RafaleWeapons.PTB_1500) + _2300_PTB_RAF_ = (5, RafaleWeapons._2300_PTB_RAF) + Mercury_LLTV_Pod = (5, Weapons.Mercury_LLTV_Pod) + Exocet = (5, RafaleWeapons.Exocet) + + class Pylon6: + 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) + LAU3_WP156 = (6, Weapons.LAU3_WP156) + + class Pylon7: + AN_AAQ_28_LITENING = (7, Weapons.AN_AAQ_28_LITENING) + DAMOCLES_ = (7, RafaleWeapons.DAMOCLES_) + Thales_RBE2 = (7, RafaleWeapons.Thales_RBE2) + + class Pylon8: + GBU_10 = (8, Weapons.GBU_10) + GBU_24 = (8, Weapons.GBU_24) +#ERRR {BRU-42_3*GBU-12} + _2xGBU_12 = (8, Weapons._2xGBU_12) + GBU_12 = (8, Weapons.GBU_12) + MER_2_MK_82 = (8, Weapons.MER_2_MK_82) + _3_Mk_20_Rockeye = (8, Weapons._3_Mk_20_Rockeye) + _3_Mk_82 = (8, Weapons._3_Mk_82) + AGM_88C_ = (8, Weapons.AGM_88C_) + LAU3_HE151 = (8, Weapons.LAU3_HE151) + LAU3_WP156 = (8, Weapons.LAU3_WP156) + LAU_131x3_HYDRA_70_M151 = (8, Weapons.LAU_131x3_HYDRA_70_M151) + SCALP = (8, RafaleWeapons.SCALP) + AS_30L = (8, RafaleWeapons.AS_30L) + PTB_1500 = (8, RafaleWeapons.PTB_1500) + _2300_PTB_RAF_ = (8, RafaleWeapons._2300_PTB_RAF) + + class Pylon9: + GBU_24 = (9, Weapons.GBU_24) +#ERRR {BRU-42_3*GBU-12} + MER_2_MK_82 = (9, Weapons.MER_2_MK_82) + _2xGBU_12 = (9, Weapons._2xGBU_12) + GBU_10 = (9, Weapons.GBU_10) + GBU_12 = (9, Weapons.GBU_12) + Mk_20 = (9, Weapons.Mk_20) + _3_Mk_20_Rockeye = (9, Weapons._3_Mk_20_Rockeye) + 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_) + LAU3_HE151 = (9, Weapons.LAU3_HE151) + LAU3_WP156 = (9, Weapons.LAU3_WP156) + LAU3_HE5 = (9, Weapons.LAU3_HE5) + SCALP = (9, RafaleWeapons.SCALP) + AS_30L = (9, RafaleWeapons.AS_30L) + + class Pylon10: + AIM_9M_Sidewinder_IR_AAM = (10, Weapons.AIM_9M_Sidewinder_IR_AAM) + AIM_9P_Sidewinder_IR_AAM = (10, Weapons.AIM_9P_Sidewinder_IR_AAM) + MICA_IR = (10, Weapons.MICA_IR) + Smokewinder___red = (10, Weapons.Smokewinder___red) + Smokewinder___green = (10, Weapons.Smokewinder___green) + Smokewinder___blue = (10, Weapons.Smokewinder___blue) + Smokewinder___white = (10, Weapons.Smokewinder___white) + Smokewinder___yellow = (10, Weapons.Smokewinder___yellow) + Smokewinder___orange = (10, Weapons.Smokewinder___orange) + + 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_default = task.CAP + + +class Rafale_M(PlaneType): + id = "Rafale_M" + flyable = False + height = 5.28 + width = 10.13 + length = 15.96 + fuel_max = 5000 + max_speed = 2001.996 + chaff = 48 + flare = 48 + charge_total = 96 + chaff_charge_size = 1 + flare_charge_size = 1 + category = "Interceptor" #{78EFB7A2-FD52-4b57-A6A6-3BF0E1D6555F} + radio_frequency = 127.5 + + class Liveries: + + class Georgia(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Syria(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Finland(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Australia(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Germany(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class SaudiArabia(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Israel(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Croatia(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class CzechRepublic(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Norway(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Romania(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Spain(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Ukraine(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Belgium(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Slovakia(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Greece(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class UK(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Insurgents(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Hungary(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class France(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Abkhazia(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Russia(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Sweden(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Austria(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Switzerland(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Italy(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class SouthOssetia(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class SouthKorea(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Iran(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class China(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Pakistan(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Belarus(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class NorthKorea(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Iraq(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Kazakhstan(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Bulgaria(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Serbia(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class India(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class USAFAggressors(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class USA(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Denmark(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Egypt(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Canada(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class TheNetherlands(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Turkey(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Japan(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Poland(Enum): + _01_MARINE_12_F = "01 MARINE 12 F" + _02_MARINE_MAT_17F = "02 MARINE MAT 17F" + _03_BLACK_DERIVE_11F = "03 BLACK DERIVE 11F" + _04_MARINE_OLD = "04 MARINE OLD" + _05_BRAZIL = "05 BRAZIL" + _06_NEUTRE = "06 NEUTRE" + + class Pylon1: + 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) + MICA_IR = (1, Weapons.MICA_IR) + AIM_9M_Sidewinder_IR_AAM = (1, Weapons.AIM_9M_Sidewinder_IR_AAM) + AIM_9P_Sidewinder_IR_AAM = (1, Weapons.AIM_9P_Sidewinder_IR_AAM) + + class Pylon2: + Mk_84 = (2, Weapons.Mk_84) + 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_) + LAU3_HE151 = (2, Weapons.LAU3_HE151) + LAU3_WP156 = (2, Weapons.LAU3_WP156) + LAU3_HE5 = (2, Weapons.LAU3_HE5) + MICA_IR = (2, Weapons.MICA_IR) + AIM_7M = (2, Weapons.AIM_7M) + AIM_120B = (2, Weapons.AIM_120B) + AIM_120C = (2, Weapons.AIM_120C) + LAU_115_2_LAU_127_AIM_120C = (2, Weapons.LAU_115_2_LAU_127_AIM_120C) + Super_530D = (2, Weapons.Super_530D) + + class Pylon3: + Mk_84 = (3, Weapons.Mk_84) + MER_2_MK_83 = (3, Weapons.MER_2_MK_83) + MER_2_MK_82 = (3, Weapons.MER_2_MK_82) + _3_Mk_82 = (3, Weapons._3_Mk_82) + LAU3_HE151 = (3, Weapons.LAU3_HE151) + LAU3_WP156 = (3, Weapons.LAU3_WP156) + LAU_131x3_HYDRA_70_M151 = (3, Weapons.LAU_131x3_HYDRA_70_M151) + MICA_IR = (3, Weapons.MICA_IR) + AIM_7M = (3, Weapons.AIM_7M) + AIM_120B = (3, Weapons.AIM_120B) + AIM_120C = (3, Weapons.AIM_120C) + Super_530D = (3, Weapons.Super_530D) + PTB_1500 = (3, RafaleWeapons.PTB_1500) + _2300_PTB_RAF_ = (3, RafaleWeapons._2300_PTB_RAF) + + class Pylon4: + MICA_IR = (4, Weapons.MICA_IR) + AIM_9M_Sidewinder_IR_AAM = (4, Weapons.AIM_9M_Sidewinder_IR_AAM) + AIM_9P_Sidewinder_IR_AAM = (4, Weapons.AIM_9P_Sidewinder_IR_AAM) + LAU3_WP156 = (4, Weapons.LAU3_WP156) + + class Pylon5: + PTB_1500 = (5, RafaleWeapons.PTB_1500) + _2300_PTB_RAF_ = (5, RafaleWeapons._2300_PTB_RAF) + MICA_IR = (5, Weapons.MICA_IR) + AIM_7M = (5, Weapons.AIM_7M) + AIM_120B = (5, Weapons.AIM_120B) + AIM_120C = (5, Weapons.AIM_120C) + Super_530D = (5, Weapons.Super_530D) + + class Pylon6: + MICA_IR = (6, Weapons.MICA_IR) + AIM_9M_Sidewinder_IR_AAM = (6, Weapons.AIM_9M_Sidewinder_IR_AAM) + AIM_9P_Sidewinder_IR_AAM = (6, Weapons.AIM_9P_Sidewinder_IR_AAM) + LAU3_WP156 = (6, Weapons.LAU3_WP156) + + class Pylon7: + AN_AAQ_28_LITENING = (7, Weapons.AN_AAQ_28_LITENING) + DAMOCLES_ = (7, RafaleWeapons.DAMOCLES_) + + class Pylon8: + Mk_84 = (8, Weapons.Mk_84) + MER_2_MK_83 = (8, Weapons.MER_2_MK_83) + MER_2_MK_82 = (8, Weapons.MER_2_MK_82) + _3_Mk_82 = (8, Weapons._3_Mk_82) + LAU3_HE151 = (8, Weapons.LAU3_HE151) + LAU3_WP156 = (8, Weapons.LAU3_WP156) + LAU_131x3_HYDRA_70_M151 = (8, Weapons.LAU_131x3_HYDRA_70_M151) + MICA_IR = (8, Weapons.MICA_IR) + AIM_7M = (8, Weapons.AIM_7M) + AIM_120B = (8, Weapons.AIM_120B) + AIM_120C = (8, Weapons.AIM_120C) + Super_530D = (8, Weapons.Super_530D) + PTB_1500 = (8, RafaleWeapons.PTB_1500) + _2300_PTB_RAF_ = (8, RafaleWeapons._2300_PTB_RAF) + + class Pylon9: + Mk_84 = (9, Weapons.Mk_84) + 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_) + LAU3_HE151 = (9, Weapons.LAU3_HE151) + LAU3_WP156 = (9, Weapons.LAU3_WP156) + LAU3_HE5 = (9, Weapons.LAU3_HE5) + MICA_IR = (9, Weapons.MICA_IR) + AIM_7M = (9, Weapons.AIM_7M) + AIM_120B = (9, Weapons.AIM_120B) + AIM_120C = (9, Weapons.AIM_120C) + LAU_115_2_LAU_127_AIM_120C = (9, Weapons.LAU_115_2_LAU_127_AIM_120C) + Super_530D = (9, Weapons.Super_530D) + + class Pylon10: + AIM_9M_Sidewinder_IR_AAM = (10, Weapons.AIM_9M_Sidewinder_IR_AAM) + AIM_9P_Sidewinder_IR_AAM = (10, Weapons.AIM_9P_Sidewinder_IR_AAM) + MICA_IR = (10, Weapons.MICA_IR) + Smokewinder___red = (10, Weapons.Smokewinder___red) + Smokewinder___green = (10, Weapons.Smokewinder___green) + Smokewinder___blue = (10, Weapons.Smokewinder___blue) + Smokewinder___white = (10, Weapons.Smokewinder___white) + Smokewinder___yellow = (10, Weapons.Smokewinder___yellow) + Smokewinder___orange = (10, Weapons.Smokewinder___orange) + + 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] + task_default = task.CAP diff --git a/resources/customized_payloads/Rafale_A_S.lua b/resources/customized_payloads/Rafale_A_S.lua new file mode 100644 index 00000000..40c61645 --- /dev/null +++ b/resources/customized_payloads/Rafale_A_S.lua @@ -0,0 +1,225 @@ +local unitPayloads = { + ["name"] = "Rafale_A_S", + ["payloads"] = { + [1] = { + ["name"] = "CAP", + ["pylons"] = { + [1] = { + ["CLSID"] = "{0DA03783-61E4-40B2-8FAE-6AEE0A5C5AAE}", + ["num"] = 10, + }, + [2] = { + ["CLSID"] = "{0DA03783-61E4-40B2-8FAE-6AEE0A5C5AAE}", + ["num"] = 1, + }, + [3] = { + ["CLSID"] = "{0DA03783-61E4-40B2-8FAE-6AEE0A5C5AAE}", + ["num"] = 6, + }, + [4] = { + ["CLSID"] = "{0DA03783-61E4-40B2-8FAE-6AEE0A5C5AAE}", + ["num"] = 4, + }, + }, + ["tasks"] = { + [1] = 11, + }, + }, + [2] = { + ["name"] = "CAS", + ["pylons"] = { + [1] = { + ["CLSID"] = "{0DA03783-61E4-40B2-8FAE-6AEE0A5C5AAE}", + ["num"] = 10, + }, + [2] = { + ["CLSID"] = "{0DA03783-61E4-40B2-8FAE-6AEE0A5C5AAE}", + ["num"] = 1, + }, + [3] = { + ["CLSID"] = "{0DA03783-61E4-40B2-8FAE-6AEE0A5C5AAE}", + ["num"] = 6, + }, + [4] = { + ["CLSID"] = "{0DA03783-61E4-40B2-8FAE-6AEE0A5C5AAE}", + ["num"] = 4, + }, + [5] = { + ["CLSID"] = "{AS_30L}", + ["num"] = 9, + }, + [6] = { + ["CLSID"] = "{AS_30L}", + ["num"] = 8, + }, + [7] = { + ["CLSID"] = "{AS_30L}", + ["num"] = 3, + }, + [8] = { + ["CLSID"] = "{AS_30L}", + ["num"] = 2, + }, + [9] = { + ["CLSID"] = "{DAMOCLES}", + ["num"] = 7, + }, + [10] = { + ["CLSID"] = "{PTB-1500}", + ["num"] = 5, + }, + }, + ["tasks"] = { + [1] = 11, + }, + }, + [3] = { + ["name"] = "ANTISHIP", + ["pylons"] = { + [1] = { + ["CLSID"] = "{0DA03783-61E4-40B2-8FAE-6AEE0A5C5AAE}", + ["num"] = 10, + }, + [2] = { + ["CLSID"] = "{0DA03783-61E4-40B2-8FAE-6AEE0A5C5AAE}", + ["num"] = 1, + }, + [3] = { + ["CLSID"] = "{0DA03783-61E4-40B2-8FAE-6AEE0A5C5AAE}", + ["num"] = 6, + }, + [4] = { + ["CLSID"] = "{0DA03783-61E4-40B2-8FAE-6AEE0A5C5AAE}", + ["num"] = 4, + }, + [5] = { + ["CLSID"] = "{B06DD79A-F21E-4EB9-BD9D-AB3844618C93}", + ["num"] = 9, + }, + [6] = { + ["CLSID"] = "{B06DD79A-F21E-4EB9-BD9D-AB3844618C93}", + ["num"] = 8, + }, + [7] = { + ["CLSID"] = "{B06DD79A-F21E-4EB9-BD9D-AB3844618C93}", + ["num"] = 3, + }, + [8] = { + ["CLSID"] = "{B06DD79A-F21E-4EB9-BD9D-AB3844618C93}", + ["num"] = 2, + }, + [9] = { + ["CLSID"] = "{Thales_RBE2}", + ["num"] = 7, + }, + [10] = { + ["CLSID"] = "{Exocet}", + ["num"] = 5, + }, + }, + ["tasks"] = { + [1] = 11, + }, + }, + [4] = { + ["name"] = "SEAD", + ["pylons"] = { + [1] = { + ["CLSID"] = "{0DA03783-61E4-40B2-8FAE-6AEE0A5C5AAE}", + ["num"] = 10, + }, + [2] = { + ["CLSID"] = "{0DA03783-61E4-40B2-8FAE-6AEE0A5C5AAE}", + ["num"] = 1, + }, + [3] = { + ["CLSID"] = "{0DA03783-61E4-40B2-8FAE-6AEE0A5C5AAE}", + ["num"] = 6, + }, + [4] = { + ["CLSID"] = "{0DA03783-61E4-40B2-8FAE-6AEE0A5C5AAE}", + ["num"] = 4, + }, + [5] = { + ["CLSID"] = "{B06DD79A-F21E-4EB9-BD9D-AB3844618C93}", + ["num"] = 9, + }, + [6] = { + ["CLSID"] = "{B06DD79A-F21E-4EB9-BD9D-AB3844618C93}", + ["num"] = 8, + }, + [7] = { + ["CLSID"] = "{B06DD79A-F21E-4EB9-BD9D-AB3844618C93}", + ["num"] = 3, + }, + [8] = { + ["CLSID"] = "{B06DD79A-F21E-4EB9-BD9D-AB3844618C93}", + ["num"] = 2, + }, + [9] = { + ["CLSID"] = "{DAMOCLES}", + ["num"] = 7, + }, + [10] = { + ["CLSID"] = "{PTB-1500}", + ["num"] = 5, + }, + }, + ["tasks"] = { + [1] = 11, + }, + }, + [5] = { + ["name"] = "STRIKE", + ["pylons"] = { + [1] = { + ["CLSID"] = "{0DA03783-61E4-40B2-8FAE-6AEE0A5C5AAE}", + ["num"] = 10, + }, + [2] = { + ["CLSID"] = "{0DA03783-61E4-40B2-8FAE-6AEE0A5C5AAE}", + ["num"] = 1, + }, + [3] = { + ["CLSID"] = "{0DA03783-61E4-40B2-8FAE-6AEE0A5C5AAE}", + ["num"] = 6, + }, + [4] = { + ["CLSID"] = "{0DA03783-61E4-40B2-8FAE-6AEE0A5C5AAE}", + ["num"] = 4, + }, + [5] = { + ["CLSID"] = "{SCALP}", + ["num"] = 9, + }, + [6] = { + ["CLSID"] = "{SCALP}", + ["num"] = 8, + }, + [7] = { + ["CLSID"] = "{SCALP}", + ["num"] = 3, + }, + [8] = { + ["CLSID"] = "{SCALP}", + ["num"] = 2, + }, + [9] = { + ["CLSID"] = "{DAMOCLES}", + ["num"] = 7, + }, + [10] = { + ["CLSID"] = "{PTB-1500}", + ["num"] = 5, + }, + }, + ["tasks"] = { + [1] = 11, + }, + }, + }, + ["tasks"] = { + }, + ["unitType"] = "Rafale_A_S", +} +return unitPayloads diff --git a/resources/customized_payloads/Rafale_M.lua b/resources/customized_payloads/Rafale_M.lua new file mode 100644 index 00000000..ca564585 --- /dev/null +++ b/resources/customized_payloads/Rafale_M.lua @@ -0,0 +1,209 @@ +local unitPayloads = { + ["name"] = "Rafale_M", + ["payloads"] = { + [1] = { + ["name"] = "CAP", + ["pylons"] = { + [1] = { + ["CLSID"] = "{0DA03783-61E4-40B2-8FAE-6AEE0A5C5AAE}", + ["num"] = 10, + }, + [2] = { + ["CLSID"] = "{0DA03783-61E4-40B2-8FAE-6AEE0A5C5AAE}", + ["num"] = 1, + }, + [3] = { + ["CLSID"] = "LAU-115_2*LAU-127_AIM-120C", + ["num"] = 2, + }, + [4] = { + ["CLSID"] = "LAU-115_2*LAU-127_AIM-120C", + ["num"] = 9, + }, + [5] = { + ["CLSID"] = "{40EF17B7-F508-45de-8566-6FFECC0C1AB8}", + ["num"] = 8, + }, + [6] = { + ["CLSID"] = "{0DA03783-61E4-40B2-8FAE-6AEE0A5C5AAE}", + ["num"] = 6, + }, + [7] = { + ["CLSID"] = "{0DA03783-61E4-40B2-8FAE-6AEE0A5C5AAE}", + ["num"] = 5, + }, + [8] = { + ["CLSID"] = "{40EF17B7-F508-45de-8566-6FFECC0C1AB8}", + ["num"] = 3, + }, + }, + ["tasks"] = { + [1] = 11, + }, + }, + [2] = { + ["name"] = "CAS", + ["pylons"] = { + [1] = { + ["CLSID"] = "{0DA03783-61E4-40B2-8FAE-6AEE0A5C5AAE}", + ["num"] = 10, + }, + [2] = { + ["CLSID"] = "{0DA03783-61E4-40B2-8FAE-6AEE0A5C5AAE}", + ["num"] = 1, + }, + [3] = { + ["CLSID"] = "LAU3_HE5", + ["num"] = 2, + }, + [4] = { + ["CLSID"] = "LAU3_HE5", + ["num"] = 9, + }, + [5] = { + ["CLSID"] = "LAU3_WP156", + ["num"] = 8, + }, + [6] = { + ["CLSID"] = "{0DA03783-61E4-40B2-8FAE-6AEE0A5C5AAE}", + ["num"] = 6, + }, + [7] = { + ["CLSID"] = "{0DA03783-61E4-40B2-8FAE-6AEE0A5C5AAE}", + ["num"] = 5, + }, + [8] = { + ["CLSID"] = "LAU3_WP156", + ["num"] = 3, + }, + }, + ["tasks"] = { + [1] = 11, + }, + }, + [3] = { + ["name"] = "STRIKE", + ["pylons"] = { + [1] = { + ["CLSID"] = "{0DA03783-61E4-40B2-8FAE-6AEE0A5C5AAE}", + ["num"] = 10, + }, + [2] = { + ["CLSID"] = "{0DA03783-61E4-40B2-8FAE-6AEE0A5C5AAE}", + ["num"] = 1, + }, + [3] = { + ["CLSID"] = "{AB8B8299-F1CC-4359-89B5-2172E0CF4A5A}", + ["num"] = 2, + }, + [4] = { + ["CLSID"] = "{AB8B8299-F1CC-4359-89B5-2172E0CF4A5A}", + ["num"] = 9, + }, + [5] = { + ["CLSID"] = "{AB8B8299-F1CC-4359-89B5-2172E0CF4A5A}", + ["num"] = 8, + }, + [6] = { + ["CLSID"] = "{0DA03783-61E4-40B2-8FAE-6AEE0A5C5AAE}", + ["num"] = 6, + }, + [7] = { + ["CLSID"] = "{0DA03783-61E4-40B2-8FAE-6AEE0A5C5AAE}", + ["num"] = 5, + }, + [8] = { + ["CLSID"] = "{AB8B8299-F1CC-4359-89B5-2172E0CF4A5A}", + ["num"] = 3, + }, + }, + ["tasks"] = { + [1] = 11, + }, + }, + [4] = { + ["name"] = "SEAD", + ["pylons"] = { + [1] = { + ["CLSID"] = "{0DA03783-61E4-40B2-8FAE-6AEE0A5C5AAE}", + ["num"] = 10, + }, + [2] = { + ["CLSID"] = "{0DA03783-61E4-40B2-8FAE-6AEE0A5C5AAE}", + ["num"] = 1, + }, + [3] = { + ["CLSID"] = "{D5D51E24-348C-4702-96AF-97A714E72697}", + ["num"] = 2, + }, + [4] = { + ["CLSID"] = "{D5D51E24-348C-4702-96AF-97A714E72697}", + ["num"] = 9, + }, + [5] = { + ["CLSID"] = "{D5D51E24-348C-4702-96AF-97A714E72697}", + ["num"] = 8, + }, + [6] = { + ["CLSID"] = "{0DA03783-61E4-40B2-8FAE-6AEE0A5C5AAE}", + ["num"] = 6, + }, + [7] = { + ["CLSID"] = "{0DA03783-61E4-40B2-8FAE-6AEE0A5C5AAE}", + ["num"] = 5, + }, + [8] = { + ["CLSID"] = "{D5D51E24-348C-4702-96AF-97A714E72697}", + ["num"] = 3, + }, + }, + ["tasks"] = { + [1] = 11, + }, + }, + [5] = { + ["name"] = "ANTISHIP", + ["pylons"] = { + [1] = { + ["CLSID"] = "{0DA03783-61E4-40B2-8FAE-6AEE0A5C5AAE}", + ["num"] = 10, + }, + [2] = { + ["CLSID"] = "{0DA03783-61E4-40B2-8FAE-6AEE0A5C5AAE}", + ["num"] = 1, + }, + [3] = { + ["CLSID"] = "{18617C93-78E7-4359-A8CE-D754103EDF63}", + ["num"] = 2, + }, + [4] = { + ["CLSID"] = "{18617C93-78E7-4359-A8CE-D754103EDF63}", + ["num"] = 9, + }, + [5] = { + ["CLSID"] = "{18617C93-78E7-4359-A8CE-D754103EDF63}", + ["num"] = 8, + }, + [6] = { + ["CLSID"] = "{0DA03783-61E4-40B2-8FAE-6AEE0A5C5AAE}", + ["num"] = 6, + }, + [7] = { + ["CLSID"] = "{0DA03783-61E4-40B2-8FAE-6AEE0A5C5AAE}", + ["num"] = 5, + }, + [8] = { + ["CLSID"] = "{18617C93-78E7-4359-A8CE-D754103EDF63}", + ["num"] = 3, + }, + }, + ["tasks"] = { + [1] = 11, + }, + }, + }, + ["tasks"] = { + }, + ["unitType"] = "Rafale_M", +} +return unitPayloads diff --git a/resources/ui/units/aircrafts/Rafale_A_S_24.jpg b/resources/ui/units/aircrafts/Rafale_A_S_24.jpg new file mode 100644 index 00000000..293afa73 Binary files /dev/null and b/resources/ui/units/aircrafts/Rafale_A_S_24.jpg differ diff --git a/resources/ui/units/aircrafts/Rafale_M_24.jpg b/resources/ui/units/aircrafts/Rafale_M_24.jpg new file mode 100644 index 00000000..293afa73 Binary files /dev/null and b/resources/ui/units/aircrafts/Rafale_M_24.jpg differ