Exemple #1
0
 /// <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();
 }
Exemple #2
0
        /// <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();
            }
        }