mirror of
https://github.com/dcs-retribution/dcs-retribution.git
synced 2025-11-10 15:41:24 +00:00
Finish moving gen into game.
This commit is contained in:
parent
3e08e0e8b6
commit
ac80c4adc1
5
.github/workflows/build.yml
vendored
5
.github/workflows/build.yml
vendored
@ -31,11 +31,6 @@ jobs:
|
|||||||
./venv/scripts/activate
|
./venv/scripts/activate
|
||||||
mypy game
|
mypy game
|
||||||
|
|
||||||
- name: mypy gen
|
|
||||||
run: |
|
|
||||||
./venv/scripts/activate
|
|
||||||
mypy gen
|
|
||||||
|
|
||||||
- name: mypy tests
|
- name: mypy tests
|
||||||
run: |
|
run: |
|
||||||
./venv/scripts/activate
|
./venv/scripts/activate
|
||||||
|
|||||||
5
.github/workflows/release.yml
vendored
5
.github/workflows/release.yml
vendored
@ -37,11 +37,6 @@ jobs:
|
|||||||
./venv/scripts/activate
|
./venv/scripts/activate
|
||||||
mypy game
|
mypy game
|
||||||
|
|
||||||
- name: mypy gen
|
|
||||||
run: |
|
|
||||||
./venv/scripts/activate
|
|
||||||
mypy gen
|
|
||||||
|
|
||||||
- name: Build binaries
|
- name: Build binaries
|
||||||
run: |
|
run: |
|
||||||
./venv/scripts/activate
|
./venv/scripts/activate
|
||||||
|
|||||||
@ -109,25 +109,23 @@ from dcs.planes import (
|
|||||||
)
|
)
|
||||||
from dcs.unittype import FlyingType
|
from dcs.unittype import FlyingType
|
||||||
|
|
||||||
from game.ato.flighttype import FlightType
|
|
||||||
from game.dcs.aircrafttype import AircraftType
|
from game.dcs.aircrafttype import AircraftType
|
||||||
from pydcs_extensions.a4ec.a4ec import A_4E_C
|
from pydcs_extensions.a4ec.a4ec import A_4E_C
|
||||||
from pydcs_extensions.f22a.f22a import F_22A
|
|
||||||
from pydcs_extensions.f104.f104 import VSN_F104G, VSN_F104S, VSN_F104S_AG
|
from pydcs_extensions.f104.f104 import VSN_F104G, VSN_F104S, VSN_F104S_AG
|
||||||
|
from pydcs_extensions.f22a.f22a import F_22A
|
||||||
from pydcs_extensions.hercules.hercules import Hercules
|
from pydcs_extensions.hercules.hercules import Hercules
|
||||||
from pydcs_extensions.jas39.jas39 import JAS39Gripen, JAS39Gripen_AG
|
from pydcs_extensions.jas39.jas39 import JAS39Gripen, JAS39Gripen_AG
|
||||||
from pydcs_extensions.su57.su57 import Su_57
|
from pydcs_extensions.su57.su57 import Su_57
|
||||||
|
from pydcs_extensions.uh60l.uh60l import KC130J, UH_60L
|
||||||
|
from .flighttype import FlightType
|
||||||
|
|
||||||
# All aircraft lists are in priority order. Aircraft higher in the list will be
|
# All aircraft lists are in priority order. Aircraft higher in the list will be
|
||||||
# preferred over those lower in the list.
|
# preferred over those lower in the list.
|
||||||
|
|
||||||
# TODO: These lists really ought to be era (faction) dependent.
|
# TODO: These lists really ought to be era (faction) dependent.
|
||||||
# Factions which have F-5s, F-86s, and A-4s will should prefer F-5s for CAP, but
|
# Factions which have F-5s, F-86s, and A-4s will should prefer F-5s for CAP, but
|
||||||
# factions that also have F-4s should not.
|
# factions that also have F-4s should not.
|
||||||
|
|
||||||
# Used for CAP, Escort, and intercept if there is not a specialised aircraft available
|
# Used for CAP, Escort, and intercept if there is not a specialised aircraft available
|
||||||
from pydcs_extensions.uh60l.uh60l import UH_60L, KC130J
|
|
||||||
|
|
||||||
CAP_CAPABLE = [
|
CAP_CAPABLE = [
|
||||||
Su_57,
|
Su_57,
|
||||||
F_22A,
|
F_22A,
|
||||||
@ -7,10 +7,10 @@ from typing import Any, List, Optional, TYPE_CHECKING
|
|||||||
from dcs import Point
|
from dcs import Point
|
||||||
from dcs.planes import C_101CC, C_101EB, Su_33
|
from dcs.planes import C_101CC, C_101EB, Su_33
|
||||||
|
|
||||||
from gen.flights.loadouts import Loadout
|
from game.savecompat import has_save_compat_for
|
||||||
from .flightroster import FlightRoster
|
from .flightroster import FlightRoster
|
||||||
from .flightstate import FlightState, Uninitialized
|
from .flightstate import FlightState, Uninitialized
|
||||||
from ..savecompat import has_save_compat_for
|
from .loadouts import Loadout
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from game.dcs.aircrafttype import AircraftType
|
from game.dcs.aircrafttype import AircraftType
|
||||||
@ -74,7 +74,7 @@ class Flight:
|
|||||||
# Will be replaced with a more appropriate FlightPlan by
|
# Will be replaced with a more appropriate FlightPlan by
|
||||||
# FlightPlanBuilder, but an empty flight plan the flight begins with an
|
# FlightPlanBuilder, but an empty flight plan the flight begins with an
|
||||||
# empty flight plan.
|
# empty flight plan.
|
||||||
from gen.flights.flightplan import FlightPlan, CustomFlightPlan
|
from game.ato.flightplan import FlightPlan, CustomFlightPlan
|
||||||
|
|
||||||
self.flight_plan: FlightPlan = CustomFlightPlan(
|
self.flight_plan: FlightPlan = CustomFlightPlan(
|
||||||
package=package, flight=self, custom_waypoints=[]
|
package=package, flight=self, custom_waypoints=[]
|
||||||
|
|||||||
@ -26,10 +26,6 @@ from typing import (
|
|||||||
from dcs.mapping import Point
|
from dcs.mapping import Point
|
||||||
from shapely.geometry import Point as ShapelyPoint
|
from shapely.geometry import Point as ShapelyPoint
|
||||||
|
|
||||||
from game.ato.flighttype import FlightType
|
|
||||||
from game.ato.flightwaypoint import FlightWaypoint
|
|
||||||
from game.ato.flightwaypointtype import FlightWaypointType
|
|
||||||
from game.ato.starttype import StartType
|
|
||||||
from game.data.doctrine import Doctrine
|
from game.data.doctrine import Doctrine
|
||||||
from game.dcs.aircrafttype import FuelConsumption
|
from game.dcs.aircrafttype import FuelConsumption
|
||||||
from game.flightplan import HoldZoneGeometry, IpZoneGeometry, JoinZoneGeometry
|
from game.flightplan import HoldZoneGeometry, IpZoneGeometry, JoinZoneGeometry
|
||||||
@ -52,12 +48,16 @@ from game.theater.theatergroundobject import (
|
|||||||
from game.typeguard import self_type_guard
|
from game.typeguard import self_type_guard
|
||||||
from game.utils import Distance, Heading, Speed, feet, knots, meters, nautical_miles
|
from game.utils import Distance, Heading, Speed, feet, knots, meters, nautical_miles
|
||||||
from .closestairfields import ObjectiveDistanceCache
|
from .closestairfields import ObjectiveDistanceCache
|
||||||
|
from .flighttype import FlightType
|
||||||
|
from .flightwaypoint import FlightWaypoint
|
||||||
|
from .flightwaypointtype import FlightWaypointType
|
||||||
|
from .starttype import StartType
|
||||||
from .traveltime import GroundSpeed, TravelTime
|
from .traveltime import GroundSpeed, TravelTime
|
||||||
from .waypointbuilder import StrikeTarget, WaypointBuilder
|
from .waypointbuilder import StrikeTarget, WaypointBuilder
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from game.ato.flight import Flight
|
from .flight import Flight
|
||||||
from game.ato.package import Package
|
from .package import Package
|
||||||
from game.coalition import Coalition
|
from game.coalition import Coalition
|
||||||
from game.threatzones import ThreatZones
|
from game.threatzones import ThreatZones
|
||||||
|
|
||||||
@ -5,7 +5,7 @@ from typing import TYPE_CHECKING
|
|||||||
|
|
||||||
from dcs import Point
|
from dcs import Point
|
||||||
|
|
||||||
from gen.flights.traveltime import TotEstimator
|
from game.ato.traveltime import TotEstimator
|
||||||
from .flightstate import FlightState
|
from .flightstate import FlightState
|
||||||
from ..starttype import StartType
|
from ..starttype import StartType
|
||||||
|
|
||||||
|
|||||||
@ -8,7 +8,7 @@ from game.data.weapons import Pylon, Weapon, WeaponType
|
|||||||
from game.dcs.aircrafttype import AircraftType
|
from game.dcs.aircrafttype import AircraftType
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from game.ato.flight import Flight
|
from .flight import Flight
|
||||||
|
|
||||||
|
|
||||||
class Loadout:
|
class Loadout:
|
||||||
@ -6,12 +6,13 @@ from dataclasses import dataclass, field
|
|||||||
from datetime import timedelta
|
from datetime import timedelta
|
||||||
from typing import Dict, List, Optional, TYPE_CHECKING
|
from typing import Dict, List, Optional, TYPE_CHECKING
|
||||||
|
|
||||||
from game.ato import Flight, FlightType
|
|
||||||
from game.ato.packagewaypoints import PackageWaypoints
|
|
||||||
from game.db import Database
|
from game.db import Database
|
||||||
from game.utils import Speed
|
from game.utils import Speed
|
||||||
from gen.flights.flightplan import FormationFlightPlan
|
from .flight import Flight
|
||||||
from gen.flights.traveltime import TotEstimator
|
from .flightplan import FormationFlightPlan
|
||||||
|
from .flighttype import FlightType
|
||||||
|
from .packagewaypoints import PackageWaypoints
|
||||||
|
from .traveltime import TotEstimator
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from game.theater import MissionTarget
|
from game.theater import MissionTarget
|
||||||
|
|||||||
@ -16,8 +16,8 @@ from game.utils import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from game.ato.flight import Flight
|
from .flight import Flight
|
||||||
from game.ato.package import Package
|
from .package import Package
|
||||||
|
|
||||||
|
|
||||||
class GroundSpeed:
|
class GroundSpeed:
|
||||||
@ -14,8 +14,6 @@ from typing import (
|
|||||||
|
|
||||||
from dcs.mapping import Point
|
from dcs.mapping import Point
|
||||||
|
|
||||||
from game.ato.flightwaypoint import AltitudeReference, FlightWaypoint
|
|
||||||
from game.ato.flightwaypointtype import FlightWaypointType
|
|
||||||
from game.theater import (
|
from game.theater import (
|
||||||
ControlPoint,
|
ControlPoint,
|
||||||
MissionTarget,
|
MissionTarget,
|
||||||
@ -24,12 +22,14 @@ from game.theater import (
|
|||||||
TheaterUnit,
|
TheaterUnit,
|
||||||
)
|
)
|
||||||
from game.utils import Distance, meters, nautical_miles
|
from game.utils import Distance, meters, nautical_miles
|
||||||
|
from .flightwaypoint import AltitudeReference, FlightWaypoint
|
||||||
|
from .flightwaypointtype import FlightWaypointType
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from game.ato.flight import Flight
|
|
||||||
from game.coalition import Coalition
|
from game.coalition import Coalition
|
||||||
from game.transfers import MultiGroupTransport
|
from game.transfers import MultiGroupTransport
|
||||||
from game.theater.theatergroup import TheaterGroup
|
from game.theater.theatergroup import TheaterGroup
|
||||||
|
from .flight import Flight
|
||||||
|
|
||||||
|
|
||||||
@dataclass(frozen=True)
|
@dataclass(frozen=True)
|
||||||
@ -2,14 +2,14 @@ from __future__ import annotations
|
|||||||
|
|
||||||
import itertools
|
import itertools
|
||||||
import random
|
import random
|
||||||
from typing import TYPE_CHECKING, Optional
|
from typing import Optional, TYPE_CHECKING
|
||||||
|
|
||||||
|
from game.ato.flighttype import FlightType
|
||||||
from game.dcs.aircrafttype import AircraftType
|
from game.dcs.aircrafttype import AircraftType
|
||||||
from game.squadrons.operatingbases import OperatingBases
|
from game.squadrons.operatingbases import OperatingBases
|
||||||
from game.squadrons.squadrondef import SquadronDef
|
from game.squadrons.squadrondef import SquadronDef
|
||||||
from game.theater import ControlPoint
|
from game.theater import ControlPoint
|
||||||
from gen.flights.ai_flight_planner_db import aircraft_for_task, tasks_for_aircraft
|
from game.ato.ai_flight_planner_db import aircraft_for_task, tasks_for_aircraft
|
||||||
from game.ato.flighttype import FlightType
|
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from game.factions.faction import Faction
|
from game.factions.faction import Faction
|
||||||
@ -56,7 +56,7 @@ class SquadronDefGenerator:
|
|||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def _make_random_nickname() -> str:
|
def _make_random_nickname() -> str:
|
||||||
from gen.naming import ANIMALS
|
from game.naming import ANIMALS
|
||||||
|
|
||||||
animal = random.choice(ANIMALS)
|
animal = random.choice(ANIMALS)
|
||||||
adjective = random.choice(
|
adjective = random.choice(
|
||||||
|
|||||||
@ -8,7 +8,7 @@ from typing import Iterator, Dict, TYPE_CHECKING
|
|||||||
|
|
||||||
from game.theater import MissionTarget
|
from game.theater import MissionTarget
|
||||||
from game.ato.flighttype import FlightType
|
from game.ato.flighttype import FlightType
|
||||||
from gen.flights.traveltime import TotEstimator
|
from game.ato.traveltime import TotEstimator
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from game.coalition import Coalition
|
from game.coalition import Coalition
|
||||||
|
|||||||
@ -19,7 +19,7 @@ from game.theater.theatergroundobject import (
|
|||||||
NavalGroundObject,
|
NavalGroundObject,
|
||||||
)
|
)
|
||||||
from game.utils import meters, nautical_miles
|
from game.utils import meters, nautical_miles
|
||||||
from gen.flights.closestairfields import ClosestAirfields, ObjectiveDistanceCache
|
from game.ato.closestairfields import ClosestAirfields, ObjectiveDistanceCache
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from game import Game
|
from game import Game
|
||||||
|
|||||||
@ -12,7 +12,7 @@ from ..db.database import Database
|
|||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from game.dcs.aircrafttype import AircraftType
|
from game.dcs.aircrafttype import AircraftType
|
||||||
from game.squadrons.airwing import AirWing
|
from game.squadrons.airwing import AirWing
|
||||||
from gen.flights.closestairfields import ClosestAirfields
|
from game.ato.closestairfields import ClosestAirfields
|
||||||
from .missionproposals import ProposedFlight
|
from .missionproposals import ProposedFlight
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -17,8 +17,8 @@ from game.settings import Settings
|
|||||||
from game.squadrons import AirWing
|
from game.squadrons import AirWing
|
||||||
from game.theater import ConflictTheater
|
from game.theater import ConflictTheater
|
||||||
from game.threatzones import ThreatZones
|
from game.threatzones import ThreatZones
|
||||||
from gen.flights.closestairfields import ObjectiveDistanceCache
|
from game.ato.closestairfields import ObjectiveDistanceCache
|
||||||
from gen.flights.flightplan import FlightPlanBuilder
|
from game.ato.flightplan import FlightPlanBuilder
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from game.ato import Flight
|
from game.ato import Flight
|
||||||
|
|||||||
@ -6,8 +6,8 @@ from typing import TYPE_CHECKING
|
|||||||
|
|
||||||
from game.commander.tasks.theatercommandertask import TheaterCommanderTask
|
from game.commander.tasks.theatercommandertask import TheaterCommanderTask
|
||||||
from game.commander.theaterstate import TheaterState
|
from game.commander.theaterstate import TheaterState
|
||||||
|
from game.ground_forces.combat_stance import CombatStance
|
||||||
from game.theater import FrontLine
|
from game.theater import FrontLine
|
||||||
from gen.ground_forces.combat_stance import CombatStance
|
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from game.coalition import Coalition
|
from game.coalition import Coalition
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
from game.commander.tasks.frontlinestancetask import FrontLineStanceTask
|
from game.commander.tasks.frontlinestancetask import FrontLineStanceTask
|
||||||
from gen.ground_forces.combat_stance import CombatStance
|
from game.ground_forces.combat_stance import CombatStance
|
||||||
|
|
||||||
|
|
||||||
class AggressiveAttack(FrontLineStanceTask):
|
class AggressiveAttack(FrontLineStanceTask):
|
||||||
|
|||||||
@ -2,7 +2,7 @@ from __future__ import annotations
|
|||||||
|
|
||||||
from game.commander.tasks.frontlinestancetask import FrontLineStanceTask
|
from game.commander.tasks.frontlinestancetask import FrontLineStanceTask
|
||||||
from game.commander.theaterstate import TheaterState
|
from game.commander.theaterstate import TheaterState
|
||||||
from gen.ground_forces.combat_stance import CombatStance
|
from game.ground_forces.combat_stance import CombatStance
|
||||||
|
|
||||||
|
|
||||||
class BreakthroughAttack(FrontLineStanceTask):
|
class BreakthroughAttack(FrontLineStanceTask):
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
from game.commander.tasks.frontlinestancetask import FrontLineStanceTask
|
from game.commander.tasks.frontlinestancetask import FrontLineStanceTask
|
||||||
from gen.ground_forces.combat_stance import CombatStance
|
from game.ground_forces.combat_stance import CombatStance
|
||||||
|
|
||||||
|
|
||||||
class DefensiveStance(FrontLineStanceTask):
|
class DefensiveStance(FrontLineStanceTask):
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
from game.commander.tasks.frontlinestancetask import FrontLineStanceTask
|
from game.commander.tasks.frontlinestancetask import FrontLineStanceTask
|
||||||
from gen.ground_forces.combat_stance import CombatStance
|
from game.ground_forces.combat_stance import CombatStance
|
||||||
|
|
||||||
|
|
||||||
class EliminationAttack(FrontLineStanceTask):
|
class EliminationAttack(FrontLineStanceTask):
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
from game.commander.tasks.frontlinestancetask import FrontLineStanceTask
|
from game.commander.tasks.frontlinestancetask import FrontLineStanceTask
|
||||||
from gen.ground_forces.combat_stance import CombatStance
|
from game.ground_forces.combat_stance import CombatStance
|
||||||
|
|
||||||
|
|
||||||
class RetreatStance(FrontLineStanceTask):
|
class RetreatStance(FrontLineStanceTask):
|
||||||
|
|||||||
@ -5,11 +5,12 @@ import itertools
|
|||||||
import math
|
import math
|
||||||
from collections.abc import Iterator
|
from collections.abc import Iterator
|
||||||
from dataclasses import dataclass
|
from dataclasses import dataclass
|
||||||
from typing import Any, Optional, TYPE_CHECKING, Union
|
from typing import Optional, TYPE_CHECKING, Union
|
||||||
|
|
||||||
from game.commander.garrisons import Garrisons
|
from game.commander.garrisons import Garrisons
|
||||||
from game.commander.objectivefinder import ObjectiveFinder
|
from game.commander.objectivefinder import ObjectiveFinder
|
||||||
from game.db import GameDb
|
from game.db import GameDb
|
||||||
|
from game.ground_forces.combat_stance import CombatStance
|
||||||
from game.htn import WorldState
|
from game.htn import WorldState
|
||||||
from game.profiling import MultiEventTracer
|
from game.profiling import MultiEventTracer
|
||||||
from game.settings import Settings
|
from game.settings import Settings
|
||||||
@ -22,7 +23,6 @@ from game.theater.theatergroundobject import (
|
|||||||
VehicleGroupGroundObject,
|
VehicleGroupGroundObject,
|
||||||
)
|
)
|
||||||
from game.threatzones import ThreatZones
|
from game.threatzones import ThreatZones
|
||||||
from gen.ground_forces.combat_stance import CombatStance
|
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from game import Game
|
from game import Game
|
||||||
|
|||||||
@ -15,13 +15,12 @@ from dcs.task import CAP, CAS, PinpointStrike
|
|||||||
from dcs.vehicles import AirDefence
|
from dcs.vehicles import AirDefence
|
||||||
from faker import Faker
|
from faker import Faker
|
||||||
|
|
||||||
|
from game.ground_forces.ai_ground_planner import GroundPlanner
|
||||||
from game.models.game_stats import GameStats
|
from game.models.game_stats import GameStats
|
||||||
from game.plugins import LuaPluginManager
|
from game.plugins import LuaPluginManager
|
||||||
from game.utils import Distance
|
from game.utils import Distance
|
||||||
from gen import naming
|
from game.ato.closestairfields import ObjectiveDistanceCache
|
||||||
from gen.flights.closestairfields import ObjectiveDistanceCache
|
from . import naming, persistency
|
||||||
from gen.ground_forces.ai_ground_planner import GroundPlanner
|
|
||||||
from . import persistency
|
|
||||||
from .ato.flighttype import FlightType
|
from .ato.flighttype import FlightType
|
||||||
from .campaignloader import CampaignAirWingConfig
|
from .campaignloader import CampaignAirWingConfig
|
||||||
from .coalition import Coalition
|
from .coalition import Coalition
|
||||||
|
|||||||
@ -7,11 +7,11 @@ from typing import Dict, List, TYPE_CHECKING
|
|||||||
|
|
||||||
from game.data.units import UnitClass
|
from game.data.units import UnitClass
|
||||||
from game.dcs.groundunittype import GroundUnitType
|
from game.dcs.groundunittype import GroundUnitType
|
||||||
from game.theater import ControlPoint
|
from .combat_stance import CombatStance
|
||||||
from gen.ground_forces.combat_stance import CombatStance
|
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from game import Game
|
from game import Game
|
||||||
|
from game.theater import ControlPoint
|
||||||
|
|
||||||
MAX_COMBAT_GROUP_PER_CP = 10
|
MAX_COMBAT_GROUP_PER_CP = 10
|
||||||
|
|
||||||
@ -1,5 +1,4 @@
|
|||||||
import logging
|
import logging
|
||||||
from datetime import datetime
|
|
||||||
from typing import Any, Optional
|
from typing import Any, Optional
|
||||||
|
|
||||||
from dcs.task import (
|
from dcs.task import (
|
||||||
@ -24,7 +23,7 @@ from dcs.task import (
|
|||||||
from dcs.unitgroup import FlyingGroup
|
from dcs.unitgroup import FlyingGroup
|
||||||
|
|
||||||
from game.ato import Flight, FlightType
|
from game.ato import Flight, FlightType
|
||||||
from gen.flights.flightplan import AwacsFlightPlan, RefuelingFlightPlan
|
from game.ato.flightplan import AwacsFlightPlan, RefuelingFlightPlan
|
||||||
|
|
||||||
|
|
||||||
class AircraftBehavior:
|
class AircraftBehavior:
|
||||||
|
|||||||
@ -21,13 +21,13 @@ from game.missiongenerator.airsupport import AirSupport
|
|||||||
from game.missiongenerator.lasercoderegistry import LaserCodeRegistry
|
from game.missiongenerator.lasercoderegistry import LaserCodeRegistry
|
||||||
from game.radio.radios import RadioRegistry
|
from game.radio.radios import RadioRegistry
|
||||||
from game.radio.tacan import TacanRegistry
|
from game.radio.tacan import TacanRegistry
|
||||||
|
from game.runways import RunwayData
|
||||||
from game.settings import Settings
|
from game.settings import Settings
|
||||||
from game.theater.controlpoint import (
|
from game.theater.controlpoint import (
|
||||||
Airfield,
|
Airfield,
|
||||||
ControlPoint,
|
ControlPoint,
|
||||||
)
|
)
|
||||||
from game.unitmap import UnitMap
|
from game.unitmap import UnitMap
|
||||||
from gen.runways import RunwayData
|
|
||||||
from .aircraftpainter import AircraftPainter
|
from .aircraftpainter import AircraftPainter
|
||||||
from .flightdata import FlightData
|
from .flightdata import FlightData
|
||||||
from .flightgroupconfigurator import FlightGroupConfigurator
|
from .flightgroupconfigurator import FlightGroupConfigurator
|
||||||
|
|||||||
@ -6,13 +6,13 @@ from typing import Optional, TYPE_CHECKING
|
|||||||
|
|
||||||
from dcs.flyingunit import FlyingUnit
|
from dcs.flyingunit import FlyingUnit
|
||||||
|
|
||||||
from gen.callsigns import create_group_callsign_from_unit
|
from game.callsigns import create_group_callsign_from_unit
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from game.ato import FlightType, FlightWaypoint, Package
|
from game.ato import FlightType, FlightWaypoint, Package
|
||||||
from game.dcs.aircrafttype import AircraftType
|
from game.dcs.aircrafttype import AircraftType
|
||||||
from game.radio.radios import RadioFrequency
|
from game.radio.radios import RadioFrequency
|
||||||
from gen.runways import RunwayData
|
from game.runways import RunwayData
|
||||||
|
|
||||||
|
|
||||||
@dataclass(frozen=True)
|
@dataclass(frozen=True)
|
||||||
|
|||||||
@ -11,15 +11,15 @@ from dcs.unit import Skill
|
|||||||
from dcs.unitgroup import FlyingGroup
|
from dcs.unitgroup import FlyingGroup
|
||||||
|
|
||||||
from game.ato import Flight, FlightType
|
from game.ato import Flight, FlightType
|
||||||
|
from game.callsigns import callsign_for_support_unit
|
||||||
from game.data.weapons import Pylon, WeaponType as WeaponTypeEnum
|
from game.data.weapons import Pylon, WeaponType as WeaponTypeEnum
|
||||||
from game.missiongenerator.airsupport import AirSupport, AwacsInfo, TankerInfo
|
from game.missiongenerator.airsupport import AirSupport, AwacsInfo, TankerInfo
|
||||||
from game.missiongenerator.lasercoderegistry import LaserCodeRegistry
|
from game.missiongenerator.lasercoderegistry import LaserCodeRegistry
|
||||||
from game.radio.radios import RadioFrequency, RadioRegistry
|
from game.radio.radios import RadioFrequency, RadioRegistry
|
||||||
from game.radio.tacan import TacanBand, TacanRegistry, TacanUsage
|
from game.radio.tacan import TacanBand, TacanRegistry, TacanUsage
|
||||||
|
from game.runways import RunwayData
|
||||||
from game.squadrons import Pilot
|
from game.squadrons import Pilot
|
||||||
from gen.callsigns import callsign_for_support_unit
|
from game.ato.flightplan import AwacsFlightPlan, RefuelingFlightPlan
|
||||||
from gen.flights.flightplan import AwacsFlightPlan, RefuelingFlightPlan
|
|
||||||
from gen.runways import RunwayData
|
|
||||||
from .aircraftbehavior import AircraftBehavior
|
from .aircraftbehavior import AircraftBehavior
|
||||||
from .aircraftpainter import AircraftPainter
|
from .aircraftpainter import AircraftPainter
|
||||||
from .flightdata import FlightData
|
from .flightdata import FlightData
|
||||||
|
|||||||
@ -15,10 +15,10 @@ from dcs.unitgroup import FlyingGroup, ShipGroup, StaticGroup
|
|||||||
from game.ato import Flight
|
from game.ato import Flight
|
||||||
from game.ato.flightstate import InFlight
|
from game.ato.flightstate import InFlight
|
||||||
from game.ato.starttype import StartType
|
from game.ato.starttype import StartType
|
||||||
|
from game.naming import namegen
|
||||||
from game.theater import Airfield, ControlPoint, Fob, NavalControlPoint, OffMapSpawn
|
from game.theater import Airfield, ControlPoint, Fob, NavalControlPoint, OffMapSpawn
|
||||||
from game.utils import feet, meters
|
from game.utils import feet, meters
|
||||||
from gen.flights.traveltime import GroundSpeed
|
from game.ato.traveltime import GroundSpeed
|
||||||
from gen.naming import namegen
|
|
||||||
|
|
||||||
WARM_START_HELI_ALT = meters(500)
|
WARM_START_HELI_ALT = meters(500)
|
||||||
WARM_START_ALTITUDE = meters(3000)
|
WARM_START_ALTITUDE = meters(3000)
|
||||||
|
|||||||
@ -4,7 +4,7 @@ from dcs.point import MovingPoint
|
|||||||
from dcs.task import EngageTargets, EngageTargetsInZone, Targets
|
from dcs.task import EngageTargets, EngageTargetsInZone, Targets
|
||||||
|
|
||||||
from game.utils import nautical_miles
|
from game.utils import nautical_miles
|
||||||
from gen.flights.flightplan import CasFlightPlan
|
from game.ato.flightplan import CasFlightPlan
|
||||||
from .pydcswaypointbuilder import PydcsWaypointBuilder
|
from .pydcswaypointbuilder import PydcsWaypointBuilder
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -3,7 +3,7 @@ import logging
|
|||||||
from dcs.point import MovingPoint
|
from dcs.point import MovingPoint
|
||||||
from dcs.task import ControlledTask, OptFormation, OrbitAction
|
from dcs.task import ControlledTask, OptFormation, OrbitAction
|
||||||
|
|
||||||
from gen.flights.flightplan import LoiterFlightPlan
|
from game.ato.flightplan import LoiterFlightPlan
|
||||||
from .pydcswaypointbuilder import PydcsWaypointBuilder
|
from .pydcswaypointbuilder import PydcsWaypointBuilder
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -11,7 +11,7 @@ from dcs.task import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
from game.ato import FlightType
|
from game.ato import FlightType
|
||||||
from gen.flights.flightplan import PatrollingFlightPlan
|
from game.ato.flightplan import PatrollingFlightPlan
|
||||||
from .pydcswaypointbuilder import PydcsWaypointBuilder
|
from .pydcswaypointbuilder import PydcsWaypointBuilder
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,7 @@ import logging
|
|||||||
|
|
||||||
from dcs.point import MovingPoint
|
from dcs.point import MovingPoint
|
||||||
|
|
||||||
from gen.flights.flightplan import PatrollingFlightPlan
|
from game.ato.flightplan import PatrollingFlightPlan
|
||||||
from .pydcswaypointbuilder import PydcsWaypointBuilder
|
from .pydcswaypointbuilder import PydcsWaypointBuilder
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -4,7 +4,7 @@ from dcs.point import MovingPoint
|
|||||||
from dcs.task import EngageTargets, OptFormation, Targets
|
from dcs.task import EngageTargets, OptFormation, Targets
|
||||||
|
|
||||||
from game.utils import nautical_miles
|
from game.utils import nautical_miles
|
||||||
from gen.flights.flightplan import SweepFlightPlan
|
from game.ato.flightplan import SweepFlightPlan
|
||||||
from .pydcswaypointbuilder import PydcsWaypointBuilder
|
from .pydcswaypointbuilder import PydcsWaypointBuilder
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
from typing import List, Type, Tuple, TYPE_CHECKING
|
from typing import List, TYPE_CHECKING, Tuple, Type
|
||||||
|
|
||||||
from dcs.mission import Mission, StartType
|
from dcs.mission import Mission, StartType
|
||||||
from dcs.planes import IL_78M, KC130, KC135MPRS, KC_135, PlaneType
|
from dcs.planes import IL_78M, KC130, KC135MPRS, KC_135, PlaneType
|
||||||
@ -15,14 +15,13 @@ from dcs.task import (
|
|||||||
)
|
)
|
||||||
from dcs.unittype import UnitType
|
from dcs.unittype import UnitType
|
||||||
|
|
||||||
from game.utils import Heading
|
from game.callsigns import callsign_for_support_unit
|
||||||
from gen.callsigns import callsign_for_support_unit
|
from game.naming import namegen
|
||||||
from gen.flights.ai_flight_planner_db import AEWC_CAPABLE
|
|
||||||
from gen.naming import namegen
|
|
||||||
from game.radio.radios import RadioRegistry
|
from game.radio.radios import RadioRegistry
|
||||||
from game.radio.tacan import TacanBand, TacanRegistry, TacanUsage
|
from game.radio.tacan import TacanBand, TacanRegistry, TacanUsage
|
||||||
|
from game.utils import Heading
|
||||||
from .airsupport import AirSupport, TankerInfo, AwacsInfo
|
from game.ato.ai_flight_planner_db import AEWC_CAPABLE
|
||||||
|
from .airsupport import AirSupport, AwacsInfo, TankerInfo
|
||||||
from .frontlineconflictdescription import FrontLineConflictDescription
|
from .frontlineconflictdescription import FrontLineConflictDescription
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
|
|||||||
@ -11,17 +11,15 @@ from typing import Dict, List, TYPE_CHECKING
|
|||||||
from dcs.mission import Mission
|
from dcs.mission import Mission
|
||||||
from jinja2 import Environment, FileSystemLoader, select_autoescape
|
from jinja2 import Environment, FileSystemLoader, select_autoescape
|
||||||
|
|
||||||
from game.theater import ControlPoint, FrontLine
|
|
||||||
from game.ato.flightwaypoint import FlightWaypoint
|
from game.ato.flightwaypoint import FlightWaypoint
|
||||||
from gen.ground_forces.combat_stance import CombatStance
|
from game.ground_forces.combat_stance import CombatStance
|
||||||
from game.radio.radios import RadioFrequency
|
from game.radio.radios import RadioFrequency
|
||||||
from gen.runways import RunwayData
|
from game.runways import RunwayData
|
||||||
|
from game.theater import ControlPoint, FrontLine
|
||||||
from .aircraft.flightdata import FlightData
|
from .aircraft.flightdata import FlightData
|
||||||
from .airsupportgenerator import AwacsInfo, TankerInfo
|
from .airsupportgenerator import AwacsInfo, TankerInfo
|
||||||
from .flotgenerator import JtacInfo
|
from .flotgenerator import JtacInfo
|
||||||
|
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from game import Game
|
from game import Game
|
||||||
|
|
||||||
|
|||||||
@ -3,7 +3,7 @@ from __future__ import annotations
|
|||||||
import logging
|
import logging
|
||||||
import math
|
import math
|
||||||
import random
|
import random
|
||||||
from typing import TYPE_CHECKING, List, Optional, Tuple
|
from typing import List, Optional, TYPE_CHECKING, Tuple
|
||||||
|
|
||||||
from dcs import Mission
|
from dcs import Mission
|
||||||
from dcs.action import AITaskPush
|
from dcs.action import AITaskPush
|
||||||
@ -13,9 +13,9 @@ from dcs.mapping import Point
|
|||||||
from dcs.point import PointAction
|
from dcs.point import PointAction
|
||||||
from dcs.task import (
|
from dcs.task import (
|
||||||
AFAC,
|
AFAC,
|
||||||
EPLRS,
|
|
||||||
AttackGroup,
|
AttackGroup,
|
||||||
ControlledTask,
|
ControlledTask,
|
||||||
|
EPLRS,
|
||||||
FAC,
|
FAC,
|
||||||
FireAtPoint,
|
FireAtPoint,
|
||||||
GoToWaypoint,
|
GoToWaypoint,
|
||||||
@ -25,25 +25,24 @@ from dcs.task import (
|
|||||||
SetInvisibleCommand,
|
SetInvisibleCommand,
|
||||||
)
|
)
|
||||||
from dcs.triggers import Event, TriggerOnce
|
from dcs.triggers import Event, TriggerOnce
|
||||||
from dcs.unit import Vehicle, Skill
|
from dcs.unit import Skill, Vehicle
|
||||||
from dcs.unitgroup import VehicleGroup
|
from dcs.unitgroup import VehicleGroup
|
||||||
|
|
||||||
|
from game.callsigns import callsign_for_support_unit
|
||||||
from game.data.units import UnitClass
|
from game.data.units import UnitClass
|
||||||
from game.dcs.aircrafttype import AircraftType
|
from game.dcs.aircrafttype import AircraftType
|
||||||
from game.dcs.groundunittype import GroundUnitType
|
from game.dcs.groundunittype import GroundUnitType
|
||||||
|
from game.ground_forces.ai_ground_planner import (
|
||||||
|
CombatGroup,
|
||||||
|
CombatGroupRole,
|
||||||
|
DISTANCE_FROM_FRONTLINE,
|
||||||
|
)
|
||||||
|
from game.ground_forces.combat_stance import CombatStance
|
||||||
|
from game.naming import namegen
|
||||||
|
from game.radio.radios import RadioRegistry
|
||||||
from game.theater.controlpoint import ControlPoint
|
from game.theater.controlpoint import ControlPoint
|
||||||
from game.unitmap import UnitMap
|
from game.unitmap import UnitMap
|
||||||
from game.utils import Heading
|
from game.utils import Heading
|
||||||
from gen.ground_forces.ai_ground_planner import (
|
|
||||||
DISTANCE_FROM_FRONTLINE,
|
|
||||||
CombatGroup,
|
|
||||||
CombatGroupRole,
|
|
||||||
)
|
|
||||||
from gen.callsigns import callsign_for_support_unit
|
|
||||||
from gen.ground_forces.combat_stance import CombatStance
|
|
||||||
from gen.naming import namegen
|
|
||||||
from game.radio.radios import RadioRegistry
|
|
||||||
|
|
||||||
from .airsupport import AirSupport, JtacInfo
|
from .airsupport import AirSupport, JtacInfo
|
||||||
from .frontlineconflictdescription import FrontLineConflictDescription
|
from .frontlineconflictdescription import FrontLineConflictDescription
|
||||||
from .lasercoderegistry import LaserCodeRegistry
|
from .lasercoderegistry import LaserCodeRegistry
|
||||||
|
|||||||
@ -40,15 +40,14 @@ from game.ato.flightwaypointtype import FlightWaypointType
|
|||||||
from game.data.alic import AlicCodes
|
from game.data.alic import AlicCodes
|
||||||
from game.dcs.aircrafttype import AircraftType
|
from game.dcs.aircrafttype import AircraftType
|
||||||
from game.radio.radios import RadioFrequency
|
from game.radio.radios import RadioFrequency
|
||||||
|
from game.runways import RunwayData
|
||||||
from game.theater import ConflictTheater, LatLon, TheaterGroundObject, TheaterUnit
|
from game.theater import ConflictTheater, LatLon, TheaterGroundObject, TheaterUnit
|
||||||
from game.theater.bullseye import Bullseye
|
from game.theater.bullseye import Bullseye
|
||||||
from game.utils import Distance, UnitSystem, meters, mps, pounds
|
from game.utils import Distance, UnitSystem, meters, mps, pounds
|
||||||
from game.weather import Weather
|
from game.weather import Weather
|
||||||
from gen.runways import RunwayData
|
|
||||||
from .aircraft.flightdata import FlightData
|
from .aircraft.flightdata import FlightData
|
||||||
from .airsupportgenerator import AwacsInfo, TankerInfo
|
from .airsupportgenerator import AwacsInfo, TankerInfo
|
||||||
from .briefinggenerator import CommInfo, JtacInfo, MissionInfoGenerator
|
from .briefinggenerator import CommInfo, JtacInfo, MissionInfoGenerator
|
||||||
from ..dcs.helpers import unit_type_from_name
|
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from game import Game
|
from game import Game
|
||||||
|
|||||||
@ -10,17 +10,17 @@ from dcs import Mission, Point
|
|||||||
from dcs.coalition import Coalition
|
from dcs.coalition import Coalition
|
||||||
from dcs.countries import country_dict
|
from dcs.countries import country_dict
|
||||||
|
|
||||||
|
from game.airfields import AirfieldData
|
||||||
from game.dcs.helpers import unit_type_from_name
|
from game.dcs.helpers import unit_type_from_name
|
||||||
from game.missiongenerator.aircraft.aircraftgenerator import (
|
from game.missiongenerator.aircraft.aircraftgenerator import (
|
||||||
AircraftGenerator,
|
AircraftGenerator,
|
||||||
)
|
)
|
||||||
|
from game.naming import namegen
|
||||||
from game.radio.radios import RadioFrequency, RadioRegistry
|
from game.radio.radios import RadioFrequency, RadioRegistry
|
||||||
from game.radio.tacan import TacanRegistry
|
from game.radio.tacan import TacanRegistry
|
||||||
from game.theater import Airfield, FrontLine
|
from game.theater import Airfield, FrontLine
|
||||||
from game.theater.bullseye import Bullseye
|
from game.theater.bullseye import Bullseye
|
||||||
from game.unitmap import UnitMap
|
from game.unitmap import UnitMap
|
||||||
from gen.airfields import AirfieldData
|
|
||||||
from gen.naming import namegen
|
|
||||||
from .aircraft.flightdata import FlightData
|
from .aircraft.flightdata import FlightData
|
||||||
from .airsupport import AirSupport
|
from .airsupport import AirSupport
|
||||||
from .airsupportgenerator import AirSupportGenerator
|
from .airsupportgenerator import AirSupportGenerator
|
||||||
|
|||||||
@ -43,6 +43,7 @@ from dcs.vehicles import vehicle_map
|
|||||||
|
|
||||||
from game.radio.radios import RadioFrequency, RadioRegistry
|
from game.radio.radios import RadioFrequency, RadioRegistry
|
||||||
from game.radio.tacan import TacanBand, TacanChannel, TacanRegistry, TacanUsage
|
from game.radio.tacan import TacanBand, TacanChannel, TacanRegistry, TacanUsage
|
||||||
|
from game.runways import RunwayData
|
||||||
from game.theater import ControlPoint, TheaterGroundObject, TheaterUnit
|
from game.theater import ControlPoint, TheaterGroundObject, TheaterUnit
|
||||||
from game.theater.theatergroundobject import (
|
from game.theater.theatergroundobject import (
|
||||||
CarrierGroundObject,
|
CarrierGroundObject,
|
||||||
@ -53,7 +54,6 @@ from game.theater.theatergroundobject import (
|
|||||||
from game.theater.theatergroup import SceneryUnit, TheaterGroup
|
from game.theater.theatergroup import SceneryUnit, TheaterGroup
|
||||||
from game.unitmap import UnitMap
|
from game.unitmap import UnitMap
|
||||||
from game.utils import Heading, feet, knots, mps
|
from game.utils import Heading, feet, knots, mps
|
||||||
from gen.runways import RunwayData
|
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from game import Game
|
from game import Game
|
||||||
|
|||||||
@ -7,11 +7,11 @@ from typing import Iterator, Optional, TYPE_CHECKING
|
|||||||
|
|
||||||
from dcs.terrain.terrain import Airport
|
from dcs.terrain.terrain import Airport
|
||||||
|
|
||||||
|
from game.airfields import AirfieldData
|
||||||
from game.radio.radios import RadioFrequency
|
from game.radio.radios import RadioFrequency
|
||||||
from game.radio.tacan import TacanChannel
|
from game.radio.tacan import TacanChannel
|
||||||
from game.utils import Heading
|
from game.utils import Heading
|
||||||
from game.weather import Conditions
|
from game.weather import Conditions
|
||||||
from gen.airfields import AirfieldData
|
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from game.theater import ConflictTheater
|
from game.theater import ConflictTheater
|
||||||
@ -6,7 +6,7 @@ from shapely.geometry import LineString, Point as ShapelyPoint
|
|||||||
from game import Game
|
from game import Game
|
||||||
from game.server import GameContext
|
from game.server import GameContext
|
||||||
from game.server.leaflet import LeafletPoly, ShapelyUtil
|
from game.server.leaflet import LeafletPoly, ShapelyUtil
|
||||||
from gen.flights.flightplan import CasFlightPlan, PatrollingFlightPlan
|
from game.ato.flightplan import CasFlightPlan, PatrollingFlightPlan
|
||||||
|
|
||||||
router: APIRouter = APIRouter(prefix="/flights")
|
router: APIRouter = APIRouter(prefix="/flights")
|
||||||
|
|
||||||
|
|||||||
@ -16,7 +16,7 @@ from game.ato.flightstate import (
|
|||||||
WaitingForStart,
|
WaitingForStart,
|
||||||
)
|
)
|
||||||
from game.ato.starttype import StartType
|
from game.ato.starttype import StartType
|
||||||
from gen.flights.traveltime import TotEstimator
|
from game.ato.traveltime import TotEstimator
|
||||||
from .combat import CombatInitiator, FrozenCombat
|
from .combat import CombatInitiator, FrozenCombat
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
|
|||||||
@ -4,8 +4,8 @@ import logging
|
|||||||
from typing import TYPE_CHECKING
|
from typing import TYPE_CHECKING
|
||||||
|
|
||||||
from game.debriefing import Debriefing
|
from game.debriefing import Debriefing
|
||||||
|
from game.ground_forces.combat_stance import CombatStance
|
||||||
from game.theater import ControlPoint
|
from game.theater import ControlPoint
|
||||||
from gen.ground_forces.combat_stance import CombatStance
|
|
||||||
from ..ato.airtaaskingorder import AirTaskingOrder
|
from ..ato.airtaaskingorder import AirTaskingOrder
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
|
|||||||
@ -5,9 +5,8 @@ from collections import defaultdict
|
|||||||
from typing import Sequence, Iterator, TYPE_CHECKING, Optional
|
from typing import Sequence, Iterator, TYPE_CHECKING, Optional
|
||||||
|
|
||||||
from game.dcs.aircrafttype import AircraftType
|
from game.dcs.aircrafttype import AircraftType
|
||||||
from gen.flights.ai_flight_planner_db import aircraft_for_task
|
from game.ato.ai_flight_planner_db import aircraft_for_task
|
||||||
from gen.flights.closestairfields import ObjectiveDistanceCache
|
from game.ato.closestairfields import ObjectiveDistanceCache
|
||||||
from .squadrondef import SquadronDef
|
|
||||||
from .squadrondefloader import SquadronDefLoader
|
from .squadrondefloader import SquadronDefLoader
|
||||||
from ..campaignloader.squadrondefgenerator import SquadronDefGenerator
|
from ..campaignloader.squadrondefgenerator import SquadronDefGenerator
|
||||||
from ..factions.faction import Faction
|
from ..factions.faction import Faction
|
||||||
|
|||||||
@ -10,7 +10,7 @@ from faker import Faker
|
|||||||
|
|
||||||
from game.ato import Flight, FlightType, Package
|
from game.ato import Flight, FlightType, Package
|
||||||
from game.settings import AutoAtoBehavior, Settings
|
from game.settings import AutoAtoBehavior, Settings
|
||||||
from gen.flights.flightplan import FlightPlanBuilder
|
from game.ato.flightplan import FlightPlanBuilder
|
||||||
from .pilot import Pilot, PilotStatus
|
from .pilot import Pilot, PilotStatus
|
||||||
from ..db.database import Database
|
from ..db.database import Database
|
||||||
from ..utils import meters
|
from ..utils import meters
|
||||||
|
|||||||
@ -62,7 +62,7 @@ class SquadronDef:
|
|||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def from_yaml(cls, path: Path) -> SquadronDef:
|
def from_yaml(cls, path: Path) -> SquadronDef:
|
||||||
from gen.flights.ai_flight_planner_db import tasks_for_aircraft
|
from game.ato.ai_flight_planner_db import tasks_for_aircraft
|
||||||
from game.ato import FlightType
|
from game.ato import FlightType
|
||||||
|
|
||||||
with path.open(encoding="utf8") as squadron_file:
|
with path.open(encoding="utf8") as squadron_file:
|
||||||
|
|||||||
@ -27,13 +27,12 @@ from dcs.ships import Forrestal, KUZNECOW, LHA_Tarawa, Stennis, Type_071
|
|||||||
from dcs.terrain.terrain import Airport, ParkingSlot
|
from dcs.terrain.terrain import Airport, ParkingSlot
|
||||||
from dcs.unitgroup import ShipGroup, StaticGroup
|
from dcs.unitgroup import ShipGroup, StaticGroup
|
||||||
|
|
||||||
from game.dcs.helpers import unit_type_from_name
|
from game.ground_forces.combat_stance import CombatStance
|
||||||
from game.point_with_heading import PointWithHeading
|
from game.point_with_heading import PointWithHeading
|
||||||
|
from game.runways import RunwayAssigner, RunwayData
|
||||||
from game.scenery_group import SceneryGroup
|
from game.scenery_group import SceneryGroup
|
||||||
from game.utils import Heading
|
from game.utils import Heading
|
||||||
from gen.flights.closestairfields import ObjectiveDistanceCache
|
from game.ato.closestairfields import ObjectiveDistanceCache
|
||||||
from gen.ground_forces.combat_stance import CombatStance
|
|
||||||
from gen.runways import RunwayAssigner, RunwayData
|
|
||||||
from .base import Base
|
from .base import Base
|
||||||
from .missiontarget import MissionTarget
|
from .missiontarget import MissionTarget
|
||||||
from .theatergroundobject import (
|
from .theatergroundobject import (
|
||||||
|
|||||||
@ -4,21 +4,20 @@ import logging
|
|||||||
import random
|
import random
|
||||||
from dataclasses import dataclass
|
from dataclasses import dataclass
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from typing import List, Optional
|
from typing import List
|
||||||
|
|
||||||
import dcs.statics
|
import dcs.statics
|
||||||
|
|
||||||
from game import Game
|
from game import Game
|
||||||
from game.factions.faction import Faction
|
from game.factions.faction import Faction
|
||||||
|
from game.naming import namegen
|
||||||
from game.scenery_group import SceneryGroup
|
from game.scenery_group import SceneryGroup
|
||||||
from game.theater import PointWithHeading
|
from game.theater import PointWithHeading
|
||||||
from game.theater.theatergroundobject import (
|
from game.theater.theatergroundobject import (
|
||||||
BuildingGroundObject,
|
BuildingGroundObject,
|
||||||
)
|
)
|
||||||
from .theatergroup import SceneryUnit, TheaterGroup
|
|
||||||
from game.utils import Heading
|
from game.utils import Heading
|
||||||
from game.version import VERSION
|
from game.version import VERSION
|
||||||
from gen.naming import namegen
|
|
||||||
from . import (
|
from . import (
|
||||||
ConflictTheater,
|
ConflictTheater,
|
||||||
ControlPoint,
|
ControlPoint,
|
||||||
@ -26,10 +25,11 @@ from . import (
|
|||||||
Fob,
|
Fob,
|
||||||
OffMapSpawn,
|
OffMapSpawn,
|
||||||
)
|
)
|
||||||
from ..campaignloader.campaignairwingconfig import CampaignAirWingConfig
|
from .theatergroup import SceneryUnit, TheaterGroup
|
||||||
from ..data.groups import GroupRole, GroupTask
|
|
||||||
from ..armedforces.forcegroup import ForceGroup
|
|
||||||
from ..armedforces.armedforces import ArmedForces
|
from ..armedforces.armedforces import ArmedForces
|
||||||
|
from ..armedforces.forcegroup import ForceGroup
|
||||||
|
from ..campaignloader.campaignairwingconfig import CampaignAirWingConfig
|
||||||
|
from ..data.groups import GroupTask
|
||||||
from ..profiling import logged_duration
|
from ..profiling import logged_duration
|
||||||
from ..settings import Settings
|
from ..settings import Settings
|
||||||
|
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
from functools import singledispatchmethod
|
from functools import singledispatchmethod
|
||||||
from typing import Optional, TYPE_CHECKING, Union, Iterable, Any
|
from typing import Optional, TYPE_CHECKING, Union, Iterable
|
||||||
|
|
||||||
from dcs.mapping import Point as DcsPoint
|
from dcs.mapping import Point as DcsPoint
|
||||||
from shapely.geometry import (
|
from shapely.geometry import (
|
||||||
@ -16,7 +16,7 @@ from shapely.ops import nearest_points, unary_union
|
|||||||
from game.data.doctrine import Doctrine
|
from game.data.doctrine import Doctrine
|
||||||
from game.theater import ControlPoint, MissionTarget, TheaterGroundObject
|
from game.theater import ControlPoint, MissionTarget, TheaterGroundObject
|
||||||
from game.utils import Distance, meters, nautical_miles
|
from game.utils import Distance, meters, nautical_miles
|
||||||
from gen.flights.closestairfields import ObjectiveDistanceCache
|
from game.ato.closestairfields import ObjectiveDistanceCache
|
||||||
from game.ato import Flight, FlightWaypoint
|
from game.ato import Flight, FlightWaypoint
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
|
|||||||
@ -45,6 +45,7 @@ from game.ato.flighttype import FlightType
|
|||||||
from game.ato.package import Package
|
from game.ato.package import Package
|
||||||
from game.dcs.aircrafttype import AircraftType
|
from game.dcs.aircrafttype import AircraftType
|
||||||
from game.dcs.groundunittype import GroundUnitType
|
from game.dcs.groundunittype import GroundUnitType
|
||||||
|
from game.naming import namegen
|
||||||
from game.procurement import AircraftProcurementRequest
|
from game.procurement import AircraftProcurementRequest
|
||||||
from game.theater import ControlPoint, MissionTarget
|
from game.theater import ControlPoint, MissionTarget
|
||||||
from game.theater.transitnetwork import (
|
from game.theater.transitnetwork import (
|
||||||
@ -52,10 +53,9 @@ from game.theater.transitnetwork import (
|
|||||||
TransitNetwork,
|
TransitNetwork,
|
||||||
)
|
)
|
||||||
from game.utils import meters, nautical_miles
|
from game.utils import meters, nautical_miles
|
||||||
from gen.flights.ai_flight_planner_db import aircraft_for_task
|
from game.ato.ai_flight_planner_db import aircraft_for_task
|
||||||
from gen.flights.closestairfields import ObjectiveDistanceCache
|
from game.ato.closestairfields import ObjectiveDistanceCache
|
||||||
from gen.flights.flightplan import FlightPlanBuilder
|
from game.ato.flightplan import FlightPlanBuilder
|
||||||
from gen.naming import namegen
|
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from game import Game
|
from game import Game
|
||||||
|
|||||||
@ -21,7 +21,7 @@ from game.sim.gameupdateevents import GameUpdateEvents
|
|||||||
from game.squadrons.squadron import Pilot, Squadron
|
from game.squadrons.squadron import Pilot, Squadron
|
||||||
from game.theater.missiontarget import MissionTarget
|
from game.theater.missiontarget import MissionTarget
|
||||||
from game.transfers import PendingTransfers, TransferOrder
|
from game.transfers import PendingTransfers, TransferOrder
|
||||||
from gen.flights.traveltime import TotEstimator
|
from game.ato.traveltime import TotEstimator
|
||||||
from qt_ui.simcontroller import SimController
|
from qt_ui.simcontroller import SimController
|
||||||
from qt_ui.uiconstants import AIRCRAFT_ICONS
|
from qt_ui.uiconstants import AIRCRAFT_ICONS
|
||||||
|
|
||||||
|
|||||||
@ -14,7 +14,7 @@ from game import Game, persistency
|
|||||||
from game.ato.package import Package
|
from game.ato.package import Package
|
||||||
from game.profiling import logged_duration
|
from game.profiling import logged_duration
|
||||||
from game.utils import meters
|
from game.utils import meters
|
||||||
from gen.flights.traveltime import TotEstimator
|
from game.ato.traveltime import TotEstimator
|
||||||
from qt_ui.models import GameModel
|
from qt_ui.models import GameModel
|
||||||
from qt_ui.simcontroller import SimController
|
from qt_ui.simcontroller import SimController
|
||||||
from qt_ui.widgets.QBudgetBox import QBudgetBox
|
from qt_ui.widgets.QBudgetBox import QBudgetBox
|
||||||
|
|||||||
@ -4,7 +4,7 @@ from typing import Iterable, Type
|
|||||||
from PySide2.QtWidgets import QComboBox
|
from PySide2.QtWidgets import QComboBox
|
||||||
from dcs.unittype import FlyingType
|
from dcs.unittype import FlyingType
|
||||||
|
|
||||||
from gen.flights.ai_flight_planner_db import aircraft_for_task
|
from game.ato.ai_flight_planner_db import aircraft_for_task
|
||||||
from game.ato.flighttype import FlightType
|
from game.ato.flighttype import FlightType
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -10,7 +10,7 @@ from PySide2.QtWidgets import (
|
|||||||
QFrame,
|
QFrame,
|
||||||
)
|
)
|
||||||
|
|
||||||
import gen.flights.ai_flight_planner_db
|
import game.ato.ai_flight_planner_db
|
||||||
from game.dcs.aircrafttype import AircraftType
|
from game.dcs.aircrafttype import AircraftType
|
||||||
from game.dcs.groundunittype import GroundUnitType
|
from game.dcs.groundunittype import GroundUnitType
|
||||||
from game.dcs.unittype import UnitType
|
from game.dcs.unittype import UnitType
|
||||||
@ -105,26 +105,26 @@ class QUnitInfoWindow(QDialog):
|
|||||||
def generateAircraftTasks(self) -> str:
|
def generateAircraftTasks(self) -> str:
|
||||||
aircraft_tasks = ""
|
aircraft_tasks = ""
|
||||||
unit_type = self.unit_type.dcs_unit_type
|
unit_type = self.unit_type.dcs_unit_type
|
||||||
if unit_type in gen.flights.ai_flight_planner_db.CAP_CAPABLE:
|
if unit_type in game.ato.ai_flight_planner_db.CAP_CAPABLE:
|
||||||
aircraft_tasks = (
|
aircraft_tasks = (
|
||||||
aircraft_tasks
|
aircraft_tasks
|
||||||
+ f"{FlightType.BARCAP}, {FlightType.ESCORT}, {FlightType.INTERCEPTION}, {FlightType.SWEEP}, {FlightType.TARCAP}, "
|
+ f"{FlightType.BARCAP}, {FlightType.ESCORT}, {FlightType.INTERCEPTION}, {FlightType.SWEEP}, {FlightType.TARCAP}, "
|
||||||
)
|
)
|
||||||
if unit_type in gen.flights.ai_flight_planner_db.CAS_CAPABLE:
|
if unit_type in game.ato.ai_flight_planner_db.CAS_CAPABLE:
|
||||||
aircraft_tasks = (
|
aircraft_tasks = (
|
||||||
aircraft_tasks
|
aircraft_tasks
|
||||||
+ f"{FlightType.CAS}, {FlightType.BAI}, {FlightType.OCA_AIRCRAFT}, "
|
+ f"{FlightType.CAS}, {FlightType.BAI}, {FlightType.OCA_AIRCRAFT}, "
|
||||||
)
|
)
|
||||||
if unit_type in gen.flights.ai_flight_planner_db.SEAD_CAPABLE:
|
if unit_type in game.ato.ai_flight_planner_db.SEAD_CAPABLE:
|
||||||
aircraft_tasks = aircraft_tasks + f"{FlightType.SEAD}, "
|
aircraft_tasks = aircraft_tasks + f"{FlightType.SEAD}, "
|
||||||
if unit_type in gen.flights.ai_flight_planner_db.DEAD_CAPABLE:
|
if unit_type in game.ato.ai_flight_planner_db.DEAD_CAPABLE:
|
||||||
aircraft_tasks = aircraft_tasks + f"{FlightType.DEAD}, "
|
aircraft_tasks = aircraft_tasks + f"{FlightType.DEAD}, "
|
||||||
if unit_type in gen.flights.ai_flight_planner_db.ANTISHIP_CAPABLE:
|
if unit_type in game.ato.ai_flight_planner_db.ANTISHIP_CAPABLE:
|
||||||
aircraft_tasks = aircraft_tasks + f"{FlightType.ANTISHIP}, "
|
aircraft_tasks = aircraft_tasks + f"{FlightType.ANTISHIP}, "
|
||||||
if unit_type in gen.flights.ai_flight_planner_db.RUNWAY_ATTACK_CAPABLE:
|
if unit_type in game.ato.ai_flight_planner_db.RUNWAY_ATTACK_CAPABLE:
|
||||||
aircraft_tasks = aircraft_tasks + f"{FlightType.OCA_RUNWAY}, "
|
aircraft_tasks = aircraft_tasks + f"{FlightType.OCA_RUNWAY}, "
|
||||||
if unit_type in gen.flights.ai_flight_planner_db.STRIKE_CAPABLE:
|
if unit_type in game.ato.ai_flight_planner_db.STRIKE_CAPABLE:
|
||||||
aircraft_tasks = aircraft_tasks + f"{FlightType.STRIKE}, "
|
aircraft_tasks = aircraft_tasks + f"{FlightType.STRIKE}, "
|
||||||
if unit_type in gen.flights.ai_flight_planner_db.REFUELING_CAPABALE:
|
if unit_type in game.ato.ai_flight_planner_db.REFUELING_CAPABALE:
|
||||||
aircraft_tasks = aircraft_tasks + f"{FlightType.REFUELING}, "
|
aircraft_tasks = aircraft_tasks + f"{FlightType.REFUELING}, "
|
||||||
return aircraft_tasks[:-2]
|
return aircraft_tasks[:-2]
|
||||||
|
|||||||
@ -2,7 +2,7 @@ from PySide2.QtGui import QStandardItem, QIcon
|
|||||||
|
|
||||||
from game.ato.package import Package
|
from game.ato.package import Package
|
||||||
from game.ato.flight import Flight
|
from game.ato.flight import Flight
|
||||||
from gen.flights.traveltime import TotEstimator
|
from game.ato.traveltime import TotEstimator
|
||||||
from qt_ui.uiconstants import AIRCRAFT_ICONS
|
from qt_ui.uiconstants import AIRCRAFT_ICONS
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -19,7 +19,7 @@ from game.ato.flight import Flight
|
|||||||
from game.ato.package import Package
|
from game.ato.package import Package
|
||||||
from game.game import Game
|
from game.game import Game
|
||||||
from game.theater.missiontarget import MissionTarget
|
from game.theater.missiontarget import MissionTarget
|
||||||
from gen.flights.flightplan import FlightPlanBuilder, PlanningError
|
from game.ato.flightplan import FlightPlanBuilder, PlanningError
|
||||||
from qt_ui.models import AtoModel, GameModel, PackageModel
|
from qt_ui.models import AtoModel, GameModel, PackageModel
|
||||||
from qt_ui.uiconstants import EVENT_ICONS
|
from qt_ui.uiconstants import EVENT_ICONS
|
||||||
from qt_ui.widgets.ato import QFlightList
|
from qt_ui.widgets.ato import QFlightList
|
||||||
|
|||||||
@ -7,7 +7,7 @@ from PySide2.QtWidgets import QAbstractItemView, QListView
|
|||||||
from qt_ui.models import GameModel
|
from qt_ui.models import GameModel
|
||||||
from qt_ui.windows.mission.QFlightItem import QFlightItem
|
from qt_ui.windows.mission.QFlightItem import QFlightItem
|
||||||
from game.theater.controlpoint import ControlPoint
|
from game.theater.controlpoint import ControlPoint
|
||||||
from gen.flights.traveltime import TotEstimator
|
from game.ato.traveltime import TotEstimator
|
||||||
|
|
||||||
|
|
||||||
class QPlannedFlightsView(QListView):
|
class QPlannedFlightsView(QListView):
|
||||||
|
|||||||
@ -8,7 +8,7 @@ from PySide2.QtWidgets import (
|
|||||||
|
|
||||||
from game import Game
|
from game import Game
|
||||||
from game.ato.flight import Flight
|
from game.ato.flight import Flight
|
||||||
from gen.flights.loadouts import Loadout
|
from game.ato.loadouts import Loadout
|
||||||
from .QLoadoutEditor import QLoadoutEditor
|
from .QLoadoutEditor import QLoadoutEditor
|
||||||
from .propertyeditor import PropertyEditor
|
from .propertyeditor import PropertyEditor
|
||||||
|
|
||||||
|
|||||||
@ -7,7 +7,7 @@ from PySide2.QtWidgets import QComboBox
|
|||||||
from game import Game
|
from game import Game
|
||||||
from game.data.weapons import Pylon, Weapon
|
from game.data.weapons import Pylon, Weapon
|
||||||
from game.ato.flight import Flight
|
from game.ato.flight import Flight
|
||||||
from gen.flights.loadouts import Loadout
|
from game.ato.loadouts import Loadout
|
||||||
|
|
||||||
|
|
||||||
class QPylonEditor(QComboBox):
|
class QPylonEditor(QComboBox):
|
||||||
|
|||||||
@ -4,8 +4,8 @@ from PySide2.QtWidgets import QGroupBox, QLabel, QMessageBox, QVBoxLayout
|
|||||||
|
|
||||||
from game import Game
|
from game import Game
|
||||||
from game.ato.flight import Flight
|
from game.ato.flight import Flight
|
||||||
from gen.flights.flightplan import FlightPlanBuilder, PlanningError
|
from game.ato.flightplan import FlightPlanBuilder, PlanningError
|
||||||
from gen.flights.traveltime import TotEstimator
|
from game.ato.traveltime import TotEstimator
|
||||||
from qt_ui.models import PackageModel
|
from qt_ui.models import PackageModel
|
||||||
from qt_ui.widgets.QLabeledWidget import QLabeledWidget
|
from qt_ui.widgets.QLabeledWidget import QLabeledWidget
|
||||||
from qt_ui.widgets.combos.QArrivalAirfieldSelector import QArrivalAirfieldSelector
|
from qt_ui.widgets.combos.QArrivalAirfieldSelector import QArrivalAirfieldSelector
|
||||||
|
|||||||
@ -16,13 +16,13 @@ from game.ato.package import Package
|
|||||||
from game.ato.flighttype import FlightType
|
from game.ato.flighttype import FlightType
|
||||||
from game.ato.flightwaypoint import FlightWaypoint
|
from game.ato.flightwaypoint import FlightWaypoint
|
||||||
from game.ato.flight import Flight
|
from game.ato.flight import Flight
|
||||||
from gen.flights.flightplan import (
|
from game.ato.flightplan import (
|
||||||
CustomFlightPlan,
|
CustomFlightPlan,
|
||||||
FlightPlanBuilder,
|
FlightPlanBuilder,
|
||||||
PlanningError,
|
PlanningError,
|
||||||
StrikeFlightPlan,
|
StrikeFlightPlan,
|
||||||
)
|
)
|
||||||
from gen.flights.loadouts import Loadout
|
from game.ato.loadouts import Loadout
|
||||||
from qt_ui.windows.mission.flight.waypoints.QFlightWaypointList import (
|
from qt_ui.windows.mission.flight.waypoints.QFlightWaypointList import (
|
||||||
QFlightWaypointList,
|
QFlightWaypointList,
|
||||||
)
|
)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user