| #!/usr/bin/python  | 
| # -*- coding: GBK -*-  | 
| #  | 
| ##@package  | 
| #  | 
| # @todo: ±»Ö¸¶¨buffϵÄÍæ¼Ò¹¥»÷½øÈë±ôËÀ״̬´¥·¢¼¼ÄÜ  | 
| #  | 
| # @author: Alee  | 
| # @date 2019-5-7 ÏÂÎç05:56:05  | 
| # @version 1.0  | 
| #  | 
| # @note:   | 
| #  | 
| #---------------------------------------------------------------------  | 
|   | 
| import ChConfig  | 
| import GameWorld  | 
| import GameObj  | 
| import SkillCommon  | 
| import IPY_GameWorld  | 
|   | 
| def CheckCanHappen(attacker, defender, effect, curSkill):  | 
|     if not defender:  | 
|         return False  | 
|     if attacker.GetPlayerAction() == IPY_GameWorld.paDie:  | 
|         # µ±Ç°ÒѾ±»´¦ÀíΪËÀÍö£¬ÄÇô¾Í²»´¥·¢  | 
|         return False  | 
|   | 
|     zhanshaState = attacker.GetDictByKey(ChConfig.Def_PlayerKey_Zhansha)  | 
|       | 
|     if zhanshaState:  | 
|         # °´Î»Åжϣ¬1ΪնɱÇé¿öÏ£¬´Ë¼¼Äܲ»¿É±»´¥·¢£¬2ΪÖÕ¼«Õ¶É±²»´¥·¢£¬3ΪÈκÎնɱ¶¼²»´¥·¢  | 
|         if (effect.GetEffectValue(2) & pow(2, zhanshaState-1)) != 0:  | 
|             return False  | 
|       | 
|     buff = SkillCommon.FindBuffByOwner(defender, effect.GetEffectValue(0), attacker.GetID(), attacker.GetGameObjType())  | 
|     if not buff:  | 
|         return False  | 
|       | 
|     if buff.GetLayer() < effect.GetEffectValue(1):  | 
|         return False  | 
|       | 
|     GameObj.SetHP(attacker, 1) # ÎªÁ˱ÜÃâÉúÃüΪ0ʱ£¬ÆÁ±Î¹ý¶àÂß¼  | 
|   | 
|     return True  |