mirror of
https://github.com/dcs-liberation/dcs_liberation.git
synced 2025-11-10 14:22:26 +00:00
Compare commits
33 Commits
develop-5.
...
develop-5.
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5037a5c9d7 | ||
|
|
fb734d4f09 | ||
|
|
173b99f610 | ||
|
|
a87fa119aa | ||
|
|
eb8859ebea | ||
|
|
7e54c8dea7 | ||
|
|
e86bd4fa14 | ||
|
|
178ae3774e | ||
|
|
1988836c61 | ||
|
|
e0ba2609b1 | ||
|
|
72050df5ff | ||
|
|
28c775af60 | ||
|
|
3d5f94db1f | ||
|
|
c93695ac36 | ||
|
|
0b33b0f9fb | ||
|
|
e043e6073e | ||
|
|
c7d764da85 | ||
|
|
367a7f9829 | ||
|
|
4a99b59a38 | ||
|
|
9b125a644e | ||
|
|
5a037d8b75 | ||
|
|
30ac898aa9 | ||
|
|
74fb390dcd | ||
|
|
6f0119731b | ||
|
|
a6e1dc14c3 | ||
|
|
d23b1fbb2c | ||
|
|
26f3bf5827 | ||
|
|
48945c1ce9 | ||
|
|
a75a3af13d | ||
|
|
a88cd60f31 | ||
|
|
86b204883a | ||
|
|
4d2289ece9 | ||
|
|
7d65e55665 |
15
changelog.md
15
changelog.md
@@ -1,17 +1,29 @@
|
||||
# 5.2.1
|
||||
|
||||
## Fixes
|
||||
|
||||
* **[Mission Generation]** Work around DCS 2.8 bug preventing the AI from leaving their hold point.
|
||||
|
||||
# 5.2.0
|
||||
|
||||
Saves from 5.1.0 are compatible with 5.2.0
|
||||
|
||||
## Features/Improvements
|
||||
|
||||
* **[Engine]** Support for DCS DCS 2.7.11.21408, including the new Apache AH-64D and the Syria map extension
|
||||
* **[Mission Generation]** Improved FARP Helipad handling and creation (now includes windsocks)
|
||||
* **[Modding]** Add UH-60L mod support
|
||||
* **[Campaign]** Vegas Nerve campaign update
|
||||
* **[Modding]** Updated Community A-4E-C mod version support to 2.0.0 release. Version 1.4.2 is no longer compatible, unless the mod default loadouts are deleted/modified.
|
||||
* **[Modding]** Updated JAS-39-C mod support for v1.8.0-beta
|
||||
* **[Campaign]** Peace Spring, Vectron's Claw, Vegas Nerve, Scenic Route 2 campaign update
|
||||
* **[Campaign]** Added Tripoint Hostility campaign by Fuzzle
|
||||
* **[Campaign]** Add 3 new campaigns from Sith1144
|
||||
## Fixes
|
||||
|
||||
* **[Mission Generation]** Fixed incorrect SA-5 and NASAMS threat range when TR destroyed. It will not count as threat anymore when the TR is dead.
|
||||
* **[Mission Generation]** Fixed "Max Threat Range" error
|
||||
* **[Mission Generation]** Fix unculled zones not updating when needed
|
||||
* **[Mission Planner]** Now allows squadron transfers to control points where the number of free slots matches exactly the expected size of the transferring squadron next turn.
|
||||
* **[Data]** Removed Fw 190 A-8 and D-9 from Germany 1940 and 1942 faction list for historical accuracy.
|
||||
* **[Data]** Updated Loadouts for Tornado GR4, F-15E and F-16C
|
||||
* **[Data]** Corrected some unit data
|
||||
@@ -30,7 +42,6 @@ Saves from 5.0.0 are compatible with 5.1.0
|
||||
* **[Mission Generation]** Add Option to enforce the Easy Communication setting for the mission
|
||||
* **[Mission Generation]** Add Option to select between only night missions, day missions or any time (default).
|
||||
* **[Modding]** Add F-104 mod support
|
||||
|
||||
## Fixes
|
||||
|
||||
* **[Campaign]** Fixed some minor issues in campaigns which generated error messages in the log.
|
||||
|
||||
@@ -22,7 +22,7 @@ from game.theater import (
|
||||
SyriaTheater,
|
||||
MarianaIslandsTheater,
|
||||
)
|
||||
from game.version import CAMPAIGN_FORMAT_VERSION
|
||||
from game.version import CAMPAIGN_FORMAT_VERSION, SUPPORTED_CAMPAIGN_VERSION
|
||||
from .campaignairwingconfig import CampaignAirWingConfig
|
||||
from .mizcampaignloader import MizCampaignLoader
|
||||
from .. import persistency
|
||||
@@ -147,7 +147,7 @@ class Campaign:
|
||||
@property
|
||||
def is_from_future(self) -> bool:
|
||||
"""Returns True if this campaign is newer than the supported format."""
|
||||
return self.version > CAMPAIGN_FORMAT_VERSION
|
||||
return self.version > SUPPORTED_CAMPAIGN_VERSION
|
||||
|
||||
@property
|
||||
def is_compatible(self) -> bool:
|
||||
|
||||
@@ -52,8 +52,13 @@ class Weapon:
|
||||
|
||||
def __setstate__(self, state: dict[str, Any]) -> None:
|
||||
# Update any existing models with new data on load.
|
||||
updated = Weapon.with_clsid(state["clsid"])
|
||||
state.update(updated.__dict__)
|
||||
try:
|
||||
updated = Weapon.with_clsid(state["clsid"])
|
||||
state.update(updated.__dict__)
|
||||
except KeyError:
|
||||
logging.exception(
|
||||
f'CLSID {state["clsid"]} is not available anymore. This could potentially lead to some unexpected results when generating the next turn miz. To solve this issue it is recommended to update the loadout of all affected flights.'
|
||||
)
|
||||
self.__dict__.update(state)
|
||||
|
||||
@classmethod
|
||||
|
||||
@@ -14,6 +14,7 @@ from dcs.unittype import FlyingType
|
||||
|
||||
from game.dcs.unittype import UnitType
|
||||
from game.radio.channels import (
|
||||
ApacheChannelNamer,
|
||||
ChannelNamer,
|
||||
RadioChannelAllocator,
|
||||
CommonRadioChannelAllocator,
|
||||
@@ -95,6 +96,7 @@ class RadioConfig:
|
||||
"tomcat": TomcatChannelNamer,
|
||||
"viggen": ViggenChannelNamer,
|
||||
"viper": ViperChannelNamer,
|
||||
"apache": ApacheChannelNamer,
|
||||
}[config.get("namer", "default")]
|
||||
|
||||
|
||||
|
||||
@@ -258,6 +258,27 @@ class MirageChannelNamer(ChannelNamer):
|
||||
return "mirage"
|
||||
|
||||
|
||||
class ApacheChannelNamer(ChannelNamer):
|
||||
"""Channel namer for the AH-64D Apache"""
|
||||
|
||||
@staticmethod
|
||||
def channel_name(radio_id: int, channel_id: int) -> str:
|
||||
# From the manual: Radio identifier (“VHF” for ARC-186, “UHF” for ARC-164,
|
||||
# “FM1” for first ARC-201D, “FM2” for second ARC-201D, or “HF” for ARC-220).
|
||||
radio_name = [
|
||||
"VHF", # ARC-186
|
||||
"UHF", # ARC-164
|
||||
"FM1", # first ARC-201D
|
||||
"FM2", # second ARC-201D
|
||||
"HF", # ARC-220
|
||||
][radio_id - 1]
|
||||
return f"{radio_name} Ch {channel_id}"
|
||||
|
||||
@classmethod
|
||||
def name(cls) -> str:
|
||||
return "apache"
|
||||
|
||||
|
||||
class TomcatChannelNamer(ChannelNamer):
|
||||
"""Channel namer for the F-14."""
|
||||
|
||||
|
||||
@@ -340,7 +340,7 @@ class Squadron:
|
||||
)
|
||||
return
|
||||
|
||||
if self.expected_size_next_turn >= destination.unclaimed_parking():
|
||||
if self.expected_size_next_turn > destination.unclaimed_parking():
|
||||
raise RuntimeError(f"Not enough parking for {self} at {destination}.")
|
||||
if not destination.can_operate(self.aircraft):
|
||||
raise RuntimeError(f"{self} cannot operate at {destination}.")
|
||||
|
||||
@@ -889,7 +889,12 @@ class Airfield(ControlPoint):
|
||||
# TODO: Allow harrier.
|
||||
# Needs ground spawns just like helos do, but also need to be able to
|
||||
# limit takeoff weight to ~20500 lbs or it won't be able to take off.
|
||||
return self.runway_is_operational()
|
||||
|
||||
# return false if aircraft is fixed wing and airport has no runways
|
||||
if not aircraft.helicopter and not self.airport.runways:
|
||||
return False
|
||||
else:
|
||||
return self.runway_is_operational()
|
||||
|
||||
def mission_types(self, for_player: bool) -> Iterator[FlightType]:
|
||||
from gen.flights.flight import FlightType
|
||||
|
||||
@@ -3,7 +3,7 @@ from pathlib import Path
|
||||
|
||||
MAJOR_VERSION = 5
|
||||
MINOR_VERSION = 2
|
||||
MICRO_VERSION = 0
|
||||
MICRO_VERSION = 1
|
||||
|
||||
|
||||
def _build_version_string() -> str:
|
||||
@@ -124,3 +124,6 @@ VERSION = _build_version_string()
|
||||
#: * Campaign files can optionally define a start date with
|
||||
#: `recommended_start_date: YYYY-MM-DD`.
|
||||
CAMPAIGN_FORMAT_VERSION = (9, 1)
|
||||
|
||||
# Version 5.2.0 of DCS Liberation also supports Campaigns of Version 10.0
|
||||
SUPPORTED_CAMPAIGN_VERSION = (10, 0)
|
||||
|
||||
@@ -9,7 +9,7 @@ from functools import cached_property
|
||||
from typing import Any, Dict, Iterable, List, Optional, TYPE_CHECKING, Type, Union
|
||||
|
||||
from dcs import helicopters
|
||||
from dcs.action import AITaskPush, ActivateGroup
|
||||
from dcs.action import AITaskPush, ActivateGroup, SetFlag
|
||||
from dcs.condition import CoalitionHasAirdrome, TimeAfter
|
||||
from dcs.country import Country
|
||||
from dcs.flyingunit import FlyingUnit
|
||||
@@ -76,6 +76,7 @@ from game.theater.controlpoint import (
|
||||
Airfield,
|
||||
ControlPoint,
|
||||
ControlPointType,
|
||||
Fob,
|
||||
NavalControlPoint,
|
||||
OffMapSpawn,
|
||||
)
|
||||
@@ -231,7 +232,7 @@ class AircraftConflictGenerator:
|
||||
laser_code_registry: LaserCodeRegistry,
|
||||
unit_map: UnitMap,
|
||||
air_support: AirSupport,
|
||||
helipads: dict[ControlPoint, list[StaticGroup]],
|
||||
helipads: dict[ControlPoint, StaticGroup],
|
||||
) -> None:
|
||||
self.m = mission
|
||||
self.game = game
|
||||
@@ -576,9 +577,9 @@ class AircraftConflictGenerator:
|
||||
)
|
||||
|
||||
try:
|
||||
helipad = self.helipads[cp].pop()
|
||||
except IndexError as ex:
|
||||
raise RuntimeError(f"Not enough helipads available at {cp}") from ex
|
||||
helipad = self.helipads[cp]
|
||||
except IndexError:
|
||||
raise NoParkingSlotError
|
||||
|
||||
group = self._generate_at_group(
|
||||
name=name,
|
||||
@@ -589,21 +590,12 @@ class AircraftConflictGenerator:
|
||||
at=helipad,
|
||||
)
|
||||
|
||||
# Note : A bit dirty, need better support in pydcs
|
||||
group.points[0].action = PointAction.FromGroundArea
|
||||
group.points[0].type = "TakeOffGround"
|
||||
group.units[0].heading = helipad.units[0].heading
|
||||
if start_type != "Cold":
|
||||
group.points[0].action = PointAction.FromGroundAreaHot
|
||||
group.points[0].type = "TakeOffGroundHot"
|
||||
|
||||
group.points[0].type = "TakeOffParkingHot"
|
||||
for i in range(count - 1):
|
||||
try:
|
||||
helipad = self.helipads[cp].pop()
|
||||
group.units[1 + i].position = Point(helipad.x, helipad.y)
|
||||
group.units[1 + i].heading = helipad.units[0].heading
|
||||
except IndexError as ex:
|
||||
raise RuntimeError(f"Not enough helipads available at {cp}") from ex
|
||||
group.units[i].position = helipad.units[i].position
|
||||
group.units[i].heading = helipad.units[i].heading
|
||||
|
||||
return group
|
||||
|
||||
def _add_radio_waypoint(
|
||||
@@ -787,22 +779,20 @@ class AircraftConflictGenerator:
|
||||
start_type=flight.start_type,
|
||||
at=carrier_group,
|
||||
)
|
||||
else:
|
||||
# If the flight is an helicopter flight, then prioritize dedicated helipads
|
||||
if flight.unit_type.helicopter:
|
||||
return self._generate_at_cp_helipad(
|
||||
name=name,
|
||||
side=country,
|
||||
unit_type=flight.unit_type.dcs_unit_type,
|
||||
count=flight.count,
|
||||
start_type=flight.start_type,
|
||||
cp=cp,
|
||||
)
|
||||
|
||||
if not isinstance(cp, Airfield):
|
||||
elif isinstance(cp, Fob):
|
||||
if not flight.unit_type.helicopter:
|
||||
raise RuntimeError(
|
||||
f"Attempted to spawn at airfield for non-airfield {cp}"
|
||||
f"Cannot spawn fixed-wing aircraft at {cp} because it is a FOB"
|
||||
)
|
||||
return self._generate_at_cp_helipad(
|
||||
name=name,
|
||||
side=country,
|
||||
unit_type=flight.unit_type.dcs_unit_type,
|
||||
count=flight.count,
|
||||
start_type=flight.start_type,
|
||||
cp=cp,
|
||||
)
|
||||
elif isinstance(cp, Airfield):
|
||||
return self._generate_at_airport(
|
||||
name=name,
|
||||
side=country,
|
||||
@@ -811,6 +801,10 @@ class AircraftConflictGenerator:
|
||||
start_type=flight.start_type,
|
||||
airport=cp.airport,
|
||||
)
|
||||
else:
|
||||
raise NotImplementedError(
|
||||
f"Aircraft spawn behavior not implemented for {cp} ({cp.__class__})"
|
||||
)
|
||||
except Exception as e:
|
||||
# Generated when there is no place on Runway or on Parking Slots
|
||||
logging.error(e)
|
||||
@@ -1496,6 +1490,24 @@ class DefaultWaypointBuilder(PydcsWaypointBuilder):
|
||||
pass
|
||||
|
||||
|
||||
def create_stop_orbit_trigger(
|
||||
orbit: ControlledTask, package: Package, mission: Mission, stop_after: int
|
||||
) -> None:
|
||||
orbit.stop_if_user_flag(id(package), True)
|
||||
orbits = [
|
||||
x
|
||||
for x in mission.triggerrules.triggers
|
||||
if x.comment == f"StopOrbit{id(package)}"
|
||||
]
|
||||
if not any(orbits):
|
||||
stop_trigger = TriggerOnce(Event.NoEvent, f"StopOrbit{id(package)}")
|
||||
stop_condition = TimeAfter(stop_after)
|
||||
stop_action = SetFlag(id(package))
|
||||
stop_trigger.add_condition(stop_condition)
|
||||
stop_trigger.add_action(stop_action)
|
||||
mission.triggerrules.triggers.append(stop_trigger)
|
||||
|
||||
|
||||
class HoldPointBuilder(PydcsWaypointBuilder):
|
||||
def build(self) -> MovingPoint:
|
||||
waypoint = super().build()
|
||||
@@ -1512,7 +1524,11 @@ class HoldPointBuilder(PydcsWaypointBuilder):
|
||||
return waypoint
|
||||
push_time = self.flight.flight_plan.push_time
|
||||
self.waypoint.departure_time = push_time
|
||||
loiter.stop_after_time(int(push_time.total_seconds()))
|
||||
stop_after = int(push_time.total_seconds())
|
||||
loiter.stop_after_time(stop_after)
|
||||
# What follows is some code to cope with the broken 'stop after time' condition
|
||||
create_stop_orbit_trigger(loiter, self.package, self.mission, stop_after)
|
||||
# end of hotfix
|
||||
waypoint.add_task(loiter)
|
||||
return waypoint
|
||||
|
||||
@@ -1881,7 +1897,11 @@ class RaceTrackBuilder(PydcsWaypointBuilder):
|
||||
|
||||
racetrack = ControlledTask(orbit)
|
||||
self.set_waypoint_tot(waypoint, flight_plan.patrol_start_time)
|
||||
racetrack.stop_after_time(int(flight_plan.patrol_end_time.total_seconds()))
|
||||
stop_after = int(flight_plan.patrol_end_time.total_seconds())
|
||||
racetrack.stop_after_time(stop_after)
|
||||
# What follows is some code to cope with the broken 'stop after time' condition
|
||||
create_stop_orbit_trigger(racetrack, self.package, self.mission, stop_after)
|
||||
# end of hotfix
|
||||
waypoint.add_task(racetrack)
|
||||
|
||||
return waypoint
|
||||
|
||||
@@ -6,6 +6,7 @@ from dcs.helicopters import (
|
||||
AH_1W,
|
||||
AH_64A,
|
||||
AH_64D,
|
||||
AH_64D_BLK_II,
|
||||
CH_47D,
|
||||
CH_53E,
|
||||
Ka_50,
|
||||
@@ -210,6 +211,7 @@ CAS_CAPABLE = [
|
||||
MiG_27K,
|
||||
MiG_29A,
|
||||
MiG_21Bis,
|
||||
AH_64D_BLK_II,
|
||||
AH_64D,
|
||||
AH_64A,
|
||||
AH_1W,
|
||||
|
||||
@@ -605,43 +605,56 @@ class HelipadGenerator:
|
||||
self.game = game
|
||||
self.radio_registry = radio_registry
|
||||
self.tacan_registry = tacan_registry
|
||||
self.helipads: list[StaticGroup] = []
|
||||
self.helipads: Optional[StaticGroup] = None
|
||||
|
||||
def generate(self) -> None:
|
||||
|
||||
# Note : Helipad are generated as neutral object in order not to interfer with capture triggers
|
||||
neutral_country = self.m.country(self.game.neutral_country.name)
|
||||
# This gets called for every control point, so we don't want to add an empty group (causes DCS mission editor to crash)
|
||||
if len(self.cp.helipads) == 0:
|
||||
return
|
||||
# Note: Helipad are generated as neutral object in order not to interfer with
|
||||
# capture triggers
|
||||
country = self.m.country(self.game.coalition_for(self.cp.captured).country_name)
|
||||
|
||||
for i, helipad in enumerate(self.cp.helipads):
|
||||
name = self.cp.name + "_helipad_" + str(i)
|
||||
logging.info("Generating helipad static : " + name)
|
||||
pad = InvisibleFARP(unit_id=self.m.next_unit_id(), name=name)
|
||||
pad.position = Point(helipad.x, helipad.y)
|
||||
pad.heading = helipad.heading.degrees
|
||||
sg = unitgroup.StaticGroup(self.m.next_group_id(), name)
|
||||
sg.add_unit(pad)
|
||||
sp = StaticPoint()
|
||||
sp.position = pad.position
|
||||
sg.add_point(sp)
|
||||
neutral_country.add_static_group(sg)
|
||||
|
||||
self.helipads.append(sg)
|
||||
|
||||
heading = helipad.heading.degrees
|
||||
name_i = self.cp.name + "_helipad" + "_" + str(i)
|
||||
if self.helipads is None:
|
||||
self.helipads = self.m.farp(
|
||||
self.m.country(self.game.neutral_country.name),
|
||||
name_i,
|
||||
helipad,
|
||||
farp_type="InvisibleFARP",
|
||||
)
|
||||
else:
|
||||
# Create a new Helipad Unit
|
||||
self.helipads.add_unit(InvisibleFARP(self.m.next_unit_id(), name_i))
|
||||
pad = self.helipads.units[-1]
|
||||
pad.position = helipad
|
||||
pad.heading = heading
|
||||
# Generate a FARP Ammo and Fuel stack for each pad
|
||||
self.m.static_group(
|
||||
country=country,
|
||||
name=(name + "_fuel"),
|
||||
name=(name_i + "_fuel"),
|
||||
_type=Fortification.FARP_Fuel_Depot,
|
||||
position=pad.position.point_from_heading(helipad.heading.degrees, 35),
|
||||
heading=pad.heading,
|
||||
position=helipad.point_from_heading(heading, 35),
|
||||
heading=heading,
|
||||
)
|
||||
self.m.static_group(
|
||||
country=country,
|
||||
name=(name + "_ammo"),
|
||||
name=(name_i + "_ammo"),
|
||||
_type=Fortification.FARP_Ammo_Dump_Coating,
|
||||
position=helipad.point_from_heading(heading, 35).point_from_heading(
|
||||
heading + 90, 10
|
||||
),
|
||||
heading=heading,
|
||||
)
|
||||
self.m.static_group(
|
||||
country=country,
|
||||
name=(name_i + "_ws"),
|
||||
_type=Fortification.Windsock,
|
||||
position=pad.position.point_from_heading(
|
||||
helipad.heading.degrees, 35
|
||||
).point_from_heading(helipad.heading.degrees + 90, 10),
|
||||
helipad.heading.degrees + 45, 35
|
||||
),
|
||||
heading=pad.heading,
|
||||
)
|
||||
|
||||
@@ -670,7 +683,7 @@ class GroundObjectsGenerator:
|
||||
self.unit_map = unit_map
|
||||
self.icls_alloc = iter(range(1, 21))
|
||||
self.runways: Dict[str, RunwayData] = {}
|
||||
self.helipads: dict[ControlPoint, list[StaticGroup]] = defaultdict(list)
|
||||
self.helipads: dict[ControlPoint, StaticGroup] = {}
|
||||
|
||||
def generate(self) -> None:
|
||||
for cp in self.game.theater.controlpoints:
|
||||
@@ -681,7 +694,8 @@ class GroundObjectsGenerator:
|
||||
self.m, cp, self.game, self.radio_registry, self.tacan_registry
|
||||
)
|
||||
helipad_gen.generate()
|
||||
self.helipads[cp] = helipad_gen.helipads
|
||||
if helipad_gen.helipads is not None:
|
||||
self.helipads[cp] = helipad_gen.helipads
|
||||
|
||||
for ground_object in cp.ground_objects:
|
||||
generator: GenericGroundObjectGenerator[Any]
|
||||
|
||||
@@ -63,13 +63,6 @@ class AllyWW2FlakGenerator(AirDefenseGroupGenerator):
|
||||
self.position.y + 20,
|
||||
Heading.random(),
|
||||
)
|
||||
self.add_unit(
|
||||
Unarmed.M4_Tractor,
|
||||
"LOG#2",
|
||||
self.position.x + 20,
|
||||
self.position.y,
|
||||
Heading.random(),
|
||||
)
|
||||
self.add_unit(
|
||||
Unarmed.Bedford_MWD,
|
||||
"LOG#3",
|
||||
|
||||
@@ -27,13 +27,6 @@ class SA8Generator(AirDefenseGroupGenerator):
|
||||
position[1],
|
||||
position[2],
|
||||
)
|
||||
self.add_unit(
|
||||
AirDefence.SA_8_Osa_LD_9T217,
|
||||
"LD",
|
||||
self.position.x + 20,
|
||||
self.position.y,
|
||||
self.heading,
|
||||
)
|
||||
|
||||
@classmethod
|
||||
def range(cls) -> AirDefenseRange:
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1500,10 +1500,6 @@ class VSN_F104G(PlaneType):
|
||||
4,
|
||||
Weapons.LAU_61_pod___19_x_2_75_Hydra__UnGd_Rkts_M151__HE,
|
||||
)
|
||||
BRU_33_with_2_x_LAU_61_pod___19_x_2_75_Hydra__UnGd_Rkts_M282__HEDP = (
|
||||
4,
|
||||
Weapons.BRU_33_with_2_x_LAU_61_pod___19_x_2_75_Hydra__UnGd_Rkts_M282__HEDP,
|
||||
)
|
||||
AIM_9M_Sidewinder_IR_AAM = (4, Weapons.AIM_9M_Sidewinder_IR_AAM)
|
||||
AIM_9L_Sidewinder_IR_AAM = (4, Weapons.AIM_9L_Sidewinder_IR_AAM)
|
||||
AIM_9B_Sidewinder_IR_AAM = (4, Weapons.AIM_9B_Sidewinder_IR_AAM)
|
||||
@@ -1576,10 +1572,6 @@ class VSN_F104G(PlaneType):
|
||||
8,
|
||||
Weapons.LAU_61_pod___19_x_2_75_Hydra__UnGd_Rkts_M151__HE,
|
||||
)
|
||||
BRU_33_with_2_x_LAU_61_pod___19_x_2_75_Hydra__UnGd_Rkts_M282__HEDP = (
|
||||
8,
|
||||
Weapons.BRU_33_with_2_x_LAU_61_pod___19_x_2_75_Hydra__UnGd_Rkts_M282__HEDP,
|
||||
)
|
||||
AIM_9M_Sidewinder_IR_AAM = (8, Weapons.AIM_9M_Sidewinder_IR_AAM)
|
||||
AIM_9L_Sidewinder_IR_AAM = (8, Weapons.AIM_9L_Sidewinder_IR_AAM)
|
||||
AIM_9B_Sidewinder_IR_AAM = (8, Weapons.AIM_9B_Sidewinder_IR_AAM)
|
||||
@@ -2348,10 +2340,6 @@ class VSN_F104S_AG(PlaneType):
|
||||
4,
|
||||
Weapons.LAU_61_pod___19_x_2_75_Hydra__UnGd_Rkts_M151__HE,
|
||||
)
|
||||
BRU_33_with_2_x_LAU_61_pod___19_x_2_75_Hydra__UnGd_Rkts_M282__HEDP = (
|
||||
4,
|
||||
Weapons.BRU_33_with_2_x_LAU_61_pod___19_x_2_75_Hydra__UnGd_Rkts_M282__HEDP,
|
||||
)
|
||||
AIM_9M_Sidewinder_IR_AAM = (4, Weapons.AIM_9M_Sidewinder_IR_AAM)
|
||||
AIM_9L_Sidewinder_IR_AAM = (4, Weapons.AIM_9L_Sidewinder_IR_AAM)
|
||||
AIM_9B_Sidewinder_IR_AAM = (4, Weapons.AIM_9B_Sidewinder_IR_AAM)
|
||||
@@ -2429,10 +2417,6 @@ class VSN_F104S_AG(PlaneType):
|
||||
8,
|
||||
Weapons.LAU_61_pod___19_x_2_75_Hydra__UnGd_Rkts_M151__HE,
|
||||
)
|
||||
BRU_33_with_2_x_LAU_61_pod___19_x_2_75_Hydra__UnGd_Rkts_M282__HEDP = (
|
||||
8,
|
||||
Weapons.BRU_33_with_2_x_LAU_61_pod___19_x_2_75_Hydra__UnGd_Rkts_M282__HEDP,
|
||||
)
|
||||
AIM_9M_Sidewinder_IR_AAM = (8, Weapons.AIM_9M_Sidewinder_IR_AAM)
|
||||
AIM_9B_Sidewinder_IR_AAM = (8, Weapons.AIM_9B_Sidewinder_IR_AAM)
|
||||
AIM_9L_Sidewinder_IR_AAM = (8, Weapons.AIM_9L_Sidewinder_IR_AAM)
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -24,9 +24,9 @@ Pillow==8.3.2
|
||||
pluggy==0.13.1
|
||||
pre-commit==2.10.1
|
||||
py==1.10.0
|
||||
-e git+https://github.com/pydcs/dcs@5d1f581b260fdc6091744ab927a58cdee586e681#egg=pydcs
|
||||
pyinstaller==4.3
|
||||
pyinstaller-hooks-contrib==2021.1
|
||||
-e git+https://github.com/dcs-liberation/dcs@6bcad19cdf71c892806b04790d379fc81f88c58f#egg=pydcs
|
||||
pyinstaller==4.9
|
||||
pyinstaller-hooks-contrib==2022.1
|
||||
pyparsing==2.4.7
|
||||
pyproj==3.0.1
|
||||
PySide2==5.15.2
|
||||
|
||||
Binary file not shown.
@@ -10,153 +10,153 @@ miz: Task Force Thunder.miz
|
||||
performance: 3
|
||||
version: "9.1"
|
||||
squadrons:
|
||||
# Airspawn from Iraq
|
||||
Al Asad Airbase:
|
||||
# Airspawn from Iraq
|
||||
Al Asad Airbase:
|
||||
- primary: AEW&C
|
||||
aircraft:
|
||||
- E-3A
|
||||
- E-3A
|
||||
- primary: BARCAP
|
||||
secondary: air-to-air
|
||||
aircraft:
|
||||
- F-15C Eagle
|
||||
- F-15C Eagle
|
||||
- primary: Strike
|
||||
secondary: air-to-ground
|
||||
aircraft:
|
||||
- B-1B Lancer
|
||||
- B-52H Stratofortress
|
||||
- F-117A Nighthawk
|
||||
- primary: CAS
|
||||
secondary: air-to-ground
|
||||
- B-1B Lancer
|
||||
- B-52H Stratofortress
|
||||
- F-117A Nighthawk
|
||||
- primary: Refueling
|
||||
aircraft:
|
||||
- A-10C Thunderbolt II (Suite 7)
|
||||
- KC-135 Stratotanker MPRS
|
||||
#H3 airbase
|
||||
53:
|
||||
- primary: SEAD
|
||||
secondary: any
|
||||
aircraft:
|
||||
- F-16CM Fighting Falcon (Block 50)
|
||||
aircraft:
|
||||
- F-16CM Fighting Falcon (Block 50)
|
||||
- primary: DEAD
|
||||
secondary: any
|
||||
aircraft:
|
||||
- F-16CM Fighting Falcon (Block 50)
|
||||
- F-16CM Fighting Falcon (Block 50)
|
||||
- primary: BAI
|
||||
secondary: air-to-ground
|
||||
aircraft: F-15E Strike Eagle
|
||||
- primary: Refueling
|
||||
aircraft:
|
||||
- KC-135 Stratotanker MPRS
|
||||
#H4 airbase
|
||||
12:
|
||||
- primary: BARCAP
|
||||
secondary: any
|
||||
aircraft:
|
||||
- F-16CM Fighting Falcon (Block 50)
|
||||
aircraft:
|
||||
- F-15E Strike Eagle
|
||||
#H4 airbase
|
||||
12:
|
||||
- primary: CAS
|
||||
secondary: air-to-ground
|
||||
aircraft:
|
||||
- A-10C Thunderbolt II (Suite 3)
|
||||
- primary: CAS
|
||||
secondary: air-to-ground
|
||||
aircraft:
|
||||
- A-10C Thunderbolt II (Suite 3)
|
||||
#Northern FOB
|
||||
Staging Point Alpha:
|
||||
- A-10C Thunderbolt II (Suite 7)
|
||||
#Northern FOB
|
||||
Staging Point Alpha:
|
||||
- primary: CAS
|
||||
aircraft:
|
||||
- AH-64D Apache Longbow
|
||||
#Carrier is called Naval-1
|
||||
Naval-1:
|
||||
aircraft:
|
||||
- AH-64D Apache Longbow
|
||||
#Carrier is called Naval-1
|
||||
Naval-1:
|
||||
- primary: BARCAP
|
||||
secondary: air-to-air
|
||||
aircraft:
|
||||
- F-14B Tomcat
|
||||
- F-14B Tomcat
|
||||
- primary: BARCAP
|
||||
secondary: air-to-air
|
||||
aircraft:
|
||||
- F-14B Tomcat
|
||||
- F-14B Tomcat
|
||||
- primary: Strike
|
||||
secondary: any
|
||||
aircraft:
|
||||
- F/A-18C Hornet (Lot 20)
|
||||
- F/A-18C Hornet (Lot 20)
|
||||
- primary: SEAD
|
||||
secondary: any
|
||||
aircraft:
|
||||
- F/A-18C Hornet (Lot 20)
|
||||
- F/A-18C Hornet (Lot 20)
|
||||
- primary: Refueling
|
||||
aircraft:
|
||||
- S-3B Tanker
|
||||
- S-3B Tanker
|
||||
- primary: AEW&C
|
||||
aircraft:
|
||||
- E-2C Hawkeye
|
||||
#LHA is called Naval-2
|
||||
Naval-2:
|
||||
- E-2C Hawkeye
|
||||
#LHA is called Naval-2
|
||||
Naval-2:
|
||||
- primary: CAS
|
||||
secondary: air-to-ground
|
||||
aircraft:
|
||||
- AV-8B Harrier II Night Attack
|
||||
- AV-8B Harrier II Night Attack
|
||||
- primary: CAS
|
||||
aircraft:
|
||||
- AH-1W SuperCobra
|
||||
# Al Qusayr - opposing the beach landing with old fighters (mig-23), CAS (su-17), helicopters (mi-24)
|
||||
3:
|
||||
- AH-1W SuperCobra
|
||||
- UH-1H Iroquois
|
||||
# Al Qusayr - opposing the beach landing with old fighters (mig-23), CAS (su-17), helicopters (mi-24)
|
||||
3:
|
||||
- primary: BARCAP
|
||||
secondary: any
|
||||
aircraft:
|
||||
- MiG-23MLD Flogger-K
|
||||
- MiG-23MLD Flogger-K
|
||||
- primary: CAS
|
||||
secondary: air-to-ground
|
||||
aircraft:
|
||||
- Mi-24V Hind-E
|
||||
- Mi-24V Hind-E
|
||||
- primary: CAS
|
||||
secondary: air-to-ground
|
||||
aircraft:
|
||||
- Su-17M4 Fitter-K
|
||||
# Tiyas - secondary base for good fighters (mig-25) and trainers (L-39)
|
||||
39:
|
||||
- Su-17M4 Fitter-K
|
||||
# Tiyas - secondary base for good fighters (mig-25) and trainers (L-39)
|
||||
39:
|
||||
- primary: BARCAP
|
||||
secondary: air-to-air
|
||||
aircraft:
|
||||
- MiG-25PD Foxbat-E
|
||||
- MiG-25PD Foxbat-E
|
||||
- primary: Strike
|
||||
secondary: air-to-ground
|
||||
aircraft:
|
||||
- L-39ZA Albatros
|
||||
- L-39ZA Albatros
|
||||
- primary: BARCAP
|
||||
secondary: air-to-air
|
||||
aircraft:
|
||||
- MiG-29S Fulcrum-C
|
||||
# Palmyra - forward base, helicopters (mi-24, mi-8), old fighters (mig-21) and cas (su-17)
|
||||
28:
|
||||
- MiG-29S Fulcrum-C
|
||||
# Palmyra - forward base, helicopters (mi-24, mi-8), old fighters (mig-21) and cas (su-17)
|
||||
28:
|
||||
- primary: BARCAP
|
||||
secondary: any
|
||||
aircraft:
|
||||
- MiG-21bis Fishbed-N
|
||||
- MiG-21bis Fishbed-N
|
||||
- primary: CAS
|
||||
secondary: air-to-ground
|
||||
aircraft:
|
||||
- Mi-24P Hind-F
|
||||
- Su-17M4 Fitter-K
|
||||
- Mi-24P Hind-F
|
||||
- Su-17M4 Fitter-K
|
||||
- primary: CAS
|
||||
secondary: air-to-ground
|
||||
aircraft:
|
||||
- Su-17M4 Fitter-K
|
||||
- Su-17M4 Fitter-K
|
||||
- primary: Transport
|
||||
secondary: air-to-ground
|
||||
aircraft:
|
||||
- Mi-8MTV2 Hip
|
||||
# Shayrat - main base for support planes (A-50, transport, tanker), strike craft (su-24) and modern fighters (mig-29)
|
||||
36:
|
||||
- Mi-8MTV2 Hip
|
||||
# Shayrat - main base for support planes (A-50, transport, tanker), strike craft (su-24) and modern fighters (mig-29)
|
||||
36:
|
||||
- primary: BARCAP
|
||||
secondary: air-to-air
|
||||
aircraft:
|
||||
- MiG-29S Fulcrum-C
|
||||
- MiG-29S Fulcrum-C
|
||||
- primary: Strike
|
||||
secondary: air-to-ground
|
||||
aircraft:
|
||||
- Su-24M Fencer-D
|
||||
- Su-24M Fencer-D
|
||||
- primary: Refueling
|
||||
aircraft:
|
||||
- IL-78M
|
||||
- IL-78M
|
||||
- primary: Transport
|
||||
aircraft:
|
||||
- IL-76MD
|
||||
|
||||
# Defensive Line FARP for gazelles
|
||||
Defensive Line:
|
||||
- IL-76MD
|
||||
|
||||
# Defensive Line FARP for gazelles
|
||||
Defensive Line:
|
||||
- primary: CAS
|
||||
aircraft:
|
||||
- SA 342M Gazelle
|
||||
- SA 342M Gazelle
|
||||
Binary file not shown.
@@ -4,7 +4,7 @@ theater: Nevada
|
||||
authors: Starfire
|
||||
recommended_player_faction: USA 2005
|
||||
recommended_enemy_faction: Redfor (China) 2010
|
||||
description: <p>Welcome to Vegas Nerve, an asymmetrical Red Flag Exercise scenario. You start off in control of the two Tonopah airports, and will push south from there. For the duration of this exercise, Creech AFB has been cleared of all fixed wing aircraft and will function as a FARP. OPFOR has a substantial resource advantage and reducing that advantage will be key to your success. Good luck, Commander.</p>
|
||||
description: <p>Welcome to Vegas Nerve, an asymmetrical Red Flag Exercise scenario. You are starting off in control of the two Tonopah airports, and will push south from there. For the duration of this exercise, Creech AFB has been cleared of all fixed wing aircraft and will function as a FARP for rotor ops. OPFOR has a substantial resource advantage and an extensive IADS. Reducing that resource advantage while degrading their IADS will be vital to a successful completion of this exercise. Good luck, Commander.</p>
|
||||
miz: exercise_vegas_nerve.miz
|
||||
performance: 1
|
||||
recommended_start_date: 2011-04-24
|
||||
@@ -46,11 +46,11 @@ squadrons:
|
||||
secondary: air-to-ground
|
||||
aircraft:
|
||||
- AH-64D Apache Longbow
|
||||
- primary: SEAD
|
||||
- primary: DEAD
|
||||
secondary: air-to-ground
|
||||
aircraft:
|
||||
- F/A-18C Hornet (Lot 20)
|
||||
- primary: DEAD
|
||||
- primary: SEAD
|
||||
secondary: air-to-ground
|
||||
aircraft:
|
||||
- F-16CM Fighting Falcon (Block 50)
|
||||
|
||||
Binary file not shown.
@@ -4,8 +4,8 @@ theater: Syria
|
||||
authors: Fuzzle
|
||||
recommended_player_faction: Israel-USN 2005 (Allied Sword)
|
||||
recommended_enemy_faction: Syria-Lebanon 2005 (Allied Sword)
|
||||
description: <p>In this fictional scenario, a US/Israeli coalition must push north from the Israeli border, through Syria and Lebanon to Aleppo.</p><p><strong>Backstory:</strong> A Syrian-Lebanese joint force (with Russian materiel support) has attacked Israel, attmepting to cross the northern border. With the arrival of a US carrier group, Israel prepares its counterattack. The US Navy will handle the Beirut region's coastal arena, while the IAF will push through Damascus and the inland mountain ranges.</p>,
|
||||
version: "9.1"
|
||||
description: <p>In this fictional scenario, a US/Israeli coalition must push north from the Israeli border, through Syria and Lebanon to Aleppo.</p><p><strong>Backstory:</strong> A Syrian-Lebanese joint force (with Russian materiel support) has attacked Israel, attmepting to cross the northern border. With the arrival of a US carrier group, Israel prepares its counterattack. The US Navy will handle the Beirut region's coastal arena, while the IAF will push through Damascus and the inland mountain ranges.</p>
|
||||
version: "10.0"
|
||||
miz: operation_allied_sword.miz
|
||||
performance: 2
|
||||
recommended_start_date: 2004-07-17
|
||||
|
||||
Binary file not shown.
@@ -2,8 +2,8 @@
|
||||
name: Syria - Operation Blackball
|
||||
theater: Syria
|
||||
authors: Fuzzle
|
||||
description: <p>A lightweight fictional showcase of Cyprus for the Syria terrain. A US Navy force must deploy from a FOB and carrier group to push from the north-east down through the island. <strong>Note that the ground units purchased on turn zero must sustain you until you've taken the first hostile FOB. The starting point does not have a factory to simulate a Marine Expeditionary Force deploying from the carrier group.</strong></p><p><strong>Backstory:</strong> The world is at war. With the help of her eastern allies Russia has taken the Suez Canal and deployed a large naval force to the Mediterranean trapping a US carrier group near the Turkish-Syrian border. Now they must break out by taking Cyprus back.</p>
|
||||
version: "9.1"
|
||||
description: <p>A lightweight fictional showcase of Cyprus for the Syria terrain. A US Navy force must deploy from a FOB and carrier group to push from the north-east down through the island. <strong>Note that the ground units purchased on turn zero must sustain you until you've taken the first hostile FOB. The starting point does not have a factory to simulate a Marine Expeditionary Force deploying from the carrier group.</strong></p><p><strong>Backstory:</strong> The world is at war. With the help of her eastern allies Russia has taken the Suez Canal and deployed a large naval force to the Mediterranean, trapping a US carrier group near the Turkish-Syrian border. Now they must break out by taking Cyprus back.</p>
|
||||
version: "10.0"
|
||||
recommended_player_faction: US Navy 2005
|
||||
recommended_enemy_faction: Russia 2010
|
||||
miz: operation_blackball.miz
|
||||
@@ -17,13 +17,9 @@ squadrons:
|
||||
aircraft:
|
||||
- VF-142
|
||||
- primary: SEAD
|
||||
secondary: any
|
||||
secondary: air-to-ground
|
||||
aircraft:
|
||||
- VFA-106
|
||||
- primary: BAI
|
||||
secondary: any
|
||||
aircraft:
|
||||
- VMFA-122
|
||||
- primary: AEW&C
|
||||
aircraft:
|
||||
- VAW-125
|
||||
|
||||
Binary file not shown.
@@ -4,7 +4,7 @@ theater: Syria
|
||||
authors: Starfire
|
||||
recommended_player_faction: Bluefor Modern
|
||||
recommended_enemy_faction: Iraq 1991
|
||||
description: <p>This is a semi-fictional what-if scenario for Operation Peace Spring, during which Turkish forces that crossed into Syria on an offensive against Kurdish militias were emboldened by early successes to continue pushing further southward. Attempts to broker a ceasefire have failed. Members of Operation Inherent Resolve have gathered at Ramat David Airbase in Israel to launch a counter-offensive.</p><p><strong>Note:</strong> The default faction is set as Iraq 1991 in order to provide an opponent with a wider variety of units. While Turkey 2005 would be the historical faction, you would be facing nothing in the air except F-4 Phantoms.</p>
|
||||
description: <p>This is a semi-fictional what-if scenario for Operation Peace Spring, during which Turkish forces that crossed into Syria on an offensive against Kurdish militias were emboldened by early successes to continue pushing further southward. Attempts to broker a ceasefire have failed. Members of Operation Inherent Resolve have gathered at Ramat David Airbase in Israel to launch a counter-offensive.</p><p><strong>Note:</strong> The default faction is set as Iraq 1991 in order to provide an opponent with a wider variety of units. While Turkey 2005 would be the historical faction (and has preset squadrons included), they only have two jets available (F-4 and F-16).</p>
|
||||
miz: operation_peace_spring.miz
|
||||
performance: 1
|
||||
recommended_start_date: 2019-12-23
|
||||
@@ -16,33 +16,19 @@ squadrons:
|
||||
secondary: air-to-air
|
||||
aircraft:
|
||||
- F-15C Eagle
|
||||
- primary: BARCAP
|
||||
secondary: air-to-air
|
||||
aircraft:
|
||||
- F-14B Tomcat
|
||||
- primary: TARCAP
|
||||
secondary: any
|
||||
aircraft:
|
||||
- Mirage 2000C
|
||||
- F/A-18C Hornet (Lot 20)
|
||||
- primary: CAS
|
||||
secondary: air-to-ground
|
||||
aircraft:
|
||||
- A-10C Thunderbolt II (Suite 7)
|
||||
- primary: SEAD
|
||||
secondary: any
|
||||
aircraft:
|
||||
- F/A-18C Hornet (Lot 20)
|
||||
- primary: DEAD
|
||||
secondary: any
|
||||
aircraft:
|
||||
- F-16CM Fighting Falcon (Block 50)
|
||||
- primary: BAI
|
||||
- F/A-18C Hornet (Lot 20)
|
||||
- primary: SEAD
|
||||
secondary: any
|
||||
aircraft:
|
||||
- JF-17 Thunder
|
||||
- F-16CM Fighting Falcon (Block 50)
|
||||
- primary: BAI
|
||||
- primary: Strike
|
||||
secondary: air-to-ground
|
||||
aircraft:
|
||||
- AV-8B Harrier II Night Attack
|
||||
@@ -50,19 +36,6 @@ squadrons:
|
||||
secondary: air-to-ground
|
||||
aircraft:
|
||||
- F-15E Strike Eagle
|
||||
- primary: Strike
|
||||
secondary: air-to-ground
|
||||
aircraft:
|
||||
- AJS-37 Viggen
|
||||
- F-117A Nighthawk
|
||||
- primary: Strike
|
||||
secondary: air-to-ground
|
||||
aircraft:
|
||||
- B-1B Lancer
|
||||
- primary: Strike
|
||||
secondary: air-to-ground
|
||||
aircraft:
|
||||
- B-52H Stratofortress
|
||||
- primary: AEW&C
|
||||
aircraft:
|
||||
- E-3A
|
||||
@@ -94,11 +67,6 @@ squadrons:
|
||||
aircraft:
|
||||
- F-16CM Fighting Falcon (Block 50)
|
||||
- Su-24M Fencer-D
|
||||
- primary: Transport
|
||||
secondary: any
|
||||
aircraft:
|
||||
- UH-60A
|
||||
- Mi-8MTV2 Hip
|
||||
# Abu Al Duhur
|
||||
# 1:
|
||||
# Gaziantep
|
||||
@@ -116,11 +84,6 @@ squadrons:
|
||||
- F-16CM Fighting Falcon (Block 50)
|
||||
- MiG-29A Fulcrum-A
|
||||
- primary: Strike
|
||||
secondary: air-to-ground
|
||||
aircraft:
|
||||
- F-4E Phantom II
|
||||
- Tu-22M3 Backfire-C
|
||||
- primary: BAI
|
||||
secondary: air-to-ground
|
||||
aircraft:
|
||||
- F-4E Phantom II
|
||||
|
||||
Binary file not shown.
@@ -10,25 +10,15 @@ performance: 1
|
||||
recommended_start_date: 2008-08-08
|
||||
version: "9.1"
|
||||
squadrons:
|
||||
Blue CV:
|
||||
Blue CV-1:
|
||||
- primary: BARCAP
|
||||
secondary: any
|
||||
aircraft:
|
||||
- F-14B Tomcat
|
||||
- F-14A Tomcat (Block 135-GR Late)
|
||||
- primary: TARCAP
|
||||
secondary: any
|
||||
aircraft:
|
||||
- F-14B Tomcat
|
||||
- F-14A Tomcat (Block 135-GR Late)
|
||||
- primary: SEAD
|
||||
secondary: any
|
||||
aircraft:
|
||||
- F/A-18C Hornet (Lot 20)
|
||||
- primary: DEAD
|
||||
secondary: any
|
||||
aircraft:
|
||||
- F/A-18C Hornet (Lot 20)
|
||||
- primary: AEW&C
|
||||
aircraft:
|
||||
- E-2C Hawkeye
|
||||
@@ -40,9 +30,6 @@ squadrons:
|
||||
secondary: air-to-ground
|
||||
aircraft:
|
||||
- AV-8B Harrier II Night Attack
|
||||
- primary: Transport
|
||||
aircraft:
|
||||
- SH-60B Seahawk
|
||||
From Incirlik:
|
||||
- primary: BARCAP
|
||||
secondary: air-to-air
|
||||
@@ -52,6 +39,10 @@ squadrons:
|
||||
secondary: air-to-ground
|
||||
aircraft:
|
||||
- A-10C Thunderbolt II (Suite 7)
|
||||
- primary: CAS
|
||||
secondary: air-to-ground
|
||||
aircraft:
|
||||
- AH-64D Apache Longbow
|
||||
- primary: DEAD
|
||||
secondary: any
|
||||
aircraft:
|
||||
@@ -66,9 +57,6 @@ squadrons:
|
||||
- primary: Refueling
|
||||
aircraft:
|
||||
- KC-135 Stratotanker
|
||||
- primary: Transport
|
||||
aircraft:
|
||||
- C-130
|
||||
#FARPs
|
||||
UNOMIG Sector HQ:
|
||||
- primary: CAS
|
||||
@@ -81,13 +69,13 @@ squadrons:
|
||||
aircraft:
|
||||
- Mi-24P Hind-F
|
||||
#Sukhumi-Babushara
|
||||
#20:
|
||||
#Sochi-Adler
|
||||
18:
|
||||
20:
|
||||
- primary: BARCAP
|
||||
secondary: any
|
||||
aircraft:
|
||||
- MiG-29S Fulcrum-C
|
||||
- MiG-29S Fulcrum-C
|
||||
#Sochi-Adler
|
||||
18:
|
||||
- primary: CAS
|
||||
secondary: air-to-ground
|
||||
aircraft:
|
||||
@@ -104,9 +92,6 @@ squadrons:
|
||||
- primary: Refueling
|
||||
aircraft:
|
||||
- IL-78M
|
||||
- primary: Transport
|
||||
aircraft:
|
||||
- IL-76MD
|
||||
Red CV:
|
||||
- primary: BARCAP
|
||||
secondary: any
|
||||
@@ -115,6 +100,5 @@ squadrons:
|
||||
# I am aware there is no Russian LHA. This is just for campaign inversion.
|
||||
Red LHA:
|
||||
- primary: BAI
|
||||
secondary: air-to-ground
|
||||
aircraft:
|
||||
- AV-8B Harrier II Night Attack
|
||||
secondary: air-to-ground
|
||||
|
||||
|
||||
Binary file not shown.
@@ -3,7 +3,7 @@ name: Marianas - Pacific Repartee
|
||||
theater: MarianaIslands
|
||||
authors: Fuzzle
|
||||
description: <p>A naval campaign where a US carrier group must retake Guam, Saipan and the Marianas Islands from the Chinese. <strong>This is a purely offensive air campaign, with no frontline gameplay. Upon securing the area around a FOB, you may either ignore it, bomb it to dust or use the cheats to capture it.</strong></p><p><strong>Backstory:</strong> After an escalation in the South China Sea, the PLAN has taken the US by surprise and invaded Guam, setting up supporting positions throughout the Marianas island chain. With the rest of the US Navy engaged near Japan, a carrier task group must push through China's forces, assist a small Marine contingent holding out on Farallon de Pajaros and liberate Guam.</p>
|
||||
version: "9.1"
|
||||
version: "10.0"
|
||||
recommended_player_faction: US Navy 2005
|
||||
recommended_enemy_faction: China 2010
|
||||
miz: pacific_repartee.miz
|
||||
@@ -17,13 +17,9 @@ squadrons:
|
||||
aircraft:
|
||||
- VF-143
|
||||
- primary: SEAD
|
||||
secondary: any
|
||||
secondary: air-to-ground
|
||||
aircraft:
|
||||
- VMFA-251
|
||||
- primary: Strike
|
||||
secondary: any
|
||||
aircraft:
|
||||
- VMFA-122
|
||||
- primary: AEW&C
|
||||
aircraft:
|
||||
- VAW-125
|
||||
|
||||
Binary file not shown.
@@ -3,7 +3,7 @@ name: Persian Gulf - Scenic Route 2 - Dust To Dust
|
||||
theater: Persian Gulf
|
||||
authors: Fuzzle
|
||||
description: <p>A continuation of Scenic Route. A NATO coalition pushes inland along a protracted axis of advance. Built with helicopters/FOB-based gameplay in mind. <p><strong>Backstory:</strong> With Iran's coastal defences pacified and their forces pushed inland, a beleaguered US Navy is reinforced by a NATO coalition task force. The going will not be easy however; Iran has assembled the full might of its armoured and mechanized divisions alongside rotary support to defend their heartland. The conflict intensifies.</p>
|
||||
version: "9.1"
|
||||
version: "10.0"
|
||||
advanced_iads: true
|
||||
recommended_player_faction: NATO OIF
|
||||
recommended_enemy_faction: Iran 2015
|
||||
@@ -51,7 +51,7 @@ squadrons:
|
||||
secondary: air-to-air
|
||||
aircraft:
|
||||
- VF-143
|
||||
- primary: TARCAP
|
||||
- primary: DEAD
|
||||
secondary: any
|
||||
aircraft:
|
||||
- VMFA-251
|
||||
@@ -81,7 +81,7 @@ squadrons:
|
||||
- primary: CAS
|
||||
secondary: air-to-ground
|
||||
aircraft:
|
||||
- 229th Aviation Battalion
|
||||
- Wolfpack, 1-82 ARB
|
||||
#US Army Apache AH-64D
|
||||
# OPFOR L1F1
|
||||
FOB Tang-e Dalan:
|
||||
|
||||
Binary file not shown.
@@ -3,7 +3,8 @@ name: Persian Gulf - Scenic Route
|
||||
theater: Persian Gulf
|
||||
authors: Fuzzle
|
||||
description: <p>A lightweight naval campaign involving a US Navy carrier group pushing across the coast of Iran. <strong>Note that the ground units purchased on turn zero must sustain you until you've taken the first hostile FOB. The starting point does not have a factory to simulate a Marine Expeditionary Force deploying from the carrier group.</strong></p><p><strong>Backstory:</strong> Iran has declared war on all US forces in the Gulf resulting in all local allies withdrawing their support for American troops. A lone carrier group must pacify the southern coast of Iran and hold out until backup can arrive lest the US and her interests be ejected from the region permanently.</p>
|
||||
version: "9.1"
|
||||
version: "10.0"
|
||||
advanced_iads: true
|
||||
recommended_player_faction: US Navy 2005
|
||||
recommended_enemy_faction: Iran 2015
|
||||
miz: scenic_route.miz
|
||||
@@ -17,13 +18,9 @@ squadrons:
|
||||
aircraft:
|
||||
- VF-143
|
||||
- primary: SEAD
|
||||
secondary: any
|
||||
secondary: air-to-ground
|
||||
aircraft:
|
||||
- VFA-113
|
||||
- primary: BAI
|
||||
secondary: any
|
||||
aircraft:
|
||||
- VMFA-251
|
||||
- primary: AEW&C
|
||||
aircraft:
|
||||
- VAW-125
|
||||
|
||||
BIN
resources/campaigns/tripoint_hostility.miz
Normal file
BIN
resources/campaigns/tripoint_hostility.miz
Normal file
Binary file not shown.
142
resources/campaigns/tripoint_hostility.yaml
Normal file
142
resources/campaigns/tripoint_hostility.yaml
Normal file
@@ -0,0 +1,142 @@
|
||||
---
|
||||
name: Syria - Tripoint Hostility
|
||||
theater: Syria
|
||||
authors: Fuzzle
|
||||
description: <p>A joint US Army/Air Force force must push Iraqi aggressors back through Jordan and Syria to the border, then pacify Iraq's nearby airbases. This campaign showcases the southeastern expansion to the Syria terrain, and incentivizes heavy usage of rotary from FARPs.</p><p><strong>Backstory:</strong> In an alternate 2006, Iraq has seen a coup place a hardline national fundamentalist movement in power, who have ejected US forces from the country under threat from newfound Iranian allies. With their confidence unchecked, Iraq has invaded their Jordanian and Syrian neighbours to the west, pushing nearly to the Israeli border. To keep the region from falling to chaos, the US has redeployed a task force from Europe to defend Jordan and bring down Iraq's west-facing air power.</p>
|
||||
recommended_player_faction: USA 2005
|
||||
recommended_enemy_faction: Iraq 1991
|
||||
recommended_start_date: 2006-08-03
|
||||
miz: tripoint_hostility.miz
|
||||
performance: 2
|
||||
version: "10.0"
|
||||
squadrons:
|
||||
# Off-theatre forces
|
||||
From Turkey:
|
||||
- primary: Strike
|
||||
secondary: air-to-ground
|
||||
aircraft:
|
||||
- B-1B Lancer
|
||||
- primary: AEW&C
|
||||
aircraft:
|
||||
- 960th AAC Squadron
|
||||
#USAF E-3A
|
||||
# King Hussein Air College, BLUFOR start
|
||||
19:
|
||||
- primary: BARCAP
|
||||
secondary: air-to-air
|
||||
aircraft:
|
||||
- 493rd FS
|
||||
#USAF F-15C
|
||||
- primary: SEAD
|
||||
secondary: any
|
||||
aircraft:
|
||||
- 23rd FS
|
||||
#USAF F-16C
|
||||
- primary: BAI
|
||||
secondary: air-to-ground
|
||||
aircraft:
|
||||
- 81st FS
|
||||
#USAF A-10CII
|
||||
- primary: Transport
|
||||
secondary: air-to-ground
|
||||
aircraft:
|
||||
- 101st Combat Aviation Brigade
|
||||
#US Army UH-60
|
||||
# FOB Tha'lah, BLUFOR 1st FOB north
|
||||
FOB Tha'lah:
|
||||
- primary: CAS
|
||||
secondary: air-to-ground
|
||||
aircraft:
|
||||
- A Company, 1-227th ARB
|
||||
#US Army AH-64D
|
||||
# FOB Stalwart, first BLUFOR FOB south
|
||||
FOB Stalwart:
|
||||
- primary: CAS
|
||||
secondary: air-to-ground
|
||||
aircraft:
|
||||
- C Company, 2-159th ARB
|
||||
#US Army AH-64D
|
||||
# FOB Qalea, first OPFOR FOB south
|
||||
FOB Qalea:
|
||||
- primary: CAS
|
||||
secondary: air-to-ground
|
||||
aircraft:
|
||||
- SA 342M Gazelle
|
||||
# H4 Airbase, 1st OPFOR airfield south
|
||||
12:
|
||||
- primary: BARCAP
|
||||
secondary: any
|
||||
aircraft:
|
||||
- MiG-21bis Fishbed-N
|
||||
# FOB Eadla, 2nd OPFOR FOB south
|
||||
FOB Eadla:
|
||||
- primary: CAS
|
||||
secondary: air-to-ground
|
||||
aircraft:
|
||||
- Mi-24P Hind-F
|
||||
# Ruwayshid, 2nd OPFOR airfield south
|
||||
57:
|
||||
- primary: BAI
|
||||
secondary: air-to-ground
|
||||
aircraft:
|
||||
- Su-22M4 Fitter-K
|
||||
# H3 Southwest, 3rd OPFOR airfield south
|
||||
55:
|
||||
- primary: BARCAP
|
||||
secondary: any
|
||||
aircraft:
|
||||
- MiG-29A Fulcrum-A
|
||||
- primary: CAS
|
||||
secondary: air-to-ground
|
||||
aircraft:
|
||||
- Su-25 Frogfoot
|
||||
# H3 Airbase, 4th-last OPFOR airfield south
|
||||
53:
|
||||
- primary: TARCAP
|
||||
secondary: air-to-air
|
||||
aircraft:
|
||||
- MiG-25PD Foxbat-E
|
||||
- primary: Strike
|
||||
secondary: air-to-ground
|
||||
aircraft:
|
||||
- Su-24M Fencer-D
|
||||
# Khalkhalah, 1st OPFOR airfield north
|
||||
18:
|
||||
- primary: BARCAP
|
||||
secondary: any
|
||||
aircraft:
|
||||
- MiG-19P Farmer-B
|
||||
# FOB Dhirae, 1st OPFOR FOB north
|
||||
FOB Dhirae:
|
||||
- primary: CAS
|
||||
secondary: air-to-ground
|
||||
aircraft:
|
||||
- SA 342M Gazelle
|
||||
# FOB Kataf, 2nd OPFOR FOB north
|
||||
FOB Kataf:
|
||||
- primary: CAS
|
||||
secondary: air-to-ground
|
||||
aircraft:
|
||||
- Mi-24P Hind-F
|
||||
# At Tanf, 3rd OPFOR heliport north
|
||||
63:
|
||||
- primary: CAS
|
||||
secondary: air-to-ground
|
||||
aircraft:
|
||||
- SA 342M Gazelle
|
||||
# FOB Qalb, 4th OPFOR FOB north
|
||||
FOB Qalb:
|
||||
- primary: CAS
|
||||
secondary: air-to-ground
|
||||
aircraft:
|
||||
- Mi-24P Hind-F
|
||||
# H3 Northwest, 2nd OPFOR airfield north
|
||||
54:
|
||||
- primary: BARCAP
|
||||
secondary: any
|
||||
aircraft:
|
||||
- MiG-21bis Fishbed-N
|
||||
- primary: CAS
|
||||
secondary: air-to-ground
|
||||
aircraft:
|
||||
- Su-22M4 Fitter-K
|
||||
80
resources/customized_payloads/AH-64D_BLK_II.lua
Normal file
80
resources/customized_payloads/AH-64D_BLK_II.lua
Normal file
@@ -0,0 +1,80 @@
|
||||
local unitPayloads = {
|
||||
["name"] = "AH-64D_BLK_II",
|
||||
["payloads"] = {
|
||||
[1] = {
|
||||
["name"] = "Liberation CAS",
|
||||
["pylons"] = {
|
||||
[1] = {
|
||||
["CLSID"] = "{88D18A5E-99C8-4B04-B40B-1C02F2018B6E}",
|
||||
["num"] = 3,
|
||||
},
|
||||
[2] = {
|
||||
["CLSID"] = "{M261_M282}",
|
||||
["num"] = 4,
|
||||
},
|
||||
[3] = {
|
||||
["CLSID"] = "{88D18A5E-99C8-4B04-B40B-1C02F2018B6E}",
|
||||
["num"] = 2,
|
||||
},
|
||||
[4] = {
|
||||
["CLSID"] = "{M261_M282}",
|
||||
["num"] = 1,
|
||||
},
|
||||
},
|
||||
["tasks"] = {
|
||||
[1] = 31,
|
||||
},
|
||||
},
|
||||
[2] = {
|
||||
["displayName"] = "Liberation BAI",
|
||||
["name"] = "Liberation BAI",
|
||||
["pylons"] = {
|
||||
[1] = {
|
||||
["CLSID"] = "{88D18A5E-99C8-4B04-B40B-1C02F2018B6E}",
|
||||
["num"] = 3,
|
||||
},
|
||||
[2] = {
|
||||
["CLSID"] = "{88D18A5E-99C8-4B04-B40B-1C02F2018B6E}",
|
||||
["num"] = 4,
|
||||
},
|
||||
[3] = {
|
||||
["CLSID"] = "{88D18A5E-99C8-4B04-B40B-1C02F2018B6E}",
|
||||
["num"] = 2,
|
||||
},
|
||||
[4] = {
|
||||
["CLSID"] = "{88D18A5E-99C8-4B04-B40B-1C02F2018B6E}",
|
||||
["num"] = 1,
|
||||
},
|
||||
},
|
||||
["tasks"] = {
|
||||
[1] = 31,
|
||||
},
|
||||
},
|
||||
[3] = {
|
||||
["name"] = "Liberation OCA/Aircraft",
|
||||
["pylons"] = {
|
||||
[1] = {
|
||||
["CLSID"] = "{M261_M229}",
|
||||
["num"] = 4,
|
||||
},
|
||||
[2] = {
|
||||
["CLSID"] = "{M261_M229}",
|
||||
["num"] = 1,
|
||||
},
|
||||
[3] = {
|
||||
["CLSID"] = "{88D18A5E-99C8-4B04-B40B-1C02F2018B6E}",
|
||||
["num"] = 3,
|
||||
},
|
||||
[4] = {
|
||||
["CLSID"] = "{88D18A5E-99C8-4B04-B40B-1C02F2018B6E}",
|
||||
["num"] = 2,
|
||||
},
|
||||
},
|
||||
["tasks"] = {
|
||||
[1] = 31,
|
||||
},
|
||||
},
|
||||
},
|
||||
["unitType"] = "AH-64D_BLK_II",
|
||||
}
|
||||
return unitPayloads
|
||||
@@ -6,7 +6,7 @@ local unitPayloads = {
|
||||
["name"] = "CAP",
|
||||
["pylons"] = {
|
||||
[1] = {
|
||||
["CLSID"] = "JAS39_IRIS-T",
|
||||
["CLSID"] = "{JAS39_IRIS-T}",
|
||||
["num"] = 8,
|
||||
},
|
||||
[2] = {
|
||||
@@ -18,27 +18,27 @@ local unitPayloads = {
|
||||
["num"] = 11,
|
||||
},
|
||||
[4] = {
|
||||
["CLSID"] = "JAS39_IRIS-T",
|
||||
["CLSID"] = "{JAS39_IRIS-T}",
|
||||
["num"] = 1,
|
||||
},
|
||||
[5] = {
|
||||
["CLSID"] = "JAS39_Meteor",
|
||||
["CLSID"] = "{JAS39_Meteor}",
|
||||
["num"] = 7,
|
||||
},
|
||||
[6] = {
|
||||
["CLSID"] = "JAS39_Meteor",
|
||||
["CLSID"] = "{JAS39_Meteor}",
|
||||
["num"] = 6,
|
||||
},
|
||||
[7] = {
|
||||
["CLSID"] = "JAS39_Meteor",
|
||||
["CLSID"] = "{JAS39_Meteor}",
|
||||
["num"] = 2,
|
||||
},
|
||||
[8] = {
|
||||
["CLSID"] = "JAS39_Meteor",
|
||||
["CLSID"] = "{JAS39_Meteor}",
|
||||
["num"] = 3,
|
||||
},
|
||||
[9] = {
|
||||
["CLSID"] = "JAS39_TANK1100",
|
||||
["CLSID"] = "{JAS39_TANK1100}",
|
||||
["num"] = 4,
|
||||
},
|
||||
},
|
||||
|
||||
@@ -6,15 +6,15 @@ local unitPayloads = {
|
||||
["name"] = "ANTISHIP",
|
||||
["pylons"] = {
|
||||
[1] = {
|
||||
["CLSID"] = "JAS39_IRIS-T",
|
||||
["CLSID"] = "{JAS39_IRIS-T}",
|
||||
["num"] = 1,
|
||||
},
|
||||
[2] = {
|
||||
["CLSID"] = "JAS39_IRIS-T",
|
||||
["CLSID"] = "{JAS39_IRIS-T}",
|
||||
["num"] = 8,
|
||||
},
|
||||
[3] = {
|
||||
["CLSID"] = "JAS39_TANK1100",
|
||||
["CLSID"] = "{JAS39_TANK1100}",
|
||||
["num"] = 4,
|
||||
},
|
||||
[4] = {
|
||||
@@ -26,19 +26,19 @@ local unitPayloads = {
|
||||
["num"] = 11,
|
||||
},
|
||||
[6] = {
|
||||
["CLSID"] = "JAS39_RBS15AI",
|
||||
["CLSID"] = "{JAS39_RBS15AI}",
|
||||
["num"] = 6,
|
||||
},
|
||||
[7] = {
|
||||
["CLSID"] = "JAS39_RBS15AI",
|
||||
["CLSID"] = "{JAS39_RBS15AI}",
|
||||
["num"] = 7,
|
||||
},
|
||||
[8] = {
|
||||
["CLSID"] = "JAS39_RBS15AI",
|
||||
["CLSID"] = "{JAS39_RBS15AI}",
|
||||
["num"] = 2,
|
||||
},
|
||||
[9] = {
|
||||
["CLSID"] = "JAS39_RBS15AI",
|
||||
["CLSID"] = "{JAS39_RBS15AI}",
|
||||
["num"] = 3,
|
||||
},
|
||||
},
|
||||
@@ -51,15 +51,15 @@ local unitPayloads = {
|
||||
["name"] = "SEAD",
|
||||
["pylons"] = {
|
||||
[1] = {
|
||||
["CLSID"] = "JAS39_IRIS-T",
|
||||
["CLSID"] = "{JAS39_IRIS-T}",
|
||||
["num"] = 1,
|
||||
},
|
||||
[2] = {
|
||||
["CLSID"] = "JAS39_IRIS-T",
|
||||
["CLSID"] = "{JAS39_IRIS-T}",
|
||||
["num"] = 8,
|
||||
},
|
||||
[3] = {
|
||||
["CLSID"] = "JAS39_TANK1100",
|
||||
["CLSID"] = "{JAS39_TANK1100}",
|
||||
["num"] = 4,
|
||||
},
|
||||
[4] = {
|
||||
@@ -71,19 +71,19 @@ local unitPayloads = {
|
||||
["num"] = 11,
|
||||
},
|
||||
[6] = {
|
||||
["CLSID"] = "JAS39_MAR-1",
|
||||
["CLSID"] = "{JAS39_MAR-1}",
|
||||
["num"] = 2,
|
||||
},
|
||||
[7] = {
|
||||
["CLSID"] = "JAS39_MAR-1",
|
||||
["CLSID"] = "{JAS39_MAR-1}",
|
||||
["num"] = 3,
|
||||
},
|
||||
[8] = {
|
||||
["CLSID"] = "JAS39_MAR-1",
|
||||
["CLSID"] = "{JAS39_MAR-1}",
|
||||
["num"] = 6,
|
||||
},
|
||||
[9] = {
|
||||
["CLSID"] = "JAS39_MAR-1",
|
||||
["CLSID"] = "{JAS39_MAR-1}",
|
||||
["num"] = 7,
|
||||
},
|
||||
},
|
||||
@@ -96,15 +96,15 @@ local unitPayloads = {
|
||||
["name"] = "DEAD",
|
||||
["pylons"] = {
|
||||
[1] = {
|
||||
["CLSID"] = "JAS39_IRIS-T",
|
||||
["CLSID"] = "{JAS39_IRIS-T}",
|
||||
["num"] = 1,
|
||||
},
|
||||
[2] = {
|
||||
["CLSID"] = "JAS39_IRIS-T",
|
||||
["CLSID"] = "{JAS39_IRIS-T}",
|
||||
["num"] = 8,
|
||||
},
|
||||
[3] = {
|
||||
["CLSID"] = "JAS39_TANK1100",
|
||||
["CLSID"] = "{JAS39_TANK1100}",
|
||||
["num"] = 4,
|
||||
},
|
||||
[4] = {
|
||||
@@ -116,19 +116,19 @@ local unitPayloads = {
|
||||
["num"] = 11,
|
||||
},
|
||||
[6] = {
|
||||
["CLSID"] = "JAS39_STORMSHADOW",
|
||||
["CLSID"] = "{JAS39_STORMSHADOW_ARM}",
|
||||
["num"] = 3,
|
||||
},
|
||||
[7] = {
|
||||
["CLSID"] = "JAS39_STORMSHADOW",
|
||||
["CLSID"] = "{JAS39_STORMSHADOW_ARM}",
|
||||
["num"] = 6,
|
||||
},
|
||||
[8] = {
|
||||
["CLSID"] = "JAS39_MAR-1",
|
||||
["CLSID"] = "{JAS39_MAR-1}",
|
||||
["num"] = 2,
|
||||
},
|
||||
[9] = {
|
||||
["CLSID"] = "JAS39_MAR-1",
|
||||
["CLSID"] = "{JAS39_MAR-1}",
|
||||
["num"] = 7,
|
||||
},
|
||||
},
|
||||
@@ -141,15 +141,15 @@ local unitPayloads = {
|
||||
["name"] = "CAS",
|
||||
["pylons"] = {
|
||||
[1] = {
|
||||
["CLSID"] = "JAS39_IRIS-T",
|
||||
["CLSID"] = "{JAS39_IRIS-T}",
|
||||
["num"] = 1,
|
||||
},
|
||||
[2] = {
|
||||
["CLSID"] = "JAS39_IRIS-T",
|
||||
["CLSID"] = "{JAS39_IRIS-T}",
|
||||
["num"] = 8,
|
||||
},
|
||||
[3] = {
|
||||
["CLSID"] = "JAS39_TANK1100",
|
||||
["CLSID"] = "{JAS39_TANK1100}",
|
||||
["num"] = 4,
|
||||
},
|
||||
[4] = {
|
||||
@@ -161,23 +161,23 @@ local unitPayloads = {
|
||||
["num"] = 11,
|
||||
},
|
||||
[6] = {
|
||||
["CLSID"] = "JAS39_BRIMSTONE",
|
||||
["CLSID"] = "{JAS39_BRIMSTONE}",
|
||||
["num"] = 2,
|
||||
},
|
||||
[7] = {
|
||||
["CLSID"] = "JAS39_BRIMSTONE",
|
||||
["CLSID"] = "{JAS39_BRIMSTONE}",
|
||||
["num"] = 3,
|
||||
},
|
||||
[8] = {
|
||||
["CLSID"] = "JAS39_BRIMSTONE",
|
||||
["CLSID"] = "{JAS39_BRIMSTONE}",
|
||||
["num"] = 6,
|
||||
},
|
||||
[9] = {
|
||||
["CLSID"] = "JAS39_BRIMSTONE",
|
||||
["CLSID"] = "{JAS39_BRIMSTONE}",
|
||||
["num"] = 7,
|
||||
},
|
||||
[10] = {
|
||||
["CLSID"] = "JAS39_Litening",
|
||||
["CLSID"] = "{JAS39_Litening}",
|
||||
["num"] = 5,
|
||||
},
|
||||
[11] = {
|
||||
@@ -194,15 +194,15 @@ local unitPayloads = {
|
||||
["name"] = "STRIKE",
|
||||
["pylons"] = {
|
||||
[1] = {
|
||||
["CLSID"] = "JAS39_IRIS-T",
|
||||
["CLSID"] = "{JAS39_IRIS-T}",
|
||||
["num"] = 1,
|
||||
},
|
||||
[2] = {
|
||||
["CLSID"] = "JAS39_IRIS-T",
|
||||
["CLSID"] = "{JAS39_IRIS-T}",
|
||||
["num"] = 8,
|
||||
},
|
||||
[3] = {
|
||||
["CLSID"] = "JAS39_TANK1100",
|
||||
["CLSID"] = "{JAS39_TANK1100}",
|
||||
["num"] = 4,
|
||||
},
|
||||
[4] = {
|
||||
@@ -214,23 +214,23 @@ local unitPayloads = {
|
||||
["num"] = 11,
|
||||
},
|
||||
[6] = {
|
||||
["CLSID"] = "JAS39_GBU31",
|
||||
["CLSID"] = "{JAS39_GBU31}",
|
||||
["num"] = 2,
|
||||
},
|
||||
[7] = {
|
||||
["CLSID"] = "JAS39_GBU31",
|
||||
["CLSID"] = "{JAS39_GBU31}",
|
||||
["num"] = 7,
|
||||
},
|
||||
[8] = {
|
||||
["CLSID"] = "JAS39_GBU49",
|
||||
["CLSID"] = "{JAS39_GBU49}",
|
||||
["num"] = 3,
|
||||
},
|
||||
[9] = {
|
||||
["CLSID"] = "JAS39_GBU49",
|
||||
["CLSID"] = "{JAS39_GBU49}",
|
||||
["num"] = 6,
|
||||
},
|
||||
[10] = {
|
||||
["CLSID"] = "JAS39_Litening",
|
||||
["CLSID"] = "{JAS39_Litening}",
|
||||
["num"] = 5,
|
||||
},
|
||||
[11] = {
|
||||
@@ -247,15 +247,15 @@ local unitPayloads = {
|
||||
["name"] = "OCA",
|
||||
["pylons"] = {
|
||||
[1] = {
|
||||
["CLSID"] = "JAS39_IRIS-T",
|
||||
["CLSID"] = "{JAS39_IRIS-T}",
|
||||
["num"] = 1,
|
||||
},
|
||||
[2] = {
|
||||
["CLSID"] = "JAS39_IRIS-T",
|
||||
["CLSID"] = "{JAS39_IRIS-T}",
|
||||
["num"] = 8,
|
||||
},
|
||||
[3] = {
|
||||
["CLSID"] = "JAS39_TANK1100",
|
||||
["CLSID"] = "{JAS39_TANK1100}",
|
||||
["num"] = 4,
|
||||
},
|
||||
[4] = {
|
||||
@@ -267,23 +267,23 @@ local unitPayloads = {
|
||||
["num"] = 11,
|
||||
},
|
||||
[6] = {
|
||||
["CLSID"] = "JAS39_DWS39",
|
||||
["CLSID"] = "{JAS39_DWS39_TV}",
|
||||
["num"] = 2,
|
||||
},
|
||||
[7] = {
|
||||
["CLSID"] = "JAS39_DWS39",
|
||||
["CLSID"] = "{JAS39_DWS39_TV}",
|
||||
["num"] = 7,
|
||||
},
|
||||
[8] = {
|
||||
["CLSID"] = "JAS39_M70BHE",
|
||||
["CLSID"] = "{JAS39_M70BHE}",
|
||||
["num"] = 3,
|
||||
},
|
||||
[9] = {
|
||||
["CLSID"] = "JAS39_M70BHE",
|
||||
["CLSID"] = "{JAS39_M70BHE}",
|
||||
["num"] = 6,
|
||||
},
|
||||
[10] = {
|
||||
["CLSID"] = "JAS39_Litening",
|
||||
["CLSID"] = "{JAS39_Litening}",
|
||||
["num"] = 5,
|
||||
},
|
||||
[11] = {
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
"AV-8B Harrier II Night Attack",
|
||||
"AH-1W SuperCobra",
|
||||
"AH-64D Apache Longbow",
|
||||
"AH-64D Apache Longbow (AI)",
|
||||
"S-3B Viking",
|
||||
"SH-60B Seahawk",
|
||||
"UH-1H Iroquois"
|
||||
|
||||
@@ -101,5 +101,6 @@
|
||||
"OliverHazardPerryGroupGenerator"
|
||||
],
|
||||
"has_jtac": true,
|
||||
"jtac_unit": "MQ-9 Reaper"
|
||||
"jtac_unit": "MQ-9 Reaper",
|
||||
"unrestricted_satnav": true
|
||||
}
|
||||
@@ -6,6 +6,7 @@
|
||||
"aircrafts": [
|
||||
"A-10C Thunderbolt II (Suite 3)",
|
||||
"AH-64D Apache Longbow",
|
||||
"AH-64D Apache Longbow (AI)",
|
||||
"AV-8B Harrier II Night Attack",
|
||||
"B-1B Lancer",
|
||||
"B-52H Stratofortress",
|
||||
@@ -103,5 +104,6 @@
|
||||
"OliverHazardPerryGroupGenerator"
|
||||
],
|
||||
"has_jtac": true,
|
||||
"jtac_unit": "MQ-9 Reaper"
|
||||
"jtac_unit": "MQ-9 Reaper",
|
||||
"unrestricted_satnav": true
|
||||
}
|
||||
@@ -8,6 +8,7 @@
|
||||
"A-10C Thunderbolt II (Suite 3)",
|
||||
"A-10C Thunderbolt II (Suite 7)",
|
||||
"AH-64D Apache Longbow",
|
||||
"AH-64D Apache Longbow (AI)",
|
||||
"AJS-37 Viggen",
|
||||
"AV-8B Harrier II Night Attack",
|
||||
"B-1B Lancer",
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
"aircrafts": [
|
||||
"AH-1W SuperCobra",
|
||||
"AH-64D Apache Longbow",
|
||||
"AH-64D Apache Longbow (AI)",
|
||||
"C-130",
|
||||
"C-130J-30 Super Hercules",
|
||||
"F-15C Eagle",
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
"aircrafts": [
|
||||
"A-10C Thunderbolt II (Suite 3)",
|
||||
"AH-64D Apache Longbow",
|
||||
"AH-64D Apache Longbow (AI)",
|
||||
"C-130",
|
||||
"C-130J-30 Super Hercules",
|
||||
"F-15C Eagle",
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
"aircrafts": [
|
||||
"AH-1W SuperCobra",
|
||||
"AH-64D Apache Longbow",
|
||||
"AH-64D Apache Longbow (AI)",
|
||||
"C-130",
|
||||
"C-130J-30 Super Hercules",
|
||||
"F-15J Eagle",
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
"description": "<p>UAR army in the 2000s.</p>",
|
||||
"aircrafts": [
|
||||
"AH-64D Apache Longbow",
|
||||
"AH-64D Apache Longbow (AI)",
|
||||
"C-130",
|
||||
"F-16CM Fighting Falcon (Block 50)",
|
||||
"Mirage 2000-5",
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
"description": "<p>UAE army in the 2010s.</p>",
|
||||
"aircrafts": [
|
||||
"AH-64D Apache Longbow",
|
||||
"AH-64D Apache Longbow (AI)",
|
||||
"C-130",
|
||||
"C-130J-30 Super Hercules",
|
||||
"C-17A",
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
"A-10A Thunderbolt II",
|
||||
"A-10C Thunderbolt II (Suite 3)",
|
||||
"AH-64D Apache Longbow",
|
||||
"AH-64D Apache Longbow (AI)",
|
||||
"AV-8B Harrier II Night Attack",
|
||||
"B-1B Lancer",
|
||||
"B-52H Stratofortress",
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
"A-10C Thunderbolt II (Suite 3)",
|
||||
"A-10C Thunderbolt II (Suite 7)",
|
||||
"AH-64D Apache Longbow",
|
||||
"AH-64D Apache Longbow (AI)",
|
||||
"AV-8B Harrier II Night Attack",
|
||||
"B-1B Lancer",
|
||||
"B-52H Stratofortress",
|
||||
|
||||
12
resources/squadrons/AH-64D/A Company, 1-211th ARB.yaml
Normal file
12
resources/squadrons/AH-64D/A Company, 1-211th ARB.yaml
Normal file
@@ -0,0 +1,12 @@
|
||||
---
|
||||
name: A Company, 1-211th ARB
|
||||
nickname: Air Pirates
|
||||
female_pilot_percentage: 10
|
||||
country: USA
|
||||
role: Attack Helicopter
|
||||
aircraft: AH-64D Apache Longbow
|
||||
livery: The Air Pirates 1-211th ARB
|
||||
mission_types:
|
||||
- CAS
|
||||
- BAI
|
||||
- OCA/Aircraft
|
||||
12
resources/squadrons/AH-64D/A Company, 1-227th ARB.yaml
Normal file
12
resources/squadrons/AH-64D/A Company, 1-227th ARB.yaml
Normal file
@@ -0,0 +1,12 @@
|
||||
---
|
||||
name: A Company, 1-227th ARB
|
||||
nickname: Avengers
|
||||
female_pilot_percentage: 10
|
||||
country: USA
|
||||
role: Attack Helicopter
|
||||
aircraft: AH-64D Apache Longbow
|
||||
livery: Avengers 1-227th ARB
|
||||
mission_types:
|
||||
- CAS
|
||||
- BAI
|
||||
- OCA/Aircraft
|
||||
12
resources/squadrons/AH-64D/C Company, 2-159th ARB.yaml
Normal file
12
resources/squadrons/AH-64D/C Company, 2-159th ARB.yaml
Normal file
@@ -0,0 +1,12 @@
|
||||
---
|
||||
name: C Company, 2-159th ARB
|
||||
nickname: Gunslingers
|
||||
female_pilot_percentage: 10
|
||||
country: USA
|
||||
role: Attack Helicopter
|
||||
aircraft: AH-64D Apache Longbow
|
||||
livery: Gunslingers 2-159th ARB
|
||||
mission_types:
|
||||
- CAS
|
||||
- BAI
|
||||
- OCA/Aircraft
|
||||
12
resources/squadrons/AH-64D/Wolfpack, 1-82 ARB.yaml
Normal file
12
resources/squadrons/AH-64D/Wolfpack, 1-82 ARB.yaml
Normal file
@@ -0,0 +1,12 @@
|
||||
---
|
||||
name: Wolfpack, 1-82 ARB
|
||||
nickname: Wolfpack
|
||||
female_pilot_percentage: 10
|
||||
country: USA
|
||||
role: Attack Helicopter
|
||||
aircraft: AH-64D Apache Longbow
|
||||
livery: Wolfpack 1-82 ARB
|
||||
mission_types:
|
||||
- CAS
|
||||
- BAI
|
||||
- OCA/Aircraft
|
||||
BIN
resources/ui/units/aircrafts/banners/AH-64D_BLK_II_24.jpg
Normal file
BIN
resources/ui/units/aircrafts/banners/AH-64D_BLK_II_24.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 66 KiB |
BIN
resources/ui/units/aircrafts/icons/AH-64D_BLK_II_24.jpg
Normal file
BIN
resources/ui/units/aircrafts/icons/AH-64D_BLK_II_24.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.2 KiB |
@@ -1,4 +1,5 @@
|
||||
always_keeps_gun: true
|
||||
lha_capable: true
|
||||
description: The legendary 'Apache' is an US twin-turboshaft attack helicopter for
|
||||
a crew of two. It features a nose-mounted sensor suite for target acquisition and
|
||||
night vision systems. It is armed with a 30 mm (1.18 in) M230 chain gun carried
|
||||
@@ -15,4 +16,4 @@ origin: USA
|
||||
price: 20
|
||||
role: Attack
|
||||
variants:
|
||||
AH-64D Apache Longbow: {}
|
||||
AH-64D Apache Longbow (AI): {}
|
||||
|
||||
32
resources/units/aircraft/AH-64D_BLK_II.yaml
Normal file
32
resources/units/aircraft/AH-64D_BLK_II.yaml
Normal file
@@ -0,0 +1,32 @@
|
||||
always_keeps_gun: true
|
||||
lha_capable: true
|
||||
description: The legendary 'Apache' is an US twin-turboshaft attack helicopter for
|
||||
a crew of two. It features a nose-mounted sensor suite for target acquisition and
|
||||
night vision systems. It is armed with a 30 mm (1.18 in) M230 chain gun carried
|
||||
between the main landing gear, under the aircraft's forward fuselage, and four hardpoints
|
||||
mounted on stub-wing pylons for carrying armament and stores, typically a mixture
|
||||
of AGM-114 Hellfire missiles and Hydra 70 rocket pods. The AH-64 has significant
|
||||
systems redundancy to improve combat survivability. American AH-64s have served
|
||||
in conflicts in Panama, the Persian Gulf, Kosovo, Afghanistan, and Iraq. Israel
|
||||
used the Apache in its military conflicts in Lebanon and the Gaza Strip. British
|
||||
and Dutch Apaches have seen deployments in wars in Afghanistan and Iraq.
|
||||
introduced: 2003
|
||||
manufacturer: Boeing
|
||||
origin: USA
|
||||
price: 20
|
||||
role: Attack
|
||||
variants:
|
||||
AH-64D Apache Longbow: {}
|
||||
radios:
|
||||
# DCS uses the 2nd Radio AN/ARC-164 (UHF) as the main intra flight for the Apache
|
||||
# so we use this Radio for Intra and Inter Flight for now
|
||||
# The radio frequencies set in the mission editor are in the current state of Early
|
||||
# access not used for radio presets. Only the flight frequency is used. Any other
|
||||
# frequency has to be entered manually atm.
|
||||
intra_flight: AN/ARC-164
|
||||
inter_flight: AN/ARC-164
|
||||
channels:
|
||||
type: common
|
||||
namer: apache
|
||||
intra_flight_radio_index: 2
|
||||
inter_flight_radio_index: 2
|
||||
Reference in New Issue
Block a user