diff --git a/changelog.md b/changelog.md index dd3dccbf..29b10116 100644 --- a/changelog.md +++ b/changelog.md @@ -234,6 +234,7 @@ BAI/ANTISHIP/DEAD/STRIKE/BARCAP/CAS/OCA/AIR-ASSAULT (main) missions * **[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. * **[Mission Generation]** Fixed AI flights flying far too slowly toward NAV points. +* **[Mission Generation]** Fixed "division by zero" error on mission generation when a flight has an "In-Flight" start type and starts on top of a mission waypoint. * **[Modding]** Unit variants can now actually override base unit type properties. * **[Plugins]** Fixed Lua errors in Skynet plugin that would occur whenever one coalition had no IADS nodes. * **[UI]** Fixed deleting waypoints in custom flight plans deleting the wrong waypoint. diff --git a/game/ato/flightstate/navigating.py b/game/ato/flightstate/navigating.py index 44603205..3932dbf3 100644 --- a/game/ato/flightstate/navigating.py +++ b/game/ato/flightstate/navigating.py @@ -29,6 +29,11 @@ class Navigating(InFlight): events.update_flight_position(self.flight, self.estimate_position()) def progress(self) -> float: + # if next waypoint is very close, assume we reach it immediately to avoid divide + # by zero error + if self.total_time_to_next_waypoint.total_seconds() < 1: + return 1.0 + return ( self.elapsed_time.total_seconds() / self.total_time_to_next_waypoint.total_seconds()