* Linked: Support dynamic turn order after megaevo
The original approach was a minimally invasive hack meant to support
the theoretical yet never playable Doubles/Triples Linked formats.
However, in the playable Singles formats, it had the effect of only
resorting the queue once, before the second player Pokémon moves.
Notably, in a custom format with megaevolutions allowed, the resorting
after mega evolutions are done but before they move was not omitted. In
fact, it could be said that any significant re-sorts were removed.
This commit adds support for proper turn ordering for newly mega-evolved
Pokémon, by implementing a flag specific to Actions for linked 2nd moves,
so that all standard re-sorts before moves are done, while linked 2nd moves
are exempt.
* Linked: Support tracking originalTarget
Implements Propeller Tail, Snipe Shot, and Stalwart,
for compatibility with non-Singles game types.
* Fix Linked last move checks
At some point between af6affb and 045fe456, Linked's concept of
last absolute move changed from using the 2nd move in a link to
using the 1st move, likely in an attempt to preserve the 1st move
information that used to be stored for debugging purposes.
However, the redefinition has impacted the mechanics of Sketch, and
other moves for a long time.
This commit restores the original mechanics, and gets rid of the
last absolute move concept, in favor of the orthodox pokemon.lastMove.
In consequence, all modded data entries that now match gen9 are
also deleted.
* Linked: Fix Grassy Glide priority calculation
`BattlePokedex` is now `Pokedex`, `BattleItems` is now `Items`, etc.
I also renamed `Movedex` to `Moves` and `Statuses` to `Conditions`.
`TypeChart` isn't `Types` yet, because unlike the others, it's not
indexed by ID. That should probably be fixed one day.