Fix mission-scheduler bugs wrt BARCAP

- BARCAPs over regular CPs are no longer planned at the same time
- Carriers were planning 1 BARCAP too much if a second wave would be introduced, i.e. (BARCAP-duration / mission-duration) < 1
This commit is contained in:
Raffson 2025-01-25 19:13:55 +01:00
parent 0613c8f423
commit 5db63a2ebf
No known key found for this signature in database
GPG Key ID: B0402B2C9B764D99

View File

@ -73,11 +73,13 @@ class MissionScheduler:
continue continue
is_naval_cp = isinstance(package.target, NavalControlPoint) is_naval_cp = isinstance(package.target, NavalControlPoint)
count = carrier_barcaps[package.target] count = carrier_barcaps[package.target]
if count >= max_carrier_simultaneous_barcaps and is_naval_cp: if count >= max_carrier_simultaneous_barcaps - 1 and is_naval_cp:
previous_cap_end_time[package.target] = departure_time previous_cap_end_time[package.target] = departure_time
carrier_barcaps[package.target] = 0 carrier_barcaps[package.target] = 0
elif isinstance(package.target, NavalControlPoint): elif is_naval_cp:
carrier_barcaps[package.target] += 1 carrier_barcaps[package.target] += 1
elif not is_naval_cp:
previous_cap_end_time[package.target] = departure_time
elif package.auto_asap: elif package.auto_asap:
package.set_tot_asap(now) package.set_tot_asap(now)
elif package.primary_task is FlightType.AEWC: elif package.primary_task is FlightType.AEWC: