pmariglia / showdown

A Pokemon Showdown Battle Bot written in Python
GNU General Public License v3.0
256 stars 175 forks source link

bug #142

Closed SomeRandomGuy009 closed 1 year ago

SomeRandomGuy009 commented 1 year ago

Traceback (most recent call last): File "/workspaces/showdown/run.py", line 93, in asyncio.get_event_loop().run_until_complete(showdown()) File "/home/somerandomguy/.python/current/lib/python3.10/asyncio/base_events.py", line 646, in run_until_complete return future.result() File "/workspaces/showdown/run.py", line 78, in showdown winner = await pokemon_battle(ps_websocket_client, ShowdownConfig.pokemon_mode) File "/workspaces/showdown/showdown/run_battle.py", line 217, in pokemon_battle best_move = await async_pick_move(battle) File "/workspaces/showdown/showdown/run_battle.py", line 37, in async_pick_move best_move = await loop.run_in_executor( File "/home/somerandomguy/.python/current/lib/python3.10/concurrent/futures/thread.py", line 58, in run result = self.fn(*self.args, **self.kwargs) File "/workspaces/showdown/showdown/battle_bots/team_datasets/main.py", line 191, in find_best_move return format_decision(self, safest_move) File "/workspaces/showdown/showdown/battle_bots/helpers.py", line 42, in format_decision if battle.user.active.get_move(decision).can_z: AttributeError: 'NoneType' object has no attribute 'can_z'

SomeRandomGuy009 commented 1 year ago

has happened only once. If this didn't happen, the bot would have been in top 500s gen9 ou, most likely the 70th battle

pmariglia commented 1 year ago

Thanks for the report @SomeRandomGuy009, that's great to hear about the performance.

Unfortunately, gen9 isn't completely supported yet so stuff like this is bound to happen while I figure out all of the issues. Do you have the logs leading up to this crash? Or at least the teams that were used in this battle? Unfortunately I can't do much just based on this error.

SomeRandomGuy009 commented 1 year ago

Thanks for the report @SomeRandomGuy009, that's great to hear about the performance.

Unfortunately, gen9 isn't completely supported yet so stuff like this is bound to happen while I figure out all of the issues. Do you have the logs leading up to this crash? Or at least the teams that were used in this battle? Unfortunately I can't do much just based on this error.

Thanks. The team i used is in the example gen 9 team PR

SomeRandomGuy009 commented 1 year ago

Sadly, no logs.

SomeRandomGuy009 commented 1 year ago

same thing happened again. here is the battle id.

https://replay.pokemonshowdown.com/gen9ou-1749317693 Iris0 is the bot btw

and last message before crash was this: [DEBUG] Safest: splash, 817.0

pmariglia commented 1 year ago

Thanks for the additional info. I'll try to reproduce when I get a chance.

pmariglia commented 1 year ago

Looking at that battle it seems likely that this is because of Revival Blessing - something that has not been implemented yet.

To know for sure I'd need a more complete log from the bot - probably the last several lines, especially the one that spits out the state the bot thinks it is searching through before and after revival blessing is used.

Regardless, implementing revival blessing is something that needs to be done for gen9 compatibility.

pmariglia commented 1 year ago

b47c9fcd18faaebe653613ea2cba2b15886259d2 implements revivalblessing parsing for when the opponent uses the move.

If this was the cause of the crash it should be fixed. I'll leave this issue open for a little while - please add another comment if you see this issue happen again.

SomeRandomGuy009 commented 1 year ago

Thanks, I'll check and let you know

SomeRandomGuy009 commented 1 year ago

Works without any issues. Looks like the bug has been fixed.

pmariglia commented 1 year ago

Thanks. I'll close this for now.