From c562008bec642a25245295eeec567081bc4e4c42 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 18 四月 2019 14:29:23 +0800
Subject: [PATCH] 6459 【后端】【2.0】缥缈仙域开发单(草园)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_EquipWash.py |   23 ++++++++---------------
 1 files changed, 8 insertions(+), 15 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_EquipWash.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_EquipWash.py
index 2177e5c..4fe25fc 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_EquipWash.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_EquipWash.py
@@ -54,21 +54,10 @@
         return 0
     
     equipStar = ChEquip.GetEquipPartStarByRank(curPlayer, equipPackindex, curEquip)
-    ipyData = IpyGameDataPY.GetIpyGameDataNotLog("ItemWashMax", washType, equipStar)
-    if ipyData:
-        return ipyData.GetLevelMax()
-    
-    ipyDataList = IpyGameDataPY.GetIpyGameDataByCondition('ItemWashMax', {'Type':washType}, True, False)
-    if not ipyDataList:
+    ipyData = IpyGameDataPY.InterpolationSearch('ItemWashMax', 'Star', equipStar, {'Type':washType})
+    if not ipyData:
         return 0
-    maxStar = ipyDataList[-1].GetStar()
-    if equipStar > maxStar:
-        return ipyDataList[-1].GetLevelMax()
-    findMax = 0
-    for ipyData in ipyDataList:
-        if equipStar >= ipyData.GetStar():
-            findMax = ipyData.GetLevelMax()
-    return findMax
+    return ipyData.GetLevelMax()
     
     
 
@@ -314,7 +303,7 @@
         return
     equipPlace = ipyData.GetEquipPlace()
     classLV = ipyData.GetClassLV()
-    washLV = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_EquipWashLV % equipPlace) + 1
+    washLV = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_EquipWashLV % equipPackindex) + 1
     maxWashLV = GetEquipWashMaxLV(curPlayer, equipPackindex, equipPlace)
     GameWorld.DebugLog("确认洗练结果: classLV=%s, equipPlace=%s,isSave=%s,washLV=%s,maxWashLV=%s" 
                        % (classLV, equipPlace, isSave, washLV, maxWashLV), playerID)
@@ -427,6 +416,8 @@
 def CalcAttr_EquipWash(curPlayer, equipIndex, equipPlace, allAttrList):
     ## 装备位洗练属性
     washLV = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_EquipWashLV % equipIndex) + 1
+    maxWashLV = GetEquipWashMaxLV(curPlayer, equipIndex, equipPlace)
+    washLV = min(washLV, maxWashLV)
     washType = GetEquipWashType(equipPlace)
     if washType is None:
         return
@@ -436,7 +427,9 @@
     #GameWorld.DebugLog("装备位属性: equipPlace=%s,washLV=%s" % (equipPlace, washLV))
     for attrNum in range(1, Def_EquipWashMaxAttrCount + 1):
         attrID = getattr(washData, "GetAttrType%s" % attrNum)()
+        maxValue = getattr(washData, "GetAttrMax%s" % attrNum)()
         attrValue = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_EquipWashValue % (equipIndex, attrNum))
+        attrValue = min(attrValue, maxValue)
         #GameWorld.DebugLog("    attrNum=%s,attrID=%s, attrValue=%s" % (attrNum, attrID, attrValue))
         if attrValue:
             PlayerControl.CalcAttrDict_Type(attrID, attrValue, allAttrList)

--
Gitblit v1.8.0