Merge remote-tracking branch 'remotes/dcs-retribution/dcs-retribution/dev' into pretense-generator

This commit is contained in:
MetalStormGhost
2024-07-05 12:06:53 +03:00
111 changed files with 2645 additions and 500 deletions

View File

@@ -19,6 +19,7 @@ from game.radio.RadioFrequencyContainer import RadioFrequencyContainer
from game.radio.TacanContainer import TacanContainer
from game.server import EventStream
from game.sim import GameUpdateEvents
from game.sim.missionresultsprocessor import MissionResultsProcessor
from game.theater import (
AMMO_DEPOT_FRONTLINE_UNIT_CONTRIBUTION,
ControlPoint,
@@ -158,7 +159,8 @@ class QBaseMenu2(QDialog):
transfer_button.clicked.connect(self.open_transfer_dialog)
if self.cheat_capturable:
capture_button = QPushButton("CHEAT: Capture")
label = "Sink/Resurrect" if self.cp.is_fleet else "Capture"
capture_button = QPushButton(f"CHEAT: {label}")
capture_button.setProperty("style", "btn-danger")
bottom_row.addWidget(capture_button)
capture_button.clicked.connect(self.cheat_capture)
@@ -180,9 +182,23 @@ class QBaseMenu2(QDialog):
def cheat_capture(self) -> None:
events = GameUpdateEvents()
self.cp.capture(self.game_model.game, events, for_player=not self.cp.captured)
if self.cp.is_fleet:
for go in self.cp.ground_objects:
if go.is_naval_control_point:
if go.alive_unit_count > 0:
for u in go.units:
u.kill(events)
else:
for u in go.units:
u.revive(events)
else:
self.cp.capture(
self.game_model.game, events, for_player=not self.cp.captured
)
mrp = MissionResultsProcessor(self.game_model.game)
mrp.redeploy_units(self.cp)
# Reinitialized ground planners and the like. The ATO needs to be reset because
# missions planned against the flipped base are no longer valid.
# missions planned against the flipped base (or killed carrier) are no longer valid.
self.game_model.game.initialize_turn(events)
EventStream.put_nowait(events)
GameUpdateSignal.get_instance().updateGame(self.game_model.game)

View File

@@ -92,6 +92,7 @@ class NewGameWizard(QtWidgets.QWizard):
a4_skyhawk=self.field("a4_skyhawk"),
a6a_intruder=self.field("a6a_intruder"),
a7e_corsair2=self.field("a7e_corsair2"),
ea6b_prowler=self.field("ea6b_prowler"),
f4bc_phantom=self.field("f4bc_phantom"),
f15d_baz=self.field("f15d_baz"),
f_15_idf=self.field("f_15_idf"),
@@ -109,6 +110,7 @@ class NewGameWizard(QtWidgets.QWizard):
uh_60l=self.field("uh_60l"),
jas39_gripen=self.field("jas39_gripen"),
super_etendard=self.field("super_etendard"),
su15_flagon=self.field("su15_flagon"),
su30_flanker_h=self.field("su30_flanker_h"),
su57_felon=self.field("su57_felon"),
ov10a_bronco=self.field("ov10a_bronco"),

View File

@@ -94,6 +94,8 @@ class GeneratorOptions(QtWidgets.QWizardPage):
self.registerField("a6a_intruder", self.a6a_intruder)
self.a7e_corsair2 = QtWidgets.QCheckBox()
self.registerField("a7e_corsair2", self.a7e_corsair2)
self.ea6b_prowler = QtWidgets.QCheckBox()
self.registerField("ea6b_prowler", self.ea6b_prowler)
self.hercules = QtWidgets.QCheckBox()
self.registerField("hercules", self.hercules)
self.uh_60l = QtWidgets.QCheckBox()
@@ -128,6 +130,8 @@ class GeneratorOptions(QtWidgets.QWizardPage):
self.registerField("jas39_gripen", self.jas39_gripen)
self.super_etendard = QtWidgets.QCheckBox()
self.registerField("super_etendard", self.super_etendard)
self.su15_flagon = QtWidgets.QCheckBox()
self.registerField("su15_flagon", self.su15_flagon)
self.su30_flanker_h = QtWidgets.QCheckBox()
self.registerField("su30_flanker_h", self.su30_flanker_h)
self.su57_felon = QtWidgets.QCheckBox()
@@ -160,6 +164,7 @@ class GeneratorOptions(QtWidgets.QWizardPage):
("A-6A Intruder (v2.7.5.01)", self.a6a_intruder),
("A-7E Corsair II", self.a7e_corsair2),
("C-130J-30 Super Hercules (v6.8.2)", self.hercules),
("EA-6B Prowler (v2.9.4.102)", self.ea6b_prowler),
("F-100 Super Sabre (v2.7.18.30765 patch 20.10.22)", self.f100_supersabre),
("F-104 Starfighter (v2.7.11.222.01)", self.f104_starfighter),
("F-105 Thunderchief (v2.7.12.23x)", self.f105_thunderchief),
@@ -180,6 +185,7 @@ class GeneratorOptions(QtWidgets.QWizardPage):
("OV-10A Bronco", self.ov10a_bronco),
("Spanish Naval Assets pack (desdemicabina 3.2.0)", self.spanishnavypack),
("Star Wars Modpack 2.54+", self.SWPack),
("Su-15 Flagon (v1.0)", self.su15_flagon),
("Su-30 Flanker-H (V2.7.3 beta)", self.su30_flanker_h),
("Su-57 Felon (build-04)", self.su57_felon),
("Super Étendard (v2.5.5)", self.super_etendard),
@@ -225,6 +231,7 @@ class GeneratorOptions(QtWidgets.QWizardPage):
self.a4_skyhawk.setChecked(s.get("a4_skyhawk", False))
self.a6a_intruder.setChecked(s.get("a6a_intruder", False))
self.a7e_corsair2.setChecked(s.get("a7e_corsair2", False))
self.ea6b_prowler.setChecked(s.get("ea6b_prowler", False))
self.hercules.setChecked(s.get("hercules", False))
self.uh_60l.setChecked(s.get("uh_60l", False))
self.f4bc_phantom.setChecked(s.get("f4bc_phantom", False))