Exemple #1
0
    /// <summary>
    /// 计算魔法防御
    /// </summary>
    private static int CalcDefendPower(int Quality, int StarLevel, int level)
    {
        int k1 = 0;
        int k2 = 0;
        int k3 = 0;

        ConfigM.GetTrapDefensePower(ref k1, ref k2, ref k3);
        return((k1 + ConfigM.GetQualityIndex(Quality) * k2 + StarLevel * k3) * level);
    }
Exemple #2
0
    /// <summary>
    /// 计算炮弹兵战斗力
    /// </summary>
    private static void CalcSoldierPower(ref SoldierInfo Info)
    {
        if (Info == null)
        {
            return;
        }
        int k1         = 0;
        int k2         = 0;
        int k3         = 0;
        int k4         = 0;
        int k5         = 0;
        int LimitLevel = 0;
        int equipID1   = 0;
        int equipID2   = 0;
        int equipID3   = 0;
        int equipID4   = 0;
        int equipID5   = 0;
        int equipID6   = 0;

        //
        ConfigM.GetSoldierPower(ref k1, ref k2, ref k3, ref k4, ref k5);
        int totalSkillLevel = Info.m_Skill.GetTotalSkillLevel();
        int Power           = totalSkillLevel * k1;

        Power = Power + (k2 + ConfigM.GetQualityIndex(Info.Quality) * k3 + Info.StarLevel * k4) * Info.Level;

        List <int> lQuality = ConfigM.GetPrevQuality(Info.Quality);

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

        foreach (int quality in lQuality)
        {
            GetUpQualityNeed(Info.SoldierTypeID, quality, ref LimitLevel,
                             ref equipID1, ref equipID2, ref equipID3,
                             ref equipID4, ref equipID5, ref equipID6);
            lEquipType.Add(equipID1);
            lEquipType.Add(equipID2);
            lEquipType.Add(equipID3);
            lEquipType.Add(equipID4);
            lEquipType.Add(equipID5);
            lEquipType.Add(equipID6);
        }
        //当前阶装备类型
        GetUpQualityNeed(Info.SoldierTypeID, Info.Quality, ref LimitLevel,
                         ref equipID1, ref equipID2, ref equipID3,
                         ref equipID4, ref equipID5, ref equipID6);
        //
        if (Info.Equipment0 > 0)
        {
            lEquipType.Add(equipID1);
        }
        if (Info.Equipment1 > 0)
        {
            lEquipType.Add(equipID2);
        }
        if (Info.Equipment2 > 0)
        {
            lEquipType.Add(equipID3);
        }
        if (Info.Equipment3 > 0)
        {
            lEquipType.Add(equipID4);
        }
        if (Info.Equipment4 > 0)
        {
            lEquipType.Add(equipID5);
        }
        if (Info.Equipment5 > 0)
        {
            lEquipType.Add(equipID6);
        }

        int EquipTotalLevel = 0;

        foreach (int EquipType in lEquipType)
        {
            s_itemtypeInfo item = ItemM.GetItemInfo(EquipType);
            if (item != null)
            {
                EquipTotalLevel += item.level;
            }
        }
        //添加装备部分产生的战斗力
        Power = Power + EquipTotalLevel * k5;

        Info.m_combat_power = Power;
    }