hch
2019-05-20 80cec3121d7ea24123404d2b0dc95c603b780bcd
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameBuffs/BuffProcess_1034.py
@@ -22,6 +22,7 @@
import PlayerControl
import PassiveBuffEffMng
import GameObj
import BuffSkill
#---------------------------------------------------------------------
#全局变量
#---------------------------------------------------------------------
@@ -44,6 +45,14 @@
    
    SkillCommon.SkillLostHP(defender, curBuffSkillID, buffOwner, singleDecHP, tick, hurtType=ChConfig.Def_HurtType_Bleed)
    
    if buffOwner and GameObj.GetHP(buffOwner) > 0:
        # 此处暂无法用被动效果实现
        buffManager = defender.GetProcessDeBuffState()
        burnToHPEffect, plusValue, skillID = BuffSkill.FindBuffEffectByOwnertID(buffManager, ChConfig.Def_Skill_Effect_BurnToAddHP,
                                                                           buffOwner.GetID(), buffOwner.GetGameObjType())
        if burnToHPEffect:
            addHP = singleDecHP*burnToHPEffect.GetEffectValue(0)/ChConfig.Def_MaxRateValue
            SkillCommon.SkillAddHP(buffOwner, curBuffSkillID, buffOwner, addHP, tick, hurtType=ChConfig.Def_HurtTYpe_Recovery)
    return
# 灼烧的特征为延长buff时间,重算伤害
@@ -51,6 +60,8 @@
    curEffect = curSkill.GetEffect(0)
    skillPer = curEffect.GetEffectValue(0)
    skillPer += PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(attacker, defender, curSkill, ChConfig.TriggerType_BurnPer)
    skillPer += PassiveBuffEffMng.GetValueByPassiveBuffTriggerType(attacker, defender, curSkill, ChConfig.TriggerType_BurnPer)
    skillEnhance = curEffect.GetEffectValue(1) + PlayerControl.GetBurnValue(attacker)
    skillPer = skillPer*1.0/ChConfig.Def_MaxRateValue
    # 灼烧特殊公式
@@ -66,10 +77,10 @@
        return
    
    # 在防御者身上同时取消同一个释放者的相关buff
    defender.SetDict("burnOwnerID", curBuff.GetOwnerID())
    defender.SetDict(ChConfig.Def_PlayerKey_BurnOwnerID, curBuff.GetOwnerID())
    
    PassiveBuffEffMng.GetValueByPassiveBuffTriggerType(defender, None, None, ChConfig.TriggerType_BurnDisappear)
    
    defender.SetDict("burnOwnerID", 0)
    defender.SetDict(ChConfig.Def_PlayerKey_BurnOwnerID, 0)
    return