From 623db722f78fd093fa9bba54e62125dcc12de44c Mon Sep 17 00:00:00 2001
From: client_Zxw <826696702@qq.com>
Date: 星期三, 17 十月 2018 17:45:59 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
---
System/Rune/RuneModel.cs | 101 ++++++++++++--------------------------------------
1 files changed, 25 insertions(+), 76 deletions(-)
diff --git a/System/Rune/RuneModel.cs b/System/Rune/RuneModel.cs
index cc0de13..8d99de6 100644
--- a/System/Rune/RuneModel.cs
+++ b/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)
--
Gitblit v1.8.0