From 40bfb6fa8873368a94cafe7827536202966a20b3 Mon Sep 17 00:00:00 2001 From: Vasyl Horbachenko Date: Sun, 9 Sep 2018 23:56:30 +0300 Subject: [PATCH] strike operations fixes --- game/db.py | 1 + gen/aircraft.py | 14 +++++++++----- submodules/dcs | 2 +- ui/eventresultsmenu.py | 6 +++--- userdata/debriefing.py | 5 ++--- 5 files changed, 16 insertions(+), 12 deletions(-) diff --git a/game/db.py b/game/db.py index e04e0ee5..392514a1 100644 --- a/game/db.py +++ b/game/db.py @@ -354,6 +354,7 @@ PLANE_PAYLOAD_OVERRIDES = { A_10C: { CAS: "AGM-65D*2,AGM-65H*2,GBU-12*2,GBU-38*2,AIM-9*2,TGP,ECM,MK151*7", + GroundAttack: "AGM-65K*2,GBU-12*8,AIM-9M*2.ECM,TGP", }, Ka_50: { diff --git a/gen/aircraft.py b/gen/aircraft.py index 52df2c06..457688e5 100644 --- a/gen/aircraft.py +++ b/gen/aircraft.py @@ -84,11 +84,15 @@ class AircraftConflictGenerator: override_loadout = db.PLANE_PAYLOAD_OVERRIDES[unit_type] if type(override_loadout) == dict: if for_task in db.PLANE_PAYLOAD_OVERRIDES[unit_type]: - group.load_loadout(db.PLANE_PAYLOAD_OVERRIDES[unit_type][for_task]) + payload_name = db.PLANE_PAYLOAD_OVERRIDES[unit_type][for_task] + group.load_loadout(payload_name) did_load_loadout = True + logging.info("Loaded overridden payload for {} - {} for task {}".format(unit_type, payload_name, for_task)) elif "*" in db.PLANE_PAYLOAD_OVERRIDES[unit_type]: - group.load_loadout(db.PLANE_PAYLOAD_OVERRIDES[unit_type]["*"]) + payload_name = db.PLANE_PAYLOAD_OVERRIDES[unit_type]["*"] + group.load_loadout(payload_name) did_load_loadout = True + logging.info("Loaded overridden payload for {} - {} for task {}".format(unit_type, payload_name, for_task)) elif issubclass(override_loadout, MainTask): group.load_task_default_loadout(override_loadout) did_load_loadout = True @@ -275,12 +279,12 @@ class AircraftConflictGenerator: escort_until_waypoint = None for name, pos in targets: - waypoint = group.add_waypoint(pos, WARM_START_ALTITUDE, WARM_START_AIRSPEED, self.m.translation.create_string(name)) + waypoint = group.add_waypoint(pos, 0, WARM_START_AIRSPEED, self.m.translation.create_string(name)) if escort_until_waypoint is None: escort_until_waypoint = waypoint - group.task = CAS.name - self._setup_group(group, CAS, client_count) + group.task = GroundAttack.name + self._setup_group(group, GroundAttack, client_count) self.escort_targets.append((group, group.points.index(escort_until_waypoint))) self._rtb_for(group, self.conflict.from_cp, at) diff --git a/submodules/dcs b/submodules/dcs index fae12668..fce769c4 160000 --- a/submodules/dcs +++ b/submodules/dcs @@ -1 +1 @@ -Subproject commit fae126689132d643d317252adfb03184042a0ded +Subproject commit fce769c41d1db9a48d5c264101750510a9db1fcc diff --git a/ui/eventresultsmenu.py b/ui/eventresultsmenu.py index f3341f0e..b611b594 100644 --- a/ui/eventresultsmenu.py +++ b/ui/eventresultsmenu.py @@ -39,9 +39,9 @@ class EventResultsMenu(Menu): if not self.finished: - header("You are clear for takeoff !") + header("You are clear for takeoff!") - label("In DCS, open and play the mission :") + label("In DCS, open and play the mission:") label("liberation_nextturn", "italic") label("or") label("liberation_nextturn_quick", "italic") @@ -78,7 +78,6 @@ class EventResultsMenu(Menu): header("Operation failed", "title-red") header("Player losses") - for unit_type, count in self.player_losses.items(): Label(self.frame, text=db.unit_type_name(unit_type), **STYLES["widget"]).grid(row=row) Label(self.frame, text="{}".format(count), **STYLES["widget"]).grid(column=1, row=row) @@ -89,6 +88,7 @@ class EventResultsMenu(Menu): if self.debriefing.destroyed_objects: Label(self.frame, text="Ground assets", **STYLES["widget"]).grid(row=row) Label(self.frame, text="{}".format(len(self.debriefing.destroyed_objects)), **STYLES["widget"]).grid(column=1, row=row) + row += 1 for unit_type, count in self.enemy_losses.items(): if count == 0: diff --git a/userdata/debriefing.py b/userdata/debriefing.py index 4cce6290..68006696 100644 --- a/userdata/debriefing.py +++ b/userdata/debriefing.py @@ -171,11 +171,10 @@ class Debriefing: for mission_id in self._dead_objects: for group in mission.country(enemy.name).static_group + mission.country(enemy.name).vehicle_group: - if group.id == mission_id: + if mission_id in [x.id for x in group.units]: + logging.info("debriefing: connected id {} to group {}".format(mission_id, str(group.name))) self.destroyed_objects.append(str(group.name)) - self.destroyed_objects += self._dead_defense - def debriefing_directory_location() -> str: return os.path.join(base_path(), "liberation_debriefings")