PKHeX/Tests/PKHeX.Tests/Legality/Legal/Generation 7 Transfer
Kurt d1cfdd782e Rework ball / frame check passing
Two checks are performed for Gen 3 & 4:
A: Encounterability (wurmple, ball, ability)
B: RNG Compatibility (frame)

Original code only checked 'A'
Recent code ordered by 'A', but returned anything that matched 'B'. If
'B was not satisfied, an 'A' match would get deferred, allowing for an
eventual B & !A to be returned before a A & !B being returned.

yay bool logic

we want to prefer a RNGFrameMatch as well as a SlotCompatible match
original code (no RNG checks) retrieves with SlotCompatible just fine
recent adding in framematch resulted in deferring compatible if not RNG
frame, yielding !A matches before A & !B

maintain 3 queues (A & B get yielded immediately) to track A!B, !AB, and
!A!B
not necessary to check unown case anymore as it'll fall into the A!B
group. better performant to skip that check in favor of only adding for
fail.

thanks theSlayer!
2018-03-21 20:19:54 -07:00
..
028 ★ - Sandslash - 583900000000.pk7 Add g3 safari ball wild deferrals 2018-03-21 17:30:19 -07:00
151 - ミュウ - 6B9DADB23EB0.pk7 Only check static IVs if original IVs still exist 2018-03-09 20:00:13 -08:00
204 - クヌギダマ - 4CF0E7EAFE99.pk7 Add g3 safari ball wild deferrals 2018-03-21 17:30:19 -07:00
266 ★ - Silcoon - 319000000002.pk7 Rework ball / frame check passing 2018-03-21 20:19:54 -07:00
268 ★ - Cascoon - A8FB00000007.pk7 Rework ball / frame check passing 2018-03-21 20:19:54 -07:00
269 ★ - Dustox - C03700000003.pk7 Rework ball / frame check passing 2018-03-21 20:19:54 -07:00