#!/usr/bin/python # -*- coding: GBK -*- # ##@package # # @todo: buffÖмÌÐø±»¿ØÖÆÑÓ³¤Ê±¼ä # # @author: Alee # @date 2019-5-14 ÏÂÎç02:01:54 # @version 1.0 # # @note: # #--------------------------------------------------------------------- import ChConfig import GameWorld import SkillCommon import BuffSkill def CheckCanHappen(attacker, defender, passiveEffect, skillID, **skillkwargs): if not defender: return useSkill = skillkwargs.get("useSkill", None) if useSkill: if useSkill.GetSkillTypeID() == skillID: # ×Ô¼º²»¼Óʱ³¤ return findBuff = SkillCommon.FindBuffByOwner(attacker, skillID, defender.GetID(), defender.GetGameObjType()) if not findBuff: return False curValue = findBuff.GetValue2() if curValue >= passiveEffect.GetEffectValue(1): return False remainTime = findBuff.GetRemainTime() findBuff.SetRemainTime(remainTime + passiveEffect.GetEffectValue(0)) curSkill = GameWorld.GetGameData().GetSkillBySkillID(skillID) BuffSkill.PYSync_RefreshBuff(attacker, findBuff, SkillCommon.GetBuffType(curSkill), notifyAll=False, owner = defender) findBuff.SetValue2(curValue + 1) return False def GetValue(attacker, defender, passiveEffect): return 0