少年修仙传客户端代码仓库
client_linchunjie
2018-12-05 9bfc3414f44c1b35ffe2d5e19ebe85f25159c5a9
5258 【前端】【1.3】【1.3.100】符印属性计算公式优化
1个文件已修改
15 ■■■■ 已修改文件
System/Rune/RuneModel.cs 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Rune/RuneModel.cs
@@ -60,6 +60,7 @@
        public const int RUNE_TYPE = 30;
        public const int RUNE_CREAMTYPE = 31;
        public const int RUNE_HOLE_COUNT = 9;
        public Dictionary<int, Dictionary<int, int>> runeBasePropretyDict = new Dictionary<int, Dictionary<int, int>>();
        public Dictionary<int, Dictionary<int, float>> runeAttrDic = new Dictionary<int, Dictionary<int, float>>();
        public Dictionary<int, float> runeAttrAdditionDic = new Dictionary<int, float>();
        public Dictionary<int, float> runeExpDic = new Dictionary<int, float>();
@@ -82,6 +83,7 @@
                    {
                        runeAttrDic.Add(key, ConfigParse.GetDic<int, float>(FuncConfigConfig.m_RuneAttrCfgs[key].Numerical2));
                        runeAttrAdditionDic.Add(key, float.Parse(FuncConfigConfig.m_RuneAttrCfgs[key].Numerical3));
                        runeBasePropretyDict.Add(key, ConfigParse.GetDic<int, int>(FuncConfigConfig.m_RuneAttrCfgs[key].Numerical4));
                    }
                    runeExpDic = ConfigParse.GetDic<int, float>(FuncConfigConfig.GetRuneNeedExpFormula().Numerical2);
                    runeExpAddition = float.Parse(FuncConfigConfig.GetRuneNeedExpFormula().Numerical3);
@@ -208,15 +210,24 @@
                }
                int[] runeTypes = _tagRuneModel.AttrType;
                float params2 = runeAttrDic[type][_tagChinModel.ItemColor];
                var baseValue = 0;
                if (runeBasePropretyDict.ContainsKey(type))
                {
                    var dict = runeBasePropretyDict[type];
                    if (dict.ContainsKey(_tagChinModel.ItemColor))
                    {
                        baseValue = dict[_tagChinModel.ItemColor];
                    }
                }
                if (runeTypes.Length > 1)
                {
                    float coe = runeAttrAdditionDic[type];
                    coe = coe == 0 ? 1 : coe;
                    runeValue = params1 * params2 * coe;
                    runeValue = (params1 * params2 + baseValue) * coe;
                }
                else
                {
                    runeValue = params1 * params2;
                    runeValue = params1 * params2 + baseValue;
                }
            }
            return Mathf.RoundToInt(runeValue);