changes IV3 to faster variant used elsewhere,
sort properties alphabetically,
simplify 'any' intersection,
un-duplicate database filtering
un-duplicate box/folder per-pkm processing
-25 lines, a little bit of reorganization since the form has grown since
its initial inception
Closes#842
Adds in ability for custom properties
Suggestables are called via $suggest
Only properties supported are Met_Location, Moves, and RelearnMoves
Geolocation data cleared when converting 6->7
this tradebank/georegion apply happens first but don't modify the pk6.
all that matters is that we do this before the clearing
use last char of file extension if available. edge case for pk[m]
considered:
pk[m] => 0x6D, -0x30 = 61d, &7 = 5, which prefers 6 instead of 7+ :)
adds a check for transferred pkm not having their CurrentHandler being
flagged as the save file (impossible for a transferred PKM to be still
handled by the OT).
Evolution stone pkm at level 1 slipped through (example Ninetails) while
levelup evos were already caught. Add the check to getValidPreEvolutions
as well as other evolution method checks.
Closes#827
Thought it'd be good to add a way to generate a TID/SID based on desired
G7TID. Using code from my repo at
https://github.com/ReignOfComputer/Reverse-G7TID-Calculator, thanks to
@PP-theSLAYER and @SciresM. For your consideration to add :)
Closes#814 thanks @JortonMV !
Closes#818 thanks @egzonqj !
(both were instrumental in regards to this commit, much appreciated)
Refactors to move the slot image generation per the save file to an
extension method, instead of having 4 methods (2 in main, getQuickFiller
& getSlotFiller, and 2 in box viewer, same names).
Uses the legality marker unscaled in the bottom left corner of the
sprite.
Fielded a few ideas in IRC (a commented-out line that tinted the sprite
red remains in the src), but the folks in IRC preferred the indicator.
When toggling the legality indicator, the box viewer has to be updated
as well as the main box slots.
This one is a bit more necessary as we have a virtual call inside PGT,
and if it isn't a sealed class, we may end up at a null dereference
under a race condition (which theoretically still *shouldn't* happen,
but rather be safe than sorry). This also brings it inline with PCD.