-Perhaps most importantly, the debug option doesn't seem to work. I checkmark the box outside of battle, but then in-battle the debug button still doesn't do anything, and then when the battle's over I check the options menu and it's unchecked again. Testing individual cards gets really luck dependent without the ability to draw cards until I get the thing I want.
-Beating Emmerich (the guy in front of the lightning club, off to the right) gives you a blank dialogue box after opening the card pack and softlocks you. Same thing happens after getting the lightning medal from beating the boss.
-If you go back and fight Trey again after beating him the first time (the dude you need to fight to be allowed into the lightning club), the game tries to give you two card packs. But instead of opening the first, it goes straight into the second and softlocks.
-Aside from the softlocking, Emmerich had another quirk I noticed where he never makes use of his Drowzee's long-distance hypnosis.
-I see that you made the deck-editing menu able to be scrolled through even when your mouse is on a card, that's good. However it still won't scroll in battles while your mouse is on a card, when you're using something like a Pokeball.
-Speaking of which, the Master Ball doesn't have a top-7-cards restriction, you can just pick a Pokemon from wherever in your deck. It's just a Pokeball without the coin flip!
-The AI doesn't seem very capable of using vending Porygon's conversion2, it probably wanted to change its resistance to water here but instead set it to psychic... when it already resists psychic.
to be fair I have a psychic type on my bench here, but I doubt that's really why the AI did it considering the context. Tried using Vending Porygon myself and Conversion2 worked just fine, so it's an AI problem and not a card problem.
-There was a moment where I used an Oak and tried to attach an energy, and was told I already had attached one that turn when I could've sworn I didn't. I checked the log and almost wrote it off as a bug since there was no record of me attaching an energy, until I realized that while the log reports the AI attaching an energy, it doesn't report when you do it. I try it again, intentionally not attaching an energy before using Oak, and it worked as intended so maybe I just misremembered. Maybe the log should report the player's attaching of energies though.
-Jungle Pidgeot's Hurricane sends the target and all its cards to the discard pile, regardless of whether or not they were knocked out. This happens on both the player's and AI's side. A less game-breaking version of the bug happens if the target IS knocked out, where it zooms across the screen to the discard pile from the opposite corner rather than its actual starting position.
-You should make the cards bigger when opening a pack, so that you can read them. There's plenty of room on the screen above the text box.
-When you lose to this guy, one of his lines is randomly a different font and size than everything else in the game.
-The AI had no reason to not TRY and attack here, it COULD have got 2 heads in a row and done some damage. But instead it just passes its turn.
-Some text cutoffs.
-A typo
-When the AI uses base set Ninetales' lure it never selects a benched Pokemon to switch in, softlocking the game.
-Very questionable AI choice here. He could've given a second energy to Ratticate and attacked, but you see, at the start of the turn that Ratticate was a Rattata. It seems he went through his "attach energies" step before his "evolve Pokemon if possible" step, meaning he instead gave it to that other Rattata on the bench instead.
-And finally, I suggest you add a "confirmation screen" or an "undo" option if you click "clear" on your deck screen. It's very easy to click it on accident when you meant to click "edit".