hxp
2019-10-29 2941a7635bb04ca59afa820b51a23aca9dc70eb9
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameBuffs/BuffProcess_1033.py
@@ -40,10 +40,7 @@
    layer = max(curBuff.GetLayer(), 1)
    #单次伤害, 毒有层级的情况
    singleDecHP = curBuff.GetValue()*layer
    hurtPer = FindBuffPer(defender, curBuff)    # 找到另外一个buff对中毒的伤害加成
    singleDecHP = int((hurtPer + ChConfig.Def_MaxRateValue)*1.0/ChConfig.Def_MaxRateValue*singleDecHP)
    GameWorld.DebugLog("1033---------%s-%s-%s-%s"%(curBuff.GetValue(), layer, hurtPer, singleDecHP ) )
    #GameWorld.DebugLog("1033---------%s-%s-%s-%s"%(curBuff.GetValue(), layer, hurtPer, singleDecHP ) )
    #buff拥有者
    buffOwner = SkillCommon.GetBuffOwner(curBuff)
    
@@ -70,12 +67,19 @@
    hurtValue, hurtType = AttackCommon.CalcHurtHP(attacker, defender, curSkill, 
                            skillEnhance, skillPer, GameWorld.GetGameWorld().GetTick(), 
                            ChConfig.Def_Skill_HappenState_HitOn)
    addTime = PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(attacker, None, curSkill, ChConfig.TriggerType_BuffTime)
    buffTick = SkillShell.GetProcessBuffTick(curSkill, attacker)
    # 单次伤害值,伤害类型,次数(配合效果ID9999的间隔)
    return [hurtValue, hurtType, int(addTime/buffTick + curEffect.GetEffectValue(2))]
    # 单次伤害值,伤害类型
    return [hurtValue, hurtType]
# 次数(配合效果ID9999的间隔)
def DoAddBuffOver(curObj, curBuff, curEffect, tick, buffOwner):
    if not buffOwner:
        return
    buffTick = SkillShell.GetProcessBuffTick(curBuff.GetSkill(), buffOwner)
    curBuff.SetValue2(curBuff.GetRemainTime()/buffTick)
    return
# 消失前如有未执行次数则补上
#  @param defender 承受者
@@ -111,7 +115,7 @@
    
    boomSkill = skills[0]
    curEffect = curSkill.GetEffect(0)
    skillPer = curEffect.GetEffectValue(0)/float(ChConfig.Def_MaxRateValue)
    skillPer = curEffect.GetEffectValue(0)
    skillEnhance = curEffect.GetEffectValue(1)
    BaseAttack.AttackAreaDefenderNotify(attacker, defender, defender.GetPosX(), defender.GetPosY(), boomSkill,
@@ -120,32 +124,6 @@
    return
# 找到对应加成伤害的毒
def FindBuffPer(curObj, curBuff):
    ownerID = curBuff.GetOwnerID()
    ownerType = curBuff.GetOwnerType()
    if not ownerType:
        return 0
    buffManager = curObj.GetDeBuffState()
    curEffect, plusValue, skillID = BuffSkill.FindBuffEffectByOwnertID(buffManager, ChConfig.Def_Skill_Effect_ProBloodPer, ownerID, ownerType)
    if not curEffect:
        return 0
    # buff相同归属者的指定buff才有伤害加成
    for i in range(buffManager.GetBuffCount()):
        findBuff = buffManager.GetBuff(i)
        if findBuff.GetBuffID() != skillID:
            continue
        if findBuff.GetOwnerID() != ownerID:
            continue
        if curEffect.GetEffectValue(1) == curBuff.GetBuffID():
            return curEffect.GetEffectValue(0)
    return 0