| #!/usr/bin/python  | 
| # -*- coding: GBK -*-  | 
| #-------------------------------------------------------------------------------  | 
| #  | 
| #-------------------------------------------------------------------------------  | 
| #  | 
| ##@package SkillModule_29  | 
| #  | 
| # @todo: ²¹µ¶¼¼ÄÜ£¨Õ¶É±£©  | 
| # @author hxp  | 
| # @date 2013-10-18 11:00  | 
| # @version 1.0  | 
| #  | 
| # ÏêϸÃèÊö:Ä¿±êѪÁ¿µÍÓÚX%ʱ£¬¹¥»÷Õß¿ÉÊͷŸü¼ÄÜ£¬¶ÔÄ¿±êÔì³ÉX%É˺¦£¬¸½¼ÓYÖµÉ˺¦  | 
| #  | 
| #------------------------------------------------------------------------------   | 
| """Version = 2013-10-18 11:00"""  | 
| #------------------------------------------------------------------------------  | 
| #µ¼Èë  | 
| import ChConfig  | 
| import BaseAttack  | 
| import GameObj  | 
|   | 
| ##²¹µ¶¼¼ÄÜ£¨Õ¶É±£©  | 
| # @param attacker ¹¥»÷ÕßʵÀý  | 
| # @param defender ·ÀÊØÕßʵÀý  | 
| # @param curSkill ¼¼ÄÜʵÀý  | 
| # @param tagRoundPosX ÇøÓò×ø±êX  | 
| # @param tagRoundPosY ÇøÓò×ø±êY  | 
| # @param isEnhanceSkill ÊÇ·ñΪ¸½¼Ó¼¼ÄÜ  | 
| # @param tick Ê±¼ä´Á  | 
| # @return ·µ»ØÖµÎªÕæ, Êͷųɹ¦  | 
| # @remarks ²¹µ¶¼¼ÄÜ£¨Õ¶É±£©  | 
| def UseSkill(attacker, defender, curSkill, tagRoundPosX, tagRoundPosY, isEnhanceSkill, tick):  | 
|     #Ä¿±êѪÁ¿°Ù·Ö±È  | 
|     curTagPerHP = float(GameObj.GetHP(defender)) / GameObj.GetMaxHP(defender)  | 
|     #ѪÁ¿°Ù·Ö±È ´¥·¢¼¼ÄÜ  | 
|     curNeedTagPerHP = curSkill.GetEffect(1).GetEffectValue(0) / float(ChConfig.Def_MaxRateValue)  | 
|       | 
|     if curTagPerHP > curNeedTagPerHP:  | 
|         return False  | 
|       | 
|     skillEffect = curSkill.GetEffect(0)  | 
|     skillPer = skillEffect.GetEffectValue(0) / float(ChConfig.Def_MaxRateValue)  | 
|     skillEnhance = skillEffect.GetEffectValue(1)  | 
|       | 
|     #ʹÓü¼ÄÜ  | 
|     return BaseAttack.Attack(attacker, defender, curSkill, tick, skillPer,   | 
|                              skillEnhance, 1, isEnhanceSkill)  | 
|   |