hxp
2021-01-14 1f8360c2e5992e9be8585cdbb832c7827862873d
4903 【主干】【BT】穿脱套装部件重新激活套装战力显示异常;
2个文件已修改
29 ■■■■ 已修改文件
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChEquip.py 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChEquip.py
@@ -1064,7 +1064,7 @@
        return
    #GameWorld.DebugLog('    suitCntDict=%s'%suitCntDict)
    learnSkillList = []
    delSkillID = []
    delSkillIDList = []
    skillManager = curPlayer.GetSkillManager()
    playerName = curPlayer.GetName()
    for suiteID, starList in suitCntDict.items():
@@ -1094,7 +1094,7 @@
            else:
                if skillID and skillManager.FindSkillBySkillTypeID(skillID):
                    delSkillID.append(skillID)
                    delSkillIDList.append(skillID)
                    skillManager.DeleteSkillBySkillTypeID(skillID)
                            
            
@@ -1105,7 +1105,11 @@
            continue
        skillManager.LVUpSkillBySkillTypeID(skillID)   
        PlayerControl.PlayerControl(curPlayer).RefreshSkillFightPowerEx(skillID, 0)
    if learnSkillList or delSkillID:
    for delSkillID in delSkillIDList:
        PlayerControl.PlayerControl(curPlayer).RefreshSkillFightPowerByDel(delSkillID)
    if learnSkillList or delSkillIDList:
        # 重刷被动技能
        PassiveBuffEffMng.GetPassiveEffManager().RegistPassiveEff(curPlayer)    
    return
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
@@ -5063,6 +5063,25 @@
            
        return
    
    def RefreshSkillFightPowerByDel(self, delSkillID, isRefreshState=True):
        curPlayer = self.__Player
        # 新技能战力-旧技能战力为增加的技能战力
        curSkill = GameWorld.GetGameData().GetSkillBySkillID(delSkillID)
        if not curSkill:
            return
        delFightPower = curSkill.GetFightPower()
        mfpType = ChConfig.Def_SkillFuncType_MFPType.get(curSkill.GetFuncType(), ShareDefine.Def_MFPType_Role)
        skillMFP = curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_MFPSkill % mfpType)
        curPlayer.SetDict(ChConfig.Def_PlayerKey_MFPSkill % mfpType, max(0, skillMFP - delFightPower))
        GameWorld.DebugLog("刷新技能附加战斗力: delSkillID=%s,mfpType=%s,skillMFP=%s,delFightPower=%s"
                           % (delSkillID, mfpType, skillMFP, delFightPower), curPlayer.GetPlayerID())
        if isRefreshState:
            # 如果需要同步排行榜的话先强制刷属性
            self.RefreshPlayerAttrState()
        return
    ## 计算被动buff属性加成
    #  @param self 类实例
    #  @return