/// <summary> /// 计算装备主属性值 /// </summary> /// <param name="itemFielInfo">装备数据</param> /// <param name="index">装备主属性索引</param> /// <param name="isBefore">是否装备前的值</param> /// <param name="isNormal">是否普通强化</param> /// <returns></returns> private int EquipMainProp(ItemData itemData, EquipmentEntity equipmentEntity, int index, bool isBefore) { EquipmentData equipItemData; int normalStrengthenLv = equipmentEntity.EQUIP_FIELD_STRONGE_LEVEL; int starStrengthenLv = equipmentEntity.EQUIP_FIELD_START_LEVEL; equipItemData = ItemDataManager.Instance.GetItemData(itemData._goodID) as EquipmentData; if (!isBefore) { equipItemData = ItemDataManager.Instance.GetItemData(equipItemData.UpgradeID) as EquipmentData; } StrengthParameter strengthParameter = equipItemData._StrengthParameter[index]; StrengthParameter starStrengthParameter = equipItemData._StartStrengthParameter[index]; int normalMainProAdd = normalStrengthenLv == 0 || normalStrengthenLv > CommonDefineManager.Instance.CommonDefine.StrengthLimit?0:strengthParameter.Value[normalStrengthenLv - 1]; int normalMainProAddForStar = starStrengthenLv == 0 || starStrengthenLv > CommonDefineManager.Instance.CommonDefine.StartStrengthLimit?0:starStrengthParameter.Value[starStrengthenLv - 1]; int sourceMainProValue = 0; string[] effects = equipItemData._vectEffects.Split('|'); sourceMainProValue = int.Parse(effects[index].Split('+')[1]); return(sourceMainProValue + normalMainProAdd + normalMainProAddForStar); }
/// <summary> /// 计算装备主属性值 /// </summary> /// <param name="itemFielInfo">装备数据</param> /// <param name="index">装备主属性索引</param> /// <param name="isBefore">是否装备前的值</param> /// <param name="isNormal">是否普通强化</param> /// <returns></returns> private static int EquipMainProp(ItemData itemData, EquipmentEntity equipmentEntity, int index, bool isBefore, bool isNormal) { EquipmentData equipItemData = itemData as EquipmentData; if (itemData == null) { return(0); } int normalStrengthenLv = 0; int starStrengthenLv = 0; if (equipmentEntity.ITEM_FIELD_CONTAINER != 0) { normalStrengthenLv = PlayerDataManager.Instance.GetEquipmentStrengthLevel((EquiptSlotType)int.Parse(equipItemData._vectEquipLoc)); // equipmentEntity.EQUIP_FIELD_STRONGE_LEVEL; starStrengthenLv = PlayerDataManager.Instance.GetEquipmentStarLevel((EquiptSlotType)int.Parse(equipItemData._vectEquipLoc)); // equipmentEntity.EQUIP_FIELD_START_LEVEL; } if (!isBefore) { if (isNormal) { normalStrengthenLv += 1; } else { starStrengthenLv += 1; } } //var equipItemData = ItemDataManager.Instance.GetItemData(itemData._goodID) as EquipmentData; StrengthParameter strengthParameter = equipItemData._StrengthParameter[index]; StrengthParameter starStrengthParameter = equipItemData._StartStrengthParameter[index]; int normalMainProAdd = normalStrengthenLv == 0 || normalStrengthenLv > CommonDefineManager.Instance.CommonDefine.StrengthLimit?0:strengthParameter.Value[normalStrengthenLv - 1]; int normalMainProAddForStar = starStrengthenLv == 0 || starStrengthenLv > CommonDefineManager.Instance.CommonDefine.StartStrengthLimit?0:starStrengthParameter.Value[starStrengthenLv - 1]; //float startAddPercent = 0; //新版装备强化,不再加星级加成数值 2014-6-9 新版又加上星阶加成,但不再手百分比,计算方法与普通强化一样 int sourceMainProValue = 0; sourceMainProValue = int.Parse(GetEffNameOrValue(equipItemData, index, false)); // switch (index) // { // case 0: // sourceMainProValue = // break; // case 1: // sourceMainProValue = equipmentEntity.EQUIP_FIELD_EFFECTBASE1_VALUE; // break; // } // var procValue = (itemData as EquipmentData)._lThresholdValue; //强化阀值在2014-6-9取消 // // normalMainProAdd += Mathf.FloorToInt((Mathf.Max(normalStrengthenLv, procValue) - procValue) * 0.05f * sourceMainProValue); //TraceUtil.Log("index:" + index + " 基础属性:" + sourceMainProValue + " isBefore:" + isBefore + " AddValue:" + normalMainProAdd); //return Mathf.FloorToInt((sourceMainProValue + normalMainProAdd+normalMainProAddForStar) * (1 + startAddPercent)); return(sourceMainProValue + normalMainProAdd + normalMainProAddForStar); }
/// <summary> /// 计算装备主属性值 /// </summary> /// <param name="itemFielInfo">装备数据</param> /// <param name="index">装备主属性索引</param> /// <param name="isBefore">是否装备前的值</param> /// <param name="isNormal">是否普通强化</param> /// <returns></returns> private int EquipMainProp(ItemData itemData, EquipmentEntity equipmentEntity, int index, bool isBefore, bool isNormal) { int normalStrengthenLv = equipmentEntity.EQUIP_FIELD_STRONGE_LEVEL; int starStrengthenLv = equipmentEntity.EQUIP_FIELD_START_LEVEL; if (!isBefore) { if (isNormal) { normalStrengthenLv += 1; } else { starStrengthenLv += 1; } } var equipItemData = ItemDataManager.Instance.GetItemData(itemData._goodID) as EquipmentData; StrengthParameter strengthParameter = equipItemData._StrengthParameter[index]; int normalMainProAdd = normalStrengthenLv == 0 || normalStrengthenLv > CommonDefineManager.Instance.CommonDefine.StrengthLimit?0:strengthParameter.Value[normalStrengthenLv - 1]; float startAddPercent = 0; //新版装备强化,不再加星级加成数值 //float startAddPercent = 0.05f * starStrengthenLv; int sourceMainProValue = 0; switch (index) { case 0: sourceMainProValue = equipmentEntity.EQUIP_FIELD_EFFECTBASE0_VALUE; break; case 1: sourceMainProValue = equipmentEntity.EQUIP_FIELD_EFFECTBASE1_VALUE; break; } var procValue = (itemData as EquipmentData)._lThresholdValue; normalMainProAdd += Mathf.FloorToInt((Mathf.Max(normalStrengthenLv, procValue) - procValue) * 0.05f * sourceMainProValue); //TraceUtil.Log("index:" + index + " 基础属性:" + sourceMainProValue + " isBefore:" + isBefore + " AddValue:" + normalMainProAdd); return(Mathf.FloorToInt((sourceMainProValue + normalMainProAdd) * (1 + startAddPercent))); }
/// <summary> /// 获取装备升星强化加成 /// </summary> /// <returns>The normal main pro add for star.</returns> static int GetNormalMainProAddForStar(ItemFielInfo itemFielInfo, int index) { if (itemFielInfo == null) { return(0); } int starStrengthenLv; if (itemFielInfo.sSyncContainerGoods_SC.uidGoods != 0) { starStrengthenLv = PlayerDataManager.Instance.GetEquipmentStarLevel((EquiptSlotType)int.Parse((itemFielInfo.LocalItemData as EquipmentData)._vectEquipLoc));// itemFielInfo.equipmentEntity.EQUIP_FIELD_START_LEVEL; } else { starStrengthenLv = 0; } var equipItemData = ItemDataManager.Instance.GetItemData(itemFielInfo.LocalItemData._goodID) as EquipmentData; StrengthParameter starStrengthParameter = equipItemData._StartStrengthParameter[index]; int normalMainProAddForStar = starStrengthenLv == 0 || starStrengthenLv > CommonDefineManager.Instance.CommonDefine.StartStrengthLimit?0:starStrengthParameter.Value[starStrengthenLv - 1]; return(normalMainProAddForStar); }
/// <summary> /// 计算装备主属性值 /// </summary> /// <param name="itemFielInfo">装备数据</param> /// <param name="index">装备主属性索引</param> /// <param name="isBefore">是否装备前的值</param> /// <param name="isNormal">是否普通强化</param> /// <returns></returns> private int EquipMainProp(ItemData itemData, EquipmentEntity equipmentEntity, int index, bool isBefore, bool isNormal) { int normalStrengthenLv = equipmentEntity.EQUIP_FIELD_STRONGE_LEVEL; int starStrengthenLv = equipmentEntity.EQUIP_FIELD_START_LEVEL; if (!isBefore) { if (isNormal) { normalStrengthenLv += 1; } else { starStrengthenLv += 1; } } var equipItemData = ItemDataManager.Instance.GetItemData(itemData._goodID) as EquipmentData; StrengthParameter strengthParameter = equipItemData._StrengthParameter[index]; int normalMainProAdd = normalStrengthenLv == 0 || normalStrengthenLv > CommonDefineManager.Instance.CommonDefine.StrengthLimit?0:strengthParameter.Value[normalStrengthenLv - 1]; //float startAddPercent = 0.05f * starStrengthenLv; float startAddPercent = 0; int sourceMainProValue = 0; switch (index) { case 0: sourceMainProValue = equipmentEntity.EQUIP_FIELD_EFFECTBASE0_VALUE; break; case 1: sourceMainProValue = equipmentEntity.EQUIP_FIELD_EFFECTBASE1_VALUE; break; } return(Mathf.FloorToInt((sourceMainProValue + normalMainProAdd) * (1 + startAddPercent))); }
/// <summary> /// 计算装备主属性值 /// </summary> /// <param name="itemFielInfo">装备数据</param> /// <param name="index">装备主属性索引</param> /// <param name="isBefore">是否装备前的值</param> /// <param name="isNormal">是否普通强化</param> /// <returns></returns> static int EquipMainProp(ItemData itemData, EquipmentEntity equipmentEntity, int index, bool isBefore, bool isNormal, EquiptSlotType itemType) { int normalStrengthenLv = PlayerDataManager.Instance.GetEquipmentStrengthLevel(itemType); int starStrengthenLv = PlayerDataManager.Instance.GetEquipmentStarLevel(itemType); if (!isBefore) { if (isNormal) { normalStrengthenLv += 1; } else { starStrengthenLv += 1; } } var equipItemData = ItemDataManager.Instance.GetItemData(itemData._goodID) as EquipmentData; StrengthParameter strengthParameter = equipItemData._StrengthParameter[index]; StrengthParameter starStrengthParameter = equipItemData._StartStrengthParameter[index]; int normalMainProAdd = normalStrengthenLv == 0 || normalStrengthenLv > CommonDefineManager.Instance.CommonDefine.StrengthLimit?0:strengthParameter.Value[normalStrengthenLv - 1]; int normalMainProAddForStar = starStrengthenLv == 0 || starStrengthenLv > CommonDefineManager.Instance.CommonDefine.StartStrengthLimit?0:starStrengthParameter.Value[starStrengthenLv - 1]; float startAddPercent = 0; int sourceMainProValue = 0; switch (index) { case 0: sourceMainProValue = equipmentEntity.EQUIP_FIELD_EFFECTBASE0_VALUE; break; case 1: sourceMainProValue = equipmentEntity.EQUIP_FIELD_EFFECTBASE1_VALUE; break; } return(sourceMainProValue + normalMainProAdd + normalMainProAddForStar); }