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