From 957597f4baf9db39d67dfc37f09757d269cd9ec0 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期五, 26 九月 2025 11:32:47 +0800 Subject: [PATCH] 129 【战斗】战斗系统-服务端(孙策技能;按回合触发伤害的dot支持单buff可算多层伤害;) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py | 23 +++++++++++++---------- 1 files changed, 13 insertions(+), 10 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py index dbba18d..74c9966 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py @@ -124,20 +124,19 @@ 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) @@ -1599,6 +1598,10 @@ 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的反弹、吸血待定 -- Gitblit v1.8.0