mirror of
https://github.com/dcs-retribution/dcs-retribution.git
synced 2025-11-10 15:41:24 +00:00
Merge remote-tracking branch 'khopa/develop' into helipads
This commit is contained in:
26
game/db.py
26
game/db.py
@@ -129,19 +129,6 @@ from dcs.ships import (
|
||||
Tanker_Elnya_160,
|
||||
ship_map,
|
||||
)
|
||||
from dcs.task import (
|
||||
AWACS,
|
||||
CAP,
|
||||
CAS,
|
||||
CargoTransportation,
|
||||
Embarking,
|
||||
MainTask,
|
||||
Nothing,
|
||||
PinpointStrike,
|
||||
Reconnaissance,
|
||||
Refueling,
|
||||
Transport,
|
||||
)
|
||||
from dcs.terrain.terrain import Airport
|
||||
from dcs.unit import Ship, Unit, Vehicle
|
||||
from dcs.unitgroup import ShipGroup, StaticGroup
|
||||
@@ -150,7 +137,6 @@ from dcs.vehicles import (
|
||||
AirDefence,
|
||||
Armor,
|
||||
Artillery,
|
||||
Carriage,
|
||||
Infantry,
|
||||
Unarmed,
|
||||
vehicle_map,
|
||||
@@ -164,6 +150,7 @@ from game.factions.faction_loader import FactionLoader
|
||||
from pydcs_extensions.a4ec.a4ec import A_4E_C
|
||||
from pydcs_extensions.f22a.f22a import F_22A
|
||||
from pydcs_extensions.hercules.hercules import Hercules
|
||||
from pydcs_extensions.jas39.jas39 import JAS39Gripen, JAS39Gripen_AG
|
||||
from pydcs_extensions.mb339.mb339 import MB_339PAN
|
||||
from pydcs_extensions.su57.su57 import Su_57
|
||||
|
||||
@@ -174,6 +161,8 @@ plane_map["F-22A"] = F_22A
|
||||
plane_map["MB-339PAN"] = MB_339PAN
|
||||
plane_map["Su-57"] = Su_57
|
||||
plane_map["Hercules"] = Hercules
|
||||
plane_map["JAS39Gripen"] = JAS39Gripen
|
||||
plane_map["JAS39Gripen_AG"] = JAS39Gripen_AG
|
||||
|
||||
vehicle_map["FieldHL"] = frenchpack._FIELD_HIDE
|
||||
vehicle_map["HARRIERH"] = frenchpack._FIELD_HIDE_SMALL
|
||||
@@ -405,6 +394,7 @@ PRICES = {
|
||||
F_22A: 40,
|
||||
Tornado_IDS: 20,
|
||||
Tornado_GR4: 20,
|
||||
JAS39Gripen: 26,
|
||||
# bomber
|
||||
Su_17M4: 10,
|
||||
Su_25: 15,
|
||||
@@ -418,6 +408,7 @@ PRICES = {
|
||||
A_10C: 22,
|
||||
A_10C_2: 24,
|
||||
S_3B: 10,
|
||||
JAS39Gripen_AG: 26,
|
||||
# heli
|
||||
Ka_50: 13,
|
||||
SA342M: 8,
|
||||
@@ -560,6 +551,12 @@ PRICES = {
|
||||
Armor.Car_Daimler_Armored: 8,
|
||||
Armor.LT_Mk_VII_Tetrarch: 8,
|
||||
Unarmed.Tractor_M4_Hi_Speed: 2,
|
||||
Unarmed.Carrier_Sd_Kfz_7_Tractor: 1,
|
||||
Unarmed.LUV_Kettenrad: 1,
|
||||
Unarmed.LUV_Kubelwagen_82: 1,
|
||||
Unarmed.Truck_Opel_Blitz: 1,
|
||||
Unarmed.Truck_Bedford: 1,
|
||||
Unarmed.Truck_GMC_Jimmy_6x6_Truck: 1,
|
||||
# ship
|
||||
CV_1143_5_Admiral_Kuznetsov: 100,
|
||||
CVN_74_John_C__Stennis: 100,
|
||||
@@ -801,6 +798,7 @@ CARRIER_CAPABLE = [
|
||||
Su_33,
|
||||
A_4E_C,
|
||||
S_3B,
|
||||
S_3B_Tanker,
|
||||
E_2C,
|
||||
UH_1H,
|
||||
Mi_8MT,
|
||||
|
||||
@@ -167,7 +167,9 @@ class Faction:
|
||||
faction.awacs = load_all_aircraft(json.get("awacs", []))
|
||||
faction.tankers = load_all_aircraft(json.get("tankers", []))
|
||||
|
||||
faction.aircrafts = list(set(faction.aircrafts + faction.awacs))
|
||||
faction.aircrafts = list(
|
||||
set(faction.aircrafts + faction.awacs + faction.tankers)
|
||||
)
|
||||
|
||||
faction.frontline_units = load_all_vehicles(json.get("frontline_units", []))
|
||||
faction.artillery_units = load_all_vehicles(json.get("artillery_units", []))
|
||||
|
||||
@@ -375,6 +375,7 @@ class Operation:
|
||||
cls.game.settings,
|
||||
cls.game,
|
||||
cls.radio_registry,
|
||||
cls.tacan_registry,
|
||||
cls.unit_map,
|
||||
air_support=cls.airsupportgen.air_support,
|
||||
)
|
||||
@@ -399,6 +400,7 @@ class Operation:
|
||||
@classmethod
|
||||
def _generate_ground_conflicts(cls) -> None:
|
||||
"""For each frontline in the Operation, generate the ground conflicts and JTACs"""
|
||||
cls.jtacs = []
|
||||
for front_line in cls.game.theater.conflicts():
|
||||
player_cp = front_line.blue_cp
|
||||
enemy_cp = front_line.red_cp
|
||||
|
||||
@@ -44,6 +44,7 @@ class Settings:
|
||||
automate_aircraft_reinforcements: bool = False
|
||||
restrict_weapons_by_date: bool = False
|
||||
disable_legacy_aewc: bool = True
|
||||
disable_legacy_tanker: bool = True
|
||||
generate_dark_kneeboard: bool = False
|
||||
invulnerable_player_pilots: bool = True
|
||||
auto_ato_behavior: AutoAtoBehavior = AutoAtoBehavior.Default
|
||||
|
||||
@@ -850,6 +850,7 @@ class Airfield(ControlPoint):
|
||||
if self.is_friendly(for_player):
|
||||
yield from [
|
||||
FlightType.AEWC,
|
||||
FlightType.REFUELING,
|
||||
# TODO: FlightType.INTERCEPTION
|
||||
# TODO: FlightType.LOGISTICS
|
||||
]
|
||||
@@ -999,7 +1000,10 @@ class Carrier(NavalControlPoint):
|
||||
|
||||
yield from super().mission_types(for_player)
|
||||
if self.is_friendly(for_player):
|
||||
yield FlightType.AEWC
|
||||
yield from [
|
||||
FlightType.AEWC,
|
||||
FlightType.REFUELING,
|
||||
]
|
||||
|
||||
def capture(self, game: Game, for_player: bool) -> None:
|
||||
raise RuntimeError("Carriers cannot be captured")
|
||||
|
||||
@@ -81,6 +81,7 @@ class FrontLine(MissionTarget):
|
||||
yield from [
|
||||
FlightType.CAS,
|
||||
FlightType.AEWC,
|
||||
FlightType.REFUELING
|
||||
# TODO: FlightType.TROOP_TRANSPORT
|
||||
# TODO: FlightType.EVAC
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user