hch
2018-11-19 8b176b2f1af997f16531f0ee82f8ceeb7ba3ca07
4885 【1.3】【后端】潜力技能支持某个字段增加生命值配置
2个文件已修改
72 ■■■■■ 已修改文件
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BaseAttack.py 54 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BaseAttack.py
@@ -1551,32 +1551,34 @@
#  @return None
#  @remarks 设置玩家属性消耗,如魔法,XP点,HP
def SetSkillLostAttr(curPlayer, curSkill, tick):
    #-----------扣魔法
    lostMPValue = curSkill.GetMP()
    curPlayerMP = curPlayer.GetMP()
    if curPlayerMP < lostMPValue:
        GameWorld.ErrLog('释放技能 = %s异常, 魔法 = %s不足 = %s' % (
                            curSkill.GetSkillTypeID(), curPlayerMP, lostMPValue))
    if lostMPValue > 0:
        curPlayer.SetMP(curPlayer.GetMP() - lostMPValue)
        #自动回魔
        PlayerControl.PlayerAutoRestoreMP(curPlayer, tick)
    #----------扣XP点
    lostXPValue = curSkill.GetXP()
    curPlayerXP = curPlayer.GetXP()
    if curPlayerXP < lostXPValue:
        GameWorld.ErrLog('释放技能 = %s异常, XP点 = %s不足 = %s' % (
                            curSkill.GetSkillTypeID(), curPlayerXP, lostXPValue))
    if lostXPValue > 0:
        remain = curPlayer.GetXP() - lostXPValue
        remain = max(0, remain)
        curPlayer.SetDict(ChConfig.Def_PlayerKey_RecordXPValue, remain)
        curPlayer.SetXP(remain)
    #===========================================================================
    # #-----------扣魔法
    # lostMPValue = curSkill.GetMP()
    # curPlayerMP = curPlayer.GetMP()
    #
    # if curPlayerMP < lostMPValue:
    #    GameWorld.ErrLog('释放技能 = %s异常, 魔法 = %s不足 = %s' % (
    #                        curSkill.GetSkillTypeID(), curPlayerMP, lostMPValue))
    #
    # if lostMPValue > 0:
    #    curPlayer.SetMP(curPlayer.GetMP() - lostMPValue)
    #    #自动回魔
    #    PlayerControl.PlayerAutoRestoreMP(curPlayer, tick)
    #
    # #----------扣XP点
    # lostXPValue = curSkill.GetXP()
    # curPlayerXP = curPlayer.GetXP()
    #
    # if curPlayerXP < lostXPValue:
    #    GameWorld.ErrLog('释放技能 = %s异常, XP点 = %s不足 = %s' % (
    #                        curSkill.GetSkillTypeID(), curPlayerXP, lostXPValue))
    #
    # if lostXPValue > 0:
    #    remain = curPlayer.GetXP() - lostXPValue
    #    remain = max(0, remain)
    #    curPlayer.SetDict(ChConfig.Def_PlayerKey_RecordXPValue, remain)
    #    curPlayer.SetXP(remain)
    #===========================================================================
    #----------扣HP点
    lostHPValue = curSkill.GetHP()
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py
@@ -2654,6 +2654,20 @@
        OperControlManager.SetObjActState(curObj, buffSkill)
# 非属性技能算属性 特殊处理
# 法宝SP技能 如1-4级为增加属性,第5级为伤害效果,第6-10级就要包含属性和伤害效果
def CalcFabaoSPSkillAttr(curPlayer, curPlayerSkill, allAttrList):
    if curPlayerSkill.GetFuncType() != ChConfig.Def_SkillFuncType_FbSPSkill:
        return
    value = GetMaxHPAttrValue(curPlayerSkill)
    if value == 0:
        return
    PlayerControl.CalcAttrDict_Type(ShareDefine.Def_Effect_MaxHP, value, allAttrList)
    return
# 计算属性类技能的属性,同buff层不算战力
def CalcPassiveAttr_Effect(curPlayer, allAttrList):
    skillManager = curPlayer.GetSkillManager()
@@ -2662,6 +2676,7 @@
        if curPlayerSkill == None:
            continue
        
        CalcFabaoSPSkillAttr(curPlayer, curPlayerSkill, allAttrList)
        if not SkillCommon.isPassiveAttr(curPlayerSkill):
            continue
        
@@ -3394,6 +3409,9 @@
def GetUpLVCostItemNum(curSkill):
    return curSkill.GetExAttr5()
# 技能特殊增加属性配置,目前只支持生命,潜力技能专用
def GetMaxHPAttrValue(curSkill):
    return curSkill.GetMP()
##获得当前技能升级消耗的真气值
# @param curSkill 当前技能技能