Dedup purchase requests.

Since the theater commander runs once per campaign action, missions that
do not have aircraft available may be checked more than once a turn.
Without deduping requests this can lead to cases where the AI buys
dozens of tankers on turn 0.

Fixes https://github.com/dcs-liberation/dcs_liberation/issues/1470
This commit is contained in:
Dan Albert
2021-08-01 13:09:48 -07:00
parent a3e3e9046f
commit edf95ea9fb
9 changed files with 93 additions and 19 deletions

View File

@@ -9,4 +9,4 @@ class ProtectAirSpace(CompoundTask[TheaterState]):
def each_valid_method(self, state: TheaterState) -> Iterator[Method[TheaterState]]:
for cp, needed in state.barcaps_needed.items():
if needed > 0:
yield [PlanBarcap(cp)]
yield [PlanBarcap(cp, needed)]