#!/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] 
 |