hxp
2018-09-19 7fbb43a339c8b3536aface156013b49edcb6ad98
3681 【后端】神兽基础战斗力
2个文件已修改
12 ■■■■■ 已修改文件
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerDogz.py 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -131,6 +131,7 @@
                        ("list", "BaseAttrTypes", 0),
                        ("list", "BaseAttrValues", 0),
                        ("list", "HelpBattleSkills", 0),
                        ("DWORD", "FightPowerEx", 0),
                        ("list", "EquipPlaceColorList", 0),
                        ),
@@ -1212,6 +1213,7 @@
        self.BaseAttrTypes = []
        self.BaseAttrValues = []
        self.HelpBattleSkills = []
        self.FightPowerEx = 0
        self.EquipPlaceColorList = []
        return
        
@@ -1219,6 +1221,7 @@
    def GetBaseAttrTypes(self): return self.BaseAttrTypes # 基础属性类型列表
    def GetBaseAttrValues(self): return self.BaseAttrValues # 基础属性值列表
    def GetHelpBattleSkills(self): return self.HelpBattleSkills # 助战技能ID列表
    def GetFightPowerEx(self): return self.FightPowerEx # 助战附加战力
    def GetEquipPlaceColorList(self): return self.EquipPlaceColorList # 穿戴装备颜色限制
# 神兽强化表
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerDogz.py
@@ -125,6 +125,7 @@
    # 助战状态换装需要刷属性
    if GetDogzIsHelpFight(curPlayer, dogzID):
        RefreshDogzAttr(curPlayer)
        PlayerControl.PlayerControl(curPlayer).RefreshPlayerAttrState()
        
    return
@@ -201,6 +202,7 @@
    if GetDogzIsHelpFight(curPlayer, dogzID):
        SetDogzIsHelpFight(curPlayer, dogzID, False) # 因为脱下了状态,所以必须设置为非助战状态
        RefreshDogzAttr(curPlayer)
        PlayerControl.PlayerControl(curPlayer).RefreshPlayerAttrState()
        
    return
@@ -262,6 +264,7 @@
    GameWorld.DebugLog("神兽助战状态变更!dogzID=%s,isFight=%s" % (dogzID, isFight), playerID)
    SetDogzIsHelpFight(curPlayer, dogzID, isFight)
    RefreshDogzAttr(curPlayer)
    PlayerControl.PlayerControl(curPlayer).RefreshPlayerAttrState()
    return
@@ -432,6 +435,7 @@
    
    if isRefreshAtrr:
        RefreshDogzAttr(curPlayer)
        PlayerControl.PlayerControl(curPlayer).RefreshPlayerAttrState()
        
    return
@@ -460,6 +464,7 @@
def RefreshDogzAttr(curPlayer):
    ## 刷新神兽属性
    
    fightPowerEx = 0
    allAttrList = [{} for _ in range(4)]
    
    dogzEquipPack = curPlayer.GetItemManager().GetPack(ShareDefine.rptDogzEquip)
@@ -520,8 +525,12 @@
            ChEquip.CalcAttr_LegendAttr(curPlayer, curEquip, allAttrList)
            #GameWorld.DebugLog("    装备传奇: itemID=%s,%s" % (itemID, allAttrList))
            
        # 附加战力
        fightPowerEx += ipyData.GetFightPowerEx()
    # 保存计算值
    PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_Dogz, allAttrList)
    curPlayer.SetDict(ChConfig.Def_PlayerKey_MFPEx % ShareDefine.Def_MFPType_Dogz, fightPowerEx)
    return
def Sync_DogzInfo(curPlayer):