From 3047503c169b6f73a383335d0953b489412ce154 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 27 十月 2025 16:44:08 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(孙坚技能;增加释放方式1005支持:根据击中的目标状态目标数额外buff属性; buff状态组限制改为支持配置数组;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnBuff.py |   15 ++++++++++++++-
 1 files changed, 14 insertions(+), 1 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnBuff.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnBuff.py
index f96f0fa..c20f95a 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnBuff.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnBuff.py
@@ -27,10 +27,15 @@
 GameWorld.ImportAll("Script\\Skill\\", "TurnBuffs")
 
 def GetAddBuffValue(turnFight, attacker, defender, curSkill):
+    if not curSkill.GetAtkType():
+        return []
     callFunc = GameWorld.GetExecFunc(TurnBuffs, "BuffAtkType_%d.%s" % (curSkill.GetAtkType(), "CalcBuffValue"))
     if not callFunc:
         return []
-    return callFunc(turnFight, attacker, defender, curSkill)
+    ret = callFunc(turnFight, attacker, defender, curSkill)
+    if ret == None:
+        return []
+    return ret
 
 def CopyBuff(turnFight, curBatObj, curBuff, tagBuff, bySkill=None, isNewAdd=False):
     '''拷贝buff数据,不含目标buffID、归属,并刷新时间
@@ -320,6 +325,8 @@
 
 def DoBuffProcess(turnFight, batObj, curBuff):
     skillData = curBuff.GetSkillData()
+    if not skillData.GetAtkType():
+        return
     callFunc = GameWorld.GetExecFunc(TurnBuffs, "BuffAtkType_%d.%s" % (skillData.GetAtkType(), "DoBuffProcess"))
     if callFunc:
         callFunc(turnFight, batObj, curBuff)
@@ -345,6 +352,12 @@
         buff = buffMgr.GetBuffByIndex(index)
         layer = max(1, buff.GetLayer())
         skillData = buff.GetSkillData()
+        atkType = skillData.GetAtkType()
+        if atkType:
+            callFunc = GameWorld.GetExecFunc(TurnBuffs, "BuffAtkType_%d.%s" % (atkType, "CalcBuffAttrEx"))
+            if callFunc:
+                callFunc(batObj, buff, skillData, layer, buffAttrDict)
+                
         for eIndex in range(skillData.GetEffectCount()):
             effect = skillData.GetEffect(eIndex)
             effID = effect.GetEffectID()

--
Gitblit v1.8.0