mirror of
https://github.com/dcs-liberation/dcs_liberation.git
synced 2025-11-10 14:22:26 +00:00
Adjust tanker speed and altitudes #444
This commit is contained in:
parent
f608cd5aef
commit
4c0fc5a407
@ -1,9 +1,10 @@
|
|||||||
import logging
|
import logging
|
||||||
from dataclasses import dataclass, field
|
from dataclasses import dataclass, field
|
||||||
from typing import List, Type
|
from typing import List, Type, Tuple
|
||||||
|
|
||||||
from dcs.mission import Mission, StartType
|
from dcs.mission import Mission, StartType
|
||||||
from dcs.planes import IL_78M
|
from dcs.planes import IL_78M, KC130, KC135MPRS, KC_135
|
||||||
|
from dcs.unittype import UnitType
|
||||||
from dcs.task import (
|
from dcs.task import (
|
||||||
AWACS,
|
AWACS,
|
||||||
ActivateBeaconCommand,
|
ActivateBeaconCommand,
|
||||||
@ -68,12 +69,23 @@ class AirSupportConflictGenerator:
|
|||||||
def support_tasks(cls) -> List[Type[MainTask]]:
|
def support_tasks(cls) -> List[Type[MainTask]]:
|
||||||
return [Refueling, AWACS]
|
return [Refueling, AWACS]
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def _get_tanker_params(unit_type: Type[UnitType]) -> Tuple[int, int]:
|
||||||
|
if unit_type is KC130:
|
||||||
|
return (TANKER_ALT - 500, 596)
|
||||||
|
elif unit_type is KC_135:
|
||||||
|
return (TANKER_ALT, 770)
|
||||||
|
elif unit_type is KC135MPRS:
|
||||||
|
return (TANKER_ALT + 500, 596)
|
||||||
|
return (TANKER_ALT, 574)
|
||||||
|
|
||||||
def generate(self):
|
def generate(self):
|
||||||
player_cp = self.conflict.from_cp if self.conflict.from_cp.captured else self.conflict.to_cp
|
player_cp = self.conflict.from_cp if self.conflict.from_cp.captured else self.conflict.to_cp
|
||||||
|
|
||||||
fallback_tanker_number = 0
|
fallback_tanker_number = 0
|
||||||
|
|
||||||
for i, tanker_unit_type in enumerate(db.find_unittype(Refueling, self.conflict.attackers_side)):
|
for i, tanker_unit_type in enumerate(db.find_unittype(Refueling, self.conflict.attackers_side)):
|
||||||
|
alt, airspeed = self._get_tanker_params(tanker_unit_type)
|
||||||
variant = db.unit_type_name(tanker_unit_type)
|
variant = db.unit_type_name(tanker_unit_type)
|
||||||
freq = self.radio_registry.alloc_uhf()
|
freq = self.radio_registry.alloc_uhf()
|
||||||
tacan = self.tacan_registry.alloc_for_band(TacanBand.Y)
|
tacan = self.tacan_registry.alloc_for_band(TacanBand.Y)
|
||||||
@ -85,11 +97,11 @@ class AirSupportConflictGenerator:
|
|||||||
airport=None,
|
airport=None,
|
||||||
plane_type=tanker_unit_type,
|
plane_type=tanker_unit_type,
|
||||||
position=tanker_position,
|
position=tanker_position,
|
||||||
altitude=TANKER_ALT,
|
altitude=alt,
|
||||||
race_distance=58000,
|
race_distance=58000,
|
||||||
frequency=freq.mhz,
|
frequency=freq.mhz,
|
||||||
start_type=StartType.Warm,
|
start_type=StartType.Warm,
|
||||||
speed=574,
|
speed=airspeed,
|
||||||
tacanchannel=str(tacan),
|
tacanchannel=str(tacan),
|
||||||
)
|
)
|
||||||
tanker_group.set_frequency(freq.mhz)
|
tanker_group.set_frequency(freq.mhz)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user