| | |
| | |
|
| | | def OnBuffDisappear(curObj, curSkill, curBuff, curEffect, tick):
|
| | | if tick - curBuff.GetValue() < curSkill.GetLastTime():
|
| | | # 非自然消失
|
| | | return
|
| | |
|
| | | if curEffect.GetEffectValue(1):
|
| | | if not GameObj.GetPyPlayerState(defender, pyPlayerState):
|
| | | return False
|
| | | |
| | | boomValue = curBuff.GetValue()
|
| | | # 剩余护盾值用于爆炸
|
| | | if boomValue == 0:
|
| | | return
|
| | | |
| | | boomValue = int(boomValue*float(curEffect.GetEffectValue(1))/ChConfig.Def_MaxRateValue)
|
| | | #效果值 第三个值为技能ID
|
| | | boomID = curEffect.GetEffectValue(2)
|
| | | skillData = GameWorld.GetGameData().GetSkillBySkillID(boomID)
|
| | | if not skillData:
|
| | | return
|
| | | |
| | | # 存储起来用于伤害
|
| | | curObj.SetDict(ChConfig.Def_PlayerKey_MoreHurtValue, boomValue)
|
| | | |
| | | SkillShell.Trigger_UseSkill(curObj, None, skillData, tick, curObj.GetPosX(), curObj.GetPosY())
|
| | | curObj.SetDict(ChConfig.Def_PlayerKey_MoreHurtValue, 0)
|
| | |
|
| | | if not GameObj.GetPyPlayerState(curObj, curEffect.GetEffectValue(1)):
|
| | | return
|
| | | |
| | | curObj.SetDict(ChConfig.Def_PlayerKey_SkillInDelBuff, curEffect.GetEffectValue(0)) |
| | | return |