Exemple #1
0
        internal bool CheckFilter(Filter filter, out bool isShiny)
        {
            isShiny = false;
            if (IsEmptySlot())
            {
                return(false);
            }
            Bool3VL shiny = Bool3VL.Unknown;

            filter.Reset();
            // check pokemon
            Wait(200);
            var page0 = Module <Pokebox>().GetSummaryPage();
            var page  = page0;

            while (true)
            {
                try
                {
                    VideoCapture.Freeze();
                    // check shiny
                    if (shiny.IsUnknown && (page == Pokebox.SummaryPage.Status || page == Pokebox.SummaryPage.IV))
                    {
                        shiny = Module <Pokebox>().IsShiny();
                    }
                    // check filter
                    filter.Check(this, page);
                }
                finally
                {
                    VideoCapture.Unfreeze();
                }
                if (shiny.IsKnown && filter.Result.IsKnown)
                {
                    break;
                }
                // next page
                Press(Keys.PLUS);
                Wait(500);
                page = Module <Pokebox>().GetSummaryPage();
            }
            isShiny = shiny.Boolean;
            return(isShiny || filter.Result.Boolean);
        }
Exemple #2
0
 public override void Reset()
 {
     _Result = Bool3VL.Unknown;
 }