Example #1
0
        public void TestViolentEnchantedGemFilter()
        {
            // Take rare HP%, DEF%, SPD
            EnchantedGem rareHPEnchantedGem  = new EnchantedGem(RUNESET.VIOLENT, "HP%", RARITY.RARE);
            EnchantedGem rareDEFEnchantedGem = new EnchantedGem(RUNESET.VIOLENT, "DEF%", RARITY.RARE);
            EnchantedGem rareSPDEnchantedGem = new EnchantedGem(RUNESET.VIOLENT, "SPD", RARITY.RARE);

            Assert.IsTrue(riftFilter.ShouldGet(rareHPEnchantedGem));
            Assert.IsTrue(riftFilter.ShouldGet(rareDEFEnchantedGem));
            Assert.IsTrue(riftFilter.ShouldGet(rareSPDEnchantedGem));

            // Take hero and legend for all
            EnchantedGem heroCRateEnchantedGem   = new EnchantedGem(RUNESET.VIOLENT, "CRate", RARITY.HERO);
            EnchantedGem lendaryCDmgEnchantedGem = new EnchantedGem(RUNESET.VIOLENT, "CDmg", RARITY.LEGENDARY);
            EnchantedGem heroAccEnchantedGem     = new EnchantedGem(RUNESET.VIOLENT, "ACC", RARITY.HERO);

            Assert.IsTrue(riftFilter.ShouldGet(heroCRateEnchantedGem));
            Assert.IsTrue(riftFilter.ShouldGet(lendaryCDmgEnchantedGem));
            Assert.IsTrue(riftFilter.ShouldGet(heroAccEnchantedGem));

            // Ignore trash stuffs
            EnchantedGem rareRESEnchantedGem    = new EnchantedGem(RUNESET.VIOLENT, "RES", RARITY.RARE);
            EnchantedGem rareHPFlatEnchantedGem = new EnchantedGem(RUNESET.VIOLENT, "HP flat", RARITY.RARE);

            Assert.IsFalse(riftFilter.ShouldGet(rareRESEnchantedGem));
            Assert.IsFalse(riftFilter.ShouldGet(rareHPFlatEnchantedGem));
        }
Example #2
0
        public static Reward GetReward(RunResult runResult)
        {
            Reward reward = null;

            REWARDTYPE type = GetRewardType(runResult.Drop);

            switch (type)
            {
            case REWARDTYPE.RUNE:
                reward = new Rune.RuneBuilder().Grade(runResult.Grade).Set(runResult.Set).Slot(runResult.Slot).
                         Rarity(runResult.Rarity).MainStat(runResult.MainStat).PrefixStat(runResult.PrefixStat).
                         SubStat1(runResult.SubStat1).SubStat2(runResult.SubStat2).SubStat3(runResult.SubStat3).
                         SubStat4(runResult.SubStat4).Build();
                break;

            case REWARDTYPE.GRINDSTONE:
                reward = new GrindStone(runResult.Set, runResult.MainStat, runResult.SubStat1, runResult.SubStat2);
                break;

            case REWARDTYPE.ENCHANTEDGEM:
                reward = new EnchantedGem(runResult.Set, runResult.MainStat, runResult.SubStat1, runResult.SubStat2);
                break;

            default:
                //throw new NotImplementedException();
                reward = new Reward(runResult.Drop, type);
                break;
            }

            return(reward);
        }
Example #3
0
        private void BtnAddGemStoneFilter_Click(object sender, RoutedEventArgs e)
        {
            REWARDTYPE type     = (REWARDTYPE)cbType.SelectedItem;
            RUNESET    set      = (RUNESET)cbSet.SelectedItem;
            string     mainStat = (string)cbMainStat.SelectedItem;
            RARITY     rarity   = (RARITY)cbRarity.SelectedItem;

            List <GemStone> list = (List <GemStone>)lvGemStoneList.ItemsSource;

            if (type == REWARDTYPE.GRINDSTONE)
            {
                GrindStone grindStone = new GrindStone(set, mainStat, rarity);
                list.Add(grindStone);
            }
            else
            {
                EnchantedGem enchantedGem = new EnchantedGem(set, mainStat, rarity);
                list.Add(enchantedGem);
            }

            lvGemStoneList.ItemsSource = null;
            lvGemStoneList.ItemsSource = list;
        }
Example #4
0
 private bool ShouldGetGem(EnchantedGem gem)
 {
     // TODO
     return(true);
 }