#!/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  
 | 
  
 | 
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 GameObj.GetHP(curObj) != 0:  
 | 
        addBuff.SetProcessInterval(tick)  
 | 
    return  
 | 
          
 | 
  
 | 
  
 | 
  
 | 
  
 | 
         
 |