| | |
| | | import TurnBuff
|
| | | import GameWorld
|
| | | import TurnSkill
|
| | | import TurnPassive
|
| | | import ChConfig
|
| | |
|
| | | def DoSkillEffectLogic(turnFight, batObj, tagObj, effSkill, curEffect, connSkill, connBuff, **kwargs):
|
| | | buffState = curEffect.GetEffectValue(0)
|
| | | needLayers = curEffect.GetEffectValue(1) # 达到多少层时才消耗
|
| | | delLayers = curEffect.GetEffectValue(2) # 扣除层数
|
| | | exSkillID = curEffect.GetEffectValue(3) # 释放技能ID
|
| | | exSkillID = curEffect.GetEffectValue(2) # 释放技能ID
|
| | | if not buffState or not needLayers:
|
| | | return
|
| | |
|
| | |
| | | if not curBuff:
|
| | | return
|
| | | buffLayers = curBuff.GetLayer()
|
| | | reduecLayer = TurnPassive.GetTriggerEffectValue(turnFight, batObj, tagObj, ChConfig.PassiveEff_ReduceLayer5023, connSkillTypeID=curBuff.GetSkillTypeID(), reduceBuffState=buffState)
|
| | | if reduecLayer:
|
| | | needLayers = max(0, needLayers - reduecLayer)
|
| | | GameWorld.DebugLogEx("减少5023效果所需消耗的buff层级! buffState=%s,reduecLayer=%s,needLayers=%s", buffState, reduecLayer, needLayers)
|
| | | |
| | | if buffLayers < needLayers:
|
| | | GameWorld.DebugLog("buff状态层数不足不触发! buffState=%s,buffLayers=%s < %s" % (buffState, buffLayers, needLayers))
|
| | | GameWorld.DebugLogEx("buff状态层数不足不触发! buffState=%s,buffLayers=%s < %s", buffState, buffLayers, needLayers)
|
| | | return
|
| | | updLayer = buffLayers - delLayers
|
| | | GameWorld.DebugLog("扣除buff层释放技能: buffState=%s,buffLayers=%s,delLayers=%s" % (buffState, buffLayers, delLayers))
|
| | | if delLayers:
|
| | | updLayer = buffLayers - needLayers
|
| | | GameWorld.DebugLogEx("消耗buff层释放技能: buffState=%s,buffLayers=%s,delLayers=%s,updLayer=%s", buffState, buffLayers, needLayers, updLayer)
|
| | | TurnBuff.DoBuffLayerChange(turnFight, batObj, curBuff, updLayer, connSkill)
|
| | |
|
| | | if exSkillID:
|