/// <summary> /// 初始化(被动技能和称号)加成 /// 训练/强健/沉稳/睿智/石盾/天人等(前缀称号/后缀称号) /// </summary> private void ResetSkillsAdd(PlayerProperty p) { if (m_skill != null && m_skill.Value != null) { foreach (var s in m_skill.Value) { GameConfig gs = GameConfigAccess.Instance.FindOneById(s.Key); if (gs == null) continue; if (gs.SubType == SkillSub.Addition || gs.SubType == SkillSub.AdditionJ) { string level = s.Value.ToString(); p.Add(gs.Value[level] as Variant); } } } TitleAddition(p); InitFixBuffer(); AddStar(p); AddDressing(p); m_sPro.Value = p.GetChange(); m_sPro.Save(); }
/// <summary> /// 初始化装备的加成.. /// </summary> /// <returns></returns> private void ResetEquipsAdd(PlayerProperty p) { AddDressing(p); if (m_equips != null && m_equips.Value != null) { Dictionary<string, List<string>> dic = new Dictionary<string, List<string>>(); for (int i = 0; i <= 9; i++) { var v = m_equips.Value.GetVariantOrDefault("P" + i); if (v == null) continue; string equiD = v.GetStringOrDefault("E"); if (string.IsNullOrEmpty(equiD)) continue; Goods gs = GoodsAccess.Instance.FindOneById(equiD); if (gs == null) continue; Variant info = gs.Value; if (info == null) continue; //持久度 var st = info.GetVariantOrDefault("Stamina"); if (st != null && st.GetIntOrDefault("V") <= 0) continue; object life; if (info.TryGetValueT("Life", out life)) { p.Add(life as Variant); //宝石加成.. BaoShiAddition(p, gs); } //装备附加属性 object affix; if (info.TryGetValueT("Affix", out affix)) { p.Add(affix as Variant); } //判断是否是套装 if (!info.ContainsKey("EntireID")) continue; string entrieid = info.GetStringOrDefault("EntireID"); if (string.IsNullOrEmpty(entrieid)) continue; List<string> goods; string goodsid = v.GetStringOrDefault("G"); if (dic.TryGetValue(entrieid, out goods)) { //if (!goods.Contains(goodsid)) //{ // goods.Add(goodsid); //} //趣游要求相同的ID也要计算套装数量 goods.Add(goodsid); } else { goods = new List<string>() { goodsid }; dic.Add(entrieid, goods); } } //套装属性 Entire(p, dic); m_ePro.Value = p.GetChange(); m_ePro.Save(); } }