#!/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
|