Introduce livery-sets on squadron level

Randomly chooses one of the liveries defined if present in the squadron's yaml, overrides entry for "livery" or whatever is chosen in the UI except liveries on flight-member level
This commit is contained in:
Raffson
2024-03-23 21:27:43 +01:00
parent 6ee74cf079
commit 52b25821af
5 changed files with 16 additions and 1 deletions

View File

@@ -40,6 +40,7 @@ class Squadron:
aircraft: AircraftType
max_size: int
livery: Optional[str]
livery_set: list[str] # will override livery if not empty
primary_task: FlightType
auto_assignable_mission_types: set[FlightType]
radio_presets: dict[Union[str, int], list[RadioFrequency]]
@@ -503,6 +504,7 @@ class Squadron:
squadron_def.aircraft,
max_size,
squadron_def.livery,
squadron_def.livery_set,
primary_task,
squadron_def.auto_assignable_mission_types,
squadron_def.radio_presets,

View File

@@ -27,6 +27,7 @@ class SquadronDef:
role: str
aircraft: AircraftType
livery: Optional[str]
livery_set: list[str]
auto_assignable_mission_types: set[FlightType]
radio_presets: dict[Union[str, int], list[RadioFrequency]]
operating_bases: OperatingBases
@@ -103,6 +104,7 @@ class SquadronDef:
role=data["role"],
aircraft=unit_type,
livery=data.get("livery"),
livery_set=data.get("livery_set", []),
auto_assignable_mission_types=set(unit_type.iter_task_capabilities()),
radio_presets=radio_presets,
operating_bases=OperatingBases.from_yaml(unit_type, data.get("bases", {})),