mirror of
https://github.com/dcs-retribution/dcs-retribution.git
synced 2025-11-10 15:41:24 +00:00
Fix anti-runway task generation for LGBs.
This commit is contained in:
parent
7303c8fa20
commit
a0fdfa11e2
@ -219,6 +219,7 @@ BAI/ANTISHIP/DEAD/STRIKE/BARCAP/CAS/OCA/AIR-ASSAULT (main) missions
|
|||||||
* **[Data]** Fixed the class of the Samuel Chase so it can't be picked for a AAA or SHORAD site.
|
* **[Data]** Fixed the class of the Samuel Chase so it can't be picked for a AAA or SHORAD site.
|
||||||
* **[Data]** Allow CH-47D, CH-53E and UH-60A to operate from carriers and LHAs.
|
* **[Data]** Allow CH-47D, CH-53E and UH-60A to operate from carriers and LHAs.
|
||||||
* **[Mission Generation]** Restored previous AI behavior for anti-ship missions. A DCS update caused only a single aircraft in a flight to attack. The full flight will now attack like they used to.
|
* **[Mission Generation]** Restored previous AI behavior for anti-ship missions. A DCS update caused only a single aircraft in a flight to attack. The full flight will now attack like they used to.
|
||||||
|
* **[Mission Generation]** Fix generation of OCA Runway missions to allow LGBs to be used.
|
||||||
* **[Plugins]** Fixed Lua errors in Skynet plugin that would occur whenever one coalition had no IADS nodes.
|
* **[Plugins]** Fixed Lua errors in Skynet plugin that would occur whenever one coalition had no IADS nodes.
|
||||||
|
|
||||||
# 8.1.0
|
# 8.1.0
|
||||||
|
|||||||
@ -1,8 +1,14 @@
|
|||||||
import logging
|
import logging
|
||||||
|
|
||||||
from dcs.point import MovingPoint
|
from dcs.point import MovingPoint
|
||||||
from dcs.task import BombingRunway, OptFormation, WeaponType
|
from dcs.task import (
|
||||||
|
Bombing,
|
||||||
|
BombingRunway,
|
||||||
|
OptFormation,
|
||||||
|
WeaponType as DcsWeaponType,
|
||||||
|
)
|
||||||
|
|
||||||
|
from game.data.weapons import WeaponType
|
||||||
from game.theater import Airfield
|
from game.theater import Airfield
|
||||||
from .pydcswaypointbuilder import PydcsWaypointBuilder
|
from .pydcswaypointbuilder import PydcsWaypointBuilder
|
||||||
|
|
||||||
@ -18,10 +24,25 @@ class OcaRunwayIngressBuilder(PydcsWaypointBuilder):
|
|||||||
)
|
)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
# The BombingRunway task in DCS does not use LGBs, which necessitates special handling
|
||||||
|
# by using the Bombing task instead. See https://github.com/dcs-liberation/dcs_liberation/issues/894
|
||||||
|
# for more details.
|
||||||
|
# The LGB work around assumes the Airfield position in DCS is on a runway, which seems
|
||||||
|
# to be the case for most if not all airfields.
|
||||||
|
if self.flight.loadout.has_weapon_of_type(WeaponType.LGB):
|
||||||
|
waypoint.tasks.append(
|
||||||
|
Bombing(
|
||||||
|
position=target.position,
|
||||||
|
group_attack=True,
|
||||||
|
weapon_type=DcsWeaponType.Guided,
|
||||||
|
altitude=waypoint.alt,
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
waypoint.tasks.append(
|
waypoint.tasks.append(
|
||||||
BombingRunway(
|
BombingRunway(
|
||||||
airport_id=target.airport.id,
|
airport_id=target.airport.id,
|
||||||
weapon_type=WeaponType.Guided,
|
weapon_type=DcsWeaponType.Guided,
|
||||||
altitude=waypoint.alt,
|
altitude=waypoint.alt,
|
||||||
group_attack=True,
|
group_attack=True,
|
||||||
)
|
)
|
||||||
@ -29,7 +50,7 @@ class OcaRunwayIngressBuilder(PydcsWaypointBuilder):
|
|||||||
waypoint.tasks.append(
|
waypoint.tasks.append(
|
||||||
BombingRunway(
|
BombingRunway(
|
||||||
airport_id=target.airport.id,
|
airport_id=target.airport.id,
|
||||||
weapon_type=WeaponType.Bombs,
|
weapon_type=DcsWeaponType.Bombs,
|
||||||
group_attack=True,
|
group_attack=True,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user