Dentosal / python-sc2

A StarCraft II bot api client library for Python 3
MIT License
588 stars 182 forks source link

Error on max() of empty set when assigning workers. #304

Open ErkCurley opened 5 years ago

ErkCurley commented 5 years ago

In the bot_ai line 386:

target_mineral = max(local_minerals, key=lambda mineral: mineral.mineral_contents)

When the worker runs out of gas at an extraction site it will look for a mineral site to mine from. If none are available the program crashes because it will return an empty set to find the max of.

A simple fix is adding a check for an empty set prior to calling the max function:
if local_minerals: