| | |
| | | import IPY_GameWorld
|
| | |
|
| | | def CheckCanHappen(attacker, defender, passiveEffect, skillID, **skillkwargs):
|
| | | # 先判断概率
|
| | | rate = passiveEffect.GetEffectValue(0)
|
| | | if rate and not GameWorld.CanHappen(rate):
|
| | | return False
|
| | | |
| | | # 关联技能
|
| | | checkSkillID = passiveEffect.GetEffectValue(2)
|
| | | if checkSkillID:
|
| | | useSkill = skillkwargs.get("useSkill", None)
|
| | | if not useSkill:
|
| | | return False
|
| | | if useSkill.GetSkillTypeID() != checkSkillID:
|
| | | return False
|
| | | |
| | | curSkill = GameWorld.GetGameData().GetSkillBySkillID(skillID)
|
| | | if not curSkill:
|
| | | return False
|
| | |
| | | return False
|
| | |
|
| | | if buff.GetLayer() <= 0:
|
| | | return False
|
| | |
|
| | | rate = passiveEffect.GetEffectValue(0)
|
| | | if rate and not GameWorld.CanHappen(rate):
|
| | | return False
|
| | |
|
| | | BuffSkill.SetBuffLayer(attacker, buff, buff.GetLayer()-1, skillTypeID=curSkill.GetSkillTypeID())
|