Make mod selection nicer and deprecate MB-339.

Mod selection is now done via checkbox in the new game wizard.

The MB-339 is being turned into a paid module, and the free mod no longer works, so it's been removed.
This commit is contained in:
Simon Clark 2021-06-21 00:03:22 +01:00
parent d074500109
commit 11069cc219
35 changed files with 198 additions and 1805 deletions

View File

@ -14,6 +14,7 @@ Saves from 3.x are not compatible with 4.0.
* **[Campaign]** Squadrons now have a maximum size and killed pilots replenish at a limited rate.
* **[Campaign]** Added an option to disable levelling up of AI pilots.
* **[Campaign]** Added Russian Intervention 2015 campaign on Syria.
* **[Campaign AI]** AI will plan Tanker flights.
* **[Campaign AI]** Removed max distance for AEW&C auto planning.
* **[Economy]** Adjusted prices for aircraft to balance out some price inconsistencies.
@ -25,6 +26,8 @@ Saves from 3.x are not compatible with 4.0.
* **[UI]** Multiple waypoints can now be deleted simultaneously if multiple waypoints are selected.
* **[UI]** Carriers and LHAs now match the colour of airfields, and their destination icons are translucent.
* **[UI]** Updated intel box text for first turn.
* **[Units/Factions/Mods]** Removes MB-339PAN support, as the mod is now deprecated and no longer works with DCS 2.7+.
* **[New Game Wizard]** Mods are now selected via checkboxes in the new game wizard, not as separate factions.
## Fixes

View File

@ -44,12 +44,10 @@ from pydcs_extensions.a4ec.a4ec import A_4E_C
from pydcs_extensions.f22a.f22a import F_22A
from pydcs_extensions.hercules.hercules import Hercules
from pydcs_extensions.jas39.jas39 import JAS39Gripen, JAS39Gripen_AG
from pydcs_extensions.mb339.mb339 import MB_339PAN
from pydcs_extensions.su57.su57 import Su_57
plane_map["A-4E-C"] = A_4E_C
plane_map["F-22A"] = F_22A
plane_map["MB-339PAN"] = MB_339PAN
plane_map["Su-57"] = Su_57
plane_map["Hercules"] = Hercules
plane_map["JAS39Gripen"] = JAS39Gripen

View File

@ -1,3 +1,4 @@
from game.dcs.aircrafttype import AircraftType
import itertools
import logging
import random
@ -10,13 +11,14 @@ from dcs.action import Coalition
from dcs.mapping import Point
from dcs.task import CAP, CAS, PinpointStrike
from dcs.vehicles import AirDefence
from pydcs_extensions.a4ec.a4ec import A_4E_C
from faker import Faker
from game import db
from game.inventory import GlobalAircraftInventory
from game.models.game_stats import GameStats
from game.plugins import LuaPluginManager
from gen import naming
from gen import aircraft, naming
from gen.ato import AirTaskingOrder
from gen.conflictgen import Conflict
from gen.flights.ai_flight_planner import CoalitionMissionPlanner
@ -33,7 +35,7 @@ from .infos.information import Information
from .navmesh import NavMesh
from .procurement import AircraftProcurementRequest, ProcurementAi
from .profiling import logged_duration
from .settings import Settings, AutoAtoBehavior
from .settings import ModSettings, Settings, AutoAtoBehavior
from .squadrons import AirWing
from .theater import ConflictTheater
from .theater.bullseye import Bullseye
@ -93,8 +95,10 @@ class Game:
settings: Settings,
player_budget: float,
enemy_budget: float,
mod_settings: ModSettings,
) -> None:
self.settings = settings
self.mod_settings = mod_settings
self.events: List[Event] = []
self.theater = theater
self.player_name = player_name
@ -123,6 +127,8 @@ class Game:
self.conditions = self.generate_conditions()
self.apply_mods()
self.blue_transit_network = TransitNetwork()
self.red_transit_network = TransitNetwork()
@ -201,6 +207,84 @@ class Game:
else:
self.enemy_country = "Russia"
def apply_mods(self):
# aircraft
if not self.mod_settings.a4_skyhawk:
self.remove_aircraft("A-4E-C")
if not self.mod_settings.hercules:
self.remove_aircraft("Hercules")
if not self.mod_settings.f22_raptor:
self.remove_aircraft("F-22A")
if not self.mod_settings.jas39_gripen:
self.remove_aircraft("JAS39Gripen")
self.remove_aircraft("JAS39Gripen_AG")
if not self.mod_settings.su57_felon:
self.remove_aircraft("Su-57")
# frenchpack
if not self.mod_settings.frenchpack:
self.remove_vehicle("AMX10RCR")
self.remove_vehicle("SEPAR")
self.remove_vehicle("ERC")
self.remove_vehicle("M120")
self.remove_vehicle("AA20")
self.remove_vehicle("TRM2000")
self.remove_vehicle("TRM2000_Citerne")
self.remove_vehicle("TRM2000_AA20")
self.remove_vehicle("TRMMISTRAL")
self.remove_vehicle("VABH")
self.remove_vehicle("VAB_RADIO")
self.remove_vehicle("VAB_50")
self.remove_vehicle("VIB_VBR")
self.remove_vehicle("VAB_HOT")
self.remove_vehicle("VAB_MORTIER")
self.remove_vehicle("VBL50")
self.remove_vehicle("VBLANF1")
self.remove_vehicle("VBL-radio")
self.remove_vehicle("VBAE")
self.remove_vehicle("VBAE_MMP")
self.remove_vehicle("AMX-30B2")
self.remove_vehicle("Tracma")
self.remove_vehicle("JTACFP")
self.remove_vehicle("SHERIDAN")
self.remove_vehicle("Leclerc_XXI")
self.remove_vehicle("Toyota_bleu")
self.remove_vehicle("Toyota_vert")
self.remove_vehicle("Toyota_desert")
self.remove_vehicle("Kamikaze")
# high digit sams
if not self.mod_settings.high_digit_sams:
self.remove_air_defenses("SA10BGenerator")
self.remove_air_defenses("SA12Generator")
self.remove_air_defenses("SA20Generator")
self.remove_air_defenses("SA20BGenerator")
self.remove_air_defenses("SA23Generator")
self.remove_air_defenses("SA17Generator")
self.remove_air_defenses("KS19Generator")
def remove_aircraft(self, name):
for i in self.player_faction.aircrafts:
if i.dcs_unit_type.id == name:
self.player_faction.aircrafts.remove(i)
for i in self.enemy_faction.aircrafts:
if i.dcs_unit_type.id == name:
self.enemy_faction.aircrafts.remove(i)
def remove_air_defenses(self, name):
for i in self.player_faction.air_defenses:
if i == name:
self.player_faction.air_defenses.remove(i)
for i in self.enemy_faction.air_defenses:
if i == name:
self.enemy_faction.air_defenses.remove(i)
def remove_vehicle(self, name):
for i in self.player_faction.frontline_units:
if i.dcs_unit_type.id == name:
self.player_faction.frontline_units.remove(i)
for i in self.enemy_faction.frontline_units:
if i.dcs_unit_type.id == name:
self.enemy_faction.frontline_units.remove(i)
@property
def player_faction(self) -> Faction:
return db.FACTIONS[self.player_name]

View File

@ -110,3 +110,16 @@ class Settings:
new_state = Settings().__dict__
new_state.update(state)
self.__dict__.update(new_state)
@dataclass
class ModSettings:
# Aircraft Mods
a4_skyhawk: bool = False
f22_raptor: bool = False
hercules: bool = False
jas39_gripen: bool = False
su57_felon: bool = False
# Ground Asset Mods
frenchpack: bool = False
high_digit_sams: bool = False

View File

@ -49,7 +49,7 @@ from . import (
OffMapSpawn,
)
from ..profiling import logged_duration
from ..settings import Settings
from ..settings import ModSettings, Settings
GroundObjectTemplates = Dict[str, Dict[str, Any]]
@ -86,12 +86,14 @@ class GameGenerator:
theater: ConflictTheater,
settings: Settings,
generator_settings: GeneratorSettings,
mod_settings: ModSettings,
) -> None:
self.player = player
self.enemy = enemy
self.theater = theater
self.settings = settings
self.generator_settings = generator_settings
self.mod_settings = mod_settings
def generate(self) -> Game:
with logged_duration("TGO population"):
@ -106,6 +108,7 @@ class GameGenerator:
settings=self.settings,
player_budget=self.generator_settings.player_budget,
enemy_budget=self.generator_settings.enemy_budget,
mod_settings=self.mod_settings,
)
GroundObjectGenerator(game, self.generator_settings).generate()

View File

@ -111,7 +111,6 @@ from pydcs_extensions.a4ec.a4ec import A_4E_C
from pydcs_extensions.f22a.f22a import F_22A
from pydcs_extensions.hercules.hercules import Hercules
from pydcs_extensions.jas39.jas39 import JAS39Gripen, JAS39Gripen_AG
from pydcs_extensions.mb339.mb339 import MB_339PAN
from pydcs_extensions.su57.su57 import Su_57
# All aircraft lists are in priority order. Aircraft higher in the list will be
@ -219,7 +218,6 @@ CAS_CAPABLE = [
F_5E_3,
F_86F_Sabre,
C_101CC,
MB_339PAN,
L_39ZA,
A_20G,
Ju_88A4,
@ -332,7 +330,6 @@ STRIKE_CAPABLE = [
MiG_15bis,
F_5E_3,
F_86F_Sabre,
MB_339PAN,
C_101CC,
L_39ZA,
B_17G,

View File

@ -1,539 +0,0 @@
from enum import Enum
from dcs import task
from dcs.planes import PlaneType
from dcs.weapons_data import Weapons
from pydcs_extensions.weapon_injector import inject_weapons
class MB_339PAN_Weapons:
ARF8M3_TP = {"clsid": "{ARF8M3_TP}", "name": "ARF8M3 TP", "weight": None}
BRD_4_250_4_MK_76_2_ARF_8M3TP_ = {
"clsid": "{BRD-4-250}",
"name": "BRD-4-250(4*MK.76+2*ARF-8M3TP)",
"weight": 137.6,
}
Color_Oil_Tank = {"clsid": "{COLOR-TANK}", "name": "Color Oil Tank", "weight": 183}
Empty_Pylon = {"clsid": "{VOID-PYLON-MB339A}", "name": "Empty Pylon", "weight": 20}
Fuel_Tank_330lt = {
"clsid": "{FUEL-SUBAL_TANK-330}",
"name": "Fuel Tank 330lt",
"weight": 315,
}
GunPod_AN_M3 = {"clsid": "{MB339-AN-M3_L}", "name": "GunPod AN/M3", "weight": 75}
GunPod_AN_M3_ = {"clsid": "{MB339-AN-M3_R}", "name": "GunPod AN/M3", "weight": 75}
GunPod_DEFA553 = {
"clsid": "{MB339-DEFA553_L}",
"name": "GunPod DEFA553",
"weight": 190,
}
GunPod_DEFA553_ = {
"clsid": "{MB339-DEFA553_R}",
"name": "GunPod DEFA553",
"weight": 190,
}
LAU_10___4_ZUNI_MK_71___ = {
"clsid": "{LAU-10}",
"name": "LAU-10 - 4 ZUNI MK 71",
"weight": 308,
}
LR_25___25_ARF_8M3_API_ = {
"clsid": "{LR-25API}",
"name": "LR-25 - 25 ARF/8M3(API)",
"weight": 141,
}
LR_25___25_ARF_8M3_HEI_ = {
"clsid": "{LR-25HEI}",
"name": "LR-25 - 25 ARF/8M3(HEI)",
"weight": 161,
}
MAK79_2_MK_20 = {"clsid": "{MAK79_MK20 2L}", "name": "MAK79 2 MK-20", "weight": 464}
MAK79_2_MK_20_ = {
"clsid": "{MAK79_MK20 2R}",
"name": "MAK79 2 MK-20",
"weight": 464,
}
MAK79_MK_20 = {"clsid": "{MAK79_MK20 1R}", "name": "MAK79 MK-20", "weight": 232}
MAK79_MK_20_ = {"clsid": "{MAK79_MK20 1L}", "name": "MAK79 MK-20", "weight": 232}
MB339_Black_Smoke = {
"clsid": "{SMOKE-BLACK-MB339}",
"name": "MB339 Black Smoke",
"weight": 1,
}
MB339_Green_Smoke = {
"clsid": "{SMOKE-GREEN-MB339}",
"name": "MB339 Green Smoke",
"weight": 1,
}
MB339_ORANGE_Smoke = {
"clsid": "{SMOKE-ORANGE-MB339}",
"name": "MB339 ORANGE Smoke",
"weight": 1,
}
MB339_Red_Smoke = {
"clsid": "{SMOKE-RED-MB339}",
"name": "MB339 Red Smoke",
"weight": 1,
}
MB339_White_Smoke = {
"clsid": "{SMOKE-WHITE-MB339}",
"name": "MB339 White Smoke",
"weight": 1,
}
MB339_YELLOW_Smoke = {
"clsid": "{SMOKE-YELLOW-MB339}",
"name": "MB339 YELLOW Smoke",
"weight": 1,
}
MK76 = {"clsid": "{MK76}", "name": "MK76", "weight": 11.3}
Tip_Fuel_Tank_500lt = {
"clsid": "{FUEL-TIP-TANK-500-L}",
"name": "Tip Fuel Tank 500lt",
"weight": 471,
}
Tip_Fuel_Tank_500lt_ = {
"clsid": "{FUEL-TIP-TANK-500-R}",
"name": "Tip Fuel Tank 500lt",
"weight": 471,
}
Tip_Fuel_Tank_Ellittici_320lt = {
"clsid": "{FUEL-TIP-ELLITTIC-L}",
"name": "Tip Fuel Tank Ellittici 320lt",
"weight": 314.2,
}
Tip_Fuel_Tank_Ellittici_320lt_ = {
"clsid": "{FUEL-TIP-ELLITTIC-R}",
"name": "Tip Fuel Tank Ellittici 320lt",
"weight": 314.2,
}
inject_weapons(MB_339PAN_Weapons)
class MB_339PAN(PlaneType):
id = "MB-339PAN"
flyable = True
height = 4.77
width = 10.5
length = 12.13
fuel_max = 626
max_speed = 763.2
category = "Interceptor" # {78EFB7A2-FD52-4b57-A6A6-3BF0E1D6555F}
radio_frequency = 124
panel_radio = {
1: {
"channels": {
1: 225,
2: 258,
4: 270,
8: 257,
16: 252,
17: 268,
9: 253,
18: 269,
5: 255,
10: 263,
20: 269,
11: 267,
3: 260,
6: 259,
12: 254,
13: 264,
7: 262,
14: 266,
19: 268,
15: 265,
},
},
2: {
"channels": {
1: 225,
2: 258,
4: 270,
8: 257,
16: 252,
17: 268,
9: 253,
18: 269,
5: 255,
10: 263,
20: 269,
30: 263,
21: 225,
11: 267,
22: 258,
3: 260,
6: 259,
12: 254,
24: 270,
19: 268,
25: 255,
13: 264,
26: 259,
27: 262,
7: 262,
14: 266,
28: 257,
23: 260,
29: 253,
15: 265,
},
},
}
property_defaults = {
"SoloFlight": False,
"NetCrewControlPriority": 1,
}
class Properties:
class SoloFlight:
id = "SoloFlight"
class NetCrewControlPriority:
id = "NetCrewControlPriority"
class Values:
Pilot = 0
Instructor = 1
Ask_Always = -1
Equally_Responsible = -2
class Liveries:
class Georgia(Enum):
MB339AA__ARMADA____Crippa = "MB339AA 'ARMADA' - Crippa"
MB339AA__ARMADA____Yellow_Band = "MB339AA 'ARMADA' - Yellow Band"
MB339__Factory = "MB339 'Factory'"
class Syria(Enum):
MB339AA__ARMADA____Crippa = "MB339AA 'ARMADA' - Crippa"
MB339AA__ARMADA____Yellow_Band = "MB339AA 'ARMADA' - Yellow Band"
MB339__Factory = "MB339 'Factory'"
class Finland(Enum):
MB339AA__ARMADA____Crippa = "MB339AA 'ARMADA' - Crippa"
MB339AA__ARMADA____Yellow_Band = "MB339AA 'ARMADA' - Yellow Band"
MB339__Factory = "MB339 'Factory'"
class Australia(Enum):
MB339AA__ARMADA____Crippa = "MB339AA 'ARMADA' - Crippa"
MB339AA__ARMADA____Yellow_Band = "MB339AA 'ARMADA' - Yellow Band"
MB339__Factory = "MB339 'Factory'"
class Germany(Enum):
MB339AA__ARMADA____Crippa = "MB339AA 'ARMADA' - Crippa"
MB339AA__ARMADA____Yellow_Band = "MB339AA 'ARMADA' - Yellow Band"
MB339__Factory = "MB339 'Factory'"
class SaudiArabia(Enum):
MB339AA__ARMADA____Crippa = "MB339AA 'ARMADA' - Crippa"
MB339AA__ARMADA____Yellow_Band = "MB339AA 'ARMADA' - Yellow Band"
MB339__Factory = "MB339 'Factory'"
class Israel(Enum):
MB339AA__ARMADA____Crippa = "MB339AA 'ARMADA' - Crippa"
MB339AA__ARMADA____Yellow_Band = "MB339AA 'ARMADA' - Yellow Band"
MB339__Factory = "MB339 'Factory'"
class Croatia(Enum):
MB339AA__ARMADA____Crippa = "MB339AA 'ARMADA' - Crippa"
MB339AA__ARMADA____Yellow_Band = "MB339AA 'ARMADA' - Yellow Band"
MB339__Factory = "MB339 'Factory'"
class CzechRepublic(Enum):
MB339AA__ARMADA____Crippa = "MB339AA 'ARMADA' - Crippa"
MB339AA__ARMADA____Yellow_Band = "MB339AA 'ARMADA' - Yellow Band"
MB339__Factory = "MB339 'Factory'"
class Norway(Enum):
MB339AA__ARMADA____Crippa = "MB339AA 'ARMADA' - Crippa"
MB339AA__ARMADA____Yellow_Band = "MB339AA 'ARMADA' - Yellow Band"
MB339__Factory = "MB339 'Factory'"
class Romania(Enum):
MB339AA__ARMADA____Crippa = "MB339AA 'ARMADA' - Crippa"
MB339AA__ARMADA____Yellow_Band = "MB339AA 'ARMADA' - Yellow Band"
MB339__Factory = "MB339 'Factory'"
class Spain(Enum):
MB339AA__ARMADA____Crippa = "MB339AA 'ARMADA' - Crippa"
MB339AA__ARMADA____Yellow_Band = "MB339AA 'ARMADA' - Yellow Band"
MB339__Factory = "MB339 'Factory'"
class Ukraine(Enum):
MB339AA__ARMADA____Crippa = "MB339AA 'ARMADA' - Crippa"
MB339AA__ARMADA____Yellow_Band = "MB339AA 'ARMADA' - Yellow Band"
MB339__Factory = "MB339 'Factory'"
class Belgium(Enum):
MB339AA__ARMADA____Crippa = "MB339AA 'ARMADA' - Crippa"
MB339AA__ARMADA____Yellow_Band = "MB339AA 'ARMADA' - Yellow Band"
MB339__Factory = "MB339 'Factory'"
class Slovakia(Enum):
MB339AA__ARMADA____Crippa = "MB339AA 'ARMADA' - Crippa"
MB339AA__ARMADA____Yellow_Band = "MB339AA 'ARMADA' - Yellow Band"
MB339__Factory = "MB339 'Factory'"
class Greece(Enum):
MB339AA__ARMADA____Crippa = "MB339AA 'ARMADA' - Crippa"
MB339AA__ARMADA____Yellow_Band = "MB339AA 'ARMADA' - Yellow Band"
MB339__Factory = "MB339 'Factory'"
class UK(Enum):
MB339AA__ARMADA____Crippa = "MB339AA 'ARMADA' - Crippa"
MB339AA__ARMADA____Yellow_Band = "MB339AA 'ARMADA' - Yellow Band"
MB339__Factory = "MB339 'Factory'"
class Insurgents(Enum):
MB339AA__ARMADA____Crippa = "MB339AA 'ARMADA' - Crippa"
MB339AA__ARMADA____Yellow_Band = "MB339AA 'ARMADA' - Yellow Band"
MB339__Factory = "MB339 'Factory'"
class Hungary(Enum):
MB339AA__ARMADA____Crippa = "MB339AA 'ARMADA' - Crippa"
MB339AA__ARMADA____Yellow_Band = "MB339AA 'ARMADA' - Yellow Band"
MB339__Factory = "MB339 'Factory'"
class France(Enum):
MB339AA__ARMADA____Crippa = "MB339AA 'ARMADA' - Crippa"
MB339AA__ARMADA____Yellow_Band = "MB339AA 'ARMADA' - Yellow Band"
MB339__Factory = "MB339 'Factory'"
class Abkhazia(Enum):
MB339AA__ARMADA____Crippa = "MB339AA 'ARMADA' - Crippa"
MB339AA__ARMADA____Yellow_Band = "MB339AA 'ARMADA' - Yellow Band"
MB339__Factory = "MB339 'Factory'"
class Russia(Enum):
MB339AA__ARMADA____Crippa = "MB339AA 'ARMADA' - Crippa"
MB339AA__ARMADA____Yellow_Band = "MB339AA 'ARMADA' - Yellow Band"
MB339__Factory = "MB339 'Factory'"
class Sweden(Enum):
MB339AA__ARMADA____Crippa = "MB339AA 'ARMADA' - Crippa"
MB339AA__ARMADA____Yellow_Band = "MB339AA 'ARMADA' - Yellow Band"
MB339__Factory = "MB339 'Factory'"
class Austria(Enum):
MB339AA__ARMADA____Crippa = "MB339AA 'ARMADA' - Crippa"
MB339AA__ARMADA____Yellow_Band = "MB339AA 'ARMADA' - Yellow Band"
MB339__Factory = "MB339 'Factory'"
class Switzerland(Enum):
MB339AA__ARMADA____Crippa = "MB339AA 'ARMADA' - Crippa"
MB339AA__ARMADA____Yellow_Band = "MB339AA 'ARMADA' - Yellow Band"
MB339__Factory = "MB339 'Factory'"
class Italy(Enum):
MB339PAN__Frecce_Tricolori = "MB339PAN 'Frecce Tricolori'"
MB339A__SVBIA____FACTORY = "MB339A 'SVBIA' - FACTORY"
MB339A__61BRIGATA____CAMO = "MB339A '61BRIGATA' - CAMO"
MB339A__61STORMO____CAMO = "MB339A '61STORMO' - CAMO"
MB339A__61STORMO____GREY = "MB339A '61STORMO' - GREY"
MB339AA__ARMADA____Crippa = "MB339AA 'ARMADA' - Crippa"
MB339AA__ARMADA____Yellow_Band = "MB339AA 'ARMADA' - Yellow Band"
MB339__Factory = "MB339 'Factory'"
class SouthOssetia(Enum):
MB339AA__ARMADA____Crippa = "MB339AA 'ARMADA' - Crippa"
MB339AA__ARMADA____Yellow_Band = "MB339AA 'ARMADA' - Yellow Band"
MB339__Factory = "MB339 'Factory'"
class SouthKorea(Enum):
MB339AA__ARMADA____Crippa = "MB339AA 'ARMADA' - Crippa"
MB339AA__ARMADA____Yellow_Band = "MB339AA 'ARMADA' - Yellow Band"
MB339__Factory = "MB339 'Factory'"
class Iran(Enum):
MB339AA__ARMADA____Crippa = "MB339AA 'ARMADA' - Crippa"
MB339AA__ARMADA____Yellow_Band = "MB339AA 'ARMADA' - Yellow Band"
MB339__Factory = "MB339 'Factory'"
class China(Enum):
MB339AA__ARMADA____Crippa = "MB339AA 'ARMADA' - Crippa"
MB339AA__ARMADA____Yellow_Band = "MB339AA 'ARMADA' - Yellow Band"
MB339__Factory = "MB339 'Factory'"
class Pakistan(Enum):
MB339AA__ARMADA____Crippa = "MB339AA 'ARMADA' - Crippa"
MB339AA__ARMADA____Yellow_Band = "MB339AA 'ARMADA' - Yellow Band"
MB339__Factory = "MB339 'Factory'"
class Belarus(Enum):
MB339AA__ARMADA____Crippa = "MB339AA 'ARMADA' - Crippa"
MB339AA__ARMADA____Yellow_Band = "MB339AA 'ARMADA' - Yellow Band"
MB339__Factory = "MB339 'Factory'"
class NorthKorea(Enum):
MB339AA__ARMADA____Crippa = "MB339AA 'ARMADA' - Crippa"
MB339AA__ARMADA____Yellow_Band = "MB339AA 'ARMADA' - Yellow Band"
MB339__Factory = "MB339 'Factory'"
class Iraq(Enum):
MB339AA__ARMADA____Crippa = "MB339AA 'ARMADA' - Crippa"
MB339AA__ARMADA____Yellow_Band = "MB339AA 'ARMADA' - Yellow Band"
MB339__Factory = "MB339 'Factory'"
class Kazakhstan(Enum):
MB339AA__ARMADA____Crippa = "MB339AA 'ARMADA' - Crippa"
MB339AA__ARMADA____Yellow_Band = "MB339AA 'ARMADA' - Yellow Band"
MB339__Factory = "MB339 'Factory'"
class Bulgaria(Enum):
MB339AA__ARMADA____Crippa = "MB339AA 'ARMADA' - Crippa"
MB339AA__ARMADA____Yellow_Band = "MB339AA 'ARMADA' - Yellow Band"
MB339__Factory = "MB339 'Factory'"
class Serbia(Enum):
MB339AA__ARMADA____Crippa = "MB339AA 'ARMADA' - Crippa"
MB339AA__ARMADA____Yellow_Band = "MB339AA 'ARMADA' - Yellow Band"
MB339__Factory = "MB339 'Factory'"
class India(Enum):
MB339AA__ARMADA____Crippa = "MB339AA 'ARMADA' - Crippa"
MB339AA__ARMADA____Yellow_Band = "MB339AA 'ARMADA' - Yellow Band"
MB339__Factory = "MB339 'Factory'"
class USAFAggressors(Enum):
MB339AA__ARMADA____Crippa = "MB339AA 'ARMADA' - Crippa"
MB339AA__ARMADA____Yellow_Band = "MB339AA 'ARMADA' - Yellow Band"
MB339__Factory = "MB339 'Factory'"
class USA(Enum):
MB339AA__ARMADA____Crippa = "MB339AA 'ARMADA' - Crippa"
MB339AA__ARMADA____Yellow_Band = "MB339AA 'ARMADA' - Yellow Band"
MB339__Factory = "MB339 'Factory'"
class Denmark(Enum):
MB339AA__ARMADA____Crippa = "MB339AA 'ARMADA' - Crippa"
MB339AA__ARMADA____Yellow_Band = "MB339AA 'ARMADA' - Yellow Band"
MB339__Factory = "MB339 'Factory'"
class Egypt(Enum):
MB339AA__ARMADA____Crippa = "MB339AA 'ARMADA' - Crippa"
MB339AA__ARMADA____Yellow_Band = "MB339AA 'ARMADA' - Yellow Band"
MB339__Factory = "MB339 'Factory'"
class Canada(Enum):
MB339AA__ARMADA____Crippa = "MB339AA 'ARMADA' - Crippa"
MB339AA__ARMADA____Yellow_Band = "MB339AA 'ARMADA' - Yellow Band"
MB339__Factory = "MB339 'Factory'"
class TheNetherlands(Enum):
MB339AA__ARMADA____Crippa = "MB339AA 'ARMADA' - Crippa"
MB339AA__ARMADA____Yellow_Band = "MB339AA 'ARMADA' - Yellow Band"
MB339__Factory = "MB339 'Factory'"
class Turkey(Enum):
MB339AA__ARMADA____Crippa = "MB339AA 'ARMADA' - Crippa"
MB339AA__ARMADA____Yellow_Band = "MB339AA 'ARMADA' - Yellow Band"
MB339__Factory = "MB339 'Factory'"
class Japan(Enum):
MB339AA__ARMADA____Crippa = "MB339AA 'ARMADA' - Crippa"
MB339AA__ARMADA____Yellow_Band = "MB339AA 'ARMADA' - Yellow Band"
MB339__Factory = "MB339 'Factory'"
class Poland(Enum):
MB339AA__ARMADA____Crippa = "MB339AA 'ARMADA' - Crippa"
MB339AA__ARMADA____Yellow_Band = "MB339AA 'ARMADA' - Yellow Band"
MB339__Factory = "MB339 'Factory'"
class Pylon1:
Tip_Fuel_Tank_500lt = (1, MB_339PAN_Weapons.Tip_Fuel_Tank_500lt)
Tip_Fuel_Tank_Ellittici_320lt = (
1,
MB_339PAN_Weapons.Tip_Fuel_Tank_Ellittici_320lt,
)
class Pylon2:
Empty_Pylon = (2, MB_339PAN_Weapons.Empty_Pylon)
LR_25___25_ARF_8M3_HEI_ = (2, MB_339PAN_Weapons.LR_25___25_ARF_8M3_HEI_)
LR_25___25_ARF_8M3_API_ = (2, MB_339PAN_Weapons.LR_25___25_ARF_8M3_API_)
Mk_82 = (2, Weapons.Mk_82)
Matra_Type_155_Rocket_Pod = (2, Weapons.Matra_Type_155_Rocket_Pod)
class Pylon3:
Fuel_Tank_330lt = (3, MB_339PAN_Weapons.Fuel_Tank_330lt)
Empty_Pylon = (3, MB_339PAN_Weapons.Empty_Pylon)
LR_25___25_ARF_8M3_HEI_ = (3, MB_339PAN_Weapons.LR_25___25_ARF_8M3_HEI_)
LR_25___25_ARF_8M3_API_ = (3, MB_339PAN_Weapons.LR_25___25_ARF_8M3_API_)
Mk_82 = (3, Weapons.Mk_82)
LAU_10___4_ZUNI_MK_71___ = (3, MB_339PAN_Weapons.LAU_10___4_ZUNI_MK_71___)
BRD_4_250_4_MK_76_2_ARF_8M3TP_ = (
3,
MB_339PAN_Weapons.BRD_4_250_4_MK_76_2_ARF_8M3TP_,
)
Matra_Type_155_Rocket_Pod = (3, Weapons.Matra_Type_155_Rocket_Pod)
class Pylon4:
Color_Oil_Tank = (4, MB_339PAN_Weapons.Color_Oil_Tank)
Empty_Pylon = (4, MB_339PAN_Weapons.Empty_Pylon)
GunPod_AN_M3 = (4, MB_339PAN_Weapons.GunPod_AN_M3)
GunPod_DEFA553 = (4, MB_339PAN_Weapons.GunPod_DEFA553)
LR_25___25_ARF_8M3_HEI_ = (4, MB_339PAN_Weapons.LR_25___25_ARF_8M3_HEI_)
LR_25___25_ARF_8M3_API_ = (4, MB_339PAN_Weapons.LR_25___25_ARF_8M3_API_)
Mk_82 = (4, Weapons.Mk_82)
Matra_Type_155_Rocket_Pod = (4, Weapons.Matra_Type_155_Rocket_Pod)
class Pylon5:
MB339_Red_Smoke = (5, MB_339PAN_Weapons.MB339_Red_Smoke)
MB339_Green_Smoke = (5, MB_339PAN_Weapons.MB339_Green_Smoke)
MB339_YELLOW_Smoke = (5, MB_339PAN_Weapons.MB339_YELLOW_Smoke)
MB339_ORANGE_Smoke = (5, MB_339PAN_Weapons.MB339_ORANGE_Smoke)
MB339_Black_Smoke = (5, MB_339PAN_Weapons.MB339_Black_Smoke)
class Pylon6:
MB339_White_Smoke = (6, MB_339PAN_Weapons.MB339_White_Smoke)
class Pylon7:
Color_Oil_Tank = (7, MB_339PAN_Weapons.Color_Oil_Tank)
Empty_Pylon = (7, MB_339PAN_Weapons.Empty_Pylon)
GunPod_AN_M3_ = (7, MB_339PAN_Weapons.GunPod_AN_M3_)
GunPod_DEFA553_ = (7, MB_339PAN_Weapons.GunPod_DEFA553_)
LR_25___25_ARF_8M3_HEI_ = (7, MB_339PAN_Weapons.LR_25___25_ARF_8M3_HEI_)
LR_25___25_ARF_8M3_API_ = (7, MB_339PAN_Weapons.LR_25___25_ARF_8M3_API_)
Mk_82 = (7, Weapons.Mk_82)
Matra_Type_155_Rocket_Pod = (7, Weapons.Matra_Type_155_Rocket_Pod)
class Pylon8:
Fuel_Tank_330lt = (8, MB_339PAN_Weapons.Fuel_Tank_330lt)
Empty_Pylon = (8, MB_339PAN_Weapons.Empty_Pylon)
LR_25___25_ARF_8M3_HEI_ = (8, MB_339PAN_Weapons.LR_25___25_ARF_8M3_HEI_)
LR_25___25_ARF_8M3_API_ = (8, MB_339PAN_Weapons.LR_25___25_ARF_8M3_API_)
Mk_82 = (8, Weapons.Mk_82)
LAU_10___4_ZUNI_MK_71___ = (8, MB_339PAN_Weapons.LAU_10___4_ZUNI_MK_71___)
Matra_Type_155_Rocket_Pod = (8, Weapons.Matra_Type_155_Rocket_Pod)
BRD_4_250_4_MK_76_2_ARF_8M3TP_ = (
8,
MB_339PAN_Weapons.BRD_4_250_4_MK_76_2_ARF_8M3TP_,
)
class Pylon9:
Empty_Pylon = (9, MB_339PAN_Weapons.Empty_Pylon)
LR_25___25_ARF_8M3_HEI_ = (9, MB_339PAN_Weapons.LR_25___25_ARF_8M3_HEI_)
LR_25___25_ARF_8M3_API_ = (9, MB_339PAN_Weapons.LR_25___25_ARF_8M3_API_)
Mk_82 = (9, Weapons.Mk_82)
Matra_Type_155_Rocket_Pod = (9, Weapons.Matra_Type_155_Rocket_Pod)
class Pylon10:
Tip_Fuel_Tank_500lt_ = (10, MB_339PAN_Weapons.Tip_Fuel_Tank_500lt_)
Tip_Fuel_Tank_Ellittici_320lt_ = (
10,
MB_339PAN_Weapons.Tip_Fuel_Tank_Ellittici_320lt_,
)
pylons = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
tasks = [
task.GroundAttack,
task.RunwayAttack,
task.CAS,
task.AntishipStrike,
task.Reconnaissance,
]
task_default = task.Nothing

View File

@ -3,13 +3,11 @@ from pydcs_extensions.f22a.f22a import F_22A
from pydcs_extensions.hercules.hercules import Hercules
from pydcs_extensions.highdigitsams import highdigitsams
from pydcs_extensions.jas39.jas39 import JAS39Gripen, JAS39Gripen_AG
from pydcs_extensions.mb339.mb339 import MB_339PAN
from pydcs_extensions.su57.su57 import Su_57
import pydcs_extensions.frenchpack.frenchpack as frenchpack
MODDED_AIRPLANES = [
A_4E_C,
MB_339PAN,
Su_57,
F_22A,
Hercules,

View File

@ -19,7 +19,7 @@ from game.data.weapons import (
Weapon,
)
from game.profiling import logged_duration
from game.settings import Settings
from game.settings import ModSettings, Settings
from game.theater.start_generator import GameGenerator, GeneratorSettings
from qt_ui import (
liberation_install,
@ -221,6 +221,15 @@ def create_game(
no_player_navy=False,
no_enemy_navy=False,
),
ModSettings(
a4_skyhawk=False,
f22_raptor=False,
hercules=False,
jas39_gripen=False,
su57_felon=False,
frenchpack=False,
high_digit_sams=False,
),
)
return generator.generate()

View File

@ -10,7 +10,7 @@ from PySide2.QtWidgets import QVBoxLayout, QTextEdit, QLabel, QCheckBox
from jinja2 import Environment, FileSystemLoader, select_autoescape
from game import db
from game.settings import Settings
from game.settings import Settings, ModSettings
from game.theater.start_generator import GameGenerator, GeneratorSettings
from qt_ui.widgets.QLiberationCalendar import QLiberationCalendar
from qt_ui.widgets.spinsliders import TenthsSpinSlider, TimeInputs, CurrencySpinner
@ -102,6 +102,15 @@ class NewGameWizard(QtWidgets.QWizard):
no_player_navy=self.field("no_player_navy"),
no_enemy_navy=self.field("no_enemy_navy"),
)
mod_settings = ModSettings(
a4_skyhawk=self.field("a4_skyhawk"),
f22_raptor=self.field("f22_raptor"),
hercules=self.field("hercules"),
jas39_gripen=self.field("jas39_gripen"),
su57_felon=self.field("su57_felon"),
frenchpack=self.field("frenchpack"),
high_digit_sams=self.field("high_digit_sams"),
)
blue_faction = [c for c in db.FACTIONS][self.field("blueFaction")]
red_faction = [c for c in db.FACTIONS][self.field("redFaction")]
@ -111,6 +120,7 @@ class NewGameWizard(QtWidgets.QWizard):
campaign.load_theater(),
settings,
generator_settings,
mod_settings,
)
self.generatedGame = generator.generate()
@ -196,14 +206,6 @@ class FactionSelection(QtWidgets.QWizardPage):
self.factionsGroupLayout.addLayout(self.redGroupLayout)
self.factionsGroup.setLayout(self.factionsGroupLayout)
# Create required mod layout
self.requiredModsGroup = QtWidgets.QGroupBox("Required Mods")
self.requiredModsGroupLayout = QtWidgets.QHBoxLayout()
self.requiredMods = QtWidgets.QLabel("<ul><li>None</li></ul>")
self.requiredMods.setOpenExternalLinks(True)
self.requiredModsGroupLayout.addWidget(self.requiredMods)
self.requiredModsGroup.setLayout(self.requiredModsGroupLayout)
# Docs Link
docsText = QtWidgets.QLabel(
'<a href="https://github.com/dcs-liberation/dcs_liberation/wiki/Custom-Factions"><span style="color:#FFFFFF;">How to create your own faction</span></a>'
@ -218,7 +220,6 @@ class FactionSelection(QtWidgets.QWizardPage):
# Build layout
layout = QtWidgets.QVBoxLayout()
layout.addWidget(self.factionsGroup)
layout.addWidget(self.requiredModsGroup)
layout.addWidget(docsText)
self.setLayout(layout)
self.updateUnitRecap()
@ -257,43 +258,6 @@ class FactionSelection(QtWidgets.QWizardPage):
self.blueFactionDescription.setText(blue_faction_txt)
self.redFactionDescription.setText(red_faction_txt)
# Compute mod requirements txt
self.requiredMods.setText("<ul>")
has_mod = False
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>"
)
if len(blue_faction.requirements.keys()) > 0:
has_mod = True
for mod in blue_faction.requirements.keys():
if 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")
else:
self.requiredMods.setText(self.requiredMods.text() + "<li>None</li></ul>\n")
class TheaterConfiguration(QtWidgets.QWizardPage):
def __init__(
@ -561,8 +525,42 @@ class GeneratorOptions(QtWidgets.QWizardPage):
generatorLayout.addLayout(desired_player_mission_duration, 6, 0)
generatorSettingsGroup.setLayout(generatorLayout)
modSettingsGroup = QtWidgets.QGroupBox("Mod Settings")
a4_skyhawk = QtWidgets.QCheckBox()
self.registerField("a4_skyhawk", a4_skyhawk)
hercules = QtWidgets.QCheckBox()
self.registerField("hercules", hercules)
f22_raptor = QtWidgets.QCheckBox()
self.registerField("f22_raptor", f22_raptor)
jas39_gripen = QtWidgets.QCheckBox()
self.registerField("jas39_gripen", jas39_gripen)
su57_felon = QtWidgets.QCheckBox()
self.registerField("su57_felon", su57_felon)
frenchpack = QtWidgets.QCheckBox()
self.registerField("frenchpack", frenchpack)
high_digit_sams = QtWidgets.QCheckBox()
self.registerField("high_digit_sams", high_digit_sams)
modLayout = QtWidgets.QGridLayout()
modLayout.addWidget(QtWidgets.QLabel("A-4E Skyhawk"), 1, 0)
modLayout.addWidget(a4_skyhawk, 1, 1)
modLayout.addWidget(QtWidgets.QLabel("F-22A Raptor"), 2, 0)
modLayout.addWidget(f22_raptor, 2, 1)
modLayout.addWidget(QtWidgets.QLabel("C-130J-30 Super Hercules"), 3, 0)
modLayout.addWidget(hercules, 3, 1)
modLayout.addWidget(QtWidgets.QLabel("JAS 39 Gripen"), 4, 0)
modLayout.addWidget(jas39_gripen, 4, 1)
modLayout.addWidget(QtWidgets.QLabel("Su-57 Felon"), 5, 0)
modLayout.addWidget(su57_felon, 5, 1)
modLayout.addWidget(QtWidgets.QLabel("Frenchpack"), 6, 0)
modLayout.addWidget(frenchpack, 6, 1)
modLayout.addWidget(QtWidgets.QLabel("High Digit SAMs"), 7, 0)
modLayout.addWidget(high_digit_sams, 7, 1)
modSettingsGroup.setLayout(modLayout)
mlayout = QVBoxLayout()
mlayout.addWidget(generatorSettingsGroup)
mlayout.addWidget(modSettingsGroup)
self.setLayout(mlayout)

View File

@ -1,164 +0,0 @@
local unitPayloads = {
["name"] = "MB-339PAN",
["payloads"] = {
[1] = {
["name"] = "CAP",
["pylons"] = {
[1] = {
["CLSID"] = "{MB339-DEFA553_R}",
["num"] = 7,
},
[2] = {
["CLSID"] = "{MB339-DEFA553_L}",
["num"] = 4,
},
[3] = {
["CLSID"] = "{FUEL-TIP-ELLITTIC-L}",
["num"] = 1,
},
[4] = {
["CLSID"] = "{FUEL-TIP-ELLITTIC-R}",
["num"] = 10,
},
},
["tasks"] = {
},
},
[2] = {
["name"] = "CAS",
["pylons"] = {
[1] = {
["CLSID"] = "{FUEL-TIP-TANK-500-R}",
["num"] = 10,
},
[2] = {
["CLSID"] = "{FUEL-TIP-TANK-500-L}",
["num"] = 1,
},
[3] = {
["CLSID"] = "{LAU-10}",
["num"] = 3,
},
[4] = {
["CLSID"] = "{LAU-10}",
["num"] = 8,
},
[5] = {
["CLSID"] = "{MB339-DEFA553_L}",
["num"] = 4,
},
[6] = {
["CLSID"] = "{MB339-DEFA553_R}",
["num"] = 7,
},
},
["tasks"] = {
},
},
[3] = {
["name"] = "ANTISHIP",
["pylons"] = {
[1] = {
["CLSID"] = "{FUEL-TIP-TANK-500-R}",
["num"] = 10,
},
[2] = {
["CLSID"] = "{FUEL-TIP-TANK-500-L}",
["num"] = 1,
},
[3] = {
["CLSID"] = "{LAU-10}",
["num"] = 3,
},
[4] = {
["CLSID"] = "{LAU-10}",
["num"] = 8,
},
[5] = {
["CLSID"] = "{MB339-DEFA553_L}",
["num"] = 4,
},
[6] = {
["CLSID"] = "{MB339-DEFA553_R}",
["num"] = 7,
},
},
["tasks"] = {
},
},
[4] = {
["name"] = "STRIKE",
["pylons"] = {
[1] = {
["CLSID"] = "{FUEL-TIP-TANK-500-R}",
["num"] = 10,
},
[2] = {
["CLSID"] = "{FUEL-TIP-TANK-500-L}",
["num"] = 1,
},
[3] = {
["CLSID"] = "{BCE4E030-38E9-423E-98ED-24BE3DA87C32}",
["num"] = 3,
},
[4] = {
["CLSID"] = "{BCE4E030-38E9-423E-98ED-24BE3DA87C32}",
["num"] = 8,
},
[5] = {
["CLSID"] = "{MB339-AN-M3_L}",
["num"] = 4,
},
[6] = {
["CLSID"] = "{MB339-AN-M3_R}",
["num"] = 7,
},
[7] = {
["CLSID"] = "{BCE4E030-38E9-423E-98ED-24BE3DA87C32}",
["num"] = 9,
},
[8] = {
["CLSID"] = "{BCE4E030-38E9-423E-98ED-24BE3DA87C32}",
["num"] = 2,
},
},
["tasks"] = {
},
},
[5] = {
["name"] = "SEAD",
["pylons"] = {
[1] = {
["CLSID"] = "{FUEL-TIP-TANK-500-R}",
["num"] = 10,
},
[2] = {
["CLSID"] = "{FUEL-TIP-TANK-500-L}",
["num"] = 1,
},
[3] = {
["CLSID"] = "{LAU-10}",
["num"] = 3,
},
[4] = {
["CLSID"] = "{LAU-10}",
["num"] = 8,
},
[5] = {
["CLSID"] = "{MB339-AN-M3_L}",
["num"] = 4,
},
[6] = {
["CLSID"] = "{MB339-AN-M3_R}",
["num"] = 7,
},
},
["tasks"] = {
},
},
},
["tasks"] = {
},
["unitType"] = "MB-339PAN",
}
return unitPayloads

View File

@ -1,10 +1,11 @@
{
"country": "Australia",
"name": "Australia 2005",
"authors": "Khopa",
"authors": "Khopa, SpaceEnthusiast",
"description": "<p>The Australian army in 2005.</p><p>Some units might not be accurate, but were picked to represent at best this army.</p>",
"aircrafts": [
"AH-1W SuperCobra",
"C-130J-30 Super Hercules",
"F/A-18C Hornet (Lot 20)",
"SH-60B Seahawk",
"UH-1H Iroquois"
@ -47,7 +48,9 @@
"USS_Arleigh_Burke_IIa"
],
"cruisers": [],
"requirements": {},
"requirements": {
"C-130J-30 Super Hercules Mod by Anubis": "https://forums.eagle.ru/topic/252075-dcs-super-hercules-mod-by-anubis/"
},
"carrier_names": [],
"helicopter_carrier_names": [
"HMAS Canberra",

View File

@ -1,70 +0,0 @@
{
"country": "Australia",
"name": "Australia 2005 (With C-130)",
"authors": "Khopa, SpaceEnthusiast",
"description": "<p>The Australian army in 2005.</p><p>Some units might not be accurate, but were picked to represent at best this army.</p>",
"aircrafts": [
"AH-1W SuperCobra",
"C-130J-30 Super Hercules",
"F/A-18C Hornet (Lot 20)",
"SH-60B Seahawk",
"UH-1H Iroquois"
],
"awacs": [
"E-3A"
],
"tankers": [
"KC-130",
"KC-135 Stratotanker"
],
"frontline_units": [
"FV510 Warrior",
"LAV-25",
"Leopard 1A3",
"M113",
"M1A2 Abrams"
],
"artillery_units": [],
"logistics_units": [
"Truck M818 6x6"
],
"infantry_units": [
"Infantry M249",
"Infantry M4",
"MANPADS Stinger"
],
"air_defenses": [
"HawkGenerator",
"RapierGenerator"
],
"ewrs": [
"HawkEwrGenerator"
],
"aircraft_carrier": [],
"helicopter_carrier": [
"LHA_Tarawa"
],
"destroyers": [
"USS_Arleigh_Burke_IIa"
],
"cruisers": [],
"requirements": {
"C-130J-30 Super Hercules Mod by Anubis": "https://forums.eagle.ru/topic/252075-dcs-super-hercules-mod-by-anubis/"
},
"carrier_names": [],
"helicopter_carrier_names": [
"HMAS Canberra",
"HMAS Adelaide"
],
"navy_generators": [
"ArleighBurkeGroupGenerator"
],
"has_jtac": true,
"jtac_unit": "MQ-9 Reaper",
"liveries_overrides": {
"F/A-18C Hornet (Lot 20)": [
"Australian 75th Squadron",
"Australian 77th Squadron"
]
}
}

View File

@ -2,9 +2,10 @@
"country": "Combined Joint Task Forces Blue",
"name": "Bluefor Coldwar",
"authors": "Khopa",
"description": "<p>A generic bluefor coldwar faction.</p>",
"description": "<p>A generic bluefor coldwar faction. (With the A-4E-C mod)</p>",
"aircrafts": [
"A-10A Thunderbolt II",
"A-4E Skyhawk",
"AJS-37 Viggen",
"B-52H Stratofortress",
"F-14A Tomcat (Block 135-GR Late)",
@ -60,7 +61,9 @@
"cruisers": [
"TICONDEROG"
],
"requirements": {},
"requirements": {
"Community A-4E": "https://heclak.github.io/community-a4e-c/"
},
"carrier_names": [
"CVN-71 Theodore Roosevelt",
"CVN-72 Abraham Lincoln",

View File

@ -1,86 +0,0 @@
{
"country": "Combined Joint Task Forces Blue",
"name": "Bluefor Coldwar (With A4)",
"authors": "Khopa",
"description": "<p>A generic bluefor coldwar faction. (With the A-4E-C mod)</p>",
"aircrafts": [
"A-10A Thunderbolt II",
"A-4E Skyhawk",
"AJS-37 Viggen",
"B-52H Stratofortress",
"F-14A Tomcat (Block 135-GR Late)",
"F-14B Tomcat",
"F-4E Phantom II",
"F-5E Tiger II",
"SA 342L Gazelle",
"SA 342M Gazelle",
"UH-1H Iroquois"
],
"awacs": [
"C-130",
"E-2C Hawkeye",
"E-3A"
],
"tankers": [
"KC-130",
"KC-135 Stratotanker"
],
"frontline_units": [
"M113",
"M48 Chaparral",
"M60A3 \"Patton\""
],
"artillery_units": [
"M109A6 Paladin"
],
"logistics_units": [
"Truck M818 6x6"
],
"infantry_units": [
"Infantry M249",
"Infantry M4"
],
"air_defenses": [
"ChaparralGenerator",
"EarlyColdWarFlakGenerator",
"HawkGenerator",
"VulcanGenerator"
],
"ewrs": [
"HawkEwrGenerator"
],
"aircraft_carrier": [
"Stennis"
],
"helicopter_carrier": [
"LHA_Tarawa"
],
"destroyers": [
"USS_Arleigh_Burke_IIa"
],
"cruisers": [
"TICONDEROG"
],
"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

@ -1,88 +0,0 @@
{
"country": "Combined Joint Task Forces Blue",
"name": "Bluefor Coldwar (With A4 & MB339)",
"authors": "Khopa",
"description": "<p>A generic bluefor coldwar faction. (With the A-4E-C and the MB-339 mods)</p>",
"aircrafts": [
"A-10A Thunderbolt II",
"A-4E Skyhawk",
"AJS-37 Viggen",
"B-52H Stratofortress",
"F-14A Tomcat (Block 135-GR Late)",
"F-14B Tomcat",
"F-4E Phantom II",
"F-5E Tiger II",
"MB-339PAN",
"SA 342L Gazelle",
"SA 342M Gazelle",
"UH-1H Iroquois"
],
"awacs": [
"C-130",
"E-2C Hawkeye",
"E-3A"
],
"tankers": [
"KC-130",
"KC-135 Stratotanker"
],
"frontline_units": [
"M113",
"M48 Chaparral",
"M60A3 \"Patton\""
],
"artillery_units": [
"M109A6 Paladin"
],
"logistics_units": [
"Truck M818 6x6"
],
"infantry_units": [
"Infantry M249",
"Infantry M4"
],
"air_defenses": [
"ChaparralGenerator",
"EarlyColdWarFlakGenerator",
"HawkGenerator",
"VulcanGenerator"
],
"ewrs": [
"HawkEwrGenerator"
],
"aircraft_carrier": [
"Stennis"
],
"helicopter_carrier": [
"LHA_Tarawa"
],
"destroyers": [
"USS_Arleigh_Burke_IIa"
],
"cruisers": [
"TICONDEROG"
],
"requirements": {
"MB-339A/PAN by Frecce Tricolori Virtuali": "http://www.freccetricolorivirtuali.net/",
"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

@ -1,7 +1,7 @@
{
"country": "Canada",
"name": "Canada 2005",
"authors": "Khopa",
"authors": "Khopa, SpaceEnthusiast",
"description": "<p>Canada in the 2000s, an F/A-18C Hornet focused faction.</p>",
"locales": [
"en_US",
@ -9,6 +9,7 @@
],
"aircrafts": [
"AH-1W SuperCobra",
"C-130J-30 Super Hercules",
"CF-188 Hornet",
"UH-1H Iroquois"
],
@ -52,7 +53,9 @@
"cruisers": [
"TICONDEROG"
],
"requirements": {},
"requirements": {
"C-130J-30 Super Hercules Mod by Anubis": "https://forums.eagle.ru/topic/252075-dcs-super-hercules-mod-by-anubis/"
},
"carrier_names": [],
"helicopter_carrier_names": [],
"navy_generators": [
@ -64,6 +67,9 @@
"CF-188 Hornet": [
"Canada 409th Squadron",
"Canada 425th Squadron"
],
"C-130J-30 Super Hercules": [
"Royal Canadian AF CC-130J"
]
}
}

View File

@ -1,75 +0,0 @@
{
"country": "Canada",
"name": "Canada 2005 (With C-130)",
"authors": "Khopa, SpaceEnthusiast",
"description": "<p>Canada in the 2000s, an F/A-18C Hornet focused faction.</p>",
"locales": [
"en_US",
"fr_CA"
],
"aircrafts": [
"AH-1W SuperCobra",
"C-130J-30 Super Hercules",
"CF-188 Hornet",
"UH-1H Iroquois"
],
"awacs": [
"E-3A"
],
"tankers": [
"KC-130",
"KC-135 Stratotanker"
],
"frontline_units": [
"FV510 Warrior",
"LAV-25",
"Leopard 1A3",
"Leopard 2",
"Leopard 2A4",
"M1097 Heavy HMMWV Avenger",
"M113"
],
"artillery_units": [],
"logistics_units": [
"Truck M818 6x6"
],
"infantry_units": [
"Infantry M249",
"Infantry M4",
"MANPADS Stinger"
],
"air_defenses": [
"AvengerGenerator",
"HawkGenerator"
],
"ewrs": [
"HawkEwrGenerator"
],
"aircraft_carrier": [],
"helicopter_carrier": [],
"destroyers": [
"USS_Arleigh_Burke_IIa"
],
"cruisers": [
"TICONDEROG"
],
"requirements": {
"C-130J-30 Super Hercules Mod by Anubis": "https://forums.eagle.ru/topic/252075-dcs-super-hercules-mod-by-anubis/"
},
"carrier_names": [],
"helicopter_carrier_names": [],
"navy_generators": [
"ArleighBurkeGroupGenerator"
],
"has_jtac": true,
"jtac_unit": "MQ-9 Reaper",
"liveries_overrides": {
"CF-188 Hornet": [
"Canada 409th Squadron",
"Canada 425th Squadron"
],
"C-130J-30 Super Hercules": [
"Royal Canadian AF CC-130J"
]
}
}

View File

@ -1,79 +0,0 @@
{
"country": "France",
"name": "France 1985 (Frenchpack)",
"authors": "Colonel Panic",
"description": "<p>1980s French equipment using FrenchPack.</p>",
"locales": [
"fr_FR"
],
"doctrine": "coldwar",
"aircrafts": [
"Mirage 2000C",
"SA 342L Gazelle",
"SA 342M Gazelle",
"SA 342M Gazelle Mistral"
],
"awacs": [
"E-3A"
],
"tankers": [
"KC-130",
"KC-135 Stratotanker"
],
"frontline_units": [
"AMX.30B2",
"Leclerc S\u00e9ries 2",
"Leclerc S\u00e9ries 2",
"Pamela",
"Panhard",
"Roland 2 (Marder Chassis)",
"VAB .50",
"VAB Mephisto",
"VAB T20/13",
"VBL .50",
"VBL AANF1"
],
"artillery_units": [
"M109A6 Paladin",
"M270 Multiple Launch Rocket System"
],
"logistics_units": [
"Truck M818 6x6"
],
"infantry_units": [
"Infantry M249",
"Infantry M4",
"MANPADS Stinger"
],
"air_defenses": [
"RolandGenerator",
"HawkGenerator"
],
"aircraft_carrier": [],
"helicopter_carrier": [
"LHA_Tarawa"
],
"destroyers": [
"USS_Arleigh_Burke_IIa"
],
"cruisers": [
"TICONDEROG"
],
"requirements": {
"frenchpack V3.5": "https://forums.eagle.ru/showthread.php?t=279974"
},
"carrier_names": [
"R91 Charles de Gaulle"
],
"helicopter_carrier_names": [
"R97 Jeanne d'Arc",
"L9013 Mistral",
"L9014 Tonerre",
"L9015 Dixmude"
],
"navy_generators": [
"ArleighBurkeGroupGenerator"
],
"has_jtac": true,
"jtac_unit": "SA 342L Gazelle"
}

View File

@ -1,86 +0,0 @@
{
"country": "France",
"name": "France 2005 (Frenchpack)",
"authors": "HerrTom",
"description": "<p>French equipment using the Frenchpack, but without the Rafale mod.</p>",
"locales": [
"fr_FR"
],
"aircrafts": [
"Mirage 2000-5",
"Mirage 2000C",
"SA 342L Gazelle",
"SA 342M Gazelle",
"SA 342M Gazelle Mistral"
],
"awacs": [
"E-2C Hawkeye",
"E-3A"
],
"tankers": [
"KC-130",
"KC-135 Stratotanker"
],
"frontline_units": [
"AMX.30B2",
"Leclerc S\u00e9ries 2",
"Leclerc S\u00e9ries 2",
"Leclerc_XXI",
"Pamela",
"Panhard",
"Roland 2 (Marder Chassis)",
"VAB .50",
"VAB Mephisto",
"VAB T20/13",
"VAB T20/13",
"VBAE CRAB",
"VBAE CRAB MMP",
"VBL .50",
"VBL AANF1"
],
"artillery_units": [
"M109A6 Paladin",
"M270 Multiple Launch Rocket System"
],
"logistics_units": [
"Truck M818 6x6"
],
"infantry_units": [
"Infantry M249",
"Infantry M4",
"MANPADS Stinger"
],
"air_defenses": [
"RolandGenerator",
"HawkGenerator"
],
"aircraft_carrier": [
"Stennis"
],
"helicopter_carrier": [
"LHA_Tarawa"
],
"destroyers": [
"USS_Arleigh_Burke_IIa"
],
"cruisers": [
"TICONDEROG"
],
"requirements": {
"frenchpack V3.5": "https://forums.eagle.ru/showthread.php?t=279974"
},
"carrier_names": [
"R91 Charles de Gaulle"
],
"helicopter_carrier_names": [
"R97 Jeanne d'Arc",
"L9013 Mistral",
"L9014 Tonerre",
"L9015 Dixmude"
],
"navy_generators": [
"ArleighBurkeGroupGenerator"
],
"has_jtac": true,
"jtac_unit": "MQ-9 Reaper"
}

View File

@ -5,6 +5,10 @@
"description": "<p>Insurgents faction.</p>",
"aircrafts": [],
"frontline_units": [
"DIM' KAMIKAZE",
"DIM' TOYOTA BLUE",
"DIM' TOYOTA DESERT",
"DIM' TOYOTA GREEN",
"BRDM-2",
"Cobra",
"MT-LB",

View File

@ -5,6 +5,10 @@
"description": "<p>Insurgents faction.</p>",
"aircrafts": [],
"frontline_units": [
"DIM' KAMIKAZE",
"DIM' TOYOTA BLUE",
"DIM' TOYOTA DESERT",
"DIM' TOYOTA GREEN",
"BMP-1",
"BRDM-2",
"BTR-80",

View File

@ -1,35 +0,0 @@
{
"country": "Insurgents",
"name": "Insurgents (Modded)",
"authors": "Khopa",
"description": "<p>Insurgents faction using the modded insurgents units from the frenchpack mods.</p>",
"aircrafts": [],
"frontline_units": [
"DIM' KAMIKAZE",
"DIM' TOYOTA BLUE",
"DIM' TOYOTA DESERT",
"DIM' TOYOTA GREEN",
"ZU-23 on Ural-375"
],
"artillery_units": [
"2S19 Msta-S",
"BM-21 Grad"
],
"logistics_units": [
"LUV UAZ-469 Jeep",
"Truck Ural-375"
],
"infantry_units": [
"Infantry RPG",
"Insurgent AK-74",
"MANPADS SA-18 Igla \"Grouse\""
],
"air_defenses": [
"SA9Generator",
"ZU23Generator",
"ZSU23Generator"
],
"requirements": {
"frenchpack V3.5": "https://forums.eagle.ru/showthread.php?t=279974"
}
}

View File

@ -1,69 +0,0 @@
{
"country": "Italy",
"name": "Italy 1990 (With MB339)",
"authors": "Khopa",
"description": "<p>Italy in the 90s, with the MB339 mod.</p>",
"locales": [
"it_IT"
],
"aircrafts": [
"AH-1W SuperCobra",
"AV-8B Harrier II Night Attack",
"MB-339PAN",
"Tornado IDS",
"UH-1H Iroquois"
],
"awacs": [
"E-3A"
],
"tankers": [
"KC-130",
"KC-135 Stratotanker"
],
"frontline_units": [
"Leopard 1A3",
"M1097 Heavy HMMWV Avenger",
"M113"
],
"artillery_units": [
"M109A6 Paladin"
],
"logistics_units": [
"Truck M818 6x6"
],
"infantry_units": [
"Infantry M249",
"Infantry M4",
"MANPADS Stinger"
],
"air_defenses": [
"AvengerGenerator",
"HawkGenerator"
],
"ewrs": [
"HawkEwrGenerator"
],
"aircraft_carrier": [],
"helicopter_carrier": [
"LHA_Tarawa"
],
"destroyers": [
"PERRY"
],
"cruisers": [
"TICONDEROG"
],
"requirements": {
"MB-339A/PAN by Frecce Tricolori Virtuali": "http://www.freccetricolorivirtuali.net/"
},
"carrier_names": [],
"helicopter_carrier_names": [
"Giuseppe Garibaldi",
"Cavour"
],
"navy_generators": [
"OliverHazardPerryGroupGenerator"
],
"has_jtac": true,
"jtac_unit": "MQ-9 Reaper"
}

View File

@ -1,36 +0,0 @@
{
"country": "USA",
"name": "Private Military Company - USA (MB339)",
"authors": "Khopa",
"description": "<p>A private military company using western units (And using the MB339 mod).</p>",
"aircrafts": [
"C-101CC Aviojet",
"MB-339PAN",
"Mi-8MTV2 Hip",
"SA 342M Gazelle",
"UH-1H Iroquois"
],
"frontline_units": [
"FV510 Warrior",
"LAV-25",
"M1043 HMMWV (M2 HMG)",
"M1097 Heavy HMMWV Avenger"
],
"artillery_units": [],
"logistics_units": [
"Truck M818 6x6"
],
"infantry_units": [
"Infantry M249",
"Infantry M4",
"MANPADS Stinger"
],
"air_defenses": [
"AvengerGenerator"
],
"requirements": {
"MB-339A/PAN by Frecce Tricolori Virtuali": "http://www.freccetricolorivirtuali.net/"
},
"has_jtac": true,
"jtac_unit": "MQ-9 Reaper"
}

View File

@ -66,9 +66,15 @@
"SA11Generator",
"SA13Generator",
"SA15Generator",
"SA17Generator",
"SA19Generator",
"Tier2SA10Generator",
"Tier3SA10Generator",
"SA10BGenerator",
"SA12Generator",
"SA20Generator",
"SA20BGenerator",
"SA23Generator",
"ZSU23Generator",
"ZU23Generator",
"ZU23UralGenerator"

View File

@ -1,99 +0,0 @@
{
"country": "Russia",
"name": "Russia 2010 (High Digit SAMs)",
"authors": "Khopa",
"description": "<p>Russian army in the early 2010s, featuring the High Digit SAMs mod units. </p>",
"locales": [
"ru_RU"
],
"aircrafts": [
"Ka-50 Hokum",
"L-39ZA Albatros",
"Mi-24V Hind-E",
"Mi-24P Hind-F",
"Mi-28N Havoc",
"Mi-8MTV2 Hip",
"MiG-29S Fulcrum-C",
"MiG-31 Foxhound",
"Su-24M Fencer-D",
"Su-25 Frogfoot",
"Su-25T Frogfoot",
"Su-27 Flanker-B",
"Su-30 Flanker-C",
"Su-33 Flanker-D",
"Su-34 Fullback",
"Tu-142 Bear-F",
"Tu-160 Blackjack",
"Tu-22M3 Backfire-C",
"Tu-95MS Bear-H"
],
"awacs": [
"A-50"
],
"tankers": [
"IL-78M"
],
"frontline_units": [
"BMP-1",
"BMP-2",
"BMP-3",
"BTR-80",
"BTR-82A",
"SA-19 Grison (2K22 Tunguska)",
"T-72B3 model 2011",
"T-80UD",
"T-90A"
],
"artillery_units": [
"2S19 Msta-S",
"BM-27 Uragan"
],
"logistics_units": [
"LUV UAZ-469 Jeep",
"Truck Ural-375"
],
"infantry_units": [
"Infantry AK-74 Rus",
"MANPADS SA-18 Igla \"Grouse\"",
"Mortar 2B11 120mm",
"Paratrooper AKS",
"Paratrooper RPG-16"
],
"air_defenses": [
"SA17Generator",
"SA13Generator",
"SA15Generator",
"SA19Generator",
"SA10BGenerator",
"SA12Generator",
"SA20Generator",
"SA20BGenerator",
"SA23Generator"
],
"ewrs": [
"BoxSpringGenerator",
"TallRackGenerator"
],
"aircraft_carrier": [
"KUZNECOW"
],
"helicopter_carrier": [],
"helicopter_carrier_names": [],
"destroyers": [
"REZKY"
],
"cruisers": [
"MOLNIYA"
],
"requirements": {
"High Digit SAMs": "https://github.com/Auranis/HighDigitSAMs/releases"
},
"carrier_names": [
"Admiral Kuznetsov"
],
"navy_generators": [
"RussianNavyGroupGenerator"
],
"has_jtac": true,
"jtac_unit": "MQ-9 Reaper"
}

View File

@ -1,6 +1,6 @@
{
"country": "Russia",
"name": "Russia 2020 (Modded)",
"name": "Russia 2020",
"authors": "Khopa",
"description": "<p>Russia in 2020, using the Su-57 mod by Cubanace.</p>",
"locales": [

View File

@ -1,52 +0,0 @@
{
"country": "Sweden",
"name": "Sweden 2002",
"authors": "Khopa (updated with Gripen by bgreman)",
"description": "<p>Sweden in 2002 after the addition of the Gripen-C.</p>",
"locales": [
"sv_SE"
],
"aircrafts": [
"AJS-37 Viggen",
"JAS 39 Gripen",
"JAS 39 Gripen A/G",
"UH-1H Iroquois"
],
"awacs": [
"E-3A"
],
"tankers": [
"KC-130",
"KC-135 Stratotanker"
],
"frontline_units": [
"FV510 Warrior",
"Leopard 2A4",
"M1097 Heavy HMMWV Avenger",
"M1126 Stryker ICV (M2 HMG)"
],
"artillery_units": [],
"logistics_units": [
"Truck M818 6x6"
],
"infantry_units": [
"Infantry M249",
"Infantry M4",
"MANPADS Stinger"
],
"air_defenses": [
"AvengerGenerator",
"HawkGenerator"
],
"ewrs": [
"HawkEwrGenerator"
],
"navy_generators": [
"OliverHazardPerryGroupGenerator"
],
"requirements": {
"JAS39 Gripen Mod by Community": "https://github.com/whisky-actual/Community-JAS-39-C"
},
"has_jtac": true,
"jtac_unit": "MQ-9 Reaper"
}

View File

@ -7,6 +7,7 @@
"en_US"
],
"aircrafts": [
"A-4E Skyhawk",
"A-10A Thunderbolt II",
"A-10C Thunderbolt II (Suite 3)",
"AH-64D Apache Longbow",

View File

@ -14,6 +14,7 @@
"B-1B Lancer",
"B-52H Stratofortress",
"C-130",
"C-130J-30 Super Hercules",
"C-17A",
"CH-47D",
"CH-53E",
@ -22,6 +23,7 @@
"F-15C Eagle",
"F-15E Strike Eagle",
"F-16CM Fighting Falcon (Block 50)",
"F-22A Raptor",
"F/A-18C Hornet (Lot 20)",
"S-3B Viking",
"SH-60B Seahawk",

View File

@ -1,129 +0,0 @@
{
"country": "USA",
"name": "USA 2005 (With C-130)",
"authors": "Khopa",
"description": "<p>USA in the 2000s.</p>",
"locales": [
"en_US"
],
"aircrafts": [
"A-10C Thunderbolt II (Suite 3)",
"A-10C Thunderbolt II (Suite 7)",
"AH-64D Apache Longbow",
"AV-8B Harrier II Night Attack",
"B-1B Lancer",
"B-52H Stratofortress",
"C-130",
"C-130J-30 Super Hercules",
"C-17A",
"CH-47D",
"CH-53E",
"F-117A Nighthawk",
"F-14B Tomcat",
"F-15C Eagle",
"F-15E Strike Eagle",
"F-16CM Fighting Falcon (Block 50)",
"F/A-18C Hornet (Lot 20)",
"S-3B Viking",
"SH-60B Seahawk",
"UH-1H Iroquois",
"UH-60A"
],
"awacs": [
"E-2C Hawkeye",
"E-3A"
],
"tankers": [
"KC-130",
"KC-135 Stratotanker",
"KC-135 Stratotanker MPRS",
"S-3B Tanker"
],
"frontline_units": [
"LAV-25",
"M1043 HMMWV (M2 HMG)",
"M1045 HMMWV (BGM-71 TOW)",
"M1097 Heavy HMMWV Avenger",
"M1126 Stryker ICV (M2 HMG)",
"M1134 Stryker ATGM (BGM-71 TOW)",
"M1A2 Abrams",
"M2A2 Bradley",
"M6 Linebacker"
],
"artillery_units": [
"M109A6 Paladin",
"M270 Multiple Launch Rocket System"
],
"logistics_units": [
"Truck M818 6x6"
],
"infantry_units": [
"Infantry M249",
"Infantry M4",
"MANPADS Stinger",
"Mortar 2B11 120mm"
],
"air_defenses": [
"AvengerGenerator",
"LinebackerGenerator",
"PatriotGenerator"
],
"ewrs": [
"PatriotEwrGenerator"
],
"aircraft_carrier": [
"Stennis"
],
"helicopter_carrier": [
"LHA_Tarawa"
],
"destroyers": [
"USS_Arleigh_Burke_IIa"
],
"cruisers": [
"TICONDEROG"
],
"requirements": {
"C-130J-30 Super Hercules Mod by Anubis": "https://forums.eagle.ru/topic/252075-dcs-super-hercules-mod-by-anubis/"
},
"carrier_names": [
"CVN-71 Theodore Roosevelt",
"CVN-72 Abraham Lincoln",
"CVN-73 George Washington",
"CVN-74 John C. Stennis",
"CVN-75 Harry S. Truman"
],
"helicopter_carrier_names": [
"LHA-1 Tarawa",
"LHA-2 Saipan",
"LHA-3 Belleau Wood",
"LHA-4 Nassau",
"LHA-5 Peleliu"
],
"navy_generators": [
"ArleighBurkeGroupGenerator",
"OliverHazardPerryGroupGenerator"
],
"has_jtac": true,
"jtac_unit": "MQ-9 Reaper",
"liveries_overrides": {
"F/A-18C Hornet (Lot 20)": [
"VFA-106",
"VFA-113",
"VFA-122",
"VFA-131",
"VFA-192",
"VFA-34",
"VFA-37",
"VFA-83",
"VFA-87",
"VFA-97",
"VMFA-122",
"VMFA-132",
"VMFA-251",
"VMFA-312",
"VMFA-314",
"VMFA-323"
]
}
}

View File

@ -1,124 +0,0 @@
{
"country": "USA",
"name": "USA 2005 Modded",
"authors": "Khopa",
"description": "<p>USA 2005 with the Raptor mod, with the F-22 mod by Grinelli Designs.</p>",
"locales": [
"en_US"
],
"aircrafts": [
"A-10C Thunderbolt II (Suite 3)",
"A-10C Thunderbolt II (Suite 7)",
"AH-64D Apache Longbow",
"AV-8B Harrier II Night Attack",
"B-1B Lancer",
"B-52H Stratofortress",
"F-117A Nighthawk",
"F-14B Tomcat",
"F-15C Eagle",
"F-15E Strike Eagle",
"F-16CM Fighting Falcon (Block 50)",
"F-22A Raptor",
"F/A-18C Hornet (Lot 20)",
"S-3B Viking",
"SH-60B Seahawk",
"UH-1H Iroquois"
],
"awacs": [
"E-2C Hawkeye",
"E-3A"
],
"tankers": [
"KC-130",
"KC-135 Stratotanker",
"KC-135 Stratotanker MPRS",
"S-3B Tanker"
],
"frontline_units": [
"LAV-25",
"M1043 HMMWV (M2 HMG)",
"M1045 HMMWV (BGM-71 TOW)",
"M1097 Heavy HMMWV Avenger",
"M1126 Stryker ICV (M2 HMG)",
"M1134 Stryker ATGM (BGM-71 TOW)",
"M1A2 Abrams",
"M2A2 Bradley",
"M6 Linebacker"
],
"artillery_units": [
"M109A6 Paladin",
"M270 Multiple Launch Rocket System"
],
"logistics_units": [
"Truck M818 6x6"
],
"infantry_units": [
"Infantry M249",
"Infantry M4",
"MANPADS Stinger",
"Mortar 2B11 120mm"
],
"air_defenses": [
"AvengerGenerator",
"HawkGenerator",
"LinebackerGenerator",
"PatriotGenerator"
],
"ewrs": [
"PatriotEwrGenerator"
],
"aircraft_carrier": [
"Stennis"
],
"helicopter_carrier": [
"LHA_Tarawa"
],
"destroyers": [
"USS_Arleigh_Burke_IIa"
],
"cruisers": [
"TICONDEROG"
],
"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",
"OliverHazardPerryGroupGenerator"
],
"requirements": {
"F-22A mod by Grinnelli Designs": "https://bestf22modever.com"
},
"has_jtac": true,
"jtac_unit": "MQ-9 Reaper",
"liveries_overrides": {
"F/A-18C Hornet (Lot 20)": [
"VFA-106",
"VFA-113",
"VFA-122",
"VFA-131",
"VFA-192",
"VFA-34",
"VFA-37",
"VFA-83",
"VFA-87",
"VFA-97",
"VMFA-122",
"VMFA-132",
"VMFA-251",
"VMFA-312",
"VMFA-314",
"VMFA-323"
]
}
}

View File

@ -8,6 +8,7 @@
],
"aircrafts": [
"AH-1W SuperCobra",
"A-4E Skyhawk",
"F-14A Tomcat (Block 135-GR Late)",
"F-14B Tomcat",
"F-4E Phantom II",

View File

@ -1,9 +0,0 @@
description: The Aermacchi MB-339 is a military jet trainer and light attack aircraft
designed and manufactured by Italian aviation company Aermacchi.
introduced: 1982
manufacturer: Aermacchi
origin: Italy
price: 8
role: Aerobatic
variants:
MB-339PAN: {}