| | |
| | | if hurtValue <= 0:
|
| | | return 0, 0, hurtTypes
|
| | |
|
| | | hurtValue = int(hurtValue)
|
| | | buffMgr = defObj.GetBuffManager()
|
| | | wudiBuffList = buffMgr.FindBuffListByState(ChConfig.BatObjState_Wudi)
|
| | | if wudiBuffList:
|
| | |
| | | GameWorld.DebugLog("根据buff值: %s" % baseValue)
|
| | | return baseValue
|
| | |
|
| | | def DoDOTAttack(turnFight, batObj, curBuff, hurtValue, hurtTypes):
|
| | | def DoDOTAttack(turnFight, batObj, curBuff, hurtValue, hurtTypes, **kwargs):
|
| | | ## 执行单次dot逻辑
|
| | | skillID = curBuff.GetSkillID()
|
| | | skillIpyData = IpyGameDataPY.GetIpyGameData("Skill", skillID)
|
| | |
| | | if layer > 0:
|
| | | hurtValue *= layer
|
| | | GameWorld.DebugLog(" 多层buff伤害: hurtValue=%s,layer=%s" % (hurtValue, layer))
|
| | | if "FinalDamPer" in kwargs:
|
| | | FinalDamPer = kwargs["FinalDamPer"]
|
| | | hurtValue *= (10000 + FinalDamPer) / 10000.0
|
| | | GameWorld.DebugLog(" 增伤: hurtValue=%s,FinalDamPer=%s" % (hurtValue, FinalDamPer))
|
| | | hurtValue, realHurtHP, hurtTypes = CalcHurtHPWithBuff(turnFight, atkObj, defObj, useSkill, hurtValue, hurtTypes)
|
| | |
|
| | | remainHP = max(0, dHP - realHurtHP) # 剩余血量
|