Add global link mission stats (thanks Holla!)
remove some ToArray() linq in favor of direct copies
Relocate encounter suggestion logic to separate class
Closes#1396, addresses other edge cases like entree-non HA & happiny
egg.
Reduce memory usage for evo method banlist (static banlist references)
Fix gen6 mega evo flag truncation
simplify QR encode/decode logic a little
Don't apply transparency if transparency is already 100% (skip the loop)
Add gen5 wild pid/tid-sid correlation check
Fix validation value reset (loading gen3-4 pkm without looking at met
tab causes the met location to get reset); fixed by prematurely
validating before setting the value
Fix gen3 pkm with gen4 contest ribbons in gen4/5 getting flagged
incorrectly
refer to stackexchange links, makes XDRNG PID/IV search so quick (2^3
instead of 2^8 or 2^16; as fast as a gen3 shiny pokemon (2^13=8192 times
as fast as last release)
throw in some auto-inlining to eliminate some overhead in repetitive
search calls
Only usable for searching Method 4 IV spreads -> seeds;
1,3's search uses the same approach as the 1,2 search
I took the 1,2 search derivation to iterate for the next step, which
allows us to not know anything about the middle rand bits.
optimize a little bit more, move the pre-loop add to the initialization
stage; moving to the precomputed section pays off after 256 calls to the
method
Meet in the middle attack trades some RAM (2^16 flag/byte array) to
reduce future searches by a factor of 1:2^8
profiling yielded >100x speed improvements, even a 2x would have been
impressive ;)
knocks the biggest cpu hog (when searching db) out of the race!
Noticed the egg moves were concatted between games; can only have egg
moves from the origin game
Same for levelup moves in the relearn list; example being Plusle with
Charm (was added to egg moves / learnset in OR/AS for parity with minun
this is such a remote edge case, but may pop up in usum for a different
species ( ͡° ͜ʖ ͡°)
Fix misc refactoring errors
Don't early abort gen4->5+ encounter generation (need to check ingame
trades for abra/gengar). Can avoid by PID dictionary to check for trades
first, but unimplemented.
Closes#1377 , not fixing Pokewalker PID mismatch as algorithm needs to
be ironed out separately.
Add some documentation for the high-level encounter finding
Fix encounterstatics not being filtered for the associated game version
(closes#1372)
was a side effect of refactoring this week
Shaymin case reported, deoxys defense at level 100 with zap cannon was
not recognized as legal.
Closes#1355 via provided fix
Closes#1367, did not address Deoxys case
shifts encounter data from Legal's split tables to individual files for
easier maintenance and initialization. Legal Core's init is so much
simpler now.
fix resource name typo
Remove 31 from argevos, was wiping goodra's evo for whatever reason. No
idea why it isn't 4 sliggoo, but oh well, now works as intended.
Apply a little bit of performance increases for the loading of
evotables.
data length checks unnecessary as the the following iterator will throw
an exception
GetGenMovesCheckOrder doesn't respect generation restrictions, while
EncounterMoves does; filter afterwards.
Add compiler flags in the Analysis file to toggle try/catch off for
easier debugging. Just uncomment the #define SUPPRESS line.
Closes#1345
fixes 10ANIV pikachu having Thunderbolt twice
un-duplicates CHANNEL event data
adds seed->PIDIV generator template for M1/2/4, CXD, Channel, and BACD
improve pkm converter to update nickname of hatched eggs. isn't perfect
(farfetch'd) but works better than before
PGF for movie victini has OTgender=3; only eggs are supposed to set OT
details from the SAV.
update pattern matchers to abuse this fact.
Thanks @odaxis !
Rarely ever used, the only case where an unfavorable match is returned
first is Emerald Lati@s transferred to a future generation, as there are
2 encounters (one with and one without Fateful).
Closes#1326
Thanks @sora10pls !