//当前勋章属性计算 public string GetCurrentmedal(NBMedalDataInfo p_info, NBEquipParametersConfInfo p_medalPara) { StringBuilder propstr = new StringBuilder(); string temp; NBClassConfInfo pClassInfo = NBGameConfig.SharedConfig().GetClassConfInfo(p_info.ClassID); if (p_medalPara != null) { p_info.Atk_P = (p_medalPara.initAtk_P + p_medalPara.atkAD_P * p_info.Level) * (p_info.AtkAP_P) / 100 * (100 + pClassInfo.AtkAP_P) / 100; if (p_info.Atk_P > 0) { temp = string.Format("{0}: {1} \n", NBStringResource.GetText("medal_Atk_P"), p_info.Atk_P); propstr.Append(temp); } p_info.Atk_M = (p_medalPara.initAtk_M + p_medalPara.atkAD_M * p_info.Level) * (float)(p_info.AtkAP_M) / 100 * (100 + pClassInfo.AtkAP_M) / 100; if (p_info.Atk_M > 0) { temp = string.Format("{0}: {1} \n", NBStringResource.GetText("medal_Atk_M"), p_info.Atk_M); propstr.Append(temp); } p_info.Def_P = (p_medalPara.initDef_P + p_medalPara.defAD_P * p_info.Level) * (p_info.DefAP_P) / 100 * (100 + pClassInfo.DefAP_P) / 100; if (p_info.Def_P > 0) { temp = string.Format("{0}: {1} \n", NBStringResource.GetText("medal_Def_P"), p_info.Def_P); propstr.Append(temp); } p_info.Def_M = (p_medalPara.initDef_M + p_medalPara.defAD_M * p_info.Level) * (p_info.DefAP_M) / 100 * (100 + pClassInfo.DefAP_M) / 100; if (p_info.Def_M > 0) { temp = string.Format("{0}: {1} \n", NBStringResource.GetText("medal_Def_M"), p_info.Def_M); propstr.Append(temp); } p_info.HP = (p_medalPara.initHP + p_medalPara.hPAD * p_info.Level) * (p_info.HPAP) / 100 * (100 + pClassInfo.HPAP) / 100; if (p_info.HP > 0) { temp = string.Format("{0}: {1} \n", NBStringResource.GetText("medal_HP"), p_info.HP); propstr.Append(temp); } p_info.Dodge = (p_medalPara.initDod + p_medalPara.DodgeAD * p_info.Level) * (p_info.DodgeAP) / 100 * (100 + pClassInfo.DodgeAP) / 100; if (p_info.Dodge > 0) { temp = string.Format("{0}: {1} \n", NBStringResource.GetText("medal_Dodge"), p_info.Dodge); propstr.Append(temp); } p_info.Cri = (p_medalPara.initCri + p_medalPara.CriAD * p_info.Level) * (p_info.CriAP) / 100 * (100 + pClassInfo.CritAP) / 100; if (p_info.Cri > 0) { temp = string.Format("{0}: {1} \n", NBStringResource.GetText("medal_Cri"), p_info.Cri); propstr.Append(temp); } p_info.AtkSpeed = (p_medalPara.initAtkSpeed + p_medalPara.AtkSpeedAD * p_info.Level) * (p_info.AtkSpeedAP) / 100 * (100 + pClassInfo.AtkSpeedAp) / 100; if (p_info.AtkSpeed > 0) { temp = string.Format("{0}: {1} \n", NBStringResource.GetText("medal_AtkSpeed"), p_info.AtkSpeed); propstr.Append(temp); } } return(propstr.ToString()); }
public void ChangeMedalArray(BOH.DataChange dataChangeResp) { for (int i = 0; i < dataChangeResp.equipadd_size(); i++) { const MsgUserEquipmentInfo medalInforesp = dataChangeResp.equipadd(i); NBMedalDataInfo p_info = new NBMedalDataInfo(); FullMedalDataInfo(p_info, medalInforesp); NBLOG("add medalid = {0}", p_info.Entityid); //////////////////////////// m_medalArray.Add(p_info); } for (int i = 0; i < dataChangeResp.equipdelete_size(); i++) { const MsgUserEquipmentInfo medalInforesp = dataChangeResp.equipdelete(i); NBMedalDataInfo p_info = new NBMedalDataInfo(); //////////////////////////// for (int index = m_medalArray.Count - 1; index >= 0; index--) { NBMedalDataInfo p_oldInfo = m_medalArray[index] as NBMedalDataInfo; if (p_oldInfo.Entityid == medalInforesp.Entityid()) { NBLOG("remove medalid = {0}", p_info.Entityid); m_medalArray.RemoveAt(index); break; } } } }
public void FullMedalDataInfo(NBMedalDataInfo p_info, BOH.MsgUserEquipmentInfo medalInforesp) { NBMedalConfInfo p_medalConfInfo = null; p_medalConfInfo = NBGameConfig.SharedConfig().GetMedalConfInfo(medalInforesp.equipid()); NBEquipParametersConfInfo p_medalPara = NBGameConfig.SharedConfig().GetEquipParametersConfInfo(medalInforesp.quality(), medalInforesp.star()); NBClassConfInfo pClassInfo = NBGameConfig.SharedConfig().GetClassConfInfo(p_medalConfInfo.ClassID); p_info.Entityid = medalInforesp.Entityid; p_info.Iswear = medalInforesp.Iswear; p_info.Experience = medalInforesp.Experience; p_info.Level = medalInforesp.Level; p_info.Quality = medalInforesp.Quality; p_info.Star = medalInforesp.Star; p_info.Ownerroleid = medalInforesp.Ownerroleid; p_info.MedalID = p_medalConfInfo.MedalID; p_info.Name = p_medalConfInfo.Name; p_info.InitLevel = p_medalConfInfo.AttriLevel; p_info.QualityLevel = p_medalConfInfo.QualityLevel; p_info.ClassID = p_medalConfInfo.ClassID; p_info.SlotID = p_medalConfInfo.SlotID; p_info.AtkAP_P = p_medalConfInfo.AtkAP_P; p_info.AtkAP_M = p_medalConfInfo.AtkAP_M; p_info.DefAP_P = p_medalConfInfo.DefAP_P; p_info.DefAP_M = p_medalConfInfo.DefAP_M; p_info.HPAP = p_medalConfInfo.HPAP; p_info.DodgeAP = p_medalConfInfo.DodgeAP; p_info.CriAP = p_medalConfInfo.CriAP; p_info.AtkSpeedAP = p_medalConfInfo.AtkSpeedAP; p_info.ResID = p_medalConfInfo.ResID; ///////////////////////////// string propstr = ""; string temp; temp = string.Format("{0}: {1}/{2} \n", NBStringResource.GetText("medal_level"), p_info.Level, NBGameWorld.SharedInstance().GetMe().GetLevel()); p_info.Levelstr = temp; if (p_info.Star > 0) { temp = string.Format("+ {0} \n", p_info.Star); p_info.Starstr = temp; } else { p_info.Starstr = ""; } p_info.Serverpropstr = propstr.ToString(); propstr = GetCurrentmedal(p_info, p_medalPara); NBLOG("Currentmedal:\n {0}", propstr); p_info.Propstr.Append(propstr); }
public bool IsMedalExist(string medalID) { for (int i = 0; i < m_medalArray.Count; i++) { NBMedalDataInfo pMedalInfo = m_medalArray[i] as NBMedalDataInfo; if (pMedalInfo.Medalid.CompareTo(medalID) == 0) { return(true); } } return(false); }
public ArrayList GetMedalRoleArray() { m_medalRoleArray.Clear(); for (int index = 0; index < m_medalArray.Count; index++) { NBMedalDataInfo p_Info = m_medalArray[index] as NBMedalDataInfo; if (p_Info.Iswear == 1) { m_medalRoleArray.Add(p_Info); } } return(m_medalRoleArray); }