hxp
2025-06-04 71d77df560af421d106484e9276e89297b88e40a
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
36
37
38
39
40
41
42
43
44
#!/usr/bin/python
# -*- coding: GBK -*-
#
##@package 
#
# @todo:  ´ËbuffΪ´¥·¢¼¼ÄÜ£¬È¡Ö÷Êͷż¼ÄܼÆËãÉ˺¦£¬ÔÚ´¥·¢¼¼ÄÜÏûʧʱ¸øÉ˺¦
#
# @author: Alee
# @date 2018-4-4 ÏÂÎç03:19:49
# @version 1.0
#
# @note: 
#
#---------------------------------------------------------------------
 
 
import IPY_GameWorld
import GameWorld
import SkillShell
import ChConfig
import AttackCommon
import SkillCommon
import GameObj
 
def OnBuffDisappear(curObj, curSkill, curBuff, curEffect, tick):
    
    if GameObj.GetHP(curObj) <= 0:
        return
    SkillCommon.SkillLostHP(curObj, curBuff.GetBuffID(), SkillCommon.GetBuffOwner(curBuff), 
                            curBuff.GetValue(), tick, hurtType=curBuff.GetValue1())
    return
 
 
# ´ËbuffΪ´¥·¢¼¼ÄÜ£¬È¡Ö÷Êͷż¼ÄܼÆËãÉ˺¦£¬ÔÚ´¥·¢¼¼ÄÜÏûʧʱ¸øÉ˺¦
def CalcBuffValue(attacker, defender, curSkill, changeBuffValueDict):
    useSkillData = attacker.GetUseSkill()   # »ñÈ¡ÊͷŵÄÖ÷¼¼ÄÜ
    curEffect = curSkill.GetEffect(0)
    skillPer = curEffect.GetEffectValue(0)/float(ChConfig.Def_MaxRateValue)
    
    hurtValue, hurtType = AttackCommon.CalcHurtHP(attacker, defender, useSkillData, 
                            0, skillPer, GameWorld.GetGameWorld().GetTick(), 
                            ChConfig.Def_Skill_HappenState_HitOn)
    
    return [hurtValue, hurtType]