#!/usr/bin/python # -*- coding: GBK -*- # ##@package # # @todo: Á½¸öÈËÖ®¼äÓÐÒ»ÌõÌØÐ§Á¬½Ó£¬ÅäºÏ9999ÓÃÓÚÅжϾàÀë # # @author: Alee # @date 2019-5-6 ÏÂÎç04:30:33 # @version 1.0 # # @note: # #--------------------------------------------------------------------- #µ¼Èë import SkillCommon import GameWorld import ChConfig import PlayerControl def ProcessBuff(defender, curBuff, curEffect, processBuffTick, tick): buffOwner = SkillCommon.GetBuffOwner(curBuff) if not buffOwner: curBuff.SetRemainTime(0) return if GameWorld.GetDistEx(defender.GetPosX(), defender.GetPosY(), buffOwner.GetPosX(), buffOwner.GetPosY()) > curEffect.GetEffectValue(0): curBuff.SetRemainTime(0) return return def OnCalcBuffEx(defender, curEffect, calcDict, curBuff): attrType = curEffect.GetEffectValue(1) value = curEffect.GetEffectValue(2) + curBuff.GetValue2() calcDict[attrType] = calcDict.get(attrType, 0) - value return ## ·µ»ØbuffÀàÐÍ£¬ÏßÐÔÓë·ñ # @param # @return None # @remarks º¯ÊýÏêϸ˵Ã÷. def GetCalcType(): return ChConfig.TYPE_NoLinear ## Ìí¼ÓBUFFºóµÄÂß¼­ # @param None # @return None def DoAddBuffOver(curObj, addBuff, curEffect, tick, buffOwner): if not buffOwner: return if curEffect.GetEffectValue(1) != ChConfig.TYPE_Calc_AttrSpeed: return addBuff.SetValue2(PlayerControl.GetSubSpeedPer(buffOwner)) return