示例#1
0
        public ItemFairy SelectFairyForEnchance()
        {
            if (GetEquiped().id > 0)
            {
                int IP = CHR.GetClass <Inventory>().GetFirstFreePlace();
                if (IP > 0)
                {
                    ItemInventory.Equip(CHR.HNDL, IP, 0x17);
                }
            }
            Thread.Sleep(2000);
            LoadFairiesFromInventory();
            ItemFairy BEST  = new ItemFairy(CHR);
            ItemFairy WORST = new ItemFairy(CHR);

            BEST.P1  = 0;
            BEST.P2  = 1;
            WORST.P1 = 1;
            WORST.P2 = 1;
            int count = 0;

            foreach (ItemFairy FI in FL)
            {
                if (FI.IsGood())
                {
                    if (FI.lvl < 10)
                    {
                        ItemInventory.Equip(CHR.HNDL, FI.place, 0x17);
                        return(FI);
                    }
                    BEST  = ((double)FI.P1 / (double)FI.P2 >= (double)BEST.P1 / (double)BEST.P2) ? FI : BEST;
                    WORST = ((double)FI.P1 / (double)FI.P2 < (double)WORST.P1 / (double)WORST.P2) ? FI : WORST;
                    count++;
                }
            }
            if (count == 0)
            {
                return(new ItemFairy(CHR));
            }
            BEST = BEST.id == 0 ? WORST : BEST;
            Boolean RA = RAS.Analize();

            (RA ? WORST : BEST).Equip(0x17);
            return(RA ? WORST : BEST);
        }