| | |
| | | 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实例
|
| | |
| | | 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()):
|