1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/usr/bin/python
# -*- coding: GBK -*-
#
# @todo: ´ò³ö·ÀÓùÕßѪÁ¿µÄX%¸½¼ÓYÖµ, ·ÀÓùÕßÎªÍæ¼Ò£¬µ¥Ìå¹¥»÷
#
# @author: Alee
# @date 2018-2-1 ÏÂÎç02:51:53
# @version 1.0
#
# @note: 
#
#------------------------------------------------------------------------------ 
import ChConfig
import BaseAttack
import GameObj
import SkillCommon
import IPY_GameWorld
#------------------------------------------------------------------------------ 
 
 
 
def UseSkill(attacker, defender, curSkill, tagRoundPosX, tagRoundPosY, isEnhanceSkill, tick):
    if not defender:
        return
    if defender.GetGameObjType() != IPY_GameWorld.gotPlayer:
        return
    skillEffect = curSkill.GetEffect(0)
    skillPer = skillEffect.GetEffectValue(0) / float(ChConfig.Def_MaxRateValue)
    skillEnhance = skillEffect.GetEffectValue(1)
    
    defenderMaxHp = GameObj.GetHP(defender)
    hurtEnhance = defenderMaxHp*skillPer + skillEnhance
    hurtEnhance = min(hurtEnhance, defenderMaxHp)
 
    return SkillCommon.SkillLostHP(defender, curSkill.GetSkillTypeID(), attacker, int(hurtEnhance), tick, isDoAttackResult=False)