hch
2019-04-29 9aec240e848ba4bb6b473707ad8f48aee5180141
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameSkills/SkillCommon.py
@@ -1222,18 +1222,15 @@
            
    return
## 技能伤血
#  @param curObj 当前对象
#  @param skillTypeID 技能类型ID
#  @param buffOwner buff拥有者
#  @param lostValue 丢失值
#  @param tick 当前时间
#  @param view 是否广播
#  @param reduce 是否扣血
#  @return None
#  @remarks 函数详细说明.
def SkillLostHP(curObj, skillTypeID, buffOwner, lostValue, tick, view=True, reduceHP=True,
                isDoAttackResult=True, hurtType=ChConfig.Def_HurtType_Normal):
## 直接扣血不走公式
# view 是否广播客户端飘血
# isDoAttackResult 是否立即处理结果,为False必须外层有处理
# hurtType 飘血类型
# skillAffect 默认True 会被各种技能BUFF盾等影响伤血数值
#             False代表一些特殊处理纯固定伤害飘字(如采集固定掉1点血)
def SkillLostHP(curObj, skillTypeID, buffOwner, lostValue, tick, view=True,
                isDoAttackResult=True, hurtType=ChConfig.Def_HurtType_Normal,
                skillAffect=True):
    if lostValue <= 0:
        GameWorld.Log('###技能伤害血量异常,数值错误 = %s,技能类型ID = %s' % (lostValue, skillTypeID))
        return
@@ -1257,10 +1254,8 @@
        # 没有血量不能再触发
        return
    
    if reduceHP :
        lostValue = AttackCommon.CalcAtkProDef(buffOwner, curObj, lostValue, curSkill, tick)
        # 血盾
        lostValue = AttackCommon.CalcBloodShield(buffOwner, curObj, lostValue)
    if skillAffect:
        lostValue = AttackCommon.CalcHurtHPWithBuff(buffOwner, curObj, lostValue, curSkill, tick)
        
        #剩余血量
        remainHP = max(curObjHP_BeforeAttack - lostValue , 0)