From fdf293d937f74d7012ad80ef9ea71c23f440193a Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 28 十月 2025 10:04:32 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(陆逊技能;增加效果ID5009:检测场上最高层buff复制buff到目标上; 增加效果ID5020:引爆目标所有持续buff所有回合效果(只算按回合结算的))

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py |    7 ++++++-
 1 files changed, 6 insertions(+), 1 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 af1e1e4..1bdbfc9 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py
@@ -1458,6 +1458,7 @@
     if hurtValue <= 0:
         return 0, 0, hurtTypes
     
+    hurtValue = int(hurtValue)
     buffMgr = defObj.GetBuffManager()
     wudiBuffList = buffMgr.FindBuffListByState(ChConfig.BatObjState_Wudi)
     if wudiBuffList:
@@ -1685,7 +1686,7 @@
             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)
@@ -1717,6 +1718,10 @@
     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) # 剩余血量

--
Gitblit v1.8.0