Merge pull request #249 from Khopa/faction_refactor

Moddable factions
This commit is contained in:
C. Perreau 2020-10-25 02:19:22 +02:00 committed by GitHub
commit acbd45341f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
143 changed files with 5669 additions and 5772 deletions

View File

@ -153,70 +153,9 @@ from dcs.vehicles import (
)
import pydcs_extensions.frenchpack.frenchpack as frenchpack
from game.factions.australia_2005 import Australia_2005
from game.factions.bluefor_coldwar import BLUEFOR_COLDWAR
from game.factions.bluefor_coldwar_a4 import BLUEFOR_COLDWAR_A4
from game.factions.bluefor_coldwar_mods import BLUEFOR_COLDWAR_MODS
from game.factions.bluefor_modern import BLUEFOR_MODERN
from game.factions.canada_2005 import Canada_2005
from game.factions.china_2010 import China_2010
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 import Germany_1944
from game.factions.germany_1944_easy import Germany_1944_Easy
from game.factions.germany_1990 import Germany_1990
from game.factions.india_2010 import India_2010
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_1948 import Israel_1948
from game.factions.israel_1973 import (
Israel_1973,
Israel_1973_NO_WW2_UNITS,
Israel_1982,
)
from game.factions.israel_2000 import Israel_2000
from game.factions.italy_1990 import Italy_1990
from game.factions.italy_1990_mb339 import Italy_1990_MB339
from game.factions.japan_2005 import Japan_2005
from game.factions.libya_2011 import Libya_2011
from game.factions.netherlands_1990 import Netherlands_1990
from game.factions.north_korea_2000 import NorthKorea_2000
from game.factions.pakistan_2015 import Pakistan_2015
from game.factions.private_miltary_companies import (
PMC_RUSSIAN,
PMC_WESTERN_A,
PMC_WESTERN_B,
)
from game.factions.russia_1955 import Russia_1955
from game.factions.russia_1965 import Russia_1965
from game.factions.russia_1975 import Russia_1975
from game.factions.russia_1990 import Russia_1990
from game.factions.russia_2010 import Russia_2010
from game.factions.russia_2020 import Russia_2020
from game.factions.spain_1990 import Spain_1990
from game.factions.sweden_1990 import Sweden_1990
from game.factions.syria import (
Arab_Armies_1948,
Syria_1967,
Syria_1967_WW2_Weapons,
Syria_1973,
Syria_1982,
Syria_2011,
)
from game.factions.turkey_2005 import Turkey_2005
from game.factions.uae_2005 import UAE_2005
from game.factions.uk_1944 import UK_1944
from game.factions.uk_1990 import UnitedKingdom_1990
from game.factions.ukraine_2010 import Ukraine_2010
from game.factions.us_aggressors import US_Aggressors
from game.factions.usa_1944 import ALLIES_1944, 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
from game.factions import faction_loader
from game.factions.faction import Faction
# PATCH pydcs data with MODS
from pydcs_extensions.a4ec.a4ec import A_4E_C
from pydcs_extensions.mb339.mb339 import MB_339PAN
@ -973,99 +912,7 @@ CARRIER_TAKEOFF_BAN: List[Type[FlyingType]] = [
Units separated by country.
country : DCS Country name
"""
FACTIONS: Dict[str, Dict[str, Any]] = {
"Bluefor Modern": BLUEFOR_MODERN,
"Bluefor Cold War 1970s": BLUEFOR_COLDWAR,
"Bluefor Cold War (with A-4)": BLUEFOR_COLDWAR_A4,
"Bluefor Cold War (with A-4 and MB339)": BLUEFOR_COLDWAR_MODS,
"USA 1955 (WW2 Pack)": USA_1955,
"USA 1960": USA_1960,
"USA 1965": USA_1965,
"USA 1990": USA_1990,
"USA 2005": USA_2005,
"USA Aggressors 2005": US_Aggressors,
"Russia 1955": Russia_1955,
"Russia 1965": Russia_1965,
"Russia 1975": Russia_1975,
"Russia 1990": Russia_1990,
"Russia 2010": Russia_2010,
"Russia 2020 (Modded)": Russia_2020,
"France 1995": France_1995,
"France 2005": France_2005,
"France 2005 (Modded)": France_2005_Modded,
"Germany 1990": Germany_1990,
"Netherlands 1990": Netherlands_1990,
"United Kingdom 1990": UnitedKingdom_1990,
"Spain 1990": Spain_1990,
"Italy 1990": Italy_1990,
"Italy 1990 (With MB339)": Italy_1990_MB339,
"Israel 2000": Israel_2000,
"Israel 1982": Israel_1982,
"Israel 1973 (WW2 Pack)": Israel_1973,
"Israel 1973": Israel_1973_NO_WW2_UNITS,
"Israel 1948": Israel_1948,
"Arab Armies 1982": Syria_1982,
"Arab Armies 1973": Syria_1973,
"Arab Armies 1967 (WW2 Pack)": Syria_1967_WW2_Weapons,
"Arab Armies 1967": Syria_1967,
"Arab League 1948": Arab_Armies_1948,
"China 2010": China_2010,
"Sweden 1990": Sweden_1990,
"Australia 2005": Australia_2005,
"Canada 2005": Canada_2005,
"Japan 2005": Japan_2005,
"Turkey 2005": Turkey_2005,
"United Arab Emirates 2005": UAE_2005,
"Ukraine 2010": Ukraine_2010,
"India 2010": India_2010,
"Libya 2011": Libya_2011,
"Syria 2011": Syria_2011,
"Pakistan 2015": Pakistan_2015,
"Iran 2015": Iran_2015,
"North Korea 2000": NorthKorea_2000,
"Insurgent": Insurgent,
"Insurgent (Modded)": Insurgent_modded,
"PMC (American)": PMC_WESTERN_A,
"PMC (American) - MB339": PMC_WESTERN_B,
"PMC (Russian)": PMC_RUSSIAN,
"Allies 1944 (WW2 Pack)": USA_1944,
"USA 1944 (WW2 Pack)": ALLIES_1944,
"UK 1944 (WW2 Pack)": UK_1944,
"Germany 1944 (WW2 Pack)": Germany_1944,
"Germany 1944 Easy (WW2 Pack)": Germany_1944_Easy,
}
FACTIONS: [Faction] = faction_loader.load_factions()
CARRIER_TYPE_BY_PLANE = {
FA_18C_hornet: CVN_74_John_C__Stennis,
@ -1295,6 +1142,7 @@ CARRIER_CAPABLE = [
AV8BNA,
Su_33,
A_4E_C,
Rafale_M,
UH_1H,
Mi_8MT,
@ -1358,6 +1206,7 @@ def upgrade_to_supercarrier(unit, name: str):
else:
return unit
def unit_task(unit: UnitType) -> Optional[Task]:
for task, units in UNIT_BY_TASK.items():
if unit in units:
@ -1369,8 +1218,10 @@ def unit_task(unit: UnitType) -> Optional[Task]:
print(unit.name + " cause issue")
return None
def find_unittype(for_task: Task, country_name: str) -> List[UnitType]:
return [x for x in UNIT_BY_TASK[for_task] if x in FACTIONS[country_name]["units"]]
return [x for x in UNIT_BY_TASK[for_task] if x in FACTIONS[country_name].units]
def find_infantry(country_name: str) -> List[UnitType]:
inf = [
@ -1387,14 +1238,17 @@ def find_infantry(country_name: str) -> List[UnitType]:
Infantry.Infantry_M1_Garand, Infantry.Infantry_M1_Garand, Infantry.Infantry_M1_Garand,
Infantry.Infantry_Soldier_Insurgents, Infantry.Infantry_Soldier_Insurgents, Infantry.Infantry_Soldier_Insurgents
]
return [x for x in inf if x in FACTIONS[country_name]["units"]]
return [x for x in inf if x in FACTIONS[country_name].infantry_units]
def unit_type_name(unit_type) -> str:
return unit_type.id and unit_type.id or unit_type.name
def unit_type_name_2(unit_type) -> str:
return unit_type.name and unit_type.name or unit_type.id
def unit_type_from_name(name: str) -> Optional[UnitType]:
if name in vehicle_map:
return vehicle_map[name]

View File

@ -1,70 +0,0 @@
from dcs.helicopters import (
AH_1W,
UH_1H,
)
from dcs.planes import (
C_130,
E_3A,
FA_18C_hornet,
KC130,
KC_135,
)
from dcs.ships import (
Armed_speedboat,
CVN_74_John_C__Stennis,
LHA_1_Tarawa,
Ticonderoga_class,
USS_Arleigh_Burke_IIa,
)
from dcs.vehicles import (
AirDefence,
Armor,
Infantry,
Unarmed,
)
Australia_2005 = {
"country": "Australia",
"side": "blue",
"units": [
FA_18C_hornet,
KC_135,
KC130,
C_130,
E_3A,
Armor.MBT_M1A2_Abrams,
Armor.MBT_Leopard_1A3,
Armor.APC_M113,
Armor.IFV_LAV_25,
Armor.IFV_MCV_80,
UH_1H,
AH_1W, # Standing as EC Tiger
Unarmed.Transport_M818,
Infantry.Infantry_M4,
Infantry.Soldier_M249,
AirDefence.SAM_Hawk_PCP,
AirDefence.Rapier_FSA_Launcher,
CVN_74_John_C__Stennis,
LHA_1_Tarawa,
Armed_speedboat,
], "shorad": [
AirDefence.Rapier_FSA_Launcher,
], "helicopter_carrier": [
LHA_1_Tarawa,
], "destroyer": [
USS_Arleigh_Burke_IIa,
], "cruiser": [
Ticonderoga_class,
], "lhanames": [
"HMAS Canberra",
"HMAS Adelaide"
], "boat":[
"ArleighBurkeGroupGenerator"
], "has_jtac": True
}

View File

@ -1,84 +0,0 @@
from dcs.helicopters import (
SA342L,
SA342M,
UH_1H,
)
from dcs.planes import (
AJS37,
A_10A,
B_52H,
C_130,
E_3A,
F_14B,
F_4E,
F_5E_3,
KC130,
KC_135,
)
from dcs.ships import (
Armed_speedboat,
CVN_74_John_C__Stennis,
LHA_1_Tarawa,
)
from dcs.vehicles import (
AirDefence,
Armor,
Infantry,
Unarmed,
)
BLUEFOR_COLDWAR = {
"country": "Combined Joint Task Forces Blue",
"side": "blue",
"units": [
F_14B,
F_4E,
F_5E_3,
A_10A,
AJS37,
B_52H,
KC_135,
KC130,
C_130,
E_3A,
UH_1H,
SA342M,
SA342L,
Armor.MBT_M60A3_Patton,
Armor.APC_M113,
Unarmed.Transport_M818,
Infantry.Infantry_M4,
Infantry.Soldier_M249,
AirDefence.SAM_Hawk_PCP,
AirDefence.SAM_Chaparral_M48,
CVN_74_John_C__Stennis,
LHA_1_Tarawa,
Armed_speedboat,
], "shorad": [
AirDefence.AAA_Vulcan_M163,
], "aircraft_carrier": [
CVN_74_John_C__Stennis,
], "helicopter_carrier": [
LHA_1_Tarawa,
], "carrier_names": [
"CVN-71 Theodore Roosevelt",
"CVN-72 Abraham Lincoln",
"CVN-73 George Washington",
"CVN-74 John C. Stennis",
], "lhanames": [
"LHA-1 Tarawa",
"LHA-2 Saipan",
"LHA-3 Belleau Wood",
"LHA-4 Nassau",
"LHA-5 Peleliu"
], "boat": [
], "has_jtac": True
}

View File

@ -1,92 +0,0 @@
from dcs.helicopters import (
SA342L,
SA342M,
UH_1H,
)
from dcs.planes import (
AJS37,
A_10A,
B_52H,
C_130,
E_3A,
F_14B,
F_4E,
F_5E_3,
KC130,
KC_135,
)
from dcs.ships import (
Armed_speedboat,
CVN_74_John_C__Stennis,
LHA_1_Tarawa,
Ticonderoga_class,
)
from dcs.vehicles import (
AirDefence,
Armor,
Infantry,
Unarmed,
)
from pydcs_extensions.a4ec.a4ec import A_4E_C
BLUEFOR_COLDWAR_A4 = {
"country": "Combined Joint Task Forces Blue",
"side": "blue",
"units": [
F_14B,
F_4E,
F_5E_3,
A_10A,
AJS37,
A_4E_C,
B_52H,
KC_135,
KC130,
C_130,
E_3A,
UH_1H,
SA342M,
SA342L,
Armor.MBT_M60A3_Patton,
Armor.APC_M113,
Unarmed.Transport_M818,
Infantry.Infantry_M4,
Infantry.Soldier_M249,
AirDefence.SAM_Hawk_PCP,
AirDefence.SAM_Chaparral_M48,
CVN_74_John_C__Stennis,
LHA_1_Tarawa,
Armed_speedboat,
], "shorad": [
AirDefence.AAA_Vulcan_M163,
], "aircraft_carrier": [
CVN_74_John_C__Stennis,
], "helicopter_carrier": [
LHA_1_Tarawa,
], "cruiser": [
Ticonderoga_class,
], "carrier_names": [
"CVN-71 Theodore Roosevelt",
"CVN-72 Abraham Lincoln",
"CVN-73 George Washington",
"CVN-74 John C. Stennis",
], "lhanames": [
"LHA-1 Tarawa",
"LHA-2 Saipan",
"LHA-3 Belleau Wood",
"LHA-4 Nassau",
"LHA-5 Peleliu"
], "boat": [
], "requirements": {
"Community A-4E": "https://heclak.github.io/community-a4e-c/",
}, "has_jtac": True
}

View File

@ -1,95 +0,0 @@
from dcs.helicopters import (
SA342L,
SA342M,
UH_1H,
)
from dcs.planes import (
AJS37,
A_10A,
B_52H,
C_130,
E_3A,
F_14B,
F_4E,
F_5E_3,
KC130,
KC_135,
)
from dcs.ships import (
Armed_speedboat,
CVN_74_John_C__Stennis,
LHA_1_Tarawa,
Ticonderoga_class,
)
from dcs.vehicles import (
AirDefence,
Armor,
Infantry,
Unarmed,
)
from pydcs_extensions.a4ec.a4ec import A_4E_C
from pydcs_extensions.mb339.mb339 import MB_339PAN
BLUEFOR_COLDWAR_MODS = {
"country": "USA",
"side": "blue",
"units": [
F_14B,
F_4E,
F_5E_3,
A_10A,
AJS37,
A_4E_C,
MB_339PAN,
B_52H,
KC_135,
KC130,
C_130,
E_3A,
UH_1H,
SA342M,
SA342L,
Armor.MBT_M60A3_Patton,
Armor.APC_M113,
Unarmed.Transport_M818,
Infantry.Infantry_M4,
Infantry.Soldier_M249,
AirDefence.SAM_Hawk_PCP,
AirDefence.SAM_Chaparral_M48,
CVN_74_John_C__Stennis,
LHA_1_Tarawa,
Armed_speedboat,
], "shorad": [
AirDefence.AAA_Vulcan_M163,
], "aircraft_carrier": [
CVN_74_John_C__Stennis,
], "helicopter_carrier": [
LHA_1_Tarawa,
], "cruiser": [
Ticonderoga_class,
], "carrier_names": [
"CVN-71 Theodore Roosevelt",
"CVN-72 Abraham Lincoln",
"CVN-73 George Washington",
"CVN-74 John C. Stennis",
], "lhanames": [
"LHA-1 Tarawa",
"LHA-2 Saipan",
"LHA-3 Belleau Wood",
"LHA-4 Nassau",
"LHA-5 Peleliu"
], "boat": [
], "requirements": {
"MB-339A": "http://www.freccetricolorivirtuali.net/",
"Community A-4E": "https://heclak.github.io/community-a4e-c/",
}, "has_jtac": True
}

View File

@ -1,128 +0,0 @@
from dcs.helicopters import (
AH_64D,
Ka_50,
SA342L,
SA342M,
UH_1H,
)
from dcs.planes import (
AJS37,
AV8BNA,
A_10A,
A_10C,
A_10C_2,
B_1B,
B_52H,
C_130,
E_3A,
FA_18C_hornet,
F_14B,
F_15C,
F_15E,
F_16C_50,
F_5E_3,
JF_17,
KC130,
KC_135,
M_2000C,
Su_25T,
Su_27,
)
from dcs.ships import (
Armed_speedboat,
CVN_74_John_C__Stennis,
LHA_1_Tarawa,
Oliver_Hazzard_Perry_class,
Ticonderoga_class,
USS_Arleigh_Burke_IIa,
)
from dcs.vehicles import (
AirDefence,
Armor,
Artillery,
Infantry,
Unarmed,
)
BLUEFOR_MODERN = {
"country": "Combined Joint Task Forces Blue",
"side": "blue",
"units": [
F_15C,
F_15E,
F_14B,
FA_18C_hornet,
F_16C_50,
JF_17,
M_2000C,
F_5E_3,
Su_27,
Su_25T,
A_10A,
A_10C,
A_10C_2,
AV8BNA,
AJS37,
B_1B,
B_52H,
KC_135,
KC130,
C_130,
E_3A,
UH_1H,
AH_64D,
Ka_50,
SA342M,
SA342L,
Armor.MBT_M1A2_Abrams,
Armor.MBT_Leopard_2,
Armor.ATGM_M1134_Stryker,
Armor.IFV_M2A2_Bradley,
Armor.IFV_Marder,
Armor.APC_M1043_HMMWV_Armament,
Artillery.MLRS_M270,
Artillery.SPH_M109_Paladin,
Unarmed.Transport_M818,
Infantry.Infantry_M4,
Infantry.Soldier_M249,
AirDefence.SAM_Hawk_PCP,
AirDefence.SAM_Patriot_EPP_III,
CVN_74_John_C__Stennis,
LHA_1_Tarawa,
Armed_speedboat,
], "shorad": [
AirDefence.SAM_Avenger_M1097,
], "aircraft_carrier": [
CVN_74_John_C__Stennis,
], "helicopter_carrier": [
LHA_1_Tarawa,
], "destroyer": [
Oliver_Hazzard_Perry_class,
USS_Arleigh_Burke_IIa,
], "cruiser": [
Ticonderoga_class,
], "carrier_names": [
"CVN-71 Theodore Roosevelt",
"CVN-72 Abraham Lincoln",
"CVN-73 George Washington",
"CVN-74 John C. Stennis",
], "lhanames": [
"LHA-1 Tarawa",
"LHA-2 Saipan",
"LHA-3 Belleau Wood",
"LHA-4 Nassau",
"LHA-5 Peleliu"
], "boat":[
"ArleighBurkeGroupGenerator", "OliverHazardPerryGroupGenerator"
], "has_jtac": True
}

View File

@ -1,62 +0,0 @@
from dcs.helicopters import (
UH_1H,
)
from dcs.planes import (
C_130,
E_3A,
FA_18C_hornet,
KC130,
KC_135,
)
from dcs.ships import (
Armed_speedboat,
CVN_74_John_C__Stennis,
LHA_1_Tarawa,
Ticonderoga_class,
USS_Arleigh_Burke_IIa,
)
from dcs.vehicles import (
AirDefence,
Armor,
Infantry,
Unarmed,
)
Canada_2005 = {
"country": "Canada",
"side": "blue",
"units": [
FA_18C_hornet,
KC_135,
KC130,
C_130,
E_3A,
Armor.MBT_Leopard_1A3,
Armor.MBT_Leopard_2,
Armor.IFV_LAV_25,
Armor.APC_M113,
Armor.IFV_MCV_80,
UH_1H,
Unarmed.Transport_M818,
Infantry.Infantry_M4,
Infantry.Soldier_M249,
AirDefence.SAM_Avenger_M1097,
CVN_74_John_C__Stennis,
LHA_1_Tarawa,
Armed_speedboat,
], "shorad": [
AirDefence.SAM_Avenger_M1097,
], "destroyer": [
USS_Arleigh_Burke_IIa,
], "cruiser": [
Ticonderoga_class,
], "boat":[
"ArleighBurkeGroupGenerator"
], "has_jtac": True
}

View File

@ -1,111 +0,0 @@
from dcs.helicopters import (
Mi_28N,
Mi_8MT,
)
from dcs.planes import (
An_26B,
An_30M,
IL_76MD,
IL_78M,
JF_17,
J_11A,
KJ_2000,
MiG_21Bis,
Su_30,
Su_33,
WingLoong_I,
Yak_40,
)
from dcs.ships import (
Bulk_cargo_ship_Yakushev,
CV_1143_5_Admiral_Kuznetsov,
Dry_cargo_ship_Ivanov,
Tanker_Elnya_160,
Type_052B_Destroyer,
Type_052C_Destroyer,
Type_054A_Frigate,
Type_071_Amphibious_Transport_Dock,
)
from dcs.vehicles import (
AirDefence,
Armor,
Artillery,
Infantry,
Unarmed,
)
China_2010 = {
"country": "China",
"side": "red",
"units": [
MiG_21Bis, # Standing as J-7
Su_30,
Su_33,
J_11A,
JF_17,
IL_76MD,
IL_78M,
An_26B,
An_30M,
Yak_40,
KJ_2000,
Mi_8MT,
Mi_28N,
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.ZTZ_96B,
Armor.MBT_T_55,
Armor.ZBD_04A,
Armor.IFV_BMP_1,
Artillery.MLRS_9A52_Smerch,
Artillery.SPH_2S9_Nona,
Unarmed.Transport_Ural_375,
Unarmed.Transport_UAZ_469,
Infantry.Paratrooper_AKS,
Infantry.Infantry_Soldier_Rus,
Infantry.Paratrooper_RPG_16,
CV_1143_5_Admiral_Kuznetsov,
Bulk_cargo_ship_Yakushev,
Dry_cargo_ship_Ivanov,
Tanker_Elnya_160
],
"shorad":[
AirDefence.SPAAA_ZSU_23_4_Shilka,
AirDefence.Rapier_FSA_Launcher, # Standing as PL-9C Shorad
AirDefence.HQ_7_Self_Propelled_LN
], "aircraft_carrier": [
CV_1143_5_Admiral_Kuznetsov,
], "destroyer": [
Type_052B_Destroyer,
Type_052C_Destroyer
], "cruiser": [
Type_054A_Frigate,
], "helicopter_carrier": [
Type_071_Amphibious_Transport_Dock,
], "lhanames": [
"Kunlun Shan",
"Jinggang Shan",
"Changbai Shan",
"Yimeng Shan",
"Longhu Shan",
"Wuzhi Shan",
"Wudang Shan"
], "carrier_names": [
"001 Liaoning",
"002 Shandong",
], "boat":[
"Type54GroupGenerator"
],
"has_jtac": True,
"jtac_unit": WingLoong_I
}

216
game/factions/faction.py Normal file
View File

@ -0,0 +1,216 @@
import logging
from dataclasses import dataclass
from typing import Optional
import dcs
from dcs.planes import PlaneType, plane_map
from dcs.unittype import VehicleType, UnitType
from dcs.vehicles import vehicle_map, Armor, Unarmed, Infantry, Fortification, Artillery, AirDefence
from game.data.building_data import WW2_ALLIES_BUILDINGS, DEFAULT_AVAILABLE_BUILDINGS, WW2_GERMANY_BUILDINGS
from game.data.doctrine import Doctrine, MODERN_DOCTRINE, COLDWAR_DOCTRINE, WWII_DOCTRINE
from pydcs_extensions.mod_units import MODDED_VEHICLES, MODDED_AIRPLANES
@dataclass
class Faction:
# Country used by this faction
country: str
# Nice name of the faction
name: str
# Available aircraft
aircrafts: [UnitType]
# Available awacs aircraft
awacs: [UnitType]
# Available tanker aircraft
tankers: [UnitType]
# Available frontline units
frontline_units: [VehicleType]
# Available artillery units
artillery_units: [VehicleType]
# Infantry units used
infantry_units: [VehicleType]
# Logistics units used
logistics_units: [VehicleType]
# List of units that can be deployed as SHORAD
shorads: [str]
# Possible SAMS site generators for this faction
sams: [str]
# Possible Missile site generators for this faction
missiles: [str]
# Required mods or asset packs
requirements: {str: str}
# possible aircraft carrier units
aircraft_carrier: [UnitType]
# possible helicopter carrier units
helicopter_carrier: [UnitType]
# Possible carrier names
carrier_names: [str]
# Possible helicopter carrier names
helicopter_carrier_names: [str]
# Navy group generators
navy_generators: [str]
# Available destroyers
destroyers: [str]
# Available cruisers
cruisers: [str]
# How many navy group should we try to generate per CP on startup for this faction
navy_group_count: int
# How many missiles group should we try to generate per CP on startup for this faction
missiles_group_count: int
# Whether this faction has JTAC access
has_jtac: bool
# Unit to use as JTAC for this faction
jtac_unit: str
# doctrine
doctrine: Doctrine
# List of available buildings for this faction
building_set: [str]
def __init__(self):
self.country = ""
self.name = ""
self.aircrafts = []
self.awacs = []
self.tankers = []
self.frontline_units = []
self.artillery_units = []
self.infantry_units = []
self.logistics_units = []
self.shorads = []
self.sams = []
self.missiles = []
self.requirements = {}
self.aircraft_carrier = []
self.helicopter_carrier = []
self.carrier_names = []
self.helicopter_carrier_names = []
self.navy_generators = []
self.destroyers = []
self.cruisers = []
self.navy_group_count = 0
self.missiles_group_count = 0
self.has_jtac = False
self.jtac_unit = ""
self.doctrine = None
@classmethod
def from_json(cls, json):
faction = Faction()
faction.country = json.get("country", "USA")
faction.name = json.get("name", "???")
faction.aircrafts = [f for f in [aircraft_loader(aircraft) for aircraft in json.get("aircrafts", [])] if f is not None]
faction.awacs = [f for f in [aircraft_loader(aircraft) for aircraft in json.get("awacs", [])] if f is not None]
faction.tankers = [f for f in [aircraft_loader(aircraft) for aircraft in json.get("tankers", [])] if f is not None]
faction.frontline_units = [f for f in [vehicle_loader(vehicle) for vehicle in json.get("frontline_units", [])] if f is not None]
faction.artillery_units = [f for f in [vehicle_loader(vehicle) for vehicle in json.get("artillery_units", [])] if f is not None]
faction.infantry_units = [f for f in [vehicle_loader(vehicle) for vehicle in json.get("infantry_units", [])] if f is not None]
faction.logistics_units = [f for f in [vehicle_loader(vehicle) for vehicle in json.get("logistics_units", [])] if f is not None]
faction.sams = json.get("sams", [])
faction.shorads = json.get("shorads", [])
faction.missiles = json.get("missiles", [])
faction.name = json.get("requirements", {})
faction.carrier_names = json.get("carrier_names", [])
faction.helicopter_carrier_names = json.get("helicopter_carrier_names", [])
faction.navy_generators = json.get("navy_generators", [])
faction.aircraft_carrier = [f for f in [ship_loader(vehicle) for vehicle in json.get("aircraft_carrier", [])] if f is not None]
faction.helicopter_carrier = [f for f in [ship_loader(vehicle) for vehicle in json.get("helicopter_carrier", [])] if f is not None]
faction.destroyers = [f for f in [ship_loader(vehicle) for vehicle in json.get("destroyers", [])] if f is not None]
faction.cruisers = [f for f in [ship_loader(vehicle) for vehicle in json.get("cruisers", [])] if f is not None]
faction.has_jtac = json.get("has_jtac", False)
faction.jtac_unit = aircraft_loader(json.get("jtac_unit", None))
faction.navy_group_count = int(json.get("navy_group_count", 1))
faction.missiles_group_count = int(json.get("missiles_group_count", 0))
# Load doctrine
doctrine = json.get("doctrine", "modern")
if doctrine == "modern":
faction.doctrine = MODERN_DOCTRINE
elif doctrine == "coldwar":
faction.doctrine = COLDWAR_DOCTRINE
elif doctrine == "ww2":
faction.doctrine = WWII_DOCTRINE
else:
faction.doctrine = MODERN_DOCTRINE
# Load the building set
building_set = json.get("building_set", "default")
if building_set == "default":
faction.building_set = DEFAULT_AVAILABLE_BUILDINGS
elif building_set == "ww2ally":
faction.building_set = WW2_ALLIES_BUILDINGS
elif building_set == "ww2germany":
faction.building_set = WW2_GERMANY_BUILDINGS
else:
faction.building_set = DEFAULT_AVAILABLE_BUILDINGS
return faction
@property
def units(self):
return self.infantry_units + self.aircrafts + self.awacs + self.artillery_units + self.frontline_units + self.tankers + self.logistics_units
def unit_loader(unit: str, class_repository:[]) -> Optional[PlaneType]:
"""
Find unit by name
:param unit: Unit name as string
:return: The unit as a PyDCS type
"""
if unit is None:
return None
elif unit in plane_map.keys():
return plane_map[unit]
else:
for mother_class in class_repository:
if getattr(mother_class, unit, None) is not None:
return getattr(mother_class, unit)
if type(mother_class) is list:
for m in mother_class:
if m.__name__ == unit:
return m
logging.info("FACTION ERROR : Unable to find " + unit + " in pydcs")
print("FACTION ERROR : Unable to find " + unit + " in pydcs")
return None
aircraft_loader = lambda x: unit_loader(x, [dcs.planes, dcs.helicopters, MODDED_AIRPLANES])
vehicle_loader = lambda x: unit_loader(x, [Infantry, Unarmed, Armor, AirDefence, Artillery, MODDED_VEHICLES])
ship_loader = lambda x: unit_loader(x, [dcs.ships])

View File

@ -0,0 +1,30 @@
import json
import os
import logging
from game.factions.faction import Faction
FACTION_DIRECTORY = "./resources/factions/"
def load_factions() -> {str, Faction}:
files = os.listdir(FACTION_DIRECTORY)
files = [f for f in files if f.endswith(".json")]
factions = {}
for f in files:
print(f)
path = os.path.join(FACTION_DIRECTORY, f)
logging.info("Loading faction" + path)
#try:
with open(path, "r", encoding="utf-8") as fdata:
data = json.load(fdata, encoding="utf-8")
factions[data["name"]] = Faction.from_json(data)
logging.info("Loaded faction : " + path)
#except Exception as e:
# print(e)
# logging.error("Unable to load faction : " + path)
print(factions)
return factions

View File

@ -1,68 +0,0 @@
from dcs.helicopters import (
SA342L,
SA342M,
SA342Mistral,
)
from dcs.planes import (
C_130,
E_3A,
KC130,
KC_135,
M_2000C,
Mirage_2000_5,
)
from dcs.ships import (
Armed_speedboat,
CVN_74_John_C__Stennis,
LHA_1_Tarawa,
)
from dcs.vehicles import (
AirDefence,
Armor,
Artillery,
Infantry,
Unarmed,
)
France_1995 = {
"country": "France",
"side": "blue",
"units": [
M_2000C,
Mirage_2000_5,
KC_135,
KC130,
C_130,
E_3A,
SA342M,
SA342L,
SA342Mistral,
Armor.MBT_Leclerc,
Armor.TPz_Fuchs, # Standing as VAB
Armor.APC_Cobra, # Standing as VBL
Armor.ATGM_M1134_Stryker, # Standing as VAB Mephisto
Artillery.SPH_M109_Paladin, # Standing as AMX30 AuF1
Artillery.MLRS_M270,
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
], "boat":[
"ArleighBurkeGroupGenerator", "OliverHazardPerryGroupGenerator"
], "has_jtac": True
}

View File

@ -1,86 +0,0 @@
from dcs.helicopters import (
SA342L,
SA342M,
SA342Mistral,
)
from dcs.planes import (
C_130,
E_3A,
FA_18C_hornet,
KC130,
KC_135,
M_2000C,
Mirage_2000_5,
)
from dcs.ships import (
Armed_speedboat,
CVN_74_John_C__Stennis,
LHA_1_Tarawa,
Oliver_Hazzard_Perry_class,
Ticonderoga_class,
)
from dcs.vehicles import (
AirDefence,
Armor,
Artillery,
Infantry,
Unarmed,
)
France_2005 = {
"country": "France",
"side": "blue",
"units":[
M_2000C,
Mirage_2000_5,
FA_18C_hornet, # Standing as Rafale M
KC_135,
KC130,
C_130,
E_3A,
SA342M,
SA342L,
SA342Mistral,
Armor.MBT_Leclerc,
Armor.TPz_Fuchs, # Standing as VAB
Armor.APC_Cobra, # Standing as VBL
Armor.ATGM_M1134_Stryker, # Standing as VAB Mephisto
Artillery.SPH_M109_Paladin, # Standing as AMX30 AuF1
Artillery.MLRS_M270,
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": [
"PA Charles de Gaulle",
], "lhanames": [
"L9013 Mistral",
"L9014 Tonerre",
"L9015 Dixmude"
], "boat":[
"ArleighBurkeGroupGenerator", "OliverHazardPerryGroupGenerator"
], "has_jtac": True
}

View File

@ -1,103 +0,0 @@
from dcs.helicopters import (
SA342L,
SA342M,
SA342Mistral,
)
from dcs.planes import (
C_130,
E_3A,
KC130,
KC_135,
M_2000C,
Mirage_2000_5,
)
from dcs.ships import (
Armed_speedboat,
CVN_74_John_C__Stennis,
LHA_1_Tarawa,
Oliver_Hazzard_Perry_class,
Ticonderoga_class,
)
from dcs.vehicles import (
AirDefence,
Armor,
Artillery,
Infantry,
Unarmed,
)
import pydcs_extensions.frenchpack.frenchpack as frenchpack
from pydcs_extensions.rafale.rafale import Rafale_A_S, Rafale_M
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,
SA342Mistral,
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": [
"PA 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",
"RAFALE 2.5.5": "https://www.digitalcombatsimulator.com/fr/files/3307478/",
}, "has_jtac": True
}

View File

@ -1,58 +0,0 @@
from dcs.planes import (
Bf_109K_4,
FW_190A8,
FW_190D9,
Ju_88A4,
)
from dcs.vehicles import (
AirDefence,
Armor,
Artillery,
Infantry,
Unarmed,
)
from game.data.building_data import WW2_GERMANY_BUILDINGS
from game.data.doctrine import WWII_DOCTRINE
Germany_1944 = {
"country": "Third Reich",
"side": "red",
"units": [
FW_190A8,
FW_190D9,
Bf_109K_4,
Ju_88A4,
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,
Armor.Sd_Kfz_184_Elefant,
Armor.TD_Jagdpanther_G1,
Armor.TD_Jagdpanzer_IV,
Artillery.Sturmpanzer_IV_Brummbär,
Unarmed.Sd_Kfz_2,
Unarmed.Sd_Kfz_7,
Unarmed.Kübelwagen_82,
Infantry.Infantry_Mauser_98,
AirDefence.AAA_8_8cm_Flak_36,
],"requirements":{
"WW2 Asset Pack": "https://www.digitalcombatsimulator.com/en/products/other/wwii_assets_pack/",
},
"shorad": [
AirDefence.AAA_8_8cm_Flak_36,
],
"objects": WW2_GERMANY_BUILDINGS,
"doctrine": WWII_DOCTRINE,
"boat": ["UBoatGroupGenerator", "SchnellbootGroupGenerator"],
"boat_count": 2,
"missiles": ["V1GroupGenerator"],
"missiles_count": 1
}

View File

@ -1,51 +0,0 @@
from dcs.planes import (
Bf_109K_4,
FW_190A8,
FW_190D9,
Ju_88A4,
)
from dcs.vehicles import (
AirDefence,
Armor,
Artillery,
Infantry,
Unarmed,
)
from game.data.building_data import WW2_GERMANY_BUILDINGS
from game.data.doctrine import WWII_DOCTRINE
Germany_1944_Easy = {
"country": "Third Reich",
"side": "red",
"units": [
FW_190A8,
FW_190D9,
Bf_109K_4,
Ju_88A4,
Armor.MT_Pz_Kpfw_IV_Ausf_H,
Armor.APC_Sd_Kfz_251,
Armor.IFV_Sd_Kfz_234_2_Puma,
Artillery.Sturmpanzer_IV_Brummbär,
Unarmed.Sd_Kfz_2,
Unarmed.Sd_Kfz_7,
Unarmed.Kübelwagen_82,
Infantry.Infantry_Mauser_98,
AirDefence.AAA_8_8cm_Flak_36,
],"requirements":{
"WW2 Asset Pack": "https://www.digitalcombatsimulator.com/en/products/other/wwii_assets_pack/",
},
"shorad":[
AirDefence.AAA_8_8cm_Flak_36,
],
"objects": WW2_GERMANY_BUILDINGS,
"doctrine": WWII_DOCTRINE,
"boat": ["UBoatGroupGenerator", "SchnellbootGroupGenerator"],
"boat_count": 1,
"missiles": ["V1GroupGenerator"],
"missiles_count": 1
}

View File

@ -1,66 +0,0 @@
from dcs.helicopters import (
SA342L,
SA342M,
UH_1H,
)
from dcs.planes import (
C_130,
E_3A,
F_4E,
KC130,
KC_135,
MiG_29G,
Tornado_IDS,
)
from dcs.ships import (
Armed_speedboat,
CVN_74_John_C__Stennis,
LHA_1_Tarawa,
)
from dcs.vehicles import (
AirDefence,
Armor,
Infantry,
Unarmed,
)
Germany_1990 = {
"country": "Germany",
"side": "blue",
"units":[
MiG_29G,
Tornado_IDS,
F_4E,
KC_135,
KC130,
C_130,
E_3A,
UH_1H,
SA342M,
SA342L,
Armor.TPz_Fuchs,
Armor.MBT_Leopard_1A3,
Armor.MBT_Leopard_2,
Armor.IFV_Marder,
Unarmed.Transport_M818,
Infantry.Infantry_M4,
Infantry.Soldier_M249,
AirDefence.SAM_Roland_ADS,
AirDefence.SAM_Hawk_PCP,
CVN_74_John_C__Stennis,
LHA_1_Tarawa,
Armed_speedboat,
],
"shorad":[
AirDefence.SPAAA_Gepard,
AirDefence.SAM_Roland_ADS,
], "boat":[
"OliverHazardPerryGroupGenerator"
]
}

View File

@ -1,80 +0,0 @@
from dcs.helicopters import (
AH_64A,
Mi_8MT,
)
from dcs.planes import (
C_130,
E_3A,
KC130,
KC_135,
M_2000C,
MiG_21Bis,
MiG_27K,
MiG_29S,
Mirage_2000_5,
Su_30,
)
from dcs.ships import (
Armed_speedboat,
CVN_74_John_C__Stennis,
CV_1143_5_Admiral_Kuznetsov,
FSG_1241_1MP_Molniya,
LHA_1_Tarawa,
)
from dcs.vehicles import (
AirDefence,
Armor,
Infantry,
Unarmed,
)
India_2010 = {
"country": "India",
"side": "blue",
"units": [
Mirage_2000_5,
M_2000C,
MiG_27K,
MiG_21Bis,
MiG_29S,
Su_30,
KC_135,
KC130,
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,
CVN_74_John_C__Stennis,
LHA_1_Tarawa,
Armed_speedboat,
],
"shorad":[
AirDefence.SAM_SA_8_Osa_9A33,
AirDefence.AAA_ZU_23_Emplacement,
AirDefence.SPAAA_ZSU_23_4_Shilka,
AirDefence.SAM_SA_13_Strela_10M3_9A35M3,
AirDefence.SAM_SA_8_Osa_9A33,
AirDefence.SAM_SA_19_Tunguska_2S6
], "aircraft_carrier": [
CV_1143_5_Admiral_Kuznetsov,
], "destroyer": [
FSG_1241_1MP_Molniya,
], "carrier_names": [
"INS Vikramaditya"
], "boat":[
"ArleighBurkeGroupGenerator", "OliverHazardPerryGroupGenerator", "MolniyaGroupGenerator"
], "has_jtac": True
}

View File

@ -1,34 +0,0 @@
from dcs.ships import (
Bulk_cargo_ship_Yakushev,
Dry_cargo_ship_Ivanov,
Tanker_Elnya_160,
)
from dcs.vehicles import (
AirDefence,
Armor,
Infantry,
Unarmed,
)
Insurgent = {
"country": "Insurgents",
"side": "red",
"units": [
AirDefence.AAA_ZU_23_Insurgent_Closed,
AirDefence.AAA_ZU_23_Insurgent_on_Ural_375,
Armor.APC_Cobra,
Armor.APC_MTLB,
Armor.ARV_BRDM_2,
Unarmed.Transport_Ural_375,
Unarmed.Transport_UAZ_469,
Infantry.Infantry_Soldier_Insurgents,
Infantry.Soldier_RPG,
Bulk_cargo_ship_Yakushev,
Dry_cargo_ship_Ivanov,
Tanker_Elnya_160
]
}

View File

@ -1,46 +0,0 @@
from dcs.ships import (
Bulk_cargo_ship_Yakushev,
Dry_cargo_ship_Ivanov,
Tanker_Elnya_160,
)
from dcs.vehicles import (
AirDefence,
Armor,
Infantry,
Unarmed,
)
from pydcs_extensions.frenchpack.frenchpack import (
DIM__KAMIKAZE,
DIM__TOYOTA_BLUE,
DIM__TOYOTA_DESERT,
DIM__TOYOTA_GREEN,
)
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,
Armor.ARV_BRDM_2,
Armor.APC_Cobra,
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",
}
}

View File

@ -1,86 +0,0 @@
from dcs.helicopters import (
Mi_24V,
Mi_28N,
)
from dcs.planes import (
A_50,
An_26B,
An_30M,
F_14B,
F_4E,
F_5E_3,
IL_76MD,
IL_78M,
MiG_21Bis,
MiG_29A,
Su_17M4,
Su_24M,
Su_25,
Yak_40,
)
from dcs.ships import (
Bulk_cargo_ship_Yakushev,
CV_1143_5_Admiral_Kuznetsov,
Dry_cargo_ship_Ivanov,
Tanker_Elnya_160,
)
from dcs.vehicles import (
AirDefence,
Armor,
Infantry,
Unarmed,
)
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.SAM_Hawk_PCP,
AirDefence.SAM_SA_2_LN_SM_90,
AirDefence.SAM_SA_6_Kub_LN_2P25,
AirDefence.HQ_7_Self_Propelled_LN,
AirDefence.SAM_SA_11_Buk_LN_9A310M1,
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
],
"shorad":[
AirDefence.HQ_7_Self_Propelled_LN,
AirDefence.AAA_ZU_23_Insurgent_Closed
], "boat":[
"GrishaGroupGenerator", "MolniyaGroupGenerator", "KiloSubGroupGenerator"
]
}

View File

@ -1,47 +0,0 @@
from dcs.planes import (
B_17G,
Bf_109K_4,
P_51D,
P_51D_30_NA,
SpitfireLFMkIX,
SpitfireLFMkIXCW,
)
from dcs.ships import (
Armed_speedboat,
)
from dcs.vehicles import (
AirDefence,
Armor,
Infantry,
Unarmed,
)
Israel_1948 = {
"country": "Israel",
"side": "blue",
"units":[
SpitfireLFMkIXCW,
SpitfireLFMkIX,
P_51D,
P_51D_30_NA,
Bf_109K_4, # Standing as Avia S-199
B_17G,
Armor.MT_M4A4_Sherman_Firefly,
Armor.APC_M2A1,
Armor.MT_M4_Sherman,
Armor.LAC_M8_Greyhound,
Unarmed.Transport_M818,
Infantry.Infantry_SMLE_No_4_Mk_1,
AirDefence.AAA_Bofors_40mm,
Armed_speedboat,
],"requirements":{
"WW2 Asset Pack": "https://www.digitalcombatsimulator.com/en/products/other/wwii_assets_pack/",
},
"shorad": [
AirDefence.AAA_Bofors_40mm
], "boat": [
], "has_jtac": False
}

View File

@ -1,131 +0,0 @@
from dcs.helicopters import (
AH_1W,
UH_1H,
)
from dcs.planes import (
C_130,
E_3A,
F_15C,
F_16A,
F_16C_50,
F_4E,
KC130,
KC_135,
)
from dcs.ships import (
Armed_speedboat,
)
from dcs.vehicles import (
AirDefence,
Armor,
Infantry,
Unarmed,
)
from pydcs_extensions.a4ec.a4ec import A_4E_C
Israel_1973 = {
"country": "Israel",
"side": "blue",
"units":[
F_4E,
A_4E_C,
KC_135,
KC130,
C_130,
E_3A,
UH_1H,
Armor.MT_M4A4_Sherman_Firefly,
Armor.APC_M2A1,
Armor.MBT_M60A3_Patton,
Armor.APC_M113,
Unarmed.Transport_M818,
Infantry.Infantry_M4,
AirDefence.SAM_Hawk_PCP,
AirDefence.AAA_Bofors_40mm,
AirDefence.SAM_Chaparral_M48,
Armed_speedboat,
], "requirements": {
"Community A-4E": "https://heclak.github.io/community-a4e-c/",
"WW2 Asset Pack": "https://www.digitalcombatsimulator.com/en/products/other/wwii_assets_pack/",
}, "shorad": [
AirDefence.SAM_Chaparral_M48,
AirDefence.AAA_Bofors_40mm
], "boat": [
], "has_jtac": True
}
Israel_1973_NO_WW2_UNITS = {
"country": "Israel",
"side": "blue",
"units":[
F_4E,
A_4E_C,
KC_135,
KC130,
C_130,
E_3A,
UH_1H,
Armor.MBT_M60A3_Patton,
Armor.APC_M113,
Unarmed.Transport_M818,
Infantry.Infantry_M4,
AirDefence.SAM_Hawk_PCP,
AirDefence.SAM_Chaparral_M48,
Armed_speedboat,
], "requirements": {
"Community A-4E": "https://heclak.github.io/community-a4e-c/",
}, "shorad": [
AirDefence.SAM_Chaparral_M48,
], "boat": [
], "has_jtac": True
}
Israel_1982 = {
"country": "Israel",
"side": "blue",
"units":[
F_4E,
A_4E_C,
F_15C,
F_16A,
F_16C_50,
KC_135,
KC130,
C_130,
E_3A,
UH_1H,
AH_1W,
Armor.APC_M113,
Armor.MBT_M60A3_Patton,
Armor.MBT_Merkava_Mk__4,
Unarmed.Transport_M818,
Infantry.Infantry_M4,
AirDefence.SAM_Hawk_PCP,
AirDefence.SAM_Chaparral_M48,
Armed_speedboat,
], "requirements": {
"Community A-4E": "https://heclak.github.io/community-a4e-c/",
}, "shorad": [
AirDefence.SAM_Chaparral_M48,
], "boat": [
], "has_jtac": True
}

View File

@ -1,66 +0,0 @@
from dcs.helicopters import (
AH_1W,
AH_64D,
)
from dcs.planes import (
C_130,
E_3A,
F_15C,
F_15E,
F_16C_50,
F_4E,
KC130,
KC_135,
)
from dcs.ships import (
Armed_speedboat,
CVN_74_John_C__Stennis,
LHA_1_Tarawa,
)
from dcs.vehicles import (
AirDefence,
Armor,
Artillery,
Infantry,
Unarmed,
)
Israel_2000 = {
"country": "Israel",
"side": "blue",
"units":[
F_16C_50,
F_15C,
F_15E,
F_4E,
KC_135,
KC130,
C_130,
E_3A,
AH_1W,
AH_64D,
Armor.MBT_Merkava_Mk__4,
Armor.APC_M113,
Armor.APC_M1043_HMMWV_Armament,
Armor.ATGM_M1045_HMMWV_TOW,
Artillery.SPH_M109_Paladin,
Artillery.MLRS_M270,
Unarmed.Transport_M818,
Infantry.Infantry_M4,
AirDefence.SAM_Patriot_EPP_III,
CVN_74_John_C__Stennis,
LHA_1_Tarawa,
Armed_speedboat,
],
"shorad": [
AirDefence.SAM_Avenger_M1097
], "boat": [
"ArleighBurkeGroupGenerator"
], "has_jtac": True
}

View File

@ -1,69 +0,0 @@
from dcs.helicopters import (
AH_1W,
UH_1H,
)
from dcs.planes import (
AV8BNA,
C_130,
E_3A,
KC_135,
S_3B_Tanker,
Tornado_IDS,
)
from dcs.ships import (
Armed_speedboat,
CVN_74_John_C__Stennis,
LHA_1_Tarawa,
Oliver_Hazzard_Perry_class,
Ticonderoga_class,
)
from dcs.vehicles import (
AirDefence,
Armor,
Infantry,
Unarmed,
)
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,
], "shorad":[
AirDefence.SAM_Avenger_M1097,
], "helicopter_carrier": [
LHA_1_Tarawa,
], "destroyer": [
Oliver_Hazzard_Perry_class,
], "cruiser": [
Ticonderoga_class,
], "lhanames": [
"Giuseppe Garibaldi",
"Cavour",
], "boat":[
"OliverHazardPerryGroupGenerator"
], "has_jtac": True
}

View File

@ -1,73 +0,0 @@
from dcs.helicopters import (
AH_1W,
UH_1H,
)
from dcs.planes import (
AV8BNA,
C_130,
E_3A,
KC_135,
S_3B_Tanker,
Tornado_IDS,
)
from dcs.ships import (
Armed_speedboat,
CVN_74_John_C__Stennis,
LHA_1_Tarawa,
Oliver_Hazzard_Perry_class,
Ticonderoga_class,
)
from dcs.vehicles import (
AirDefence,
Armor,
Infantry,
Unarmed,
)
from pydcs_extensions.mb339.mb339 import MB_339PAN
Italy_1990_MB339 = {
"country": "Italy",
"side": "blue",
"units": [
Tornado_IDS,
AV8BNA,
MB_339PAN,
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,
], "shorad":[
AirDefence.SAM_Avenger_M1097,
], "helicopter_carrier": [
LHA_1_Tarawa,
], "destroyer": [
Oliver_Hazzard_Perry_class,
], "cruiser": [
Ticonderoga_class,
], "lhanames": [
"Giuseppe Garibaldi",
"Cavour",
], "boat": [
"OliverHazardPerryGroupGenerator"
], "requirements": {
"MB-339A": "http://www.freccetricolorivirtuali.net/",
}, "has_jtac": True
}

View File

@ -1,71 +0,0 @@
from dcs.helicopters import (
AH_1W,
AH_64D,
)
from dcs.planes import (
C_130,
E_3A,
F_15C,
F_16C_50,
F_4E,
KC130,
KC_135,
)
from dcs.ships import LHA_1_Tarawa, Ticonderoga_class, USS_Arleigh_Burke_IIa
from dcs.vehicles import (
AirDefence,
Armor,
Artillery,
Infantry,
Unarmed,
)
Japan_2005 = {
"country": "Japan",
"side": "blue",
"units": [
F_15C, # F-15J/DJ
F_16C_50, # F-2A/B
F_4E, # F-4EJ
KC_135,
KC130,
C_130,
E_3A,
AH_1W,
AH_64D,
Armor.MBT_Merkava_Mk__4, # Standing as Type 10 MBT
Armor.MBT_M1A2_Abrams, # Standing as Type 90 MBT
Armor.IFV_Marder, # Standing as Type 89 IFV
Armor.TPz_Fuchs, # Standing as Type 96 APC
Armor.IFV_LAV_25, # Standing as Type 16 or Type 87
Armor.APC_M1043_HMMWV_Armament,
Artillery.MLRS_M270,
Artillery.SPH_M109_Paladin, # Standing as Type 99 SPH
Unarmed.Transport_M818,
Infantry.Infantry_M4,
Infantry.Soldier_M249,
AirDefence.SAM_Hawk_PCP,
AirDefence.SAM_Patriot_EPP_III,
LHA_1_Tarawa,
], "shorad": [
AirDefence.SPAAA_Gepard, # Type 87 SPAG
], "helicopter_carrier": [
LHA_1_Tarawa, # Standing as Hyuga-class helicopter carrier
], "destroyer": [
USS_Arleigh_Burke_IIa,
], "cruiser": [
Ticonderoga_class,
], "lhanames": [
"Hyuga",
"Ise",
], "boat":[
"ArleighBurkeGroupGenerator"
], "has_jtac": True
}

View File

@ -1,68 +0,0 @@
from dcs.helicopters import (
Mi_24V,
)
from dcs.planes import (
A_50,
An_26B,
An_30M,
IL_76MD,
IL_78M,
MiG_21Bis,
MiG_23MLD,
Su_17M4,
Su_24M,
Yak_40,
)
from dcs.vehicles import (
AirDefence,
Armor,
Artillery,
Infantry,
Unarmed,
)
Libya_2011 = {
"country": "Libya",
"side": "red",
"units": [
MiG_21Bis,
MiG_23MLD,
Su_24M,
Su_17M4,
Mi_24V,
IL_76MD,
IL_78M,
An_26B,
An_30M,
Yak_40,
A_50,
AirDefence.SAM_SA_8_Osa_9A33,
AirDefence.SAM_SA_2_LN_SM_90,
AirDefence.SAM_SA_3_S_125_LN_5P73,
AirDefence.SAM_SA_6_Kub_LN_2P25,
AirDefence.HQ_7_Self_Propelled_LN,
Armor.IFV_BMP_1,
Armor.FDDM_Grad,
Armor.ARV_BRDM_2,
Armor.MBT_T_55,
Armor.MBT_T_72B,
Artillery.MLRS_BM_21_Grad,
Unarmed.Transport_Ural_375,
Unarmed.Transport_UAZ_469,
Infantry.Paratrooper_RPG_16,
Infantry.Infantry_Soldier_Insurgents
],
"shorad":[
AirDefence.HQ_7_Self_Propelled_LN,
AirDefence.SAM_SA_8_Osa_9A33,
], "boat": [
"GrishaGroupGenerator", "MolniyaGroupGenerator"
]
}

View File

@ -1,56 +0,0 @@
from dcs.helicopters import (
AH_64A,
)
from dcs.planes import (
C_130,
E_3A,
F_16C_50,
F_5E_3,
KC130,
KC_135,
)
from dcs.ships import (
Armed_speedboat,
CVN_74_John_C__Stennis,
LHA_1_Tarawa,
)
from dcs.vehicles import (
AirDefence,
Armor,
Infantry,
Unarmed,
)
Netherlands_1990 = {
"country": "The Netherlands",
"side": "blue",
"units": [
F_16C_50,
F_5E_3,
KC_135,
KC130,
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,
],
"shorad": [
AirDefence.SAM_Avenger_M1097
], "boat": [
"OliverHazardPerryGroupGenerator"
], "has_jtac": True
}

View File

@ -1,79 +0,0 @@
from dcs.helicopters import (
Mi_24V,
Mi_8MT,
)
from dcs.planes import (
A_50,
An_26B,
An_30M,
IL_76MD,
IL_78M,
MiG_15bis,
MiG_19P,
MiG_21Bis,
MiG_23MLD,
MiG_29A,
Su_25,
Yak_40,
)
from dcs.ships import (
Bulk_cargo_ship_Yakushev,
CV_1143_5_Admiral_Kuznetsov,
Dry_cargo_ship_Ivanov,
Tanker_Elnya_160,
)
from dcs.vehicles import (
AirDefence,
Armor,
Infantry,
Unarmed,
)
NorthKorea_2000 = {
"country": "North Korea",
"side": "red",
"units":[
MiG_29A,
Su_25,
MiG_15bis,
MiG_21Bis,
MiG_23MLD,
MiG_19P,
IL_76MD,
IL_78M,
An_26B,
An_30M,
Yak_40,
A_50,
Mi_8MT,
Mi_24V,
Armor.MBT_T_55,
Armor.MBT_T_72B,
Armor.MBT_T_80U,
Armor.IFV_BMP_1,
Armor.APC_BTR_80,
Armor.ARV_BRDM_2,
Unarmed.Transport_M818,
Infantry.Soldier_AK,
AirDefence.SAM_SA_2_LN_SM_90,
AirDefence.SAM_SA_3_S_125_LN_5P73,
CV_1143_5_Admiral_Kuznetsov,
Bulk_cargo_ship_Yakushev,
Dry_cargo_ship_Ivanov,
Tanker_Elnya_160
],
"shorad":[
AirDefence.AAA_ZU_23_Emplacement,
AirDefence.SPAAA_ZSU_23_4_Shilka
],
"boat": [
"GrishaGroupGenerator", "MolniyaGroupGenerator"
]
}

View File

@ -1,60 +0,0 @@
from dcs.helicopters import (
AH_1W,
UH_1H,
)
from dcs.planes import (
E_3A,
F_16C_50,
IL_78M,
JF_17,
MiG_19P,
MiG_21Bis,
WingLoong_I,
)
from dcs.ships import (
Armed_speedboat,
)
from dcs.vehicles import (
AirDefence,
Armor,
Infantry,
Unarmed,
)
Pakistan_2015 = {
"country": "Pakistan",
"side": "blue",
"units": [
JF_17,
F_16C_50,
MiG_21Bis, # Standing as J-7
MiG_19P, # Standing as J-6
IL_78M,
E_3A,
UH_1H,
AH_1W,
Armor.MBT_T_80U,
Armor.MBT_T_55, # Standing as Al-Zarrar / Type 59 MBT
Armor.ZBD_04A,
Armor.APC_BTR_80,
Armor.APC_M113,
Unarmed.Transport_M818,
Infantry.Infantry_M4,
AirDefence.SAM_SA_2_LN_SM_90, # Standing as HQ-2
AirDefence.SAM_SA_10_S_300PS_LN_5P85C, # Standing as HQ-9
Armed_speedboat,
], "shorad": [
AirDefence.HQ_7_Self_Propelled_LN,
AirDefence.AAA_ZU_23_Insurgent_on_Ural_375,
AirDefence.AAA_ZU_23_Closed
], "boat": [
"Type54GroupGenerator", "OliverHazardPerryGroupGenerator"
],
"has_jtac": True,
"jtac_unit": WingLoong_I
}

View File

@ -1,109 +0,0 @@
from dcs.helicopters import (
Ka_50,
Mi_24V,
Mi_8MT,
OH_58D,
SA342M,
UH_1H,
)
from dcs.planes import (
C_101CC,
L_39C,
L_39ZA,
)
from dcs.ships import (
Armed_speedboat,
)
from dcs.vehicles import (
AirDefence,
Armor,
Infantry,
Unarmed,
)
from pydcs_extensions.mb339.mb339 import MB_339PAN
PMC_WESTERN_A = {
"country": "USA",
"side": "blue",
"units": [
C_101CC,
UH_1H,
Mi_8MT,
OH_58D,
SA342M,
Armor.APC_M1043_HMMWV_Armament,
Armor.IFV_MCV_80,
Unarmed.Transport_M818,
Infantry.Infantry_M4,
Infantry.Soldier_M249,
AirDefence.SAM_Avenger_M1097,
Armed_speedboat,
], "shorad":[
AirDefence.SAM_Avenger_M1097,
], "has_jtac": True
}
PMC_WESTERN_B = {
"country": "USA",
"side": "blue",
"units": [
MB_339PAN,
C_101CC,
UH_1H,
Mi_8MT,
OH_58D,
SA342M,
Armor.APC_M1043_HMMWV_Armament,
Armor.IFV_MCV_80,
Unarmed.Transport_M818,
Infantry.Infantry_M4,
Infantry.Soldier_M249,
AirDefence.SAM_Avenger_M1097,
Armed_speedboat,
], "shorad":[
AirDefence.SAM_Avenger_M1097,
], "has_jtac": True,
"requirements": {
"MB-339A": "http://www.freccetricolorivirtuali.net/",
}
}
PMC_RUSSIAN = {
"country": "Russia",
"side": "blue",
"units": [
L_39C,
L_39ZA,
Mi_8MT,
Mi_24V,
Ka_50,
Armor.APC_Cobra,
Armor.APC_BTR_80,
Armor.ARV_BRDM_2,
Unarmed.Transport_Ural_375,
Infantry.Paratrooper_AKS,
Infantry.Paratrooper_RPG_16,
AirDefence.AAA_ZU_23_on_Ural_375,
Armed_speedboat,
], "shorad":[
AirDefence.AAA_ZU_23_on_Ural_375,
AirDefence.AAA_ZU_23_Closed,
], "has_jtac": True
}

View File

@ -1,53 +0,0 @@
from dcs.planes import (
An_26B,
An_30M,
IL_76MD,
IL_78M,
MiG_15bis,
Tu_95MS,
Yak_40,
)
from dcs.ships import (
Bulk_cargo_ship_Yakushev,
CV_1143_5_Admiral_Kuznetsov,
Dry_cargo_ship_Ivanov,
Tanker_Elnya_160,
)
from dcs.vehicles import AirDefence, Armor, Artillery, Infantry, Unarmed
Russia_1955 = {
"country": "Russia",
"side": "red",
"units": [
MiG_15bis,
IL_76MD,
IL_78M,
An_26B,
An_30M,
Yak_40,
Tu_95MS,
AirDefence.AAA_ZU_23_Closed,
AirDefence.AAA_ZU_23_on_Ural_375,
Armor.ARV_BRDM_2,
Armor.FDDM_Grad,
Armor.APC_MTLB,
Armor.MBT_T_55,
Artillery.MLRS_BM_21_Grad,
Unarmed.Transport_Ural_375,
Unarmed.Transport_UAZ_469,
CV_1143_5_Admiral_Kuznetsov,
Bulk_cargo_ship_Yakushev,
Dry_cargo_ship_Ivanov,
Tanker_Elnya_160,
# Infantry squad
Infantry.Paratrooper_AKS,
Infantry.Infantry_Soldier_Rus,
Infantry.Paratrooper_RPG_16,
]
}

View File

@ -1,73 +0,0 @@
from dcs.helicopters import Mi_8MT
from dcs.planes import (
A_50,
An_26B,
An_30M,
IL_76MD,
IL_78M,
MiG_15bis,
MiG_19P,
MiG_21Bis,
Tu_95MS,
Yak_40,
)
from dcs.ships import (
Bulk_cargo_ship_Yakushev,
CV_1143_5_Admiral_Kuznetsov,
Dry_cargo_ship_Ivanov,
Tanker_Elnya_160,
)
from dcs.vehicles import AirDefence, Armor, Artillery, Infantry, Unarmed
Russia_1965 = {
"country": "Russia",
"side": "red",
"units": [
MiG_15bis,
MiG_19P,
MiG_21Bis,
IL_76MD,
IL_78M,
An_26B,
An_30M,
Yak_40,
Tu_95MS,
A_50,
Mi_8MT,
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,
Artillery.MLRS_BM_21_Grad,
Unarmed.Transport_Ural_375,
Unarmed.Transport_UAZ_469,
CV_1143_5_Admiral_Kuznetsov,
Bulk_cargo_ship_Yakushev,
Dry_cargo_ship_Ivanov,
Tanker_Elnya_160,
# Infantry squad
Infantry.Paratrooper_AKS,
Infantry.Infantry_Soldier_Rus,
Infantry.Paratrooper_RPG_16,
],
"shorad":[
AirDefence.AAA_ZU_23_Closed
], "boat": [
"GrishaGroupGenerator"
]
}

View File

@ -1,99 +0,0 @@
from dcs.helicopters import (
Mi_24V,
Mi_8MT,
)
from dcs.planes import (
A_50,
An_26B,
An_30M,
IL_76MD,
IL_78M,
MiG_21Bis,
MiG_23MLD,
MiG_25PD,
MiG_29A,
Su_17M4,
Su_24M,
Su_25,
Tu_22M3,
Tu_95MS,
Yak_40,
)
from dcs.ships import (
Bulk_cargo_ship_Yakushev,
CGN_1144_2_Pyotr_Velikiy,
CV_1143_5_Admiral_Kuznetsov,
Dry_cargo_ship_Ivanov,
FF_1135M_Rezky,
Tanker_Elnya_160,
)
from dcs.vehicles import AirDefence, Armor, Artillery, Infantry, Unarmed
Russia_1975 = {
"country": "Russia",
"side": "red",
"units": [
MiG_21Bis,
MiG_23MLD,
MiG_25PD,
MiG_29A,
Su_17M4,
Su_24M,
Su_25,
Tu_22M3,
Tu_95MS,
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,
Artillery.SPH_2S9_Nona,
Artillery.SPH_2S1_Gvozdika,
Unarmed.Transport_Ural_375,
Unarmed.Transport_UAZ_469,
CV_1143_5_Admiral_Kuznetsov,
Bulk_cargo_ship_Yakushev,
Dry_cargo_ship_Ivanov,
Tanker_Elnya_160,
# Infantry squad
Infantry.Paratrooper_AKS,
Infantry.Infantry_Soldier_Rus,
Infantry.Paratrooper_RPG_16,
],
"shorad": [
AirDefence.AAA_ZU_23_Emplacement,
AirDefence.SPAAA_ZSU_23_4_Shilka
], "aircraft_carrier": [
CV_1143_5_Admiral_Kuznetsov,
], "destroyer": [
FF_1135M_Rezky,
], "cruiser": [
CGN_1144_2_Pyotr_Velikiy,
], "boat": [
"RussianNavyGroupGenerator", "KiloSubGroupGenerator", "MolniyaGroupGenerator"
]
}

View File

@ -1,113 +0,0 @@
from dcs.helicopters import (
Ka_50,
Mi_24V,
Mi_8MT,
)
from dcs.planes import (
A_50,
An_26B,
An_30M,
IL_76MD,
IL_78M,
MiG_23MLD,
MiG_25PD,
MiG_29A,
MiG_29S,
MiG_31,
Su_24M,
Su_25,
Su_27,
Tu_160,
Tu_22M3,
Tu_95MS,
Yak_40,
)
from dcs.ships import (
Bulk_cargo_ship_Yakushev,
CV_1143_5_Admiral_Kuznetsov,
Dry_cargo_ship_Ivanov,
FF_1135M_Rezky,
FSG_1241_1MP_Molniya,
Tanker_Elnya_160,
)
from dcs.vehicles import (
AirDefence,
Armor,
Artillery,
Infantry,
Unarmed,
)
Russia_1990 = {
"country": "Russia",
"side": "red",
"units": [
MiG_23MLD,
MiG_25PD,
MiG_29A,
MiG_29S,
MiG_31,
Su_27,
Su_24M,
Su_25,
Ka_50,
Tu_160,
Tu_22M3,
Tu_95MS,
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,
Artillery.MLRS_9K57_Uragan_BM_27,
Artillery.SPH_2S19_Msta,
Unarmed.Transport_Ural_375,
Unarmed.Transport_UAZ_469,
CV_1143_5_Admiral_Kuznetsov,
Bulk_cargo_ship_Yakushev,
Dry_cargo_ship_Ivanov,
Tanker_Elnya_160,
# Infantry squad
Infantry.Paratrooper_AKS,
Infantry.Infantry_Soldier_Rus,
Infantry.Paratrooper_RPG_16,
],
"shorad":[
AirDefence.SAM_SA_9_Strela_1_9P31,
AirDefence.SAM_SA_13_Strela_10M3_9A35M3,
AirDefence.SPAAA_ZSU_23_4_Shilka
], "carrier_names": [
"Admiral Kuznetov",
"Admiral Gorshkov"
], "aircraft_carrier": [
CV_1143_5_Admiral_Kuznetsov,
], "destroyer": [
FF_1135M_Rezky,
], "cruiser": [
FSG_1241_1MP_Molniya,
], "boat":[
"RussianNavyGroupGenerator", "KiloSubGroupGenerator"
]
}

View File

@ -1,119 +0,0 @@
from dcs.helicopters import (
Ka_50,
Mi_24V,
Mi_28N,
Mi_8MT,
)
from dcs.planes import (
A_50,
An_26B,
An_30M,
IL_76MD,
IL_78M,
L_39ZA,
MiG_29S,
MiG_31,
Su_24M,
Su_25,
Su_25T,
Su_27,
Su_30,
Su_33,
Su_34,
Tu_160,
Tu_22M3,
Tu_95MS,
Yak_40,
)
from dcs.ships import (
Bulk_cargo_ship_Yakushev,
CV_1143_5_Admiral_Kuznetsov,
Dry_cargo_ship_Ivanov,
FF_1135M_Rezky,
FSG_1241_1MP_Molniya,
Tanker_Elnya_160,
)
from dcs.vehicles import (
AirDefence,
Armor,
Artillery,
Infantry,
Unarmed,
)
Russia_2010 = {
"country": "Russia",
"side": "red",
"units": [
Su_27,
Su_30,
Su_33,
MiG_29S,
MiG_31,
Su_25,
Su_25T,
Su_34,
Su_24M,
L_39ZA,
Tu_160,
Tu_22M3,
Tu_95MS,
IL_76MD,
IL_78M,
An_26B,
An_30M,
Yak_40,
A_50,
Ka_50,
Mi_8MT,
Mi_24V,
Mi_28N,
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,
Armor.IFV_BMP_1,
Armor.IFV_BMP_2,
Armor.IFV_BMP_3,
Artillery.MLRS_9K57_Uragan_BM_27,
Artillery.SPH_2S19_Msta,
Unarmed.Transport_Ural_375,
Unarmed.Transport_UAZ_469,
CV_1143_5_Admiral_Kuznetsov,
Bulk_cargo_ship_Yakushev,
Dry_cargo_ship_Ivanov,
Tanker_Elnya_160,
# Infantry squad
Infantry.Paratrooper_AKS,
Infantry.Infantry_Soldier_Rus,
Infantry.Paratrooper_RPG_16,
],
"shorad":[
AirDefence.SAM_SA_19_Tunguska_2S6,
AirDefence.SAM_SA_13_Strela_10M3_9A35M3
], "aircraft_carrier": [
CV_1143_5_Admiral_Kuznetsov,
], "carrier_names": [
"Admiral Kuznetov"
], "destroyer": [
FF_1135M_Rezky,
], "cruiser": [
FSG_1241_1MP_Molniya,
], "boat": [
"RussianNavyGroupGenerator", "KiloSubGroupGenerator"
]
}

View File

@ -1,124 +0,0 @@
from dcs.helicopters import (
Ka_50,
Mi_24V,
Mi_28N,
Mi_8MT,
)
from dcs.planes import (
A_50,
An_26B,
An_30M,
IL_76MD,
IL_78M,
L_39ZA,
MiG_29S,
MiG_31,
Su_24M,
Su_25,
Su_25T,
Su_27,
Su_30,
Su_33,
Su_34,
Tu_160,
Tu_22M3,
Tu_95MS,
Yak_40,
)
from dcs.ships import (
Bulk_cargo_ship_Yakushev,
CV_1143_5_Admiral_Kuznetsov,
Dry_cargo_ship_Ivanov,
FF_1135M_Rezky,
FSG_1241_1MP_Molniya,
Tanker_Elnya_160,
)
from dcs.vehicles import (
AirDefence,
Armor,
Artillery,
Infantry,
Unarmed,
)
from pydcs_extensions.su57.su57 import Su_57
Russia_2020 = {
"country": "Russia",
"side": "red",
"units": [
Su_27,
Su_30,
Su_33,
MiG_29S,
MiG_31,
Su_57,
Su_25,
Su_25T,
Su_34,
Su_24M,
L_39ZA,
Tu_160,
Tu_22M3,
Tu_95MS,
IL_76MD,
IL_78M,
An_26B,
An_30M,
Yak_40,
A_50,
Ka_50,
Mi_8MT,
Mi_24V,
Mi_28N,
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,
Armor.IFV_BMP_1,
Armor.IFV_BMP_2,
Armor.IFV_BMP_3,
Artillery.MLRS_9K57_Uragan_BM_27,
Artillery.SPH_2S19_Msta,
Unarmed.Transport_Ural_375,
Unarmed.Transport_UAZ_469,
CV_1143_5_Admiral_Kuznetsov,
Bulk_cargo_ship_Yakushev,
Dry_cargo_ship_Ivanov,
Tanker_Elnya_160,
# Infantry squad
Infantry.Paratrooper_AKS,
Infantry.Infantry_Soldier_Rus,
Infantry.Paratrooper_RPG_16,
],
"shorad":[
AirDefence.SAM_SA_19_Tunguska_2S6,
AirDefence.SAM_SA_13_Strela_10M3_9A35M3
], "aircraft_carrier": [
CV_1143_5_Admiral_Kuznetsov,
], "carrier_names": [
"Admiral Kuznetov"
], "destroyer": [
FF_1135M_Rezky,
], "cruiser": [
FSG_1241_1MP_Molniya,
], "boat": [
"RussianNavyGroupGenerator", "KiloSubGroupGenerator"
], "requirements": {
"SU-57 Felon By CubanAce Simulations": "https://www.digitalcombatsimulator.com/fr/files/2539621/"
}
}

View File

@ -1,70 +0,0 @@
from dcs.planes import (
AV8BNA,
C_101CC,
C_130,
E_3A,
FA_18C_hornet,
F_5E_3,
KC130,
KC_135,
)
from dcs.ships import (
Armed_speedboat,
CVN_74_John_C__Stennis,
LHA_1_Tarawa,
Oliver_Hazzard_Perry_class,
Ticonderoga_class,
)
from dcs.vehicles import (
AirDefence,
Armor,
Infantry,
Unarmed,
)
Spain_1990 = {
"country": "Spain",
"side": "blue",
"units": [
FA_18C_hornet,
AV8BNA,
F_5E_3,
C_101CC,
KC_135,
KC130,
C_130,
E_3A,
Armor.MBT_M60A3_Patton,
Armor.MBT_Leopard_2,
Armor.APC_M113,
Unarmed.Transport_M818,
Infantry.Infantry_M4,
Infantry.Soldier_M249,
AirDefence.SAM_Hawk_PCP,
AirDefence.SAM_Avenger_M1097,
CVN_74_John_C__Stennis,
LHA_1_Tarawa,
Armed_speedboat,
], "shorad":[
AirDefence.SAM_Avenger_M1097,
], "aircraft_carrier": [
CVN_74_John_C__Stennis, # Standing as Principe de Asturias
], "helicopter_carrier": [
LHA_1_Tarawa, # Standing as Juan Carlos
], "destroyer": [
Oliver_Hazzard_Perry_class,
], "cruiser": [
Ticonderoga_class,
], "carrier_names": [
"Principe de Asturias",
], "lhanames": [
"Juan Carlos I",
], "boat":[
"OliverHazardPerryGroupGenerator"
], "has_jtac": True
}

View File

@ -1,45 +0,0 @@
from dcs.helicopters import (
UH_1H,
)
from dcs.planes import (
AJS37,
)
from dcs.ships import (
Bulk_cargo_ship_Yakushev,
CV_1143_5_Admiral_Kuznetsov,
Dry_cargo_ship_Ivanov,
Tanker_Elnya_160,
)
from dcs.vehicles import (
AirDefence,
Armor,
Infantry,
Unarmed,
)
Sweden_1990 = {
"country": "Sweden",
"side": "blue",
"units": [
AJS37,
UH_1H,
AirDefence.SAM_Hawk_PCP,
Armor.IFV_MCV_80, # Standing as Strf 90
Armor.MBT_Leopard_2,
Armor.APC_M1126_Stryker_ICV, # Closest thing available
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,
],
"shorad": [
AirDefence.SAM_Avenger_M1097
], "has_jtac": True
}

View File

@ -1,296 +0,0 @@
from dcs.helicopters import (
Mi_24V,
Mi_8MT,
SA342L,
SA342M,
)
from dcs.planes import (
A_50,
An_26B,
An_30M,
IL_76MD,
IL_78M,
L_39ZA,
MiG_15bis,
MiG_19P,
MiG_21Bis,
MiG_23MLD,
MiG_25PD,
MiG_29S,
SpitfireLFMkIX,
SpitfireLFMkIXCW,
Su_17M4,
Su_24M,
Yak_40,
)
from dcs.vehicles import (
AirDefence,
Armor,
Artillery,
Infantry,
Unarmed,
)
Syria_2011 = {
"country": "Syria",
"side": "red",
"units": [
MiG_21Bis,
MiG_23MLD,
MiG_25PD,
MiG_29S,
Su_17M4,
Su_24M,
L_39ZA,
Mi_24V,
Mi_8MT,
SA342M,
SA342L,
IL_76MD,
IL_78M,
An_26B,
An_30M,
Yak_40,
A_50,
AirDefence.SAM_SA_6_Kub_LN_2P25,
AirDefence.SAM_SA_3_S_125_LN_5P73,
AirDefence.SAM_SA_2_LN_SM_90,
AirDefence.SAM_SA_8_Osa_9A33,
AirDefence.SAM_SA_11_Buk_LN_9A310M1,
AirDefence.SAM_SA_10_S_300PS_LN_5P85C,
Armor.IFV_BMP_1,
Armor.IFV_BMP_2,
Armor.APC_BTR_80,
Armor.ARV_BRDM_2,
Armor.APC_MTLB,
Armor.APC_Cobra,
Armor.MBT_T_55,
Armor.MBT_T_72B,
Armor.MBT_T_90,
Artillery.MLRS_BM_21_Grad,
Artillery.MLRS_9K57_Uragan_BM_27,
Artillery.SPH_2S1_Gvozdika,
Artillery.SPH_2S9_Nona,
Unarmed.Transport_Ural_375,
Unarmed.Transport_UAZ_469,
Infantry.Paratrooper_RPG_16,
Infantry.Soldier_AK
],
"shorad": [
AirDefence.SAM_SA_8_Osa_9A33,
AirDefence.SAM_SA_13_Strela_10M3_9A35M3,
AirDefence.SAM_SA_9_Strela_1_9P31,
AirDefence.SAM_SA_19_Tunguska_2S6,
AirDefence.AAA_ZU_23_on_Ural_375,
], "boat": [
"GrishaGroupGenerator", "MolniyaGroupGenerator"
]
}
Syria_1973 = {
"country": "Syria",
"side": "red",
"units": [
MiG_21Bis,
MiG_19P,
MiG_15bis, # Standing as Mig-17
Su_17M4, # Standing as Su-7
Mi_8MT,
IL_76MD,
IL_78M,
An_26B,
An_30M,
Yak_40,
AirDefence.SAM_SA_6_Kub_LN_2P25,
AirDefence.SAM_SA_3_S_125_LN_5P73,
AirDefence.SAM_SA_2_LN_SM_90,
Armor.IFV_BMP_1,
Armor.APC_MTLB,
Armor.MBT_T_55,
Artillery.MLRS_BM_21_Grad,
Unarmed.Transport_Ural_375,
Unarmed.Transport_UAZ_469,
Infantry.Paratrooper_RPG_16,
Infantry.Soldier_AK
],
"shorad": [
AirDefence.AAA_ZU_23_on_Ural_375,
], "boat": [
"GrishaGroupGenerator"
]
}
Syria_1982 = {
"country": "Syria",
"side": "red",
"units": [
MiG_21Bis,
MiG_23MLD,
MiG_25PD,
MiG_19P,
Su_17M4, # Standing as Su-7
Mi_8MT,
IL_76MD,
IL_78M,
An_26B,
An_30M,
Yak_40,
AirDefence.SAM_SA_6_Kub_LN_2P25,
AirDefence.SAM_SA_3_S_125_LN_5P73,
AirDefence.SAM_SA_2_LN_SM_90,
Armor.IFV_BMP_1,
Armor.APC_MTLB,
Armor.MBT_T_55,
Armor.MBT_T_72B,
Artillery.MLRS_BM_21_Grad,
Unarmed.Transport_Ural_375,
Unarmed.Transport_UAZ_469,
Infantry.Paratrooper_RPG_16,
Infantry.Soldier_AK
],
"shorad": [
AirDefence.AAA_ZU_23_on_Ural_375,
], "boat": [
"GrishaGroupGenerator"
]
}
Syria_1967 = {
"country": "Syria",
"side": "red",
"units": [
MiG_21Bis,
MiG_19P,
MiG_15bis, # Standing as Mig-17
Su_17M4, # Standing as Su-7
Mi_8MT,
IL_76MD,
IL_78M,
An_26B,
An_30M,
Yak_40,
AirDefence.SAM_SA_2_LN_SM_90,
Armor.ARV_BRDM_2,
Armor.MBT_T_55,
Artillery.MLRS_BM_21_Grad,
Unarmed.Transport_Ural_375,
Unarmed.Transport_UAZ_469,
Infantry.Paratrooper_RPG_16,
Infantry.Soldier_AK
],
"shorad": [
AirDefence.AAA_ZU_23_on_Ural_375,
], "boat": [
"GrishaGroupGenerator"
]
}
Syria_1967_WW2_Weapons = {
"country": "Syria",
"side": "red",
"units": [
MiG_21Bis,
MiG_19P,
MiG_15bis, # Standing as Mig-17
Su_17M4, # Standing as Su-7
Mi_8MT,
IL_76MD,
IL_78M,
An_26B,
An_30M,
Yak_40,
AirDefence.SAM_SA_2_LN_SM_90,
Armor.ARV_BRDM_2,
Armor.MBT_T_55,
Armor.MT_Pz_Kpfw_IV_Ausf_H,
Armor.StuG_III_Ausf__G,
Armor.TD_Jagdpanzer_IV,
Artillery.MLRS_BM_21_Grad,
Unarmed.Transport_Ural_375,
Unarmed.Transport_UAZ_469,
Infantry.Soldier_RPG,
Infantry.Soldier_AK
], "requirements": {
"WW2 Asset Pack": "https://www.digitalcombatsimulator.com/en/products/other/wwii_assets_pack/",
},
"shorad": [
AirDefence.AAA_ZU_23_on_Ural_375,
], "boat": [
"GrishaGroupGenerator"
]
}
Arab_Armies_1948 = {
"country": "Syria",
"side": "red",
"units": [
SpitfireLFMkIX,
SpitfireLFMkIXCW,
AirDefence.SAM_SA_2_LN_SM_90,
Armor.MT_M4_Sherman,
Armor.MT_Pz_Kpfw_IV_Ausf_H,
Armor.APC_Sd_Kfz_251,
Armor.IFV_Sd_Kfz_234_2_Puma,
Unarmed.Transport_Ural_375,
Unarmed.Transport_UAZ_469,
Infantry.Infantry_SMLE_No_4_Mk_1,
AirDefence.AAA_8_8cm_Flak_36,
], "requirements": {
"WW2 Asset Pack": "https://www.digitalcombatsimulator.com/en/products/other/wwii_assets_pack/",
},
"shorad": [
AirDefence.AAA_8_8cm_Flak_36,
], "boat": [
"GrishaGroupGenerator"
]
}

View File

@ -1,60 +0,0 @@
from dcs.helicopters import (
AH_1W,
UH_1H,
)
from dcs.planes import (
C_130,
E_3A,
F_16C_50,
F_4E,
KC130,
KC_135,
)
from dcs.ships import (
Armed_speedboat,
CVN_74_John_C__Stennis,
LHA_1_Tarawa,
)
from dcs.vehicles import (
AirDefence,
Armor,
Infantry,
Unarmed,
)
Turkey_2005 = {
"country": "Turkey",
"side": "blue",
"units":[
F_16C_50,
F_4E,
KC_135,
KC130,
C_130,
E_3A,
UH_1H,
AH_1W,
Armor.MBT_Leopard_2,
Armor.MBT_Leopard_1A3,
Armor.MBT_M60A3_Patton,
Armor.APC_Cobra,
Armor.APC_BTR_80,
Unarmed.Transport_M818,
Infantry.Infantry_M4,
AirDefence.SAM_Avenger_M1097,
CVN_74_John_C__Stennis,
LHA_1_Tarawa,
Armed_speedboat,
], "shorad":[
AirDefence.AAA_ZU_23_Emplacement,
AirDefence.SPAAA_ZSU_23_4_Shilka
], "boat":[
"OliverHazardPerryGroupGenerator"
], "has_jtac": True
}

View File

@ -1,58 +0,0 @@
from dcs.helicopters import (
AH_64D,
)
from dcs.planes import (
C_130,
E_3A,
F_16C_50,
KC130,
KC_135,
M_2000C,
Mirage_2000_5,
WingLoong_I,
)
from dcs.ships import (
Armed_speedboat,
CVN_74_John_C__Stennis,
LHA_1_Tarawa,
)
from dcs.vehicles import (
AirDefence,
Armor,
Infantry,
Unarmed,
)
UAE_2005 = {
"country": "United Arab Emirates",
"side": "blue",
"units":[
M_2000C,
Mirage_2000_5,
F_16C_50,
KC_135,
KC130,
C_130,
E_3A,
AH_64D,
Armor.MBT_Leclerc,
Armor.IFV_BMP_3,
Armor.TPz_Fuchs,
Unarmed.Transport_M818,
Infantry.Infantry_M4,
AirDefence.Rapier_FSA_Launcher,
CVN_74_John_C__Stennis,
LHA_1_Tarawa,
Armed_speedboat,
], "boat":[
"OliverHazardPerryGroupGenerator"
],
"has_jtac": True,
"jtac_unit": WingLoong_I
}

View File

@ -1,57 +0,0 @@
from dcs.planes import (
A_20G,
B_17G,
P_47D_30,
P_51D,
P_51D_30_NA,
SpitfireLFMkIX,
SpitfireLFMkIXCW,
)
from dcs.ships import LCVP__Higgins_boat, LST_Mk_II, LS_Samuel_Chase
from dcs.vehicles import (
AirDefence,
Armor,
Infantry,
Unarmed,
)
from game.data.building_data import WW2_ALLIES_BUILDINGS
from game.data.doctrine import WWII_DOCTRINE
UK_1944 = {
"country": "UK",
"side": "blue",
"units": [
P_51D,
P_51D_30_NA,
P_47D_30,
SpitfireLFMkIX,
SpitfireLFMkIXCW,
A_20G,
B_17G,
Armor.MT_M4A4_Sherman_Firefly,
Armor.MT_M4_Sherman,
Armor.APC_M2A1,
Armor.CT_Cromwell_IV,
Armor.ST_Centaur_IV,
Armor.HIT_Churchill_VII,
Infantry.Infantry_SMLE_No_4_Mk_1,
LS_Samuel_Chase,
LST_Mk_II,
LCVP__Higgins_boat,
Unarmed.CCKW_353,
AirDefence.AAA_Bofors_40mm,
], "shorad":[
AirDefence.AAA_Bofors_40mm,
],"requirements":{
"WW2 Asset Pack": "https://www.digitalcombatsimulator.com/en/products/other/wwii_assets_pack/",
},
"objects": WW2_ALLIES_BUILDINGS,
"doctrine": WWII_DOCTRINE,
"boat": ["WW2LSTGroupGenerator"],
"boat_count": 1
}

View File

@ -1,74 +0,0 @@
from dcs.helicopters import (
AH_64A,
SA342M,
)
from dcs.planes import (
AV8BNA,
C_130,
E_3A,
F_4E,
KC130,
KC_135,
Tornado_GR4,
)
from dcs.ships import (
Armed_speedboat,
CVN_74_John_C__Stennis,
LHA_1_Tarawa,
Oliver_Hazzard_Perry_class,
Ticonderoga_class,
)
from dcs.vehicles import (
AirDefence,
Armor,
Infantry,
Unarmed,
)
UnitedKingdom_1990 = {
"country": "UK",
"side": "blue",
"units":[
AV8BNA, # Standing as BAE Harrier 2
Tornado_GR4,
F_4E,
KC_135,
KC130,
C_130,
E_3A,
SA342M,
AH_64A,
Armor.MBT_Challenger_II,
Armor.IFV_MCV_80,
Armor.APC_M1043_HMMWV_Armament,
Armor.ATGM_M1045_HMMWV_TOW,
Unarmed.Transport_M818,
Infantry.Infantry_M4,
Infantry.Soldier_M249,
AirDefence.Rapier_FSA_Launcher,
AirDefence.SAM_Avenger_M1097, # Standing as Starstreak
CVN_74_John_C__Stennis,
LHA_1_Tarawa,
Armed_speedboat,
], "shorad":[
AirDefence.SAM_Avenger_M1097,
], "helicopter_carrier": [
LHA_1_Tarawa,
], "destroyer": [
Oliver_Hazzard_Perry_class,
], "cruiser": [
Ticonderoga_class,
], "lhanames": [
"HMS Invincible",
"HMS Illustrious",
"HMS Ark Royal",
], "boat":[
"ArleighBurkeGroupGenerator", "OliverHazardPerryGroupGenerator"
], "has_jtac": True
}

View File

@ -1,79 +0,0 @@
from dcs.helicopters import (
Mi_24V,
Mi_8MT,
)
from dcs.planes import (
A_50,
An_26B,
An_30M,
IL_76MD,
IL_78M,
L_39ZA,
MiG_29S,
Su_24M,
Su_25,
Su_25T,
Su_27,
Yak_40,
)
from dcs.ships import (
Bulk_cargo_ship_Yakushev,
CV_1143_5_Admiral_Kuznetsov,
Dry_cargo_ship_Ivanov,
Tanker_Elnya_160,
)
from dcs.vehicles import (
AirDefence,
Armor,
Infantry,
Unarmed,
)
Ukraine_2010 = {
"country": "Ukraine",
"side": "blue",
"units": [
Su_25,
Su_25T,
Su_24M,
Su_27,
MiG_29S,
L_39ZA,
IL_76MD,
IL_78M,
An_26B,
An_30M,
Yak_40,
A_50,
Mi_8MT,
Mi_24V,
AirDefence.SAM_SA_3_S_125_LN_5P73,
AirDefence.SAM_SA_11_Buk_LN_9A310M1,
AirDefence.SAM_SA_10_S_300PS_LN_5P85C,
Armor.APC_M1043_HMMWV_Armament,
Armor.IFV_BMP_3,
Armor.IFV_BMP_2,
Armor.APC_BTR_80,
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,
],
"shorad":[
AirDefence.SAM_SA_19_Tunguska_2S6,
AirDefence.SAM_SA_13_Strela_10M3_9A35M3,
AirDefence.AAA_ZU_23_on_Ural_375
], "boat":[
"GrishaGroupGenerator"
]
}

View File

@ -1,108 +0,0 @@
from dcs.helicopters import (
AH_64D,
Ka_50,
SA342L,
SA342M,
UH_1H,
)
from dcs.planes import (
B_1B,
B_52H,
C_130,
E_3A,
FA_18C_hornet,
F_15C,
F_15E,
F_16C_50,
F_5E_3,
KC130,
KC_135,
Su_27,
)
from dcs.ships import (
Armed_speedboat,
CVN_74_John_C__Stennis,
LHA_1_Tarawa,
Oliver_Hazzard_Perry_class,
Ticonderoga_class,
USS_Arleigh_Burke_IIa,
)
from dcs.vehicles import (
AirDefence,
Armor,
Artillery,
Infantry,
Unarmed,
)
US_Aggressors = {
"country": "USAF Aggressors",
"side": "red",
"units": [
F_15C,
F_15E,
F_5E_3,
FA_18C_hornet,
F_16C_50,
Su_27,
B_1B,
B_52H,
KC_135,
KC130,
C_130,
E_3A,
UH_1H,
AH_64D,
Ka_50,
SA342M,
SA342L,
Armor.MBT_M1A2_Abrams,
Armor.MBT_Leopard_2,
Armor.ATGM_M1134_Stryker,
Armor.IFV_M2A2_Bradley,
Armor.APC_M1043_HMMWV_Armament,
Artillery.MLRS_M270,
Artillery.SPH_M109_Paladin,
Unarmed.Transport_M818,
Infantry.Infantry_M4,
Infantry.Soldier_M249,
AirDefence.SAM_Hawk_PCP,
AirDefence.SAM_Patriot_EPP_III,
CVN_74_John_C__Stennis,
LHA_1_Tarawa,
Armed_speedboat,
], "shorad": [
AirDefence.SAM_Avenger_M1097,
], "aircraft_carrier": [
CVN_74_John_C__Stennis,
], "helicopter_carrier": [
LHA_1_Tarawa,
], "destroyer": [
Oliver_Hazzard_Perry_class,
USS_Arleigh_Burke_IIa,
], "cruiser": [
Ticonderoga_class,
], "carrier_names": [
"CVN-71 Theodore Roosevelt",
"CVN-72 Abraham Lincoln",
"CVN-73 George Washington",
"CVN-74 John C. Stennis",
], "lhanames": [
"LHA-1 Tarawa",
"LHA-2 Saipan",
"LHA-3 Belleau Wood",
"LHA-4 Nassau",
"LHA-5 Peleliu"
], "boat":[
"ArleighBurkeGroupGenerator", "OliverHazardPerryGroupGenerator"
]
}

View File

@ -1,100 +0,0 @@
from dcs.planes import (
A_20G,
B_17G,
P_47D_30,
P_51D,
P_51D_30_NA,
SpitfireLFMkIX,
SpitfireLFMkIXCW,
)
from dcs.ships import LCVP__Higgins_boat, LST_Mk_II, LS_Samuel_Chase
from dcs.vehicles import (
AirDefence,
Armor,
Artillery,
Infantry,
Unarmed,
)
from game.data.building_data import WW2_ALLIES_BUILDINGS
from game.data.doctrine import WWII_DOCTRINE
USA_1944 = {
"country": "USA",
"side": "blue",
"units": [
P_51D,
P_51D_30_NA,
P_47D_30,
A_20G,
B_17G,
Armor.MT_M4_Sherman,
Armor.M30_Cargo_Carrier,
Armor.APC_M2A1,
Armor.LAC_M8_Greyhound,
Armor.TD_M10_GMC,
Artillery.M12_GMC,
Infantry.Infantry_M1_Garand,
LS_Samuel_Chase,
LST_Mk_II,
LCVP__Higgins_boat,
Unarmed.CCKW_353,
AirDefence.AAA_Bofors_40mm,
], "shorad":[
AirDefence.AAA_Bofors_40mm,
],"requirements":{
"WW2 Asset Pack": "https://www.digitalcombatsimulator.com/en/products/other/wwii_assets_pack/",
},
"objects": WW2_ALLIES_BUILDINGS,
"doctrine": WWII_DOCTRINE,
"boat": ["WW2LSTGroupGenerator"],
"boat_count": 2
}
ALLIES_1944 = {
"country": "USA",
"side": "blue",
"units": [
P_51D,
P_51D_30_NA,
P_47D_30,
SpitfireLFMkIX,
SpitfireLFMkIXCW,
A_20G,
B_17G,
Armor.MT_M4_Sherman,
Armor.MT_M4A4_Sherman_Firefly,
Armor.CT_Cromwell_IV,
Armor.M30_Cargo_Carrier,
Armor.APC_M2A1,
Armor.CT_Cromwell_IV,
Armor.ST_Centaur_IV,
Armor.HIT_Churchill_VII,
Armor.LAC_M8_Greyhound,
Armor.TD_M10_GMC,
Artillery.M12_GMC,
Infantry.Infantry_M1_Garand,
Infantry.Infantry_SMLE_No_4_Mk_1,
LS_Samuel_Chase,
LST_Mk_II,
LCVP__Higgins_boat,
Unarmed.CCKW_353,
AirDefence.AAA_Bofors_40mm,
], "shorad":[
AirDefence.AAA_Bofors_40mm,
],"requirements":{
"WW2 Asset Pack": "https://www.digitalcombatsimulator.com/en/products/other/wwii_assets_pack/",
},
"objects": WW2_ALLIES_BUILDINGS,
"doctrine": WWII_DOCTRINE,
"boat": ["WW2LSTGroupGenerator"],
"boat_count": 2
}

View File

@ -1,51 +0,0 @@
from dcs.planes import (
B_52H,
C_130,
E_3A,
F_86F_Sabre,
KC130,
KC_135,
P_51D,
)
from dcs.ships import (
Armed_speedboat,
CVN_74_John_C__Stennis,
LHA_1_Tarawa,
)
from dcs.vehicles import (
AirDefence,
Armor,
Infantry,
Unarmed,
)
USA_1955 = {
"country": "USA",
"side": "blue",
"units": [
F_86F_Sabre,
P_51D,
B_52H,
KC_135,
KC130,
C_130,
E_3A,
Armor.MT_M4A4_Sherman_Firefly,
Armor.MT_M4_Sherman,
Armor.MBT_M60A3_Patton,
Armor.APC_M2A1,
Armor.M30_Cargo_Carrier,
Unarmed.Transport_M818,
Infantry.Infantry_M4,
AirDefence.AAA_Bofors_40mm,
CVN_74_John_C__Stennis,
LHA_1_Tarawa,
Armed_speedboat,
]
}

View File

@ -1,57 +0,0 @@
from dcs.helicopters import (
UH_1H,
)
from dcs.planes import (
B_52H,
C_130,
E_3A,
F_86F_Sabre,
KC130,
KC_135,
P_51D,
)
from dcs.ships import (
Armed_speedboat,
CVN_74_John_C__Stennis,
LHA_1_Tarawa,
)
from dcs.vehicles import (
AirDefence,
Armor,
Infantry,
Unarmed,
)
USA_1960 = {
"country": "USA",
"side": "blue",
"units": [
F_86F_Sabre,
P_51D,
B_52H,
KC_135,
KC130,
C_130,
E_3A,
UH_1H,
Armor.MBT_M60A3_Patton,
Armor.APC_M113,
Unarmed.Transport_M818,
Infantry.Infantry_M4,
Infantry.Soldier_M249,
AirDefence.AAA_Vulcan_M163,
CVN_74_John_C__Stennis,
LHA_1_Tarawa,
Armed_speedboat,
],
"shorad":[
AirDefence.AAA_Vulcan_M163
]
}

View File

@ -1,60 +0,0 @@
from dcs.helicopters import (
UH_1H,
)
from dcs.planes import (
B_52H,
C_130,
E_3A,
F_4E,
F_5E_3,
KC130,
KC_135,
)
from dcs.ships import (
Armed_speedboat,
CVN_74_John_C__Stennis,
LHA_1_Tarawa,
)
from dcs.vehicles import (
AirDefence,
Armor,
Infantry,
Unarmed,
)
USA_1965 = {
"country": "USA",
"side": "blue",
"units": [
F_5E_3,
F_4E,
KC_135,
KC130,
C_130,
E_3A,
B_52H,
UH_1H,
Armor.MBT_M60A3_Patton,
Armor.APC_M113,
Unarmed.Transport_M818,
Infantry.Infantry_M4,
Infantry.Soldier_M249,
AirDefence.SAM_Chaparral_M48,
AirDefence.SAM_Hawk_PCP,
CVN_74_John_C__Stennis,
LHA_1_Tarawa,
Armed_speedboat,
],
"shorad":[
AirDefence.AAA_Vulcan_M163,
AirDefence.SAM_Chaparral_M48
], "boat":[
]
}

View File

@ -1,99 +0,0 @@
from dcs.helicopters import (
AH_64A,
UH_1H,
)
from dcs.planes import (
AV8BNA,
A_10A,
B_1B,
B_52H,
C_130,
E_3A,
FA_18C_hornet,
F_117A,
F_14B,
F_15C,
F_15E,
F_16C_50,
KC130,
KC_135,
)
from dcs.ships import (
Armed_speedboat,
CVN_74_John_C__Stennis,
LHA_1_Tarawa,
Oliver_Hazzard_Perry_class,
Ticonderoga_class,
USS_Arleigh_Burke_IIa,
)
from dcs.vehicles import (
AirDefence,
Armor,
Infantry,
Unarmed,
)
USA_1990 = {
"country": "USA",
"side": "blue",
"units": [
F_15C,
F_15E,
F_14B,
FA_18C_hornet,
F_16C_50,
A_10A,
AV8BNA,
B_1B,
B_52H,
F_117A,
KC_135,
KC130,
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,
Infantry.Soldier_M249,
AirDefence.SAM_Hawk_PCP,
CVN_74_John_C__Stennis,
LHA_1_Tarawa,
Armed_speedboat,
], "shorad":[
AirDefence.SAM_Avenger_M1097,
], "aircraft_carrier": [
CVN_74_John_C__Stennis,
], "helicopter_carrier": [
LHA_1_Tarawa,
], "destroyer": [
Oliver_Hazzard_Perry_class,
USS_Arleigh_Burke_IIa,
], "cruiser": [
Ticonderoga_class,
], "carrier_names": [
"CVN-72 Abraham Lincoln",
"CVN-73 Georges Washington",
"CVN-74 John C. Stennis",
], "lhanames": [
"LHA-1 Tarawa",
"LHA-2 Saipan",
"LHA-3 Belleau Wood",
"LHA-4 Nassau",
"LHA-5 Peleliu"
], "boat":[
"ArleighBurkeGroupGenerator", "OliverHazardPerryGroupGenerator"
], "has_jtac": True
}

View File

@ -1,109 +0,0 @@
from dcs.helicopters import (
AH_64D,
UH_1H,
)
from dcs.planes import (
AV8BNA,
A_10C,
A_10C_2,
B_1B,
B_52H,
C_130,
E_3A,
FA_18C_hornet,
F_117A,
F_14B,
F_15C,
F_15E,
F_16C_50,
KC130,
KC_135,
MQ_9_Reaper,
)
from dcs.ships import (
Armed_speedboat,
CVN_74_John_C__Stennis,
LHA_1_Tarawa,
Ticonderoga_class,
USS_Arleigh_Burke_IIa,
)
from dcs.vehicles import (
AirDefence,
Armor,
Artillery,
Infantry,
Unarmed,
)
USA_2005 = {
"country": "USA",
"side": "blue",
"units": [
F_15C,
F_15E,
F_14B,
FA_18C_hornet,
F_16C_50,
A_10C,
A_10C_2,
AV8BNA,
MQ_9_Reaper,
B_1B,
B_52H,
F_117A,
KC_135,
KC130,
C_130,
E_3A,
UH_1H,
AH_64D,
Armor.MBT_M1A2_Abrams,
Armor.ATGM_M1134_Stryker,
Armor.APC_M1126_Stryker_ICV,
Armor.IFV_M2A2_Bradley,
Armor.IFV_LAV_25,
Armor.APC_M1043_HMMWV_Armament,
Armor.ATGM_M1045_HMMWV_TOW,
Artillery.MLRS_M270,
Artillery.SPH_M109_Paladin,
Unarmed.Transport_M818,
Infantry.Infantry_M4,
Infantry.Soldier_M249,
AirDefence.SAM_Hawk_PCP,
AirDefence.SAM_Patriot_EPP_III,
CVN_74_John_C__Stennis,
LHA_1_Tarawa,
Armed_speedboat,
], "shorad": [
AirDefence.SAM_Avenger_M1097,
], "aircraft_carrier": [
CVN_74_John_C__Stennis,
], "helicopter_carrier": [
LHA_1_Tarawa,
], "destroyer": [
USS_Arleigh_Burke_IIa,
], "cruiser": [
Ticonderoga_class,
], "carrier_names": [
"CVN-71 Theodore Roosevelt",
"CVN-72 Abraham Lincoln",
"CVN-73 George Washington",
"CVN-74 John C. Stennis",
], "lhanames": [
"LHA-1 Tarawa",
"LHA-2 Saipan",
"LHA-3 Belleau Wood",
"LHA-4 Nassau",
"LHA-5 Peleliu"
], "boat":[
"ArleighBurkeGroupGenerator"
], "has_jtac": True
}

View File

@ -26,6 +26,7 @@ from . import persistency
from .debriefing import Debriefing
from .event.event import Event, UnitsDeliveryEvent
from .event.frontlineattack import FrontlineAttackEvent
from .factions.faction import Faction
from .infos.information import Information
from .settings import Settings
from plugin import LuaPluginManager
@ -76,9 +77,9 @@ class Game:
self.events: List[Event] = []
self.theater = theater
self.player_name = player_name
self.player_country = db.FACTIONS[player_name]["country"]
self.player_country = db.FACTIONS[player_name].country
self.enemy_name = enemy_name
self.enemy_country = db.FACTIONS[enemy_name]["country"]
self.enemy_country = db.FACTIONS[enemy_name].country
self.turn = 0
self.date = date(start_date.year, start_date.month, start_date.day)
self.game_stats = GameStats()
@ -123,11 +124,11 @@ class Game:
self.enemy_country = "Russia"
@property
def player_faction(self) -> Dict[str, Any]:
def player_faction(self) -> Faction:
return db.FACTIONS[self.player_name]
@property
def enemy_faction(self) -> Dict[str, Any]:
def enemy_faction(self) -> Faction:
return db.FACTIONS[self.enemy_name]
def _roll(self, prob, mult):
@ -319,7 +320,7 @@ class Game:
potential_cp_armor = self.theater.enemy_points()
i = 0
potential_units = [u for u in db.FACTIONS[self.enemy_name]["units"] if u in db.UNIT_BY_TASK[PinpointStrike]]
potential_units = db.FACTIONS[self.enemy_name].frontline_units
print("Enemy Recruiting")
print(potential_cp_armor)
@ -345,8 +346,9 @@ class Game:
if budget_for_armored_units > 0:
budget_for_aircraft += budget_for_armored_units
potential_units = [u for u in db.FACTIONS[self.enemy_name]["units"] if
u in db.UNIT_BY_TASK[CAS] or u in db.UNIT_BY_TASK[CAP]]
potential_units = [u for u in db.FACTIONS[self.enemy_name].aircrafts
if u in db.UNIT_BY_TASK[CAS] or u in db.UNIT_BY_TASK[CAP]]
if len(potential_units) > 0 and len(potential_cp_armor) > 0:
while budget_for_aircraft > 0:
i = i + 1

View File

@ -67,9 +67,9 @@ class Operation:
to_cp: ControlPoint):
self.game = game
self.attacker_name = attacker_name
self.attacker_country = db.FACTIONS[attacker_name]["country"]
self.attacker_country = db.FACTIONS[attacker_name].country
self.defender_name = defender_name
self.defender_country = db.FACTIONS[defender_name]["country"]
self.defender_country = db.FACTIONS[defender_name].country
print(self.defender_country, self.attacker_country)
self.from_cp = from_cp
self.departure_cp = departure_cp

View File

@ -142,13 +142,13 @@ class GroundConflictGenerator:
# Add JTAC
jtacPlugin = LuaPluginManager().getPlugin("jtacautolase")
useJTAC = jtacPlugin and jtacPlugin.isEnabled()
if "has_jtac" in self.game.player_faction and self.game.player_faction["has_jtac"] and useJTAC:
if self.game.player_faction.has_jtac and useJTAC:
n = "JTAC" + str(self.conflict.from_cp.id) + str(self.conflict.to_cp.id)
code = 1688 - len(self.jtacs)
utype = MQ_9_Reaper
if "jtac_unit" in self.game.player_faction:
utype = self.game.player_faction["jtac_unit"]
if self.game.player_faction.jtac_unit is not None:
utype = self.game.player_faction.jtac_unit
jtac = self.mission.flight_group(country=self.mission.country(self.game.player_country),
name=n,

View File

@ -11,8 +11,7 @@ def generate_armor_group(faction:str, game, ground_object):
This generate a group of ground units
:return: Generated group
"""
possible_unit = [u for u in db.FACTIONS[faction]["units"] if u in Armor.__dict__.values()]
possible_unit = [u for u in db.FACTIONS[faction].frontline_units if u in Armor.__dict__.values()]
if len(possible_unit) > 0:
unit_type = random.choice(possible_unit)
return generate_armor_group_of_type(game, ground_object, unit_type)

View File

@ -12,19 +12,15 @@ class CarrierGroupGenerator(GroupGenerator):
def generate(self):
# Add carrier
if "aircraft_carrier" in self.faction.keys():
if "supercarrier" in self.faction.keys() and self.game.settings.supercarrier:
carrier_type = random.choice(self.faction["supercarrier"])
else:
carrier_type = random.choice(self.faction["aircraft_carrier"])
if len(self.faction.aircraft_carrier) > 0:
carrier_type = random.choice(self.faction.aircraft_carrier)
self.add_unit(carrier_type, "Carrier", self.position.x, self.position.y, self.heading)
else:
return
# Add destroyers escort
if "destroyer" in self.faction.keys():
dd_type = random.choice(self.faction["destroyer"])
if len(self.faction.destroyers) > 0:
dd_type = random.choice(self.faction.destroyers)
self.add_unit(dd_type, "DD1", self.position.x + 2500, self.position.y + 4500, self.heading)
self.add_unit(dd_type, "DD2", self.position.x + 2500, self.position.y - 4500, self.heading)

View File

@ -12,13 +12,13 @@ class LHAGroupGenerator(GroupGenerator):
def generate(self):
# Add carrier
if "helicopter_carrier" in self.faction.keys():
carrier_type = random.choice(self.faction["helicopter_carrier"])
if len(self.faction.helicopter_carrier) > 0:
carrier_type = random.choice(self.faction.helicopter_carrier)
self.add_unit(carrier_type, "LHA", self.position.x, self.position.y, self.heading)
# Add destroyers escort
if "destroyer" in self.faction.keys():
dd_type = random.choice(self.faction["destroyer"])
if len(self.faction.destroyers) > 0:
dd_type = random.choice(self.faction.destroyers)
self.add_unit(dd_type, "DD1", self.position.x + 1250, self.position.y + 1450, self.heading)
self.add_unit(dd_type, "DD2", self.position.x + 1250, self.position.y - 1450, self.heading)

View File

@ -34,16 +34,14 @@ def generate_ship_group(game, ground_object, faction_name: str):
:return: Nothing, but put the group reference inside the ground object
"""
faction = db.FACTIONS[faction_name]
if "boat" in faction:
generators = faction["boat"]
if len(generators) > 0:
gen = random.choice(generators)
if gen in SHIP_MAP.keys():
generator = SHIP_MAP[gen](game, ground_object, faction)
generator.generate()
return generator.get_generated_group()
else:
logging.info("Unable to generate ship group, generator : " + str(gen) + "does not exists")
if len(faction.navy_generators) > 0:
gen = random.choice(faction.navy_generators)
if gen in SHIP_MAP.keys():
generator = SHIP_MAP[gen](game, ground_object, faction)
generator.generate()
return generator.get_generated_group()
else:
logging.info("Unable to generate ship group, generator : " + str(gen) + "does not exists")
return None

View File

@ -46,7 +46,7 @@ class FlightPlanBuilder:
faction = self.game.player_faction
else:
faction = self.game.enemy_faction
self.doctrine: Doctrine = faction.get("doctrine", MODERN_DOCTRINE)
self.doctrine: Doctrine = faction.doctrine
def populate_flight_plan(
self, flight: Flight,

View File

@ -14,8 +14,8 @@ def generate_missile_group(game, ground_object, faction_name: str):
:return: Nothing, but put the group reference inside the ground object
"""
faction = db.FACTIONS[faction_name]
if "missiles" in faction:
generators = faction["missiles"]
if len(faction.missiles) > 0:
generators = faction.missiles
if len(generators) > 0:
gen = random.choice(generators)
if gen in MISSILES_MAP.keys():

View File

@ -34,37 +34,33 @@ from gen.sam.sam_zu23_ural import ZU23UralGenerator
from gen.sam.sam_zu23_ural_insurgent import ZU23UralInsurgentGenerator
SAM_MAP = {
AirDefence.SAM_Hawk_PCP: HawkGenerator,
AirDefence.AAA_ZU_23_Emplacement: ZU23Generator,
AirDefence.AAA_ZU_23_Closed: ZU23Generator,
AirDefence.AAA_ZU_23_on_Ural_375: ZU23UralGenerator,
AirDefence.AAA_ZU_23_Insurgent_on_Ural_375: ZU23UralInsurgentGenerator,
AirDefence.AAA_ZU_23_Insurgent_Closed: ZU23InsurgentGenerator,
AirDefence.AAA_ZU_23_Insurgent: ZU23InsurgentGenerator,
AirDefence.SPAAA_ZSU_23_4_Shilka: ZSU23Generator,
AirDefence.AAA_Vulcan_M163: VulcanGenerator,
AirDefence.SAM_Linebacker_M6: LinebackerGenerator,
AirDefence.Rapier_FSA_Launcher: RapierGenerator,
AirDefence.SAM_Avenger_M1097: AvengerGenerator,
AirDefence.SPAAA_Gepard: GepardGenerator,
AirDefence.SAM_Roland_ADS: RolandGenerator,
AirDefence.SAM_Patriot_LN_M901: PatriotGenerator,
AirDefence.SAM_Patriot_EPP_III: PatriotGenerator,
AirDefence.SAM_Chaparral_M48: ChaparralGenerator,
AirDefence.AAA_Bofors_40mm: BoforsGenerator,
AirDefence.AAA_8_8cm_Flak_36: FlakGenerator,
AirDefence.SAM_SA_2_LN_SM_90: SA2Generator,
AirDefence.SAM_SA_3_S_125_LN_5P73: SA3Generator,
AirDefence.SAM_SA_6_Kub_LN_2P25: SA6Generator,
AirDefence.SAM_SA_8_Osa_9A33: SA8Generator,
AirDefence.SAM_SA_9_Strela_1_9P31: SA9Generator,
AirDefence.SAM_SA_10_S_300PS_LN_5P85C: SA10Generator,
AirDefence.SAM_SA_10_S_300PS_CP_54K6: SA10Generator,
AirDefence.SAM_SA_11_Buk_LN_9A310M1: SA11Generator,
AirDefence.SAM_SA_13_Strela_10M3_9A35M3: SA13Generator,
AirDefence.SAM_SA_15_Tor_9A331: SA15Generator,
AirDefence.SAM_SA_19_Tunguska_2S6: SA19Generator,
AirDefence.HQ_7_Self_Propelled_LN: HQ7Generator
"HawkGenerator": HawkGenerator,
"ZU23Generator": ZU23Generator,
"ZU23UralGenerator": ZU23UralGenerator,
"ZU23UralInsurgentGenerator": ZU23UralInsurgentGenerator,
"ZU23InsurgentGenerator": ZU23InsurgentGenerator,
"ZSU23Generator": ZSU23Generator,
"VulcanGenerator": VulcanGenerator,
"LinebackerGenerator": LinebackerGenerator,
"RapierGenerator": RapierGenerator,
"AvengerGenerator": AvengerGenerator,
"GepardGenerator": GepardGenerator,
"RolandGenerator": RolandGenerator,
"PatriotGenerator": PatriotGenerator,
"ChaparralGenerator": ChaparralGenerator,
"BoforsGenerator": BoforsGenerator,
"FlakGenerator": FlakGenerator,
"SA2Generator": SA2Generator,
"SA3Generator": SA3Generator,
"SA6Generator": SA6Generator,
"SA8Generator": SA8Generator,
"SA9Generator": SA9Generator,
"SA10Generator": SA10Generator,
"SA11Generator": SA11Generator,
"SA13Generator": SA13Generator,
"SA15Generator": SA15Generator,
"SA19Generator": SA19Generator,
"HQ7Generator": HQ7Generator
}
SAM_PRICES = {
@ -102,20 +98,12 @@ SAM_PRICES = {
}
def get_faction_possible_sams_units(faction: str) -> List[UnitType]:
"""
Return the list
:param faction: Faction to search units for
"""
return [u for u in db.FACTIONS[faction]["units"] if u in AirDefence.__dict__.values()]
def get_faction_possible_sams_generator(faction: str) -> List[UnitType]:
"""
Return the list of possible SAM generator for the given faction
:param faction: Faction to search units for
:param faction: Faction name to search units for
"""
return [SAM_MAP[u] for u in get_faction_possible_sams_units(faction)]
return db.FACTIONS[faction].sams
def generate_anti_air_group(game, parent_cp, ground_object, faction:str):
@ -126,24 +114,25 @@ def generate_anti_air_group(game, parent_cp, ground_object, faction:str):
:param country: Owner country
:return: Nothing, but put the group reference inside the ground object
"""
possible_sams = get_faction_possible_sams_units(faction)
if len(possible_sams) > 0:
sam = random.choice(possible_sams)
possible_sams_generators = get_faction_possible_sams_generator(faction)
if len(possible_sams_generators) > 0:
sam = random.choice(possible_sams_generators)
generator = SAM_MAP[sam](game, ground_object)
generator.generate()
return generator.get_generated_group()
return None
def generate_shorad_group(game, parent_cp, ground_object, faction:str):
if("shorad") in db.FACTIONS[faction].keys():
shorad = db.FACTIONS[faction]["shorad"]
sam = random.choice(shorad)
def generate_shorad_group(game, parent_cp, ground_object, faction_name: str):
faction = db.FACTIONS[faction_name]
if len(faction.shorads) > 0:
sam = random.choice(faction.shorads)
generator = SAM_MAP[sam](game, ground_object)
generator.generate()
return generator.get_generated_group()
else:
return generate_anti_air_group(game, parent_cp, ground_object, faction)
return generate_anti_air_group(game, parent_cp, ground_object, faction_name)

View File

@ -0,0 +1,43 @@
from pydcs_extensions.a4ec.a4ec import A_4E_C
from pydcs_extensions.mb339.mb339 import MB_339PAN
from pydcs_extensions.rafale.rafale import Rafale_M, Rafale_A_S
from pydcs_extensions.su57.su57 import Su_57
import pydcs_extensions.frenchpack.frenchpack as frenchpack
MODDED_AIRPLANES = [A_4E_C, MB_339PAN, Rafale_A_S, Rafale_M, Su_57]
MODDED_VEHICLES = [
frenchpack._FIELD_HIDE,
frenchpack._FIELD_HIDE_SMALL,
frenchpack.SMOKE_SAM_IR,
frenchpack.SmokeD1,
frenchpack.SmokeD3,
frenchpack.AMX_10RCR,
frenchpack.AMX_10RCR_SEPAR,
frenchpack.ERC_90,
frenchpack.MO_120_RT,
frenchpack._53T2,
frenchpack.TRM_2000,
frenchpack.TRM_2000_Fuel,
frenchpack.TRM_2000_53T2,
frenchpack.TRM_2000_PAMELA,
frenchpack.VAB_MEDICAL,
frenchpack.VAB,
frenchpack.VAB__50,
frenchpack.VAB_T20_13,
frenchpack.VAB_MEPHISTO,
frenchpack.VAB_MORTIER,
frenchpack.VBL__50,
frenchpack.VBL_AANF1,
frenchpack.VBL,
frenchpack.VBAE_CRAB,
frenchpack.VBAE_CRAB_MMP,
frenchpack.AMX_30B2,
frenchpack.Tracma_TD_1500,
frenchpack.Infantry_Soldier_JTAC,
frenchpack.Char_M551_Sheridan,
frenchpack.Leclerc_Serie_XXI,
frenchpack.DIM__TOYOTA_BLUE,
frenchpack.DIM__TOYOTA_GREEN,
frenchpack.DIM__TOYOTA_DESERT,
frenchpack.DIM__KAMIKAZE
]

View File

@ -19,6 +19,7 @@ from theater import ConflictTheater
class Campaign:
name: str
icon_name: str
authors: str
theater: ConflictTheater
@classmethod
@ -27,7 +28,7 @@ class Campaign:
data = json.load(campaign_file)
sanitized_theater = data["theater"].replace(" ", "")
return cls(data["name"], f"Terrain_{sanitized_theater}",
return cls(data["name"], f"Terrain_{sanitized_theater}", data.get("authors", "???"),
ConflictTheater.from_json(data))

View File

@ -200,8 +200,8 @@ class FactionSelection(QtWidgets.QWizardPage):
red_faction = db.FACTIONS[self.redFactionSelect.currentText()]
blue_faction = db.FACTIONS[self.blueFactionSelect.currentText()]
red_units = red_faction["units"]
blue_units = blue_faction["units"]
red_units = red_faction.aircrafts
blue_units = blue_faction.aircrafts
blue_txt = ""
for u in blue_units:
@ -218,16 +218,16 @@ class FactionSelection(QtWidgets.QWizardPage):
self.redSideRecap.setText(red_txt)
has_mod = False
if "requirements" in red_faction.keys():
if len(red_faction.requirements.keys()) > 0:
has_mod = True
for mod in red_faction["requirements"].keys():
self.requiredMods.setText(self.requiredMods.text() + "\n<li>" + mod + ": <a href=\""+red_faction["requirements"][mod]+"\">" + red_faction["requirements"][mod] + "</a></li>")
for mod in red_faction.requirements.keys():
self.requiredMods.setText(self.requiredMods.text() + "\n<li>" + mod + ": <a href=\""+red_faction.requirements[mod]+"\">" + red_faction.requirements[mod] + "</a></li>")
if "requirements" in blue_faction.keys():
if len(blue_faction.requirements.keys()) > 0:
has_mod = True
for mod in blue_faction["requirements"].keys():
if not "requirements" in red_faction.keys() or mod not in red_faction["requirements"].keys():
self.requiredMods.setText(self.requiredMods.text() + "\n<li>" + mod + ": <a href=\""+blue_faction["requirements"][mod]+"\">" + blue_faction["requirements"][mod] + "</a></li>")
for mod in blue_faction.requirements.keys():
if not "requirements" in red_faction.keys() or mod not in red_faction.requirements.keys():
self.requiredMods.setText(self.requiredMods.text() + "\n<li>" + mod + ": <a href=\""+blue_faction.requirements[mod]+"\">" + blue_faction.requirements[mod] + "</a></li>")
if has_mod:
self.requiredMods.setText(self.requiredMods.text() + "</ul>\n\n")

View File

@ -1,86 +1,88 @@
{
"name": "The Channel - Battle of Britain",
"theater": "The Channel",
"player_points": [
{
"type": "airbase",
"id": "Hawkinge",
"size": 600,
"importance": 1
},
{
"type": "airbase",
"id": "Lympne",
"size": 600,
"importance": 1
},
{
"type": "airbase",
"id": "Manston",
"size": 600,
"importance": 1
},
{
"type": "airbase",
"id": "High Halden",
"size": 600,
"importance": 1
}
"name": "The Channel - Battle of Britain",
"theater": "The Channel",
"authors": "Khopa",
"description": "",
"player_points": [
{
"type": "airbase",
"id": "Hawkinge",
"size": 600,
"importance": 1
},
{
"type": "airbase",
"id": "Lympne",
"size": 600,
"importance": 1
},
{
"type": "airbase",
"id": "Manston",
"size": 600,
"importance": 1
},
{
"type": "airbase",
"id": "High Halden",
"size": 600,
"importance": 1
}
],
"enemy_points": [
{
"type": "airbase",
"id": "Dunkirk Mardyck",
"size": 600,
"importance": 1,
"captured_invert": true
},
{
"type": "airbase",
"id": "Saint Omer Longuenesse",
"size": 600,
"importance": 1,
"captured_invert": true
},
{
"type": "airbase",
"id": "Merville Calonne",
"size": 600,
"importance": 1,
"captured_invert": true
},
{
"type": "airbase",
"id": "Abbeville Drucat",
"size": 600,
"importance": 1,
"captured_invert": true
}
],
"links": [
[
"Hawkinge",
"Lympne"
],
"enemy_points": [
{
"type": "airbase",
"id": "Dunkirk Mardyck",
"size": 600,
"importance": 1,
"captured_invert": true
},
{
"type": "airbase",
"id": "Saint Omer Longuenesse",
"size": 600,
"importance": 1,
"captured_invert": true
},
{
"type": "airbase",
"id": "Merville Calonne",
"size": 600,
"importance": 1,
"captured_invert": true
},
{
"type": "airbase",
"id": "Abbeville Drucat",
"size": 600,
"importance": 1,
"captured_invert": true
}
[
"Hawkinge",
"Manston"
],
"links": [
[
"Hawkinge",
"Lympne"
],
[
"Hawkinge",
"Manston"
],
[
"High Halden",
"Lympne"
],
[
"Dunkirk Mardyck",
"Saint Omer Longuenesse"
],
[
"Merville Calonne",
"Saint Omer Longuenesse"
],
[
"Abbeville Drucat",
"Saint Omer Longuenesse"
]
[
"High Halden",
"Lympne"
],
[
"Dunkirk Mardyck",
"Saint Omer Longuenesse"
],
[
"Merville Calonne",
"Saint Omer Longuenesse"
],
[
"Abbeville Drucat",
"Saint Omer Longuenesse"
]
]
}

View File

@ -1,61 +1,63 @@
{
"name": "Persian Gulf - Desert War",
"theater": "Persian Gulf",
"player_points": [
{
"type": "airbase",
"id": "Liwa Airbase",
"size": 2000,
"importance": 1.2
},
{
"type": "lha",
"id": 1002,
"x": -164000,
"y": -257000,
"captured_invert": true
},
{
"type": "carrier",
"id": 1001,
"x": -124000,
"y": -303000,
"captured_invert": true
}
"name": "Persian Gulf - Desert War",
"theater": "Persian Gulf",
"authors": "Khopa",
"description": "",
"player_points": [
{
"type": "airbase",
"id": "Liwa Airbase",
"size": 2000,
"importance": 1.2
},
{
"type": "lha",
"id": 1002,
"x": -164000,
"y": -257000,
"captured_invert": true
},
{
"type": "carrier",
"id": 1001,
"x": -124000,
"y": -303000,
"captured_invert": true
}
],
"enemy_points": [
{
"type": "airbase",
"id": "Al Ain International Airport",
"size": 2000,
"importance": 1,
"captured_invert": true
},
{
"type": "airbase",
"id": "Al Maktoum Intl",
"size": 2000,
"importance": 1
},
{
"type": "airbase",
"id": "Al Minhad AB",
"size": 1000,
"importance": 1
}
],
"links": [
[
"Al Ain International Airport",
"Liwa Airbase"
],
"enemy_points": [
{
"type": "airbase",
"id": "Al Ain International Airport",
"size": 2000,
"importance": 1,
"captured_invert": true
},
{
"type": "airbase",
"id": "Al Maktoum Intl",
"size": 2000,
"importance": 1
},
{
"type": "airbase",
"id": "Al Minhad AB",
"size": 1000,
"importance": 1
}
[
"Al Ain International Airport",
"Al Maktoum Intl"
],
"links": [
[
"Al Ain International Airport",
"Liwa Airbase"
],
[
"Al Ain International Airport",
"Al Maktoum Intl"
],
[
"Al Maktoum Intl",
"Al Minhad AB"
]
[
"Al Maktoum Intl",
"Al Minhad AB"
]
]
}

View File

@ -1,77 +1,79 @@
{
"name": "The Channel - Dunkirk",
"theater": "The Channel",
"player_points": [
{
"type": "airbase",
"id": "Hawkinge",
"size": 600,
"importance": 1
},
{
"type": "airbase",
"id": "Lympne",
"size": 600,
"importance": 1
},
{
"type": "airbase",
"id": "Manston",
"size": 600,
"importance": 1,
"captured_invert": true
},
{
"type": "airbase",
"id": "Dunkirk Mardyck",
"size": 600,
"importance": 1,
"captured_invert": true
}
"name": "The Channel - Dunkirk",
"theater": "The Channel",
"authors": "Khopa",
"description": "",
"player_points": [
{
"type": "airbase",
"id": "Hawkinge",
"size": 600,
"importance": 1
},
{
"type": "airbase",
"id": "Lympne",
"size": 600,
"importance": 1
},
{
"type": "airbase",
"id": "Manston",
"size": 600,
"importance": 1,
"captured_invert": true
},
{
"type": "airbase",
"id": "Dunkirk Mardyck",
"size": 600,
"importance": 1,
"captured_invert": true
}
],
"enemy_points": [
{
"type": "airbase",
"id": "Saint Omer Longuenesse",
"size": 600,
"importance": 1,
"captured_invert": true
},
{
"type": "airbase",
"id": "Merville Calonne",
"size": 600,
"importance": 1,
"captured_invert": true
},
{
"type": "airbase",
"id": "Abbeville Drucat",
"size": 600,
"importance": 1,
"captured_invert": true
}
],
"links": [
[
"Hawkinge",
"Lympne"
],
"enemy_points": [
{
"type": "airbase",
"id": "Saint Omer Longuenesse",
"size": 600,
"importance": 1,
"captured_invert": true
},
{
"type": "airbase",
"id": "Merville Calonne",
"size": 600,
"importance": 1,
"captured_invert": true
},
{
"type": "airbase",
"id": "Abbeville Drucat",
"size": 600,
"importance": 1,
"captured_invert": true
}
[
"Hawkinge",
"Manston"
],
"links": [
[
"Hawkinge",
"Lympne"
],
[
"Hawkinge",
"Manston"
],
[
"Dunkirk Mardyck",
"Saint Omer Longuenesse"
],
[
"Merville Calonne",
"Saint Omer Longuenesse"
],
[
"Abbeville Drucat",
"Saint Omer Longuenesse"
]
[
"Dunkirk Mardyck",
"Saint Omer Longuenesse"
],
[
"Merville Calonne",
"Saint Omer Longuenesse"
],
[
"Abbeville Drucat",
"Saint Omer Longuenesse"
]
]
}

View File

@ -1,106 +1,108 @@
{
"name": "Persian Gulf - Emirates",
"theater": "Persian Gulf",
"player_points": [
{
"type": "airbase",
"id": "Fujairah Intl",
"radials": [
180,
225,
270,
315,
0
],
"size": 1000,
"importance": 1,
"captured_invert": true
},
{
"type": "lha",
"id": 1002,
"x": -79770,
"y": 49430,
"captured_invert": true
},
{
"type": "carrier",
"id": 1001,
"x": -61770,
"y": 69039,
"captured_invert": true
}
"name": "Persian Gulf - Emirates",
"theater": "Persian Gulf",
"authors": "Khopa",
"description": "",
"player_points": [
{
"type": "airbase",
"id": "Fujairah Intl",
"radials": [
180,
225,
270,
315,
0
],
"size": 1000,
"importance": 1,
"captured_invert": true
},
{
"type": "lha",
"id": 1002,
"x": -79770,
"y": 49430,
"captured_invert": true
},
{
"type": "carrier",
"id": 1001,
"x": -61770,
"y": 69039,
"captured_invert": true
}
],
"enemy_points": [
{
"type": "airbase",
"id": "Al Dhafra AB",
"size": 2000,
"importance": 1.2
},
{
"type": "airbase",
"id": "Al Ain International Airport",
"size": 2000,
"importance": 1
},
{
"type": "airbase",
"id": "Al Maktoum Intl",
"size": 2000,
"importance": 1
},
{
"type": "airbase",
"id": "Al Minhad AB",
"size": 1000,
"importance": 1
},
{
"type": "airbase",
"id": "Sharjah Intl",
"size": 2000,
"importance": 1
},
{
"type": "airbase",
"id": "Ras Al Khaimah",
"size": 1000,
"importance": 1
}
],
"links": [
[
"Al Ain International Airport",
"Al Dhafra AB"
],
"enemy_points": [
{
"type": "airbase",
"id": "Al Dhafra AB",
"size": 2000,
"importance": 1.2
},
{
"type": "airbase",
"id": "Al Ain International Airport",
"size": 2000,
"importance": 1
},
{
"type": "airbase",
"id": "Al Maktoum Intl",
"size": 2000,
"importance": 1
},
{
"type": "airbase",
"id": "Al Minhad AB",
"size": 1000,
"importance": 1
},
{
"type": "airbase",
"id": "Sharjah Intl",
"size": 2000,
"importance": 1
},
{
"type": "airbase",
"id": "Ras Al Khaimah",
"size": 1000,
"importance": 1
}
[
"Al Dhafra AB",
"Al Maktoum Intl"
],
"links": [
[
"Al Ain International Airport",
"Al Dhafra AB"
],
[
"Al Dhafra AB",
"Al Maktoum Intl"
],
[
"Al Ain International Airport",
"Fujairah Intl"
],
[
"Al Ain International Airport",
"Al Maktoum Intl"
],
[
"Al Maktoum Intl",
"Al Minhad AB"
],
[
"Al Minhad AB",
"Sharjah Intl"
],
[
"Ras Al Khaimah",
"Sharjah Intl"
],
[
"Fujairah Intl",
"Sharjah Intl"
]
[
"Al Ain International Airport",
"Fujairah Intl"
],
[
"Al Ain International Airport",
"Al Maktoum Intl"
],
[
"Al Maktoum Intl",
"Al Minhad AB"
],
[
"Al Minhad AB",
"Sharjah Intl"
],
[
"Ras Al Khaimah",
"Sharjah Intl"
],
[
"Fujairah Intl",
"Sharjah Intl"
]
]
}

View File

@ -0,0 +1,168 @@
{
"name": "Caucasus - Full Map",
"theater": "Caucasus",
"authors": "george",
"description": "Full Caucasus Map",
"player_points": [
{
"type": "airbase",
"id": "Kobuleti",
"size": 600,
"importance": 1
},
{
"type": "airbase",
"id": "Senaki-Kolkhi",
"size": 600,
"importance": 1
},
{
"type": "airbase",
"id": "Kutaisi",
"size": 600,
"importance": 1
},
{
"type": "carrier",
"id": 1001,
"x": -304708,
"y": 552839,
"captured_invert": true
},
{
"type": "lha",
"id": 1002,
"x": -326050.6875,
"y": 519452.1875,
"captured_invert": true
}
],
"enemy_points": [
{
"type": "airbase",
"id": "Beslan",
"size": 1000,
"importance": 1.3
},
{
"type": "airbase",
"id": "Nalchik",
"size": 1000,
"importance": 1.1
},
{
"type": "airbase",
"id": "Mozdok",
"size": 2000,
"importance": 1.1
},
{
"type": "airbase",
"id": "Mineralnye Vody",
"size": 2000,
"importance": 1.2
},
{
"type": "airbase",
"id": "Maykop-Khanskaya",
"size": 3000,
"importance": 1.2
},
{
"type": "airbase",
"id": "Sukhumi-Babushara",
"size": 2000,
"importance": 1.3
},
{
"type": "airbase",
"id": "Gudauta",
"size": 2000,
"importance": 1.3
},
{
"type": "airbase",
"id": "Sochi-Adler",
"size": 2000,
"importance": 1.1
},
{
"type": "airbase",
"id": "Gelendzhik",
"size": 2000,
"importance": 1.3
},
{
"type": "airbase",
"id": "Vaziani",
"size": 2000,
"importance": 1.3
}
],
"links": [
[
"Kutaisi",
"Vaziani"
],
[
"Beslan",
"Vaziani"
],
[
"Beslan",
"Mozdok"
],
[
"Beslan",
"Nalchik"
],
[
"Mozdok",
"Nalchik"
],
[
"Mineralnye Vody",
"Nalchik"
],
[
"Mineralnye Vody",
"Mozdok"
],
[
"Maykop-Khanskaya",
"Mineralnye Vody"
],
[
"Maykop-Khanskaya",
"Gelendzhik"
],
[
"Gelendzhik",
"Sochi-Adler"
],
[
"Gudauta",
"Sochi-Adler"
],
[
"Gudauta",
"Sukhumi-Babushara"
],
[
"Senaki-Kolkhi",
"Sukhumi-Babushara"
],
[
"Kutaisi",
"Senaki-Kolkhi"
],
[
"Senaki-Kolkhi",
"Kobuleti"
],
[
"Kobuleti",
"Kutaisi"
]
]
}

View File

@ -1,183 +1,185 @@
{
"name": "Syria - Full Map",
"theater": "Syria",
"player_points": [
{
"type": "airbase",
"id": "Ramat David",
"size": 1000,
"importance": 1.4
},
{
"type": "carrier",
"id": 1001,
"x": -151000,
"y": -106000,
"captured_invert": true
},
{
"type": "lha",
"id": 1002,
"x": -131000,
"y": -161000,
"captured_invert": true
}
"name": "Syria - Full Map",
"theater": "Syria",
"authors": "Khopa",
"description": "",
"player_points": [
{
"type": "airbase",
"id": "Ramat David",
"size": 1000,
"importance": 1.4
},
{
"type": "carrier",
"id": 1001,
"x": -151000,
"y": -106000,
"captured_invert": true
},
{
"type": "lha",
"id": 1002,
"x": -131000,
"y": -161000,
"captured_invert": true
}
],
"enemy_points": [
{
"type": "airbase",
"id": "King Hussein Air College",
"size": 1000,
"importance": 1.4
},
{
"type": "airbase",
"id": "Khalkhalah",
"size": 1000,
"importance": 1.2
},
{
"type": "airbase",
"id": "Al-Dumayr",
"size": 1000,
"importance": 1.2
},
{
"type": "airbase",
"id": "Al Qusayr",
"size": 1000,
"importance": 1
},
{
"type": "airbase",
"id": "Rene Mouawad",
"size": 1000,
"importance": 1.4
},
{
"type": "airbase",
"id": "Hama",
"size": 1000,
"importance": 1
},
{
"type": "airbase",
"id": "Bassel Al-Assad",
"size": 1000,
"importance": 1.4
},
{
"type": "airbase",
"id": "Palmyra",
"size": 1000,
"importance": 1
},
{
"type": "airbase",
"id": "Tabqa",
"size": 1000,
"importance": 1
},
{
"type": "airbase",
"id": "Jirah",
"size": 1000,
"importance": 1
},
{
"type": "airbase",
"id": "Aleppo",
"size": 1000,
"importance": 1.2
},
{
"type": "airbase",
"id": "Minakh",
"size": 1000,
"importance": 1
},
{
"type": "airbase",
"id": "Hatay",
"size": 1000,
"importance": 1.4
},
{
"type": "airbase",
"id": "Incirlik",
"size": 1000,
"importance": 1.4,
"captured_invert": true
}
],
"links": [
[
"King Hussein Air College",
"Ramat David"
],
"enemy_points": [
{
"type": "airbase",
"id": "King Hussein Air College",
"size": 1000,
"importance": 1.4
},
{
"type": "airbase",
"id": "Khalkhalah",
"size": 1000,
"importance": 1.2
},
{
"type": "airbase",
"id": "Al-Dumayr",
"size": 1000,
"importance": 1.2
},
{
"type": "airbase",
"id": "Al Qusayr",
"size": 1000,
"importance": 1
},
{
"type": "airbase",
"id": "Rene Mouawad",
"size": 1000,
"importance": 1.4
},
{
"type": "airbase",
"id": "Hama",
"size": 1000,
"importance": 1
},
{
"type": "airbase",
"id": "Bassel Al-Assad",
"size": 1000,
"importance": 1.4
},
{
"type": "airbase",
"id": "Palmyra",
"size": 1000,
"importance": 1
},
{
"type": "airbase",
"id": "Tabqa",
"size": 1000,
"importance": 1
},
{
"type": "airbase",
"id": "Jirah",
"size": 1000,
"importance": 1
},
{
"type": "airbase",
"id": "Aleppo",
"size": 1000,
"importance": 1.2
},
{
"type": "airbase",
"id": "Minakh",
"size": 1000,
"importance": 1
},
{
"type": "airbase",
"id": "Hatay",
"size": 1000,
"importance": 1.4
},
{
"type": "airbase",
"id": "Incirlik",
"size": 1000,
"importance": 1.4,
"captured_invert": true
}
[
"Khalkhalah",
"King Hussein Air College"
],
"links": [
[
"King Hussein Air College",
"Ramat David"
],
[
"Khalkhalah",
"King Hussein Air College"
],
[
"Al-Dumayr",
"Khalkhalah"
],
[
"Al Qusayr",
"Al-Dumayr"
],
[
"Al Qusayr",
"Hama"
],
[
"Al Qusayr",
"Palmyra"
],
[
"Al Qusayr",
"Rene Mouawad"
],
[
"Bassel Al-Assad",
"Rene Mouawad"
],
[
"Aleppo",
"Hama"
],
[
"Bassel Al-Assad",
"Hama"
],
[
"Bassel Al-Assad",
"Hatay"
],
[
"Palmyra",
"Tabqa"
],
[
"Jirah",
"Tabqa"
],
[
"Aleppo",
"Jirah"
],
[
"Aleppo",
"Minakh"
],
[
"Hatay",
"Minakh"
],
[
"Incirlik",
"Minakh"
]
[
"Al-Dumayr",
"Khalkhalah"
],
[
"Al Qusayr",
"Al-Dumayr"
],
[
"Al Qusayr",
"Hama"
],
[
"Al Qusayr",
"Palmyra"
],
[
"Al Qusayr",
"Rene Mouawad"
],
[
"Bassel Al-Assad",
"Rene Mouawad"
],
[
"Aleppo",
"Hama"
],
[
"Bassel Al-Assad",
"Hama"
],
[
"Bassel Al-Assad",
"Hatay"
],
[
"Palmyra",
"Tabqa"
],
[
"Jirah",
"Tabqa"
],
[
"Aleppo",
"Jirah"
],
[
"Aleppo",
"Minakh"
],
[
"Hatay",
"Minakh"
],
[
"Incirlik",
"Minakh"
]
]
}

View File

@ -1,81 +1,83 @@
{
"name": "Syria - Golan heights battle",
"theater": "Syria",
"player_points": [
{
"type": "airbase",
"id": "Ramat David",
"size": 1000,
"importance": 1.4
},
{
"type": "carrier",
"id": 1001,
"x": -280000,
"y": -238000,
"captured_invert": true
},
{
"type": "lha",
"id": 1002,
"x": -237000,
"y": -89800,
"captured_invert": true
}
"name": "Syria - Golan heights battle",
"theater": "Syria",
"authors": "Khopa",
"description": "",
"player_points": [
{
"type": "airbase",
"id": "Ramat David",
"size": 1000,
"importance": 1.4
},
{
"type": "carrier",
"id": 1001,
"x": -280000,
"y": -238000,
"captured_invert": true
},
{
"type": "lha",
"id": 1002,
"x": -237000,
"y": -89800,
"captured_invert": true
}
],
"enemy_points": [
{
"type": "airbase",
"id": "Khalkhalah",
"size": 1000,
"importance": 1.2
},
{
"type": "airbase",
"id": "King Hussein Air College",
"size": 1000,
"importance": 1.4
},
{
"type": "airbase",
"id": "Marj Ruhayyil",
"size": 1000,
"importance": 1
},
{
"type": "airbase",
"id": "Mezzeh",
"size": 1000,
"importance": 1.2
},
{
"type": "airbase",
"id": "Al-Dumayr",
"size": 1000,
"importance": 1.2,
"captured_invert": true
}
],
"links": [
[
"Khalkhalah",
"Ramat David"
],
"enemy_points": [
{
"type": "airbase",
"id": "Khalkhalah",
"size": 1000,
"importance": 1.2
},
{
"type": "airbase",
"id": "King Hussein Air College",
"size": 1000,
"importance": 1.4
},
{
"type": "airbase",
"id": "Marj Ruhayyil",
"size": 1000,
"importance": 1
},
{
"type": "airbase",
"id": "Mezzeh",
"size": 1000,
"importance": 1.2
},
{
"type": "airbase",
"id": "Al-Dumayr",
"size": 1000,
"importance": 1.2,
"captured_invert": true
}
[
"Khalkhalah",
"King Hussein Air College"
],
"links": [
[
"Khalkhalah",
"Ramat David"
],
[
"Khalkhalah",
"King Hussein Air College"
],
[
"Khalkhalah",
"Marj Ruhayyil"
],
[
"Marj Ruhayyil",
"Mezzeh"
],
[
"Al-Dumayr",
"Marj Ruhayyil"
]
[
"Khalkhalah",
"Marj Ruhayyil"
],
[
"Marj Ruhayyil",
"Mezzeh"
],
[
"Al-Dumayr",
"Marj Ruhayyil"
]
]
}

View File

@ -1,82 +1,84 @@
{
"name": "Syria - Inherent Resolve",
"theater": "Syria",
"player_points": [
{
"type": "airbase",
"id": "King Hussein Air College",
"size": 1000,
"importance": 1.4
},
{
"type": "airbase",
"id": "Incirlik",
"size": 1000,
"importance": 1.4,
"captured_invert": true
},
{
"type": "carrier",
"id": 1001,
"x": -210000,
"y": -200000,
"captured_invert": true
},
{
"type": "lha",
"id": 1002,
"x": -131000,
"y": -161000,
"captured_invert": true
}
"name": "Syria - Inherent Resolve",
"theater": "Syria",
"authors": "Khopa",
"description": "",
"player_points": [
{
"type": "airbase",
"id": "King Hussein Air College",
"size": 1000,
"importance": 1.4
},
{
"type": "airbase",
"id": "Incirlik",
"size": 1000,
"importance": 1.4,
"captured_invert": true
},
{
"type": "carrier",
"id": 1001,
"x": -210000,
"y": -200000,
"captured_invert": true
},
{
"type": "lha",
"id": 1002,
"x": -131000,
"y": -161000,
"captured_invert": true
}
],
"enemy_points": [
{
"type": "airbase",
"id": "Khalkhalah",
"size": 1000,
"importance": 1.2
},
{
"type": "airbase",
"id": "Palmyra",
"size": 1000,
"importance": 1
},
{
"type": "airbase",
"id": "Tabqa",
"size": 1000,
"importance": 1
},
{
"type": "airbase",
"id": "Jirah",
"size": 1000,
"importance": 1,
"captured_invert": true
}
],
"links": [
[
"Khalkhalah",
"King Hussein Air College"
],
"enemy_points": [
{
"type": "airbase",
"id": "Khalkhalah",
"size": 1000,
"importance": 1.2
},
{
"type": "airbase",
"id": "Palmyra",
"size": 1000,
"importance": 1
},
{
"type": "airbase",
"id": "Tabqa",
"size": 1000,
"importance": 1
},
{
"type": "airbase",
"id": "Jirah",
"size": 1000,
"importance": 1,
"captured_invert": true
}
[
"Incirlik",
"Incirlik"
],
"links": [
[
"Khalkhalah",
"King Hussein Air College"
],
[
"Incirlik",
"Incirlik"
],
[
"Khalkhalah",
"Palmyra"
],
[
"Palmyra",
"Tabqa"
],
[
"Jirah",
"Tabqa"
]
[
"Khalkhalah",
"Palmyra"
],
[
"Palmyra",
"Tabqa"
],
[
"Jirah",
"Tabqa"
]
]
}

View File

@ -1,85 +1,87 @@
{
"name": "Syria - Invasion from Turkey",
"theater": "Syria",
"player_points": [
{
"type": "airbase",
"id": "Incirlik",
"size": 1000,
"importance": 1.4
},
{
"type": "airbase",
"id": "Hatay",
"size": 1000,
"importance": 1.4
},
{
"type": "carrier",
"id": 1001,
"x": 133000,
"y": -54000
},
{
"type": "lha",
"id": 1002,
"x": 155000,
"y": -19000
}
"name": "Syria - Invasion from Turkey",
"theater": "Syria",
"authors": "Khopa",
"description": "",
"player_points": [
{
"type": "airbase",
"id": "Incirlik",
"size": 1000,
"importance": 1.4
},
{
"type": "airbase",
"id": "Hatay",
"size": 1000,
"importance": 1.4
},
{
"type": "carrier",
"id": 1001,
"x": 133000,
"y": -54000
},
{
"type": "lha",
"id": 1002,
"x": 155000,
"y": -19000
}
],
"enemy_points": [
{
"type": "airbase",
"id": "Minakh",
"size": 1000,
"importance": 1
},
{
"type": "airbase",
"id": "Aleppo",
"size": 1000,
"importance": 1.2
},
{
"type": "airbase",
"id": "Kuweires",
"size": 1000,
"importance": 1
},
{
"type": "airbase",
"id": "Jirah",
"size": 1000,
"importance": 1
},
{
"type": "airbase",
"id": "Tabqa",
"size": 1000,
"importance": 1,
"captured_invert": true
}
],
"links": [
[
"Hatay",
"Minakh"
],
"enemy_points": [
{
"type": "airbase",
"id": "Minakh",
"size": 1000,
"importance": 1
},
{
"type": "airbase",
"id": "Aleppo",
"size": 1000,
"importance": 1.2
},
{
"type": "airbase",
"id": "Kuweires",
"size": 1000,
"importance": 1
},
{
"type": "airbase",
"id": "Jirah",
"size": 1000,
"importance": 1
},
{
"type": "airbase",
"id": "Tabqa",
"size": 1000,
"importance": 1,
"captured_invert": true
}
[
"Aleppo",
"Minakh"
],
"links": [
[
"Hatay",
"Minakh"
],
[
"Aleppo",
"Minakh"
],
[
"Aleppo",
"Kuweires"
],
[
"Jirah",
"Kuweires"
],
[
"Jirah",
"Tabqa"
]
[
"Aleppo",
"Kuweires"
],
[
"Jirah",
"Kuweires"
],
[
"Jirah",
"Tabqa"
]
]
}

View File

@ -1,141 +1,143 @@
{
"name": "Persian Gulf - Invasion of Iran",
"theater": "Persian Gulf",
"player_points": [
{
"type": "airbase",
"id": "Ras Al Khaimah",
"size": 1000,
"importance": 1.2
},
{
"type": "airbase",
"id": "Khasab",
"size": 600,
"importance": 1.2
},
{
"type": "airbase",
"id": "Qeshm Island",
"radials": [
270,
315,
0,
45,
90,
135,
180
],
"size": 600,
"importance": 1.1
},
{
"type": "airbase",
"id": "Havadarya",
"radials": [
225,
270,
315,
0,
45
],
"size": 1000,
"importance": 1.4
},
{
"type": "airbase",
"id": "Bandar Abbas Intl",
"size": 2000,
"importance": 1.4
},
{
"type": "carrier",
"id": 1001,
"x": 59514.324335475,
"y": 28165.517980635
},
{
"type": "lha",
"id": 1002,
"x": -27500.813952358,
"y": -147000.65947136
}
"name": "Persian Gulf - Invasion of Iran",
"theater": "Persian Gulf",
"authors": "Khopa",
"description": "",
"player_points": [
{
"type": "airbase",
"id": "Ras Al Khaimah",
"size": 1000,
"importance": 1.2
},
{
"type": "airbase",
"id": "Khasab",
"size": 600,
"importance": 1.2
},
{
"type": "airbase",
"id": "Qeshm Island",
"radials": [
270,
315,
0,
45,
90,
135,
180
],
"size": 600,
"importance": 1.1
},
{
"type": "airbase",
"id": "Havadarya",
"radials": [
225,
270,
315,
0,
45
],
"size": 1000,
"importance": 1.4
},
{
"type": "airbase",
"id": "Bandar Abbas Intl",
"size": 2000,
"importance": 1.4
},
{
"type": "carrier",
"id": 1001,
"x": 59514.324335475,
"y": 28165.517980635
},
{
"type": "lha",
"id": 1002,
"x": -27500.813952358,
"y": -147000.65947136
}
],
"enemy_points": [
{
"type": "airbase",
"id": "Bandar Lengeh",
"radials": [
270,
315,
0,
45
],
"size": 600,
"importance": 1.4
},
{
"type": "airbase",
"id": "Shiraz International Airport",
"size": 2000,
"importance": 1.4,
"captured_invert": true
},
{
"type": "airbase",
"id": "Jiroft Airport",
"size": 2000,
"importance": 1.4
},
{
"type": "airbase",
"id": "Kerman Airport",
"size": 2000,
"importance": 1.4
},
{
"type": "airbase",
"id": "Lar Airbase",
"size": 1000,
"importance": 1.4
}
],
"links": [
[
"Khasab",
"Ras Al Khaimah"
],
"enemy_points": [
{
"type": "airbase",
"id": "Bandar Lengeh",
"radials": [
270,
315,
0,
45
],
"size": 600,
"importance": 1.4
},
{
"type": "airbase",
"id": "Shiraz International Airport",
"size": 2000,
"importance": 1.4,
"captured_invert": true
},
{
"type": "airbase",
"id": "Jiroft Airport",
"size": 2000,
"importance": 1.4
},
{
"type": "airbase",
"id": "Kerman Airport",
"size": 2000,
"importance": 1.4
},
{
"type": "airbase",
"id": "Lar Airbase",
"size": 1000,
"importance": 1.4
}
[
"Bandar Lengeh",
"Lar Airbase"
],
"links": [
[
"Khasab",
"Ras Al Khaimah"
],
[
"Bandar Lengeh",
"Lar Airbase"
],
[
"Havadarya",
"Lar Airbase"
],
[
"Bandar Abbas Intl",
"Havadarya"
],
[
"Bandar Abbas Intl",
"Jiroft Airport"
],
[
"Lar Airbase",
"Shiraz International Airport"
],
[
"Kerman Airport",
"Shiraz International Airport"
],
[
"Jiroft Airport",
"Kerman Airport"
],
[
"Kerman Airport",
"Lar Airbase"
]
[
"Havadarya",
"Lar Airbase"
],
[
"Bandar Abbas Intl",
"Havadarya"
],
[
"Bandar Abbas Intl",
"Jiroft Airport"
],
[
"Lar Airbase",
"Shiraz International Airport"
],
[
"Kerman Airport",
"Shiraz International Airport"
],
[
"Jiroft Airport",
"Kerman Airport"
],
[
"Kerman Airport",
"Lar Airbase"
]
]
}

View File

@ -1,75 +1,77 @@
{
"name": "Persian Gulf - Invasion of Iran [Lite]",
"theater": "Persian Gulf",
"player_points": [
{
"type": "airbase",
"id": "Bandar Lengeh",
"radials": [
270,
315,
0,
45
],
"size": 600,
"importance": 1.4
},
{
"type": "carrier",
"id": 1001,
"x": 72000.324335475,
"y": -376000
},
{
"type": "lha",
"id": 1002,
"x": -27500.813952358,
"y": -147000.65947136
}
"name": "Persian Gulf - Invasion of Iran [Lite]",
"theater": "Persian Gulf",
"authors": "Khopa",
"description": "",
"player_points": [
{
"type": "airbase",
"id": "Bandar Lengeh",
"radials": [
270,
315,
0,
45
],
"size": 600,
"importance": 1.4
},
{
"type": "carrier",
"id": 1001,
"x": 72000.324335475,
"y": -376000
},
{
"type": "lha",
"id": 1002,
"x": -27500.813952358,
"y": -147000.65947136
}
],
"enemy_points": [
{
"type": "airbase",
"id": "Shiraz International Airport",
"size": 2000,
"importance": 1.4,
"captured_invert": true
},
{
"type": "airbase",
"id": "Jiroft Airport",
"size": 2000,
"importance": 1.4
},
{
"type": "airbase",
"id": "Kerman Airport",
"size": 2000,
"importance": 1.4
},
{
"type": "airbase",
"id": "Lar Airbase",
"size": 1000,
"importance": 1.4
}
],
"links": [
[
"Bandar Lengeh",
"Lar Airbase"
],
"enemy_points": [
{
"type": "airbase",
"id": "Shiraz International Airport",
"size": 2000,
"importance": 1.4,
"captured_invert": true
},
{
"type": "airbase",
"id": "Jiroft Airport",
"size": 2000,
"importance": 1.4
},
{
"type": "airbase",
"id": "Kerman Airport",
"size": 2000,
"importance": 1.4
},
{
"type": "airbase",
"id": "Lar Airbase",
"size": 1000,
"importance": 1.4
}
[
"Lar Airbase",
"Shiraz International Airport"
],
"links": [
[
"Bandar Lengeh",
"Lar Airbase"
],
[
"Lar Airbase",
"Shiraz International Airport"
],
[
"Kerman Airport",
"Shiraz International Airport"
],
[
"Jiroft Airport",
"Kerman Airport"
]
[
"Kerman Airport",
"Shiraz International Airport"
],
[
"Jiroft Airport",
"Kerman Airport"
]
]
}

View File

@ -1,83 +1,85 @@
{
"name": "Normandy - Normandy",
"theater": "Normandy",
"player_points": [
{
"type": "airbase",
"id": "Chailey",
"size": 600,
"importance": 1
},
{
"type": "airbase",
"id": "Needs Oar Point",
"size": 600,
"importance": 1
},
{
"type": "airbase",
"id": "Deux Jumeaux",
"size": 600,
"importance": 1
}
"name": "Normandy - Normandy",
"theater": "Normandy",
"authors": "Khopa",
"description": "",
"player_points": [
{
"type": "airbase",
"id": "Chailey",
"size": 600,
"importance": 1
},
{
"type": "airbase",
"id": "Needs Oar Point",
"size": 600,
"importance": 1
},
{
"type": "airbase",
"id": "Deux Jumeaux",
"size": 600,
"importance": 1
}
],
"enemy_points": [
{
"type": "airbase",
"id": "Lignerolles",
"size": 600,
"importance": 1
},
{
"type": "airbase",
"id": "Lessay",
"size": 600,
"importance": 1
},
{
"type": "airbase",
"id": "Carpiquet",
"size": 600,
"importance": 1
},
{
"type": "airbase",
"id": "Maupertus",
"size": 600,
"importance": 1
},
{
"type": "airbase",
"id": "Evreux",
"size": 600,
"importance": 1,
"captured_invert": true
}
],
"links": [
[
"Chailey",
"Needs Oar Point"
],
"enemy_points": [
{
"type": "airbase",
"id": "Lignerolles",
"size": 600,
"importance": 1
},
{
"type": "airbase",
"id": "Lessay",
"size": 600,
"importance": 1
},
{
"type": "airbase",
"id": "Carpiquet",
"size": 600,
"importance": 1
},
{
"type": "airbase",
"id": "Maupertus",
"size": 600,
"importance": 1
},
{
"type": "airbase",
"id": "Evreux",
"size": 600,
"importance": 1,
"captured_invert": true
}
[
"Deux Jumeaux",
"Lignerolles"
],
"links": [
[
"Chailey",
"Needs Oar Point"
],
[
"Deux Jumeaux",
"Lignerolles"
],
[
"Lessay",
"Lignerolles"
],
[
"Carpiquet",
"Lignerolles"
],
[
"Lessay",
"Maupertus"
],
[
"Carpiquet",
"Evreux"
]
[
"Lessay",
"Lignerolles"
],
[
"Carpiquet",
"Lignerolles"
],
[
"Lessay",
"Maupertus"
],
[
"Carpiquet",
"Evreux"
]
]
}

View File

@ -1,53 +1,55 @@
{
"name": "Normandy - Normandy Small",
"theater": "Normandy",
"player_points": [
{
"type": "airbase",
"id": "Needs Oar Point",
"size": 600,
"importance": 1
},
{
"type": "airbase",
"id": "Deux Jumeaux",
"size": 600,
"importance": 1
}
"name": "Normandy - Normandy Small",
"theater": "Normandy",
"authors": "Khopa",
"description": "",
"player_points": [
{
"type": "airbase",
"id": "Needs Oar Point",
"size": 600,
"importance": 1
},
{
"type": "airbase",
"id": "Deux Jumeaux",
"size": 600,
"importance": 1
}
],
"enemy_points": [
{
"type": "airbase",
"id": "Lignerolles",
"size": 600,
"importance": 1
},
{
"type": "airbase",
"id": "Carpiquet",
"size": 600,
"importance": 1
},
{
"type": "airbase",
"id": "Evreux",
"size": 600,
"importance": 1,
"captured_invert": true
}
],
"links": [
[
"Deux Jumeaux",
"Lignerolles"
],
"enemy_points": [
{
"type": "airbase",
"id": "Lignerolles",
"size": 600,
"importance": 1
},
{
"type": "airbase",
"id": "Carpiquet",
"size": 600,
"importance": 1
},
{
"type": "airbase",
"id": "Evreux",
"size": 600,
"importance": 1,
"captured_invert": true
}
[
"Carpiquet",
"Lignerolles"
],
"links": [
[
"Deux Jumeaux",
"Lignerolles"
],
[
"Carpiquet",
"Lignerolles"
],
[
"Carpiquet",
"Evreux"
]
[
"Carpiquet",
"Evreux"
]
]
}

View File

@ -1,99 +1,101 @@
{
"name": "Caucasus - North Caucasus",
"theater": "Caucasus",
"player_points": [
{
"type": "airbase",
"id": "Kutaisi",
"size": 600,
"importance": 1
},
{
"type": "airbase",
"id": "Vaziani",
"size": 600,
"importance": 1
},
{
"type": "carrier",
"id": 1001,
"x": -285810.6875,
"y": 496399.1875,
"captured_invert": true
},
{
"type": "lha",
"id": 1002,
"x": -326050.6875,
"y": 519452.1875,
"captured_invert": true
}
"name": "Caucasus - North Caucasus",
"theater": "Caucasus",
"authors": "Khopa",
"description": "",
"player_points": [
{
"type": "airbase",
"id": "Kutaisi",
"size": 600,
"importance": 1
},
{
"type": "airbase",
"id": "Vaziani",
"size": 600,
"importance": 1
},
{
"type": "carrier",
"id": 1001,
"x": -285810.6875,
"y": 496399.1875,
"captured_invert": true
},
{
"type": "lha",
"id": 1002,
"x": -326050.6875,
"y": 519452.1875,
"captured_invert": true
}
],
"enemy_points": [
{
"type": "airbase",
"id": "Beslan",
"size": 1000,
"importance": 1
},
{
"type": "airbase",
"id": "Nalchik",
"size": 1000,
"importance": 1.1
},
{
"type": "airbase",
"id": "Mozdok",
"size": 2000,
"importance": 1.1
},
{
"type": "airbase",
"id": "Mineralnye Vody",
"size": 2000,
"importance": 1.3
},
{
"type": "airbase",
"id": "Maykop-Khanskaya",
"size": 3000,
"importance": 1.4,
"captured_invert": true
}
],
"links": [
[
"Kutaisi",
"Vaziani"
],
"enemy_points": [
{
"type": "airbase",
"id": "Beslan",
"size": 1000,
"importance": 1
},
{
"type": "airbase",
"id": "Nalchik",
"size": 1000,
"importance": 1.1
},
{
"type": "airbase",
"id": "Mozdok",
"size": 2000,
"importance": 1.1
},
{
"type": "airbase",
"id": "Mineralnye Vody",
"size": 2000,
"importance": 1.3
},
{
"type": "airbase",
"id": "Maykop-Khanskaya",
"size": 3000,
"importance": 1.4,
"captured_invert": true
}
[
"Beslan",
"Vaziani"
],
"links": [
[
"Kutaisi",
"Vaziani"
],
[
"Beslan",
"Vaziani"
],
[
"Beslan",
"Mozdok"
],
[
"Beslan",
"Nalchik"
],
[
"Mozdok",
"Nalchik"
],
[
"Mineralnye Vody",
"Nalchik"
],
[
"Mineralnye Vody",
"Mozdok"
],
[
"Maykop-Khanskaya",
"Mineralnye Vody"
]
[
"Beslan",
"Mozdok"
],
[
"Beslan",
"Nalchik"
],
[
"Mozdok",
"Nalchik"
],
[
"Mineralnye Vody",
"Nalchik"
],
[
"Mineralnye Vody",
"Mozdok"
],
[
"Maykop-Khanskaya",
"Mineralnye Vody"
]
]
}

View File

@ -1,71 +1,73 @@
{
"name": "Nevada - North Nevada",
"theater": "Nevada",
"player_points": [
{
"type": "airbase",
"id": "Nellis AFB",
"size": 2000,
"importance": 1.4
}
"name": "Nevada - North Nevada",
"theater": "Nevada",
"authors": "Khopa",
"description": "",
"player_points": [
{
"type": "airbase",
"id": "Nellis AFB",
"size": 2000,
"importance": 1.4
}
],
"enemy_points": [
{
"type": "airbase",
"id": "Tonopah Test Range Airfield",
"size": 600,
"importance": 1,
"captured_invert": true
},
{
"type": "airbase",
"id": "Lincoln County",
"size": 600,
"importance": 1.2
},
{
"type": "airbase",
"id": "Groom Lake AFB",
"size": 1000,
"importance": 1.4
},
{
"type": "airbase",
"id": "Creech AFB",
"size": 2000,
"importance": 1.4
},
{
"type": "airbase",
"id": "Mesquite",
"size": 1000,
"importance": 1.3
}
],
"links": [
[
"Lincoln County",
"Tonopah Test Range Airfield"
],
"enemy_points": [
{
"type": "airbase",
"id": "Tonopah Test Range Airfield",
"size": 600,
"importance": 1,
"captured_invert": true
},
{
"type": "airbase",
"id": "Lincoln County",
"size": 600,
"importance": 1.2
},
{
"type": "airbase",
"id": "Groom Lake AFB",
"size": 1000,
"importance": 1.4
},
{
"type": "airbase",
"id": "Creech AFB",
"size": 2000,
"importance": 1.4
},
{
"type": "airbase",
"id": "Mesquite",
"size": 1000,
"importance": 1.3
}
[
"Groom Lake AFB",
"Tonopah Test Range Airfield"
],
"links": [
[
"Lincoln County",
"Tonopah Test Range Airfield"
],
[
"Groom Lake AFB",
"Tonopah Test Range Airfield"
],
[
"Lincoln County",
"Mesquite"
],
[
"Groom Lake AFB",
"Mesquite"
],
[
"Creech AFB",
"Groom Lake AFB"
],
[
"Creech AFB",
"Nellis AFB"
]
[
"Lincoln County",
"Mesquite"
],
[
"Groom Lake AFB",
"Mesquite"
],
[
"Creech AFB",
"Groom Lake AFB"
],
[
"Creech AFB",
"Nellis AFB"
]
]
}

View File

@ -1,37 +1,39 @@
{
"name": "Caucasus - Russia Small",
"theater": "Caucasus",
"player_points": [
{
"type": "airbase",
"id": "Mozdok",
"size": 2000,
"importance": 1.1
}
"name": "Caucasus - Russia Small",
"theater": "Caucasus",
"authors": "Khopa",
"description": "",
"player_points": [
{
"type": "airbase",
"id": "Mozdok",
"size": 2000,
"importance": 1.1
}
],
"enemy_points": [
{
"type": "airbase",
"id": "Mineralnye Vody",
"size": 2000,
"importance": 1.3
},
{
"type": "airbase",
"id": "Maykop-Khanskaya",
"size": 3000,
"importance": 1.4,
"captured_invert": true
}
],
"links": [
[
"Mineralnye Vody",
"Mozdok"
],
"enemy_points": [
{
"type": "airbase",
"id": "Mineralnye Vody",
"size": 2000,
"importance": 1.3
},
{
"type": "airbase",
"id": "Maykop-Khanskaya",
"size": 3000,
"importance": 1.4,
"captured_invert": true
}
],
"links": [
[
"Mineralnye Vody",
"Mozdok"
],
[
"Maykop-Khanskaya",
"Mineralnye Vody"
]
[
"Maykop-Khanskaya",
"Mineralnye Vody"
]
]
}

View File

@ -1,91 +1,93 @@
{
"name": "Syria - Syrian Civil War",
"theater": "Syria",
"player_points": [
{
"type": "airbase",
"id": "Bassel Al-Assad",
"size": 1000,
"importance": 1.4
},
{
"type": "airbase",
"id": "Marj Ruhayyil",
"size": 1000,
"importance": 1
},
{
"type": "carrier",
"id": 1001,
"x": 18537,
"y": -52000,
"captured_invert": true
},
{
"type": "lha",
"id": 1002,
"x": 116000,
"y": -30000,
"captured_invert": true
}
"name": "Syria - Syrian Civil War",
"theater": "Syria",
"authors": "Khopa",
"description": "",
"player_points": [
{
"type": "airbase",
"id": "Bassel Al-Assad",
"size": 1000,
"importance": 1.4
},
{
"type": "airbase",
"id": "Marj Ruhayyil",
"size": 1000,
"importance": 1
},
{
"type": "carrier",
"id": 1001,
"x": 18537,
"y": -52000,
"captured_invert": true
},
{
"type": "lha",
"id": 1002,
"x": 116000,
"y": -30000,
"captured_invert": true
}
],
"enemy_points": [
{
"type": "airbase",
"id": "Hama",
"size": 1000,
"importance": 1
},
{
"type": "airbase",
"id": "Aleppo",
"size": 1000,
"importance": 1.2,
"captured_invert": true
},
{
"type": "airbase",
"id": "Al Qusayr",
"size": 1000,
"importance": 1
},
{
"type": "airbase",
"id": "Palmyra",
"size": 1000,
"importance": 1
},
{
"type": "airbase",
"id": "Al-Dumayr",
"size": 1000,
"importance": 1.2
}
],
"links": [
[
"Bassel Al-Assad",
"Hama"
],
"enemy_points": [
{
"type": "airbase",
"id": "Hama",
"size": 1000,
"importance": 1
},
{
"type": "airbase",
"id": "Aleppo",
"size": 1000,
"importance": 1.2,
"captured_invert": true
},
{
"type": "airbase",
"id": "Al Qusayr",
"size": 1000,
"importance": 1
},
{
"type": "airbase",
"id": "Palmyra",
"size": 1000,
"importance": 1
},
{
"type": "airbase",
"id": "Al-Dumayr",
"size": 1000,
"importance": 1.2
}
[
"Al-Dumayr",
"Marj Ruhayyil"
],
"links": [
[
"Bassel Al-Assad",
"Hama"
],
[
"Al-Dumayr",
"Marj Ruhayyil"
],
[
"Aleppo",
"Hama"
],
[
"Al Qusayr",
"Hama"
],
[
"Al Qusayr",
"Al-Dumayr"
],
[
"Al Qusayr",
"Palmyra"
]
[
"Aleppo",
"Hama"
],
[
"Al Qusayr",
"Hama"
],
[
"Al Qusayr",
"Al-Dumayr"
],
[
"Al Qusayr",
"Palmyra"
]
]
}

View File

@ -1,111 +1,113 @@
{
"name": "Caucasus - Western Georgia",
"theater": "Caucasus",
"player_points": [
{
"type": "airbase",
"id": "Kobuleti",
"radials": [
0,
45,
90,
135,
180,
225,
315
],
"size": 600,
"importance": 1.1
},
{
"type": "carrier",
"id": 1001,
"x": -285810.6875,
"y": 496399.1875,
"captured_invert": true
},
{
"type": "lha",
"id": 1002,
"x": -326050.6875,
"y": 519452.1875,
"captured_invert": true
}
"name": "Caucasus - Western Georgia",
"theater": "Caucasus",
"authors": "Khopa",
"description": "",
"player_points": [
{
"type": "airbase",
"id": "Kobuleti",
"radials": [
0,
45,
90,
135,
180,
225,
315
],
"size": 600,
"importance": 1.1
},
{
"type": "carrier",
"id": 1001,
"x": -285810.6875,
"y": 496399.1875,
"captured_invert": true
},
{
"type": "lha",
"id": 1002,
"x": -326050.6875,
"y": 519452.1875,
"captured_invert": true
}
],
"enemy_points": [
{
"type": "airbase",
"id": "Kutaisi",
"size": 600,
"importance": 1
},
{
"type": "airbase",
"id": "Senaki-Kolkhi",
"size": 1000,
"importance": 1
},
{
"type": "airbase",
"id": "Sukhumi-Babushara",
"radials": [
315,
0,
45,
90,
135
],
"size": 1000,
"importance": 1.2
},
{
"type": "airbase",
"id": "Gudauta",
"radials": [
315,
0,
45,
90,
135
],
"size": 1000,
"importance": 1.2
},
{
"type": "airbase",
"id": "Sochi-Adler",
"radials": [
315,
0,
45,
90,
135
],
"size": 2000,
"importance": 1.4,
"captured_invert": true
}
],
"links": [
[
"Kutaisi",
"Senaki-Kolkhi"
],
"enemy_points": [
{
"type": "airbase",
"id": "Kutaisi",
"size": 600,
"importance": 1
},
{
"type": "airbase",
"id": "Senaki-Kolkhi",
"size": 1000,
"importance": 1
},
{
"type": "airbase",
"id": "Sukhumi-Babushara",
"radials": [
315,
0,
45,
90,
135
],
"size": 1000,
"importance": 1.2
},
{
"type": "airbase",
"id": "Gudauta",
"radials": [
315,
0,
45,
90,
135
],
"size": 1000,
"importance": 1.2
},
{
"type": "airbase",
"id": "Sochi-Adler",
"radials": [
315,
0,
45,
90,
135
],
"size": 2000,
"importance": 1.4,
"captured_invert": true
}
[
"Kobuleti",
"Senaki-Kolkhi"
],
"links": [
[
"Kutaisi",
"Senaki-Kolkhi"
],
[
"Kobuleti",
"Senaki-Kolkhi"
],
[
"Senaki-Kolkhi",
"Sukhumi-Babushara"
],
[
"Gudauta",
"Sukhumi-Babushara"
],
[
"Gudauta",
"Sochi-Adler"
]
[
"Senaki-Kolkhi",
"Sukhumi-Babushara"
],
[
"Gudauta",
"Sukhumi-Babushara"
],
[
"Gudauta",
"Sochi-Adler"
]
]
}

View File

@ -0,0 +1,65 @@
{
"country": "USA",
"name": "Allies 1944",
"authors": "Khopa",
"description": "",
"aircrafts": [
"P_51D",
"P_51D_30_NA",
"P_47D_30",
"SpitfireLFMkIX",
"SpitfireLFMkIXCW",
"A_20G",
"B_17G"
],
"frontline_units": [
"MT_M4A4_Sherman_Firefly",
"MT_M4_Sherman",
"APC_M2A1",
"CT_Cromwell_IV",
"ST_Centaur_IV",
"HIT_Churchill_VII",
"M30_Cargo_Carrier",
"LAC_M8_Greyhound",
"TD_M10_GMC"
],
"artillery_units": [
"M12_GMC"
],
"logistics_units": [
"Bedford_MWD",
"CCKW_353"
],
"infantry_units": [
"Infantry_SMLE_No_4_Mk_1",
"Infantry_M1_Garand"
],
"shorads": [
"BoforsGenerator"
],
"sams": [
"BoforsGenerator"
],
"aircraft_carrier": [
],
"helicopter_carrier": [
],
"destroyers": [
],
"cruisers": [
],
"requirements": {
"WW2 Asset Pack": "https://www.digitalcombatsimulator.com/en/products/other/wwii_assets_pack/"
},
"carrier_names": [
],
"helicopter_carrier_names": [
],
"navy_generators": [
"WW2LSTGroupGenerator"
],
"navy_group_count": 1,
"has_jtac": false,
"doctrine": "ww2",
"building_set": "ww2ally"
}

View File

@ -0,0 +1,63 @@
{
"country": "Australia",
"name": "Australia 2005",
"authors": "Khopa",
"description": "",
"aircrafts": [
"FA_18C_hornet",
"UH_1H",
"AH_1W"
],
"awacs": [
"E_3A"
],
"tankers": [
"KC_135",
"KC130"
],
"frontline_units": [
"MBT_M1A2_Abrams",
"MBT_Leopard_1A3",
"APC_M113",
"IFV_LAV_25",
"IFV_MCV_80"
],
"artillery_units": [
],
"logistics_units": [
"Transport_M818"
],
"infantry_units": [
"Infantry_M4",
"Soldier_M249"
],
"shorads": [
"RapierGenerator"
],
"sams": [
"HawkGenerator",
"RapierGenerator"
],
"aircraft_carrier": [
],
"helicopter_carrier": [
"LHA_1_Tarawa"
],
"destroyers": [
"USS_Arleigh_Burke_IIa"
],
"cruisers": [
],
"requirements": {},
"carrier_names": [
],
"helicopter_carrier_names": [
"HMAS Canberra",
"HMAS Adelaide"
],
"navy_generators": [
"ArleighBurkeGroupGenerator"
],
"has_jtac": true,
"jtac_unit": "MQ_9_Reaper"
}

View File

@ -0,0 +1,78 @@
{
"country": "Combined Joint Task Forces Blue",
"name": "Bluefor Coldwar",
"authors": "Khopa",
"description": "",
"aircrafts": [
"F_14B",
"F_4E",
"F_5E_3",
"A_10A",
"AJS37",
"UH_1H",
"SA342M",
"SA342L",
"B_52H"
],
"awacs": [
"C_130",
"E_3A"
],
"tankers": [
"KC_135",
"KC130"
],
"frontline_units": [
"MBT_M60A3_Patton",
"APC_M113"
],
"artillery_units": [
"SPH_M109_Paladin"
],
"logistics_units": [
"Transport_M818"
],
"infantry_units": [
"Infantry_M4",
"Soldier_M249"
],
"shorads": [
"VulcanGenerator"
],
"sams": [
"HawkGenerator",
"ChaparralGenerator"
],
"aircraft_carrier": [
"CVN_74_John_C__Stennis"
],
"helicopter_carrier": [
"LHA_1_Tarawa"
],
"destroyers": [
"USS_Arleigh_Burke_IIa"
],
"cruisers": [
"Ticonderoga_class"
],
"requirements": {},
"carrier_names": [
"CVN-71 Theodore Roosevelt",
"CVN-72 Abraham Lincoln",
"CVN-73 George Washington",
"CVN-74 John C. Stennis"
],
"helicopter_carrier_names": [
"LHA-1 Tarawa",
"LHA-2 Saipan",
"LHA-3 Belleau Wood",
"LHA-4 Nassau",
"LHA-5 Peleliu"
],
"navy_generators": [
"ArleighBurkeGroupGenerator"
],
"has_jtac": true,
"jtac_unit": "MQ_9_Reaper",
"doctrine": "coldwar"
}

View File

@ -0,0 +1,81 @@
{
"country": "Combined Joint Task Forces Blue",
"name": "Bluefor Coldwar (With A4)",
"authors": "Khopa",
"description": "",
"aircrafts": [
"F_14B",
"F_4E",
"F_5E_3",
"A_10A",
"AJS37",
"UH_1H",
"SA342M",
"SA342L",
"A_4E_C",
"B_52H"
],
"awacs": [
"C_130",
"E_3A"
],
"tankers": [
"KC_135",
"KC130"
],
"frontline_units": [
"MBT_M60A3_Patton",
"APC_M113"
],
"artillery_units": [
"SPH_M109_Paladin"
],
"logistics_units": [
"Transport_M818"
],
"infantry_units": [
"Infantry_M4",
"Soldier_M249"
],
"shorads": [
"VulcanGenerator"
],
"sams": [
"HawkGenerator",
"ChaparralGenerator"
],
"aircraft_carrier": [
"CVN_74_John_C__Stennis"
],
"helicopter_carrier": [
"LHA_1_Tarawa"
],
"destroyers": [
"USS_Arleigh_Burke_IIa"
],
"cruisers": [
"Ticonderoga_class"
],
"requirements": {
"Community A-4E": "https://heclak.github.io/community-a4e-c/"
},
"carrier_names": [
"CVN-71 Theodore Roosevelt",
"CVN-72 Abraham Lincoln",
"CVN-73 George Washington",
"CVN-74 John C. Stennis"
],
"helicopter_carrier_names": [
"LHA-1 Tarawa",
"LHA-2 Saipan",
"LHA-3 Belleau Wood",
"LHA-4 Nassau",
"LHA-5 Peleliu"
],
"navy_generators": [
"ArleighBurkeGroupGenerator"
],
"has_jtac": true,
"jtac_unit": "MQ_9_Reaper",
"doctrine": "coldwar"
}

View File

@ -0,0 +1,82 @@
{
"country": "Combined Joint Task Forces Blue",
"name": "Bluefor Coldwar (With A4 & MB339)",
"authors": "Khopa",
"description": "",
"aircrafts": [
"F_14B",
"F_4E",
"F_5E_3",
"A_10A",
"AJS37",
"UH_1H",
"SA342M",
"SA342L",
"A_4E_C",
"MB_339PAN",
"B_52H"
],
"awacs": [
"C_130",
"E_3A"
],
"tankers": [
"KC_135",
"KC130"
],
"frontline_units": [
"MBT_M60A3_Patton",
"APC_M113"
],
"artillery_units": [
"SPH_M109_Paladin"
],
"logistics_units": [
"Transport_M818"
],
"infantry_units": [
"Infantry_M4",
"Soldier_M249"
],
"shorads": [
"VulcanGenerator"
],
"sams": [
"HawkGenerator",
"ChaparralGenerator"
],
"aircraft_carrier": [
"CVN_74_John_C__Stennis"
],
"helicopter_carrier": [
"LHA_1_Tarawa"
],
"destroyers": [
"USS_Arleigh_Burke_IIa"
],
"cruisers": [
"Ticonderoga_class"
],
"requirements": {
"Community A-4E": "https://heclak.github.io/community-a4e-c/"
},
"carrier_names": [
"CVN-71 Theodore Roosevelt",
"CVN-72 Abraham Lincoln",
"CVN-73 George Washington",
"CVN-74 John C. Stennis"
],
"helicopter_carrier_names": [
"LHA-1 Tarawa",
"LHA-2 Saipan",
"LHA-3 Belleau Wood",
"LHA-4 Nassau",
"LHA-5 Peleliu"
],
"navy_generators": [
"ArleighBurkeGroupGenerator"
],
"has_jtac": true,
"jtac_unit": "MQ_9_Reaper",
"doctrine": "coldwar"
}

View File

@ -0,0 +1,96 @@
{
"country": "Combined Joint Task Forces Blue",
"name": "Bluefor Modern",
"authors": "Khopa",
"description": "",
"aircrafts": [
"F_14B",
"F_15C",
"F_16C_50",
"FA_18C_hornet",
"JF_17",
"M_2000C",
"F_5E_3",
"Su_27",
"Su_25T",
"A_10A",
"A_10C",
"A_10C_2",
"AV8BNA",
"AJS37",
"UH_1H",
"AH_64D",
"Ka_50",
"SA342M",
"SA342L",
"B_52H",
"B_1B"
],
"awacs": [
"E_3A"
],
"tankers": [
"KC_135",
"KC130"
],
"frontline_units": [
"MBT_M1A2_Abrams",
"MBT_Leopard_2",
"MBT_Merkava_Mk__4",
"ATGM_M1134_Stryker",
"IFV_M2A2_Bradley",
"IFV_Marder",
"IFV_LAV_25",
"APC_M1043_HMMWV_Armament",
"ATGM_M1045_HMMWV_TOW"
],
"artillery_units": [
"MLRS_M270",
"SPH_M109_Paladin"
],
"logistics_units": [
"Transport_M818"
],
"infantry_units": [
"Infantry_M4",
"Soldier_M249"
],
"shorads": [
"AvengerGenerator"
],
"sams": [
"HawkGenerator",
"PatriotGenerator"
],
"aircraft_carrier": [
"CVN_74_John_C__Stennis"
],
"helicopter_carrier": [
"LHA_1_Tarawa"
],
"destroyers": [
"USS_Arleigh_Burke_IIa"
],
"cruisers": [
"Ticonderoga_class"
],
"requirements": {},
"carrier_names": [
"CVN-71 Theodore Roosevelt",
"CVN-72 Abraham Lincoln",
"CVN-73 George Washington",
"CVN-74 John C. Stennis"
],
"helicopter_carrier_names": [
"LHA-1 Tarawa",
"LHA-2 Saipan",
"LHA-3 Belleau Wood",
"LHA-4 Nassau",
"LHA-5 Peleliu"
],
"navy_generators": [
"ArleighBurkeGroupGenerator"
],
"has_jtac": true,
"jtac_unit": "MQ_9_Reaper"
}

View File

@ -0,0 +1,61 @@
{
"country": "Canada",
"name": "Canada 2005",
"authors": "Khopa",
"description": "",
"aircrafts": [
"FA_18C_hornet",
"UH_1H",
"AH_1W"
],
"awacs": [
"E_3A"
],
"tankers": [
"KC_135",
"KC130"
],
"frontline_units": [
"MBT_Leopard_1A3",
"MBT_Leopard_2",
"IFV_LAV_25",
"APC_M113",
"IFV_MCV_80"
],
"artillery_units": [
],
"logistics_units": [
"Transport_M818"
],
"infantry_units": [
"Infantry_M4",
"Soldier_M249"
],
"shorads": [
"AvengerGenerator"
],
"sams": [
"HawkGenerator",
"AvengerGenerator"
],
"aircraft_carrier": [
],
"helicopter_carrier": [
],
"destroyers": [
"USS_Arleigh_Burke_IIa"
],
"cruisers": [
"Ticonderoga_class"
],
"requirements": {},
"carrier_names": [
],
"helicopter_carrier_names": [
],
"navy_generators": [
"ArleighBurkeGroupGenerator"
],
"has_jtac": true,
"jtac_unit": "MQ_9_Reaper"
}

View File

@ -0,0 +1,83 @@
{
"country": "China",
"name": "China 2010",
"authors": "Khopa",
"description": "",
"aircrafts": [
"MiG_21Bis",
"Su_30",
"Su_33",
"J_11A",
"JF_17",
"Mi_8MT",
"Mi_28N"
],
"awacs": [
"KJ_2000"
],
"tankers": [
"IL_78M"
],
"frontline_units": [
"ZTZ_96B",
"MBT_T_55",
"ZBD_04A",
"IFV_BMP_1"
],
"artillery_units": [
"MLRS_9A52_Smerch",
"SPH_2S9_Nona"
],
"logistics_units": [
"Transport_Ural_375",
"Transport_UAZ_469"
],
"infantry_units": [
"Paratrooper_AKS",
"Infantry_Soldier_Rus",
"Paratrooper_RPG_16"
],
"shorads": [
"SA9Generator",
"SA13Generator",
"ZSU23Generator",
"ZU23Generator"
],
"sams": [
"HQ7Generator",
"SA10Generator",
"SA6Generator"
],
"aircraft_carrier": [
"CV_1143_5_Admiral_Kuznetsov"
],
"carrier_names": [
"001 Liaoning",
"002 Shandong"
],
"helicopter_carrier": [
"Type_071_Amphibious_Transport_Dock"
],
"helicopter_carrier_names": [
"Kunlun Shan",
"Jinggang Shan",
"Changbai Shan",
"Yimeng Shan",
"Longhu Shan",
"Wuzhi Shan",
"Wudang Shan"
],
"destroyers": [
"Type_052B_Destroyer",
"Type_052C_Destroyer"
],
"cruiser": [
"Type_054A_Frigate"
],
"requirements": {},
"navy_generators": [
"Type54GroupGenerator"
],
"has_jtac": true,
"jtac_unit": "WingLoong_I"
}

View File

@ -0,0 +1,72 @@
{
"country": "France",
"name": "France 1995",
"authors": "Khopa",
"description": "",
"aircrafts": [
"M_2000C",
"Mirage_2000_5",
"SA342M",
"SA342L",
"SA342Mistral"
],
"awacs": [
"E_3A"
],
"tankers": [
"KC_135",
"KC130"
],
"frontline_units": [
"MBT_Leclerc",
"TPz_Fuchs",
"APC_Cobra",
"ATGM_M1134_Stryker",
"IFV_LAV_25",
"APC_M1043_HMMWV_Armament",
"ATGM_M1045_HMMWV_TOW"
],
"artillery_units": [
"MLRS_M270",
"SPH_M109_Paladin"
],
"logistics_units": [
"Transport_M818"
],
"infantry_units": [
"Infantry_M4",
"Soldier_M249"
],
"shorads": [
"HQ7Generator",
"RolandGenerator"
],
"sams": [
"RolandGenerator",
"HawkGenerator"
],
"aircraft_carrier": [
],
"helicopter_carrier": [
"LHA_1_Tarawa"
],
"destroyers": [
"USS_Arleigh_Burke_IIa",
"Oliver_Hazzard_Perry_class"
],
"cruisers": [
"Ticonderoga_class"
],
"requirements": {},
"carrier_names": [
],
"helicopter_carrier_names": [
"Jeanne d'Arc"
],
"navy_generators": [
"ArleighBurkeGroupGenerator",
"OliverHazardPerryGroupGenerator"
],
"has_jtac": true,
"jtac_unit": "MQ_9_Reaper"
}

View File

@ -0,0 +1,86 @@
{
"country": "France",
"name": "France 2005 (Modded)",
"authors": "Khopa",
"description": "",
"aircrafts": [
"M_2000C",
"Mirage_2000_5",
"Rafale_M",
"Rafale_A_S",
"SA342M",
"SA342L",
"SA342Mistral"
],
"awacs": [
"E_3A"
],
"tankers": [
"KC_135",
"KC130"
],
"frontline_units": [
"AMX_10RCR",
"AMX_10RCR_SEPAR",
"ERC_90",
"TRM_2000_PAMELA",
"VAB__50",
"VAB_MEPHISTO",
"VAB_T20_13",
"VAB_T20_13",
"VBL__50",
"VBL_AANF1",
"VBAE_CRAB",
"VBAE_CRAB_MMP",
"AMX_30B2",
"Leclerc_Serie_XXI"
],
"artillery_units": [
"MLRS_M270",
"SPH_M109_Paladin"
],
"logistics_units": [
"Transport_M818"
],
"infantry_units": [
"Infantry_M4",
"Soldier_M249"
],
"shorads": [
"HQ7Generator",
"RolandGenerator"
],
"sams": [
"RolandGenerator",
"HawkGenerator"
],
"aircraft_carrier": [
"CVN_74_John_C__Stennis"
],
"helicopter_carrier": [
"LHA_1_Tarawa"
],
"destroyers": [
"USS_Arleigh_Burke_IIa"
],
"cruisers": [
"Ticonderoga_class"
],
"requirements": {
"frenchpack V3.5": "https://forums.eagle.ru/showthread.php?t=279974",
"RAFALE 2.5.5": "https://www.digitalcombatsimulator.com/fr/files/3307478/"
},
"carrier_names": [
"L9013 Mistral",
"L9014 Tonerre",
"L9015 Dixmude"
],
"helicopter_carrier_names": [
"Jeanne d'Arc"
],
"navy_generators": [
"ArleighBurkeGroupGenerator"
],
"has_jtac": true,
"jtac_unit": "MQ_9_Reaper"
}

View File

@ -0,0 +1,59 @@
{
"country": "Third Reich",
"name": "Germany 1944",
"authors": "Khopa",
"description": "",
"aircrafts": [
"FW_190A8",
"FW_190D9",
"Bf_109K_4",
"Ju_88A4"
],
"frontline_units": [
"MT_Pz_Kpfw_IV_Ausf_H",
"APC_Sd_Kfz_251",
"IFV_Sd_Kfz_234_2_Puma",
"TD_Jagdpanzer_IV"
],
"artillery_units": [
"Sturmpanzer_IV_Brummbär"
],
"logistics_units": [
"Blitz_3_6_6700A",
"Kübelwagen_82",
"Sd_Kfz_7",
"Sd_Kfz_2"
],
"infantry_units": [
"Infantry_Mauser_98"
],
"shorads": [
"FlakGenerator"
],
"sams": [
"FlakGenerator"
],
"aircraft_carrier": [
],
"helicopter_carrier": [
],
"destroyers": [
],
"cruisers": [
],
"requirements": {
"WW2 Asset Pack": "https://www.digitalcombatsimulator.com/en/products/other/wwii_assets_pack/"
},
"carrier_names": [
],
"helicopter_carrier_names": [
],
"navy_generators": [
"UBoatGroupGenerator",
"SchnellbootGroupGenerator"
],
"navy_group_count": 2,
"has_jtac": false,
"doctrine": "ww2",
"building_set": "ww2germany"
}

View File

@ -0,0 +1,68 @@
{
"country": "Third Reich",
"name": "Germany 1944",
"authors": "Khopa",
"description": "",
"aircrafts": [
"FW_190A8",
"FW_190D9",
"Bf_109K_4",
"Ju_88A4"
],
"frontline_units": [
"MT_Pz_Kpfw_V_Panther_Ausf_G",
"MT_Pz_Kpfw_IV_Ausf_H",
"HT_Pz_Kpfw_VI_Tiger_I",
"HT_Pz_Kpfw_VI_Ausf__B__Tiger_II",
"APC_Sd_Kfz_251",
"IFV_Sd_Kfz_234_2_Puma",
"Sd_Kfz_184_Elefant",
"TD_Jagdpanther_G1",
"TD_Jagdpanzer_IV"
],
"artillery_units": [
"Sturmpanzer_IV_Brummbär"
],
"logistics_units": [
"Blitz_3_6_6700A",
"Kübelwagen_82",
"Sd_Kfz_7",
"Sd_Kfz_2"
],
"infantry_units": [
"Infantry_Mauser_98"
],
"shorads": [
"FlakGenerator"
],
"sams": [
"FlakGenerator"
],
"aircraft_carrier": [
],
"helicopter_carrier": [
],
"destroyers": [
],
"cruisers": [
],
"requirements": {
"WW2 Asset Pack": "https://www.digitalcombatsimulator.com/en/products/other/wwii_assets_pack/"
},
"carrier_names": [
],
"helicopter_carrier_names": [
],
"navy_generators": [
"UBoatGroupGenerator",
"SchnellbootGroupGenerator"
],
"navy_group_count": 2,
"missiles": [
"V1GroupGenerator"
],
"missiles_group_count": 1,
"has_jtac": false,
"doctrine": "ww2",
"building_set": "ww2germany"
}

View File

@ -0,0 +1,63 @@
{
"country": "Germany",
"name": "Germany 1990",
"authors": "Khopa",
"description": "",
"aircrafts": [
"MiG_29G",
"Tornado_IDS",
"F_4E",
"UH_1H",
"SA342M",
"SA342L"
],
"awacs": [
"E_3A"
],
"tankers": [
"KC_135",
"KC130"
],
"frontline_units": [
"TPz_Fuchs",
"MBT_Leopard_1A3",
"MBT_Leopard_2",
"IFV_Marder"
],
"artillery_units": [
],
"logistics_units": [
"Transport_M818"
],
"infantry_units": [
"Infantry_M4",
"Soldier_M249"
],
"shorads": [
"RolandGenerator"
],
"sams": [
"HawkGenerator",
"RolandGenerator"
],
"aircraft_carrier": [
],
"helicopter_carrier": [
],
"destroyers": [
"Oliver_Hazzard_Perry_class"
],
"cruisers": [
"Ticonderoga_class"
],
"requirements": {},
"carrier_names": [
],
"helicopter_carrier_names": [
],
"navy_generators": [
"OliverHazardPerryGroupGenerator"
],
"has_jtac": true,
"jtac_unit": "MQ_9_Reaper"
}

View File

@ -0,0 +1,71 @@
{
"country": "India",
"name": "India 2010",
"authors": "Khopa",
"description": "",
"aircrafts": [
"Mirage_2000_5",
"M_2000C",
"MiG_27K",
"MiG_21Bis",
"MiG_29S",
"Su_30",
"AH_64A",
"Mi_8MT"
],
"awacs": [
"A_50"
],
"tankers": [
"IL_78M"
],
"frontline_units": [
"MBT_T_90",
"MBT_T_72B",
"IFV_BMP_2"
],
"artillery_units": [
"MLRS_9K57_Uragan_BM_27",
"SPH_2S19_Msta"
],
"logistics_units": [
"Transport_Ural_375",
"Transport_UAZ_469"
],
"infantry_units": [
"Infantry_M4",
"Paratrooper_RPG_16"
],
"shorads": [
"SA8Generator",
"SA13Generator",
"SA19Generator",
"ZSU23Generator"
],
"sams": [
"SA6Generator",
"SA3Generator"
],
"aircraft_carrier": [
"CV_1143_5_Admiral_Kuznetsov"
],
"helicopter_carrier": [
],
"helicopter_carrier_names": [
],
"destroyers": [
"FF_1135M_Rezky"
],
"cruisers": [
],
"requirements": {},
"carrier_names": [
"INS Vikramaditya"
],
"navy_generators": [
"OliverHazardPerryGroupGenerator",
"MolniyaGroupGenerator"
],
"has_jtac": true,
"jtac_unit": "MQ_9_Reaper"
}

View File

@ -0,0 +1,35 @@
{
"country": "Insurgents",
"name": "Insurgents",
"authors": "Khopa",
"description": "",
"aircrafts": [
],
"frontline_units": [
"APC_Cobra",
"APC_MTLB",
"ARV_BRDM_2",
"AAA_ZU_23_Insurgent_on_Ural_375"
],
"artillery_units": [
"MLRS_9K57_Uragan_BM_27",
"SPH_2S19_Msta"
],
"logistics_units": [
"Transport_Ural_375",
"Transport_UAZ_469"
],
"infantry_units": [
"Infantry_Soldier_Insurgents",
"Soldier_RPG"
],
"shorads": [
"SA9Generator",
"ZU23Generator",
"ZSU23Generator"
],
"sams": [
"ZU23Generator",
"ZSU23Generator"
]
}

View File

@ -0,0 +1,39 @@
{
"country": "Insurgents",
"name": "Insurgents (Modded)",
"authors": "Khopa",
"description": "",
"aircrafts": [
],
"frontline_units": [
"DIM__TOYOTA_BLUE",
"DIM__TOYOTA_DESERT",
"DIM__TOYOTA_GREEN",
"DIM__KAMIKAZE",
"AAA_ZU_23_Insurgent_on_Ural_375"
],
"artillery_units": [
"MLRS_9K57_Uragan_BM_27",
"SPH_2S19_Msta"
],
"logistics_units": [
"Transport_Ural_375",
"Transport_UAZ_469"
],
"infantry_units": [
"Infantry_Soldier_Insurgents",
"Soldier_RPG"
],
"shorads": [
"SA9Generator",
"ZU23Generator",
"ZSU23Generator"
],
"sams": [
"ZU23Generator",
"ZSU23Generator"
],
"requirements": {
"frenchpack V3.5": "https://forums.eagle.ru/showthread.php?t=279974"
}
}

View File

@ -0,0 +1,78 @@
{
"country": "Iran",
"name": "Iran 2015",
"authors": "Khopa",
"description": "",
"aircrafts": [
"MiG_21Bis",
"MiG_29A",
"F_4E",
"F_5E_3",
"F_14B",
"Su_17M4",
"Su_24M",
"Su_25",
"Su_25T",
"Mi_28N",
"Mi_24V"
],
"awacs": [
"A_50"
],
"tankers": [
"IL_78M"
],
"frontline_units": [
"APC_M113",
"APC_BTR_80",
"MBT_M60A3_Patton",
"IFV_BMP_1",
"MBT_T_72B"
],
"artillery_units": [
"MLRS_BM_21_Grad",
"SPH_2S19_Msta"
],
"logistics_units": [
"Transport_Ural_375",
"Transport_UAZ_469"
],
"infantry_units": [
"Paratrooper_AKS",
"Infantry_Soldier_Insurgents",
"Paratrooper_RPG_16"
],
"shorads": [
"HQ7Generator",
"ZSU23Generator"
],
"sams": [
"SA2Generator",
"SA6Generator",
"SA11Generator",
"HawkGenerator",
"HQ7Generator"
],
"aircraft_carrier": [
],
"helicopter_carrier": [
],
"helicopter_carrier_names": [
],
"destroyers": [
"FF_1135M_Rezky"
],
"cruisers": [
"FSG_1241_1MP_Molniya"
],
"requirements": {},
"carrier_names": [
],
"navy_generators": [
"GrishaGroupGenerator",
"MolniyaGroupGenerator",
"KiloSubGroupGenerator"
],
"has_jtac": true,
"jtac_unit": "MQ_9_Reaper"
}

Some files were not shown because too many files have changed in this diff Show More