From 9d607b66c7f259ad09f63500eb2c8f291e78ac13 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期日, 04 一月 2026 18:36:53 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(丁奉格挡潜能2反弹计算增加效果6037)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6037.py |   39 +++++++++++++++++++++++++++++++++++++++
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py                      |    2 +-
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py                             |    1 +
 3 files changed, 41 insertions(+), 1 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
index 5eed441..133bd9d 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
@@ -4096,6 +4096,7 @@
 PassiveEff_IgnoreSex = 6034 # 去除性别验证
 PassiveEff_AddBuffTime = 6035 # 增加buff持续时间
 PassiveEff_AddSkillUseCntLimit = 6036 # 增加7009回合数
+PassiveEff_AddDamBackPerByBuffLayer = 6037 # 增加反弹伤害万分比(根据buff层级)
 
 # 被动效果ID有触发值时就返回的
 PassiveEffHappenValueList = [PassiveEff_ChangeHurtType, PassiveEff_ImmuneControlBuff, PassiveEff_MustSuperHit, PassiveEff_SkillInvalid, 
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6037.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6037.py
new file mode 100644
index 0000000..5bf8f28
--- /dev/null
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6037.py
@@ -0,0 +1,39 @@
+#!/usr/bin/python
+# -*- coding: GBK -*-
+#-------------------------------------------------------------------------------
+#
+##@package Skill.PassiveTrigger.PassiveEff_6037
+#
+# @todo:增加反弹伤害万分比(根据buff层级)
+# @author hxp
+# @date 2026-01-04
+# @version 1.0
+#
+# 详细描述: 增加反弹伤害万分比(根据buff层级)
+#
+#-------------------------------------------------------------------------------
+#"""Version = 2026-01-04 19:00"""
+#-------------------------------------------------------------------------------
+
+import GameWorld
+
+def GetHappenValue(attacker, defender, curEffect, effSkill, effBuff, connSkill, **skillkwargs):
+    layerPer = curEffect.GetEffectValue(0) # 每层增加的万分比
+    buffStateList = curEffect.GetEffectValue(1) # buff状态 [状态1, 状态2, ...]
+    checkTag = curEffect.GetEffectValue(2) # buff检查自己还是对方: 0-自己,1-对方
+    if not buffStateList:
+        return
+    
+    layerTotal = 0
+    buffObj = defender if checkTag else attacker
+    buffMgr = buffObj.GetBuffManager()
+    for buffState in buffStateList:
+        for buff in buffMgr.FindBuffListByState(buffState)[::-1]:
+            layerTotal += buff.GetLayer()
+                    
+    if layerTotal <= 0:
+        return
+    
+    addPer = layerTotal * layerPer
+    GameWorld.DebugLog("    反弹时buff状态层数: %s,addPer=%s,buffStateList=%s,buffObjID=%s" % (layerTotal, addPer, buffStateList, buffObj.GetID()))
+    return addPer
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 af339b5..4276c3f 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py
@@ -2805,7 +2805,7 @@
     for buff in buffMgr.FindBuffListByState(ChConfig.BatObjState_DamBackShield):
         damBackPer += buff.GetValue1()
         connSkillTypeID = buff.GetSkillTypeID()
-        damBackPer += TurnPassive.GetTriggerEffectValue(turnFight, defObj, atkObj, ChConfig.PassiveEff_AddSkillPerByBuffLayer, connSkillTypeID=connSkillTypeID)
+        damBackPer += TurnPassive.GetTriggerEffectValue(turnFight, defObj, atkObj, ChConfig.PassiveEff_AddDamBackPerByBuffLayer, connSkillTypeID=connSkillTypeID)
         
     if damBackPer <= 0:
         return

--
Gitblit v1.8.0