/// <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; }
/// <summary> /// 获取炮弹兵适合穿的装备 /// </summary> private static List <int> GetAllEquipType(SoldierInfo Info) { List <int> l = new List <int>(); if (Info == null) { return(l); } List <int> lQuality = new List <int>(); lQuality = ConfigM.GetPrevQuality(Info.Quality); //早阶的装备 foreach (int Q in lQuality) { s_soldierqualityInfo qualityinfo = GetqualityInfoData(Info.SoldierTypeID, Q); if (qualityinfo != null) { l.Add(qualityinfo.equipment0); l.Add(qualityinfo.equipment1); l.Add(qualityinfo.equipment2); l.Add(qualityinfo.equipment3); l.Add(qualityinfo.equipment4); l.Add(qualityinfo.equipment5); } } //当前穿的装备 s_soldierqualityInfo Nowqualityinfo = GetqualityInfoData(Info.SoldierTypeID, Info.Quality); if (Nowqualityinfo != null) { if (Info.Equipment0 != 0) { l.Add(Nowqualityinfo.equipment0); } if (Info.Equipment1 != 0) { l.Add(Nowqualityinfo.equipment1); } if (Info.Equipment2 != 0) { l.Add(Nowqualityinfo.equipment2); } if (Info.Equipment3 != 0) { l.Add(Nowqualityinfo.equipment3); } if (Info.Equipment4 != 0) { l.Add(Nowqualityinfo.equipment4); } if (Info.Equipment5 != 0) { l.Add(Nowqualityinfo.equipment5); } } return(l); }