| | |
| | | import IpyGameDataPY
|
| | | import TurnBuffs
|
| | | import BattleObj
|
| | | import ObjPool
|
| | | import TurnPassive
|
| | |
|
| | | GameWorld.ImportAll("Script\\Skill\\", "TurnBuffs")
|
| | |
| | | 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):
|
| | |
| | | ## 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):
|
| | |
| | |
|
| | | 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()
|
| | |
| | | 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
|