4 Commits

Author SHA1 Message Date
Raffson
8c8fc7cc26 Changelog updates for v1.2.1 hotfix 2023-07-10 22:26:30 +02:00
Raffson
17211e1597 Include SEAD Sweep in common escorts 2023-07-10 22:26:30 +02:00
Raffson
f76c8a80b5 Restore correct amount of pylons for F16 after ejecting sufa mod 2023-07-10 22:02:12 +02:00
Raffson
7a6ca986db Don't use Python-4 in pydcs_extension
The Python-4 overwrites the AIM-9X, causing issues...
2023-07-10 22:01:50 +02:00
6 changed files with 12 additions and 46 deletions

View File

@@ -1,3 +1,10 @@
# Retribution v1.2.1 (hotfix)
## Fixes
* **[Flight Plans]** SEAD Sweep not being auto-planned
* **[Modding]** Python-4 no longer overwrites AIM-9X
* **[Modding]** Restore original amount of pylons to F-16C when "ejecting" sufa mod
# Retribution v1.2.0
## Features/Improvements

View File

@@ -2,10 +2,10 @@ from __future__ import annotations
import itertools
import operator
import random
from abc import abstractmethod
from dataclasses import dataclass, field
from enum import IntEnum, auto, unique
import random
from typing import Generic, Iterator, Optional, TYPE_CHECKING, TypeVar, Union
from game.ato.flighttype import FlightType
@@ -112,6 +112,7 @@ class PackagePlanningTask(TheaterCommanderTask, Generic[MissionTargetT]):
def propose_common_escorts(self) -> None:
self.propose_flight(FlightType.SEAD_ESCORT, 2, EscortType.Sead)
self.propose_flight(FlightType.ESCORT, 2, EscortType.AirToAir)
self.propose_flight(FlightType.SEAD_SWEEP, 2, EscortType.Sead)
def iter_iads_ranges(
self, state: TheaterState, range_type: RangeType

View File

@@ -1,7 +1,6 @@
from __future__ import annotations
from dataclasses import dataclass
from random import randint
from game.ato.flighttype import FlightType
from game.commander.tasks.packageplanningtask import PackagePlanningTask
@@ -33,3 +32,4 @@ class PlanCas(PackagePlanningTask[FrontLine]):
size = self.get_flight_size()
self.propose_flight(FlightType.CAS, size)
self.propose_flight(FlightType.TARCAP, 2)
self.propose_flight(FlightType.SEAD_SWEEP, 2)

View File

@@ -3,7 +3,6 @@ from __future__ import annotations
from dataclasses import dataclass
from game.ato.flighttype import FlightType
from game.commander.missionproposals import EscortType
from game.commander.tasks.packageplanningtask import PackagePlanningTask
from game.commander.theaterstate import TheaterState
from game.theater.theatergroundobject import IadsGroundObject
@@ -42,7 +41,6 @@ class PlanDead(PackagePlanningTask[IadsGroundObject]):
# needs a decent refactor to the escort planning to do so.
if self.target.has_live_radar_sam:
self.propose_flight(FlightType.SEAD, 2)
self.propose_flight(FlightType.SEAD_ESCORT, 2, EscortType.Sead)
self.propose_flight(FlightType.ESCORT, 2, EscortType.AirToAir)
self.propose_common_escorts()
if self.target.control_point.coalition.game.settings.autoplan_tankers_for_dead:
self.propose_flight(FlightType.REFUELING, 1)

View File

@@ -1,15 +1,9 @@
from dcs.planes import F_15ESE
from pydcs_extensions.pylon_injector import inject_pylon, eject_pylon
from pydcs_extensions.weapon_injector import inject_weapons
class WeaponsF15I:
Python_4_ = {
"clsid": "{5CE2FF2A-645A-4197-B48D-8720AC69394F}",
"name": "Python-4 ",
"weight": 103.6,
}
F_15I_Ra_am_Dome = {
"clsid": "{IDF_MODS_PROJECT_F-15I_Raam_Dome}",
"name": "F-15I Ra'am Dome",
@@ -20,26 +14,6 @@ class WeaponsF15I:
inject_weapons(WeaponsF15I)
class F15IPylon1:
Python_4_ = (1, WeaponsF15I.Python_4_)
# ERRR {Python-4 Training}
class F15IPylon3:
Python_4_ = (3, WeaponsF15I.Python_4_)
# ERRR {Python-4 Training}
class F15IPylon13:
Python_4_ = (13, WeaponsF15I.Python_4_)
# ERRR {Python-4 Training}
class F15IPylon15:
Python_4_ = (15, WeaponsF15I.Python_4_)
# ERRR {Python-4 Training}
class Pylon16:
F_15I_Ra_am_Dome = (16, WeaponsF15I.F_15I_Ra_am_Dome)
@@ -47,25 +21,11 @@ class Pylon16:
def inject_F15I() -> None:
F_15ESE.pylons = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}
# Injects modified weapons from the IDF Mods Project F-16I Sufa
# into pydcs databases via introspection.
inject_pylon(F_15ESE.Pylon1, F15IPylon1)
inject_pylon(F_15ESE.Pylon3, F15IPylon3)
inject_pylon(F_15ESE.Pylon13, F15IPylon13)
inject_pylon(F_15ESE.Pylon15, F15IPylon15)
F_15ESE.Pylon16 = Pylon16
def eject_F15I() -> None:
F_15ESE.pylons = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}
# Injects modified weapons from the IDF Mods Project F-16I Sufa
# into pydcs databases via introspection.
eject_pylon(F_15ESE.Pylon1, F15IPylon1)
eject_pylon(F_15ESE.Pylon3, F15IPylon3)
eject_pylon(F_15ESE.Pylon13, F15IPylon13)
eject_pylon(F_15ESE.Pylon15, F15IPylon15)
if hasattr(F_15ESE, "Pylon16"):
delattr(F_15ESE, "Pylon16")

View File

@@ -392,7 +392,7 @@ def inject_F16I() -> None:
def eject_F16I() -> None:
F_16C_50.pylons = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17}
F_16C_50.pylons = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}
# Injects modified weapons from the IDF Mods Project F-16I Sufa
# into pydcs databases via introspection.