hch
2019-06-25 f12bbdcbaebff76914ae6dc735941d19f8f4e87f
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameSkills/SkillCommon.py
@@ -1272,7 +1272,12 @@
        if curObj.GetGameNPCObjType() == IPY_GameWorld.gnotPet:
            PetControl.SetPetHP(curObj, remainHP)
        else:
            GameObj.SetHP(curObj, remainHP)
            timeLostHPIpyData = IpyGameDataPY.GetIpyGameDataNotLog("NPCTimeLostHP", curObj.GetNPCID())
            if timeLostHPIpyData:
                AttackCommon.UpdateTimeMonsterHP(curObj, timeLostHPIpyData, tick)
            else:
                GameObj.SetHP(curObj, remainHP)
            if not view :   # 已广播的不重复
                curObj.Notify_HPEx()
@@ -1282,10 +1287,11 @@
        GameObj.SetHP(curObj, remainHP, not view)
    
    AttackCommon.WriteHurtLog(buffOwner, curObj, curSkill, lostValue, hurtType, "持续掉血")
    if view:
        #广播伤血类型
        AttackCommon.ChangeHPView(curObj, buffOwner, skillTypeID, notifyLostValue, hurtType)
        if buffOwner:
            PassiveBuffEffMng.OnPassiveSkillTrigger(buffOwner, curObj, curSkill, ChConfig.TriggerType_AttackOverPassive, tick)
        
    # 濒死状态触发技能
    if GameObj.GetHP(curObj) == 0:
@@ -1604,14 +1610,16 @@
    
    #---添加的Buff值---
    addBuffValue = 0
    #是否是持续性技能
    if curSkill.GetSkillType() in ChConfig.Def_LstBuff_List:
        callFunc = GameWorld.GetExecFunc(GameSkills, "SkillBuff_AddBuffValue.AddBuffValue")
        if callFunc != None:
            addBuffValue = int(callFunc(curObj, None, curSkill, tick))
        else:
            GameWorld.ErrLog("SkillBuff_AddBuffValue.AddBuffValue")
    #===========================================================================
    # #是否是持续性技能
    # if curSkill.GetSkillType() in ChConfig.Def_LstBuff_List:
    #    callFunc = GameWorld.GetExecFunc(GameSkills, "SkillBuff_AddBuffValue.AddBuffValue")
    #
    #    if callFunc != None:
    #        addBuffValue = int(callFunc(curObj, None, curSkill, tick))
    #    else:
    #        GameWorld.ErrLog("SkillBuff_AddBuffValue.AddBuffValue")
    #===========================================================================
    
    return BuffSkill.DoAddBuff(curObj , buffType, curSkill , tick, [addBuffValue])
@@ -1870,6 +1878,7 @@
                                       ChConfig.Def_SkillType_PassiveActionBuff,  #被动触发的控制类buff 18
                                       ChConfig.Def_SkillType_PassiveLstPlsBuff,  #被动触发持续增益类buff 21
                                       ChConfig.Def_SkillType_PassiveLstDepBuff,  #被动触发持续减益类buff 22
                                       ChConfig.Def_SkillType_PassiveLstPlsBuffAtk,
                                       ]
## 被动触发的技能效果或者释放技能
@@ -1881,6 +1890,7 @@
                                       ChConfig.Def_SkillType_PassiveActionBuff,  #被动触发的控制类buff 18
                                       ChConfig.Def_SkillType_PassiveLstPlsBuff,  #被动触发持续增益类buff 21
                                       ChConfig.Def_SkillType_PassiveLstDepBuff,  #被动触发持续减益类buff 22
                                       ChConfig.Def_SkillType_PassiveLstPlsBuffAtk,
                                       ]
    
def isPassiveAttr(curSkill):
@@ -2126,6 +2136,7 @@
    #技能附加
    skillValue = curSkill.GetEffect(0).GetEffectValue(1)
    
    skillPer += PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(userObj, None, curSkill, ChConfig.TriggerType_AddHP)/float(ChConfig.Def_MaxRateValue)
    #公式计算治疗值 
    cureHP = int((cureBaseValue * skillPer + skillValue + addExValue) * curePercent)