xdh
2018-11-24 613652a797c383860180995af17e0a36e35bc2ef
4710 【1.3】【后端】魔族法宝副本修改(老号处理)
1个文件已修改
28 ■■■■■ 已修改文件
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerMagicWeapon.py 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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()