| | |
| | | curBatObj.SetMainTagIDList(tagIDList)
|
| | |
|
| | | useTag = ""
|
| | | # 主技能额外触发的技能可不下发,前端视为仅释放一个主技能
|
| | | if batType != ChConfig.TurnBattleType_Enhance:
|
| | | # 因为可能触发连击,所以标记需带上累计使用技能次数,确保唯一
|
| | | useTag = "Skill_%s_%s_%s" % (objID, skillID, curBatObj.GetSkillUseCnt(skillID) + 1)
|
| | | clientPack = poolMgr.acquire(ChPyNetSendPack.tagSCTurnFightTag)
|
| | | clientPack.Tag = useTag
|
| | | clientPack.Len = len(clientPack.Tag)
|
| | | clientPack.Sign = 0
|
| | | turnFight.addBatPack(clientPack)
|
| | | |
| | | #这个技能是Buff
|
| | | if SkillCommon.IsBuff(useSkill):
|
| | | __doAddBuff(turnFight, curBatObj, useSkill)
|
| | | else:
|
| | | # 主技能额外触发的技能可不下发,前端视为仅释放一个主技能
|
| | | if batType != ChConfig.TurnBattleType_Enhance:
|
| | | # 因为可能触发连击,所以标记需带上累计使用技能次数,确保唯一
|
| | | useTag = "Skill_%s_%s_%s" % (objID, skillID, curBatObj.GetSkillUseCnt(skillID) + 1)
|
| | | clientPack = poolMgr.acquire(ChPyNetSendPack.tagSCTurnFightTag)
|
| | | clientPack.Tag = useTag
|
| | | clientPack.Len = len(clientPack.Tag)
|
| | | clientPack.Sign = 0
|
| | | turnFight.addBatPack(clientPack)
|
| | | __doUseSkill(turnFight, curBatObj, useSkill)
|
| | |
|
| | | DoAttackResult(turnFight, curBatObj, useSkill)
|
| | |
| | | dHP = defObj.GetHP()
|
| | | GameWorld.DebugLog("结算dot: atkID=%s,defID=%s,buffID=%s,skillID=%s,ownerID=%s,hurtValue=%s,hurtTypes=%s,dHP=%s"
|
| | | % (atkID, defID, buffID, skillID, ownerID, hurtValue, hurtTypes, dHP))
|
| | | layer = curBuff.GetLayer()
|
| | | if layer > 0:
|
| | | hurtValue *= layer
|
| | | GameWorld.DebugLog(" 多层buff伤害: hurtValue=%s,layer=%s" % (hurtValue, layer))
|
| | | hurtValue, realHurtHP, hurtTypes = CalcHurtHPWithBuff(turnFight, atkObj, defObj, useSkill, hurtValue, hurtTypes)
|
| | |
|
| | | # dot的反弹、吸血待定
|