Several things related to how selecting a move works in-game.
In-game, you can see the effectiveness of a damaging move on the move select screen. This shows the effectiveness of a move, taking into account the opposing pokemon's type 1 and type 2. It does not take the target's ability into account(this means that it will show Earthquake as hitting Rotom-Heat for SE damage). However, it also does not take an active Illusion into account either, meaning that you can theoretically deduce whether the opposing Pokemon is a Zoroark if the move effectiveness doesn't seem right. For this reason, I'd like to suggest implementing this feature into Showdown, as it affects how an opponent can play around Illusion in metagames where it's relevant(mainly UU and ability-changing OMs).
The other problem is that Struggle is used after selecting the "fight" option in the menu. This means that if you're, say, Taunted, and you have no attacking moves, you won't get the chance to check your own moveset before you're forced into Struggle. Normally this isn't a problem, as you choose your own moves and can see them by going to the "switch" submenu and selecting the mon you have out. However, if you've Transformed into the opposing mon, you can neither see your own moves in the "switch" submenu nor do you know what moves you have at the moment. For this reason, I suggest that if your mon is currently Taunted or if an opponent is Imprisoning some moves, that you have to click the "Fight" button before you can see your own moves.