|   | 
|   | 
| #!/usr/bin/python  | 
| # -*- coding: GBK -*-  | 
| #  | 
| # @todo: Ôö¼Ó¾ø¼¼¶Ô·ÇС¹ÖºÍ¾«Ó¢µÄÉ˺¦¼Ó³É  | 
| #  | 
| # @author: Alee  | 
| # @date 2018-1-9 ÏÂÎç09:39:37  | 
| # @version 1.0  | 
| #  | 
| # @note:   | 
| #  | 
| #---------------------------------------------------------------------  | 
|   | 
| import ChConfig  | 
| import GameWorld  | 
| import IPY_GameWorld  | 
| import IpyGameDataPY  | 
|   | 
| def CheckCanHappen(attacker, defender, effect, curSkill):  | 
|     if not defender:  | 
|         return False  | 
|       | 
|     if defender.GetGameObjType() != IPY_GameWorld.gotNPC:  | 
|         return True  | 
|       | 
|     if defender.GetIsBoss() > ChConfig.Def_NPCType_Ogre_Super:  | 
|         return True  | 
|       | 
|     if GameWorld.GetMap().GetMapFBType() != IPY_GameWorld.fbtNull and \  | 
|     GameWorld.GetMap().GetMapID() not in IpyGameDataPY.GetFuncEvalCfg('SkillXPAddByFB', 1):  | 
|         return True  | 
|       | 
|     return False  | 
|       | 
|   | 
| def GetValue(attacker, defender, effect):  | 
|     return float(effect.GetEffectValue(0))/ChConfig.Def_MaxRateValue  | 
|   |