public override bool TakeAction()
        {
            EquipData equip = GetEquips.FindEquipData(equipID);



            if (GetBasis.UserLv <= equip.Lv)
            {
                return(false);
            }

            if (equip.Lv - GetEquips.Weapon.Lv >= 3 ||
                equip.Lv - GetEquips.Coat.Lv >= 3 ||
                equip.Lv - GetEquips.Ring.Lv >= 3 ||
                equip.Lv - GetEquips.Shoe.Lv >= 3 ||
                equip.Lv - GetEquips.Accessory.Lv >= 3)
            {
                return(false);
            }

            var equipcfg = new ShareCacheStruct <Config_Equip>().Find(t => (t.EquipID == equip.ID && t.Grade == (equip.Lv + 1)));

            if (equipcfg == null)
            {
                return(false);
            }
            BigInteger gradeConsumeGold = BigInteger.Parse(equipcfg.GradeConsumeGold);

            if (GetBasis.GoldNum < gradeConsumeGold || GetBasis.DiamondNum < equipcfg.GradeConsumediamond)
            {
                return(false);
            }
            //var nextEquipcfg = new ShareCacheStruct<Config_Equip>().Find(t => (t.EquipID == equip.ID && t.Grade == equip.Lv+1));
            //if (nextEquipcfg == null)
            //{
            //    return false;
            //}

            if (gradeConsumeGold > 0)
            {
                UserHelper.ConsumeGold(Current.UserId, equipcfg.GradeConsumeGold);
            }

            if (equipcfg.GradeConsumediamond > 0)
            {
                UserHelper.ConsumeDiamond(Current.UserId, equipcfg.GradeConsumediamond);
            }

            equip.Lv++;
            UserHelper.RefreshUserFightValue(Current.UserId);

            // 每日
            UserHelper.EveryDayTaskProcess(Current.UserId, TaskType.UpgradeEquip, 1);

            // 成就
            UserHelper.AchievementProcess(Current.UserId, AchievementType.UpgradeEquip);

            receipt = true;
            return(true);
        }
        public override bool TakeAction()
        {
            EquipData equip = GetEquips.FindEquipData(equipID);

            GetPackage.AddItem(equip.AtkGem, 1);
            GetPackage.AddItem(equip.DefGem, 1);
            GetPackage.AddItem(equip.HpGem, 1);
            GetPackage.AddItem(equip.CritGem, 1);
            GetPackage.AddItem(equip.HitGem, 1);
            GetPackage.AddItem(equip.DodgeGem, 1);
            GetPackage.AddItem(equip.TenacityGem, 1);
            equip.AtkGem      = 0;
            equip.DefGem      = 0;
            equip.HpGem       = 0;
            equip.CritGem     = 0;
            equip.HitGem      = 0;
            equip.DodgeGem    = 0;
            equip.TenacityGem = 0;

            UserHelper.RefreshUserFightValue(Current.UserId);
            receipt = true;
            return(true);
        }
Example #3
0
        public override bool TakeAction()
        {
            EquipData equip = GetEquips.FindEquipData(equipID);


            switch (gemType)
            {
            case GemType.Attack:
            {
                if (equip.AtkGem != 0)
                {
                    GetPackage.AddItem(equip.AtkGem, 1);
                    equip.AtkGem = 0;
                }
            }
            break;

            case GemType.Defense:
            {
                if (equip.DefGem != 0)
                {
                    GetPackage.AddItem(equip.DefGem, 1);
                    equip.DefGem = 0;
                }
            }
            break;

            case GemType.Hp:
            {
                if (equip.HpGem != 0)
                {
                    GetPackage.AddItem(equip.HpGem, 1);
                    equip.HpGem = 0;
                }
            }
            break;

            case GemType.Crit:
            {
                if (equip.CritGem != 0)
                {
                    GetPackage.AddItem(equip.CritGem, 1);
                    equip.CritGem = 0;
                }
            }
            break;

            case GemType.Hit:
            {
                if (equip.HitGem != 0)
                {
                    GetPackage.AddItem(equip.HitGem, 1);
                    equip.HitGem = 0;
                }
            }
            break;

            case GemType.Dodge:
            {
                if (equip.DodgeGem != 0)
                {
                    GetPackage.AddItem(equip.DodgeGem, 1);
                    equip.DodgeGem = 0;
                }
            }
            break;

            case GemType.Tenacity:
            {
                if (equip.TenacityGem != 0)
                {
                    GetPackage.AddItem(equip.TenacityGem, 1);
                    equip.TenacityGem = 0;
                }
            }
            break;
            }
            UserHelper.RefreshUserFightValue(Current.UserId);
            receipt = true;
            return(true);
        }
Example #4
0
        public override bool TakeAction()
        {
            EquipData equip = GetEquips.FindEquipData(equipID);

            List <int> gemList = new List <int>();

            if (atkGem != 0)
            {
                gemList.Add(atkGem);
            }
            if (defGem != 0)
            {
                gemList.Add(defGem);
            }
            if (hpGem != 0)
            {
                gemList.Add(hpGem);
            }
            if (critGem != 0)
            {
                gemList.Add(critGem);
            }
            if (hitGem != 0)
            {
                gemList.Add(hitGem);
            }
            if (dodgeGem != 0)
            {
                gemList.Add(dodgeGem);
            }
            if (tenacityGem != 0)
            {
                gemList.Add(tenacityGem);
            }
            foreach (var v in gemList)
            {
                if (GetPackage.FindItem(v) == null)
                {
                    receipt = UsedItemResult.NoItem;
                    return(true);
                }
            }
            foreach (var v in gemList)
            {
                var itemcfg = new ShareCacheStruct <Config_Item>().FindKey(v);
                if (itemcfg.ItemType != ItemType.Gem)
                {
                    return(false);
                }


                switch ((GemType)itemcfg.Species)
                {
                case GemType.Attack:
                {
                    if (equip.AtkGem != 0)
                    {
                        return(false);
                    }
                    equip.AtkGem = v;
                }
                break;

                case GemType.Defense:
                {
                    if (equip.DefGem != 0)
                    {
                        return(false);
                    }
                    equip.DefGem = v;
                }
                break;

                case GemType.Hp:
                {
                    if (equip.HpGem != 0)
                    {
                        return(false);
                    }
                    equip.HpGem = v;
                }
                break;

                case GemType.Crit:
                {
                    if (equip.CritGem != 0)
                    {
                        return(false);
                    }
                    equip.CritGem = v;
                }
                break;

                case GemType.Hit:
                {
                    if (equip.HitGem != 0)
                    {
                        return(false);
                    }
                    equip.HitGem = v;
                }
                break;

                case GemType.Dodge:
                {
                    if (equip.DodgeGem != 0)
                    {
                        return(false);
                    }
                    equip.DodgeGem = v;
                }
                break;

                case GemType.Tenacity:
                {
                    if (equip.TenacityGem != 0)
                    {
                        return(false);
                    }
                    equip.TenacityGem = v;
                }
                break;
                }



                GetPackage.RemoveItem(v, 1);
            }
            UserHelper.RefreshUserFightValue(Current.UserId);


            receipt = UsedItemResult.Successfully;
            return(true);
        }
        public override bool TakeAction()
        {
            if (GetPackage.FindItem(gemID) == null)
            {
                receipt = UsedItemResult.NoItem;
                return(true);
            }
            var itemcfg = new ShareCacheStruct <Config_Item>().FindKey(gemID);

            if (itemcfg.ItemType != ItemType.Gem)
            {
                return(false);
            }
            EquipData equip = GetEquips.FindEquipData(equipID);


            switch ((GemType)itemcfg.Species)
            {
            case GemType.Attack:
            {
                if (equip.AtkGem != 0)
                {
                    return(false);
                }
                equip.AtkGem = gemID;
            }
            break;

            case GemType.Defense:
            {
                if (equip.DefGem != 0)
                {
                    return(false);
                }
                equip.DefGem = gemID;
            }
            break;

            case GemType.Hp:
            {
                if (equip.HpGem != 0)
                {
                    return(false);
                }
                equip.HpGem = gemID;
            }
            break;

            case GemType.Crit:
            {
                if (equip.CritGem != 0)
                {
                    return(false);
                }
                equip.CritGem = gemID;
            }
            break;

            case GemType.Hit:
            {
                if (equip.HitGem != 0)
                {
                    return(false);
                }
                equip.HitGem = gemID;
            }
            break;

            case GemType.Dodge:
            {
                if (equip.DodgeGem != 0)
                {
                    return(false);
                }
                equip.DodgeGem = gemID;
            }
            break;

            case GemType.Tenacity:
            {
                if (equip.TenacityGem != 0)
                {
                    return(false);
                }
                equip.TenacityGem = gemID;
            }
            break;
            }
            GetPackage.RemoveItem(gemID, 1);

            UserHelper.RefreshUserFightValue(Current.UserId);


            receipt = UsedItemResult.Successfully;
            return(true);
        }