Add AirAssault and Airlift mission types with CTLD support

- Add the new airassault mission type and special flightplans for it
- Add the mission type to airbase and FOB
- Add Layout for the UH-1H
- Add mission type to capable squadrons
- Allow the auto planner to task air assault missions when preconditions are met
- Improve Airlift mission type and improve the flightplan (Stopover and Helo landing)
- Allow Slingload and spawnable crates for airlift
- Rework airsupport to a general missiondata class
- Added Carrier Information to mission data
- Allow to define CTLD specific capabilities in the unit yaml
- Allow inflight preload and fixed wing support for air assault
This commit is contained in:
RndName
2022-04-12 12:42:17 +02:00
parent de148dbb61
commit aa77cfe4b9
73 changed files with 996 additions and 212 deletions

View File

@@ -1,6 +1,8 @@
"""Combo box for selecting a flight's task type."""
from PySide2.QtWidgets import QComboBox
from game.ato.flighttype import FlightType
from game.settings.settings import Settings
from game.theater import ConflictTheater, MissionTarget
@@ -8,9 +10,16 @@ from game.theater import ConflictTheater, MissionTarget
class QFlightTypeComboBox(QComboBox):
"""Combo box for selecting a flight task type."""
def __init__(self, theater: ConflictTheater, target: MissionTarget) -> None:
def __init__(
self, theater: ConflictTheater, target: MissionTarget, settings: Settings
) -> None:
super().__init__()
self.theater = theater
self.target = target
for mission_type in self.target.mission_types(for_player=True):
if mission_type == FlightType.AIR_ASSAULT and not settings.plugin_option(
"ctld"
):
# Only add Air Assault if ctld plugin is enabled
continue
self.addItem(str(mission_type), userData=mission_type)