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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#!/usr/bin/python
# -*- coding: GBK -*-
#
##@package
#
# @todo: ÓÉ·þÎñ¶ËÖ÷µ¼É˺¦µÄ³ÖÐøÐÔ¼¼ÄÜ, Ï×¼À
#
# @author: Alee
# @date 2019-4-27 ÏÂÎç03:13:54
# @version 1.0
#
# @note: 
#
#---------------------------------------------------------------------
#µ¼Èë
import GameWorld
import SkillCommon
import BaseAttack
import ChConfig
import PassiveBuffEffMng
import SkillShell
import GameObj
import IPY_GameWorld
import AttackCommon
 
def ProcessBuff(tagObj, curBuff, curEffect, processBuffTick, tick):
    Attack(tagObj, curBuff, curEffect, tick)
    
#¼ä¸ô¹¥»÷£¬buffvalueµÚÒ»¸öֵΪ¹¥»÷´ÎÊý
def Attack(tagObj, curBuff, curEffect, tick):
    if curBuff.GetValue() == 0:
        return
    
    curSkill = curBuff.GetSkill()
    
    curBuff.SetValue(max(curBuff.GetValue() - 1, 0))
    
    lostHP = curBuff.GetValue1()
    BaseAttack.AreaSkillAttackLostHP(tagObj, None, tagObj.GetPosX(), tagObj.GetPosY(), 
                                     curSkill, lostHP, tick, isExSkill=True)
    
 
#buffvalueµÚÒ»¸öֵΪ¹¥»÷´ÎÊý£¬ µÚ¶þ¸öֵΪµôѪÍò·ÖÂÊ
def CalcBuffValue(attacker, defender, curSkill, changeBuffValueDict):
    curEffect = curSkill.GetEffect(0)
    return [curEffect.GetEffectValue(0), GameObj.GetHP(attacker)*curEffect.GetEffectValue(1)/ChConfig.Def_MaxRateValue]
        
 
## Ìí¼ÓBUFFºóµÄÂß¼­
#  @param None
#  @return None
def DoAddBuffOver(curObj, addBuff, curEffect, tick, buffOwner):
    Attack(curObj, addBuff, curEffect, tick)   #Á¢¼´Ö´ÐÐÒ»´Î¹¥»÷
    if not AttackCommon.GetIsDead(curObj) and GameObj.GetHP(curObj) != 0:
        addBuff.SetProcessInterval(tick)
    return