| | |
| | | #-------------------------------------------------------------------------------
|
| | |
|
| | | import GameWorld
|
| | | import TurnSkill
|
| | | import TurnBuff
|
| | | import random
|
| | |
|
| | | def DoSkillEffectLogic(turnFight, batObj, tagObj, effSkill, curEffect, connSkill, connBuff, **kwargs):
|
| | | skillTypeList = curEffect.GetEffectValue(0) # buff技能类型
|
| | | delBuffCnt = curEffect.GetEffectValue(1) # 移除个数,0为全部
|
| | | isSelf = curEffect.GetEffectValue(2) # 目标是否强制为自己
|
| | | |
| | | effObj = batObj if isSelf else tagObj
|
| | | if not effObj:
|
| | | return
|
| | |
|
| | | buffList = []
|
| | | buffMgr = tagObj.GetBuffManager()
|
| | | buffMgr = effObj.GetBuffManager()
|
| | | for index in range(buffMgr.GetBuffCount()):
|
| | | buff = buffMgr.GetBuffByIndex(index)
|
| | | skillData = buff.GetSkillData()
|
| | |
| | | buffList = buffList[:delBuffCnt]
|
| | |
|
| | | for buff in buffList:
|
| | | GameWorld.DebugLog("移除/驱散buff: tagID=%s,buffID=%s" % (tagObj.GetID(), buff.GetBuffID()))
|
| | | TurnBuff.DoBuffDel(turnFight, tagObj, buff, connSkill)
|
| | | GameWorld.DebugLog("移除/驱散buff: tagID=%s,buffID=%s" % (effObj.GetID(), buff.GetBuffID()))
|
| | | TurnBuff.DoBuffDel(turnFight, effObj, buff, connSkill)
|
| | | |
| | | exSkillID = curEffect.GetEffectValue(3) # 成功驱散额外释放技能ID
|
| | | if exSkillID:
|
| | | effectID = curEffect.GetEffectID()
|
| | | effSkillID = effSkill.GetSkillID()
|
| | | TurnSkill.OnUsePassiveSkill(turnFight, batObj, effObj, exSkillID, connSkill, effSkillID, effectID, connBuff, **kwargs)
|
| | |
|
| | | return True
|