Compare commits

...

31 Commits

Author SHA1 Message Date
Dan Albert
7278878266 Remove incompatible campaigns.
(cherry picked from commit 2ea2ecec94)
2021-11-13 11:20:42 -08:00
Dan Albert
ec8391bbfb Add A-4E squadrons.
Fixes https://github.com/dcs-liberation/dcs_liberation/issues/1716

(cherry picked from commit a3038e75cf)
2021-11-13 11:16:27 -08:00
Dan Albert
74504173c7 Add IRIAF F-4E squadron.
Fixes https://github.com/dcs-liberation/dcs_liberation/issues/1721

(cherry picked from commit 5dcd4580c3)
2021-11-13 11:12:36 -08:00
MetalStormGhost
792c7c5091 Update Marianas campaigns.
More FARPs to both Orote Point and Andersen Northwest Field.

(cherry picked from commit 68b48ad610)
2021-11-13 11:10:26 -08:00
Dan Albert
b7e9a4a243 Drop a few unsupported campaigns.
Probably more coming but these are the ones that are confirmed not
happening before release.

(cherry picked from commit 94f65d8f70)
2021-11-12 14:03:21 -08:00
Dan Albert
bdbb338e83 Update Syria full campaign.
Fixes https://github.com/dcs-liberation/dcs_liberation/issues/1728

(cherry picked from commit 46e5299c60)
2021-11-12 13:42:55 -08:00
Dan Albert
98fa70c73d Update Pacific Repartee.
Fixes https://github.com/dcs-liberation/dcs_liberation/issues/1707

(cherry picked from commit d645b4fe73)
2021-11-06 19:13:40 -07:00
Dan Albert
7991e0157d Update Caucasus multi-part Georgia.
Fixes https://github.com/dcs-liberation/dcs_liberation/issues/1706

(cherry picked from commit 68c794f608)
2021-11-06 19:13:39 -07:00
Dan Albert
21643c500f 5.0 changelog fixes.
(cherry picked from commit 475d18b701)
2021-11-06 19:07:18 -07:00
Dan Albert
b4ddfb9dfd Prevent assigning fixed wing squadrons to FARPs.
Fixes https://github.com/dcs-liberation/dcs_liberation/issues/1671

(cherry picked from commit e9634b7066)
2021-11-06 18:45:05 -07:00
Dan Albert
d1e50a5bbe Fix fixed wing squadrons retreating to FARPs.
Fixes https://github.com/dcs-liberation/dcs_liberation/issues/1615

(cherry picked from commit 35900c2350)
2021-11-06 16:54:59 -07:00
Dan Albert
a188f7b7e5 Add missing NavalControlPoint case for BAI.
Fixes https://github.com/dcs-liberation/dcs_liberation/issues/1702

(cherry picked from commit 7a18d160c8)
2021-11-06 16:36:44 -07:00
Dan Albert
4f76b73de2 Split runway attack list from strike list.
Not all strike aircraft are capable of runway attack, so copy the strike
list into the runway attack list and remove the incompatible aircraft.

Fixes https://github.com/dcs-liberation/dcs_liberation/issues/1703

(cherry picked from commit a33104d7c4)
2021-11-06 16:26:36 -07:00
Dan Albert
a4b09bc973 Update Skynet to 2.4.0.
Fixes https://github.com/dcs-liberation/dcs_liberation/issues/1713

(cherry picked from commit 7f57180da4)
2021-11-06 16:22:11 -07:00
Dan Albert
a792c73cae Restore missing income multiplier labels.
Fixes https://github.com/dcs-liberation/dcs_liberation/issues/1712

(cherry picked from commit a23e7fe83d)
2021-11-06 16:20:05 -07:00
Dan Albert
113380661c Updates for Syria full.
Fixes https://github.com/dcs-liberation/dcs_liberation/issues/1675

(cherry picked from commit c854508381)
2021-11-06 16:16:19 -07:00
Dan Albert
3ab9b25b08 Updates for Northern Russia.
Fixes https://github.com/dcs-liberation/dcs_liberation/issues/1676

(cherry picked from commit d1cf8915e3)
2021-11-06 16:16:19 -07:00
Dan Albert
29d4ca38f9 Check in Pacific Repartee campaign.
Fixes https://github.com/dcs-liberation/dcs_liberation/issues/1701

(cherry picked from commit d9b5b87f2b)
2021-11-06 16:16:18 -07:00
Dan Albert
6a3ff8d6ac Tell Qt that we actually want text to fit.
Why isn't this the default?

Fixes https://github.com/dcs-liberation/dcs_liberation/issues/1670

(cherry picked from commit 5923ba21de)
2021-11-03 19:36:12 -07:00
Dan Albert
c1f194b3d5 Add E-2D variant of the E-2C.
In game this is an E-2D, but the ID of the aircraft in the game data is
E-2C. Presumably it was repainted at some point in a DCS update.

This adds a variant but doesn't delete the old one to avoid breaking
campaigns and factions. I moved blufor modern to the E-2D but the rest
of the factions are too old so we'll let them pretend.

Fixes https://github.com/dcs-liberation/dcs_liberation/issues/1696

(cherry picked from commit 33f00fb811)
2021-10-30 15:29:41 -07:00
Dan Albert
a6809e0103 Document Su-33 carrier takeoff fix.
https://github.com/dcs-liberation/dcs_liberation/issues/1352
(cherry picked from commit ae99558f40)
2021-10-30 15:17:18 -07:00
Dan Albert
a559aa8646 Fix (presumable) accidental edit of A-4 pylons.
I'm not sure if this was a mistaken edit that the author made on check-
in or if we have a broken script that's generating these. For now I've
manually fixed it.

Fixes https://github.com/dcs-liberation/dcs_liberation/issues/1574

(cherry picked from commit 70dbe7c9ca)
2021-10-30 15:06:26 -07:00
ghost
c766322960 Update Marianas campaigns to use the Tu-142.
(cherry picked from commit 2d0b5023c9)
2021-10-30 15:06:18 -07:00
ghost
c7581568c2 Enable anti-ship missions for the Tu-142.
This is the only mission type that the Tu-142 is capable of.

Fixes https://github.com/dcs-liberation/dcs_liberation/issues/1683

(cherry picked from commit 92fdd0b80d)
2021-10-30 15:06:08 -07:00
Starfire13
f0827a429e Campaigns updated to 9.1
Peace Spring, Vectron's Claw, and Vegas Nerve have been updated to 9.1. Squadrons have also been completely overhauled to work much better, so there should no longer be a whole bunch of squadrons on OPFOR that are never used.

(cherry picked from commit 2d93ac58fc)
2021-10-30 15:06:00 -07:00
Starfire13
c2ee44d8bb H-6J Loadout Update
Added loadouts for DEAD and OCA/Aircraft as those are default mission types for the H-6J.

(cherry picked from commit 79924a59bc)
2021-10-30 15:05:57 -07:00
MetalStormGhost
af362be3a2 Forcibly allow GPS for more non-US factions.
Enable unrestricted_satnav with non-US factions operating either the
F-16CM or the F/A-18C to allow the use of GPS in missions.

(cherry picked from commit 545f974552)
2021-10-30 15:05:50 -07:00
Dan Albert
80c8563d67 Use stored alignment for the F-14A.
Fixes https://github.com/dcs-liberation/dcs_liberation/issues/1689

(cherry picked from commit 2699a38f7b)
2021-10-30 15:05:28 -07:00
MetalStormGhost
f44654f66e Use Chinese navy group generators for China.
Replaced Chinese factions' Type54GroupGenerator naval group generators with
ChineseNavyGroupGenerator to make Type 52B and Type 52C destroyers also
spawn besides frigates.

(cherry picked from commit 13d52803d6)
2021-10-30 15:04:05 -07:00
MetalStormGhost
ca7f61c938 Added H-6J support for China 2010 and Iraq 1991.
Includes H-6J loadouts by @Starfire13

Fixes https://github.com/dcs-liberation/dcs_liberation/issues/1661

(cherry picked from commit 49033f67f3)
2021-10-30 15:03:22 -07:00
MetalStormGhost
10ccada17a Marianas campaigns 2.7.7.14727
Updated Marianas Mount Barrigada and Landing at Agat campaigns to DCS World 2.7.7.14727 open beta.

(cherry picked from commit 410077467b)
2021-10-30 15:03:18 -07:00
83 changed files with 2029 additions and 768 deletions

View File

@@ -11,14 +11,14 @@ Saves from 4.x are not compatible with 5.0.
* **[Campaign]** Squadrons now have a home base and will not operate out of other bases. See https://github.com/dcs-liberation/dcs_liberation/issues/1145 for status. * **[Campaign]** Squadrons now have a home base and will not operate out of other bases. See https://github.com/dcs-liberation/dcs_liberation/issues/1145 for status.
* **[Campaign]** Aircraft now belong to squadrons rather than bases to support squadron location transfers. * **[Campaign]** Aircraft now belong to squadrons rather than bases to support squadron location transfers.
* **[Campaign]** Skipped turns are no longer counted as defeats on front lines. * **[Campaign]** Skipped turns are no longer counted as defeats on front lines.
* **[Campaign AI]** Overhauled campaign AI target prioritization. This currently only affects the ordering of DEAD missions. * **[Campaign AI]** Overhauled campaign AI target prioritization.
* **[Campaign AI]** Player front line stances can now be automated. Improved stance selection for AI. * **[Campaign AI]** Player front line stances can now be automated. Improved stance selection for AI.
* **[Campaign AI]** Reworked layout of hold, join, split, and ingress points. Should result in much shorter flight plans in general while still maintaining safe join/split/hold points. * **[Campaign AI]** Reworked layout of hold, join, split, and ingress points. Should result in much shorter flight plans in general while still maintaining safe join/split/hold points.
* **[Campaign AI]** Auto-planning mission range limits are now specified per-aircraft. On average this means that longer range missions will now be plannable. The limit only accounts for the direct distance to the target, not the path taken. * **[Campaign AI]** Auto-planning mission range limits are now specified per-aircraft. On average this means that longer range missions will now be plannable. The limit only accounts for the direct distance to the target, not the path taken.
* **[Campaign AI]** Transport aircraft will now be bought only if necessary at control points which can produce ground units and are capable to operate transport aircraft. * **[Campaign AI]** Transport aircraft will now be bought only if necessary at control points which can produce ground units and are capable to operate transport aircraft.
* **[Campaign AI]** Aircraft will now only be automatically purchased or assigned at appropriate bases. Naval aircraft will default to only operating from carriers, Harriers will default to LHAs and shore bases, helicopters will operate from anywhere. This can be customized per-squadron. * **[Campaign AI]** Aircraft will now only be automatically purchased or assigned at appropriate bases. Naval aircraft will default to only operating from carriers, Harriers will default to LHAs and shore bases, helicopters will operate from anywhere. This can be customized per-squadron.
* **[Engine]** Support for DCS 2.7.7.14727 and newer, including support for F-16 CBU-105s, SA-5s, and the Forrestal. * **[Engine]** Support for DCS 2.7.7.14727 and newer, including support for F-16 CBU-105s, SA-5s, and the Forrestal.
* **[Kneeboard]** Minimum required fuel estimates have been added to the kneeboard for aircraft with supporting data (currently only the Hornet). * **[Kneeboard]** Minimum required fuel estimates have been added to the kneeboard for aircraft with supporting data (currently only the Hornet and Viper).
* **[Kneeboard]** QNH (pressure MSL) and temperature have been added to the kneeboard. * **[Kneeboard]** QNH (pressure MSL) and temperature have been added to the kneeboard.
* **[Mission Generation]** EWRs are now also headed towards the center of the conflict * **[Mission Generation]** EWRs are now also headed towards the center of the conflict
* **[Mission Generation]** FACs can now use FC3 compatible laser codes. Note that this setting is global, not per FAC. * **[Mission Generation]** FACs can now use FC3 compatible laser codes. Note that this setting is global, not per FAC.
@@ -26,7 +26,7 @@ Saves from 4.x are not compatible with 5.0.
* **[Modding]** Campaigns can now define a default start date. * **[Modding]** Campaigns can now define a default start date.
* **[Modding]** Campaigns now specify the squadrons that are present in the campaign, their roles, and their starting bases. Players can customize this at game start but the campaign will choose the defaults. * **[Modding]** Campaigns now specify the squadrons that are present in the campaign, their roles, and their starting bases. Players can customize this at game start but the campaign will choose the defaults.
* **[New Game Wizard]** Can now customize the player's air wing before campaign start to disable, relocate, or rename squadrons. * **[New Game Wizard]** Can now customize the player's air wing before campaign start to disable, relocate, or rename squadrons.
* **[Plugins]** Updated SkynetIADS to 2.3.0 (adds SA-5 support). * **[Plugins]** Updated SkynetIADS to 2.4.0 (adds SA-5 support).
* **[UI]** Sell Button for aircraft will be disabled if there are no units available to be sold or all are already assigned to a mission * **[UI]** Sell Button for aircraft will be disabled if there are no units available to be sold or all are already assigned to a mission
* **[UI]** Enemy aircraft inventory now viewable in the air wing menu. * **[UI]** Enemy aircraft inventory now viewable in the air wing menu.
@@ -39,6 +39,10 @@ Saves from 4.x are not compatible with 5.0.
* **[Mission Generation]** AI carrier aircraft with a start time of T+0 will now start at T+1s to avoid traffic jams. * **[Mission Generation]** AI carrier aircraft with a start time of T+0 will now start at T+1s to avoid traffic jams.
* **[Mission Generation]** Fixed cases of unused aircraft not being spawned at airfields as soon as any airport filled up. * **[Mission Generation]** Fixed cases of unused aircraft not being spawned at airfields as soon as any airport filled up.
* **[Mission Generation]** Fixed cases with multiple client flights of the same airframe all received the same preset channels. * **[Mission Generation]** Fixed cases with multiple client flights of the same airframe all received the same preset channels.
* **[Mission Generation]** F-14A is now generated with stored alignment.
* **[Mission Generation]** Su-33s set to cold or warm start on the Kuznetsov will always be generated as runway starts to avoid the AI getting stuck.
* **[Mission Generation]** Fixed AI not receiving anti-ship tasks against carriers and LHAs.
* **[Mods]** Fixed broken A-4 support causing no weapons to be available.
* **[UI]** Selling of Units is now visible again in the UI dialog and shows the correct amount of sold units * **[UI]** Selling of Units is now visible again in the UI dialog and shows the correct amount of sold units
* **[UI]** Fixed bug where an incompatible campaign could be generated if no action is taken on the campaign selection screen. * **[UI]** Fixed bug where an incompatible campaign could be generated if no action is taken on the campaign selection screen.

View File

@@ -3,17 +3,13 @@ from __future__ import annotations
import logging import logging
from collections import Iterable from collections import Iterable
from dataclasses import dataclass, field from dataclasses import dataclass, field
from typing import ( from typing import Optional, Sequence, TYPE_CHECKING
TYPE_CHECKING,
Optional,
Sequence,
)
from faker import Faker from faker import Faker
from game.settings import AutoAtoBehavior, Settings from game.settings import AutoAtoBehavior, Settings
from gen.ato import Package from gen.ato import Package
from gen.flights.flight import FlightType, Flight from gen.flights.flight import Flight, FlightType
from gen.flights.flightplan import FlightPlanBuilder from gen.flights.flightplan import FlightPlanBuilder
from .pilot import Pilot, PilotStatus from .pilot import Pilot, PilotStatus
from ..utils import meters from ..utils import meters
@@ -265,6 +261,8 @@ class Squadron:
return distance_to_target <= self.aircraft.max_mission_range return distance_to_target <= self.aircraft.max_mission_range
def operates_from(self, control_point: ControlPoint) -> bool: def operates_from(self, control_point: ControlPoint) -> bool:
if not control_point.can_operate(self.aircraft):
return False
if control_point.is_carrier: if control_point.is_carrier:
return self.operating_bases.carrier return self.operating_bases.carrier
elif control_point.is_lha: elif control_point.is_lha:

View File

@@ -4,10 +4,7 @@ import logging
from collections import Iterable from collections import Iterable
from dataclasses import dataclass, field from dataclasses import dataclass, field
from pathlib import Path from pathlib import Path
from typing import ( from typing import Optional, TYPE_CHECKING
TYPE_CHECKING,
Optional,
)
import yaml import yaml
@@ -52,6 +49,8 @@ class SquadronDef:
return task in self.auto_assignable_mission_types return task in self.auto_assignable_mission_types
def operates_from(self, control_point: ControlPoint) -> bool: def operates_from(self, control_point: ControlPoint) -> bool:
if not control_point.can_operate(self.aircraft):
return False
if control_point.is_carrier: if control_point.is_carrier:
return self.operating_bases.carrier return self.operating_bases.carrier
elif control_point.is_lha: elif control_point.is_lha:

View File

@@ -6,7 +6,7 @@ import random
from dataclasses import dataclass, field from dataclasses import dataclass, field
from datetime import timedelta from datetime import timedelta
from functools import cached_property from functools import cached_property
from typing import Dict, List, Optional, TYPE_CHECKING, Type, Union, Iterable, Any from typing import Any, Dict, Iterable, List, Optional, TYPE_CHECKING, Type, Union
from dcs import helicopters from dcs import helicopters
from dcs.action import AITaskPush, ActivateGroup from dcs.action import AITaskPush, ActivateGroup
@@ -21,6 +21,7 @@ from dcs.planes import (
B_52H, B_52H,
C_101CC, C_101CC,
C_101EB, C_101EB,
F_14A_135_GR,
F_14B, F_14B,
JF_17, JF_17,
Su_33, Su_33,
@@ -44,6 +45,7 @@ from dcs.task import (
EngageTargetsInZone, EngageTargetsInZone,
FighterSweep, FighterSweep,
GroundAttack, GroundAttack,
Nothing,
OptROE, OptROE,
OptRTBOnBingoFuel, OptRTBOnBingoFuel,
OptRTBOnOutOfAmmo, OptRTBOnOutOfAmmo,
@@ -54,15 +56,14 @@ from dcs.task import (
RunwayAttack, RunwayAttack,
StartCommand, StartCommand,
Tanker, Tanker,
TargetType,
Targets, Targets,
Transport, Transport,
WeaponType, WeaponType,
TargetType,
Nothing,
) )
from dcs.terrain.terrain import Airport, NoParkingSlotError from dcs.terrain.terrain import Airport, NoParkingSlotError
from dcs.triggers import Event, TriggerOnce, TriggerRule from dcs.triggers import Event, TriggerOnce, TriggerRule
from dcs.unit import Unit, Skill from dcs.unit import Skill, Unit
from dcs.unitgroup import FlyingGroup, ShipGroup, StaticGroup from dcs.unitgroup import FlyingGroup, ShipGroup, StaticGroup
from dcs.unittype import FlyingType from dcs.unittype import FlyingType
@@ -379,6 +380,8 @@ class AircraftConflictGenerator:
# Set up F-14 Client to have pre-stored alignment # Set up F-14 Client to have pre-stored alignment
if unit_type is F_14B: if unit_type is F_14B:
unit.set_property(F_14B.Properties.INSAlignmentStored.id, True) unit.set_property(F_14B.Properties.INSAlignmentStored.id, True)
elif unit_type is F_14A_135_GR:
unit.set_property(F_14A_135_GR.Properties.INSAlignmentStored.id, True)
group.points[0].tasks.append( group.points[0].tasks.append(
OptReactOnThreat(OptReactOnThreat.Values.EvadeFire) OptReactOnThreat(OptReactOnThreat.Values.EvadeFire)
@@ -1526,6 +1529,8 @@ class BaiIngressBuilder(PydcsWaypointBuilder):
group_names.append(group.name) group_names.append(group.name)
elif isinstance(target, MultiGroupTransport): elif isinstance(target, MultiGroupTransport):
group_names.append(target.name) group_names.append(target.name)
elif isinstance(target, NavalControlPoint):
group_names.append(target.get_carrier_group_name())
else: else:
logging.error( logging.error(
"Unexpected target type for BAI mission: %s", "Unexpected target type for BAI mission: %s",

View File

@@ -52,8 +52,10 @@ from dcs.planes import (
F_4E, F_4E,
F_5E_3, F_5E_3,
F_86F_Sabre, F_86F_Sabre,
H_6J,
IL_76MD, IL_76MD,
IL_78M, IL_78M,
I_16,
JF_17, JF_17,
J_11A, J_11A,
Ju_88A4, Ju_88A4,
@@ -75,6 +77,7 @@ from dcs.planes import (
MiG_29S, MiG_29S,
MiG_31, MiG_31,
Mirage_2000_5, Mirage_2000_5,
MosquitoFBMkVI,
P_47D_30, P_47D_30,
P_47D_30bl1, P_47D_30bl1,
P_47D_40, P_47D_40,
@@ -87,7 +90,6 @@ from dcs.planes import (
SpitfireLFMkIXCW, SpitfireLFMkIXCW,
Su_17M4, Su_17M4,
Su_24M, Su_24M,
Su_24MR,
Su_25, Su_25,
Su_25T, Su_25T,
Su_25TM, Su_25TM,
@@ -97,13 +99,12 @@ from dcs.planes import (
Su_34, Su_34,
Tornado_GR4, Tornado_GR4,
Tornado_IDS, Tornado_IDS,
Tu_142,
Tu_160, Tu_160,
Tu_22M3, Tu_22M3,
Tu_95MS, Tu_95MS,
WingLoong_I, WingLoong_I,
I_16,
Yak_40, Yak_40,
MosquitoFBMkVI,
) )
from dcs.unittype import FlyingType from dcs.unittype import FlyingType
@@ -215,6 +216,7 @@ CAS_CAPABLE = [
Mi_24P, Mi_24P,
Mi_24V, Mi_24V,
Mi_8MT, Mi_8MT,
H_6J,
MiG_19P, MiG_19P,
MiG_15bis, MiG_15bis,
M_2000C, M_2000C,
@@ -276,6 +278,7 @@ DEAD_CAPABLE = [
B_52H, B_52H,
Tu_160, Tu_160,
Tu_95MS, Tu_95MS,
H_6J,
A_20G, A_20G,
Ju_88A4, Ju_88A4,
P_47D_40, P_47D_40,
@@ -300,6 +303,7 @@ STRIKE_CAPABLE = [
Tu_160, Tu_160,
Tu_95MS, Tu_95MS,
Tu_22M3, Tu_22M3,
H_6J,
F_15E, F_15E,
AJS37, AJS37,
Tornado_GR4, Tornado_GR4,
@@ -356,7 +360,9 @@ STRIKE_CAPABLE = [
ANTISHIP_CAPABLE = [ ANTISHIP_CAPABLE = [
AJS37, AJS37,
Tu_142,
Tu_22M3, Tu_22M3,
H_6J,
FA_18C_hornet, FA_18C_hornet,
JAS39Gripen_AG, JAS39Gripen_AG,
Su_24M, Su_24M,
@@ -376,14 +382,71 @@ ANTISHIP_CAPABLE = [
] ]
# Duplicates some list entries but that's fine. # This list does not "inherit" from the strike list because some strike aircraft can
# only carry guided weapons, and the AI cannot do runway attack with dguided weapons.
# https://github.com/dcs-liberation/dcs_liberation/issues/1703
RUNWAY_ATTACK_CAPABLE = [ RUNWAY_ATTACK_CAPABLE = [
JF_17, JF_17,
Su_34, Su_34,
Su_30, Su_30,
Tornado_IDS, Tornado_IDS,
M_2000C, M_2000C,
] + STRIKE_CAPABLE H_6J,
B_1B,
B_52H,
Tu_22M3,
H_6J,
F_15E,
AJS37,
F_16C_50,
FA_18C_hornet,
AV8BNA,
JF_17,
F_16A,
F_14B,
F_14A_135_GR,
JAS39Gripen_AG,
Tornado_IDS,
Su_17M4,
Su_24M,
Su_25TM,
Su_25T,
Su_25,
Su_34,
Su_33,
Su_30,
Su_27,
MiG_29S,
MiG_29G,
MiG_29A,
F_4E,
A_10C_2,
A_10C,
S_3B,
A_4E_C,
M_2000C,
MiG_27K,
MiG_21Bis,
MiG_15bis,
F_5E_3,
F_86F_Sabre,
C_101CC,
L_39ZA,
B_17G,
A_20G,
Ju_88A4,
P_47D_40,
P_47D_30bl1,
P_47D_30,
P_51D_30_NA,
P_51D,
SpitfireLFMkIXCW,
SpitfireLFMkIX,
MosquitoFBMkVI,
Bf_109K_4,
FW_190D9,
FW_190A8,
]
# For any aircraft that isn't necessarily directly involved in strike # For any aircraft that isn't necessarily directly involved in strike
# missions in a direct combat sense, but can transport objects and infantry. # missions in a direct combat sense, but can transport objects and infantry.

File diff suppressed because it is too large Load Diff

View File

@@ -2,27 +2,27 @@ from __future__ import annotations
import logging import logging
from enum import Enum from enum import Enum
from typing import TypeVar, Generic from typing import Generic, TypeVar
from PySide2.QtCore import Qt from PySide2.QtCore import Qt
from PySide2.QtWidgets import ( from PySide2.QtWidgets import (
QApplication,
QFrame,
QGridLayout,
QGroupBox, QGroupBox,
QHBoxLayout, QHBoxLayout,
QLabel, QLabel,
QLayout,
QMessageBox,
QPushButton, QPushButton,
QSizePolicy, QSizePolicy,
QSpacerItem, QSpacerItem,
QGridLayout,
QApplication,
QFrame,
QMessageBox,
) )
from game.dcs.unittype import UnitType from game.purchaseadapter import PurchaseAdapter, TransactionError
from qt_ui.models import GameModel from qt_ui.models import GameModel
from qt_ui.windows.GameUpdateSignal import GameUpdateSignal from qt_ui.windows.GameUpdateSignal import GameUpdateSignal
from qt_ui.windows.QUnitInfoWindow import QUnitInfoWindow from qt_ui.windows.QUnitInfoWindow import QUnitInfoWindow
from game.purchaseadapter import PurchaseAdapter, TransactionError
class RecruitType(Enum): class RecruitType(Enum):
@@ -153,6 +153,7 @@ class UnitTransactionFrame(QFrame, Generic[TransactionItemType]):
exist.setMaximumHeight(72) exist.setMaximumHeight(72)
exist.setMinimumHeight(36) exist.setMinimumHeight(36)
existLayout = QHBoxLayout() existLayout = QHBoxLayout()
existLayout.setSizeConstraint(QLayout.SetMinimumSize)
exist.setLayout(existLayout) exist.setLayout(existLayout)
existing_units = self.current_quantity_of(item) existing_units = self.current_quantity_of(item)

View File

@@ -5,17 +5,17 @@ from datetime import timedelta
from typing import List from typing import List
from PySide2 import QtGui, QtWidgets from PySide2 import QtGui, QtWidgets
from PySide2.QtCore import QItemSelectionModel, QPoint, Qt, QDate from PySide2.QtCore import QDate, QItemSelectionModel, QPoint, Qt
from PySide2.QtWidgets import QVBoxLayout, QTextEdit, QLabel, QCheckBox from PySide2.QtWidgets import QCheckBox, QLabel, QTextEdit, QVBoxLayout
from jinja2 import Environment, FileSystemLoader, select_autoescape from jinja2 import Environment, FileSystemLoader, select_autoescape
from game import db from game import db
from game.campaignloader.campaign import Campaign from game.campaignloader.campaign import Campaign
from game.factions.faction import Faction
from game.settings import Settings from game.settings import Settings
from game.theater.start_generator import GameGenerator, GeneratorSettings, ModSettings from game.theater.start_generator import GameGenerator, GeneratorSettings, ModSettings
from game.factions.faction import Faction
from qt_ui.widgets.QLiberationCalendar import QLiberationCalendar from qt_ui.widgets.QLiberationCalendar import QLiberationCalendar
from qt_ui.widgets.spinsliders import FloatSpinSlider, TimeInputs, CurrencySpinner from qt_ui.widgets.spinsliders import CurrencySpinner, FloatSpinSlider, TimeInputs
from qt_ui.windows.AirWingConfigurationDialog import AirWingConfigurationDialog from qt_ui.windows.AirWingConfigurationDialog import AirWingConfigurationDialog
from qt_ui.windows.newgame.QCampaignList import QCampaignList from qt_ui.windows.newgame.QCampaignList import QCampaignList
@@ -472,11 +472,12 @@ class DifficultyAndAutomationOptions(QtWidgets.QWizardPage):
economy_layout = QtWidgets.QVBoxLayout() economy_layout = QtWidgets.QVBoxLayout()
economy_group.setLayout(economy_layout) economy_group.setLayout(economy_layout)
# TODO: Put labels back. economy_layout.addWidget(QLabel("Player income multiplier"))
player_income = FloatSpinSlider(0, 5, 1, divisor=10) player_income = FloatSpinSlider(0, 5, 1, divisor=10)
self.registerField("player_income_multiplier", player_income.spinner) self.registerField("player_income_multiplier", player_income.spinner)
economy_layout.addLayout(player_income) economy_layout.addLayout(player_income)
economy_layout.addWidget(QLabel("Enemy income multiplier"))
enemy_income = FloatSpinSlider(0, 5, 1, divisor=10) enemy_income = FloatSpinSlider(0, 5, 1, divisor=10)
self.registerField("enemy_income_multiplier", enemy_income.spinner) self.registerField("enemy_income_multiplier", enemy_income.spinner)
economy_layout.addLayout(enemy_income) economy_layout.addLayout(enemy_income)

View File

@@ -1,11 +0,0 @@
{
"name": "Persian Gulf - Battle for the UAE",
"theater": "Persian Gulf",
"authors": "Mustang25",
"recommended_player_faction": "Bluefor Modern",
"recommended_enemy_faction": "Iran 2015",
"description": "<p>Following the Battle of Abu Dhabi, Iran's invasion of the UAE has been halted approximately 20 miles Northeast of Liwa Airbase by coalition forces.</p><p>After weeks of stalemate, coalition forces have consolidated their position and are ready to launch their counterattack to push Iranian forces off the peninsula.</p>",
"version": "8.0",
"miz": "Battle_for_the_UAE_v3.0.2.miz",
"performance": 2
}

View File

@@ -1,11 +0,0 @@
{
"name": "Caucasus - Full",
"theater": "Caucasus",
"authors": "Doc_of_Mur",
"recommended_player_faction": "Bluefor Modern",
"recommended_enemy_faction": "Russia 2010",
"description": "<p>This is a complete map of every airbase in the Caucasus Region, all bases are fully defended by Air, Land and/or Sea. The player starts by invading southern Georgia and works their way through Russia. The Strike and SAM targets are limited for performance reasons. If this Scenario is too taxing for your computer you may use the Multi-Part Scenarios. They are copied from this Campaign and are catered toward less powerful machines.</p>",
"version": "8.0",
"miz": "Caucasus_Multi_Full.miz",
"performance": 3
}

View File

@@ -1,11 +0,0 @@
{
"name": "Caucasus - Multi-Part Georgia",
"theater": "Caucasus",
"authors": "Doc_of_Mur",
"recommended_player_faction": "Bluefor Modern",
"recommended_enemy_faction": "Georgia 2008",
"description": "<p>This is Part 1 of the Caucasus Multi-Part Campaign. This is the invasion of Georgia starting from the southwest (Batumi) and ending in both Gudauta and Tiblisi. This is a straightforward campaign that is smaller and simpler than most. However, it acts great as either a stand alone campaign for beginners, or as a lead into the Caucasus Multi-Part Russia campaign.</p>",
"version": "8.0",
"miz": "Caucasus_Multi_Georgia.miz",
"performance": 1
}

View File

@@ -0,0 +1,185 @@
---
name: Caucasus - Muti-Part Georgia
theater: Caucasus
authors: Doc_of_Mur
description: <p><p>This is part 2 of the Caucasus Multi-part campaign. After completing Multi-Part Georgia, play this campaign to invade Russia and finish the theater. As this is now Russia the recommended enemy faction has changed. To simulate still owning Georgia the player income has been supplemented through an increased number of blue strike targets at the starting bases. This is a more difficult scenario with a higher concentration of Redfor SAMs and Strike targets than usual.</p>
recommended_player_faction: Bluefor Modern
recommended_enemy_faction: Georgia 2008
recommended_start_date: 1995-06-13
miz: Caucasus_Multi_Georgia.miz
performance: 2
version: "9.1"
squadrons:
# Kutaisi
22:
- primary: Refueling
aircraft:
- KC-135 Stratotanker MPRS
- primary: Refueling
aircraft:
- KC-135 Stratotanker
- primary: AEW&C
aircraft:
- E-3A
- primary: Transport
secondary: any
aircraft:
- C-130
- primary: Strike
secondary: any
aircraft:
- F-16CM Fighting Falcon (Block 50)
- primary: BAI
secondary: air-to-ground
aircraft:
- AH-64D Apache Longbow
- primary: BAI
secondary: air-to-ground
aircraft:
- A-10C Thunderbolt II (Suite 7)
- primary: BAI
secondary: air-to-ground
aircraft:
- A-10C Thunderbolt II (Suite 3)
- primary: BARCAP
secondary: any
aircraft:
- JF-17 Thunder
- primary: BARCAP
aircraft:
- MiG-23MLD Flogger-K
- primary: BAI
secondary: air-to-ground
aircraft:
- Ka-50 Hokum
- primary: Strike
secondary: any
aircraft:
- AJS-37 Viggen
- primary: Strike
secondary: any
aircraft:
- Mirage 2000C
- primary: CAS
secondary: air-to-ground
aircraft:
- UH-1H Iroquois
- primary: CAS
secondary: air-to-ground
aircraft:
- Mi-8MTV2 Hip
- primary: CAS
secondary: air-to-ground
aircraft:
- Mi-24P Hind-F
# Kobuleti
24:
- primary: BARCAP
aircraft:
- L-39ZA Albatros
- primary: BAI
secondary: air-to-ground
aircraft:
- Mi-8MTV2 Hip
- primary: BAI
secondary: air-to-ground
aircraft:
- Mi-24P Hind-F
# Senaki-Kolkhi
23:
- primary: BARCAP
aircraft:
- L-39ZA Albatros
- primary: BAI
secondary: air-to-ground
aircraft:
- Mi-8MTV2 Hip
- primary: BAI
secondary: air-to-ground
aircraft:
- Mi-24P Hind-F
- primary: CAS
secondary: air-to-ground
aircraft:
- UH-1H Iroquois
# Kataisi
25:
- primary: BARCAP
aircraft:
- L-39ZA Albatros
- primary: BAI
secondary: air-to-ground
aircraft:
- Mi-8MTV2 Hip
- primary: BAI
secondary: air-to-ground
aircraft:
- Mi-24P Hind-F
# Sukhumi-Babushara
20:
- primary: BARCAP
aircraft:
- L-39ZA Albatros
- primary: BAI
secondary: air-to-ground
aircraft:
- Mi-8MTV2 Hip
- primary: BAI
secondary: air-to-ground
aircraft:
- Mi-24P Hind-F
# Gudauta
21:
- primary: BARCAP
aircraft:
- L-39ZA Albatros
- primary: BAI
secondary: air-to-ground
aircraft:
- Mi-8MTV2 Hip
- primary: BAI
secondary: air-to-ground
aircraft:
- Mi-24P Hind-F
- primary: Strike
secondary: air-to-ground
aircraft:
- Su-25 Frogfoot
- primary: OCA/Runway
secondary: air-to-ground
aircraft:
- Su-25 Frogfoot
Blue CV:
- primary: BARCAP
secondary: air-to-air
aircraft:
- F-14B Tomcat
- primary: BARCAP
secondary: any
aircraft:
- F-14B Tomcat
- primary: Strike
secondary: any
aircraft:
- F/A-18C Hornet (Lot 20)
- primary: BAI
secondary: any
aircraft:
- F/A-18C Hornet (Lot 20)
- primary: Refueling
aircraft:
- S-3B Tanker
- primary: AEW&C
aircraft:
- E-2C Hawkeye
Blue LHA:
- primary: BAI
secondary: air-to-ground
aircraft:
- AV-8B Harrier II Night Attack

View File

@@ -1,11 +0,0 @@
{
"name": "Caucasus - Multi-Part Russia",
"theater": "Caucasus",
"authors": "Doc_of_Mur",
"recommended_player_faction": "Bluefor Modern",
"recommended_enemy_faction": "Russia 2010",
"description": "<p>This is part 2 of the Caucasus Multi-part campaign. After completing Multi-Part Georgia, play this campaign to invade Russia and finish the theater. As this is now Russia the recommended enemy faction has changed. To simulate still owning Georgia the player income has been supplemented through an increased number of blue strike targets at the starting bases. This is a more difficult scenario with a higher concentration of Redfor SAMs and Strike targets than usual.</p>",
"version": "8.0",
"miz": "Caucasus_Multi_Russia.miz",
"performance": 2
}

View File

@@ -1,11 +0,0 @@
{
"name": "Syria - First Lebanon War",
"theater": "Syria",
"authors": "Mustang25",
"recommended_player_faction": "Israel 1982",
"recommended_enemy_faction": "Syria 1982",
"description": "<p> 1100HRS, 06 June 1982: H-hour for Operation Peace for Galilee. </p><p>Objective: Push North towards Beirut and into the Bekaa Valley, eliminating or displacing any PLO and Syrian resistance. Airbases and their surrounding infrastructure in Syria are not the main objective but are still viable strategic targets.</p> <p>Background: Years of PLO encroachment into the UN neutral zone and their resulting terror attacks against Israelis have pushed tension along the border to a breaking point. On June 3, the attempted assassination of Israeli Ambassador, Shlomo Argov by gunmen with ties to the PLO have finally pushed the Israelis to action.</p><p>Recommended Starting Budget:</p><p>$1500m for recommended factions, $$2000m for modern scenarios</p><p>Income Multiplier:</p><p>Blue: 1.0x</p><p>Red: 0.7x-1.0x</p>",
"miz": "First_Lebanon_War_v3.0.2.miz",
"version": "8.0",
"performance": 2
}

View File

@@ -1,11 +0,0 @@
{
"name": "Syria - Operation Mole Cricket 2010",
"theater": "Syria",
"authors": "Mustang25",
"recommended_player_faction": "Bluefor Modern",
"recommended_enemy_faction": "Syria 2011",
"description": "<p>In a scenario reminescent of the First Lebanon War, hostile Syrian-backed forces have flooded into the Bekaa Valley.</p><p>The objective of this operation is twofold: drive the enemy out of the Bekaa Valley and push past the Golan Heights into Syrian territory to capture Tiyas Airbase.</p>",
"version": "8.0",
"miz": "Operation_Mole_Cricket_2010_v3.0.2.miz",
"performance": 2
}

View File

@@ -1,11 +0,0 @@
{
"name": "Persian Gulf - Road To Dubai",
"theater": "Persian Gulf",
"authors": "Doc_of_Mur",
"description": "<p>Small beginner friendly map</p><p><strong>Note:</strong> This scenario is based around Iran invading the UAE and you are trying to take it back. It is small and beginner friendly.</p>",
"version": "8.0",
"recommended_player_faction": "USA 2005",
"recommended_enemy_faction": "Iran 2015",
"miz": "Road_to_Dubai.miz",
"performance": 1
}

View File

@@ -1,11 +0,0 @@
{
"name": "Caucasus - Around The Mountain",
"theater": "Caucasus",
"authors": "Dillie",
"recommended_player_faction": "Russia 2010",
"recommended_enemy_faction": "USA 1990",
"description": "<p>Scenario from Russia to Georgia in two Frontlines.</p>",
"version": "8.0",
"miz": "around_the_mountain.miz",
"performance": 2
}

View File

@@ -1,11 +0,0 @@
{
"name": "Normandy - From Caen to Evreux",
"theater": "Normandy",
"authors": "Khopa",
"recommended_player_faction": "Allies 1944",
"recommended_enemy_faction": "Germany 1944",
"description": "<p>This is a light scenario on the Normandy map.</p><p>August 1944, allied forces are pushing from Caen/Carpiquet to the cities of Lisieux and Evreux.<p>Lisieux is an important logistic hub for the Werhmacht, and Evreux airbase is hosting most of the Luftwaffe forces in the region.</p>",
"miz": "caen_to_evreux.miz",
"performance": 1,
"version": "8.0"
}

View File

@@ -7,7 +7,8 @@ recommended_enemy_faction: Redfor (China) 2010
description: <p>This is an asymmetrical Red Flag Exercise scenario for the NTTR comprising 4 control points. You start off in control of the two Tonopah airports, and will push south to capture Groom Lake and Nellis AFBs. Taking down Nellis AFB's IADS and striking their resource sites ASAP once Groom Lake has been captured is recommended to offset their substantial resource advantage.</p> description: <p>This is an asymmetrical Red Flag Exercise scenario for the NTTR comprising 4 control points. You start off in control of the two Tonopah airports, and will push south to capture Groom Lake and Nellis AFBs. Taking down Nellis AFB's IADS and striking their resource sites ASAP once Groom Lake has been captured is recommended to offset their substantial resource advantage.</p>
miz: exercise_vegas_nerve.miz miz: exercise_vegas_nerve.miz
performance: 1 performance: 1
version: "9.0" recommended_start_date: 2011-04-24
version: "9.1"
squadrons: squadrons:
# Tonopah Airport # Tonopah Airport
17: 17:
@@ -22,16 +23,19 @@ squadrons:
- primary: AEW&C - primary: AEW&C
aircraft: aircraft:
- E-3A - E-3A
- primary: Refueling
aircraft:
- KC-135 Stratotanker
- primary: Refueling - primary: Refueling
aircraft: aircraft:
- KC-135 Stratotanker MPRS - KC-135 Stratotanker MPRS
- primary: Transport - primary: Transport
aircraft: aircraft:
- CH-47D - C-130
- primary: Strike - primary: Strike
secondary: air-to-ground secondary: air-to-ground
aircraft: aircraft:
- F-15E Strike Eagle - F-15E Strike Eagle
# Tonopah Test Range # Tonopah Test Range
18: 18:
- primary: CAS - primary: CAS
@@ -53,43 +57,23 @@ squadrons:
# Groom Lake # Groom Lake
2: 2:
- primary: BARCAP - primary: BARCAP
secondary: air-to-air
aircraft:
- J-11A Flanker-L
- primary: CAS
secondary: air-to-ground
aircraft:
- Su-25T Frogfoot
- primary: DEAD
secondary: any secondary: any
aircraft: aircraft:
- Su-30MKK Flanker-G - J-11A Flanker-L
- primary: BAI - primary: BAI
secondary: air-to-ground secondary: air-to-ground
aircraft: aircraft:
- Su-34 Fullback - Su-34 Fullback
# Nellis AFB # Nellis AFB
4: 4:
- primary: TARCAP - primary: DEAD
secondary: any secondary: any
aircraft: aircraft:
- J-15 Flanker X-2 - Su-30MKK Flanker-G
- primary: BARCAP
secondary: any
aircraft:
- MiG-29S Fulcrum-C
- primary: SEAD
secondary: any
aircraft:
- FC-1 Fierce Dragon
- primary: Strike - primary: Strike
secondary: air-to-ground secondary: air-to-ground
aircraft: aircraft:
- Su-24M Fencer-D - H-6J Badger
- primary: Strike
secondary: air-to-ground
aircraft:
- Tu-22M3 Backfire-C
- primary: AEW&C - primary: AEW&C
aircraft: aircraft:
- KJ-2000 - KJ-2000
@@ -98,4 +82,4 @@ squadrons:
- IL-78M - IL-78M
- primary: Transport - primary: Transport
aircraft: aircraft:
- Mi-8MTV2 Hip - IL-76MD

View File

@@ -1,11 +0,0 @@
{
"name": "Syria - Humble Helper",
"theater": "Syria",
"authors": "Headiii",
"recommended_player_faction": "Israel 2012'ish",
"recommended_enemy_faction": "Syria 2012'ish",
"description": "<p>In this scenario, you start in Israel in an high intensity conflict with Syria, backed by a Russian Expeditiary Force. Your goal is to take the heavily fortified city of Damascus, as fast as you can. The longer you wait, the more resources the enemy can pump into the defense of the city or even might try to take chunks of Israel. ATTENTION: CAMPAIGN INVERTING IS NOT YET IMPLEMENTED!!! Feedback: @Headiii in the DCSLiberation Discord</p>",
"miz": "humble_helper.miz",
"performance": 1,
"version": "8.0"
}

View File

@@ -4,7 +4,7 @@ theater: MarianaIslands
authors: Ghosti authors: Ghosti
description: <p>The objective of this campaign is the capture of Guam. Blue side, having landed their forces on the beaches of Agat, controls Antonio B. Won Pat airfield and are pushing towards the enemy stronghold of Mount Barrigada.</p> description: <p>The objective of this campaign is the capture of Guam. Blue side, having landed their forces on the beaches of Agat, controls Antonio B. Won Pat airfield and are pushing towards the enemy stronghold of Mount Barrigada.</p>
miz: marianas_guam_barrigada.miz miz: marianas_guam_barrigada.miz
performance: 3, performance: 2
version: "9.0" version: "9.0"
squadrons: squadrons:
Blue CV: Blue CV:
@@ -59,10 +59,15 @@ squadrons:
secondary: air-to-air secondary: air-to-air
- primary: Strike - primary: Strike
secondary: any secondary: any
- primary: Anti-ship
secondary: any
- primary: BAI - primary: BAI
secondary: any secondary: any
- primary: CAS - primary: CAS
secondary: air-to-ground secondary: air-to-ground
- primary: AEW&C
- primary: Refueling
- primary: Transport
# Antonio B. Won Pat Intl # Antonio B. Won Pat Intl
4: 4:
- primary: BARCAP - primary: BARCAP
@@ -71,6 +76,8 @@ squadrons:
secondary: air-to-air secondary: air-to-air
- primary: Strike - primary: Strike
secondary: any secondary: any
- primary: Anti-ship
secondary: any
- primary: BAI - primary: BAI
secondary: any secondary: any
- primary: CAS - primary: CAS

View File

@@ -4,7 +4,7 @@ theater: MarianaIslands
authors: Ghosti authors: Ghosti
description: <p>The objective of this campaign is the capture of Guam. Blue side, having landed their forces on the beaches of Agat, are pushing inland. <strong>Note:</strong> This campaign requires a carrier-capable (or LHA-capable) BLUFOR faction to be able to field aircraft.</p> description: <p>The objective of this campaign is the capture of Guam. Blue side, having landed their forces on the beaches of Agat, are pushing inland. <strong>Note:</strong> This campaign requires a carrier-capable (or LHA-capable) BLUFOR faction to be able to field aircraft.</p>
miz: marianas_guam_landing_at_agat.miz miz: marianas_guam_landing_at_agat.miz
performance: 3, performance: 2
version: "9.0" version: "9.0"
squadrons: squadrons:
Blue CV: Blue CV:
@@ -59,10 +59,15 @@ squadrons:
secondary: air-to-air secondary: air-to-air
- primary: Strike - primary: Strike
secondary: any secondary: any
- primary: Anti-ship
secondary: any
- primary: BAI - primary: BAI
secondary: any secondary: any
- primary: CAS - primary: CAS
secondary: air-to-ground secondary: air-to-ground
- primary: AEW&C
- primary: Refueling
- primary: Transport
# Antonio B. Won Pat Intl # Antonio B. Won Pat Intl
4: 4:
- primary: BARCAP - primary: BARCAP
@@ -71,6 +76,8 @@ squadrons:
secondary: air-to-air secondary: air-to-air
- primary: Strike - primary: Strike
secondary: any secondary: any
- primary: Anti-ship
secondary: any
- primary: BAI - primary: BAI
secondary: any secondary: any
- primary: CAS - primary: CAS
@@ -80,18 +87,6 @@ squadrons:
- primary: AEW&C - primary: AEW&C
- primary: Refueling - primary: Refueling
- primary: Transport - primary: Transport
# Andersen AFB
6:
- primary: BARCAP
secondary: air-to-air
- primary: BARCAP
secondary: air-to-air
- primary: Strike
secondary: any
- primary: BAI
secondary: any
- primary: CAS
secondary: air-to-ground
Andersen AFB Northwest Field: Andersen AFB Northwest Field:
- primary: Strike - primary: Strike
secondary: air-to-ground secondary: air-to-ground

View File

@@ -1,11 +0,0 @@
{
"name": "Nevada - Limited Air",
"theater": "Nevada",
"authors": "Doc_of_Mur",
"recommended_player_faction": "USA 2005",
"recommended_enemy_faction": "Russia 1975",
"description": "<p>This campaign is designed to be beginner friendly in that the number of aircraft slot have been limited. Other than the starting point and the 'boss' base the max slots in each of the airbases have a mere 3-5 slots.</p><p>This should prevent the airpower rush escperienced in most of the other larger campaign.</p>",
"version": "8.0",
"miz": "nevada_limited_air.miz",
"performance": 1
}

View File

@@ -15,6 +15,9 @@ squadrons:
- primary: Refueling - primary: Refueling
aircraft: aircraft:
- KC-135 Stratotanker MPRS - KC-135 Stratotanker MPRS
- primary: Refueling
aircraft:
- KC-135 Stratotanker
- primary: AEW&C - primary: AEW&C
aircraft: aircraft:
- E-3A - E-3A
@@ -134,6 +137,10 @@ squadrons:
- primary: BARCAP - primary: BARCAP
aircraft: aircraft:
- MiG-29A Fulcrum-A - MiG-29A Fulcrum-A
- primary: OCA/Runway
secondary: air-to-ground
aircraft:
- Su-24M Fencer-D
# Mineralnye Vody # Mineralnye Vody
26: 26:
- primary: BARCAP - primary: BARCAP

View File

@@ -3,11 +3,12 @@ name: Syria - Operation Peace Spring
theater: Syria theater: Syria
authors: Starfire authors: Starfire
recommended_player_faction: Bluefor Modern recommended_player_faction: Bluefor Modern
recommended_enemy_faction: Turkey 2005 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> While Turkey 2005 is the default faction for historical reasons, the OPFOR squadron complement in this campaign scenario has also been specifically customised to work just as well with the Iraq 1991 faction in order to provide an opponent with a wide variety of units.</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, you would be facing nothing in the air except F-4 Phantoms.</p>
miz: operation_peace_spring.miz miz: operation_peace_spring.miz
performance: 1 performance: 1
version: "9.0" recommended_start_date: 2019-12-23
version: "9.1"
squadrons: squadrons:
# Ramat David # Ramat David
30: 30:
@@ -64,7 +65,10 @@ squadrons:
- B-52H Stratofortress - B-52H Stratofortress
- primary: AEW&C - primary: AEW&C
aircraft: aircraft:
- E-2C Hawkeye - E-3A
- primary: Refueling
aircraft:
- KC-135 Stratotanker
- primary: Refueling - primary: Refueling
aircraft: aircraft:
- KC-135 Stratotanker MPRS - KC-135 Stratotanker MPRS
@@ -77,60 +81,60 @@ squadrons:
secondary: any secondary: any
aircraft: aircraft:
- F-4E Phantom II - F-4E Phantom II
- MiG-21bis Fishbed-N - MiG-21bis Fishbed-N
- primary: CAS
secondary: air-to-ground
aircraft:
- AH-1W SuperCobra
- Su-25 Frogfoot
# Tiyas # Tiyas
39: 39:
- primary: TARCAP
secondary: any
aircraft:
- F-16CM Fighting Falcon (Block 50)
- MiG-23ML Flogger-G
- primary: SEAD - primary: SEAD
secondary: air-to-ground secondary: air-to-ground
aircraft: aircraft:
- F-16CM Fighting Falcon (Block 50) - F-16CM Fighting Falcon (Block 50)
- Su-24M Fencer-D - Su-24M Fencer-D
- primary: CAS
secondary: air-to-ground
aircraft:
- AH-1W SuperCobra
- Su-25T Frogfoot
- Su-25 Frogfoot
- primary: Transport - primary: Transport
secondary: any
aircraft: aircraft:
- UH-60A - UH-60A
- Mi-8MTV2 Hip - Mi-8MTV2 Hip
# Abu Al Duhur # Abu Al Duhur
# 1: # 1:
# Gaziantep # Gaziantep
# 11: 11:
- primary: CAS
secondary: air-to-ground
aircraft:
- OH-58D Kiowa Warrior
- Mi-24P Hind-F
# Incirlik # Incirlik
16: 16:
- primary: BARCAP - primary: TARCAP
secondary: any secondary: any
aircraft: aircraft:
- F-16CM Fighting Falcon (Block 50) - F-16CM Fighting Falcon (Block 50)
- MiG-29A Fulcrum-A - MiG-29A Fulcrum-A
- primary: Strike - primary: Strike
secondary: air-to-ground secondary: air-to-ground
aircraft: aircraft:
- F-4E Phantom II - F-4E Phantom II
- Tu-22M3 Backfire-C - Tu-22M3 Backfire-C
- primary: CAS - primary: BAI
secondary: air-to-ground secondary: air-to-ground
aircraft: aircraft:
- AH-1W SuperCobra - F-4E Phantom II
- Su-22M4 Fitter-K - H-6J Badger
- primary: AEW&C - primary: AEW&C
aircraft: aircraft:
- E-3A - E-3A
- A-50 - A-50
- primary: Refueling - primary: Refueling
aircraft: aircraft:
- KC-135 Stratotanker MPRS
- KC-135 Stratotanker - KC-135 Stratotanker
- IL-78M - IL-78M
- primary: Transport - primary: Transport
aircraft: aircraft:
- C-130 - C-130
- IL-76MD - IL-76MD

View File

@@ -7,11 +7,12 @@ recommended_enemy_faction: Russia 1990
description: <p>United Nations Observer Mission in Georgia (UNOMIG) observers stationed in Georgia to monitor the ceasefire between Georgia and Abkhazia have been cut off from friendly forces by Russian troops backing the separatist state. The UNOMIG HQ at Sukhumi has been taken, and a small contingent of observers and troops at the Zugdidi Sector HQ will have to make a run for the coast, supported by offshore US naval aircraft. The contingent is aware that their best shot at survival is to swiftly retake Sukhumi before Russian forces have a chance to dig in, so that friendly ground forces can land and reinforce them.</p><p><strong>Note:</strong> Ground unit purchase will not be available past Turn 0 until Sukhumi is retaken, so it is imperative you reach Sukhumi with at least one surviving ground unit to capture it. Two Hueys are available at Zugdidi for some close air support. The player can either play the first leg of the scenario as an evacuation with a couple of light vehicles (e.g. Humvees) set on breakthrough (modifying waypoints in the mission editor so they are not charging head-on into enemy ground forces is suggested), or purchase heavier ground units if they wish to experience a more traditional frontline ground war. Once Sukhumi has been captured, squadrons based in Incirlik Turkey can be ferried in via the "From Incirlik" off-map spawn point.</p> description: <p>United Nations Observer Mission in Georgia (UNOMIG) observers stationed in Georgia to monitor the ceasefire between Georgia and Abkhazia have been cut off from friendly forces by Russian troops backing the separatist state. The UNOMIG HQ at Sukhumi has been taken, and a small contingent of observers and troops at the Zugdidi Sector HQ will have to make a run for the coast, supported by offshore US naval aircraft. The contingent is aware that their best shot at survival is to swiftly retake Sukhumi before Russian forces have a chance to dig in, so that friendly ground forces can land and reinforce them.</p><p><strong>Note:</strong> Ground unit purchase will not be available past Turn 0 until Sukhumi is retaken, so it is imperative you reach Sukhumi with at least one surviving ground unit to capture it. Two Hueys are available at Zugdidi for some close air support. The player can either play the first leg of the scenario as an evacuation with a couple of light vehicles (e.g. Humvees) set on breakthrough (modifying waypoints in the mission editor so they are not charging head-on into enemy ground forces is suggested), or purchase heavier ground units if they wish to experience a more traditional frontline ground war. Once Sukhumi has been captured, squadrons based in Incirlik Turkey can be ferried in via the "From Incirlik" off-map spawn point.</p>
miz: operation_vectrons_claw.miz miz: operation_vectrons_claw.miz
performance: 1 performance: 1
version: "9.0" recommended_start_date: 2008-08-08
version: "9.1"
squadrons: squadrons:
Blue CV: Blue CV:
- primary: BARCAP - primary: BARCAP
secondary: air-to-air secondary: any
aircraft: aircraft:
- F-14B Tomcat - F-14B Tomcat
- F-14A Tomcat (Block 135-GR Late) - F-14A Tomcat (Block 135-GR Late)
@@ -24,7 +25,7 @@ squadrons:
secondary: any secondary: any
aircraft: aircraft:
- F/A-18C Hornet (Lot 20) - F/A-18C Hornet (Lot 20)
- primary: BAI - primary: DEAD
secondary: any secondary: any
aircraft: aircraft:
- F/A-18C Hornet (Lot 20) - F/A-18C Hornet (Lot 20)
@@ -64,7 +65,7 @@ squadrons:
- E-3A - E-3A
- primary: Refueling - primary: Refueling
aircraft: aircraft:
- KC-135 Stratotanker MPRS - KC-135 Stratotanker
- primary: Transport - primary: Transport
aircraft: aircraft:
- C-130 - C-130
@@ -87,28 +88,16 @@ squadrons:
secondary: any secondary: any
aircraft: aircraft:
- MiG-29S Fulcrum-C - MiG-29S Fulcrum-C
- primary: BAI
secondary: air-to-ground
aircraft:
- Su-25T Frogfoot
- primary: CAS - primary: CAS
secondary: air-to-ground secondary: air-to-ground
aircraft: aircraft:
- Ka-50 Hokum - Su-24M Fencer-D
#Anapa-Vityazevo #Anapa-Vityazevo
12: 12:
- primary: BARCAP - primary: CAS
secondary: any
aircraft:
- Su-27 Flanker-B
- primary: SEAD
secondary: air-to-ground secondary: air-to-ground
aircraft: aircraft:
- Su-24M Fencer-D - Su-25T Frogfoot
- primary: Strike
secondary: air-to-ground
aircraft:
- Tu-22M3 Backfire-C
- primary: AEW&C - primary: AEW&C
aircraft: aircraft:
- A-50 - A-50
@@ -123,8 +112,9 @@ squadrons:
secondary: any secondary: any
aircraft: aircraft:
- SU-33 Flanker-D - SU-33 Flanker-D
# I am aware there is no Russian LHA. This is just for campaign inversion.
Red LHA: Red LHA:
- primary: BAI - primary: BAI
secondary: air-to-ground secondary: air-to-ground
aircraft: aircraft:
- Mi-8MTV2 Hip - AV-8B Harrier II Night Attack

Binary file not shown.

View File

@@ -0,0 +1,137 @@
---
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"
recommended_player_faction: US Navy 2005
recommended_enemy_faction: China 2010
miz: pacific_repartee.miz
performance: 1
recommended_start_date: 2006-02-17
squadrons:
#BLUFOR CVN
Naval-1:
- primary: BARCAP
secondary: any
aircraft:
- VF-143
- primary: SEAD
secondary: any
aircraft:
- VMFA-251
- primary: Strike
secondary: any
aircraft:
- VMFA-122
- primary: AEW&C
aircraft:
- VAW-125
- primary: Refueling
aircraft:
- VS-35 (Tanker)
- primary: Anti-ship
secondary: air-to-ground
aircraft:
- VS-35
- primary: Transport
aircraft:
- HSM-40
# BLUFOR LHA
Naval-2:
- primary: BAI
secondary: air-to-ground
aircraft:
- VMA-223
- primary: Transport
secondary: air-to-ground
aircraft:
- HMLA-169 (UH-1H)
- primary: CAS
secondary: air-to-ground
aircraft:
- HMLA-169 (AH-1W)
# OPFOR CVN 1
Naval-3:
- primary: BARCAP
secondary: any
aircraft:
- J-15 Flanker X-2
- primary: Strike
secondary: any
aircraft:
- J-15 Flanker X-2
# OPFOR CVN 2
Naval-4:
- primary: BARCAP
secondary: any
aircraft:
- J-15 Flanker X-2
- primary: Strike
secondary: any
aircraft:
- J-15 Flanker X-2
# OPFOR CVN 3
Naval-28:
- primary: BARCAP
secondary: any
aircraft:
- J-15 Flanker X-2
- primary: TARCAP
secondary: any
aircraft:
- J-15 Flanker X-2
# OPFOR LHA
OPLHA:
- primary: Strike
secondary: any
aircraft:
- Mi-24P Hind-F
# Saipan Intl
2:
- primary: Transport
aircraft:
- IL-76MD
- primary: BARCAP
secondary: any
aircraft:
- J-7B
- primary: BARCAP
secondary: any
aircraft:
- FC-1 Fierce Dragon
# Tinian Intl
3:
- primary: AEW&C
aircraft:
- KJ-2000
# Andersen AFB
6:
- primary: TARCAP
secondary: any
aircraft:
- J-11A Flanker-L
- primary: BARCAP
secondary: air-to-ground
aircraft:
- FC-1 Fierce Dragon
- primary: Anti-ship
secondary: air-to-ground
aircraft:
- H-6J Badger
- primary: Transport
aircraft:
- IL-76MD
- primary: Refueling
aircraft:
- IL-78M
# Antonio B. Won Pat Intl
4:
- primary: TARCAP
secondary: any
aircraft:
- J-7B
- primary: BARCAP
secondary: air-to-ground
aircraft:
- FC-1 Fierce Dragon

View File

@@ -1,11 +0,0 @@
{
"name": "Syria - Full Map",
"theater": "Syria",
"authors": "Plob",
"recommended_player_faction": "Bluefor Modern",
"recommended_enemy_faction": "Syria 2011",
"description": "<p>A long campaign across the syria map, strap in.</p></p>Each turn after planning missions, enable culling to ensure correct culling behaviour.</p>",
"miz": "syria_full_map.miz",
"performance": 3,
"version": "8.0"
}

View File

@@ -0,0 +1,297 @@
---
name: Syria - Full Map
theater: Syria
authors: Plob
description: <p><p>A long campaign across the syria map, strap in.</p>
recommended_player_faction: Bluefor Modern
recommended_enemy_faction: Syria 2012'ish
recommended_start_date: 2012-06-05
miz: syria_full_map.miz
performance: 3
version: "9.1"
squadrons:
# Incirlik
16:
- primary: Refueling
aircraft:
- KC-135 Stratotanker MPRS
- primary: Refueling
aircraft:
- KC-135 Stratotanker
- primary: AEW&C
aircraft:
- E-3A
- primary: Transport
secondary: any
aircraft:
- C-130
- primary: Strike
secondary: any
aircraft:
- F-16CM Fighting Falcon (Block 50)
- primary: BAI
secondary: air-to-ground
aircraft:
- A-10C Thunderbolt II (Suite 7)
- primary: BAI
secondary: air-to-ground
aircraft:
- A-10C Thunderbolt II (Suite 3)
- primary: BARCAP
secondary: any
aircraft:
- JF-17 Thunder
- primary: BARCAP
aircraft:
- MiG-23MLD Flogger-K
- primary: BAI
secondary: air-to-ground
aircraft:
- Ka-50 Hokum
- primary: Strike
secondary: any
aircraft:
- AJS-37 Viggen
- primary: Strike
secondary: air-to-ground
aircraft:
- B-52H Stratofortress
- primary: Strike
secondary: air-to-ground
aircraft:
- B-1B Lancer
- primary: Strike
secondary: any
aircraft:
- Mirage 2000C
# Gaziantep
11:
- primary: CAS
secondary: air-to-ground
aircraft:
- UH-1H Iroquois
- primary: CAS
secondary: air-to-ground
aircraft:
- Mi-8MTV2 Hip
- primary: CAS
secondary: air-to-ground
aircraft:
- Mi-24P Hind-F
- primary: CAS
secondary: air-to-ground
aircraft:
- AH-64D Apache Longbow
# Hatay
15:
- primary: CAS
secondary: air-to-ground
aircraft:
- Mi-24P Hind-F
# Tabqa
37:
- primary: Strike
secondary: air-to-air
aircraft:
- Su-34 Fullback
- primary: CAS
secondary: air-to-ground
aircraft:
- Su-25 Frogfoot
- primary: BARCAP
aircraft:
- MiG-23MLD Flogger-K
# Abu al-Duhur
1:
- primary: BARCAP
secondary: air-to-air
aircraft:
- MiG-23MLD Flogger-K
- primary: CAS
secondary: air-to-ground
aircraft:
- Su-25 Frogfoot
- primary: Fighter sweep
secondary: air-to-air
aircraft:
- MiG-23MLD Flogger-K
- primary: Transport
secondary: air-to-ground
aircraft:
- Mi-8MTV2 Hip
# Bassel Al-Assad
21:
- primary: BARCAP
secondary: air-to-air
aircraft:
- MiG-29S Fulcrum-C
- primary: Intercept
secondary: air-to-air
aircraft:
- MiG-25PD Foxbat-E
- primary: Strike
secondary: air-to-air
aircraft:
- Su-34 Fullback
- primary: CAS
secondary: air-to-ground
aircraft:
- Su-25 Frogfoot
- primary: OCA/Runway
secondary: air-to-ground
aircraft:
- Su-25 Frogfoot
- primary: AEW&C
aircraft:
- A-50
# Al Qusayr
3:
- primary: BARCAP
secondary: air-to-air
aircraft:
- MiG-23MLD Flogger-K
- primary: CAS
secondary: air-to-ground
aircraft:
- Su-25 Frogfoot
- primary: BARCAP
secondary: air-to-air
aircraft:
- MiG-23MLD Flogger-K
# Palmyra
28:
- primary: BARCAP
secondary: air-to-air
aircraft:
- Su-30 Flanker-C
- primary: CAS
secondary: air-to-ground
aircraft:
- Su-25 Frogfoot
- primary: BARCAP
secondary: air-to-air
aircraft:
- MiG-23MLD Flogger-K
# Rayak
32:
- primary: BARCAP
secondary: air-to-air
aircraft:
- Su-30 Flanker-C
- primary: CAS
secondary: air-to-ground
aircraft:
- Su-25 Frogfoot
- primary: BARCAP
secondary: air-to-air
aircraft:
- MiG-23MLD Flogger-K
- primary: CAS
secondary: air-to-ground
aircraft:
- Mi-24P Hind-F
- primary: OCA/Runway
secondary: air-to-ground
aircraft:
- Su-24M Fencer-D
- primary: Strike
secondary: air-to-ground
aircraft:
- Su-24M Fencer-D
# Damascus
7:
- primary: BARCAP
secondary: air-to-air
aircraft:
- MiG-29S Fulcrum-C
- primary: BARCAP
secondary: air-to-air
aircraft:
- MiG-25PD Foxbat-E
- primary: Strike
secondary: air-to-air
aircraft:
- Su-34 Fullback
- primary: BAI
secondary: air-to-air
aircraft:
- Su-34 Fullback
- primary: BARCAP
secondary: air-to-air
aircraft:
- Su-30 Flanker-C
- primary: Transport
aircraft:
- IL-78M
- primary: Transport
secondary: air-to-ground
aircraft:
- Mi-8MTV2 Hip
# King Hussein Air College
19:
- primary: BAI
secondary: air-to-air
aircraft:
- L-39ZA Albatros
- primary: BAI
secondary: air-to-air
aircraft:
- Su-34 Fullback
- primary: BARCAP
secondary: air-to-air
aircraft:
- Su-30 Flanker-C
# Ramat David
30:
- primary: BARCAP
secondary: air-to-air
aircraft:
- MiG-29S Fulcrum-C
- primary: Intercept
secondary: air-to-air
aircraft:
- MiG-25PD Foxbat-E
- primary: Strike
secondary: air-to-air
aircraft:
- Su-34 Fullback
- primary: CAS
secondary: air-to-ground
aircraft:
- Su-25 Frogfoot
- primary: BARCAP
secondary: air-to-air
aircraft:
- MiG-29S Fulcrum-C
- primary: AEW&C
aircraft:
- A-50
Blue CV:
- primary: BARCAP
secondary: air-to-air
aircraft:
- F-14B Tomcat
- primary: BARCAP
secondary: any
aircraft:
- F-14B Tomcat
- primary: Strike
secondary: any
aircraft:
- F/A-18C Hornet (Lot 20)
- primary: BAI
secondary: any
aircraft:
- F/A-18C Hornet (Lot 20)
- primary: Refueling
aircraft:
- S-3B Tanker
- primary: AEW&C
aircraft:
- E-2C Hawkeye
Blue LHA:
- primary: BAI
secondary: air-to-ground
aircraft:
- AV-8B Harrier II Night Attack

View File

@@ -0,0 +1,278 @@
local unitPayloads = {
["name"] = "H-6J",
["payloads"] = {
[1] = {
["name"] = "Liberation BAI",
["pylons"] = {
[1] = {
["CLSID"] = "DIS_AKG_DLPOD",
["num"] = 7,
},
[2] = {
["CLSID"] = "DIS_DF4A_KD20",
["num"] = 6,
},
[3] = {
["CLSID"] = "DIS_DF4A_KD20",
["num"] = 5,
},
[4] = {
["CLSID"] = "DIS_DF4A_KD20",
["num"] = 4,
},
[5] = {
["CLSID"] = "DIS_DF4A_KD20",
["num"] = 3,
},
[6] = {
["CLSID"] = "DIS_DF4A_KD20",
["num"] = 2,
},
[7] = {
["CLSID"] = "DIS_DF4A_KD20",
["num"] = 1,
},
},
["tasks"] = {
[1] = 30,
},
},
[2] = {
["displayName"] = "Liberation CAS",
["name"] = "Liberation CAS",
["pylons"] = {
[1] = {
["CLSID"] = "DIS_H6_250_2_N24",
["num"] = 8,
},
[2] = {
["CLSID"] = "DIS_AKG_DLPOD",
["num"] = 7,
},
[3] = {
["CLSID"] = "DIS_MER6_250_3_N6",
["num"] = 6,
},
[4] = {
["CLSID"] = "DIS_MER6_250_3_N6",
["num"] = 5,
},
[5] = {
["CLSID"] = "DIS_MER6_250_3_N6",
["num"] = 4,
},
[6] = {
["CLSID"] = "DIS_MER6_250_3_N6",
["num"] = 3,
},
[7] = {
["CLSID"] = "DIS_MER6_250_3_N6",
["num"] = 2,
},
[8] = {
["CLSID"] = "DIS_MER6_250_3_N6",
["num"] = 1,
},
},
["tasks"] = {
[1] = 30,
},
},
[3] = {
["name"] = "Liberation Strike",
["pylons"] = {
[1] = {
["CLSID"] = "DIS_AKG_DLPOD",
["num"] = 7,
},
[2] = {
["CLSID"] = "DIS_DF4A_KD20",
["num"] = 6,
},
[3] = {
["CLSID"] = "DIS_DF4A_KD20",
["num"] = 5,
},
[4] = {
["CLSID"] = "DIS_DF4A_KD20",
["num"] = 4,
},
[5] = {
["CLSID"] = "DIS_DF4A_KD20",
["num"] = 3,
},
[6] = {
["CLSID"] = "DIS_DF4A_KD20",
["num"] = 2,
},
[7] = {
["CLSID"] = "DIS_DF4A_KD20",
["num"] = 1,
},
},
["tasks"] = {
[1] = 30,
},
},
[4] = {
["displayName"] = "Liberation Anti-ship",
["name"] = "Liberation Anti-ship",
["pylons"] = {
[1] = {
["CLSID"] = "DIS_AKG_DLPOD",
["num"] = 7,
},
[2] = {
["CLSID"] = "DIS_GDJ_YJ83K",
["num"] = 6,
},
[3] = {
["CLSID"] = "DIS_GDJ_YJ83K",
["num"] = 5,
},
[4] = {
["CLSID"] = "DIS_GDJ_YJ83K",
["num"] = 4,
},
[5] = {
["CLSID"] = "DIS_GDJ_YJ83K",
["num"] = 3,
},
[6] = {
["CLSID"] = "DIS_GDJ_YJ83K",
["num"] = 2,
},
[7] = {
["CLSID"] = "DIS_GDJ_YJ83K",
["num"] = 1,
},
},
["tasks"] = {
[1] = 30,
},
},
[5] = {
["displayName"] = "Liberation OCA/Runway",
["name"] = "Liberation OCA/Runway",
["pylons"] = {
[1] = {
["CLSID"] = "DIS_H6_250_2_N24",
["num"] = 8,
},
[2] = {
["CLSID"] = "DIS_AKG_DLPOD",
["num"] = 7,
},
[3] = {
["CLSID"] = "DIS_MER6_250_3_N6",
["num"] = 6,
},
[4] = {
["CLSID"] = "DIS_MER6_250_3_N6",
["num"] = 5,
},
[5] = {
["CLSID"] = "DIS_MER6_250_3_N6",
["num"] = 4,
},
[6] = {
["CLSID"] = "DIS_MER6_250_3_N6",
["num"] = 3,
},
[7] = {
["CLSID"] = "DIS_MER6_250_3_N6",
["num"] = 2,
},
[8] = {
["CLSID"] = "DIS_MER6_250_3_N6",
["num"] = 1,
},
},
["tasks"] = {
[1] = 30,
},
},
[6] = {
["displayName"] = "Liberation DEAD",
["name"] = "Liberation DEAD",
["pylons"] = {
[1] = {
["CLSID"] = "DIS_AKG_DLPOD",
["num"] = 7,
},
[2] = {
["CLSID"] = "DIS_DF4A_KD20",
["num"] = 6,
},
[3] = {
["CLSID"] = "DIS_DF4A_KD20",
["num"] = 5,
},
[4] = {
["CLSID"] = "DIS_DF4A_KD20",
["num"] = 4,
},
[5] = {
["CLSID"] = "DIS_DF4A_KD20",
["num"] = 3,
},
[6] = {
["CLSID"] = "DIS_DF4A_KD20",
["num"] = 2,
},
[7] = {
["CLSID"] = "DIS_DF4A_KD20",
["num"] = 1,
},
},
["tasks"] = {
[1] = 30,
},
},
[7] = {
["displayName"] = "Liberation OCA/Aircraft",
["name"] = "Liberation OCA/Aircraft",
["pylons"] = {
[1] = {
["CLSID"] = "DIS_H6_250_2_N24",
["num"] = 8,
},
[2] = {
["CLSID"] = "DIS_AKG_DLPOD",
["num"] = 7,
},
[3] = {
["CLSID"] = "DIS_MER6_250_3_N6",
["num"] = 6,
},
[4] = {
["CLSID"] = "DIS_MER6_250_3_N6",
["num"] = 5,
},
[5] = {
["CLSID"] = "DIS_MER6_250_3_N6",
["num"] = 4,
},
[6] = {
["CLSID"] = "DIS_MER6_250_3_N6",
["num"] = 3,
},
[7] = {
["CLSID"] = "DIS_MER6_250_3_N6",
["num"] = 2,
},
[8] = {
["CLSID"] = "DIS_MER6_250_3_N6",
["num"] = 1,
},
},
["tasks"] = {
[1] = 30,
},
},
},
["tasks"] = {
},
["unitType"] = "H-6J",
}
return unitPayloads

View File

@@ -107,5 +107,6 @@
"UH-1H Iroquois": [ "UH-1H Iroquois": [
"US NAVY" "US NAVY"
] ]
} },
"unrestricted_satnav": true
} }

View File

@@ -66,5 +66,6 @@
"Australian 75th Squadron", "Australian 75th Squadron",
"Australian 77th Squadron" "Australian 77th Squadron"
] ]
} },
"unrestricted_satnav": true
} }

View File

@@ -33,7 +33,7 @@
"UH-1H Iroquois" "UH-1H Iroquois"
], ],
"awacs": [ "awacs": [
"E-2C Hawkeye", "E-2D Advanced Hawkeye",
"E-3A" "E-3A"
], ],
"tankers": [ "tankers": [

View File

@@ -71,5 +71,6 @@
"C-130J-30 Super Hercules": [ "C-130J-30 Super Hercules": [
"Royal Canadian AF CC-130J" "Royal Canadian AF CC-130J"
] ]
} },
"unrestricted_satnav": true
} }

View File

@@ -14,7 +14,8 @@
"J-7B", "J-7B",
"Mi-24P Hind-F", "Mi-24P Hind-F",
"Mi-8MTV2 Hip", "Mi-8MTV2 Hip",
"Su-30MKK Flanker-G" "Su-30MKK Flanker-G",
"H-6J Badger"
], ],
"awacs": [ "awacs": [
"KJ-2000" "KJ-2000"
@@ -95,7 +96,7 @@
], ],
"requirements": {}, "requirements": {},
"navy_generators": [ "navy_generators": [
"Type54GroupGenerator" "ChineseNavyGroupGenerator"
], ],
"has_jtac": true, "has_jtac": true,
"jtac_unit": "WingLoong-I" "jtac_unit": "WingLoong-I"

View File

@@ -59,5 +59,6 @@
"LaCombattanteIIGroupGenerator" "LaCombattanteIIGroupGenerator"
], ],
"has_jtac": true, "has_jtac": true,
"jtac_unit": "MQ-9 Reaper" "jtac_unit": "MQ-9 Reaper",
"unrestricted_satnav": true
} }

View File

@@ -18,7 +18,8 @@
"Su-22M4 Fitter-K", "Su-22M4 Fitter-K",
"Su-24M Fencer-D", "Su-24M Fencer-D",
"Su-25 Frogfoot", "Su-25 Frogfoot",
"Tu-22M3 Backfire-C" "Tu-22M3 Backfire-C",
"H-6J Badger"
], ],
"awacs": [ "awacs": [
"A-50" "A-50"

View File

@@ -63,5 +63,6 @@
"ArleighBurkeGroupGenerator" "ArleighBurkeGroupGenerator"
], ],
"has_jtac": true, "has_jtac": true,
"jtac_unit": "MQ-9 Reaper" "jtac_unit": "MQ-9 Reaper",
"unrestricted_satnav": true
} }

View File

@@ -93,5 +93,6 @@
"Mirage 2000C": [ "Mirage 2000C": [
"UAE Air Force" "UAE Air Force"
] ]
} },
"unrestricted_satnav": true
} }

View File

@@ -55,5 +55,6 @@
"OliverHazardPerryGroupGenerator" "OliverHazardPerryGroupGenerator"
], ],
"has_jtac": true, "has_jtac": true,
"jtac_unit": "MQ-9 Reaper" "jtac_unit": "MQ-9 Reaper",
"unrestricted_satnav": true
} }

View File

@@ -59,5 +59,6 @@
"navy_generators": [ "navy_generators": [
"MolniyaGroupGenerator", "MolniyaGroupGenerator",
"OliverHazardPerryGroupGenerator" "OliverHazardPerryGroupGenerator"
] ],
"unrestricted_satnav": true
} }

View File

@@ -23,7 +23,8 @@
"Su-27 Flanker-B", "Su-27 Flanker-B",
"Su-30MKK Flanker-G", "Su-30MKK Flanker-G",
"Su-34 Fullback", "Su-34 Fullback",
"Tu-22M3 Backfire-C" "Tu-22M3 Backfire-C",
"H-6J Badger"
], ],
"awacs": [ "awacs": [
"KJ-2000" "KJ-2000"
@@ -120,7 +121,7 @@
], ],
"requirements": {}, "requirements": {},
"navy_generators": [ "navy_generators": [
"Type54GroupGenerator" "ChineseNavyGroupGenerator"
], ],
"has_jtac": true, "has_jtac": true,
"jtac_unit": "WingLoong-I" "jtac_unit": "WingLoong-I"

View File

@@ -59,5 +59,6 @@
"OliverHazardPerryGroupGenerator" "OliverHazardPerryGroupGenerator"
], ],
"has_jtac": true, "has_jtac": true,
"jtac_unit": "MQ-9 Reaper" "jtac_unit": "MQ-9 Reaper",
"unrestricted_satnav": true
} }

View File

@@ -44,5 +44,6 @@
"OliverHazardPerryGroupGenerator" "OliverHazardPerryGroupGenerator"
], ],
"has_jtac": true, "has_jtac": true,
"jtac_unit": "WingLoong-I" "jtac_unit": "WingLoong-I",
"unrestricted_satnav": true
} }

View File

@@ -49,5 +49,6 @@
"OliverHazardPerryGroupGenerator" "OliverHazardPerryGroupGenerator"
], ],
"has_jtac": true, "has_jtac": true,
"jtac_unit": "WingLoong-I" "jtac_unit": "WingLoong-I",
"unrestricted_satnav": true
} }

View File

@@ -1,4 +1,4 @@
env.info("--- SKYNET VERSION: 2.3.0 | BUILD TIME: 18.10.2021 1046Z ---") env.info("--- SKYNET VERSION: 2.4.0 | BUILD TIME: 05.11.2021 1737Z ---")
do do
--this file contains the required units per sam type --this file contains the required units per sam type
samTypesDB = { samTypesDB = {
@@ -11,6 +11,11 @@ samTypesDB = {
['NATO'] = 'Tin Shield', ['NATO'] = 'Tin Shield',
}, },
}, },
['p-19 s-125 sr'] = {
['name'] = {
['NATO'] = 'Flat Face',
},
},
}, },
['EWR P-37 BAR LOCK'] = { ['EWR P-37 BAR LOCK'] = {
['Name'] = { ['Name'] = {

View File

@@ -0,0 +1,24 @@
---
name: 110th Squadron
nickname: Knights of the North
country: Israel
role: Carrier-based Attack/Light Fighter
aircraft: A-4E Skyhawk
bases:
carrier: false
shore: true
livery: International Israel
mission_types:
- BAI
- BARCAP
- CAS
- DEAD
- Escort
- OCA/Aircraft
- OCA/Runway
- SEAD
- SEAD Escort
- Strike
- Fighter sweep
- TARCAP
# http://skyhawk.org/article-unit/iaf-north-squadron

View File

@@ -0,0 +1,21 @@
---
name: VA-144
nickname: Roadrunners
country: USA
role: Carrier-based Attack/Light Fighter
aircraft: A-4E Skyhawk
livery: USN VA-144 Roadrunners
mission_types:
- BAI
- BARCAP
- CAS
- DEAD
- Escort
- OCA/Aircraft
- OCA/Runway
- SEAD
- SEAD Escort
- Strike
- Fighter sweep
- TARCAP
# http://skyhawk.org/article-unit/va144

View File

@@ -0,0 +1,21 @@
---
name: VA-153
nickname: Blue Tail Flies
country: USA
role: Carrier-based Attack/Light Fighter
aircraft: A-4E Skyhawk
livery: USN VA-153 Blue Tail Flies
mission_types:
- BAI
- BARCAP
- CAS
- DEAD
- Escort
- OCA/Aircraft
- OCA/Runway
- SEAD
- SEAD Escort
- Strike
- Fighter sweep
- TARCAP
# http://skyhawk.org/article-unit/va153

View File

@@ -0,0 +1,21 @@
---
name: VA-163
nickname: Saints
country: USA
role: Carrier-based Attack/Light Fighter
aircraft: A-4E Skyhawk
livery: USN VA-163 Saints
mission_types:
- BAI
- BARCAP
- CAS
- DEAD
- Escort
- OCA/Aircraft
- OCA/Runway
- SEAD
- SEAD Escort
- Strike
- Fighter sweep
- TARCAP
# http://skyhawk.org/article-unit/va163

View File

@@ -0,0 +1,21 @@
---
name: VA-164
nickname: Ghostriders
country: USA
role: Carrier-based Attack/Light Fighter
aircraft: A-4E Skyhawk
livery: USN VA-164 Ghostriders
mission_types:
- BAI
- BARCAP
- CAS
- DEAD
- Escort
- OCA/Aircraft
- OCA/Runway
- SEAD
- SEAD Escort
- Strike
- Fighter sweep
- TARCAP
# http://skyhawk.org/article-unit/va164

View File

@@ -0,0 +1,21 @@
---
name: VA-195
nickname: Dambusters
country: USA
role: Carrier-based Attack/Light Fighter
aircraft: A-4E Skyhawk
livery: USN VA-195 Dambusters
mission_types:
- BAI
- BARCAP
- CAS
- DEAD
- Escort
- OCA/Aircraft
- OCA/Runway
- SEAD
- SEAD Escort
- Strike
- Fighter sweep
- TARCAP
# http://skyhawk.org/article-unit/va195

View File

@@ -0,0 +1,21 @@
---
name: VA-212
nickname: Rampant Raiders
country: USA
role: Carrier-based Attack/Light Fighter
aircraft: A-4E Skyhawk
livery: USN VA-212 Rampant Raiders
mission_types:
- BAI
- BARCAP
- CAS
- DEAD
- Escort
- OCA/Aircraft
- OCA/Runway
- SEAD
- SEAD Escort
- Strike
- Fighter sweep
- TARCAP
# http://skyhawk.org/article-unit/va212

View File

@@ -0,0 +1,21 @@
---
name: VA-45
nickname: Blackbirds
country: USA
role: Carrier-based Attack/Light Fighter
aircraft: A-4E Skyhawk
livery: USN VA-45 Blackbirds
mission_types:
- BAI
- BARCAP
- CAS
- DEAD
- Escort
- OCA/Aircraft
- OCA/Runway
- SEAD
- SEAD Escort
- Strike
- Fighter sweep
- TARCAP
# http://skyhawk.org/article-unit/va45

View File

@@ -0,0 +1,21 @@
---
name: VA-55
nickname: Warhorses
country: USA
role: Carrier-based Attack/Light Fighter
aircraft: A-4E Skyhawk
livery: USN VA-55 Warhorses
mission_types:
- BAI
- BARCAP
- CAS
- DEAD
- Escort
- OCA/Aircraft
- OCA/Runway
- SEAD
- SEAD Escort
- Strike
- Fighter sweep
- TARCAP
# http://skyhawk.org/article-unit/va55

View File

@@ -0,0 +1,21 @@
---
name: VA-64
nickname: Black Lancers
country: USA
role: Carrier-based Attack/Light Fighter
aircraft: A-4E Skyhawk
livery: USN VA-64 Black Lancers
mission_types:
- BAI
- BARCAP
- CAS
- DEAD
- Escort
- OCA/Aircraft
- OCA/Runway
- SEAD
- SEAD Escort
- Strike
- Fighter sweep
- TARCAP
# http://skyhawk.org/article-unit/va64

View File

@@ -0,0 +1,24 @@
---
name: VMA-121
nickname: Green Knights
country: USA
role: Carrier-based Attack/Light Fighter
aircraft: A-4E Skyhawk
bases:
carrier: true
shore: true
livery: USMC VMA-121 Green Knights
mission_types:
- BAI
- BARCAP
- CAS
- DEAD
- Escort
- OCA/Aircraft
- OCA/Runway
- SEAD
- SEAD Escort
- Strike
- Fighter sweep
- TARCAP
# http://skyhawk.org/article-unit/vma121

View File

@@ -0,0 +1,23 @@
---
name: VMA-124
nickname: Memphis Marines
country: USA
role: Carrier-based Attack/Light Fighter
aircraft: A-4E Skyhawk
bases:
carrier: true
shore: true
livery: USMC VMA-124 Memphis Marines
mission_types:
- BAI
- BARCAP
- CAS
- DEAD
- Escort
- OCA/Aircraft
- OCA/Runway
- SEAD
- SEAD Escort
- Strike
- Fighter sweep
- TARCAP

View File

@@ -0,0 +1,24 @@
---
name: VMA-131
nickname: Diamondbacks
country: USA
role: Carrier-based Attack/Light Fighter
aircraft: A-4E Skyhawk
bases:
carrier: true
shore: true
livery: USMC VMA-131 Diamondbacks
mission_types:
- BAI
- BARCAP
- CAS
- DEAD
- Escort
- OCA/Aircraft
- OCA/Runway
- SEAD
- SEAD Escort
- Strike
- Fighter sweep
- TARCAP
# http://skyhawk.org/article-unit/vma131

View File

@@ -0,0 +1,24 @@
---
name: VMA-142
nickname: Flying Gators
country: USA
role: Carrier-based Attack/Light Fighter
aircraft: A-4E Skyhawk
bases:
carrier: true
shore: true
livery: USMC VMA-142 Flying Gators
mission_types:
- BAI
- BARCAP
- CAS
- DEAD
- Escort
- OCA/Aircraft
- OCA/Runway
- SEAD
- SEAD Escort
- Strike
- Fighter sweep
- TARCAP
# http://skyhawk.org/article-unit/vma142

View File

@@ -0,0 +1,24 @@
---
name: VMA-211
nickname: Avengers
country: USA
role: Carrier-based Attack/Light Fighter
aircraft: A-4E Skyhawk
bases:
carrier: true
shore: true
livery: USMC VMA-211 Avengers
mission_types:
- BAI
- BARCAP
- CAS
- DEAD
- Escort
- OCA/Aircraft
- OCA/Runway
- SEAD
- SEAD Escort
- Strike
- Fighter sweep
- TARCAP
# http://skyhawk.org/article-unit/vma211

View File

@@ -0,0 +1,24 @@
---
name: VMA-311
nickname: Tomcats
country: USA
role: Carrier-based Attack/Light Fighter
aircraft: A-4E Skyhawk
bases:
carrier: true
shore: true
livery: USMC VMA-311 Tomcats
mission_types:
- BAI
- BARCAP
- CAS
- DEAD
- Escort
- OCA/Aircraft
- OCA/Runway
- SEAD
- SEAD Escort
- Strike
- Fighter sweep
- TARCAP
# http://skyhawk.org/article-unit/vma311

View File

@@ -0,0 +1,24 @@
---
name: VMA-322
nickname: Fighting Gamecocks
country: USA
role: Carrier-based Attack/Light Fighter
aircraft: A-4E Skyhawk
bases:
carrier: true
shore: true
livery: USMC VMA-322 Fighting Gamecocks
mission_types:
- BAI
- BARCAP
- CAS
- DEAD
- Escort
- OCA/Aircraft
- OCA/Runway
- SEAD
- SEAD Escort
- Strike
- Fighter sweep
- TARCAP
# http://skyhawk.org/article-unit/vma322

View File

@@ -0,0 +1,22 @@
---
name: IRIAF 32nd TFW
nickname: 32nd TFW
country: Iran
role: Air Superiority Fighter
aircraft: F-4E Phantom II
livery: IRIAF Asia Minor
mission_types:
- Anti-ship
- BAI
- BARCAP
- CAS
- DEAD
- Escort
- Intercept
- OCA/Aircraft
- OCA/Runway
- SEAD
- SEAD Escort
- Strike
- Fighter sweep
- TARCAP

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

View File

@@ -13,3 +13,4 @@ patrol:
altitude: 30000 altitude: 30000
variants: variants:
E-2C Hawkeye: {} E-2C Hawkeye: {}
E-2D Advanced Hawkeye: {}

View File

@@ -0,0 +1,16 @@
description:
"The Xian H-6J naval bomber is a licence-built version of the Soviet Tupolev Tu-16 twin-engine jet bomber,
built for China's People's Liberation Army Air Force (PLAAF).
It has the capability to carry KD-20 and KD-63 cruise missiles."
introduced: 1969
manufacturer: Xian
origin: China
price: 40
role: Maritime Strike Bomber
max_range: 2000
variants:
H-6J Badger: {}
Tu-16 Badger:
introduced: 1954
manufacturer: Tupolev
origin: USSR/Russia