#!/usr/bin/python # -*- coding: GBK -*- ##@package BuffProcess_1089 # °´×î´óѪÁ¿°Ù·Ö±È¼õѪ # # @author Alee # @date 2011-03-18 16:45 # @version 1.2 # # ÐÞ¸Äʱ¼ä ÐÞ¸ÄÈË ÐÞ¸ÄÄÚÈÝ # # Ä£¿éÏêϸ˵Ã÷ °´×î´óѪÁ¿°Ù·Ö±È¼õѪ # @change: "2013-03-20 18:00" Alee Ìí¼ÓÊÍ·ÅÕßÏà¹ØµÄÊôÐÔË¢ÐÂÂß¼­£¬Ñ¹ÈëÖµ¼ÆËã # @change: "2013-10-31 14:45" Alee ÎäÆ÷µÄ¼¼ÄÜÔöǿЧ¹û #--------------------------------------------------------------------- """Version = 2013-10-31 14:45""" #µ¼Èë import SkillCommon import GameWorld import ChConfig import GameObj #--------------------------------------------------------------------- #È«¾Ö±äÁ¿ #--------------------------------------------------------------------- #--------------------------------------------------------------------- #Âß¼­ÊµÏÖ ## ³ÖÐøÐÔBuff´¦Àí °´×î´óѪÁ¿°Ù·Ö±È¼õѪ # @param defender ³ÐÊÜÕß # @param curBuff µ±Ç°Buff # @param curEffect BuffЧ¹û # @param tick µ±Ç°Ê±¼ä # @return None # @remarks º¯ÊýÏêϸ˵Ã÷. def ProcessBuff(defender, curBuff, curEffect, processBuffTick, tick): #µ¥´ÎÉ˺¦ singleDecHP = SkillCommon.GetProcessBuffChangeHp_Time(curBuff, processBuffTick, tick) #buffÓµÓÐÕß buffOwner = SkillCommon.GetBuffOwner(curBuff) curBuffSkillID = curBuff.GetSkill().GetSkillTypeID() SkillCommon.SkillLostHP(defender, curBuffSkillID, buffOwner, singleDecHP, tick, hurtType=ChConfig.Def_HurtType_Bleed) return ## ³ÖÐøÐÔBuffÏûʧ # @param defender ³ÐÊÜÕß # @param curSkill µ±Ç°¼¼ÄÜ # @param curBuff µ±Ç°Buff # @param tick µ±Ç°Ê±¼ä # @return None # @remarks º¯ÊýÏêϸ˵Ã÷. def OnBuffDisappear(defender, curSkill, curBuff, curEffect, tick): buffValue = curBuff.GetValue() #ÎÞÊ£Óà if buffValue <= 0: return #ÒѾ­ËÀÍö²»´¥·¢ if GameObj.GetHP(defender) <= 0: return buffOwner = SkillCommon.GetBuffOwner(curBuff) SkillCommon.SkillLostHP(defender, curSkill.GetSkillTypeID(), buffOwner, buffValue, tick, hurtType=ChConfig.Def_HurtType_Bleed) return ##³ÖÐøÉ˺¦Buff, ¸ù¾Ý¹¥»÷ÕßѪÁ¿¼ÆËã # @param attacker ¹¥»÷ÕßʵÀý # @param curSkill ¼¼ÄÜʵÀý # @param curEffect µ±Ç°¼¼ÄÜЧ¹û1 # @return ×ÜÖµ def CalcBuffValue(attacker, defender, curSkill, changeBuffValueDict): curEffect = curSkill.GetEffect(0) skillPer = curEffect.GetEffectValue(0) skillPer /= float(ChConfig.Def_MaxRateValue) #¼¼Äܸ½¼Ó skillEnhance = curEffect.GetEffectValue(1) return [int(GameObj.GetMaxHP(attacker) * skillPer + skillEnhance)]