Example #1
0
        public static SoldierInfo GetSoldierInfoFromConfig(int configID, int level, int count)
        {
            SoldierInfo s = new SoldierInfo();
            s.SoldierConfig = DBConfigMgr.Instance.MapSoldier[configID];
            s.Level = level;
            s.Rank = 0;
            s.SoldierCount = count;

            return s;
        }
Example #2
0
        public static SoldierInfo GetSoldierInfoFromPlayerSlot(int slotIndex)
        {
            SoldierInfo s = new SoldierInfo();
            SlotSoldier s1 = (SlotSoldier)PlayerDataMgr.Instance.GetPlayerBag(SlotType.SlotType_Soldier)[slotIndex];
            s.SoldierConfig = DBConfigMgr.Instance.MapSoldier[s1.ConfigID];
            s.Level = s1.Lv;
            s.Rank = s1.Rank;
            s.SoldierCount = s1.Count;

            return s;
        }
Example #3
0
        // 计算武将战斗力
        public static int ComputeBattlePowerPoint(GeneralInfo gInfo, SoldierInfo sInfo)
        {
            double point = 0;

            //point = gInfo.HP * 0.038 + gInfo.ATK * 0.06 + gInfo.DEF * 0.17 + gInfo.CriticalRate * 1.9 + gInfo.DodgeRate * 1.3 + gInfo.HitRate * 1.4;
            point = gInfo.HP * 0.25 + gInfo.ATK * 0.25 + gInfo.DEF * 0.25;

            // 加上部队
            point += 0.1 * (sInfo.HP * 0.25 + sInfo.ATK * 0.25 + sInfo.DEF * 0.25) * sInfo.SoldierCount;

            // 加上装备
            return (int)point;
        }
Example #4
0
        /// <summary>
        /// 战斗计算公式
        /// </summary>
        /// <param name="gInfo"></param>
        /// <param name="sInfo"></param>
        /// <returns></returns>
        public static int BattlePowerPoint(GeneralInfo gInfo, SoldierInfo sInfo)
        {
            double point = 0;

            // 武将自身的
            point += CONST_STAR_GAP_PARAMS[gInfo.GeneralConfig.Star] * CONST_CLASS_GAP_PARAMS[gInfo.Rank] *
                (gInfo.Level + 5) * CONST_BASE_GENERAL_VALUE;

            // 加上部队
            point += CONST_STAR_GAP_PARAMS[sInfo.SoldierConfig.Star] * (sInfo.Level + 5) *
                sInfo.SoldierCount * CONST_BASE_SOLDIER_VALUE;

            // 加上技能1
            point += gInfo.Skill1  * CONST_SKILL_STAR_GAP_PARAMS[gInfo.GeneralConfig.Star] * CONST_BASE_SKILL_VALUE;

            // 加上技能2
            if (gInfo.Skill2 > 0) point += gInfo.Skill2 * CONST_SKILL_STAR_GAP_PARAMS[gInfo.GeneralConfig.Star] * CONST_BASE_SKILL_VALUE;

            // 加上装备
            return (int)point;
        }
Example #5
0
        /// <summary>
        /// 获取一个指定星级的标准士兵
        /// </summary>
        /// <param name="star"></param>
        /// <param name="level"></param>
        /// <returns></returns>
        public static SoldierInfo GetBasicStarSoldierInfo(int star, int level)
        {
            SoldierInfo s = new SoldierInfo();
            int[] soldierTemplate = {0,1001,1,8,14,23};
            s.SoldierConfig = DBConfigMgr.Instance.MapSoldier[soldierTemplate[star]];
            s.Level = level;
            s.SoldierCount = Math.Max(20, 10 + level / 8);

            return s;
        }