PKHeX/Tests/PKHeX.Tests
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
..
Legality Rework ball / frame check passing 2018-03-21 20:19:54 -07:00
PKM Simplify/fix UnSanitizeString 2017-12-28 22:50:32 -08:00
Properties Add checksum tests 2017-11-07 19:07:13 -06:00
Resources Add checksum tests 2017-11-07 19:07:13 -06:00
Saves Simplify/fix UnSanitizeString 2017-12-28 22:50:32 -08:00
Util Fix broken test 2017-11-08 13:30:52 -08:00
PKHeX.Tests.csproj Simplify/fix UnSanitizeString 2017-12-28 22:50:32 -08:00