ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnBuff.py
@@ -21,7 +21,6 @@
import IpyGameDataPY
import TurnBuffs
import BattleObj
import ObjPool
import TurnPassive
GameWorld.ImportAll("Script\\Skill\\", "TurnBuffs")
@@ -69,13 +68,11 @@
        return
    ownerID = buffOwner.GetID() if buffOwner else 0
    tagObjList = [batObj]
    poolMgr = ObjPool.GetPoolMgr()
    useSkill = poolMgr.acquire(BattleObj.PySkill, skillIpyData, ownerID)
    useSkill = BattleObj.PySkill(skillIpyData, ownerID)
    useSkill.SetTagObjList(tagObjList)
    
    addBuff = OnAddBuff(turnFight, batObj, useSkill, buffOwner, bySkill, afterLogic, isSync=isSync, setLayerCnt=setLayerCnt)
    
    poolMgr.release(useSkill)
    return addBuff
def OnAddBuff(turnFight, batObj, buffSkill, buffOwner=None, bySkill=None, afterLogic=False, isSync=True, **kwargs):
@@ -364,13 +361,14 @@
    DoBuffDel(turnFight, batObj, curBuff, relatedSkill)
    return
def DoBuffDel(turnFight, batObj, curBuff, relatedSkill=None, afterLogic=False, tagObj=None, noRefreshAttr=False, isSync=True):
def DoBuffDel(turnFight, batObj, curBuff, relatedSkill=None, afterLogic=False, tagObj=None, noRefreshAttr=False, isSync=True, afterTriggerData=None):
    '''删除buff
    @param relatedSkill: 关联的技能
    @param afterLogic: 是否需要在关联技能处理完毕后才处理删除后续逻辑,如通知,触发被动等
    @param tagObj: 由谁引起的buff删除
    @param noRefreshAttr: 不刷新属性
    @return: isRefreshAttr 是否需要刷属性,如果设置了 noRefreshAttr,则要在外层刷属性
    @return: afterTriggerData afterLogic为True时,附带的被动触发数据,因为buff被删除后该buff自带的被动效果也会被删除,所以先缓存供后续处理
    '''
    
    release = True # 释放buff实例
@@ -401,7 +399,7 @@
        SyncBuffDel(turnFight, buffObjID, buffID, relatedSkillID)
    if afterLogic and relatedSkill:
        tagObjID = tagObj.GetID() if tagObj else buffObjID
        relatedSkill.AddAfterLogic(ChConfig.AfterLogic_DelBuff, [buffObjID, curBuff, tagObjID])
        relatedSkill.AddAfterLogic(ChConfig.AfterLogic_DelBuff, [buffObjID, curBuff, tagObjID, afterTriggerData])
        
    #buff消失的触发
    for effectIndex in range(0, skillData.GetEffectCount()):
@@ -448,7 +446,6 @@
    ## buff删除后续处理逻辑处理完毕
    relatedSkillID = relatedSkill.GetSkillID() if relatedSkill else 0
    SyncBuffDel(turnFight, buffObjID, curBuff.GetBuffID(), relatedSkillID)
    ObjPool.GetPoolMgr().release(curBuff)
    return
def DoBuffProcess(turnFight, batObj, curBuff, **kwargs):
@@ -640,7 +637,7 @@
def SyncBuffRefresh(turnFight, curBatObj, curBuff, relatedSkillID=0, isNewAdd=False):
    ## @param curBatObj: 该buff的持有者,即在谁身上
    clientPack = ObjPool.GetPoolMgr().acquire(ChPyNetSendPack.tagSCBuffRefresh)
    clientPack = ChPyNetSendPack.tagSCBuffRefresh()
    clientPack.ObjID = curBatObj.GetID()
    clientPack.BuffID = curBuff.GetBuffID()
    clientPack.SkillID = curBuff.GetSkillID()
@@ -656,7 +653,7 @@
    return
def SyncBuffDel(turnFight, objID, buffID, relatedSkillID=0):
    clientPack = ObjPool.GetPoolMgr().acquire(ChPyNetSendPack.tagSCBuffDel)
    clientPack = ChPyNetSendPack.tagSCBuffDel()
    clientPack.ObjID = objID
    clientPack.BuffID = buffID
    clientPack.RelatedSkillID = relatedSkillID