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]** 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 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]** AI will plan Tanker flights.
* **[Campaign AI]** Removed max distance for AEW&C auto planning. * **[Campaign AI]** Removed max distance for AEW&C auto planning.
* **[Economy]** Adjusted prices for aircraft to balance out some price inconsistencies. * **[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]** 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]** Carriers and LHAs now match the colour of airfields, and their destination icons are translucent.
* **[UI]** Updated intel box text for first turn. * **[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 ## 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.f22a.f22a import F_22A
from pydcs_extensions.hercules.hercules import Hercules from pydcs_extensions.hercules.hercules import Hercules
from pydcs_extensions.jas39.jas39 import JAS39Gripen, JAS39Gripen_AG 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 from pydcs_extensions.su57.su57 import Su_57
plane_map["A-4E-C"] = A_4E_C plane_map["A-4E-C"] = A_4E_C
plane_map["F-22A"] = F_22A plane_map["F-22A"] = F_22A
plane_map["MB-339PAN"] = MB_339PAN
plane_map["Su-57"] = Su_57 plane_map["Su-57"] = Su_57
plane_map["Hercules"] = Hercules plane_map["Hercules"] = Hercules
plane_map["JAS39Gripen"] = JAS39Gripen plane_map["JAS39Gripen"] = JAS39Gripen

View File

@ -1,3 +1,4 @@
from game.dcs.aircrafttype import AircraftType
import itertools import itertools
import logging import logging
import random import random
@ -10,13 +11,14 @@ from dcs.action import Coalition
from dcs.mapping import Point from dcs.mapping import Point
from dcs.task import CAP, CAS, PinpointStrike from dcs.task import CAP, CAS, PinpointStrike
from dcs.vehicles import AirDefence from dcs.vehicles import AirDefence
from pydcs_extensions.a4ec.a4ec import A_4E_C
from faker import Faker from faker import Faker
from game import db from game import db
from game.inventory import GlobalAircraftInventory from game.inventory import GlobalAircraftInventory
from game.models.game_stats import GameStats from game.models.game_stats import GameStats
from game.plugins import LuaPluginManager from game.plugins import LuaPluginManager
from gen import naming from gen import aircraft, naming
from gen.ato import AirTaskingOrder from gen.ato import AirTaskingOrder
from gen.conflictgen import Conflict from gen.conflictgen import Conflict
from gen.flights.ai_flight_planner import CoalitionMissionPlanner from gen.flights.ai_flight_planner import CoalitionMissionPlanner
@ -33,7 +35,7 @@ from .infos.information import Information
from .navmesh import NavMesh from .navmesh import NavMesh
from .procurement import AircraftProcurementRequest, ProcurementAi from .procurement import AircraftProcurementRequest, ProcurementAi
from .profiling import logged_duration from .profiling import logged_duration
from .settings import Settings, AutoAtoBehavior from .settings import ModSettings, Settings, AutoAtoBehavior
from .squadrons import AirWing from .squadrons import AirWing
from .theater import ConflictTheater from .theater import ConflictTheater
from .theater.bullseye import Bullseye from .theater.bullseye import Bullseye
@ -93,8 +95,10 @@ class Game:
settings: Settings, settings: Settings,
player_budget: float, player_budget: float,
enemy_budget: float, enemy_budget: float,
mod_settings: ModSettings,
) -> None: ) -> None:
self.settings = settings self.settings = settings
self.mod_settings = mod_settings
self.events: List[Event] = [] self.events: List[Event] = []
self.theater = theater self.theater = theater
self.player_name = player_name self.player_name = player_name
@ -123,6 +127,8 @@ class Game:
self.conditions = self.generate_conditions() self.conditions = self.generate_conditions()
self.apply_mods()
self.blue_transit_network = TransitNetwork() self.blue_transit_network = TransitNetwork()
self.red_transit_network = TransitNetwork() self.red_transit_network = TransitNetwork()
@ -201,6 +207,84 @@ class Game:
else: else:
self.enemy_country = "Russia" 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 @property
def player_faction(self) -> Faction: def player_faction(self) -> Faction:
return db.FACTIONS[self.player_name] return db.FACTIONS[self.player_name]

View File

@ -110,3 +110,16 @@ class Settings:
new_state = Settings().__dict__ new_state = Settings().__dict__
new_state.update(state) new_state.update(state)
self.__dict__.update(new_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, OffMapSpawn,
) )
from ..profiling import logged_duration from ..profiling import logged_duration
from ..settings import Settings from ..settings import ModSettings, Settings
GroundObjectTemplates = Dict[str, Dict[str, Any]] GroundObjectTemplates = Dict[str, Dict[str, Any]]
@ -86,12 +86,14 @@ class GameGenerator:
theater: ConflictTheater, theater: ConflictTheater,
settings: Settings, settings: Settings,
generator_settings: GeneratorSettings, generator_settings: GeneratorSettings,
mod_settings: ModSettings,
) -> None: ) -> None:
self.player = player self.player = player
self.enemy = enemy self.enemy = enemy
self.theater = theater self.theater = theater
self.settings = settings self.settings = settings
self.generator_settings = generator_settings self.generator_settings = generator_settings
self.mod_settings = mod_settings
def generate(self) -> Game: def generate(self) -> Game:
with logged_duration("TGO population"): with logged_duration("TGO population"):
@ -106,6 +108,7 @@ class GameGenerator:
settings=self.settings, settings=self.settings,
player_budget=self.generator_settings.player_budget, player_budget=self.generator_settings.player_budget,
enemy_budget=self.generator_settings.enemy_budget, enemy_budget=self.generator_settings.enemy_budget,
mod_settings=self.mod_settings,
) )
GroundObjectGenerator(game, self.generator_settings).generate() 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.f22a.f22a import F_22A
from pydcs_extensions.hercules.hercules import Hercules from pydcs_extensions.hercules.hercules import Hercules
from pydcs_extensions.jas39.jas39 import JAS39Gripen, JAS39Gripen_AG 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 from pydcs_extensions.su57.su57 import Su_57
# All aircraft lists are in priority order. Aircraft higher in the list will be # All aircraft lists are in priority order. Aircraft higher in the list will be
@ -219,7 +218,6 @@ CAS_CAPABLE = [
F_5E_3, F_5E_3,
F_86F_Sabre, F_86F_Sabre,
C_101CC, C_101CC,
MB_339PAN,
L_39ZA, L_39ZA,
A_20G, A_20G,
Ju_88A4, Ju_88A4,
@ -332,7 +330,6 @@ STRIKE_CAPABLE = [
MiG_15bis, MiG_15bis,
F_5E_3, F_5E_3,
F_86F_Sabre, F_86F_Sabre,
MB_339PAN,
C_101CC, C_101CC,
L_39ZA, L_39ZA,
B_17G, 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.hercules.hercules import Hercules
from pydcs_extensions.highdigitsams import highdigitsams from pydcs_extensions.highdigitsams import highdigitsams
from pydcs_extensions.jas39.jas39 import JAS39Gripen, JAS39Gripen_AG 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 from pydcs_extensions.su57.su57 import Su_57
import pydcs_extensions.frenchpack.frenchpack as frenchpack import pydcs_extensions.frenchpack.frenchpack as frenchpack
MODDED_AIRPLANES = [ MODDED_AIRPLANES = [
A_4E_C, A_4E_C,
MB_339PAN,
Su_57, Su_57,
F_22A, F_22A,
Hercules, Hercules,

View File

@ -19,7 +19,7 @@ from game.data.weapons import (
Weapon, Weapon,
) )
from game.profiling import logged_duration 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 game.theater.start_generator import GameGenerator, GeneratorSettings
from qt_ui import ( from qt_ui import (
liberation_install, liberation_install,
@ -221,6 +221,15 @@ def create_game(
no_player_navy=False, no_player_navy=False,
no_enemy_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() 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 jinja2 import Environment, FileSystemLoader, select_autoescape
from game import db from game import db
from game.settings import Settings from game.settings import Settings, ModSettings
from game.theater.start_generator import GameGenerator, GeneratorSettings from game.theater.start_generator import GameGenerator, GeneratorSettings
from qt_ui.widgets.QLiberationCalendar import QLiberationCalendar from qt_ui.widgets.QLiberationCalendar import QLiberationCalendar
from qt_ui.widgets.spinsliders import TenthsSpinSlider, TimeInputs, CurrencySpinner 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_player_navy=self.field("no_player_navy"),
no_enemy_navy=self.field("no_enemy_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")] blue_faction = [c for c in db.FACTIONS][self.field("blueFaction")]
red_faction = [c for c in db.FACTIONS][self.field("redFaction")] red_faction = [c for c in db.FACTIONS][self.field("redFaction")]
@ -111,6 +120,7 @@ class NewGameWizard(QtWidgets.QWizard):
campaign.load_theater(), campaign.load_theater(),
settings, settings,
generator_settings, generator_settings,
mod_settings,
) )
self.generatedGame = generator.generate() self.generatedGame = generator.generate()
@ -196,14 +206,6 @@ class FactionSelection(QtWidgets.QWizardPage):
self.factionsGroupLayout.addLayout(self.redGroupLayout) self.factionsGroupLayout.addLayout(self.redGroupLayout)
self.factionsGroup.setLayout(self.factionsGroupLayout) 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 # Docs Link
docsText = QtWidgets.QLabel( 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>' '<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 # Build layout
layout = QtWidgets.QVBoxLayout() layout = QtWidgets.QVBoxLayout()
layout.addWidget(self.factionsGroup) layout.addWidget(self.factionsGroup)
layout.addWidget(self.requiredModsGroup)
layout.addWidget(docsText) layout.addWidget(docsText)
self.setLayout(layout) self.setLayout(layout)
self.updateUnitRecap() self.updateUnitRecap()
@ -257,43 +258,6 @@ class FactionSelection(QtWidgets.QWizardPage):
self.blueFactionDescription.setText(blue_faction_txt) self.blueFactionDescription.setText(blue_faction_txt)
self.redFactionDescription.setText(red_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): class TheaterConfiguration(QtWidgets.QWizardPage):
def __init__( def __init__(
@ -561,8 +525,42 @@ class GeneratorOptions(QtWidgets.QWizardPage):
generatorLayout.addLayout(desired_player_mission_duration, 6, 0) generatorLayout.addLayout(desired_player_mission_duration, 6, 0)
generatorSettingsGroup.setLayout(generatorLayout) 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 = QVBoxLayout()
mlayout.addWidget(generatorSettingsGroup) mlayout.addWidget(generatorSettingsGroup)
mlayout.addWidget(modSettingsGroup)
self.setLayout(mlayout) 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", "country": "Australia",
"name": "Australia 2005", "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>", "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": [ "aircrafts": [
"AH-1W SuperCobra", "AH-1W SuperCobra",
"C-130J-30 Super Hercules",
"F/A-18C Hornet (Lot 20)", "F/A-18C Hornet (Lot 20)",
"SH-60B Seahawk", "SH-60B Seahawk",
"UH-1H Iroquois" "UH-1H Iroquois"
@ -47,7 +48,9 @@
"USS_Arleigh_Burke_IIa" "USS_Arleigh_Burke_IIa"
], ],
"cruisers": [], "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": [], "carrier_names": [],
"helicopter_carrier_names": [ "helicopter_carrier_names": [
"HMAS Canberra", "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", "country": "Combined Joint Task Forces Blue",
"name": "Bluefor Coldwar", "name": "Bluefor Coldwar",
"authors": "Khopa", "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": [ "aircrafts": [
"A-10A Thunderbolt II", "A-10A Thunderbolt II",
"A-4E Skyhawk",
"AJS-37 Viggen", "AJS-37 Viggen",
"B-52H Stratofortress", "B-52H Stratofortress",
"F-14A Tomcat (Block 135-GR Late)", "F-14A Tomcat (Block 135-GR Late)",
@ -60,7 +61,9 @@
"cruisers": [ "cruisers": [
"TICONDEROG" "TICONDEROG"
], ],
"requirements": {}, "requirements": {
"Community A-4E": "https://heclak.github.io/community-a4e-c/"
},
"carrier_names": [ "carrier_names": [
"CVN-71 Theodore Roosevelt", "CVN-71 Theodore Roosevelt",
"CVN-72 Abraham Lincoln", "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", "country": "Canada",
"name": "Canada 2005", "name": "Canada 2005",
"authors": "Khopa", "authors": "Khopa, SpaceEnthusiast",
"description": "<p>Canada in the 2000s, an F/A-18C Hornet focused faction.</p>", "description": "<p>Canada in the 2000s, an F/A-18C Hornet focused faction.</p>",
"locales": [ "locales": [
"en_US", "en_US",
@ -9,6 +9,7 @@
], ],
"aircrafts": [ "aircrafts": [
"AH-1W SuperCobra", "AH-1W SuperCobra",
"C-130J-30 Super Hercules",
"CF-188 Hornet", "CF-188 Hornet",
"UH-1H Iroquois" "UH-1H Iroquois"
], ],
@ -52,7 +53,9 @@
"cruisers": [ "cruisers": [
"TICONDEROG" "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": [], "carrier_names": [],
"helicopter_carrier_names": [], "helicopter_carrier_names": [],
"navy_generators": [ "navy_generators": [
@ -64,6 +67,9 @@
"CF-188 Hornet": [ "CF-188 Hornet": [
"Canada 409th Squadron", "Canada 409th Squadron",
"Canada 425th 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>", "description": "<p>Insurgents faction.</p>",
"aircrafts": [], "aircrafts": [],
"frontline_units": [ "frontline_units": [
"DIM' KAMIKAZE",
"DIM' TOYOTA BLUE",
"DIM' TOYOTA DESERT",
"DIM' TOYOTA GREEN",
"BRDM-2", "BRDM-2",
"Cobra", "Cobra",
"MT-LB", "MT-LB",

View File

@ -5,6 +5,10 @@
"description": "<p>Insurgents faction.</p>", "description": "<p>Insurgents faction.</p>",
"aircrafts": [], "aircrafts": [],
"frontline_units": [ "frontline_units": [
"DIM' KAMIKAZE",
"DIM' TOYOTA BLUE",
"DIM' TOYOTA DESERT",
"DIM' TOYOTA GREEN",
"BMP-1", "BMP-1",
"BRDM-2", "BRDM-2",
"BTR-80", "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", "SA11Generator",
"SA13Generator", "SA13Generator",
"SA15Generator", "SA15Generator",
"SA17Generator",
"SA19Generator", "SA19Generator",
"Tier2SA10Generator", "Tier2SA10Generator",
"Tier3SA10Generator", "Tier3SA10Generator",
"SA10BGenerator",
"SA12Generator",
"SA20Generator",
"SA20BGenerator",
"SA23Generator",
"ZSU23Generator", "ZSU23Generator",
"ZU23Generator", "ZU23Generator",
"ZU23UralGenerator" "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", "country": "Russia",
"name": "Russia 2020 (Modded)", "name": "Russia 2020",
"authors": "Khopa", "authors": "Khopa",
"description": "<p>Russia in 2020, using the Su-57 mod by Cubanace.</p>", "description": "<p>Russia in 2020, using the Su-57 mod by Cubanace.</p>",
"locales": [ "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" "en_US"
], ],
"aircrafts": [ "aircrafts": [
"A-4E Skyhawk",
"A-10A Thunderbolt II", "A-10A Thunderbolt II",
"A-10C Thunderbolt II (Suite 3)", "A-10C Thunderbolt II (Suite 3)",
"AH-64D Apache Longbow", "AH-64D Apache Longbow",

View File

@ -14,6 +14,7 @@
"B-1B Lancer", "B-1B Lancer",
"B-52H Stratofortress", "B-52H Stratofortress",
"C-130", "C-130",
"C-130J-30 Super Hercules",
"C-17A", "C-17A",
"CH-47D", "CH-47D",
"CH-53E", "CH-53E",
@ -22,6 +23,7 @@
"F-15C Eagle", "F-15C Eagle",
"F-15E Strike Eagle", "F-15E Strike Eagle",
"F-16CM Fighting Falcon (Block 50)", "F-16CM Fighting Falcon (Block 50)",
"F-22A Raptor",
"F/A-18C Hornet (Lot 20)", "F/A-18C Hornet (Lot 20)",
"S-3B Viking", "S-3B Viking",
"SH-60B Seahawk", "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": [ "aircrafts": [
"AH-1W SuperCobra", "AH-1W SuperCobra",
"A-4E Skyhawk",
"F-14A Tomcat (Block 135-GR Late)", "F-14A Tomcat (Block 135-GR Late)",
"F-14B Tomcat", "F-14B Tomcat",
"F-4E Phantom II", "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: {}