Tanabata Jirachi has an underleveled move (illegal), so we have to track
some data. Move LegalityCheck back into LegalityAnalysis, but in a
separate file still.
Moved to checks
Returns why it's invalid
Added base egg move checks -- all eggs need level1 moves, can only be
pushed out. The move table acts as a sliding window; grab a list of
level1 moves, tack on relearn moves, then observe window view (last 4).
Added egg met level check
Hooked up all the methods and can spit out if invalid.
I plan to put a legality indication where QR! was, but the legality
analysis needs more checks (moves, ability, nickname, ball, fateful...
you get it) and stability.
Have fun playing with the initial legality checks 😄
calling getEncounterSlots(pk6) yields a list of locations and valid
slots for given input pk6.
For later use in suggestion of legal values.
Flexible enough for future fetch of past gen, but I doubt I'd ever be
motivated enough to implement past gen checks.
Fix getValidPreEvolutions not decrementing level (the evo level is the
actual value, not 1 for levelup.
Did some performance analysis and optimized a little; the Valid Moves
are now only obtained once instead of 4 times in a loop; used a list to
hold the moves instead of constantly ToArray() which is a little
computation intensive.