Пример #1
0
        public ActionResult CalculateAR(int weaponId, int infusionId, int STR, int DEX, int INT, int FTH)
        {
            //TODO: Include Bleed/Poison
            //if (twoHand)
            //{
            //    STR = (int)System.Math.Floor((double)STR * 1.5);
            //}
            WeaponARModel model = _weaponsHelper.CalculateAR(weaponId, infusionId, STR, DEX, INT, FTH);

            return(PartialView("_ARValues", model));
        }
Пример #2
0
        public ActionResult CalculateAR(int weaponId, int infusionId, int upgradeLevel, int STR, int DEX, int INT, int FTH, int LCK, bool twoHand)
        {
            //TODO: Include Bleed/Poison/Frost
            if (twoHand)
            {
                STR = (int)System.Math.Floor((double)STR * 1.5);
            }
            WeaponARModel model = _weaponsHelper.CalculateAR(weaponId, infusionId, upgradeLevel, STR, DEX, INT, FTH, LCK);

            return(PartialView("_ARValues", model));
        }
Пример #3
0
        public WeaponARModel CalculateAR(int weaponId, int infusionId, int upgradeLevel, int STR, int DEX, int INT, int FTH, int LCK)
        {
            using (var lifetime = IoC.Container.BeginLifetimeScope())
            {
                using (var unit = lifetime.Resolve <IUnitOfWork>())
                {
                    WeaponARModel result;

                    Weapon weapon = unit.GetRepository <Weapon>().GetById(weaponId);

                    if (weapon.StrReq > STR || weapon.DexReq > DEX || weapon.IntReq > INT || weapon.FthReq > FTH)
                    {
                        result = new WeaponARModel()
                        {
                            RequirementsMet = false,
                            StrReq          = weapon.StrReq,
                            DexReq          = weapon.DexReq,
                            IntReq          = weapon.IntReq,
                            FthReq          = weapon.FthReq
                        };
                    }
                    else
                    {
                        SqlParameter[] parameters = new SqlParameter[]
                        {
                            new SqlParameter("@WeaponId", weaponId),
                            new SqlParameter("@InfusionId", infusionId),
                            new SqlParameter("@ReinforcementLevel", upgradeLevel),
                            new SqlParameter("@STR", STR),
                            new SqlParameter("@DEX", DEX),
                            new SqlParameter("@INT", INT),
                            new SqlParameter("@FTH", FTH),
                            new SqlParameter("@LCK", LCK)
                        };

                        string query = "Exec [DS3].[CalculateWeaponAR] @WeaponId, @InfusionId, @ReinforcementLevel, @STR, @DEX, @INT, @FTH, @LCK";
                        result = unit.SqlQuery <WeaponARModel>(query, parameters).FirstOrDefault();
                        result.RequirementsMet = true;
                    }
                    return(result);
                }
            }
        }