New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Gen 8 random battle results in no available moves #20
Comments
Hi Robert, Thanks for bringing that up. I will try to reproduce your issue this evening; I'll keep you posted. From the looks of it, it might be a gen8-related issue. |
The problem comes from gen8 mechanics / specifics. Right now, the project is not compatible with gen 8. However, gen8 compatibility is part of the roadmap. |
@hsahovic I'm happy to help out if required. |
Sure, that'd be awesome! There are two main things to do:
For a more precise list:
I am available to discuss things more in-depth / answer questions if you want - let me know if that would be helpful. |
So after some testing:
Otherwise, the logic seems reasonable to deal with:
I'll keep working on this in my spare time, have exams soon so not for the next 2 weeks. |
Hi, the upstream issue that you mentioned has been fixed here. I still don't understand how does it select a max move not based off of the original move/index as you can have multiple "base" moves resulting in the same max move, eg. Trick Room and Protect turning into Max Guard. While it doesn't seem to matter that much, the difference is that max moves and base moves share PP, so it's often better to select the one with higher PP if the effect is the same for both moves. Either way, I'll start looking into gen 8 support as well in the following days. I'll open a PR once I get something done. |
This issue should be fixed by version 0.3.0, which includes support for gen 8 single formats :) |
I've added print messages to the "choose_move", and an example returned object is:
{'_battle_tag': 'battle-gen8randombattle-90', '_opponent_username': 'Player 1', '_player_role': 'p2', '_player_username': 'Player 2', '_players': [{'username': 'Player 1', 'player': 'p1', 'avatar': '2', 'rating': ''}, {'username': 'Player 2', 'player': 'p2', 'avatar': '1', 'rating': ''}], 'logger': <Logger Player 2 (WARNING)>, '_available_moves': [], '_available_switches': [], '_can_mega_evolve': False, '_can_z_move': False, '_force_switch': False, '_in_team_preview': False, '_maybe_trapped': False, '_trapped': False, '_force_swap': False, '_wait': False, '_finished': False, '_rqid': 3, '_rules': ['Species Clause: Limit one of each Pokémon', 'HP Percentage Mod: HP is shown in percentages', 'Sleep Clause Mod: Limit one foe put to sleep'], '_turn': 1, '_won': None, '_weather': None, '_fields': set(), '_side_conditions': set(), '_opponent_side_conditions': set(), '_team': {'p2: Octillery': Octillery (pokemon object) , 'p2: Manectric': Manectric (pokemon object) }, '_opponent_team': {'p1: Glaceon': Glaceon (pokemon object) }}
As you can see available_moves, available_switches are both empty.
I have also attempted to set log_level="DEBUG" for one player, and the output is debug.txt
I will attempt to debug this, but do you have any idea where this might be going wrong (maybe in the message parsing?)
The text was updated successfully, but these errors were encountered: