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