| | |
| | | def DoSkillEffectLogic(turnFight, batObj, tagObj, effSkill, curEffect, connSkill, connBuff, **kwargs):
|
| | | skillID = curEffect.GetEffectValue(0) # 技能ID,为0时释放本技能
|
| | | setLayerCnt = curEffect.GetEffectValue(1) # 指定buff层级
|
| | | byTagStateList = curEffect.GetEffectValue(2) # 或根据目标xx状态 [状态1, 状态2, ...]总层级
|
| | | if byTagStateList:
|
| | | layerTotal = 0
|
| | | tagBuffMgr = tagObj.GetBuffManager()
|
| | | for index in range(tagBuffMgr.GetBuffCount()):
|
| | | buff = tagBuffMgr.GetBuffByIndex(index)
|
| | | skillData = buff.GetSkillData()
|
| | | if skillData.GetCurBuffState() not in byTagStateList:
|
| | | continue
|
| | | layerTotal += buff.GetLayer()
|
| | | setLayerCnt = layerTotal
|
| | | |
| | | if setLayerCnt <= 0:
|
| | | return
|
| | | |
| | | if not skillID:
|
| | | passiveSkill = effSkill
|
| | | else:
|