hxp
2020-01-17 16abecd38712b22026a85e1119f2f4c38d89a00f
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/BuffSkill.py
@@ -126,7 +126,7 @@
    if not SkillCommon.IsBuff(curSkill):
        GameWorld.ErrLog("%s 不能加这个buff, 因为它是攻击技能! %s-->TypeID = %d"%(curObj.GetName(), curSkill.GetSkillName(), curSkill.GetSkillType()))
        return False
    1/0
    buffTuple = SkillCommon.GetBuffManagerByBuffType( curObj, buffType )
    #通过类型获取目标的buff管理器为空,则跳出
    if buffTuple == ():
@@ -232,14 +232,13 @@
                changeLayer = True
                    
            # Def_Buff_Replace_New和Def_Buff_Recharge 均可走到此逻辑
            __BuffCanRemain(buffState, curBuff, i, resultTime, plusValueList, buffOwner)
            # 此处考虑下plusValue变强是否刷属性
            #DoAddBuffOver(curObj, curSkill, addBuff, tick)
            __BuffCanRemain(curObj, buffState, curBuff, i, resultTime, plusValueList, buffOwner)
            return changeLayer
        else:
            if buffReplaceType == ChConfig.Def_Buff_Recharge:
                # 充能型
                __BuffCanRemain(buffState, curBuff, i, resultTime, plusValueList, buffOwner)
                __BuffCanRemain(curObj, buffState, curBuff, i, resultTime, plusValueList, buffOwner)
                return
            
            processInterval = curBuff.GetProcessInterval()
@@ -414,7 +413,7 @@
        # 此处不能传技能curSkill 屏蔽被动触发被动限制
        # 暂且特殊处理控制类buff才触发
        if SkillCommon.GetBuffType(curSkill) == IPY_GameWorld.bfActionBuff:
            PassiveBuffEffMng.OnPassiveBuffTrigger(curObj, buffOwner, None, ChConfig.TriggerType_AddBuffOver, tick)
            PassiveBuffEffMng.GetValueByPassiveBuffTriggerType(curObj, buffOwner, curSkill, ChConfig.TriggerType_AddBuffOver, False)
        
    #是否是持续性技能
    isLstSkill = curSkill.GetSkillType() in ChConfig.Def_LstBuff_List
@@ -437,7 +436,7 @@
        if not callFunc:
            continue
        
        callFunc(curObj, addBuff, curEffect, tick)
        callFunc(curObj, addBuff, curEffect, tick, buffOwner)
    
    return
@@ -545,14 +544,15 @@
#  @param tick 当前时间
#  @return None
#  @remarks 函数详细说明.
def __BuffCanRemain(buffState, curBuff, buffIndex, resultTime, plusValueList, buffOwner):
def __BuffCanRemain(curObj, buffState, curBuff, buffIndex, resultTime, plusValueList, buffOwner):
    if resultTime != -1:
        curBuff.SetRemainTime(resultTime)
    #重置buff总值
    __SetBuffValue(curBuff , plusValueList , buffOwner)
    buffState.Sync_RefreshBuff(buffIndex, curBuff.GetRemainTime())
    DoAddBuffOver(curObj, curBuff.GetSkill(), curBuff, buffOwner, GameWorld.GetGameWorld().GetTick())
    return
#---------------------------------------------------------------------
@@ -1002,7 +1002,10 @@
def PYSync_RefreshBuff(gameObj, curBuff, buffType, notifyAll=True, owner = None):
    sendPack = ChNetSendPack.tagObjAddBuff()
    if not curBuff:
        return
    if not curBuff.GetSkill():
        return
    sendPack.ObjType = gameObj.GetGameObjType()
    sendPack.ObjID = gameObj.GetID();
    sendPack.SkillID = curBuff.GetSkill().GetSkillID();