| #!/usr/bin/python  | 
| # -*- coding: GBK -*-  | 
| #  | 
| # @todo: ±»¹¥»÷ºó´¥·¢±»¶¯¼¼ÄÜ, ¸½¼ÓÌõ¼þ ÑªÁ¿µÍÓÚXX°Ù·Ö±È, ¸½¼Ó±»¹¥»÷´ÎÊýÅж¨  | 
| #  | 
| # @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):  | 
|     # Î´ÅäÖò»Ñé֤ѪÁ¿°Ù·Ö±È  | 
|     if effect.GetEffectValue(1):  | 
|         if GameObj.GetHP(attacker)*ChConfig.Def_MaxRateValue/GameObj.GetMaxHP(attacker) >= effect.GetEffectValue(1):  | 
|             return False  | 
|           | 
|     if effect.GetEffectValue(2):  | 
|         # ¹¥»÷´ÎÊýÅж¨  | 
|         attackCnt = curSkill.GetProficiency()  | 
|         curSkill.SetProficiency(attackCnt + 1)  | 
|           | 
|         if attackCnt + 1 >= effect.GetEffectValue(2):  | 
|             curSkill.SetProficiency(0)  | 
|         else:  | 
|             return False  | 
|           | 
|     return GameWorld.CanHappen(effect.GetEffectValue(0))  |