ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuff/PassiveBuff_4508.py
@@ -19,6 +19,20 @@
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
@@ -35,10 +49,6 @@
        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())