primary flight dead => escort RTB

Make sure trigger isn't activated when split flag was already set to true
This commit is contained in:
Raffson 2022-12-02 15:04:21 +01:00
parent 243ded448d
commit b9c62bc44a
No known key found for this signature in database
GPG Key ID: B0402B2C9B764D99
2 changed files with 8 additions and 3 deletions

View File

@ -6,7 +6,7 @@ from functools import cached_property
from typing import Any, Dict, List, TYPE_CHECKING
from dcs.action import AITaskPush
from dcs.condition import FlagIsTrue
from dcs.condition import FlagIsTrue, GroupDead, Or, FlagIsFalse
from dcs.country import Country
from dcs.mission import Mission
from dcs.terrain.terrain import NoParkingSlotError
@ -114,9 +114,15 @@ class AircraftGenerator:
flight, country, dynamic_runways
)
self.unit_map.add_aircraft(group, flight)
if package.primary_task == FlightType.STRIKE:
if (
package.primary_task == FlightType.STRIKE
and package.primary_flight is not None
):
splittrigger = TriggerOnce(Event.NoEvent, f"Split-{id(package)}")
splittrigger.add_condition(FlagIsTrue(flag=f"split-{id(package)}"))
splittrigger.add_condition(Or())
splittrigger.add_condition(FlagIsFalse(flag=f"split-{id(package)}"))
splittrigger.add_condition(GroupDead(package.primary_flight.group_id))
for flight in package.flights:
if flight is not package.primary_flight:
splittrigger.add_action(AITaskPush(flight.group_id, 1))

View File

@ -1,7 +1,6 @@
from dcs.point import MovingPoint
from dcs.task import OptECMUsing, OptFormation, RunScript
from game.utils import mach, Distance
from .pydcswaypointbuilder import PydcsWaypointBuilder