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