#!/usr/bin/python # -*- coding: GBK -*- # ##@package # # @todo: ÓÉ·þÎñ¶ËÖ÷µ¼É˺¦µÄ³ÖÐøÐÔ¼¼ÄÜ, Ï×¼À # # @author: Alee # @date 2019-4-27 ÏÂÎç03:13:54 # @version 1.0 # # @note: # #--------------------------------------------------------------------- #µ¼Èë import GameWorld import SkillCommon import BaseAttack import ChConfig import PassiveBuffEffMng import SkillShell import GameObj import IPY_GameWorld import AttackCommon def ProcessBuff(tagObj, curBuff, curEffect, processBuffTick, tick): Attack(tagObj, curBuff, curEffect, tick) #¼ä¸ô¹¥»÷£¬buffvalueµÚÒ»¸öֵΪ¹¥»÷´ÎÊý def Attack(tagObj, curBuff, curEffect, tick): if curBuff.GetValue() == 0: return curSkill = curBuff.GetSkill() curBuff.SetValue(max(curBuff.GetValue() - 1, 0)) lostHP = curBuff.GetValue1() BaseAttack.AreaSkillAttackLostHP(tagObj, None, tagObj.GetPosX(), tagObj.GetPosY(), curSkill, lostHP, tick, isExSkill=True) #buffvalueµÚÒ»¸öֵΪ¹¥»÷´ÎÊý£¬ µÚ¶þ¸öֵΪµôѪÍò·ÖÂÊ def CalcBuffValue(attacker, defender, curSkill, changeBuffValueDict): curEffect = curSkill.GetEffect(0) return [curEffect.GetEffectValue(0), GameObj.GetHP(attacker)*curEffect.GetEffectValue(1)/ChConfig.Def_MaxRateValue] ## Ìí¼ÓBUFFºóµÄÂß¼­ # @param None # @return None def DoAddBuffOver(curObj, addBuff, curEffect, tick, buffOwner): Attack(curObj, addBuff, curEffect, tick) #Á¢¼´Ö´ÐÐÒ»´Î¹¥»÷ if not AttackCommon.GetIsDead(curObj) and GameObj.GetHP(curObj) != 0: addBuff.SetProcessInterval(tick) return