hch
2018-11-10 7addbe94218179036af49b5845e3635b9b3796cf
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/AttackCommon.py
@@ -1507,7 +1507,7 @@
            # 理论伤害一致, 多加点预算伤害避免计算误差
            #hurtValue = min(ShareDefine.Def_UpperLimit_DWord, hurtValue+10)
            #atkObj.SetDict(ChConfig.Def_PlayerKey_ClientMaxHurtValue, int(hurtValue*1.2))
            hurtValue = atkObj.GetMaxAtk()*atkSkillPer*10 + atkObj.GetSuperHit()   # 加入被动计算不准确改成估算
            hurtValue = atkObj.GetMaxAtk()*atkSkillPer*20   # 加入被动计算不准确改成估算
            
        clientValue, hurtType = SkillShell.GetClientHurtByObj(defObj.GetID(), defObjType)
        if clientValue <= hurtValue:
@@ -1531,15 +1531,16 @@
        if absorbHurt <= defObj.GetDictByKey(ChConfig.Def_PlayerKey_AbsorbShieldMax):
            maxValue = min(absorbHurt + absortValue, defObj.GetDictByKey(ChConfig.Def_PlayerKey_AbsorbShieldMax))
            defObj.SetDict(ChConfig.Def_PlayerKey_AbsorbShield, maxValue)    # 记录护盾吸收的伤害用于爆炸
    # buff减少伤害百分比
    reducePer = PassiveBuffEffMng.GetValueByPassiveBuffTriggerType(defObj, atkObj, None, ChConfig.TriggerType_ReduceHurtHPPer)
    # 被攻击被动技能特殊减免 受到单次伤害超过生命上限10%时候,减免50%伤害,CD10秒
    defObj.SetDict(ChConfig.Def_PlayerKey_curHurtValue, hurtValue)
    reducePer += PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(defObj, atkObj, None, ChConfig.TriggerType_ReduceHurtHPPer)
    hurtValue = int(hurtValue*(max(ChConfig.Def_MaxRateValue - reducePer, 0))*1.0/ChConfig.Def_MaxRateValue)
    
    # 斩杀,濒死等情况的处理
    if PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(atkObj, defObj, curSkill, ChConfig.TriggerType_AttackKill):
        # նɱ
@@ -1562,7 +1563,6 @@
        remainHP = min(dMaxHP, max(0, dHP - hurtValue)) # 剩余血量
    
    remainHP = int(remainHP)    #防范
    if defObjType == IPY_GameWorld.gotPlayer:
        GameObj.SetHP(defObj, remainHP, False)
            
@@ -1895,7 +1895,7 @@
        return 0, ChConfig.Def_HurtType_Miss
    hurtFormula = hurtDist[hurtFormulaKey]
    hurtValue = int(eval(FormulaControl.GetCompileFormula(hurtFormulaKey, hurtFormula)))
    if hurtType == ChConfig.Def_HurtType_Normal and SuppressValueRealmRate > 10000:
        # 存在压制
        return hurtValue, ChConfig.Def_HurtType_RealmSupress