#!/usr/bin/python
|
# -*- coding: GBK -*-
|
|
##@package BuffProcess_1300
|
# @todo: ³Ö¼Ì»ØÑª´¥·¢µÄbuffÂ߼ʵÏÖ °´×î´óÉúÃü»ØÑª
|
#
|
# @author Alee
|
# @date 2011-01-18 11:00
|
# @version 1.2
|
#
|
#---------------------------------------------------------------------
|
"""Version = 2013-10-31 14:45"""
|
|
#µ¼Èë
|
import SkillCommon
|
import GameWorld
|
import ChConfig
|
import GameObj
|
#import PassiveBuffEffMng
|
#import SkillShell
|
#---------------------------------------------------------------------
|
#È«¾Ö±äÁ¿
|
#---------------------------------------------------------------------
|
#Â߼ʵÏÖ
|
## ³ÖÐøÐÔBuff´¦Àí
|
# @param defender ³ÐÊÜÕß
|
# @param curBuff µ±Ç°Buff
|
# @param curEffect BuffЧ¹û
|
# @param tick µ±Ç°Ê±¼ä
|
# @return None
|
# @remarks ³ÖÐøÐÔBuff´¦Àí
|
def ProcessBuff(defender, curBuff, curEffect, processBuffTick, tick):
|
if curBuff.GetValue1() == 0:
|
return
|
|
curBuffSkillID = curBuff.GetSkill().GetSkillTypeID()
|
singleAddHP = curBuff.GetValue()
|
|
curBuff.SetValue1(max(curBuff.GetValue1() - 1, 0))
|
SkillCommon.SkillAddHP(defender, curBuffSkillID, singleAddHP)
|
return
|
|
|
# ÏûʧǰÈçÓÐδִÐдÎÊýÔò²¹ÉÏ
|
# @param defender ³ÐÊÜÕß
|
def OnBuffDisappear(defender, curSkill, curBuff, curEffect, tick):
|
count = curBuff.GetValue1()
|
#ÎÞÊ£Óà
|
if count <= 0:
|
return
|
|
#ÒѾËÀÍö²»´¥·¢
|
if GameObj.GetHP(defender) <= 0:
|
return
|
SkillCommon.SkillAddHP(defender, curSkill.GetSkillTypeID(), curBuff.GetValue()*count)
|
return
|
|
|
|
##³ÖÐøÖÎÁÆBuff,¸ù¾Ý¹¥»÷Õß×î´óѪÁ¿¼ÆËã
|
# @param attacker ¹¥»÷ÕßʵÀý
|
# @param curSkill ¼¼ÄÜʵÀý
|
# @param curEffect µ±Ç°¼¼ÄÜЧ¹û1
|
# @return ×ÜÖµ
|
def CalcBuffValue(attacker, defender, curSkill, changeBuffValueDict):
|
curEffect = curSkill.GetEffect(0)
|
# ±»¶¯ÔöÇ¿
|
# addTime = PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(attacker, None, curSkill, ChConfig.TriggerType_BuffTime)
|
# buffTick = SkillShell.GetProcessBuffTick(curSkill, attacker)
|
#
|
# count = int(addTime/buffTick + curEffect.GetEffectValue(2))
|
|
count = curEffect.GetEffectValue(2)
|
return [SkillCommon.GetCureHP(attacker, None, curSkill, ChConfig.Def_Cure_MaxHP),
|
count]
|
|