| | |
| | | return modellist;
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 获取装备评分最高可提升战力的装备
|
| | | /// </summary>
|
| | | /// <param name="_places"></param>
|
| | | /// <returns></returns>
|
| | | public string GetHighestScoreEquipByPlace(int equipPlace)
|
| | | {
|
| | | var itemPackage = playerPack.GetSinglePackModel(PackType.rptItem);
|
| | | var allItems = itemPackage.GetPackModelIndexDict();
|
| | | ItemModel putModel = playerPack.GetItemModelByIndex(PackType.rptEquip,equipPlace);
|
| | | equipPlace = (equipPlace == 9 || equipPlace == 10) ? 9 : equipPlace;
|
| | | var guid = string.Empty;
|
| | | var equips = new List<string>();
|
| | | var score = putModel == null ? 0 : putModel.equipScore;
|
| | | var job = PlayerDatas.Instance.baseData.Job;
|
| | | foreach (var item in allItems.Values)
|
| | | {
|
| | | if(item.chinItemModel.EquipPlace == equipPlace)
|
| | | {
|
| | | if (!IsOverdue(item.itemInfo.ItemGUID, item.itemId)
|
| | | && (item.chinItemModel.JobLimit == 0 || (item.chinItemModel.JobLimit / 100) == job) && item.equipScore > score)
|
| | | {
|
| | | guid = item.itemInfo.ItemGUID;
|
| | | score = item.equipScore;
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | return guid;
|
| | | }
|
| | | #endregion
|
| | |
|
| | | #region 背包整理后好的同类型最好的装备
|
| | |
| | | if (!IsCanPutOn(itemModel)) return;
|
| | |
|
| | | int equipPlace = itemModel.chinItemModel.EquipPlace;
|
| | | SinglePackModel singlePack = playerPack.GetSinglePackModel(PackType.rptEquip);
|
| | | ItemModel putOnModel = null;
|
| | | if (singlePack != null)
|
| | | {
|
| | | putOnModel = singlePack.GetItemModelByIndex(equipPlace);
|
| | | }
|
| | | if (!itemModelDict.ContainsKey(equipPlace))
|
| | | {
|
| | | Dictionary<int, ItemModel> dict = new Dictionary<int, ItemModel>();
|
| | | if (putOnModel == null)
|
| | | if (IsFightUp(itemModel.itemId,itemModel.equipScore) == 1)
|
| | | {
|
| | | dict.Add(itemModel.itemInfo.ItemPlace, itemModel);
|
| | | itemModelDict.Add(equipPlace, dict);
|
| | | }
|
| | | else
|
| | | {
|
| | | if (itemModel.equipScore > putOnModel.equipScore)
|
| | | {
|
| | | dict.Add(itemModel.itemInfo.ItemPlace, itemModel);
|
| | | itemModelDict.Add(equipPlace, dict);
|
| | | }
|
| | | }
|
| | | }
|
| | | else
|
| | | {
|
| | | if(putOnModel == null)
|
| | | if (IsFightUp(itemModel.itemId, itemModel.equipScore) == 1)
|
| | | {
|
| | | if (!itemModelDict[equipPlace].ContainsKey(itemModel.itemInfo.ItemPlace))
|
| | | {
|
| | | itemModelDict[equipPlace].Add(itemModel.itemInfo.ItemPlace, itemModel);
|
| | | }
|
| | | }
|
| | | else
|
| | | {
|
| | | if (itemModel.equipScore > putOnModel.equipScore)
|
| | | {
|
| | | itemModelDict[equipPlace].Add(itemModel.itemInfo.ItemPlace, itemModel);
|
| | | }
|
| | | itemModelDict[equipPlace].Add(itemModel.itemInfo.ItemPlace, itemModel);
|
| | | }
|
| | | }
|
| | |
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | return CheckPutOnLimit(itemModel.itemId);
|
| | | return CheckPutOnRealm(itemModel.chinItemModel);
|
| | | }
|
| | |
|
| | | private bool CheckPutOnLimit(int itemId)
|
| | | private bool CheckPutOnRealm(ItemConfig config)
|
| | | {
|
| | | int playerLv = PlayerDatas.Instance.baseData.LV;
|
| | | ItemConfig itemConfig = Config.Instance.Get<ItemConfig>(itemId);
|
| | | if (itemConfig == null) return false;
|
| | |
|
| | | if (itemConfig.EquipPlace != (int)RoleEquipType.retWing)
|
| | | var _realmLv = config.RealmLimit;
|
| | | if (PlayerDatas.Instance.baseData.realmLevel < _realmLv)
|
| | | {
|
| | | if (itemConfig.UseLV > playerLv) return false;
|
| | | float sumOffsetPoint = 0;
|
| | | float offset = 0;
|
| | | if (itemConfig.LimitSTR != 0)
|
| | | {
|
| | | offset = itemConfig.LimitSTR - UIHelper.GetPropertyMapPlayerData(AttrEnum.POWER);
|
| | | sumOffsetPoint += offset;
|
| | | }
|
| | |
|
| | | if (itemConfig.LimitPHY != 0)
|
| | | {
|
| | | offset = itemConfig.LimitPHY - UIHelper.GetPropertyMapPlayerData(AttrEnum.AGILITY);
|
| | | sumOffsetPoint += offset;
|
| | | }
|
| | |
|
| | | if (itemConfig.LimitPNE != 0)
|
| | | {
|
| | | offset = itemConfig.LimitPNE - UIHelper.GetPropertyMapPlayerData(AttrEnum.MENTALITY);
|
| | | sumOffsetPoint += offset;
|
| | | }
|
| | |
|
| | | if (sumOffsetPoint <= PlayerDatas.Instance.baseData.FreePoint)
|
| | | {
|
| | | if (FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.AddPoint))
|
| | | {
|
| | | return true;
|
| | | }
|
| | | }
|
| | |
|
| | | return false;
|
| | | }
|
| | |
|
| | | else
|
| | | {
|
| | | var _realmLv = 1;
|
| | | GeneralDefine.wingEquipLimits.TryGetValue(itemId, out _realmLv);
|
| | | var needRealmConfig = Config.Instance.Get<RealmConfig>(_realmLv);
|
| | | var curRealmConfig = Config.Instance.Get<RealmConfig>(PlayerDatas.Instance.baseData.realmLevel);
|
| | |
|
| | | if (PlayerDatas.Instance.baseData.realmLevel < _realmLv)
|
| | | {
|
| | | return false;
|
| | | }
|
| | | else
|
| | | {
|
| | | return true;
|
| | | }
|
| | | }
|
| | | return true;
|
| | | }
|
| | | #endregion
|
| | |
|
| | |
| | | ItemConfig chinItemModel = Config.Instance.Get<ItemConfig>(_itemID);
|
| | | if (chinItemModel != null)
|
| | | {
|
| | | if (chinItemModel.Type < 101 || chinItemModel.Type >= 110) return 0;
|
| | | if (chinItemModel.EquipPlace < 1 || chinItemModel.EquipPlace > 12) return 0;
|
| | | ItemModel model = playerPack.GetItemModelByIndex(PackType.rptEquip,chinItemModel.EquipPlace);
|
| | | if (chinItemModel.EquipPlace == (int)RoleEquipType.retFairyCan)
|
| | | {
|