/// <summary> /// 初始天赋附加属性 /// </summary> private static void InitSpecialProp(GameClient client) { TalentData talentData = client.ClientData.MyTalentData; if (talentData.CountList == null || talentData.CountList.Count <= 0) { return; } foreach (var c in talentData.CountList) { int type = c.Key; int value = c.Value; TalentSpecialInfo specialInfo = _TalentSpecialList[type]; int count = value / specialInfo.SingleCount; foreach (var item in specialInfo.EffectList) { int effectType = item.Key; double effectValue = item.Value * count; client.ClientData.MyTalentPropData.PropItem.ExtProps[effectType] += effectValue; } } }
private static void LoadTalentSpecialData() { string fileName = Global.GameResPath("Config/TianFuGroupProperty.xml"); XElement xml = CheckHelper.LoadXml(fileName); if (null == xml) { return; } try { _TalentSpecialList.Clear(); IEnumerable <XElement> xmlItems = xml.Elements(); foreach (var xmlItem in xmlItems) { if (xmlItem == null) { continue; } TalentSpecialInfo config = new TalentSpecialInfo(); config.SpecialType = Convert.ToInt32(Global.GetDefAttributeStr(xmlItem, "TianFuType", "0")); config.SingleCount = Convert.ToInt32(Global.GetDefAttributeStr(xmlItem, "NeedExp", "0")); config.EffectList = new Dictionary <int, double>(); double value = Convert.ToDouble(Global.GetDefAttributeStr(xmlItem, "TripleAttack", "0")); config.EffectList.Add((int)ExtPropIndexes.SavagePercent, value); value = Convert.ToDouble(Global.GetDefAttributeStr(xmlItem, "SlowAttack", "0")); config.EffectList.Add((int)ExtPropIndexes.ColdPercent, value); value = Convert.ToDouble(Global.GetDefAttributeStr(xmlItem, "VampiricAttack", "0")); config.EffectList.Add((int)ExtPropIndexes.RuthlessPercent, value); value = Convert.ToDouble(Global.GetDefAttributeStr(xmlItem, "TripleDefense", "0")); config.EffectList.Add((int)ExtPropIndexes.DeSavagePercent, value); value = Convert.ToDouble(Global.GetDefAttributeStr(xmlItem, "SlowDefensee", "0")); config.EffectList.Add((int)ExtPropIndexes.DeColdPercent, value); value = Convert.ToDouble(Global.GetDefAttributeStr(xmlItem, "VampiricDefense", "0")); config.EffectList.Add((int)ExtPropIndexes.DeRuthlessPercent, value); _TalentSpecialList.Add(config.SpecialType, config); } } catch (Exception ex) { LogManager.WriteLog(LogTypes.Fatal, string.Format("加载[{0}]时出错!!!", fileName)); } }
public static void LoadTalentSpecialData() { string fileName = Global.GameResPath("Config/TianFuGroupProperty.xml"); XElement xml = CheckHelper.LoadXml(fileName, true); if (null != xml) { try { Dictionary <int, TalentSpecialInfo> dict = new Dictionary <int, TalentSpecialInfo>(); IEnumerable <XElement> xmlItems = xml.Elements(); foreach (XElement xmlItem in xmlItems) { if (xmlItem != null) { TalentSpecialInfo config = new TalentSpecialInfo(); config.SpecialType = Convert.ToInt32(Global.GetDefAttributeStr(xmlItem, "TianFuType", "0")); config.SingleCount = Convert.ToInt32(Global.GetDefAttributeStr(xmlItem, "NeedExp", "0")); config.EffectList = new Dictionary <int, double>(); double value = Convert.ToDouble(Global.GetDefAttributeStr(xmlItem, "TripleAttack", "0")); config.EffectList.Add(61, value); value = Convert.ToDouble(Global.GetDefAttributeStr(xmlItem, "SlowAttack", "0")); config.EffectList.Add(62, value); value = Convert.ToDouble(Global.GetDefAttributeStr(xmlItem, "VampiricAttack", "0")); config.EffectList.Add(63, value); value = Convert.ToDouble(Global.GetDefAttributeStr(xmlItem, "TripleDefense", "0")); config.EffectList.Add(64, value); value = Convert.ToDouble(Global.GetDefAttributeStr(xmlItem, "SlowDefensee", "0")); config.EffectList.Add(65, value); value = Convert.ToDouble(Global.GetDefAttributeStr(xmlItem, "VampiricDefense", "0")); config.EffectList.Add(66, value); dict.Add(config.SpecialType, config); } } TalentManager._TalentSpecialList = dict; } catch (Exception ex) { LogManager.WriteLog(LogTypes.Fatal, string.Format("加载[{0}]时出错!!!", fileName), null, true); } } }
private static void InitSpecialProp(GameClient client) { TalentData talentData = client.ClientData.MyTalentData; if (talentData.CountList != null && talentData.CountList.Count > 0) { foreach (KeyValuePair <int, int> c in talentData.CountList) { int type = c.Key; int value = c.Value; TalentSpecialInfo specialInfo = TalentManager._TalentSpecialList[type]; int count = value / specialInfo.SingleCount; foreach (KeyValuePair <int, double> item in specialInfo.EffectList) { int effectType = item.Key; double effectValue = item.Value * (double)count; client.ClientData.MyTalentPropData.PropItem.ExtProps[effectType] += effectValue; } } } }