hch
2019-01-14 e5db513abff704b3ea6112618651e7d2b622a7c0
2866 【1.5】【1.4.100】护盾清中毒debuff引起报错
8个文件已修改
80 ■■■■■ 已修改文件
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/BuffSkill.py 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameBuffs/BuffProcess_1302.py 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameBuffs/Buff_2004.py 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameBuffs/Buff_3000.py 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameBuffs/Buff_3001.py 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameBuffs/Buff_3002.py 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameBuffs/Buff_4012.py 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameSkills/SkillModule_30.py 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/BuffSkill.py
@@ -729,6 +729,47 @@
    if passiveEff:
        passiveEff.DelBuffInfo(skillData)
    return
#---------------------------------------------------------------------
## 执行buff消失触发逻辑,不处理buff的功能逻辑,只处理需要的必须状态逻辑
#  如不处理buff的 伤害,爆炸等,但必须处理恢复眩晕状态等
def DoBuffDisApperEx( curObj, curBuff, tick ):
    #这个函数里面不能做Buff添加和删除逻辑!!!!!不然指针会错乱
    curSkill = curBuff.GetSkill()
    skillData = GameWorld.GetGameData().GetSkillBySkillID(curSkill.GetSkillID())
    #是否是持续性技能
    isLstSkill = curSkill.GetSkillType() in ChConfig.Def_LstBuff_List
    PassiveBuffEffMng.OnPassiveSkillTrigger(curObj, None, curSkill, ChConfig.TriggerType_BuffDisappear, tick)
    #buff消失的触发
    for effectIndex in range( 0, curSkill.GetEffectCount() ):
        curEffect = curSkill.GetEffect( effectIndex )
        effectID = curEffect.GetEffectID()
        if not effectID:
            continue
        if isLstSkill:
            callFunc = GameWorld.GetExecFunc( GameBuffs, "BuffProcess_%d.%s"%( effectID, "OnBuffDisappearEx") )
            if not callFunc:
                callFunc = GameWorld.GetExecFunc( GameBuffs, "Buff_%d.%s"%( effectID, "OnBuffDisappearEx") )
        else:
            callFunc = GameWorld.GetExecFunc( GameBuffs, "Buff_%d.%s"%( effectID, "OnBuffDisappearEx") )
        if not callFunc:
            continue
        callFunc( curObj, curSkill, curBuff, curEffect, tick )
    passiveEff = PassiveBuffEffMng.GetPassiveEffManager().GetPassiveEff(curObj)
    if passiveEff:
        passiveEff.DelBuffInfo(skillData)
    return
#---------------------------------------------------------------------
## buff消失
#  @param curObj 当前目标
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameBuffs/BuffProcess_1302.py
@@ -49,3 +49,7 @@
    return
# 消失前
def OnBuffDisappearEx(defender, curSkill, curBuff, curEffect, tick):
    defender.SetCanAttack(True)
    return
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameBuffs/Buff_2004.py
@@ -46,3 +46,9 @@
def OnBuffDisappear(defender, curSkill, curBuff, curEffect, tick):
    defender.SetCanAttack(True)
    return
## 执行buff消失触发逻辑,不处理buff的功能逻辑,只处理需要的必须状态逻辑
#  如不处理buff的 伤害,爆炸等,但必须处理恢复眩晕状态等
def OnBuffDisappearEx(defender, curSkill, curBuff, curEffect, tick):
    defender.SetCanAttack(True)
    return
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameBuffs/Buff_3000.py
@@ -54,4 +54,10 @@
    #    curObj.SetPKValue(0)
    curObj.SetPlayerNameColor(IPY_GameWorld.pncNormal)
    
def OnBuffDisappearEx(curObj, curSkill, curBuff, curEffect, tick):
    #if curObj.GetPKValue() > 0:
    #    curObj.SetPKValue(0)
    curObj.SetPlayerNameColor(IPY_GameWorld.pncNormal)
    
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameBuffs/Buff_3001.py
@@ -52,4 +52,8 @@
#        curObj.SetPKValue(0)
    curObj.SetPlayerNameColor(IPY_GameWorld.pncNormal)
    
def OnBuffDisappearEx(curObj, curSkill, curBuff, curEffect, tick):
    curObj.SetPlayerNameColor(IPY_GameWorld.pncNormal)
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameBuffs/Buff_3002.py
@@ -50,4 +50,10 @@
def OnBuffDisappear(curObj, curSkill, curBuff, curEffect, tick):
    curObj.SetPlayerNameColor(IPY_GameWorld.pncNormal)
    
def OnBuffDisappearEx(curObj, curSkill, curBuff, curEffect, tick):
    curObj.SetPlayerNameColor(IPY_GameWorld.pncNormal)
    
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameBuffs/Buff_4012.py
@@ -51,3 +51,10 @@
    return
    
    
def OnBuffDisappearEx(curObj, curSkill, curBuff, curEffect, tick):
    stateType = curEffect.GetEffectValue(0)
    GameObj.SetPyPlayerState(curObj, stateType, 0)
    return
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameSkills/SkillModule_30.py
@@ -63,8 +63,10 @@
        ownerID, ownerType = curBuff.GetOwnerID(), curBuff.GetOwnerType()
        
        #删除Buff
        BuffSkill.DoBuffDisApper(defender, curBuff, tick)
        BuffSkill.DoBuffDisApperEx(defender, curBuff, tick)
        buffSkill = curBuff.GetSkill()
        if not buffSkill:
            continue
        skillID = buffSkill.GetSkillID()
        buffManager.DeleteBuffByTypeID(buffSkill.GetSkillTypeID())
        SkillShell.ClearBuffEffectBySkillID(defender, skillID, ownerID, ownerType)