| #!/usr/bin/python  | 
| # -*- coding: GBK -*-  | 
| #  | 
| # @todo: Ã¿ËðʧXXѪÁ¿Ôö¼Ó¹¥»÷XX£¬×î¸ß¹¥»÷¼Ó³ÉXX  | 
| #  | 
| # @author: Alee  | 
| # @date 2018-1-20 ÏÂÎç06:02:37  | 
| # @version 1.0  | 
| #  | 
| # @note:   | 
| #  | 
| #---------------------------------------------------------------------  | 
| #µ¼Èë  | 
| import ChConfig  | 
| import BuffSkill  | 
| import IPY_GameWorld  | 
| import PlayerControl  | 
| import ShareDefine  | 
| import SkillCommon  | 
| import GameObj  | 
| import GameWorld  | 
| #---------------------------------------------------------------------  | 
|   | 
| ## buffÏßÐÔÔö¼ÓÊôÐÔ  | 
| #  @param defender Buff³ÐÊÜÕß  | 
| #  @param curEffect ¼¼ÄÜЧ¹û  | 
| #  @param calcDict ¼¼ÄÜЧ¹ûÀÛ¼Ó×Ü±í  | 
| #  @return None  | 
| def OnCalcBuffEx(defender, curEffect, calcDict, curBuff):  | 
|     #ʵʱËã  | 
|     # ËðʧѪÁ¿/Ëðʧ»ùÊý  | 
|     value = (GameObj.GetMaxHP(defender) - GameObj.GetHP(defender))*ChConfig.Def_MaxRateValue/GameObj.GetMaxHP(defender)/curEffect.GetEffectValue(0)  | 
|       | 
|     value = min(value, curEffect.GetEffectValue(2)/curEffect.GetEffectValue(1) - 1)  | 
|       | 
|     effectValue = curEffect.GetEffectValue(1)*(value + 1)  | 
|           | 
|     calcDict[ChConfig.TYPE_Calc_AttrATKMin] = calcDict.get(ChConfig.TYPE_Calc_AttrATKMin, 0) + effectValue  | 
|     calcDict[ChConfig.TYPE_Calc_AttrATKMax] = calcDict.get(ChConfig.TYPE_Calc_AttrATKMax, 0) + effectValue  | 
|           | 
|     return   | 
|   | 
|   | 
| ## ·µ»ØbuffÀàÐÍ£¬ÏßÐÔÓë·ñ  | 
| #  @param   | 
| #  @return None  | 
| #  @remarks º¯ÊýÏêϸ˵Ã÷.    | 
| def GetCalcType():  | 
|     return ChConfig.TYPE_NoLinear  | 
|   | 
|   |