#!/usr/bin/python # -*- coding: GBK -*- ##@package BuffProcess_1307 # @todo: ³Ö¼Ì»ØÑª´¥·¢µÄbuffÂß¼­ÊµÏÖ °´Ä¿±ê×î´óÉúÃü»ØÑª # # @author Alee # @date 2011-01-18 11:00 # @version 1.2 # #--------------------------------------------------------------------- """Version = 2013-10-31 14:45""" #µ¼Èë import SkillCommon import GameWorld import ChConfig import GameObj #import PassiveBuffEffMng #import SkillShell #--------------------------------------------------------------------- #È«¾Ö±äÁ¿ #--------------------------------------------------------------------- #Âß¼­ÊµÏÖ ## ³ÖÐøÐÔBuff´¦Àí # @param defender ³ÐÊÜÕß # @param curBuff µ±Ç°Buff # @param curEffect BuffЧ¹û # @param tick µ±Ç°Ê±¼ä # @return None # @remarks ³ÖÐøÐÔBuff´¦Àí def ProcessBuff(defender, curBuff, curEffect, processBuffTick, tick): if curBuff.GetValue1() == 0: return curBuffSkillID = curBuff.GetSkill().GetSkillTypeID() singleAddHP = curBuff.GetValue() curBuff.SetValue1(max(curBuff.GetValue1() - 1, 0)) SkillCommon.SkillAddHP(defender, curBuffSkillID, singleAddHP) return # ÏûʧǰÈçÓÐδִÐдÎÊýÔò²¹ÉÏ # @param defender ³ÐÊÜÕß def OnBuffDisappear(defender, curSkill, curBuff, curEffect, tick): count = curBuff.GetValue1() #ÎÞÊ£Óà if count <= 0: return #ÒѾ­ËÀÍö²»´¥·¢ if GameObj.GetHP(defender) <= 0: return SkillCommon.SkillAddHP(defender, curSkill.GetSkillTypeID(), curBuff.GetValue()*count) return ##³ÖÐøÖÎÁÆBuff,¸ù¾Ý¹¥»÷Õß×î´óѪÁ¿¼ÆËã # @param attacker ¹¥»÷ÕßʵÀý # @param curSkill ¼¼ÄÜʵÀý # @param curEffect µ±Ç°¼¼ÄÜЧ¹û1 # @return ×ÜÖµ def CalcBuffValue(attacker, defender, curSkill, changeBuffValueDict): curEffect = curSkill.GetEffect(0) # ±»¶¯ÔöÇ¿ # addTime = PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(attacker, None, curSkill, ChConfig.TriggerType_BuffTime) # buffTick = SkillShell.GetProcessBuffTick(curSkill, attacker) # # count = int(addTime/buffTick + curEffect.GetEffectValue(2)) count = curEffect.GetEffectValue(2) return [SkillCommon.GetCureHP(attacker, defender, curSkill, ChConfig.Def_Cure_TagMaxHP), count]