| | |
| | |
|
| | | import TurnSkill
|
| | | import IpyGameDataPY
|
| | | import GameWorld
|
| | |
|
| | | def DoSkillEffectLogic(turnFight, batObj, tagObj, effSkill, curEffect, connSkill, connBuff, **kwargs):
|
| | | skillID = curEffect.GetEffectValue(0) # 技能ID,为0时释放本技能
|
| | | checkStateList = curEffect.GetEffectValue(1) # 可附加验证目标处于xx状态
|
| | | checkOwner = curEffect.GetEffectValue(2) # 是否只限归属自己的状态buff
|
| | | isSelfDOTTrigger = curEffect.GetEffectValue(3) # 可附加验证触发的持续buff是否是自己施加的
|
| | |
|
| | | if checkStateList:
|
| | | ownerID = batObj.GetID() if checkOwner else 0
|
| | |
| | | #GameWorld.DebugLogEx("目标不在状态下不触发: tagID=%s,checkStateList=%s,ownerID=%s", tagObj.GetID(), checkStateList, ownerID)
|
| | | return
|
| | |
|
| | | if isSelfDOTTrigger:
|
| | | if not connBuff:
|
| | | GameWorld.DebugLogEx("5504没有关联的buff不处理!")
|
| | | return
|
| | | curID = batObj.GetID()
|
| | | buffOwnerID = connBuff.GetOwnerID()
|
| | | connBuffID = connBuff.GetBuffID()
|
| | | if curID != buffOwnerID:
|
| | | GameWorld.DebugLogEx("5504非自己的持续buff触发的不处理: connBuffID=%s,buffOwnerID=%s != curID=%s", connBuffID, buffOwnerID, curID)
|
| | | return
|
| | | if checkStateList:
|
| | | if connBuff.GetCurBuffState() not in checkStateList:
|
| | | GameWorld.DebugLogEx("5504非自己指定持续buff触发的不处理: connBuffID=%s,buffState=%s not in %s", connBuffID, connBuff.GetCurBuffState(), checkStateList)
|
| | | return
|
| | | |
| | | if not skillID:
|
| | | passiveSkill = effSkill
|
| | | else:
|