From 707e1f8b675bf98d1233df5e46728edb99137ccd Mon Sep 17 00:00:00 2001 From: Khopa Date: Fri, 11 Oct 2019 23:08:00 +0200 Subject: [PATCH] Refactored factions in separates files to declutter db.py. --- game/db.py | 782 ++---------------------------- game/factions/china_2000.py | 45 ++ game/factions/france_1995.py | 35 ++ game/factions/germany_1944.py | 28 ++ game/factions/germany_1990.py | 38 ++ game/factions/india_2010.py | 42 ++ game/factions/iran_2015.py | 52 ++ game/factions/italy_1990.py | 35 ++ game/factions/netherlands_1990.py | 33 ++ game/factions/russia_1955.py | 34 ++ game/factions/russia_1965.py | 45 ++ game/factions/russia_1975.py | 51 ++ game/factions/russia_1990.py | 52 ++ game/factions/russia_2010.py | 50 ++ game/factions/spain_1990.py | 32 ++ game/factions/uk_1990.py | 35 ++ game/factions/usa_1944.py | 27 ++ game/factions/usa_1955.py | 31 ++ game/factions/usa_1960.py | 32 ++ game/factions/usa_1965.py | 36 ++ game/factions/usa_1990.py | 42 ++ game/factions/usa_2005.py | 42 ++ 22 files changed, 862 insertions(+), 737 deletions(-) create mode 100644 game/factions/china_2000.py create mode 100644 game/factions/france_1995.py create mode 100644 game/factions/germany_1944.py create mode 100644 game/factions/germany_1990.py create mode 100644 game/factions/india_2010.py create mode 100644 game/factions/iran_2015.py create mode 100644 game/factions/italy_1990.py create mode 100644 game/factions/netherlands_1990.py create mode 100644 game/factions/russia_1955.py create mode 100644 game/factions/russia_1965.py create mode 100644 game/factions/russia_1975.py create mode 100644 game/factions/russia_1990.py create mode 100644 game/factions/russia_2010.py create mode 100644 game/factions/spain_1990.py create mode 100644 game/factions/uk_1990.py create mode 100644 game/factions/usa_1944.py create mode 100644 game/factions/usa_1955.py create mode 100644 game/factions/usa_1960.py create mode 100644 game/factions/usa_1965.py create mode 100644 game/factions/usa_1990.py create mode 100644 game/factions/usa_2005.py diff --git a/game/db.py b/game/db.py index 10cefb58..a5facfa5 100644 --- a/game/db.py +++ b/game/db.py @@ -12,6 +12,28 @@ from dcs.unit import * from dcs.unittype import * from dcs.unitgroup import * +from game.factions.china_2000 import China_2000 +from game.factions.france_1995 import France_1995 +from game.factions.germany_1990 import Germany_1990 +from game.factions.iran_2015 import Iran_2015 +from game.factions.italy_1990 import Italy_1990 +from game.factions.netherlands_1990 import Netherlands_1990 +from game.factions.russia_1975 import Russia_1975 +from game.factions.germany_1944 import Germany_1944 +from game.factions.india_2010 import India_2010 +from game.factions.russia_1955 import Russia_1955 +from game.factions.russia_1965 import Russia_1965 +from game.factions.russia_1990 import Russia_1990 +from game.factions.russia_2010 import Russia_2010 +from game.factions.spain_1990 import Spain_1990 +from game.factions.uk_1990 import UnitedKingdom_1990 +from game.factions.usa_1944 import USA_1944 +from game.factions.usa_1955 import USA_1955 +from game.factions.usa_1960 import USA_1960 +from game.factions.usa_1965 import USA_1965 +from game.factions.usa_1990 import USA_1990 +from game.factions.usa_2005 import USA_2005 + """ ---------- BEGINNING OF CONFIGURATION SECTION """ @@ -462,746 +484,31 @@ EXTRA_AA = { """ Units separated by country. Currently only Russia and USA are supported. - -Be advised that putting unit to the country that have not access to the unit in the game itself will result in incorrect missions generated! -So it's better to just use 'Russia' or 'USA', 'Ukraine' and 'USAF Aggresor' faction which have most units. - country : DCS Country name - """ FACTIONS = { - - "Russia 1955": { - "country": "Russia", - "side": "red", - "units": [ - MiG_15bis, - - IL_76MD, - IL_78M, - An_26B, - An_30M, - Yak_40, - - AirDefence.AAA_ZU_23_Closed, - AirDefence.AAA_ZU_23_on_Ural_375, - - Armor.ARV_BRDM_2, - Armor.ARV_MTLB_U_BOMAN, - Armor.APC_MTLB, - Armor.MBT_T_55, - - Unarmed.Transport_Ural_375, - Unarmed.Transport_UAZ_469, - Infantry.Soldier_AK, - - CV_1143_5_Admiral_Kuznetsov, - Bulk_cargo_ship_Yakushev, - Dry_cargo_ship_Ivanov, - Tanker_Elnya_160 - ] - }, - - "Russia 1965": { - "country": "Russia", - "side": "red", - "units": [ - MiG_15bis, - MiG_19P, - MiG_21Bis, - - IL_76MD, - IL_78M, - An_26B, - An_30M, - Yak_40, - - A_50, - - Mi_8MT, - - AirDefence.AAA_ZU_23_Closed, - AirDefence.SAM_SA_6_Kub_LN_2P25, - AirDefence.SAM_SA_2_LN_SM_90, - AirDefence.SAM_SA_3_S_125_LN_5P73, - - Armor.ARV_BRDM_2, - Armor.APC_BTR_80, - Armor.ARV_BTR_RD, - Armor.IFV_BMD_1, - Armor.IFV_BMP_1, - Armor.MBT_T_55, - - Unarmed.Transport_Ural_375, - Unarmed.Transport_UAZ_469, - Infantry.Soldier_AK, - - CV_1143_5_Admiral_Kuznetsov, - Bulk_cargo_ship_Yakushev, - Dry_cargo_ship_Ivanov, - Tanker_Elnya_160 - ] - }, - - "Russia 1975": { - "country": "Russia", - "side": "red", - "units": [ - - MiG_21Bis, - MiG_23MLD, - MiG_25PD, - MiG_29A, - - Su_17M4, - Su_24M, - Su_25, - - IL_76MD, - IL_78M, - An_26B, - An_30M, - Yak_40, - - A_50, - - Mi_8MT, - Mi_24V, - - AirDefence.AAA_ZU_23_Closed, - AirDefence.SAM_SA_6_Kub_LN_2P25, - AirDefence.SAM_SA_3_S_125_LN_5P73, - - Armor.ARV_BRDM_2, - Armor.APC_BTR_80, - Armor.IFV_BMD_1, - Armor.IFV_BMP_1, - Armor.MBT_T_55, - - Unarmed.Transport_Ural_375, - Unarmed.Transport_UAZ_469, - Infantry.Soldier_AK, - - CV_1143_5_Admiral_Kuznetsov, - Bulk_cargo_ship_Yakushev, - Dry_cargo_ship_Ivanov, - Tanker_Elnya_160 - ] - }, - - "Russia 1988": { - "country": "Russia", - "side": "red", - "units": [ - - MiG_23MLD, - MiG_25PD, - MiG_29A, - MiG_29S, - MiG_31, - Su_27, - - Su_24M, - Su_24MR, - Su_25, - - IL_76MD, - IL_78M, - An_26B, - An_30M, - Yak_40, - - A_50, - - Mi_8MT, - Mi_24V, - - AirDefence.AAA_ZU_23_Closed, - AirDefence.SAM_SA_6_Kub_LN_2P25, - AirDefence.SAM_SA_3_S_125_LN_5P73, - - Armor.ARV_BRDM_2, - Armor.APC_BTR_80, - Armor.IFV_BMD_1, - Armor.IFV_BMP_1, - Armor.MBT_T_55, - - Unarmed.Transport_Ural_375, - Unarmed.Transport_UAZ_469, - Infantry.Soldier_AK, - - CV_1143_5_Admiral_Kuznetsov, - Bulk_cargo_ship_Yakushev, - Dry_cargo_ship_Ivanov, - Tanker_Elnya_160 - ] - }, - - "Russia 2010": { - "country": "Russia", - "side":"red", - "units": [ - AJS37, - MiG_23MLD, - Su_25, - Su_27, - Su_33, - MiG_29S, - - Su_25T, - Su_34, - Su_24MR, - L_39ZA, - - IL_76MD, - IL_78M, - An_26B, - An_30M, - Yak_40, - A_50, - - Ka_50, - Mi_8MT, - - AirDefence.SPAAA_ZSU_23_4_Shilka, - AirDefence.SAM_SA_19_Tunguska_2S6, - AirDefence.SAM_SA_11_Buk_LN_9A310M1, - AirDefence.SAM_SA_10_S_300PS_LN_5P85C, - - Armor.APC_BTR_80, - Armor.MBT_T_90, - Armor.MBT_T_80U, - Armor.MBT_T_72B, - - Unarmed.Transport_Ural_375, - Unarmed.Transport_UAZ_469, - Infantry.Soldier_AK, - CV_1143_5_Admiral_Kuznetsov, - Bulk_cargo_ship_Yakushev, - Dry_cargo_ship_Ivanov, - Tanker_Elnya_160, - ] - }, - - "Iran 2015": { - "country": "Iran", - "side": "red", - "units": [ - - MiG_29A, - F_4E, - F_14B, - F_5E_3, - - MiG_21Bis, - Su_24M, - Su_25, - Su_17M4, - - IL_76MD, - IL_78M, - An_26B, - An_30M, - Yak_40, - - A_50, - - Mi_28N, - Mi_24V, - - AirDefence.AAA_ZU_23_Closed, - AirDefence.AAA_ZU_23_Insurgent_on_Ural_375, - AirDefence.SPAAA_ZSU_23_4_Shilka, - AirDefence.SAM_Hawk_PCP, - AirDefence.SAM_SA_2_LN_SM_90, - - Armor.APC_M113, - Armor.APC_BTR_80, - Armor.MBT_M60A3_Patton, - Armor.MBT_T_72B, - - Unarmed.Transport_Ural_375, - Unarmed.Transport_UAZ_469, - Infantry.Soldier_AK, - - CV_1143_5_Admiral_Kuznetsov, - Bulk_cargo_ship_Yakushev, - Dry_cargo_ship_Ivanov, - Tanker_Elnya_160 - ] - }, - - "China 2000": { - "country": "China", - "side": "red", - "units": [ - - MiG_21Bis, # Standing as J-7 - Su_30, - J_11A, - - IL_76MD, - IL_78M, - An_26B, - An_30M, - Yak_40, - - A_50, - - Mi_8MT, - - AirDefence.AAA_ZU_23_Closed, - AirDefence.Rapier_FSA_Launcher, # Standing as PL-9C Shorad - AirDefence.SAM_SA_10_S_300PS_LN_5P85C, # Standing as HQ-9+ - AirDefence.SAM_SA_6_Kub_LN_2P25, - AirDefence.HQ_7_Self_Propelled_LN, - - Armor.MBT_T_72B, # Type 99 - Armor.MBT_T_55, - Armor.ZBD_04A, - Armor.IFV_BMP_1, - - Unarmed.Transport_Ural_375, - Unarmed.Transport_UAZ_469, - Infantry.Soldier_AK, - - CV_1143_5_Admiral_Kuznetsov, - Bulk_cargo_ship_Yakushev, - Dry_cargo_ship_Ivanov, - Tanker_Elnya_160 - ] - }, - - "USA 2005": { - "country": "USA", - "side": "blue", - "units": [ - F_15C, - F_14B, - FA_18C_hornet, - F_16C_50, - - A_10C, - AV8BNA, - - B_1B, - - KC_135, - S_3B_Tanker, - C_130, - E_3A, - - UH_1H, - AH_64D, - - Armor.MBT_M1A2_Abrams, - Armor.ATGM_M1134_Stryker, - Armor.IFV_M2A2_Bradley, - - Unarmed.Transport_M818, - Infantry.Infantry_M4, - - AirDefence.SAM_Hawk_PCP, - AirDefence.SAM_Patriot_EPP_III, - - CVN_74_John_C__Stennis, - LHA_1_Tarawa, - Armed_speedboat, - ] - }, - - "USA 1990": { - "country": "USA", - "side": "blue", - "units": [ - F_15C, - F_14B, - FA_18C_hornet, - - A_10A, - AV8BNA, - - B_1B, - - KC_135, - S_3B_Tanker, - C_130, - E_3A, - - UH_1H, - AH_64A, - - Armor.MBT_M1A2_Abrams, - Armor.IFV_LAV_25, - Armor.APC_M1043_HMMWV_Armament, - Armor.ATGM_M1045_HMMWV_TOW, - Armor.ATGM_M1134_Stryker, - Unarmed.Transport_M818, - Infantry.Infantry_M4, - - AirDefence.SAM_Hawk_PCP, - AirDefence.SAM_Avenger_M1097, - - CVN_74_John_C__Stennis, - LHA_1_Tarawa, - Armed_speedboat, - ] - }, - - "USA 1965": { - "country": "USA", - "side": "blue", - "units": [ - - F_5E_3, - F_4E, - - KC_135, - S_3B_Tanker, - C_130, - E_3A, - - B_52H, - - UH_1H, - - Armor.MBT_M60A3_Patton, - Armor.APC_M113, - Unarmed.Transport_M818, - Infantry.Infantry_M4, - - AirDefence.AAA_Vulcan_M163, - AirDefence.SAM_Chaparral_M48, - AirDefence.SAM_Hawk_PCP, - - CVN_74_John_C__Stennis, - LHA_1_Tarawa, - Armed_speedboat, - ] - }, - - "USA 1960": { - "country": "USA", - "side": "blue", - "units": [ - F_86F_Sabre, - P_51D, - - KC_135, - S_3B_Tanker, - C_130, - E_3A, - - UH_1H, - - Armor.MBT_M60A3_Patton, - Armor.APC_M113, - - Unarmed.Transport_M818, - Infantry.Infantry_M4, - - AirDefence.AAA_Vulcan_M163, - - CVN_74_John_C__Stennis, - LHA_1_Tarawa, - Armed_speedboat, - ] - }, - - "USA 1955 (Require WW2 Pack)": { - "country": "USA", - "side": "blue", - "units": [ - F_86F_Sabre, - P_51D, - - KC_135, - S_3B_Tanker, - C_130, - E_3A, - - Armor.MT_M4A4_Sherman_Firefly, - Armor.MT_M4_Sherman, - Armor.M30_Cargo_Carrier, - - Unarmed.Transport_M818, - Infantry.Infantry_M4, - - AirDefence.AAA_Bofors_40mm, - - CVN_74_John_C__Stennis, - LHA_1_Tarawa, - Armed_speedboat, - ] - }, - - "USA 1944 (Require WW2 Pack)": { - "country": "USA", - "side": "blue", - "units": [ - P_51D, - P_51D_30_NA, - SpitfireLFMkIX, - SpitfireLFMkIXCW, - - Armor.MT_M4_Sherman, - Armor.MT_M4A4_Sherman_Firefly, - Armor.M30_Cargo_Carrier, - - Infantry.Infantry_M1_Garand, - - Unarmed.CCKW_353, - AirDefence.AAA_Bofors_40mm, - ] - }, - - "France 1995": { - "country": "France", - "side": "blue", - "units":[ - M_2000C, - Mirage_2000_5, - - KC_135, - S_3B_Tanker, - C_130, - E_3A, - - SA342M, - SA342L, - - Armor.MBT_Leclerc, - Armor.TPz_Fuchs, # Standing as VAB - - Unarmed.Transport_M818, - Infantry.Infantry_M4, - - 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, - ] - }, - - "Germany 1990": { - "country": "Germany", - "side": "blue", - "units":[ - MiG_29G, - Tornado_IDS, - F_4E, - - KC_135, - S_3B_Tanker, - C_130, - E_3A, - - UH_1H, - SA342M, - SA342L, - - Armor.TPz_Fuchs, - Armor.MBT_Leopard_1A3, - Armor.MBT_Leopard_2, - - Unarmed.Transport_M818, - Infantry.Infantry_M4, - - AirDefence.SPAAA_Gepard, - AirDefence.SAM_Roland_ADS, - AirDefence.SAM_Hawk_PCP, - - CVN_74_John_C__Stennis, - LHA_1_Tarawa, - Armed_speedboat, - ] - }, - - "Netherlands 1990": { - "country": "The Netherlands", - "side": "blue", - "units": [ - F_16C_bl_50, - F_5E_3, - - KC_135, - S_3B_Tanker, - C_130, - E_3A, - - AH_64A, - - Armor.APC_M113, - Armor.MBT_Leopard_1A3, - - Unarmed.Transport_M818, - Infantry.Infantry_M4, - - AirDefence.SAM_Hawk_PCP, - AirDefence.SAM_Avenger_M1097, - - CVN_74_John_C__Stennis, - LHA_1_Tarawa, - Armed_speedboat, - ] - }, - - "United Kingdown 1990": { - "country": "UK", - "side": "blue", - "units":[ - AV8BNA, # Standing as BAE Harrier 2 - Tornado_GR4, - F_4E, - - KC_135, - S_3B_Tanker, - C_130, - E_3A, - - SA342L, - AH_64A, - - Armor.MBT_Challenger_II, - Armor.IFV_M2A2_Bradley, # Standing as Warrior IFV - - Unarmed.Transport_M818, - Infantry.Infantry_M4, - - AirDefence.Rapier_FSA_Launcher, - AirDefence.SAM_Avenger_M1097, # Standing as Starstreak - - CVN_74_John_C__Stennis, - LHA_1_Tarawa, - Armed_speedboat, - ] - }, - - "Spain 1990": { - "country": "Spain", - "side": "blue", - "units": [ - FA_18C_hornet, - AV8BNA, - F_5E_3, - C_101CC, - - KC_135, - S_3B_Tanker, - C_130, - E_3A, - - Armor.MBT_M60A3_Patton, - Armor.APC_M113, - - Unarmed.Transport_M818, - Infantry.Infantry_M4, - - AirDefence.SAM_Hawk_PCP, - AirDefence.SAM_Avenger_M1097, - - CVN_74_John_C__Stennis, - LHA_1_Tarawa, - Armed_speedboat, - ] - }, - - "Italy 1990": { - "country": "Italy", - "side": "blue", - "units": [ - Tornado_IDS, - AV8BNA, - # MB339, - - KC_135, - S_3B_Tanker, - C_130, - E_3A, - - AH_1W, - UH_1H, - - Armor.MBT_Leopard_1A3, # OF-40 MBT - Armor.APC_M113, - - Unarmed.Transport_M818, - Infantry.Infantry_M4, - - AirDefence.SAM_Hawk_PCP, - AirDefence.SAM_Avenger_M1097, - - CVN_74_John_C__Stennis, - LHA_1_Tarawa, - Armed_speedboat, - ] - }, - - "India 2010": { - "country": "India", - "side": "blue", - "units": [ - Mirage_2000_5, - M_2000C, - MiG_27K, - MiG_21Bis, - MiG_29S, - Su_30, - - KC_135, - S_3B_Tanker, - C_130, - E_3A, - - AH_64A, - Mi_8MT, # under designation Mi-17 - - Armor.MBT_T_90, - Armor.MBT_T_72B, - Armor.IFV_BMP_2, - - Unarmed.Transport_M818, - Infantry.Infantry_M4, - - AirDefence.SAM_SA_6_Kub_LN_2P25, - AirDefence.SAM_SA_3_S_125_LN_5P73, - AirDefence.SAM_SA_8_Osa_9A33, - AirDefence.SAM_SA_13_Strela_10M3_9A35M3, - AirDefence.SAM_SA_19_Tunguska_2S6, - - CVN_74_John_C__Stennis, - LHA_1_Tarawa, - Armed_speedboat, - ] - }, - - "Germany 1944 (WIP) (Require WW2 Pack)": { - "country": "Russia", # WIP - "side": "red", - "units": [ - FW_190A8, - FW_190D9, - Bf_109K_4, - - Armor.MT_Pz_Kpfw_V_Panther_Ausf_G, - Armor.MT_Pz_Kpfw_IV_Ausf_H, - Armor.HT_Pz_Kpfw_VI_Tiger_I, - Armor.HT_Pz_Kpfw_VI_Ausf__B__Tiger_II, - Armor.APC_Sd_Kfz_251, - Armor.IFV_Sd_Kfz_234_2_Puma, - - Unarmed.Sd_Kfz_2, - Unarmed.Sd_Kfz_7, - Unarmed.Kübelwagen_82, - - Infantry.Infantry_Mauser_98, - - AirDefence.AAA_Flak_36, - ] - }, + "Russia 1955": Russia_1955, + "Russia 1965": Russia_1965, + "Russia 1975": Russia_1975, + "Russia 1990": Russia_1990, + "Russia 2010": Russia_2010, + "Iran 2015": Iran_2015, + "China 2000": China_2000, + + "USA 2005": USA_2005, + "USA 1990": USA_1990, + "USA 1965": USA_1965, + "USA 1960": USA_1960, + "USA 1955 (Require WW2 Pack)": USA_1955, + "USA 1944 (Require WW2 Pack)": USA_1944, + "France 1995": France_1995, + "Germany 1990": Germany_1990, + "Netherlands 1990": Netherlands_1990, + "United Kingdown 1990": UnitedKingdom_1990, + "Spain 1990": Spain_1990, + "Italy 1990": Italy_1990, + "India 2010": India_2010, + "Germany 1944 (Require WW2 Pack)": Germany_1944 } CARRIER_TYPE_BY_PLANE = { @@ -1533,6 +840,7 @@ def _validate_db(): for unit_type in total_set: did_find = False for country_units_list in FACTIONS.values(): + print(country_units_list) if unit_type in country_units_list["units"]: did_find = True print("WARN : {} not in country list".format(unit_type)) diff --git a/game/factions/china_2000.py b/game/factions/china_2000.py new file mode 100644 index 00000000..b20978c7 --- /dev/null +++ b/game/factions/china_2000.py @@ -0,0 +1,45 @@ +from dcs.vehicles import * +from dcs.ships import * +from dcs.planes import * +from dcs.helicopters import * + +China_2000 = { + "country": "China", + "side": "red", + "units": [ + + MiG_21Bis, # Standing as J-7 + Su_30, + J_11A, + + IL_76MD, + IL_78M, + An_26B, + An_30M, + Yak_40, + + A_50, + + Mi_8MT, + + AirDefence.AAA_ZU_23_Closed, + AirDefence.Rapier_FSA_Launcher, # Standing as PL-9C Shorad + AirDefence.SAM_SA_10_S_300PS_LN_5P85C, # Standing as HQ-9+ + AirDefence.SAM_SA_6_Kub_LN_2P25, + AirDefence.HQ_7_Self_Propelled_LN, + + Armor.MBT_T_72B, # Type 99 + Armor.MBT_T_55, + Armor.ZBD_04A, + Armor.IFV_BMP_1, + + Unarmed.Transport_Ural_375, + Unarmed.Transport_UAZ_469, + Infantry.Soldier_AK, + + CV_1143_5_Admiral_Kuznetsov, + Bulk_cargo_ship_Yakushev, + Dry_cargo_ship_Ivanov, + Tanker_Elnya_160 + ] +} \ No newline at end of file diff --git a/game/factions/france_1995.py b/game/factions/france_1995.py new file mode 100644 index 00000000..b5916513 --- /dev/null +++ b/game/factions/france_1995.py @@ -0,0 +1,35 @@ +from dcs.vehicles import * +from dcs.ships import * +from dcs.planes import * +from dcs.helicopters import * + +France_1995 = { + "country": "France", + "side": "blue", + "units":[ + M_2000C, + Mirage_2000_5, + + KC_135, + S_3B_Tanker, + C_130, + E_3A, + + SA342M, + SA342L, + + Armor.MBT_Leclerc, + Armor.TPz_Fuchs, # Standing as VAB + + Unarmed.Transport_M818, + Infantry.Infantry_M4, + + 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, + ] +} \ No newline at end of file diff --git a/game/factions/germany_1944.py b/game/factions/germany_1944.py new file mode 100644 index 00000000..e41a03c6 --- /dev/null +++ b/game/factions/germany_1944.py @@ -0,0 +1,28 @@ +from dcs.planes import * +from dcs.vehicles import * + +Germany_1944 = { + "country": "Russia", # WIP + "side": "red", + "units": [ + + FW_190A8, + FW_190D9, + Bf_109K_4, + + Armor.MT_Pz_Kpfw_V_Panther_Ausf_G, + Armor.MT_Pz_Kpfw_IV_Ausf_H, + Armor.HT_Pz_Kpfw_VI_Tiger_I, + Armor.HT_Pz_Kpfw_VI_Ausf__B__Tiger_II, + Armor.APC_Sd_Kfz_251, + Armor.IFV_Sd_Kfz_234_2_Puma, + + Unarmed.Sd_Kfz_2, + Unarmed.Sd_Kfz_7, + Unarmed.Kübelwagen_82, + + Infantry.Infantry_Mauser_98, + + AirDefence.AAA_Flak_36, + ] +} \ No newline at end of file diff --git a/game/factions/germany_1990.py b/game/factions/germany_1990.py new file mode 100644 index 00000000..23e3eeab --- /dev/null +++ b/game/factions/germany_1990.py @@ -0,0 +1,38 @@ +from dcs.vehicles import * +from dcs.ships import * +from dcs.planes import * +from dcs.helicopters import * + +Germany_1990 = { + "country": "Germany", + "side": "blue", + "units":[ + MiG_29G, + Tornado_IDS, + F_4E, + + KC_135, + S_3B_Tanker, + C_130, + E_3A, + + UH_1H, + SA342M, + SA342L, + + Armor.TPz_Fuchs, + Armor.MBT_Leopard_1A3, + Armor.MBT_Leopard_2, + + Unarmed.Transport_M818, + Infantry.Infantry_M4, + + AirDefence.SPAAA_Gepard, + AirDefence.SAM_Roland_ADS, + AirDefence.SAM_Hawk_PCP, + + CVN_74_John_C__Stennis, + LHA_1_Tarawa, + Armed_speedboat, + ] +} \ No newline at end of file diff --git a/game/factions/india_2010.py b/game/factions/india_2010.py new file mode 100644 index 00000000..3434c0f9 --- /dev/null +++ b/game/factions/india_2010.py @@ -0,0 +1,42 @@ +from dcs.vehicles import * +from dcs.ships import * +from dcs.planes import * +from dcs.helicopters import * + +India_2010 = { + "country": "India", + "side": "blue", + "units": [ + Mirage_2000_5, + M_2000C, + MiG_27K, + MiG_21Bis, + MiG_29S, + Su_30, + + KC_135, + S_3B_Tanker, + C_130, + E_3A, + + AH_64A, + Mi_8MT, + + Armor.MBT_T_90, + Armor.MBT_T_72B, + Armor.IFV_BMP_2, + + Unarmed.Transport_M818, + Infantry.Infantry_M4, + + AirDefence.SAM_SA_6_Kub_LN_2P25, + AirDefence.SAM_SA_3_S_125_LN_5P73, + AirDefence.SAM_SA_8_Osa_9A33, + AirDefence.SAM_SA_13_Strela_10M3_9A35M3, + AirDefence.SAM_SA_19_Tunguska_2S6, + + CVN_74_John_C__Stennis, + LHA_1_Tarawa, + Armed_speedboat, + ] +} \ No newline at end of file diff --git a/game/factions/iran_2015.py b/game/factions/iran_2015.py new file mode 100644 index 00000000..84397399 --- /dev/null +++ b/game/factions/iran_2015.py @@ -0,0 +1,52 @@ +from dcs.vehicles import * +from dcs.ships import * +from dcs.planes import * +from dcs.helicopters import * + +Iran_2015 = { + "country": "Iran", + "side": "red", + "units": [ + + MiG_29A, + F_4E, + F_14B, + F_5E_3, + + MiG_21Bis, + Su_24M, + Su_25, + Su_17M4, + + IL_76MD, + IL_78M, + An_26B, + An_30M, + Yak_40, + + A_50, + + Mi_28N, + Mi_24V, + + AirDefence.AAA_ZU_23_Closed, + AirDefence.AAA_ZU_23_Insurgent_on_Ural_375, + AirDefence.SPAAA_ZSU_23_4_Shilka, + AirDefence.SAM_Hawk_PCP, + AirDefence.SAM_SA_2_LN_SM_90, + + Armor.APC_M113, + Armor.APC_BTR_80, + Armor.MBT_M60A3_Patton, + Armor.MBT_T_72B, + + Unarmed.Transport_Ural_375, + Unarmed.Transport_UAZ_469, + Infantry.Soldier_AK, + + CV_1143_5_Admiral_Kuznetsov, + Bulk_cargo_ship_Yakushev, + Dry_cargo_ship_Ivanov, + Tanker_Elnya_160 + ] +} \ No newline at end of file diff --git a/game/factions/italy_1990.py b/game/factions/italy_1990.py new file mode 100644 index 00000000..474a0a29 --- /dev/null +++ b/game/factions/italy_1990.py @@ -0,0 +1,35 @@ +from dcs.vehicles import * +from dcs.ships import * +from dcs.planes import * +from dcs.helicopters import * + +Italy_1990 = { + "country": "Italy", + "side": "blue", + "units": [ + Tornado_IDS, + AV8BNA, + # MB339, + + KC_135, + S_3B_Tanker, + C_130, + E_3A, + + AH_1W, + UH_1H, + + Armor.MBT_Leopard_1A3, # OF-40 MBT + Armor.APC_M113, + + Unarmed.Transport_M818, + Infantry.Infantry_M4, + + AirDefence.SAM_Hawk_PCP, + AirDefence.SAM_Avenger_M1097, + + CVN_74_John_C__Stennis, + LHA_1_Tarawa, + Armed_speedboat, + ] +} diff --git a/game/factions/netherlands_1990.py b/game/factions/netherlands_1990.py new file mode 100644 index 00000000..72049ee7 --- /dev/null +++ b/game/factions/netherlands_1990.py @@ -0,0 +1,33 @@ +from dcs.vehicles import * +from dcs.ships import * +from dcs.planes import * +from dcs.helicopters import * + +Netherlands_1990 = { + "country": "The Netherlands", + "side": "blue", + "units": [ + F_16C_bl_50, + F_5E_3, + + KC_135, + S_3B_Tanker, + C_130, + E_3A, + + AH_64A, + + Armor.APC_M113, + Armor.MBT_Leopard_1A3, + + Unarmed.Transport_M818, + Infantry.Infantry_M4, + + AirDefence.SAM_Hawk_PCP, + AirDefence.SAM_Avenger_M1097, + + CVN_74_John_C__Stennis, + LHA_1_Tarawa, + Armed_speedboat, + ] +} \ No newline at end of file diff --git a/game/factions/russia_1955.py b/game/factions/russia_1955.py new file mode 100644 index 00000000..73fde5e7 --- /dev/null +++ b/game/factions/russia_1955.py @@ -0,0 +1,34 @@ +from dcs.planes import MiG_15bis, IL_76MD, IL_78M, An_26B, An_30M, Yak_40 +from dcs.ships import CV_1143_5_Admiral_Kuznetsov, Bulk_cargo_ship_Yakushev, Dry_cargo_ship_Ivanov, Tanker_Elnya_160 +from dcs.vehicles import AirDefence, Armor, Unarmed, Infantry + +Russia_1955 = { + "country": "Russia", + "side": "red", + "units": [ + MiG_15bis, + + IL_76MD, + IL_78M, + An_26B, + An_30M, + Yak_40, + + AirDefence.AAA_ZU_23_Closed, + AirDefence.AAA_ZU_23_on_Ural_375, + + Armor.ARV_BRDM_2, + Armor.ARV_MTLB_U_BOMAN, + Armor.APC_MTLB, + Armor.MBT_T_55, + + Unarmed.Transport_Ural_375, + Unarmed.Transport_UAZ_469, + Infantry.Soldier_AK, + + CV_1143_5_Admiral_Kuznetsov, + Bulk_cargo_ship_Yakushev, + Dry_cargo_ship_Ivanov, + Tanker_Elnya_160 + ] +} \ No newline at end of file diff --git a/game/factions/russia_1965.py b/game/factions/russia_1965.py new file mode 100644 index 00000000..c5febcaa --- /dev/null +++ b/game/factions/russia_1965.py @@ -0,0 +1,45 @@ +from dcs.helicopters import Mi_8MT +from dcs.planes import MiG_15bis, MiG_19P, MiG_21Bis, IL_76MD, IL_78M, An_26B, An_30M, Yak_40, A_50 +from dcs.ships import CV_1143_5_Admiral_Kuznetsov, Bulk_cargo_ship_Yakushev, Dry_cargo_ship_Ivanov, Tanker_Elnya_160 +from dcs.vehicles import AirDefence, Armor, Unarmed, Infantry + +Russia_1965 = { + "country": "Russia", + "side": "red", + "units": [ + MiG_15bis, + MiG_19P, + MiG_21Bis, + + IL_76MD, + IL_78M, + An_26B, + An_30M, + Yak_40, + + A_50, + + Mi_8MT, + + AirDefence.AAA_ZU_23_Closed, + AirDefence.SAM_SA_6_Kub_LN_2P25, + AirDefence.SAM_SA_2_LN_SM_90, + AirDefence.SAM_SA_3_S_125_LN_5P73, + + Armor.ARV_BRDM_2, + Armor.APC_BTR_80, + Armor.ARV_BTR_RD, + Armor.IFV_BMD_1, + Armor.IFV_BMP_1, + Armor.MBT_T_55, + + Unarmed.Transport_Ural_375, + Unarmed.Transport_UAZ_469, + Infantry.Soldier_AK, + + CV_1143_5_Admiral_Kuznetsov, + Bulk_cargo_ship_Yakushev, + Dry_cargo_ship_Ivanov, + Tanker_Elnya_160 + ] +} \ No newline at end of file diff --git a/game/factions/russia_1975.py b/game/factions/russia_1975.py new file mode 100644 index 00000000..f3e4cfb4 --- /dev/null +++ b/game/factions/russia_1975.py @@ -0,0 +1,51 @@ +from dcs.helicopters import Mi_8MT, Mi_24V +from dcs.planes import MiG_21Bis, MiG_23MLD, MiG_25PD, MiG_29A, Su_17M4, Su_24M, Su_25, IL_76MD, IL_78M, An_26B, An_30M, \ + Yak_40, A_50 +from dcs.ships import CV_1143_5_Admiral_Kuznetsov, Dry_cargo_ship_Ivanov, Bulk_cargo_ship_Yakushev, Tanker_Elnya_160 +from dcs.vehicles import AirDefence, Armor, Unarmed, Infantry + +Russia_1975 = { + "country": "Russia", + "side": "red", + "units": [ + + MiG_21Bis, + MiG_23MLD, + MiG_25PD, + MiG_29A, + + Su_17M4, + Su_24M, + Su_25, + + IL_76MD, + IL_78M, + An_26B, + An_30M, + Yak_40, + + A_50, + + Mi_8MT, + Mi_24V, + + AirDefence.AAA_ZU_23_Closed, + AirDefence.SAM_SA_6_Kub_LN_2P25, + AirDefence.SAM_SA_3_S_125_LN_5P73, + + Armor.ARV_BRDM_2, + Armor.APC_BTR_80, + Armor.IFV_BMD_1, + Armor.IFV_BMP_1, + Armor.MBT_T_55, + + Unarmed.Transport_Ural_375, + Unarmed.Transport_UAZ_469, + Infantry.Soldier_AK, + + CV_1143_5_Admiral_Kuznetsov, + Bulk_cargo_ship_Yakushev, + Dry_cargo_ship_Ivanov, + Tanker_Elnya_160 + ] +} \ No newline at end of file diff --git a/game/factions/russia_1990.py b/game/factions/russia_1990.py new file mode 100644 index 00000000..f18f7c69 --- /dev/null +++ b/game/factions/russia_1990.py @@ -0,0 +1,52 @@ +from dcs.vehicles import * +from dcs.ships import * +from dcs.planes import * +from dcs.helicopters import * + +Russia_1990 = { + "country": "Russia", + "side": "red", + "units": [ + + MiG_23MLD, + MiG_25PD, + MiG_29A, + MiG_29S, + MiG_31, + Su_27, + + Su_24M, + Su_24MR, + Su_25, + + IL_76MD, + IL_78M, + An_26B, + An_30M, + Yak_40, + + A_50, + + Mi_8MT, + Mi_24V, + + AirDefence.AAA_ZU_23_Closed, + AirDefence.SAM_SA_6_Kub_LN_2P25, + AirDefence.SAM_SA_3_S_125_LN_5P73, + + Armor.ARV_BRDM_2, + Armor.APC_BTR_80, + Armor.IFV_BMD_1, + Armor.IFV_BMP_1, + Armor.MBT_T_55, + + Unarmed.Transport_Ural_375, + Unarmed.Transport_UAZ_469, + Infantry.Soldier_AK, + + CV_1143_5_Admiral_Kuznetsov, + Bulk_cargo_ship_Yakushev, + Dry_cargo_ship_Ivanov, + Tanker_Elnya_160 + ] +} \ No newline at end of file diff --git a/game/factions/russia_2010.py b/game/factions/russia_2010.py new file mode 100644 index 00000000..cbc3e62e --- /dev/null +++ b/game/factions/russia_2010.py @@ -0,0 +1,50 @@ +from dcs.vehicles import * +from dcs.ships import * +from dcs.planes import * +from dcs.helicopters import * + +Russia_2010 = { + "country": "Russia", + "side": "red", + "units": [ + AJS37, + MiG_23MLD, + Su_25, + Su_27, + Su_33, + MiG_29S, + + Su_25T, + Su_34, + Su_24MR, + L_39ZA, + + IL_76MD, + IL_78M, + An_26B, + An_30M, + Yak_40, + A_50, + + Ka_50, + Mi_8MT, + + AirDefence.SPAAA_ZSU_23_4_Shilka, + AirDefence.SAM_SA_19_Tunguska_2S6, + AirDefence.SAM_SA_11_Buk_LN_9A310M1, + AirDefence.SAM_SA_10_S_300PS_LN_5P85C, + + Armor.APC_BTR_80, + Armor.MBT_T_90, + Armor.MBT_T_80U, + Armor.MBT_T_72B, + + Unarmed.Transport_Ural_375, + Unarmed.Transport_UAZ_469, + Infantry.Soldier_AK, + CV_1143_5_Admiral_Kuznetsov, + Bulk_cargo_ship_Yakushev, + Dry_cargo_ship_Ivanov, + Tanker_Elnya_160, + ] +} diff --git a/game/factions/spain_1990.py b/game/factions/spain_1990.py new file mode 100644 index 00000000..8a37ad61 --- /dev/null +++ b/game/factions/spain_1990.py @@ -0,0 +1,32 @@ +from dcs.vehicles import * +from dcs.ships import * +from dcs.planes import * + +Spain_1990 = { + "country": "Spain", + "side": "blue", + "units": [ + FA_18C_hornet, + AV8BNA, + F_5E_3, + C_101CC, + + KC_135, + S_3B_Tanker, + C_130, + E_3A, + + Armor.MBT_M60A3_Patton, + Armor.APC_M113, + + Unarmed.Transport_M818, + Infantry.Infantry_M4, + + AirDefence.SAM_Hawk_PCP, + AirDefence.SAM_Avenger_M1097, + + CVN_74_John_C__Stennis, + LHA_1_Tarawa, + Armed_speedboat, + ] +} \ No newline at end of file diff --git a/game/factions/uk_1990.py b/game/factions/uk_1990.py new file mode 100644 index 00000000..5febf4dd --- /dev/null +++ b/game/factions/uk_1990.py @@ -0,0 +1,35 @@ +from dcs.vehicles import * +from dcs.ships import * +from dcs.planes import * +from dcs.helicopters import * + +UnitedKingdom_1990 = { + "country": "UK", + "side": "blue", + "units":[ + AV8BNA, # Standing as BAE Harrier 2 + Tornado_GR4, + F_4E, + + KC_135, + S_3B_Tanker, + C_130, + E_3A, + + SA342L, + AH_64A, + + Armor.MBT_Challenger_II, + Armor.IFV_M2A2_Bradley, # Standing as Warrior IFV + + Unarmed.Transport_M818, + Infantry.Infantry_M4, + + AirDefence.Rapier_FSA_Launcher, + AirDefence.SAM_Avenger_M1097, # Standing as Starstreak + + CVN_74_John_C__Stennis, + LHA_1_Tarawa, + Armed_speedboat, + ] +} \ No newline at end of file diff --git a/game/factions/usa_1944.py b/game/factions/usa_1944.py new file mode 100644 index 00000000..be2da97a --- /dev/null +++ b/game/factions/usa_1944.py @@ -0,0 +1,27 @@ +from dcs.planes import * +from dcs.ships import * +from dcs.vehicles import * + +USA_1944 = { + "country": "USA", + "side": "blue", + "units": [ + P_51D, + P_51D_30_NA, + SpitfireLFMkIX, + SpitfireLFMkIXCW, + + Armor.MT_M4_Sherman, + Armor.MT_M4A4_Sherman_Firefly, + Armor.M30_Cargo_Carrier, + + Infantry.Infantry_M1_Garand, + + LS_Samuel_Chase, + LST_Mk_II, + LCVP__Higgins_boat, + + Unarmed.CCKW_353, + AirDefence.AAA_Bofors_40mm, + ] +} \ No newline at end of file diff --git a/game/factions/usa_1955.py b/game/factions/usa_1955.py new file mode 100644 index 00000000..81b74c60 --- /dev/null +++ b/game/factions/usa_1955.py @@ -0,0 +1,31 @@ +from dcs.vehicles import * +from dcs.ships import * +from dcs.planes import * +from dcs.helicopters import * + +USA_1955 = { + "country": "USA", + "side": "blue", + "units": [ + F_86F_Sabre, + P_51D, + + KC_135, + S_3B_Tanker, + C_130, + E_3A, + + Armor.MT_M4A4_Sherman_Firefly, + Armor.MT_M4_Sherman, + Armor.M30_Cargo_Carrier, + + Unarmed.Transport_M818, + Infantry.Infantry_M4, + + AirDefence.AAA_Bofors_40mm, + + CVN_74_John_C__Stennis, + LHA_1_Tarawa, + Armed_speedboat, + ] +} \ No newline at end of file diff --git a/game/factions/usa_1960.py b/game/factions/usa_1960.py new file mode 100644 index 00000000..d528762d --- /dev/null +++ b/game/factions/usa_1960.py @@ -0,0 +1,32 @@ +from dcs.vehicles import * +from dcs.ships import * +from dcs.planes import * +from dcs.helicopters import * + +USA_1960 = { + "country": "USA", + "side": "blue", + "units": [ + F_86F_Sabre, + P_51D, + + KC_135, + S_3B_Tanker, + C_130, + E_3A, + + UH_1H, + + Armor.MBT_M60A3_Patton, + Armor.APC_M113, + + Unarmed.Transport_M818, + Infantry.Infantry_M4, + + AirDefence.AAA_Vulcan_M163, + + CVN_74_John_C__Stennis, + LHA_1_Tarawa, + Armed_speedboat, + ] +} \ No newline at end of file diff --git a/game/factions/usa_1965.py b/game/factions/usa_1965.py new file mode 100644 index 00000000..b3d66d26 --- /dev/null +++ b/game/factions/usa_1965.py @@ -0,0 +1,36 @@ +from dcs.vehicles import * +from dcs.ships import * +from dcs.planes import * +from dcs.helicopters import * + +USA_1965 = { + "country": "USA", + "side": "blue", + "units": [ + + F_5E_3, + F_4E, + + KC_135, + S_3B_Tanker, + C_130, + E_3A, + + B_52H, + + UH_1H, + + Armor.MBT_M60A3_Patton, + Armor.APC_M113, + Unarmed.Transport_M818, + Infantry.Infantry_M4, + + AirDefence.AAA_Vulcan_M163, + AirDefence.SAM_Chaparral_M48, + AirDefence.SAM_Hawk_PCP, + + CVN_74_John_C__Stennis, + LHA_1_Tarawa, + Armed_speedboat, + ] +} \ No newline at end of file diff --git a/game/factions/usa_1990.py b/game/factions/usa_1990.py new file mode 100644 index 00000000..0a330a6d --- /dev/null +++ b/game/factions/usa_1990.py @@ -0,0 +1,42 @@ +from dcs.vehicles import * +from dcs.ships import * +from dcs.planes import * +from dcs.helicopters import * + +USA_1990 = { + "country": "USA", + "side": "blue", + "units": [ + F_15C, + F_14B, + FA_18C_hornet, + + A_10A, + AV8BNA, + + B_1B, + + KC_135, + S_3B_Tanker, + C_130, + E_3A, + + UH_1H, + AH_64A, + + Armor.MBT_M1A2_Abrams, + Armor.IFV_LAV_25, + Armor.APC_M1043_HMMWV_Armament, + Armor.ATGM_M1045_HMMWV_TOW, + Armor.ATGM_M1134_Stryker, + Unarmed.Transport_M818, + Infantry.Infantry_M4, + + AirDefence.SAM_Hawk_PCP, + AirDefence.SAM_Avenger_M1097, + + CVN_74_John_C__Stennis, + LHA_1_Tarawa, + Armed_speedboat, + ] +} \ No newline at end of file diff --git a/game/factions/usa_2005.py b/game/factions/usa_2005.py new file mode 100644 index 00000000..9bdbdb9e --- /dev/null +++ b/game/factions/usa_2005.py @@ -0,0 +1,42 @@ +from dcs.vehicles import * +from dcs.ships import * +from dcs.planes import * +from dcs.helicopters import * + +USA_2005 = { + "country": "USA", + "side": "blue", + "units": [ + F_15C, + F_14B, + FA_18C_hornet, + F_16C_50, + + A_10C, + AV8BNA, + + B_1B, + + KC_135, + S_3B_Tanker, + C_130, + E_3A, + + UH_1H, + AH_64D, + + Armor.MBT_M1A2_Abrams, + Armor.ATGM_M1134_Stryker, + Armor.IFV_M2A2_Bradley, + + Unarmed.Transport_M818, + Infantry.Infantry_M4, + + AirDefence.SAM_Hawk_PCP, + AirDefence.SAM_Patriot_EPP_III, + + CVN_74_John_C__Stennis, + LHA_1_Tarawa, + Armed_speedboat, + ] +} \ No newline at end of file