#!/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
|
|
|
|
|
|
|