> I don't know how evolutions, and therefore moveset changes, work in competitive battles.
An evolution / moveset change cannot occur during a competitive battle. Mega-evolving happens in battle but is "evolving" only in name; it's distinct from regular evolution ("Megas" weren't given their own dex number so they have the same as their regular form) and never prompts a new move being learned.
That being said, Z-moves[0] from Gen 7 and Dynamaxing ("Max" and "G-max" moves)[1][2] from Gen 8 could both result in more than four unique moves being used by one mon. With Dynamaxing I believe the maximum would be 7 unique moves given 3 turns each using a different max or g-max move plus any turns using the regular 4 moves in the set.
Interesting - things like extra Dynamaxing moves should therefore be considered part of the initial state that's committed to. Clients could also check to make sure that the Dynamaxing moves aren't being used outside of the 3 turn limit.
I was thinking about this last night before I went to bed (because of course I was) and I realized that the limit could potentially be higher considering moves such as Mirror Move, Copycat, Metronome, and Sketch. Still, each of these moves have their own deterministic[0] ways of working which could still be handled by this protocol.
But Sketch specifically is also counter to the point that "moveset can't be changed after the battle starts". With that move in particular, it technically could be.
[0] Even though it's "random" in the case of Metronome; the random just needs to be agreed upon beforehand.
You're right - as long as one player announces "I'm playing Mirror Move", then it can be verified that the move that actually gets played was valid. The actually played move doesn't have to be in the state committed at the beginning.
Randomness as in the case of Metronome can be decided upon in the same way that other move randomness is handled.
Another complication which you might enjoy thinking about is the move Assist[0]. It will randomly use a move that is known by something else in the party which would be more difficult to prove no shenanigans without revealing any information. It isn't valid to be selected post gen 7 but, e.g., Showdown still has gen 7 (and prior) ladders.
5 comments
[ 3.9 ms ] story [ 36.4 ms ] threadAn evolution / moveset change cannot occur during a competitive battle. Mega-evolving happens in battle but is "evolving" only in name; it's distinct from regular evolution ("Megas" weren't given their own dex number so they have the same as their regular form) and never prompts a new move being learned.
That being said, Z-moves[0] from Gen 7 and Dynamaxing ("Max" and "G-max" moves)[1][2] from Gen 8 could both result in more than four unique moves being used by one mon. With Dynamaxing I believe the maximum would be 7 unique moves given 3 turns each using a different max or g-max move plus any turns using the regular 4 moves in the set.
[0] https://www.serebii.net/sunmoon/zmoves.shtml
[1] https://www.serebii.net/swordshield/maxmoves.shtml
[2] https://www.serebii.net/swordshield/g-maxmoves.shtml
I've updated the post to reflect this - thanks!
I was thinking about this last night before I went to bed (because of course I was) and I realized that the limit could potentially be higher considering moves such as Mirror Move, Copycat, Metronome, and Sketch. Still, each of these moves have their own deterministic[0] ways of working which could still be handled by this protocol.
But Sketch specifically is also counter to the point that "moveset can't be changed after the battle starts". With that move in particular, it technically could be.
[0] Even though it's "random" in the case of Metronome; the random just needs to be agreed upon beforehand.
Randomness as in the case of Metronome can be decided upon in the same way that other move randomness is handled.
[0] https://www.serebii.net/attackdex-sm/assist.shtml