| #!/usr/bin/python  | 
| # -*- coding: GBK -*-  | 
| #  | 
| # @todo: ½µµÍÄ¿±ê·À¾ß»ù´¡ÊôÐÔ(ÈçÉúÃü·ÀÓù)µÄ°Ù·Ö±ÈµÄÖµ£¬Íâ²ã¼ÆË㣬Ч¹ûÖµ¾ö¶¨ÊôÐÔÏî  | 
| #  | 
| # @author: Alee  | 
| # @date 2018-1-20 ÏÂÎç02:50:26  | 
| # @version 1.0  | 
| #  | 
| # @note:   | 
| #  | 
| #---------------------------------------------------------------------  | 
| #µ¼Èë  | 
| import ChConfig  | 
| import PlayerControl  | 
| #---------------------------------------------------------------------  | 
|   | 
| ## buffÏßÐÔÔö¼ÓÊôÐÔ  | 
| #  @param defender Buff³ÐÊÜÕß  | 
| #  @param curEffect ¼¼ÄÜЧ¹û  | 
| #  @param calcDict ¼¼ÄÜЧ¹ûÀÛ¼Ó×Ü±í  | 
| #  @return None  | 
| def OnCalcBuffEx(defender, curEffect, calcDict, curBuff):  | 
|     attrList = PlayerControl.GetCalcAttrListValue(defender, ChConfig.Def_CalcAttrFunc_EquipBaseArmor)  | 
|     attrType = curEffect.GetEffectValue(1)  | 
|   | 
|     value = int(attrList[2].get(attrType, 0)*curEffect.GetEffectValue(0)*1.0/ChConfig.Def_MaxRateValue)  | 
|     calcDict[attrType] = calcDict.get(attrType, 0) - value  | 
|           | 
|     return  | 
|   | 
|   | 
| ## ·µ»ØbuffÀàÐÍ£¬ÏßÐÔÓë·ñ  | 
| #  @param   | 
| #  @return None  | 
| #  @remarks º¯ÊýÏêϸ˵Ã÷.    | 
| def GetCalcType():  | 
|     return ChConfig.TYPE_Linear  | 
|   | 
|   |