#!/usr/bin/python  
 | 
# -*- coding: GBK -*-  
 | 
#  
 | 
##@package   
 | 
#  
 | 
# @todo:  ´ËbuffΪ´¥·¢¼¼ÄÜ£¬È¡Ö÷Êͷż¼ÄܼÆËãÉ˺¦£¬ÔÚ´¥·¢¼¼ÄÜÏûʧʱ¸øÉ˺¦  
 | 
#  
 | 
# @author: Alee  
 | 
# @date 2018-4-4 ÏÂÎç03:19:49  
 | 
# @version 1.0  
 | 
#  
 | 
# @note:   
 | 
#  
 | 
#---------------------------------------------------------------------  
 | 
  
 | 
  
 | 
import IPY_GameWorld  
 | 
import GameWorld  
 | 
import SkillShell  
 | 
import ChConfig  
 | 
import AttackCommon  
 | 
import SkillCommon  
 | 
import GameObj  
 | 
  
 | 
def OnBuffDisappear(curObj, curSkill, curBuff, curEffect, tick):  
 | 
      
 | 
    if GameObj.GetHP(curObj) <= 0:  
 | 
        return  
 | 
    SkillCommon.SkillLostHP(curObj, curBuff.GetBuffID(), SkillCommon.GetBuffOwner(curBuff),   
 | 
                            curBuff.GetValue(), tick, hurtType=curBuff.GetValue1())  
 | 
    return  
 | 
  
 | 
  
 | 
# ´ËbuffΪ´¥·¢¼¼ÄÜ£¬È¡Ö÷Êͷż¼ÄܼÆËãÉ˺¦£¬ÔÚ´¥·¢¼¼ÄÜÏûʧʱ¸øÉ˺¦  
 | 
def CalcBuffValue(attacker, defender, curSkill, changeBuffValueDict):  
 | 
    useSkillData = attacker.GetUseSkill()   # »ñÈ¡ÊͷŵÄÖ÷¼¼ÄÜ  
 | 
    curEffect = curSkill.GetEffect(0)  
 | 
    skillPer = curEffect.GetEffectValue(0)/float(ChConfig.Def_MaxRateValue)  
 | 
      
 | 
    hurtValue, hurtType = AttackCommon.CalcHurtHP(attacker, defender, useSkillData,   
 | 
                            0, skillPer, GameWorld.GetGameWorld().GetTick(),   
 | 
                            ChConfig.Def_Skill_HappenState_HitOn)  
 | 
      
 | 
    return [hurtValue, hurtType]  
 |