#!/usr/bin/python  
 | 
# -*- coding: GBK -*-  
 | 
#  
 | 
##@package  
 | 
#  
 | 
# @todo: buffÖмÌÐø±»¿ØÖÆÑÓ³¤Ê±¼ä  
 | 
#  
 | 
# @author: Alee  
 | 
# @date 2019-5-14 ÏÂÎç02:01:54  
 | 
# @version 1.0  
 | 
#  
 | 
# @note:   
 | 
#  
 | 
#---------------------------------------------------------------------  
 | 
import ChConfig  
 | 
import GameWorld  
 | 
import SkillCommon  
 | 
import BuffSkill  
 | 
  
 | 
def CheckCanHappen(attacker, defender, passiveEffect, skillID, **skillkwargs):  
 | 
    if not defender:  
 | 
        return  
 | 
      
 | 
    useSkill = skillkwargs.get("useSkill", None)  
 | 
    if useSkill:  
 | 
        if useSkill.GetSkillTypeID() == skillID:  
 | 
            # ×Ô¼º²»¼Óʱ³¤  
 | 
            return  
 | 
          
 | 
    findBuff = SkillCommon.FindBuffByOwner(attacker, skillID, defender.GetID(), defender.GetGameObjType())  
 | 
    if not findBuff:  
 | 
        return False  
 | 
    curValue = findBuff.GetValue2()  
 | 
    if curValue >= passiveEffect.GetEffectValue(1):  
 | 
        return False  
 | 
    remainTime = findBuff.GetRemainTime()  
 | 
      
 | 
    findBuff.SetRemainTime(remainTime + passiveEffect.GetEffectValue(0))  
 | 
    curSkill = GameWorld.GetGameData().GetSkillBySkillID(skillID)  
 | 
    BuffSkill.PYSync_RefreshBuff(attacker, findBuff, SkillCommon.GetBuffType(curSkill), notifyAll=False, owner = defender)  
 | 
      
 | 
    findBuff.SetValue2(curValue + 1)  
 | 
    return False  
 | 
  
 | 
  
 | 
def GetValue(attacker, defender, passiveEffect):  
 | 
    return 0  
 | 
  
 | 
  
 |