#!/usr/bin/python  
 | 
# -*- coding: GBK -*-  
 | 
#  
 | 
# @todo: Ôö¼ÓÕ䯷·À¾ßÔö¼ÓµÄÉúÃüÖµ300%  
 | 
#  
 | 
# @author: Alee  
 | 
# @date 2018-1-20 ÏÂÎç02:50:26  
 | 
# @version 1.0  
 | 
#  
 | 
# @note:   
 | 
#  
 | 
#---------------------------------------------------------------------  
 | 
#µ¼Èë  
 | 
import ChConfig  
 | 
import BuffSkill  
 | 
import IPY_GameWorld  
 | 
import PlayerControl  
 | 
import ShareDefine  
 | 
#---------------------------------------------------------------------  
 | 
  
 | 
## buffÏßÐÔÔö¼ÓÊôÐÔ  
 | 
#  @param defender Buff³ÐÊÜÕß  
 | 
#  @param curEffect ¼¼ÄÜЧ¹û  
 | 
#  @param calcDict ¼¼ÄÜЧ¹ûÀÛ¼Ó×Ü±í  
 | 
#  @return None  
 | 
def OnCalcBuffEx(defender, curEffect, calcDict, curBuff):  
 | 
  
 | 
    totalHP = 0  
 | 
    equipPack = defender.GetItemManager().GetPack(IPY_GameWorld.rptEquip)  
 | 
    for i in xrange(equipPack.GetCount()):  
 | 
        curEquip = equipPack.GetAt(i)  
 | 
          
 | 
        if curEquip.IsEmpty():  
 | 
            continue  
 | 
        if i not in ChConfig.BaseEquipPlace_Armor:  
 | 
            continue  
 | 
        if not curEquip.GetItemQuality():  
 | 
            continue  
 | 
        #»ù´¡ÊôÐÔЧ¹û  
 | 
        for i in range(0, curEquip.GetEffectCount()):  
 | 
            equipEffect = curEquip.GetEffectByIndex(i)  
 | 
            if not equipEffect:  
 | 
                break  
 | 
              
 | 
            effectID = equipEffect.GetEffectID()  
 | 
            if effectID == 0:  
 | 
                #×îºóÒ»¸ö  
 | 
                break  
 | 
            if effectID != ShareDefine.Def_Effect_MaxHP:  
 | 
                continue  
 | 
            totalHP += equipEffect.GetEffectValue(0)  
 | 
      
 | 
    totalHP = int(totalHP*float(curEffect.GetEffectValue(0))/ChConfig.Def_MaxRateValue)  
 | 
      
 | 
    calcDict[ChConfig.TYPE_Calc_AttrMaxHP] = calcDict.get(ChConfig.TYPE_Calc_AttrMaxHP, 0) + totalHP  
 | 
    return  
 | 
  
 | 
  
 | 
## ·µ»ØbuffÀàÐÍ£¬ÏßÐÔÓë·ñ  
 | 
#  @param   
 | 
#  @return None  
 | 
#  @remarks º¯ÊýÏêϸ˵Ã÷.    
 | 
def GetCalcType():  
 | 
    return ChConfig.TYPE_Linear  
 | 
  
 | 
  
 |