From 613652a797c383860180995af17e0a36e35bc2ef Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期六, 24 十一月 2018 14:15:01 +0800
Subject: [PATCH] 4710 【1.3】【后端】魔族法宝副本修改(老号处理)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerMagicWeapon.py |   28 ++++++++++++++++++----------
 1 files changed, 18 insertions(+), 10 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerMagicWeapon.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerMagicWeapon.py
index a228d01..2a3d265 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerMagicWeapon.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerMagicWeapon.py
@@ -535,15 +535,23 @@
                 for attid, attnum in IpyGameDataPY.GetFuncEvalCfg('MWSignDayAttr', 1, {}).items():
                     addAttr[int(attid)] = attnum * totalSignNum
                 GameWorld.AddDictValue(allAttrDict, addAttr)
-        else:
-            fbpasslv = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_MWFBPassLevel % magicWeaponID)
-            if fbpasslv: #副本关卡属性
-                fbipyData = IpyGameDataPY.GetIpyGameData('MagicWeaponFB', magicWeaponID, fbpasslv)
-                if fbipyData:
-                    attrDict = fbipyData.GetAttrDict()
-                    for effID, value in attrDict.items():
-                        effID = int(effID)
-                        allAttrDict[effID] = allAttrDict.get(effID, 0) + value
+        
+        fbpasslv = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_MWFBPassLevel % magicWeaponID)
+        #老号已激活的魔族法宝没有关卡属性,直接设置满关卡
+        if isActive and not fbpasslv:
+            ipyDataList = IpyGameDataPY.GetIpyGameDataByCondition('MagicWeaponFB', {'MWID':magicWeaponID}, True, False)
+            if ipyDataList:
+                maxLevel = ipyDataList[-1].GetLevel()
+                fbpasslv = maxLevel
+                PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_MWFBPassLevel % magicWeaponID, maxLevel)
+                GameWorld.Log('老号已激活的魔族法宝没有关卡属性,直接设置满关卡 magicWeaponID=%s,maxLevel=%s'%(magicWeaponID, maxLevel), curPlayer.GetID())
+        if fbpasslv: #副本关卡属性
+            fbipyData = IpyGameDataPY.GetIpyGameData('MagicWeaponFB', magicWeaponID, fbpasslv)
+            if fbipyData:
+                attrDict = fbipyData.GetAttrDict()
+                for effID, value in attrDict.items():
+                    effID = int(effID)
+                    allAttrDict[effID] = allAttrDict.get(effID, 0) + value
                 
                 
         for effID, value in allAttrDict.items():
@@ -1144,7 +1152,7 @@
     return
 
 def UptateMWFBPasslv(curPlayer, mwID, passLV):
-    GameWorld.Log('更新关卡 mwID=%s,level=%s'%(mwID, passLV))
+    GameWorld.Log('更新关卡 mwID=%s,level=%s'%(mwID, passLV), curPlayer.GetID())
     PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_MWFBPassLevel % mwID, passLV)
     CalcMagicWeaponAttr(curPlayer)
     PlayerControl.PlayerControl(curPlayer).RefreshPlayerAttrState()

--
Gitblit v1.8.0