少年修仙传客户端代码仓库
4216 【前端】【1.2.0】符印双属性不和单属性的品质做对比,只与双属性符印相比较
1个文件已修改
101 ■■■■■ 已修改文件
System/Rune/RuneModel.cs 101 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Rune/RuneModel.cs
@@ -116,12 +116,6 @@
                        var _result = Equation.Instance.Eval<float>(runeExpFormula);
                        runeExpResultDict.Add(i + 1, _result);
                    }
                    doublePropertyRunes = new List<int>();
                    var _cfgs = Config.Instance.GetAllValues<RuneComposeConfig>();
                    foreach (var _cfg in _cfgs)
                    {
                        doublePropertyRunes.Add(_cfg.TagItemID);
                    }
                    config = Config.Instance.Get<FuncConfigConfig>("RuneDoubleInlayCnt");
                    doublePropRuneInlayDict = ConfigParse.GetDic<int, int>(config.Numerical1);
@@ -227,7 +221,6 @@
            return Mathf.RoundToInt(runeValue);
        }
        private Dictionary<int, float> runeExpResultDict = new Dictionary<int, float>();
        public List<int> doublePropertyRunes { get; private set; }
        public int GetRuneNeedExp(int id, int level)
        {
            float _levelUpExp = 0;
@@ -914,103 +907,59 @@
        public bool CanEquipBetterRune(int _hole)
        {
            var _runeHole = GetHoleRune(_hole);
            if (_runeHole == null)
            foreach (var rune in runePackData.Values)
            {
                return false;
            }
            var _runeCfg = Config.Instance.Get<RuneConfig>(_runeHole.id);
            var _itemCfg = Config.Instance.Get<ItemConfig>(_runeHole.id);
            var _propertyType = _runeCfg.AttrType[0];
            if (_runeCfg == null)
            {
                return false;
            }
            foreach (var _rune in runePackData.Values)
            {
                if (_rune.IsRuneCream)
                if (IsBetterRune(rune, _hole))
                {
                    continue;
                }
                var _runeBetterCfg = Config.Instance.Get<RuneConfig>(_rune.id);
                if (_runeBetterCfg == null)
                {
                    continue;
                }
                bool _same = false;
                for (int i = 0; i < _runeBetterCfg.AttrType.Length; i++)
                {
                    if (_runeBetterCfg.AttrType[i] == _propertyType)
                    {
                        _same = true;
                        break;
                    }
                }
                if (!_same)
                {
                    continue;
                }
                var _itemBetterCfg = Config.Instance.Get<ItemConfig>(_rune.id);
                if (_itemBetterCfg.ItemColor > _itemCfg.ItemColor
                    || (_itemBetterCfg.ItemColor == _itemCfg.ItemColor && _runeCfg.AttrType.Length == 1 && _runeBetterCfg.AttrType.Length == 2))
                {
                    if (runeComposeModel.m_RuneBothPropertys.Contains(_rune.id)
                        && GetDoublePropLimitCount() <= GetCurrentDoublePropCount()
                        && !runeComposeModel.m_RuneBothPropertys.Contains(_runeHole.id))
                    {
                        return false;
                    }
                    return true;
                }
            }
            return false;
        }
        public bool IsBetterRune(RuneData _data, int _hole)
        public bool IsBetterRune(RuneData rune, int _hole)
        {
            var _runeHole = GetHoleRune(_hole);
            if (_runeHole == null)
            if (rune.IsRuneCream)
            {
                return false;
            }
            var _runeCfg = Config.Instance.Get<RuneConfig>(_runeHole.id);
            var _itemCfg = Config.Instance.Get<ItemConfig>(_runeHole.id);
            var _propertyType = _runeCfg.AttrType[0];
            if (_runeCfg == null)
            var runeHole = GetHoleRune(_hole);
            if (runeHole == null)
            {
                return false;
            }
            if (_data.IsRuneCream)
            var runeHoleConfig = Config.Instance.Get<RuneConfig>(runeHole.id);
            var itemHoleConfig = Config.Instance.Get<ItemConfig>(runeHole.id);
            var propertyType = runeHoleConfig.AttrType[0];
            if (runeHoleConfig == null)
            {
                return false;
            }
            var _runeBetterCfg = Config.Instance.Get<RuneConfig>(_data.id);
            bool _same = false;
            for (int i = 0; i < _runeBetterCfg.AttrType.Length; i++)
            var runeConfig = Config.Instance.Get<RuneConfig>(rune.id);
            bool same = false;
            for (int i = 0; i < runeConfig.AttrType.Length; i++)
            {
                if (_runeBetterCfg.AttrType[i] == _propertyType)
                if (runeConfig.AttrType[i] == propertyType)
                {
                    _same = true;
                    same = true;
                    break;
                }
            }
            if (!_same)
            if (!same)
            {
                return false;
            }
            var _itemBetterCfg = Config.Instance.Get<ItemConfig>(_data.id);
            if (_itemBetterCfg.ItemColor > _itemCfg.ItemColor
                || (_itemBetterCfg.ItemColor == _itemCfg.ItemColor && _runeCfg.AttrType.Length == 1 && _runeBetterCfg.AttrType.Length == 2))
            bool isDoubleRuneHole = runeComposeModel.m_RuneBothPropertys.Contains(runeHole.id);
            bool isDoubleRune = runeComposeModel.m_RuneBothPropertys.Contains(rune.id);
            if (isDoubleRuneHole != isDoubleRune)
            {
                if (runeComposeModel.m_RuneBothPropertys.Contains(_data.id)
                    && GetDoublePropLimitCount() <= GetCurrentDoublePropCount()
                    && !runeComposeModel.m_RuneBothPropertys.Contains(_runeHole.id))
                {
                    return false;
                }
                return true;
                return isDoubleRune && GetCurrentDoublePropCount() < GetDoublePropLimitCount();
            }
            return false;
            var itemConfig = Config.Instance.Get<ItemConfig>(rune.id);
            return itemConfig.ItemColor > itemHoleConfig.ItemColor;
        }
        public bool CanEquipHoleRune(int id, int _color, out int _hole)