#!/usr/bin/python  
 | 
# -*- coding: GBK -*-  
 | 
#  
 | 
# @todo: ¹¥»÷ºó´¥·¢±»¶¯¼¼ÄÜ, ¿É¸½¼ÓÄ¿±êbuff״̬Åж¨, ¸½¼ÓÄ¿±êѪÁ¿µÍÓڰٷֱȴ¥·¢  
 | 
#  
 | 
# @author: Alee  
 | 
# @date 2018-1-9 ÏÂÎç09:39:37  
 | 
# @version 1.0  
 | 
#  
 | 
# @note:   
 | 
#  
 | 
#---------------------------------------------------------------------  
 | 
  
 | 
import ChConfig  
 | 
import GameWorld  
 | 
import GameObj  
 | 
import PlayerControl  
 | 
  
 | 
  
 | 
def CheckCanHappen(attacker, defender, effect, curSkill):  
 | 
    pyPlayerState = effect.GetEffectValue(1)  
 | 
    if pyPlayerState and defender:  
 | 
        if not GameObj.GetPyPlayerState(defender, pyPlayerState):  
 | 
            return False  
 | 
  
 | 
    # Î´ÅäÖò»Ñé֤ѪÁ¿°Ù·Ö±È  
 | 
    hpPer = effect.GetEffectValue(2)  
 | 
    if hpPer and defender:  
 | 
        if GameObj.GetHP(defender)*ChConfig.Def_MaxRateValue/GameObj.GetMaxHP(defender) >= hpPer:  
 | 
            return False  
 | 
          
 | 
          
 | 
    return GameWorld.CanHappen(effect.GetEffectValue(0)) 
 |