PKHeX/PKHeX.Core/Legality/Encounters
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
..
Data Add R/S roamer data offset 2018-03-18 08:37:40 -07:00
Generator Rework ball / frame check passing 2018-03-21 20:19:54 -07:00
Information Split up IEncounterable generators 2018-03-10 19:51:09 -08:00
Verifiers Fix ninjask evo move comparison 2018-03-18 15:30:19 -07:00
EncounterEgg.cs add more pkhex.core xml documentation 2017-10-23 23:12:58 -07:00
EncounterInvalid.cs add more pkhex.core xml documentation 2017-10-23 23:12:58 -07:00
EncounterLink.cs Clean up EncounterLink 2018-03-09 18:58:00 -08:00
EncounterRejected.cs add more pkhex.core xml documentation 2017-10-23 23:12:58 -07:00
EncounterSlot.cs Refactoring 2018-03-08 21:18:32 -08:00
EncounterSlot1.cs Refactoring 2018-03-08 21:18:32 -08:00
EncounterSlotMoves.cs Refactoring 2018-03-08 21:18:32 -08:00
EncounterStatic.cs Merge PIDType and bool? shiny property 2018-03-16 19:35:55 -07:00
EncounterStaticPID.cs Merge PIDType and bool? shiny property 2018-03-16 19:35:55 -07:00
EncounterStaticShadow.cs Refactoring 2018-03-08 21:18:32 -08:00
EncounterStaticTyped.cs Refactoring 2018-03-08 21:18:32 -08:00
EncounterTrade.cs Merge PIDType and bool? shiny property 2018-03-16 19:35:55 -07:00
EncounterTradeCatchRate.cs Refactoring 2018-03-08 21:18:32 -08:00
EncounterTradePID.cs Merge PIDType and bool? shiny property 2018-03-16 19:35:55 -07:00
LegalInfo.cs Add Frame mismatch illegal message handling 2017-11-28 21:30:53 -08:00