Issue 3154 (#3447)

This PR addresses #3154 by removing LHAs, CVNs and off map spawn control
points from the transit network.
This commit is contained in:
zhexu14 2024-10-07 10:22:19 +11:00 committed by GitHub
parent 25b93b5d6d
commit 5d0ddea753
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 12 additions and 4 deletions

View File

@ -5,13 +5,14 @@ Saves from 11.x are not compatible with 12.0.0.
## Features/Improvements ## Features/Improvements
* **[Engine]** Support for DCS 2.9.8.1214. * **[Engine]** Support for DCS 2.9.8.1214.
* **[Campaign]** Flights are assigned different callsigns appropriate to the faction.
* **[Campaign]** Removed deprecated settings for generating persistent and invulnerable AWACs and tankers. * **[Campaign]** Removed deprecated settings for generating persistent and invulnerable AWACs and tankers.
* **[Campaign]** Do not allow aircraft from a captured control point to retreat if the captured control point has a damaged runway.
* **[Mods]** F/A-18 E/F/G Super Hornet mod version updated to 2.3. * **[Mods]** F/A-18 E/F/G Super Hornet mod version updated to 2.3.
## Fixes ## Fixes
* **[Campaign]** Flights are assigned different callsigns appropriate to the faction. * **[Campaign]** Do not allow aircraft from a captured control point to retreat if the captured control point has a damaged runway.
* **[Campaign]** Do not allow ground units to be transferred to LHAs, CVNs or off map spawns.
# 11.1.1 # 11.1.1

View File

@ -8,7 +8,7 @@ from enum import Enum, auto
from typing import Dict, Iterator, List, Optional, Set, Tuple from typing import Dict, Iterator, List, Optional, Set, Tuple
from .conflicttheater import ConflictTheater from .conflicttheater import ConflictTheater
from .controlpoint import ControlPoint from .controlpoint import ControlPoint, ControlPointType
class NoPathError(RuntimeError): class NoPathError(RuntimeError):
@ -160,7 +160,14 @@ class TransitNetworkBuilder:
self.airports: Set[ControlPoint] = { self.airports: Set[ControlPoint] = {
cp cp
for cp in self.control_points for cp in self.control_points
if cp.is_friendly(for_player) and cp.runway_is_operational() if cp.is_friendly(for_player)
and cp.runway_is_operational()
and cp.cptype
not in [
ControlPointType.LHA_GROUP,
ControlPointType.AIRCRAFT_CARRIER_GROUP,
ControlPointType.OFF_MAP,
] # TransitNetwork is for ground units, so do not consider LHAs, CVNs or off map spawns.
} }
def build(self) -> TransitNetwork: def build(self) -> TransitNetwork: