StarCraft II version has been updated to 5.0.14, when I build the ASSIMILATOR, it shows KeyError: 4132, that is, I can't find 4132 in ability_id, please do the update as soon as possible to adapt to the new version, thank you very much!
I think it's because of the increased power of the protoss.
Related to https://github.com/BurnySc2/python-sc2/issues/204 and https://github.com/BurnySc2/python-sc2/pull/207
However noone seems to have mentioned the issue with the id in discord yet. I updated ids in https://github.com/BurnySc2/python-sc2/pull/199 but the id 4132 does not show up.
KeyError: 4132
2024-12-23 19:09:24.843 | INFO | sc2.sc2process:_close_connection:231 - Closing connection at 59296...
2024-12-23 19:09:24.843 | INFO | sc2.sc2process:kill_all:33 - kill_switch: Process cleanup for 1 processes
Traceback (most recent call last):
File "D:\python project\starcraft2\try.py", line 98, in
run_game((maps.get('AutomatonLE')),[Bot(Race.Protoss, WorkerRushBot()),Computer(Race.Protoss, Difficulty.Hard)],realtime=False)
File "D:\anaconda\envs\starcraft2\Lib\site-packages\sc2\main.py", line 496, in run_game
result: Result = asyncio.run(_host_game(map_settings, players, **kwargs))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda\envs\starcraft2\Lib\asyncio\runners.py", line 190, in run
return runner.run(main)
^^^^^^^^^^^^^^^^
File "D:\anaconda\envs\starcraft2\Lib\asyncio\runners.py", line 118, in run
return self._loop.run_until_complete(task)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda\envs\starcraft2\Lib\asyncio\base_events.py", line 654, in run_until_complete
return future.result()
^^^^^^^^^^^^^^^
File "D:\anaconda\envs\starcraft2\Lib\site-packages\sc2\main.py", line 369, in _host_game
result = await _play_game(players[0], client, realtime, portconfig, game_time_limit, rgb_render_config)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda\envs\starcraft2\Lib\site-packages\sc2\main.py", line 226, in _play_game
result = await _play_game_ai(client, player_id, player.ai, realtime, game_time_limit)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda\envs\starcraft2\Lib\site-packages\sc2\main.py", line 196, in _play_game_ai
await run_bot_iteration(iteration) # Main bot loop
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda\envs\starcraft2\Lib\site-packages\sc2\main.py", line 156, in run_bot_iteration
await ai.on_step(iteration)
File "D:\python project\starcraft2\try.py", line 29, in on_step
await self.distribute_workers()
File "D:\anaconda\envs\starcraft2\Lib\site-packages\sc2\bot_ai.py", line 313, in distribute_workers
local_workers = self.workers.filter(
^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda\envs\starcraft2\Lib\site-packages\sc2\units.py", line 479, in filter
return self.subgroup(filter(pred, self))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda\envs\starcraft2\Lib\site-packages\sc2\units.py", line 456, in subgroup
return Units(units, self._bot_object)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda\envs\starcraft2\Lib\site-packages\sc2\units.py", line 30, in init
super().init(units)
File "D:\anaconda\envs\starcraft2\Lib\site-packages\sc2\bot_ai.py", line 314, in
lambda unit: unit.order_target in local_minerals_tags or
^^^^^^^^^^^^^^^^^
File "D:\anaconda\envs\starcraft2\Lib\functools.py", line 1001, in get
val = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "D:\anaconda\envs\starcraft2\Lib\site-packages\sc2\unit.py", line 1034, in order_target
if self.orders:
^^^^^^^^^^^
File "D:\anaconda\envs\starcraft2\Lib\functools.py", line 1001, in get
val = self.func(instance)
^^^^^^^^^^^^^^^^^^^
File "D:\anaconda\envs\starcraft2\Lib\site-packages\sc2\unit.py", line 1028, in orders
return [UnitOrder.from_proto(order, self._bot_object) for order in self._proto.orders]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda\envs\starcraft2\Lib\site-packages\sc2\unit.py", line 1028, in
return [UnitOrder.from_proto(order, self._bot_object) for order in self._proto.orders]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda\envs\starcraft2\Lib\site-packages\sc2\unit.py", line 95, in from_proto
ability=bot_object.game_data.abilities[proto.ability_id],
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
KeyError: 4132,this is m error, you can look it.
This should be fixed now because the ability id exists now
https://github.com/BurnySc2/python-sc2/blob/b9eac3306f2dd1b67df16a8efa63533a16c38719/sc2/ids/ability_id.py#L1390
Please reopen if the issue still exists