#!/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 # ¼Ç¼´ËÄ¿±ê£¬²»Ê¹ÓÃÆäËû½Ó¿ÚÊÇÒòΪÓпÉÄܱ»¸Ä±ä£¬ÈçÒ»¶Îʱ¼äÖ»¶Ô´¥·¢µÄÄ¿±êÍæ¼ÒÌá¸ß±©»÷ÂÊ attacker.SetDict(ChConfig.Def_PlayerKey_DefenderObjID, defender.GetID()) return GameWorld.CanHappen(effect.GetEffectValue(0))